]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blame - vendor/github.com/aws/aws-sdk-go/service/s3/api.go
Upgrade to 0.12
[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//
548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
549// with awserr.Error's Code and Message methods to get detailed information about
550// the error.
551//
552// See the AWS API reference guide for Amazon Simple Storage Service's
553// API operation DeleteBucketAnalyticsConfiguration for usage and error information.
15c0b25d 554// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
bae9f6d2
JC
555func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
556 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
557 return out, req.Send()
558}
559
560// DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
561// the ability to pass a context and additional request options.
562//
563// See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
564//
565// The context must be non-nil and will be used for request cancellation. If
566// the context is nil a panic will occur. In the future the SDK may create
567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
568// for more information on using Contexts.
569func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) {
570 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
571 req.SetContext(ctx)
572 req.ApplyOptions(opts...)
573 return out, req.Send()
574}
575
576const opDeleteBucketCors = "DeleteBucketCors"
577
578// DeleteBucketCorsRequest generates a "aws/request.Request" representing the
579// client's request for the DeleteBucketCors operation. The "output" return
15c0b25d 580// value will be populated with the request's response once the request completes
107c1cdb 581// successfully.
15c0b25d
AP
582//
583// Use "Send" method on the returned Request to send the API call to the service.
584// the "output" return value is not valid until after Send returns without error.
bae9f6d2 585//
15c0b25d
AP
586// See DeleteBucketCors for more information on using the DeleteBucketCors
587// API call, and error handling.
bae9f6d2 588//
15c0b25d
AP
589// This method is useful when you want to inject custom logic or configuration
590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 591//
bae9f6d2
JC
592//
593// // Example sending a request using the DeleteBucketCorsRequest method.
594// req, resp := client.DeleteBucketCorsRequest(params)
595//
596// err := req.Send()
597// if err == nil { // resp is now filled
598// fmt.Println(resp)
599// }
600//
15c0b25d 601// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
bae9f6d2
JC
602func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) {
603 op := &request.Operation{
604 Name: opDeleteBucketCors,
605 HTTPMethod: "DELETE",
606 HTTPPath: "/{Bucket}?cors",
607 }
608
609 if input == nil {
610 input = &DeleteBucketCorsInput{}
611 }
612
613 output = &DeleteBucketCorsOutput{}
614 req = c.newRequest(op, input, output)
107c1cdb 615 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
616 return
617}
618
619// DeleteBucketCors API operation for Amazon Simple Storage Service.
620//
107c1cdb 621// Deletes the CORS configuration information set for the bucket.
bae9f6d2
JC
622//
623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
624// with awserr.Error's Code and Message methods to get detailed information about
625// the error.
626//
627// See the AWS API reference guide for Amazon Simple Storage Service's
628// API operation DeleteBucketCors for usage and error information.
15c0b25d 629// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
bae9f6d2
JC
630func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
631 req, out := c.DeleteBucketCorsRequest(input)
632 return out, req.Send()
633}
634
635// DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
636// the ability to pass a context and additional request options.
637//
638// See DeleteBucketCors for details on how to use this API operation.
639//
640// The context must be non-nil and will be used for request cancellation. If
641// the context is nil a panic will occur. In the future the SDK may create
642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
643// for more information on using Contexts.
644func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) {
645 req, out := c.DeleteBucketCorsRequest(input)
646 req.SetContext(ctx)
647 req.ApplyOptions(opts...)
648 return out, req.Send()
649}
650
15c0b25d
AP
651const opDeleteBucketEncryption = "DeleteBucketEncryption"
652
653// DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the
654// client's request for the DeleteBucketEncryption operation. The "output" return
655// value will be populated with the request's response once the request completes
107c1cdb 656// successfully.
15c0b25d
AP
657//
658// Use "Send" method on the returned Request to send the API call to the service.
659// the "output" return value is not valid until after Send returns without error.
660//
661// See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
662// API call, and error handling.
663//
664// This method is useful when you want to inject custom logic or configuration
665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
666//
667//
668// // Example sending a request using the DeleteBucketEncryptionRequest method.
669// req, resp := client.DeleteBucketEncryptionRequest(params)
670//
671// err := req.Send()
672// if err == nil { // resp is now filled
673// fmt.Println(resp)
674// }
675//
676// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
677func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) {
678 op := &request.Operation{
679 Name: opDeleteBucketEncryption,
680 HTTPMethod: "DELETE",
681 HTTPPath: "/{Bucket}?encryption",
682 }
683
684 if input == nil {
685 input = &DeleteBucketEncryptionInput{}
686 }
687
688 output = &DeleteBucketEncryptionOutput{}
689 req = c.newRequest(op, input, output)
107c1cdb 690 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15c0b25d
AP
691 return
692}
693
694// DeleteBucketEncryption API operation for Amazon Simple Storage Service.
695//
696// Deletes the server-side encryption configuration from the bucket.
697//
698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
699// with awserr.Error's Code and Message methods to get detailed information about
700// the error.
701//
702// See the AWS API reference guide for Amazon Simple Storage Service's
703// API operation DeleteBucketEncryption for usage and error information.
704// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
705func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) {
706 req, out := c.DeleteBucketEncryptionRequest(input)
707 return out, req.Send()
708}
709
710// DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
711// the ability to pass a context and additional request options.
712//
713// See DeleteBucketEncryption for details on how to use this API operation.
714//
715// The context must be non-nil and will be used for request cancellation. If
716// the context is nil a panic will occur. In the future the SDK may create
717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
718// for more information on using Contexts.
719func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) {
720 req, out := c.DeleteBucketEncryptionRequest(input)
721 req.SetContext(ctx)
722 req.ApplyOptions(opts...)
723 return out, req.Send()
724}
725
bae9f6d2
JC
726const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
727
728// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
729// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
15c0b25d 730// value will be populated with the request's response once the request completes
107c1cdb 731// successfully.
15c0b25d
AP
732//
733// Use "Send" method on the returned Request to send the API call to the service.
734// the "output" return value is not valid until after Send returns without error.
bae9f6d2 735//
15c0b25d
AP
736// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
737// API call, and error handling.
bae9f6d2 738//
15c0b25d
AP
739// This method is useful when you want to inject custom logic or configuration
740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 741//
bae9f6d2
JC
742//
743// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
744// req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
745//
746// err := req.Send()
747// if err == nil { // resp is now filled
748// fmt.Println(resp)
749// }
750//
15c0b25d 751// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
bae9f6d2
JC
752func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) {
753 op := &request.Operation{
754 Name: opDeleteBucketInventoryConfiguration,
755 HTTPMethod: "DELETE",
756 HTTPPath: "/{Bucket}?inventory",
757 }
758
759 if input == nil {
760 input = &DeleteBucketInventoryConfigurationInput{}
761 }
762
763 output = &DeleteBucketInventoryConfigurationOutput{}
764 req = c.newRequest(op, input, output)
107c1cdb 765 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
766 return
767}
768
769// DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
770//
771// Deletes an inventory configuration (identified by the inventory ID) from
772// the bucket.
773//
774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
775// with awserr.Error's Code and Message methods to get detailed information about
776// the error.
777//
778// See the AWS API reference guide for Amazon Simple Storage Service's
779// API operation DeleteBucketInventoryConfiguration for usage and error information.
15c0b25d 780// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
bae9f6d2
JC
781func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
782 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
783 return out, req.Send()
784}
785
786// DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
787// the ability to pass a context and additional request options.
788//
789// See DeleteBucketInventoryConfiguration for details on how to use this API operation.
790//
791// The context must be non-nil and will be used for request cancellation. If
792// the context is nil a panic will occur. In the future the SDK may create
793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
794// for more information on using Contexts.
795func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) {
796 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
797 req.SetContext(ctx)
798 req.ApplyOptions(opts...)
799 return out, req.Send()
800}
801
802const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
803
804// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
805// client's request for the DeleteBucketLifecycle operation. The "output" return
15c0b25d 806// value will be populated with the request's response once the request completes
107c1cdb 807// successfully.
bae9f6d2 808//
15c0b25d
AP
809// Use "Send" method on the returned Request to send the API call to the service.
810// the "output" return value is not valid until after Send returns without error.
bae9f6d2 811//
15c0b25d
AP
812// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
813// API call, and error handling.
814//
815// This method is useful when you want to inject custom logic or configuration
816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 817//
bae9f6d2
JC
818//
819// // Example sending a request using the DeleteBucketLifecycleRequest method.
820// req, resp := client.DeleteBucketLifecycleRequest(params)
821//
822// err := req.Send()
823// if err == nil { // resp is now filled
824// fmt.Println(resp)
825// }
826//
15c0b25d 827// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
bae9f6d2
JC
828func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) {
829 op := &request.Operation{
830 Name: opDeleteBucketLifecycle,
831 HTTPMethod: "DELETE",
832 HTTPPath: "/{Bucket}?lifecycle",
833 }
834
835 if input == nil {
836 input = &DeleteBucketLifecycleInput{}
837 }
838
839 output = &DeleteBucketLifecycleOutput{}
840 req = c.newRequest(op, input, output)
107c1cdb 841 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
842 return
843}
844
845// DeleteBucketLifecycle API operation for Amazon Simple Storage Service.
846//
847// Deletes the lifecycle configuration from the bucket.
848//
849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
850// with awserr.Error's Code and Message methods to get detailed information about
851// the error.
852//
853// See the AWS API reference guide for Amazon Simple Storage Service's
854// API operation DeleteBucketLifecycle for usage and error information.
15c0b25d 855// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
bae9f6d2
JC
856func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
857 req, out := c.DeleteBucketLifecycleRequest(input)
858 return out, req.Send()
859}
860
861// DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
862// the ability to pass a context and additional request options.
863//
864// See DeleteBucketLifecycle for details on how to use this API operation.
865//
866// The context must be non-nil and will be used for request cancellation. If
867// the context is nil a panic will occur. In the future the SDK may create
868// sub-contexts for http.Requests. See https://golang.org/pkg/context/
869// for more information on using Contexts.
870func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) {
871 req, out := c.DeleteBucketLifecycleRequest(input)
872 req.SetContext(ctx)
873 req.ApplyOptions(opts...)
874 return out, req.Send()
875}
876
877const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
878
879// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
880// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
15c0b25d 881// value will be populated with the request's response once the request completes
107c1cdb 882// successfully.
15c0b25d
AP
883//
884// Use "Send" method on the returned Request to send the API call to the service.
885// the "output" return value is not valid until after Send returns without error.
bae9f6d2 886//
15c0b25d
AP
887// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
888// API call, and error handling.
bae9f6d2 889//
15c0b25d
AP
890// This method is useful when you want to inject custom logic or configuration
891// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 892//
bae9f6d2
JC
893//
894// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
895// req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
896//
897// err := req.Send()
898// if err == nil { // resp is now filled
899// fmt.Println(resp)
900// }
901//
15c0b25d 902// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
bae9f6d2
JC
903func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) {
904 op := &request.Operation{
905 Name: opDeleteBucketMetricsConfiguration,
906 HTTPMethod: "DELETE",
907 HTTPPath: "/{Bucket}?metrics",
908 }
909
910 if input == nil {
911 input = &DeleteBucketMetricsConfigurationInput{}
912 }
913
914 output = &DeleteBucketMetricsConfigurationOutput{}
915 req = c.newRequest(op, input, output)
107c1cdb 916 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
917 return
918}
919
920// DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
921//
922// Deletes a metrics configuration (specified by the metrics configuration ID)
923// from the bucket.
924//
925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
926// with awserr.Error's Code and Message methods to get detailed information about
927// the error.
928//
929// See the AWS API reference guide for Amazon Simple Storage Service's
930// API operation DeleteBucketMetricsConfiguration for usage and error information.
15c0b25d 931// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
bae9f6d2
JC
932func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
933 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
934 return out, req.Send()
935}
936
937// DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
938// the ability to pass a context and additional request options.
939//
940// See DeleteBucketMetricsConfiguration for details on how to use this API operation.
941//
942// The context must be non-nil and will be used for request cancellation. If
943// the context is nil a panic will occur. In the future the SDK may create
944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
945// for more information on using Contexts.
946func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) {
947 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
948 req.SetContext(ctx)
949 req.ApplyOptions(opts...)
950 return out, req.Send()
951}
952
953const opDeleteBucketPolicy = "DeleteBucketPolicy"
954
955// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
956// client's request for the DeleteBucketPolicy operation. The "output" return
15c0b25d 957// value will be populated with the request's response once the request completes
107c1cdb 958// successfully.
bae9f6d2 959//
15c0b25d
AP
960// Use "Send" method on the returned Request to send the API call to the service.
961// the "output" return value is not valid until after Send returns without error.
bae9f6d2 962//
15c0b25d
AP
963// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
964// API call, and error handling.
965//
966// This method is useful when you want to inject custom logic or configuration
967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 968//
bae9f6d2
JC
969//
970// // Example sending a request using the DeleteBucketPolicyRequest method.
971// req, resp := client.DeleteBucketPolicyRequest(params)
972//
973// err := req.Send()
974// if err == nil { // resp is now filled
975// fmt.Println(resp)
976// }
977//
15c0b25d 978// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
bae9f6d2
JC
979func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) {
980 op := &request.Operation{
981 Name: opDeleteBucketPolicy,
982 HTTPMethod: "DELETE",
983 HTTPPath: "/{Bucket}?policy",
984 }
985
986 if input == nil {
987 input = &DeleteBucketPolicyInput{}
988 }
989
990 output = &DeleteBucketPolicyOutput{}
991 req = c.newRequest(op, input, output)
107c1cdb 992 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
993 return
994}
995
996// DeleteBucketPolicy API operation for Amazon Simple Storage Service.
997//
998// Deletes the policy from the bucket.
999//
1000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1001// with awserr.Error's Code and Message methods to get detailed information about
1002// the error.
1003//
1004// See the AWS API reference guide for Amazon Simple Storage Service's
1005// API operation DeleteBucketPolicy for usage and error information.
15c0b25d 1006// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
bae9f6d2
JC
1007func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
1008 req, out := c.DeleteBucketPolicyRequest(input)
1009 return out, req.Send()
1010}
1011
1012// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
1013// the ability to pass a context and additional request options.
1014//
1015// See DeleteBucketPolicy for details on how to use this API operation.
1016//
1017// The context must be non-nil and will be used for request cancellation. If
1018// the context is nil a panic will occur. In the future the SDK may create
1019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1020// for more information on using Contexts.
1021func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) {
1022 req, out := c.DeleteBucketPolicyRequest(input)
1023 req.SetContext(ctx)
1024 req.ApplyOptions(opts...)
1025 return out, req.Send()
1026}
1027
1028const opDeleteBucketReplication = "DeleteBucketReplication"
1029
1030// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
1031// client's request for the DeleteBucketReplication operation. The "output" return
15c0b25d 1032// value will be populated with the request's response once the request completes
107c1cdb 1033// successfully.
15c0b25d
AP
1034//
1035// Use "Send" method on the returned Request to send the API call to the service.
1036// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1037//
15c0b25d
AP
1038// See DeleteBucketReplication for more information on using the DeleteBucketReplication
1039// API call, and error handling.
bae9f6d2 1040//
15c0b25d
AP
1041// This method is useful when you want to inject custom logic or configuration
1042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1043//
bae9f6d2
JC
1044//
1045// // Example sending a request using the DeleteBucketReplicationRequest method.
1046// req, resp := client.DeleteBucketReplicationRequest(params)
1047//
1048// err := req.Send()
1049// if err == nil { // resp is now filled
1050// fmt.Println(resp)
1051// }
1052//
15c0b25d 1053// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
bae9f6d2
JC
1054func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) {
1055 op := &request.Operation{
1056 Name: opDeleteBucketReplication,
1057 HTTPMethod: "DELETE",
1058 HTTPPath: "/{Bucket}?replication",
1059 }
1060
1061 if input == nil {
1062 input = &DeleteBucketReplicationInput{}
1063 }
1064
1065 output = &DeleteBucketReplicationOutput{}
1066 req = c.newRequest(op, input, output)
107c1cdb 1067 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
1068 return
1069}
1070
1071// DeleteBucketReplication API operation for Amazon Simple Storage Service.
1072//
107c1cdb
ND
1073// Deletes the replication configuration from the bucket. For information about
1074// replication configuration, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
1075// in the Amazon S3 Developer Guide.
bae9f6d2
JC
1076//
1077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1078// with awserr.Error's Code and Message methods to get detailed information about
1079// the error.
1080//
1081// See the AWS API reference guide for Amazon Simple Storage Service's
1082// API operation DeleteBucketReplication for usage and error information.
15c0b25d 1083// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
bae9f6d2
JC
1084func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
1085 req, out := c.DeleteBucketReplicationRequest(input)
1086 return out, req.Send()
1087}
1088
1089// DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
1090// the ability to pass a context and additional request options.
1091//
1092// See DeleteBucketReplication for details on how to use this API operation.
1093//
1094// The context must be non-nil and will be used for request cancellation. If
1095// the context is nil a panic will occur. In the future the SDK may create
1096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1097// for more information on using Contexts.
1098func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) {
1099 req, out := c.DeleteBucketReplicationRequest(input)
1100 req.SetContext(ctx)
1101 req.ApplyOptions(opts...)
1102 return out, req.Send()
1103}
1104
1105const opDeleteBucketTagging = "DeleteBucketTagging"
1106
1107// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
1108// client's request for the DeleteBucketTagging operation. The "output" return
15c0b25d 1109// value will be populated with the request's response once the request completes
107c1cdb 1110// successfully.
bae9f6d2 1111//
15c0b25d
AP
1112// Use "Send" method on the returned Request to send the API call to the service.
1113// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1114//
15c0b25d
AP
1115// See DeleteBucketTagging for more information on using the DeleteBucketTagging
1116// API call, and error handling.
1117//
1118// This method is useful when you want to inject custom logic or configuration
1119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1120//
bae9f6d2
JC
1121//
1122// // Example sending a request using the DeleteBucketTaggingRequest method.
1123// req, resp := client.DeleteBucketTaggingRequest(params)
1124//
1125// err := req.Send()
1126// if err == nil { // resp is now filled
1127// fmt.Println(resp)
1128// }
1129//
15c0b25d 1130// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
bae9f6d2
JC
1131func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) {
1132 op := &request.Operation{
1133 Name: opDeleteBucketTagging,
1134 HTTPMethod: "DELETE",
1135 HTTPPath: "/{Bucket}?tagging",
1136 }
1137
1138 if input == nil {
1139 input = &DeleteBucketTaggingInput{}
1140 }
1141
1142 output = &DeleteBucketTaggingOutput{}
1143 req = c.newRequest(op, input, output)
107c1cdb 1144 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
1145 return
1146}
1147
1148// DeleteBucketTagging API operation for Amazon Simple Storage Service.
1149//
1150// Deletes the tags from the bucket.
1151//
1152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1153// with awserr.Error's Code and Message methods to get detailed information about
1154// the error.
1155//
1156// See the AWS API reference guide for Amazon Simple Storage Service's
1157// API operation DeleteBucketTagging for usage and error information.
15c0b25d 1158// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
bae9f6d2
JC
1159func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
1160 req, out := c.DeleteBucketTaggingRequest(input)
1161 return out, req.Send()
1162}
1163
1164// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
1165// the ability to pass a context and additional request options.
1166//
1167// See DeleteBucketTagging for details on how to use this API operation.
1168//
1169// The context must be non-nil and will be used for request cancellation. If
1170// the context is nil a panic will occur. In the future the SDK may create
1171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1172// for more information on using Contexts.
1173func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) {
1174 req, out := c.DeleteBucketTaggingRequest(input)
1175 req.SetContext(ctx)
1176 req.ApplyOptions(opts...)
1177 return out, req.Send()
1178}
1179
1180const opDeleteBucketWebsite = "DeleteBucketWebsite"
1181
1182// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
1183// client's request for the DeleteBucketWebsite operation. The "output" return
15c0b25d 1184// value will be populated with the request's response once the request completes
107c1cdb 1185// successfully.
15c0b25d
AP
1186//
1187// Use "Send" method on the returned Request to send the API call to the service.
1188// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1189//
15c0b25d
AP
1190// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
1191// API call, and error handling.
bae9f6d2 1192//
15c0b25d
AP
1193// This method is useful when you want to inject custom logic or configuration
1194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1195//
bae9f6d2
JC
1196//
1197// // Example sending a request using the DeleteBucketWebsiteRequest method.
1198// req, resp := client.DeleteBucketWebsiteRequest(params)
1199//
1200// err := req.Send()
1201// if err == nil { // resp is now filled
1202// fmt.Println(resp)
1203// }
1204//
15c0b25d 1205// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
bae9f6d2
JC
1206func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) {
1207 op := &request.Operation{
1208 Name: opDeleteBucketWebsite,
1209 HTTPMethod: "DELETE",
1210 HTTPPath: "/{Bucket}?website",
1211 }
1212
1213 if input == nil {
1214 input = &DeleteBucketWebsiteInput{}
1215 }
1216
1217 output = &DeleteBucketWebsiteOutput{}
1218 req = c.newRequest(op, input, output)
107c1cdb 1219 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
1220 return
1221}
1222
1223// DeleteBucketWebsite API operation for Amazon Simple Storage Service.
1224//
1225// This operation removes the website configuration from the bucket.
1226//
1227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1228// with awserr.Error's Code and Message methods to get detailed information about
1229// the error.
1230//
1231// See the AWS API reference guide for Amazon Simple Storage Service's
1232// API operation DeleteBucketWebsite for usage and error information.
15c0b25d 1233// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
bae9f6d2
JC
1234func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
1235 req, out := c.DeleteBucketWebsiteRequest(input)
1236 return out, req.Send()
1237}
1238
1239// DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
1240// the ability to pass a context and additional request options.
1241//
1242// See DeleteBucketWebsite for details on how to use this API operation.
1243//
1244// The context must be non-nil and will be used for request cancellation. If
1245// the context is nil a panic will occur. In the future the SDK may create
1246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1247// for more information on using Contexts.
1248func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) {
1249 req, out := c.DeleteBucketWebsiteRequest(input)
1250 req.SetContext(ctx)
1251 req.ApplyOptions(opts...)
1252 return out, req.Send()
1253}
1254
1255const opDeleteObject = "DeleteObject"
1256
1257// DeleteObjectRequest generates a "aws/request.Request" representing the
1258// client's request for the DeleteObject operation. The "output" return
15c0b25d 1259// value will be populated with the request's response once the request completes
107c1cdb 1260// successfully.
bae9f6d2 1261//
15c0b25d
AP
1262// Use "Send" method on the returned Request to send the API call to the service.
1263// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1264//
15c0b25d
AP
1265// See DeleteObject for more information on using the DeleteObject
1266// API call, and error handling.
1267//
1268// This method is useful when you want to inject custom logic or configuration
1269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1270//
bae9f6d2
JC
1271//
1272// // Example sending a request using the DeleteObjectRequest method.
1273// req, resp := client.DeleteObjectRequest(params)
1274//
1275// err := req.Send()
1276// if err == nil { // resp is now filled
1277// fmt.Println(resp)
1278// }
1279//
15c0b25d 1280// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
bae9f6d2
JC
1281func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) {
1282 op := &request.Operation{
1283 Name: opDeleteObject,
1284 HTTPMethod: "DELETE",
1285 HTTPPath: "/{Bucket}/{Key+}",
1286 }
1287
1288 if input == nil {
1289 input = &DeleteObjectInput{}
1290 }
1291
1292 output = &DeleteObjectOutput{}
1293 req = c.newRequest(op, input, output)
1294 return
1295}
1296
1297// DeleteObject API operation for Amazon Simple Storage Service.
1298//
1299// Removes the null version (if there is one) of an object and inserts a delete
1300// marker, which becomes the latest version of the object. If there isn't a
1301// null version, Amazon S3 does not remove any objects.
1302//
1303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1304// with awserr.Error's Code and Message methods to get detailed information about
1305// the error.
1306//
1307// See the AWS API reference guide for Amazon Simple Storage Service's
1308// API operation DeleteObject for usage and error information.
15c0b25d 1309// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
bae9f6d2
JC
1310func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) {
1311 req, out := c.DeleteObjectRequest(input)
1312 return out, req.Send()
1313}
1314
1315// DeleteObjectWithContext is the same as DeleteObject with the addition of
1316// the ability to pass a context and additional request options.
1317//
1318// See DeleteObject for details on how to use this API operation.
1319//
1320// The context must be non-nil and will be used for request cancellation. If
1321// the context is nil a panic will occur. In the future the SDK may create
1322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1323// for more information on using Contexts.
1324func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) {
1325 req, out := c.DeleteObjectRequest(input)
1326 req.SetContext(ctx)
1327 req.ApplyOptions(opts...)
1328 return out, req.Send()
1329}
1330
1331const opDeleteObjectTagging = "DeleteObjectTagging"
1332
1333// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
1334// client's request for the DeleteObjectTagging operation. The "output" return
15c0b25d 1335// value will be populated with the request's response once the request completes
107c1cdb 1336// successfully.
15c0b25d
AP
1337//
1338// Use "Send" method on the returned Request to send the API call to the service.
1339// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1340//
15c0b25d
AP
1341// See DeleteObjectTagging for more information on using the DeleteObjectTagging
1342// API call, and error handling.
bae9f6d2 1343//
15c0b25d
AP
1344// This method is useful when you want to inject custom logic or configuration
1345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1346//
bae9f6d2
JC
1347//
1348// // Example sending a request using the DeleteObjectTaggingRequest method.
1349// req, resp := client.DeleteObjectTaggingRequest(params)
1350//
1351// err := req.Send()
1352// if err == nil { // resp is now filled
1353// fmt.Println(resp)
1354// }
1355//
15c0b25d 1356// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
bae9f6d2
JC
1357func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) {
1358 op := &request.Operation{
1359 Name: opDeleteObjectTagging,
1360 HTTPMethod: "DELETE",
1361 HTTPPath: "/{Bucket}/{Key+}?tagging",
1362 }
1363
1364 if input == nil {
1365 input = &DeleteObjectTaggingInput{}
1366 }
1367
1368 output = &DeleteObjectTaggingOutput{}
1369 req = c.newRequest(op, input, output)
1370 return
1371}
1372
1373// DeleteObjectTagging API operation for Amazon Simple Storage Service.
1374//
1375// Removes the tag-set from an existing object.
1376//
1377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1378// with awserr.Error's Code and Message methods to get detailed information about
1379// the error.
1380//
1381// See the AWS API reference guide for Amazon Simple Storage Service's
1382// API operation DeleteObjectTagging for usage and error information.
15c0b25d 1383// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
bae9f6d2
JC
1384func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
1385 req, out := c.DeleteObjectTaggingRequest(input)
1386 return out, req.Send()
1387}
1388
1389// DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
1390// the ability to pass a context and additional request options.
1391//
1392// See DeleteObjectTagging for details on how to use this API operation.
1393//
1394// The context must be non-nil and will be used for request cancellation. If
1395// the context is nil a panic will occur. In the future the SDK may create
1396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1397// for more information on using Contexts.
1398func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) {
1399 req, out := c.DeleteObjectTaggingRequest(input)
1400 req.SetContext(ctx)
1401 req.ApplyOptions(opts...)
1402 return out, req.Send()
1403}
1404
1405const opDeleteObjects = "DeleteObjects"
1406
1407// DeleteObjectsRequest generates a "aws/request.Request" representing the
1408// client's request for the DeleteObjects operation. The "output" return
15c0b25d 1409// value will be populated with the request's response once the request completes
107c1cdb 1410// successfully.
bae9f6d2 1411//
15c0b25d
AP
1412// Use "Send" method on the returned Request to send the API call to the service.
1413// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1414//
15c0b25d
AP
1415// See DeleteObjects for more information on using the DeleteObjects
1416// API call, and error handling.
1417//
1418// This method is useful when you want to inject custom logic or configuration
1419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1420//
bae9f6d2
JC
1421//
1422// // Example sending a request using the DeleteObjectsRequest method.
1423// req, resp := client.DeleteObjectsRequest(params)
1424//
1425// err := req.Send()
1426// if err == nil { // resp is now filled
1427// fmt.Println(resp)
1428// }
1429//
15c0b25d 1430// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
bae9f6d2
JC
1431func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) {
1432 op := &request.Operation{
1433 Name: opDeleteObjects,
1434 HTTPMethod: "POST",
1435 HTTPPath: "/{Bucket}?delete",
1436 }
1437
1438 if input == nil {
1439 input = &DeleteObjectsInput{}
1440 }
1441
1442 output = &DeleteObjectsOutput{}
1443 req = c.newRequest(op, input, output)
1444 return
1445}
1446
1447// DeleteObjects API operation for Amazon Simple Storage Service.
1448//
1449// This operation enables you to delete multiple objects from a bucket using
1450// a single HTTP request. You may specify up to 1000 keys.
1451//
1452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1453// with awserr.Error's Code and Message methods to get detailed information about
1454// the error.
1455//
1456// See the AWS API reference guide for Amazon Simple Storage Service's
1457// API operation DeleteObjects for usage and error information.
15c0b25d 1458// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
bae9f6d2
JC
1459func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
1460 req, out := c.DeleteObjectsRequest(input)
1461 return out, req.Send()
1462}
1463
1464// DeleteObjectsWithContext is the same as DeleteObjects with the addition of
1465// the ability to pass a context and additional request options.
1466//
1467// See DeleteObjects for details on how to use this API operation.
1468//
1469// The context must be non-nil and will be used for request cancellation. If
1470// the context is nil a panic will occur. In the future the SDK may create
1471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1472// for more information on using Contexts.
1473func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) {
1474 req, out := c.DeleteObjectsRequest(input)
1475 req.SetContext(ctx)
1476 req.ApplyOptions(opts...)
1477 return out, req.Send()
1478}
1479
107c1cdb
ND
1480const opDeletePublicAccessBlock = "DeletePublicAccessBlock"
1481
1482// DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the
1483// client's request for the DeletePublicAccessBlock operation. The "output" return
1484// value will be populated with the request's response once the request completes
1485// successfully.
1486//
1487// Use "Send" method on the returned Request to send the API call to the service.
1488// the "output" return value is not valid until after Send returns without error.
1489//
1490// See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock
1491// API call, and error handling.
1492//
1493// This method is useful when you want to inject custom logic or configuration
1494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1495//
1496//
1497// // Example sending a request using the DeletePublicAccessBlockRequest method.
1498// req, resp := client.DeletePublicAccessBlockRequest(params)
1499//
1500// err := req.Send()
1501// if err == nil { // resp is now filled
1502// fmt.Println(resp)
1503// }
1504//
1505// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1506func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) {
1507 op := &request.Operation{
1508 Name: opDeletePublicAccessBlock,
1509 HTTPMethod: "DELETE",
1510 HTTPPath: "/{Bucket}?publicAccessBlock",
1511 }
1512
1513 if input == nil {
1514 input = &DeletePublicAccessBlockInput{}
1515 }
1516
1517 output = &DeletePublicAccessBlockOutput{}
1518 req = c.newRequest(op, input, output)
1519 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1520 return
1521}
1522
1523// DeletePublicAccessBlock API operation for Amazon Simple Storage Service.
1524//
1525// Removes the PublicAccessBlock configuration from an Amazon S3 bucket.
1526//
1527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1528// with awserr.Error's Code and Message methods to get detailed information about
1529// the error.
1530//
1531// See the AWS API reference guide for Amazon Simple Storage Service's
1532// API operation DeletePublicAccessBlock for usage and error information.
1533// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1534func (c *S3) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) {
1535 req, out := c.DeletePublicAccessBlockRequest(input)
1536 return out, req.Send()
1537}
1538
1539// DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of
1540// the ability to pass a context and additional request options.
1541//
1542// See DeletePublicAccessBlock for details on how to use this API operation.
1543//
1544// The context must be non-nil and will be used for request cancellation. If
1545// the context is nil a panic will occur. In the future the SDK may create
1546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1547// for more information on using Contexts.
1548func (c *S3) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) {
1549 req, out := c.DeletePublicAccessBlockRequest(input)
1550 req.SetContext(ctx)
1551 req.ApplyOptions(opts...)
1552 return out, req.Send()
1553}
1554
bae9f6d2
JC
1555const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
1556
1557// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
1558// client's request for the GetBucketAccelerateConfiguration operation. The "output" return
15c0b25d 1559// value will be populated with the request's response once the request completes
107c1cdb 1560// successfully.
15c0b25d
AP
1561//
1562// Use "Send" method on the returned Request to send the API call to the service.
1563// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1564//
15c0b25d
AP
1565// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
1566// API call, and error handling.
bae9f6d2 1567//
15c0b25d
AP
1568// This method is useful when you want to inject custom logic or configuration
1569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1570//
bae9f6d2
JC
1571//
1572// // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
1573// req, resp := client.GetBucketAccelerateConfigurationRequest(params)
1574//
1575// err := req.Send()
1576// if err == nil { // resp is now filled
1577// fmt.Println(resp)
1578// }
1579//
15c0b25d 1580// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
bae9f6d2
JC
1581func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) {
1582 op := &request.Operation{
1583 Name: opGetBucketAccelerateConfiguration,
1584 HTTPMethod: "GET",
1585 HTTPPath: "/{Bucket}?accelerate",
1586 }
1587
1588 if input == nil {
1589 input = &GetBucketAccelerateConfigurationInput{}
1590 }
1591
1592 output = &GetBucketAccelerateConfigurationOutput{}
1593 req = c.newRequest(op, input, output)
1594 return
1595}
1596
1597// GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
1598//
1599// Returns the accelerate configuration of a bucket.
1600//
1601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1602// with awserr.Error's Code and Message methods to get detailed information about
1603// the error.
1604//
1605// See the AWS API reference guide for Amazon Simple Storage Service's
1606// API operation GetBucketAccelerateConfiguration for usage and error information.
15c0b25d 1607// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
bae9f6d2
JC
1608func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
1609 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1610 return out, req.Send()
1611}
1612
1613// GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
1614// the ability to pass a context and additional request options.
1615//
1616// See GetBucketAccelerateConfiguration for details on how to use this API operation.
1617//
1618// The context must be non-nil and will be used for request cancellation. If
1619// the context is nil a panic will occur. In the future the SDK may create
1620// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1621// for more information on using Contexts.
1622func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) {
1623 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1624 req.SetContext(ctx)
1625 req.ApplyOptions(opts...)
1626 return out, req.Send()
1627}
1628
1629const opGetBucketAcl = "GetBucketAcl"
1630
1631// GetBucketAclRequest generates a "aws/request.Request" representing the
1632// client's request for the GetBucketAcl operation. The "output" return
15c0b25d 1633// value will be populated with the request's response once the request completes
107c1cdb 1634// successfully.
bae9f6d2 1635//
15c0b25d
AP
1636// Use "Send" method on the returned Request to send the API call to the service.
1637// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1638//
15c0b25d
AP
1639// See GetBucketAcl for more information on using the GetBucketAcl
1640// API call, and error handling.
1641//
1642// This method is useful when you want to inject custom logic or configuration
1643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1644//
bae9f6d2
JC
1645//
1646// // Example sending a request using the GetBucketAclRequest method.
1647// req, resp := client.GetBucketAclRequest(params)
1648//
1649// err := req.Send()
1650// if err == nil { // resp is now filled
1651// fmt.Println(resp)
1652// }
1653//
15c0b25d 1654// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
bae9f6d2
JC
1655func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) {
1656 op := &request.Operation{
1657 Name: opGetBucketAcl,
1658 HTTPMethod: "GET",
1659 HTTPPath: "/{Bucket}?acl",
1660 }
1661
1662 if input == nil {
1663 input = &GetBucketAclInput{}
1664 }
1665
1666 output = &GetBucketAclOutput{}
1667 req = c.newRequest(op, input, output)
1668 return
1669}
1670
1671// GetBucketAcl API operation for Amazon Simple Storage Service.
1672//
1673// Gets the access control policy for the bucket.
1674//
1675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1676// with awserr.Error's Code and Message methods to get detailed information about
1677// the error.
1678//
1679// See the AWS API reference guide for Amazon Simple Storage Service's
1680// API operation GetBucketAcl for usage and error information.
15c0b25d 1681// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
bae9f6d2
JC
1682func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
1683 req, out := c.GetBucketAclRequest(input)
1684 return out, req.Send()
1685}
1686
1687// GetBucketAclWithContext is the same as GetBucketAcl with the addition of
1688// the ability to pass a context and additional request options.
1689//
1690// See GetBucketAcl for details on how to use this API operation.
1691//
1692// The context must be non-nil and will be used for request cancellation. If
1693// the context is nil a panic will occur. In the future the SDK may create
1694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1695// for more information on using Contexts.
1696func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) {
1697 req, out := c.GetBucketAclRequest(input)
1698 req.SetContext(ctx)
1699 req.ApplyOptions(opts...)
1700 return out, req.Send()
1701}
1702
1703const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
1704
1705// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
1706// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
15c0b25d 1707// value will be populated with the request's response once the request completes
107c1cdb 1708// successfully.
15c0b25d
AP
1709//
1710// Use "Send" method on the returned Request to send the API call to the service.
1711// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1712//
15c0b25d
AP
1713// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
1714// API call, and error handling.
bae9f6d2 1715//
15c0b25d
AP
1716// This method is useful when you want to inject custom logic or configuration
1717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1718//
bae9f6d2
JC
1719//
1720// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
1721// req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
1722//
1723// err := req.Send()
1724// if err == nil { // resp is now filled
1725// fmt.Println(resp)
1726// }
1727//
15c0b25d 1728// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
bae9f6d2
JC
1729func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) {
1730 op := &request.Operation{
1731 Name: opGetBucketAnalyticsConfiguration,
1732 HTTPMethod: "GET",
1733 HTTPPath: "/{Bucket}?analytics",
1734 }
1735
1736 if input == nil {
1737 input = &GetBucketAnalyticsConfigurationInput{}
1738 }
1739
1740 output = &GetBucketAnalyticsConfigurationOutput{}
1741 req = c.newRequest(op, input, output)
1742 return
1743}
1744
1745// GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
1746//
1747// Gets an analytics configuration for the bucket (specified by the analytics
1748// configuration ID).
1749//
1750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1751// with awserr.Error's Code and Message methods to get detailed information about
1752// the error.
1753//
1754// See the AWS API reference guide for Amazon Simple Storage Service's
1755// API operation GetBucketAnalyticsConfiguration for usage and error information.
15c0b25d 1756// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
bae9f6d2
JC
1757func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
1758 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1759 return out, req.Send()
1760}
1761
1762// GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
1763// the ability to pass a context and additional request options.
1764//
1765// See GetBucketAnalyticsConfiguration for details on how to use this API operation.
1766//
1767// The context must be non-nil and will be used for request cancellation. If
1768// the context is nil a panic will occur. In the future the SDK may create
1769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1770// for more information on using Contexts.
1771func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) {
1772 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1773 req.SetContext(ctx)
1774 req.ApplyOptions(opts...)
1775 return out, req.Send()
1776}
1777
1778const opGetBucketCors = "GetBucketCors"
1779
1780// GetBucketCorsRequest generates a "aws/request.Request" representing the
1781// client's request for the GetBucketCors operation. The "output" return
15c0b25d 1782// value will be populated with the request's response once the request completes
107c1cdb 1783// successfully.
bae9f6d2 1784//
15c0b25d
AP
1785// Use "Send" method on the returned Request to send the API call to the service.
1786// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1787//
15c0b25d
AP
1788// See GetBucketCors for more information on using the GetBucketCors
1789// API call, and error handling.
1790//
1791// This method is useful when you want to inject custom logic or configuration
1792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1793//
bae9f6d2
JC
1794//
1795// // Example sending a request using the GetBucketCorsRequest method.
1796// req, resp := client.GetBucketCorsRequest(params)
1797//
1798// err := req.Send()
1799// if err == nil { // resp is now filled
1800// fmt.Println(resp)
1801// }
1802//
15c0b25d 1803// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
bae9f6d2
JC
1804func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) {
1805 op := &request.Operation{
1806 Name: opGetBucketCors,
1807 HTTPMethod: "GET",
1808 HTTPPath: "/{Bucket}?cors",
1809 }
1810
1811 if input == nil {
1812 input = &GetBucketCorsInput{}
1813 }
1814
1815 output = &GetBucketCorsOutput{}
1816 req = c.newRequest(op, input, output)
1817 return
1818}
1819
1820// GetBucketCors API operation for Amazon Simple Storage Service.
1821//
107c1cdb 1822// Returns the CORS configuration for the bucket.
bae9f6d2
JC
1823//
1824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1825// with awserr.Error's Code and Message methods to get detailed information about
1826// the error.
1827//
1828// See the AWS API reference guide for Amazon Simple Storage Service's
1829// API operation GetBucketCors for usage and error information.
15c0b25d 1830// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
bae9f6d2
JC
1831func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
1832 req, out := c.GetBucketCorsRequest(input)
1833 return out, req.Send()
1834}
1835
1836// GetBucketCorsWithContext is the same as GetBucketCors with the addition of
1837// the ability to pass a context and additional request options.
1838//
1839// See GetBucketCors for details on how to use this API operation.
1840//
1841// The context must be non-nil and will be used for request cancellation. If
1842// the context is nil a panic will occur. In the future the SDK may create
1843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1844// for more information on using Contexts.
1845func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) {
1846 req, out := c.GetBucketCorsRequest(input)
1847 req.SetContext(ctx)
1848 req.ApplyOptions(opts...)
1849 return out, req.Send()
1850}
1851
15c0b25d
AP
1852const opGetBucketEncryption = "GetBucketEncryption"
1853
1854// GetBucketEncryptionRequest generates a "aws/request.Request" representing the
1855// client's request for the GetBucketEncryption operation. The "output" return
1856// value will be populated with the request's response once the request completes
107c1cdb 1857// successfully.
15c0b25d
AP
1858//
1859// Use "Send" method on the returned Request to send the API call to the service.
1860// the "output" return value is not valid until after Send returns without error.
1861//
1862// See GetBucketEncryption for more information on using the GetBucketEncryption
1863// API call, and error handling.
1864//
1865// This method is useful when you want to inject custom logic or configuration
1866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1867//
1868//
1869// // Example sending a request using the GetBucketEncryptionRequest method.
1870// req, resp := client.GetBucketEncryptionRequest(params)
1871//
1872// err := req.Send()
1873// if err == nil { // resp is now filled
1874// fmt.Println(resp)
1875// }
1876//
1877// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1878func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) {
1879 op := &request.Operation{
1880 Name: opGetBucketEncryption,
1881 HTTPMethod: "GET",
1882 HTTPPath: "/{Bucket}?encryption",
1883 }
1884
1885 if input == nil {
1886 input = &GetBucketEncryptionInput{}
1887 }
1888
1889 output = &GetBucketEncryptionOutput{}
1890 req = c.newRequest(op, input, output)
1891 return
1892}
1893
1894// GetBucketEncryption API operation for Amazon Simple Storage Service.
1895//
1896// Returns the server-side encryption configuration of a bucket.
1897//
1898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1899// with awserr.Error's Code and Message methods to get detailed information about
1900// the error.
1901//
1902// See the AWS API reference guide for Amazon Simple Storage Service's
1903// API operation GetBucketEncryption for usage and error information.
1904// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1905func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) {
1906 req, out := c.GetBucketEncryptionRequest(input)
1907 return out, req.Send()
1908}
1909
1910// GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
1911// the ability to pass a context and additional request options.
1912//
1913// See GetBucketEncryption for details on how to use this API operation.
1914//
1915// The context must be non-nil and will be used for request cancellation. If
1916// the context is nil a panic will occur. In the future the SDK may create
1917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1918// for more information on using Contexts.
1919func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) {
1920 req, out := c.GetBucketEncryptionRequest(input)
1921 req.SetContext(ctx)
1922 req.ApplyOptions(opts...)
1923 return out, req.Send()
1924}
1925
bae9f6d2
JC
1926const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
1927
1928// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
1929// client's request for the GetBucketInventoryConfiguration operation. The "output" return
15c0b25d 1930// value will be populated with the request's response once the request completes
107c1cdb 1931// successfully.
bae9f6d2 1932//
15c0b25d
AP
1933// Use "Send" method on the returned Request to send the API call to the service.
1934// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1935//
15c0b25d
AP
1936// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
1937// API call, and error handling.
1938//
1939// This method is useful when you want to inject custom logic or configuration
1940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1941//
bae9f6d2
JC
1942//
1943// // Example sending a request using the GetBucketInventoryConfigurationRequest method.
1944// req, resp := client.GetBucketInventoryConfigurationRequest(params)
1945//
1946// err := req.Send()
1947// if err == nil { // resp is now filled
1948// fmt.Println(resp)
1949// }
1950//
15c0b25d 1951// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
bae9f6d2
JC
1952func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) {
1953 op := &request.Operation{
1954 Name: opGetBucketInventoryConfiguration,
1955 HTTPMethod: "GET",
1956 HTTPPath: "/{Bucket}?inventory",
1957 }
1958
1959 if input == nil {
1960 input = &GetBucketInventoryConfigurationInput{}
1961 }
1962
1963 output = &GetBucketInventoryConfigurationOutput{}
1964 req = c.newRequest(op, input, output)
1965 return
1966}
1967
1968// GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
1969//
1970// Returns an inventory configuration (identified by the inventory ID) from
1971// the bucket.
1972//
1973// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1974// with awserr.Error's Code and Message methods to get detailed information about
1975// the error.
1976//
1977// See the AWS API reference guide for Amazon Simple Storage Service's
1978// API operation GetBucketInventoryConfiguration for usage and error information.
15c0b25d 1979// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
bae9f6d2
JC
1980func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
1981 req, out := c.GetBucketInventoryConfigurationRequest(input)
1982 return out, req.Send()
1983}
1984
1985// GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
1986// the ability to pass a context and additional request options.
1987//
1988// See GetBucketInventoryConfiguration for details on how to use this API operation.
1989//
1990// The context must be non-nil and will be used for request cancellation. If
1991// the context is nil a panic will occur. In the future the SDK may create
1992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1993// for more information on using Contexts.
1994func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) {
1995 req, out := c.GetBucketInventoryConfigurationRequest(input)
1996 req.SetContext(ctx)
1997 req.ApplyOptions(opts...)
1998 return out, req.Send()
1999}
2000
2001const opGetBucketLifecycle = "GetBucketLifecycle"
2002
2003// GetBucketLifecycleRequest generates a "aws/request.Request" representing the
2004// client's request for the GetBucketLifecycle operation. The "output" return
15c0b25d 2005// value will be populated with the request's response once the request completes
107c1cdb 2006// successfully.
15c0b25d
AP
2007//
2008// Use "Send" method on the returned Request to send the API call to the service.
2009// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2010//
15c0b25d
AP
2011// See GetBucketLifecycle for more information on using the GetBucketLifecycle
2012// API call, and error handling.
bae9f6d2 2013//
15c0b25d
AP
2014// This method is useful when you want to inject custom logic or configuration
2015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2016//
bae9f6d2
JC
2017//
2018// // Example sending a request using the GetBucketLifecycleRequest method.
2019// req, resp := client.GetBucketLifecycleRequest(params)
2020//
2021// err := req.Send()
2022// if err == nil { // resp is now filled
2023// fmt.Println(resp)
2024// }
2025//
15c0b25d 2026// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
107c1cdb
ND
2027//
2028// Deprecated: GetBucketLifecycle has been deprecated
bae9f6d2
JC
2029func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) {
2030 if c.Client.Config.Logger != nil {
2031 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated")
2032 }
2033 op := &request.Operation{
2034 Name: opGetBucketLifecycle,
2035 HTTPMethod: "GET",
2036 HTTPPath: "/{Bucket}?lifecycle",
2037 }
2038
2039 if input == nil {
2040 input = &GetBucketLifecycleInput{}
2041 }
2042
2043 output = &GetBucketLifecycleOutput{}
2044 req = c.newRequest(op, input, output)
2045 return
2046}
2047
2048// GetBucketLifecycle API operation for Amazon Simple Storage Service.
2049//
107c1cdb 2050// No longer used, see the GetBucketLifecycleConfiguration operation.
bae9f6d2
JC
2051//
2052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2053// with awserr.Error's Code and Message methods to get detailed information about
2054// the error.
2055//
2056// See the AWS API reference guide for Amazon Simple Storage Service's
2057// API operation GetBucketLifecycle for usage and error information.
15c0b25d 2058// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
107c1cdb
ND
2059//
2060// Deprecated: GetBucketLifecycle has been deprecated
bae9f6d2
JC
2061func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
2062 req, out := c.GetBucketLifecycleRequest(input)
2063 return out, req.Send()
2064}
2065
2066// GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
2067// the ability to pass a context and additional request options.
2068//
2069// See GetBucketLifecycle for details on how to use this API operation.
2070//
2071// The context must be non-nil and will be used for request cancellation. If
2072// the context is nil a panic will occur. In the future the SDK may create
2073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2074// for more information on using Contexts.
107c1cdb
ND
2075//
2076// Deprecated: GetBucketLifecycleWithContext has been deprecated
bae9f6d2
JC
2077func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) {
2078 req, out := c.GetBucketLifecycleRequest(input)
2079 req.SetContext(ctx)
2080 req.ApplyOptions(opts...)
2081 return out, req.Send()
2082}
2083
2084const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
2085
2086// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
2087// client's request for the GetBucketLifecycleConfiguration operation. The "output" return
15c0b25d 2088// value will be populated with the request's response once the request completes
107c1cdb 2089// successfully.
bae9f6d2 2090//
15c0b25d
AP
2091// Use "Send" method on the returned Request to send the API call to the service.
2092// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2093//
15c0b25d
AP
2094// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
2095// API call, and error handling.
2096//
2097// This method is useful when you want to inject custom logic or configuration
2098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2099//
bae9f6d2
JC
2100//
2101// // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
2102// req, resp := client.GetBucketLifecycleConfigurationRequest(params)
2103//
2104// err := req.Send()
2105// if err == nil { // resp is now filled
2106// fmt.Println(resp)
2107// }
2108//
15c0b25d 2109// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
bae9f6d2
JC
2110func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) {
2111 op := &request.Operation{
2112 Name: opGetBucketLifecycleConfiguration,
2113 HTTPMethod: "GET",
2114 HTTPPath: "/{Bucket}?lifecycle",
2115 }
2116
2117 if input == nil {
2118 input = &GetBucketLifecycleConfigurationInput{}
2119 }
2120
2121 output = &GetBucketLifecycleConfigurationOutput{}
2122 req = c.newRequest(op, input, output)
2123 return
2124}
2125
2126// GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
2127//
2128// Returns the lifecycle configuration information set on the bucket.
2129//
2130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2131// with awserr.Error's Code and Message methods to get detailed information about
2132// the error.
2133//
2134// See the AWS API reference guide for Amazon Simple Storage Service's
2135// API operation GetBucketLifecycleConfiguration for usage and error information.
15c0b25d 2136// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
bae9f6d2
JC
2137func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
2138 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2139 return out, req.Send()
2140}
2141
2142// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
2143// the ability to pass a context and additional request options.
2144//
2145// See GetBucketLifecycleConfiguration for details on how to use this API operation.
2146//
2147// The context must be non-nil and will be used for request cancellation. If
2148// the context is nil a panic will occur. In the future the SDK may create
2149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2150// for more information on using Contexts.
2151func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) {
2152 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2153 req.SetContext(ctx)
2154 req.ApplyOptions(opts...)
2155 return out, req.Send()
2156}
2157
2158const opGetBucketLocation = "GetBucketLocation"
2159
2160// GetBucketLocationRequest generates a "aws/request.Request" representing the
2161// client's request for the GetBucketLocation operation. The "output" return
15c0b25d 2162// value will be populated with the request's response once the request completes
107c1cdb 2163// successfully.
15c0b25d
AP
2164//
2165// Use "Send" method on the returned Request to send the API call to the service.
2166// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2167//
15c0b25d
AP
2168// See GetBucketLocation for more information on using the GetBucketLocation
2169// API call, and error handling.
bae9f6d2 2170//
15c0b25d
AP
2171// This method is useful when you want to inject custom logic or configuration
2172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2173//
bae9f6d2
JC
2174//
2175// // Example sending a request using the GetBucketLocationRequest method.
2176// req, resp := client.GetBucketLocationRequest(params)
2177//
2178// err := req.Send()
2179// if err == nil { // resp is now filled
2180// fmt.Println(resp)
2181// }
2182//
15c0b25d 2183// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
bae9f6d2
JC
2184func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) {
2185 op := &request.Operation{
2186 Name: opGetBucketLocation,
2187 HTTPMethod: "GET",
2188 HTTPPath: "/{Bucket}?location",
2189 }
2190
2191 if input == nil {
2192 input = &GetBucketLocationInput{}
2193 }
2194
2195 output = &GetBucketLocationOutput{}
2196 req = c.newRequest(op, input, output)
2197 return
2198}
2199
2200// GetBucketLocation API operation for Amazon Simple Storage Service.
2201//
2202// Returns the region the bucket resides in.
2203//
2204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2205// with awserr.Error's Code and Message methods to get detailed information about
2206// the error.
2207//
2208// See the AWS API reference guide for Amazon Simple Storage Service's
2209// API operation GetBucketLocation for usage and error information.
15c0b25d 2210// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
bae9f6d2
JC
2211func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
2212 req, out := c.GetBucketLocationRequest(input)
2213 return out, req.Send()
2214}
2215
2216// GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
2217// the ability to pass a context and additional request options.
2218//
2219// See GetBucketLocation for details on how to use this API operation.
2220//
2221// The context must be non-nil and will be used for request cancellation. If
2222// the context is nil a panic will occur. In the future the SDK may create
2223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2224// for more information on using Contexts.
2225func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) {
2226 req, out := c.GetBucketLocationRequest(input)
2227 req.SetContext(ctx)
2228 req.ApplyOptions(opts...)
2229 return out, req.Send()
2230}
2231
2232const opGetBucketLogging = "GetBucketLogging"
2233
2234// GetBucketLoggingRequest generates a "aws/request.Request" representing the
2235// client's request for the GetBucketLogging operation. The "output" return
15c0b25d 2236// value will be populated with the request's response once the request completes
107c1cdb 2237// successfully.
bae9f6d2 2238//
15c0b25d
AP
2239// Use "Send" method on the returned Request to send the API call to the service.
2240// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2241//
15c0b25d
AP
2242// See GetBucketLogging for more information on using the GetBucketLogging
2243// API call, and error handling.
2244//
2245// This method is useful when you want to inject custom logic or configuration
2246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2247//
bae9f6d2
JC
2248//
2249// // Example sending a request using the GetBucketLoggingRequest method.
2250// req, resp := client.GetBucketLoggingRequest(params)
2251//
2252// err := req.Send()
2253// if err == nil { // resp is now filled
2254// fmt.Println(resp)
2255// }
2256//
15c0b25d 2257// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
bae9f6d2
JC
2258func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) {
2259 op := &request.Operation{
2260 Name: opGetBucketLogging,
2261 HTTPMethod: "GET",
2262 HTTPPath: "/{Bucket}?logging",
2263 }
2264
2265 if input == nil {
2266 input = &GetBucketLoggingInput{}
2267 }
2268
2269 output = &GetBucketLoggingOutput{}
2270 req = c.newRequest(op, input, output)
2271 return
2272}
2273
2274// GetBucketLogging API operation for Amazon Simple Storage Service.
2275//
2276// Returns the logging status of a bucket and the permissions users have to
2277// view and modify that status. To use GET, you must be the bucket owner.
2278//
2279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2280// with awserr.Error's Code and Message methods to get detailed information about
2281// the error.
2282//
2283// See the AWS API reference guide for Amazon Simple Storage Service's
2284// API operation GetBucketLogging for usage and error information.
15c0b25d 2285// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
bae9f6d2
JC
2286func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
2287 req, out := c.GetBucketLoggingRequest(input)
2288 return out, req.Send()
2289}
2290
2291// GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
2292// the ability to pass a context and additional request options.
2293//
2294// See GetBucketLogging for details on how to use this API operation.
2295//
2296// The context must be non-nil and will be used for request cancellation. If
2297// the context is nil a panic will occur. In the future the SDK may create
2298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2299// for more information on using Contexts.
2300func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) {
2301 req, out := c.GetBucketLoggingRequest(input)
2302 req.SetContext(ctx)
2303 req.ApplyOptions(opts...)
2304 return out, req.Send()
2305}
2306
2307const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
2308
2309// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
2310// client's request for the GetBucketMetricsConfiguration operation. The "output" return
15c0b25d 2311// value will be populated with the request's response once the request completes
107c1cdb 2312// successfully.
15c0b25d
AP
2313//
2314// Use "Send" method on the returned Request to send the API call to the service.
2315// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2316//
15c0b25d
AP
2317// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
2318// API call, and error handling.
bae9f6d2 2319//
15c0b25d
AP
2320// This method is useful when you want to inject custom logic or configuration
2321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2322//
bae9f6d2
JC
2323//
2324// // Example sending a request using the GetBucketMetricsConfigurationRequest method.
2325// req, resp := client.GetBucketMetricsConfigurationRequest(params)
2326//
2327// err := req.Send()
2328// if err == nil { // resp is now filled
2329// fmt.Println(resp)
2330// }
2331//
15c0b25d 2332// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
bae9f6d2
JC
2333func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) {
2334 op := &request.Operation{
2335 Name: opGetBucketMetricsConfiguration,
2336 HTTPMethod: "GET",
2337 HTTPPath: "/{Bucket}?metrics",
2338 }
2339
2340 if input == nil {
2341 input = &GetBucketMetricsConfigurationInput{}
2342 }
2343
2344 output = &GetBucketMetricsConfigurationOutput{}
2345 req = c.newRequest(op, input, output)
2346 return
2347}
2348
2349// GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
2350//
2351// Gets a metrics configuration (specified by the metrics configuration ID)
2352// from the bucket.
2353//
2354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2355// with awserr.Error's Code and Message methods to get detailed information about
2356// the error.
2357//
2358// See the AWS API reference guide for Amazon Simple Storage Service's
2359// API operation GetBucketMetricsConfiguration for usage and error information.
15c0b25d 2360// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
bae9f6d2
JC
2361func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
2362 req, out := c.GetBucketMetricsConfigurationRequest(input)
2363 return out, req.Send()
2364}
2365
2366// GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
2367// the ability to pass a context and additional request options.
2368//
2369// See GetBucketMetricsConfiguration for details on how to use this API operation.
2370//
2371// The context must be non-nil and will be used for request cancellation. If
2372// the context is nil a panic will occur. In the future the SDK may create
2373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2374// for more information on using Contexts.
2375func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) {
2376 req, out := c.GetBucketMetricsConfigurationRequest(input)
2377 req.SetContext(ctx)
2378 req.ApplyOptions(opts...)
2379 return out, req.Send()
2380}
2381
2382const opGetBucketNotification = "GetBucketNotification"
2383
2384// GetBucketNotificationRequest generates a "aws/request.Request" representing the
2385// client's request for the GetBucketNotification operation. The "output" return
15c0b25d 2386// value will be populated with the request's response once the request completes
107c1cdb 2387// successfully.
bae9f6d2 2388//
15c0b25d
AP
2389// Use "Send" method on the returned Request to send the API call to the service.
2390// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2391//
15c0b25d
AP
2392// See GetBucketNotification for more information on using the GetBucketNotification
2393// API call, and error handling.
2394//
2395// This method is useful when you want to inject custom logic or configuration
2396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2397//
bae9f6d2
JC
2398//
2399// // Example sending a request using the GetBucketNotificationRequest method.
2400// req, resp := client.GetBucketNotificationRequest(params)
2401//
2402// err := req.Send()
2403// if err == nil { // resp is now filled
2404// fmt.Println(resp)
2405// }
2406//
15c0b25d 2407// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
107c1cdb
ND
2408//
2409// Deprecated: GetBucketNotification has been deprecated
bae9f6d2
JC
2410func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) {
2411 if c.Client.Config.Logger != nil {
2412 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated")
2413 }
2414 op := &request.Operation{
2415 Name: opGetBucketNotification,
2416 HTTPMethod: "GET",
2417 HTTPPath: "/{Bucket}?notification",
2418 }
2419
2420 if input == nil {
2421 input = &GetBucketNotificationConfigurationRequest{}
2422 }
2423
2424 output = &NotificationConfigurationDeprecated{}
2425 req = c.newRequest(op, input, output)
2426 return
2427}
2428
2429// GetBucketNotification API operation for Amazon Simple Storage Service.
2430//
107c1cdb 2431// No longer used, see the GetBucketNotificationConfiguration operation.
bae9f6d2
JC
2432//
2433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2434// with awserr.Error's Code and Message methods to get detailed information about
2435// the error.
2436//
2437// See the AWS API reference guide for Amazon Simple Storage Service's
2438// API operation GetBucketNotification for usage and error information.
15c0b25d 2439// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
107c1cdb
ND
2440//
2441// Deprecated: GetBucketNotification has been deprecated
bae9f6d2
JC
2442func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
2443 req, out := c.GetBucketNotificationRequest(input)
2444 return out, req.Send()
2445}
2446
2447// GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
2448// the ability to pass a context and additional request options.
2449//
2450// See GetBucketNotification for details on how to use this API operation.
2451//
2452// The context must be non-nil and will be used for request cancellation. If
2453// the context is nil a panic will occur. In the future the SDK may create
2454// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2455// for more information on using Contexts.
107c1cdb
ND
2456//
2457// Deprecated: GetBucketNotificationWithContext has been deprecated
bae9f6d2
JC
2458func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) {
2459 req, out := c.GetBucketNotificationRequest(input)
2460 req.SetContext(ctx)
2461 req.ApplyOptions(opts...)
2462 return out, req.Send()
2463}
2464
2465const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
2466
2467// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
2468// client's request for the GetBucketNotificationConfiguration operation. The "output" return
15c0b25d 2469// value will be populated with the request's response once the request completes
107c1cdb 2470// successfully.
15c0b25d
AP
2471//
2472// Use "Send" method on the returned Request to send the API call to the service.
2473// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2474//
15c0b25d
AP
2475// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
2476// API call, and error handling.
bae9f6d2 2477//
15c0b25d
AP
2478// This method is useful when you want to inject custom logic or configuration
2479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2480//
bae9f6d2
JC
2481//
2482// // Example sending a request using the GetBucketNotificationConfigurationRequest method.
2483// req, resp := client.GetBucketNotificationConfigurationRequest(params)
2484//
2485// err := req.Send()
2486// if err == nil { // resp is now filled
2487// fmt.Println(resp)
2488// }
2489//
15c0b25d 2490// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
bae9f6d2
JC
2491func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) {
2492 op := &request.Operation{
2493 Name: opGetBucketNotificationConfiguration,
2494 HTTPMethod: "GET",
2495 HTTPPath: "/{Bucket}?notification",
2496 }
2497
2498 if input == nil {
2499 input = &GetBucketNotificationConfigurationRequest{}
2500 }
2501
2502 output = &NotificationConfiguration{}
2503 req = c.newRequest(op, input, output)
2504 return
2505}
2506
2507// GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
2508//
2509// Returns the notification configuration of a bucket.
2510//
2511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2512// with awserr.Error's Code and Message methods to get detailed information about
2513// the error.
2514//
2515// See the AWS API reference guide for Amazon Simple Storage Service's
2516// API operation GetBucketNotificationConfiguration for usage and error information.
15c0b25d 2517// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
bae9f6d2
JC
2518func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
2519 req, out := c.GetBucketNotificationConfigurationRequest(input)
2520 return out, req.Send()
2521}
2522
2523// GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
2524// the ability to pass a context and additional request options.
2525//
2526// See GetBucketNotificationConfiguration for details on how to use this API operation.
2527//
2528// The context must be non-nil and will be used for request cancellation. If
2529// the context is nil a panic will occur. In the future the SDK may create
2530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2531// for more information on using Contexts.
2532func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) {
2533 req, out := c.GetBucketNotificationConfigurationRequest(input)
2534 req.SetContext(ctx)
2535 req.ApplyOptions(opts...)
2536 return out, req.Send()
2537}
2538
2539const opGetBucketPolicy = "GetBucketPolicy"
2540
2541// GetBucketPolicyRequest generates a "aws/request.Request" representing the
2542// client's request for the GetBucketPolicy operation. The "output" return
15c0b25d 2543// value will be populated with the request's response once the request completes
107c1cdb 2544// successfully.
bae9f6d2 2545//
15c0b25d
AP
2546// Use "Send" method on the returned Request to send the API call to the service.
2547// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2548//
15c0b25d
AP
2549// See GetBucketPolicy for more information on using the GetBucketPolicy
2550// API call, and error handling.
2551//
2552// This method is useful when you want to inject custom logic or configuration
2553// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2554//
bae9f6d2
JC
2555//
2556// // Example sending a request using the GetBucketPolicyRequest method.
2557// req, resp := client.GetBucketPolicyRequest(params)
2558//
2559// err := req.Send()
2560// if err == nil { // resp is now filled
2561// fmt.Println(resp)
2562// }
2563//
15c0b25d 2564// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
bae9f6d2
JC
2565func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) {
2566 op := &request.Operation{
2567 Name: opGetBucketPolicy,
2568 HTTPMethod: "GET",
2569 HTTPPath: "/{Bucket}?policy",
2570 }
2571
2572 if input == nil {
2573 input = &GetBucketPolicyInput{}
2574 }
2575
2576 output = &GetBucketPolicyOutput{}
2577 req = c.newRequest(op, input, output)
2578 return
2579}
2580
2581// GetBucketPolicy API operation for Amazon Simple Storage Service.
2582//
2583// Returns the policy of a specified bucket.
2584//
2585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2586// with awserr.Error's Code and Message methods to get detailed information about
2587// the error.
2588//
2589// See the AWS API reference guide for Amazon Simple Storage Service's
2590// API operation GetBucketPolicy for usage and error information.
15c0b25d 2591// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
bae9f6d2
JC
2592func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
2593 req, out := c.GetBucketPolicyRequest(input)
2594 return out, req.Send()
2595}
2596
2597// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
2598// the ability to pass a context and additional request options.
2599//
2600// See GetBucketPolicy for details on how to use this API operation.
2601//
2602// The context must be non-nil and will be used for request cancellation. If
2603// the context is nil a panic will occur. In the future the SDK may create
2604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2605// for more information on using Contexts.
2606func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) {
2607 req, out := c.GetBucketPolicyRequest(input)
2608 req.SetContext(ctx)
2609 req.ApplyOptions(opts...)
2610 return out, req.Send()
2611}
2612
107c1cdb
ND
2613const opGetBucketPolicyStatus = "GetBucketPolicyStatus"
2614
2615// GetBucketPolicyStatusRequest generates a "aws/request.Request" representing the
2616// client's request for the GetBucketPolicyStatus operation. The "output" return
2617// value will be populated with the request's response once the request completes
2618// successfully.
2619//
2620// Use "Send" method on the returned Request to send the API call to the service.
2621// the "output" return value is not valid until after Send returns without error.
2622//
2623// See GetBucketPolicyStatus for more information on using the GetBucketPolicyStatus
2624// API call, and error handling.
2625//
2626// This method is useful when you want to inject custom logic or configuration
2627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2628//
2629//
2630// // Example sending a request using the GetBucketPolicyStatusRequest method.
2631// req, resp := client.GetBucketPolicyStatusRequest(params)
2632//
2633// err := req.Send()
2634// if err == nil { // resp is now filled
2635// fmt.Println(resp)
2636// }
2637//
2638// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2639func (c *S3) GetBucketPolicyStatusRequest(input *GetBucketPolicyStatusInput) (req *request.Request, output *GetBucketPolicyStatusOutput) {
2640 op := &request.Operation{
2641 Name: opGetBucketPolicyStatus,
2642 HTTPMethod: "GET",
2643 HTTPPath: "/{Bucket}?policyStatus",
2644 }
2645
2646 if input == nil {
2647 input = &GetBucketPolicyStatusInput{}
2648 }
2649
2650 output = &GetBucketPolicyStatusOutput{}
2651 req = c.newRequest(op, input, output)
2652 return
2653}
2654
2655// GetBucketPolicyStatus API operation for Amazon Simple Storage Service.
2656//
2657// Retrieves the policy status for an Amazon S3 bucket, indicating whether the
2658// bucket is public.
2659//
2660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2661// with awserr.Error's Code and Message methods to get detailed information about
2662// the error.
2663//
2664// See the AWS API reference guide for Amazon Simple Storage Service's
2665// API operation GetBucketPolicyStatus for usage and error information.
2666// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2667func (c *S3) GetBucketPolicyStatus(input *GetBucketPolicyStatusInput) (*GetBucketPolicyStatusOutput, error) {
2668 req, out := c.GetBucketPolicyStatusRequest(input)
2669 return out, req.Send()
2670}
2671
2672// GetBucketPolicyStatusWithContext is the same as GetBucketPolicyStatus with the addition of
2673// the ability to pass a context and additional request options.
2674//
2675// See GetBucketPolicyStatus for details on how to use this API operation.
2676//
2677// The context must be non-nil and will be used for request cancellation. If
2678// the context is nil a panic will occur. In the future the SDK may create
2679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2680// for more information on using Contexts.
2681func (c *S3) GetBucketPolicyStatusWithContext(ctx aws.Context, input *GetBucketPolicyStatusInput, opts ...request.Option) (*GetBucketPolicyStatusOutput, error) {
2682 req, out := c.GetBucketPolicyStatusRequest(input)
2683 req.SetContext(ctx)
2684 req.ApplyOptions(opts...)
2685 return out, req.Send()
2686}
2687
bae9f6d2
JC
2688const opGetBucketReplication = "GetBucketReplication"
2689
2690// GetBucketReplicationRequest generates a "aws/request.Request" representing the
2691// client's request for the GetBucketReplication operation. The "output" return
15c0b25d 2692// value will be populated with the request's response once the request completes
107c1cdb 2693// successfully.
15c0b25d
AP
2694//
2695// Use "Send" method on the returned Request to send the API call to the service.
2696// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2697//
15c0b25d
AP
2698// See GetBucketReplication for more information on using the GetBucketReplication
2699// API call, and error handling.
bae9f6d2 2700//
15c0b25d
AP
2701// This method is useful when you want to inject custom logic or configuration
2702// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2703//
bae9f6d2
JC
2704//
2705// // Example sending a request using the GetBucketReplicationRequest method.
2706// req, resp := client.GetBucketReplicationRequest(params)
2707//
2708// err := req.Send()
2709// if err == nil { // resp is now filled
2710// fmt.Println(resp)
2711// }
2712//
15c0b25d 2713// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
bae9f6d2
JC
2714func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) {
2715 op := &request.Operation{
2716 Name: opGetBucketReplication,
2717 HTTPMethod: "GET",
2718 HTTPPath: "/{Bucket}?replication",
2719 }
2720
2721 if input == nil {
2722 input = &GetBucketReplicationInput{}
2723 }
2724
2725 output = &GetBucketReplicationOutput{}
2726 req = c.newRequest(op, input, output)
2727 return
2728}
2729
2730// GetBucketReplication API operation for Amazon Simple Storage Service.
2731//
2732// Returns the replication configuration of a bucket.
2733//
107c1cdb
ND
2734// It can take a while to propagate the put or delete a replication configuration
2735// to all Amazon S3 systems. Therefore, a get request soon after put or delete
2736// can return a wrong result.
2737//
bae9f6d2
JC
2738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2739// with awserr.Error's Code and Message methods to get detailed information about
2740// the error.
2741//
2742// See the AWS API reference guide for Amazon Simple Storage Service's
2743// API operation GetBucketReplication for usage and error information.
15c0b25d 2744// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
bae9f6d2
JC
2745func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
2746 req, out := c.GetBucketReplicationRequest(input)
2747 return out, req.Send()
2748}
2749
2750// GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
2751// the ability to pass a context and additional request options.
2752//
2753// See GetBucketReplication for details on how to use this API operation.
2754//
2755// The context must be non-nil and will be used for request cancellation. If
2756// the context is nil a panic will occur. In the future the SDK may create
2757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2758// for more information on using Contexts.
2759func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) {
2760 req, out := c.GetBucketReplicationRequest(input)
2761 req.SetContext(ctx)
2762 req.ApplyOptions(opts...)
2763 return out, req.Send()
2764}
2765
2766const opGetBucketRequestPayment = "GetBucketRequestPayment"
2767
2768// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
2769// client's request for the GetBucketRequestPayment operation. The "output" return
15c0b25d 2770// value will be populated with the request's response once the request completes
107c1cdb 2771// successfully.
bae9f6d2 2772//
15c0b25d
AP
2773// Use "Send" method on the returned Request to send the API call to the service.
2774// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2775//
15c0b25d
AP
2776// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
2777// API call, and error handling.
2778//
2779// This method is useful when you want to inject custom logic or configuration
2780// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2781//
bae9f6d2
JC
2782//
2783// // Example sending a request using the GetBucketRequestPaymentRequest method.
2784// req, resp := client.GetBucketRequestPaymentRequest(params)
2785//
2786// err := req.Send()
2787// if err == nil { // resp is now filled
2788// fmt.Println(resp)
2789// }
2790//
15c0b25d 2791// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
bae9f6d2
JC
2792func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) {
2793 op := &request.Operation{
2794 Name: opGetBucketRequestPayment,
2795 HTTPMethod: "GET",
2796 HTTPPath: "/{Bucket}?requestPayment",
2797 }
2798
2799 if input == nil {
2800 input = &GetBucketRequestPaymentInput{}
2801 }
2802
2803 output = &GetBucketRequestPaymentOutput{}
2804 req = c.newRequest(op, input, output)
2805 return
2806}
2807
2808// GetBucketRequestPayment API operation for Amazon Simple Storage Service.
2809//
2810// Returns the request payment configuration of a bucket.
2811//
2812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2813// with awserr.Error's Code and Message methods to get detailed information about
2814// the error.
2815//
2816// See the AWS API reference guide for Amazon Simple Storage Service's
2817// API operation GetBucketRequestPayment for usage and error information.
15c0b25d 2818// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
bae9f6d2
JC
2819func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
2820 req, out := c.GetBucketRequestPaymentRequest(input)
2821 return out, req.Send()
2822}
2823
2824// GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
2825// the ability to pass a context and additional request options.
2826//
2827// See GetBucketRequestPayment for details on how to use this API operation.
2828//
2829// The context must be non-nil and will be used for request cancellation. If
2830// the context is nil a panic will occur. In the future the SDK may create
2831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2832// for more information on using Contexts.
2833func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) {
2834 req, out := c.GetBucketRequestPaymentRequest(input)
2835 req.SetContext(ctx)
2836 req.ApplyOptions(opts...)
2837 return out, req.Send()
2838}
2839
2840const opGetBucketTagging = "GetBucketTagging"
2841
2842// GetBucketTaggingRequest generates a "aws/request.Request" representing the
2843// client's request for the GetBucketTagging operation. The "output" return
15c0b25d 2844// value will be populated with the request's response once the request completes
107c1cdb 2845// successfully.
15c0b25d
AP
2846//
2847// Use "Send" method on the returned Request to send the API call to the service.
2848// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2849//
15c0b25d
AP
2850// See GetBucketTagging for more information on using the GetBucketTagging
2851// API call, and error handling.
bae9f6d2 2852//
15c0b25d
AP
2853// This method is useful when you want to inject custom logic or configuration
2854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2855//
bae9f6d2
JC
2856//
2857// // Example sending a request using the GetBucketTaggingRequest method.
2858// req, resp := client.GetBucketTaggingRequest(params)
2859//
2860// err := req.Send()
2861// if err == nil { // resp is now filled
2862// fmt.Println(resp)
2863// }
2864//
15c0b25d 2865// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
bae9f6d2
JC
2866func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) {
2867 op := &request.Operation{
2868 Name: opGetBucketTagging,
2869 HTTPMethod: "GET",
2870 HTTPPath: "/{Bucket}?tagging",
2871 }
2872
2873 if input == nil {
2874 input = &GetBucketTaggingInput{}
2875 }
2876
2877 output = &GetBucketTaggingOutput{}
2878 req = c.newRequest(op, input, output)
2879 return
2880}
2881
2882// GetBucketTagging API operation for Amazon Simple Storage Service.
2883//
2884// Returns the tag set associated with the bucket.
2885//
2886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2887// with awserr.Error's Code and Message methods to get detailed information about
2888// the error.
2889//
2890// See the AWS API reference guide for Amazon Simple Storage Service's
2891// API operation GetBucketTagging for usage and error information.
15c0b25d 2892// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
bae9f6d2
JC
2893func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
2894 req, out := c.GetBucketTaggingRequest(input)
2895 return out, req.Send()
2896}
2897
2898// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
2899// the ability to pass a context and additional request options.
2900//
2901// See GetBucketTagging for details on how to use this API operation.
2902//
2903// The context must be non-nil and will be used for request cancellation. If
2904// the context is nil a panic will occur. In the future the SDK may create
2905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2906// for more information on using Contexts.
2907func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) {
2908 req, out := c.GetBucketTaggingRequest(input)
2909 req.SetContext(ctx)
2910 req.ApplyOptions(opts...)
2911 return out, req.Send()
2912}
2913
2914const opGetBucketVersioning = "GetBucketVersioning"
2915
2916// GetBucketVersioningRequest generates a "aws/request.Request" representing the
2917// client's request for the GetBucketVersioning operation. The "output" return
15c0b25d 2918// value will be populated with the request's response once the request completes
107c1cdb 2919// successfully.
bae9f6d2 2920//
15c0b25d
AP
2921// Use "Send" method on the returned Request to send the API call to the service.
2922// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2923//
15c0b25d
AP
2924// See GetBucketVersioning for more information on using the GetBucketVersioning
2925// API call, and error handling.
2926//
2927// This method is useful when you want to inject custom logic or configuration
2928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2929//
bae9f6d2
JC
2930//
2931// // Example sending a request using the GetBucketVersioningRequest method.
2932// req, resp := client.GetBucketVersioningRequest(params)
2933//
2934// err := req.Send()
2935// if err == nil { // resp is now filled
2936// fmt.Println(resp)
2937// }
2938//
15c0b25d 2939// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
bae9f6d2
JC
2940func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) {
2941 op := &request.Operation{
2942 Name: opGetBucketVersioning,
2943 HTTPMethod: "GET",
2944 HTTPPath: "/{Bucket}?versioning",
2945 }
2946
2947 if input == nil {
2948 input = &GetBucketVersioningInput{}
2949 }
2950
2951 output = &GetBucketVersioningOutput{}
2952 req = c.newRequest(op, input, output)
2953 return
2954}
2955
2956// GetBucketVersioning API operation for Amazon Simple Storage Service.
2957//
2958// Returns the versioning state of a bucket.
2959//
2960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2961// with awserr.Error's Code and Message methods to get detailed information about
2962// the error.
2963//
2964// See the AWS API reference guide for Amazon Simple Storage Service's
2965// API operation GetBucketVersioning for usage and error information.
15c0b25d 2966// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
bae9f6d2
JC
2967func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
2968 req, out := c.GetBucketVersioningRequest(input)
2969 return out, req.Send()
2970}
2971
2972// GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
2973// the ability to pass a context and additional request options.
2974//
2975// See GetBucketVersioning for details on how to use this API operation.
2976//
2977// The context must be non-nil and will be used for request cancellation. If
2978// the context is nil a panic will occur. In the future the SDK may create
2979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2980// for more information on using Contexts.
2981func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) {
2982 req, out := c.GetBucketVersioningRequest(input)
2983 req.SetContext(ctx)
2984 req.ApplyOptions(opts...)
2985 return out, req.Send()
2986}
2987
2988const opGetBucketWebsite = "GetBucketWebsite"
2989
2990// GetBucketWebsiteRequest generates a "aws/request.Request" representing the
2991// client's request for the GetBucketWebsite operation. The "output" return
15c0b25d 2992// value will be populated with the request's response once the request completes
107c1cdb 2993// successfully.
15c0b25d
AP
2994//
2995// Use "Send" method on the returned Request to send the API call to the service.
2996// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2997//
15c0b25d
AP
2998// See GetBucketWebsite for more information on using the GetBucketWebsite
2999// API call, and error handling.
bae9f6d2 3000//
15c0b25d
AP
3001// This method is useful when you want to inject custom logic or configuration
3002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3003//
bae9f6d2
JC
3004//
3005// // Example sending a request using the GetBucketWebsiteRequest method.
3006// req, resp := client.GetBucketWebsiteRequest(params)
3007//
3008// err := req.Send()
3009// if err == nil { // resp is now filled
3010// fmt.Println(resp)
3011// }
3012//
15c0b25d 3013// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
bae9f6d2
JC
3014func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) {
3015 op := &request.Operation{
3016 Name: opGetBucketWebsite,
3017 HTTPMethod: "GET",
3018 HTTPPath: "/{Bucket}?website",
3019 }
3020
3021 if input == nil {
3022 input = &GetBucketWebsiteInput{}
3023 }
3024
3025 output = &GetBucketWebsiteOutput{}
3026 req = c.newRequest(op, input, output)
3027 return
3028}
3029
3030// GetBucketWebsite API operation for Amazon Simple Storage Service.
3031//
3032// Returns the website configuration for a bucket.
3033//
3034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3035// with awserr.Error's Code and Message methods to get detailed information about
3036// the error.
3037//
3038// See the AWS API reference guide for Amazon Simple Storage Service's
3039// API operation GetBucketWebsite for usage and error information.
15c0b25d 3040// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
bae9f6d2
JC
3041func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
3042 req, out := c.GetBucketWebsiteRequest(input)
3043 return out, req.Send()
3044}
3045
3046// GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
3047// the ability to pass a context and additional request options.
3048//
3049// See GetBucketWebsite for details on how to use this API operation.
3050//
3051// The context must be non-nil and will be used for request cancellation. If
3052// the context is nil a panic will occur. In the future the SDK may create
3053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3054// for more information on using Contexts.
3055func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) {
3056 req, out := c.GetBucketWebsiteRequest(input)
3057 req.SetContext(ctx)
3058 req.ApplyOptions(opts...)
3059 return out, req.Send()
3060}
3061
3062const opGetObject = "GetObject"
3063
3064// GetObjectRequest generates a "aws/request.Request" representing the
3065// client's request for the GetObject operation. The "output" return
15c0b25d 3066// value will be populated with the request's response once the request completes
107c1cdb 3067// successfully.
bae9f6d2 3068//
15c0b25d
AP
3069// Use "Send" method on the returned Request to send the API call to the service.
3070// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3071//
15c0b25d
AP
3072// See GetObject for more information on using the GetObject
3073// API call, and error handling.
3074//
3075// This method is useful when you want to inject custom logic or configuration
3076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3077//
bae9f6d2
JC
3078//
3079// // Example sending a request using the GetObjectRequest method.
3080// req, resp := client.GetObjectRequest(params)
3081//
3082// err := req.Send()
3083// if err == nil { // resp is now filled
3084// fmt.Println(resp)
3085// }
3086//
15c0b25d 3087// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
bae9f6d2
JC
3088func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) {
3089 op := &request.Operation{
3090 Name: opGetObject,
3091 HTTPMethod: "GET",
3092 HTTPPath: "/{Bucket}/{Key+}",
3093 }
3094
3095 if input == nil {
3096 input = &GetObjectInput{}
3097 }
3098
3099 output = &GetObjectOutput{}
3100 req = c.newRequest(op, input, output)
3101 return
3102}
3103
3104// GetObject API operation for Amazon Simple Storage Service.
3105//
3106// Retrieves objects from Amazon S3.
3107//
3108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3109// with awserr.Error's Code and Message methods to get detailed information about
3110// the error.
3111//
3112// See the AWS API reference guide for Amazon Simple Storage Service's
3113// API operation GetObject for usage and error information.
3114//
3115// Returned Error Codes:
3116// * ErrCodeNoSuchKey "NoSuchKey"
3117// The specified key does not exist.
3118//
15c0b25d 3119// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
bae9f6d2
JC
3120func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
3121 req, out := c.GetObjectRequest(input)
3122 return out, req.Send()
3123}
3124
3125// GetObjectWithContext is the same as GetObject with the addition of
3126// the ability to pass a context and additional request options.
3127//
3128// See GetObject for details on how to use this API operation.
3129//
3130// The context must be non-nil and will be used for request cancellation. If
3131// the context is nil a panic will occur. In the future the SDK may create
3132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3133// for more information on using Contexts.
3134func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) {
3135 req, out := c.GetObjectRequest(input)
3136 req.SetContext(ctx)
3137 req.ApplyOptions(opts...)
3138 return out, req.Send()
3139}
3140
3141const opGetObjectAcl = "GetObjectAcl"
3142
3143// GetObjectAclRequest generates a "aws/request.Request" representing the
3144// client's request for the GetObjectAcl operation. The "output" return
15c0b25d 3145// value will be populated with the request's response once the request completes
107c1cdb 3146// successfully.
15c0b25d
AP
3147//
3148// Use "Send" method on the returned Request to send the API call to the service.
3149// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3150//
15c0b25d
AP
3151// See GetObjectAcl for more information on using the GetObjectAcl
3152// API call, and error handling.
bae9f6d2 3153//
15c0b25d
AP
3154// This method is useful when you want to inject custom logic or configuration
3155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3156//
bae9f6d2
JC
3157//
3158// // Example sending a request using the GetObjectAclRequest method.
3159// req, resp := client.GetObjectAclRequest(params)
3160//
3161// err := req.Send()
3162// if err == nil { // resp is now filled
3163// fmt.Println(resp)
3164// }
3165//
15c0b25d 3166// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
bae9f6d2
JC
3167func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) {
3168 op := &request.Operation{
3169 Name: opGetObjectAcl,
3170 HTTPMethod: "GET",
3171 HTTPPath: "/{Bucket}/{Key+}?acl",
3172 }
3173
3174 if input == nil {
3175 input = &GetObjectAclInput{}
3176 }
3177
3178 output = &GetObjectAclOutput{}
3179 req = c.newRequest(op, input, output)
3180 return
3181}
3182
3183// GetObjectAcl API operation for Amazon Simple Storage Service.
3184//
3185// Returns the access control list (ACL) of an object.
3186//
3187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3188// with awserr.Error's Code and Message methods to get detailed information about
3189// the error.
3190//
3191// See the AWS API reference guide for Amazon Simple Storage Service's
3192// API operation GetObjectAcl for usage and error information.
3193//
3194// Returned Error Codes:
3195// * ErrCodeNoSuchKey "NoSuchKey"
3196// The specified key does not exist.
3197//
15c0b25d 3198// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
bae9f6d2
JC
3199func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
3200 req, out := c.GetObjectAclRequest(input)
3201 return out, req.Send()
3202}
3203
3204// GetObjectAclWithContext is the same as GetObjectAcl with the addition of
3205// the ability to pass a context and additional request options.
3206//
3207// See GetObjectAcl for details on how to use this API operation.
3208//
3209// The context must be non-nil and will be used for request cancellation. If
3210// the context is nil a panic will occur. In the future the SDK may create
3211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3212// for more information on using Contexts.
3213func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) {
3214 req, out := c.GetObjectAclRequest(input)
3215 req.SetContext(ctx)
3216 req.ApplyOptions(opts...)
3217 return out, req.Send()
3218}
3219
107c1cdb 3220const opGetObjectLegalHold = "GetObjectLegalHold"
bae9f6d2 3221
107c1cdb
ND
3222// GetObjectLegalHoldRequest generates a "aws/request.Request" representing the
3223// client's request for the GetObjectLegalHold operation. The "output" return
15c0b25d 3224// value will be populated with the request's response once the request completes
107c1cdb 3225// successfully.
bae9f6d2 3226//
15c0b25d
AP
3227// Use "Send" method on the returned Request to send the API call to the service.
3228// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3229//
107c1cdb 3230// See GetObjectLegalHold for more information on using the GetObjectLegalHold
15c0b25d
AP
3231// API call, and error handling.
3232//
3233// This method is useful when you want to inject custom logic or configuration
3234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3235//
bae9f6d2 3236//
107c1cdb
ND
3237// // Example sending a request using the GetObjectLegalHoldRequest method.
3238// req, resp := client.GetObjectLegalHoldRequest(params)
bae9f6d2
JC
3239//
3240// err := req.Send()
3241// if err == nil { // resp is now filled
3242// fmt.Println(resp)
3243// }
3244//
107c1cdb
ND
3245// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3246func (c *S3) GetObjectLegalHoldRequest(input *GetObjectLegalHoldInput) (req *request.Request, output *GetObjectLegalHoldOutput) {
bae9f6d2 3247 op := &request.Operation{
107c1cdb 3248 Name: opGetObjectLegalHold,
bae9f6d2 3249 HTTPMethod: "GET",
107c1cdb 3250 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
bae9f6d2
JC
3251 }
3252
3253 if input == nil {
107c1cdb 3254 input = &GetObjectLegalHoldInput{}
bae9f6d2
JC
3255 }
3256
107c1cdb 3257 output = &GetObjectLegalHoldOutput{}
bae9f6d2
JC
3258 req = c.newRequest(op, input, output)
3259 return
3260}
3261
107c1cdb 3262// GetObjectLegalHold API operation for Amazon Simple Storage Service.
bae9f6d2 3263//
107c1cdb 3264// Gets an object's current Legal Hold status.
bae9f6d2
JC
3265//
3266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3267// with awserr.Error's Code and Message methods to get detailed information about
3268// the error.
3269//
3270// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3271// API operation GetObjectLegalHold for usage and error information.
3272// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3273func (c *S3) GetObjectLegalHold(input *GetObjectLegalHoldInput) (*GetObjectLegalHoldOutput, error) {
3274 req, out := c.GetObjectLegalHoldRequest(input)
bae9f6d2
JC
3275 return out, req.Send()
3276}
3277
107c1cdb 3278// GetObjectLegalHoldWithContext is the same as GetObjectLegalHold with the addition of
bae9f6d2
JC
3279// the ability to pass a context and additional request options.
3280//
107c1cdb 3281// See GetObjectLegalHold for details on how to use this API operation.
bae9f6d2
JC
3282//
3283// The context must be non-nil and will be used for request cancellation. If
3284// the context is nil a panic will occur. In the future the SDK may create
3285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3286// for more information on using Contexts.
107c1cdb
ND
3287func (c *S3) GetObjectLegalHoldWithContext(ctx aws.Context, input *GetObjectLegalHoldInput, opts ...request.Option) (*GetObjectLegalHoldOutput, error) {
3288 req, out := c.GetObjectLegalHoldRequest(input)
bae9f6d2
JC
3289 req.SetContext(ctx)
3290 req.ApplyOptions(opts...)
3291 return out, req.Send()
3292}
3293
107c1cdb 3294const opGetObjectLockConfiguration = "GetObjectLockConfiguration"
bae9f6d2 3295
107c1cdb
ND
3296// GetObjectLockConfigurationRequest generates a "aws/request.Request" representing the
3297// client's request for the GetObjectLockConfiguration operation. The "output" return
15c0b25d 3298// value will be populated with the request's response once the request completes
107c1cdb 3299// successfully.
15c0b25d
AP
3300//
3301// Use "Send" method on the returned Request to send the API call to the service.
3302// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3303//
107c1cdb 3304// See GetObjectLockConfiguration for more information on using the GetObjectLockConfiguration
15c0b25d 3305// API call, and error handling.
bae9f6d2 3306//
15c0b25d
AP
3307// This method is useful when you want to inject custom logic or configuration
3308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3309//
bae9f6d2 3310//
107c1cdb
ND
3311// // Example sending a request using the GetObjectLockConfigurationRequest method.
3312// req, resp := client.GetObjectLockConfigurationRequest(params)
bae9f6d2
JC
3313//
3314// err := req.Send()
3315// if err == nil { // resp is now filled
3316// fmt.Println(resp)
3317// }
3318//
107c1cdb
ND
3319// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3320func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfigurationInput) (req *request.Request, output *GetObjectLockConfigurationOutput) {
bae9f6d2 3321 op := &request.Operation{
107c1cdb 3322 Name: opGetObjectLockConfiguration,
bae9f6d2 3323 HTTPMethod: "GET",
107c1cdb 3324 HTTPPath: "/{Bucket}?object-lock",
bae9f6d2
JC
3325 }
3326
3327 if input == nil {
107c1cdb 3328 input = &GetObjectLockConfigurationInput{}
bae9f6d2
JC
3329 }
3330
107c1cdb 3331 output = &GetObjectLockConfigurationOutput{}
bae9f6d2
JC
3332 req = c.newRequest(op, input, output)
3333 return
3334}
3335
107c1cdb 3336// GetObjectLockConfiguration API operation for Amazon Simple Storage Service.
bae9f6d2 3337//
107c1cdb
ND
3338// Gets the Object Lock configuration for a bucket. The rule specified in the
3339// Object Lock configuration will be applied by default to every new object
3340// placed in the specified bucket.
bae9f6d2
JC
3341//
3342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3343// with awserr.Error's Code and Message methods to get detailed information about
3344// the error.
3345//
3346// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3347// API operation GetObjectLockConfiguration for usage and error information.
3348// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3349func (c *S3) GetObjectLockConfiguration(input *GetObjectLockConfigurationInput) (*GetObjectLockConfigurationOutput, error) {
3350 req, out := c.GetObjectLockConfigurationRequest(input)
bae9f6d2
JC
3351 return out, req.Send()
3352}
3353
107c1cdb 3354// GetObjectLockConfigurationWithContext is the same as GetObjectLockConfiguration with the addition of
bae9f6d2
JC
3355// the ability to pass a context and additional request options.
3356//
107c1cdb 3357// See GetObjectLockConfiguration for details on how to use this API operation.
bae9f6d2
JC
3358//
3359// The context must be non-nil and will be used for request cancellation. If
3360// the context is nil a panic will occur. In the future the SDK may create
3361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3362// for more information on using Contexts.
107c1cdb
ND
3363func (c *S3) GetObjectLockConfigurationWithContext(ctx aws.Context, input *GetObjectLockConfigurationInput, opts ...request.Option) (*GetObjectLockConfigurationOutput, error) {
3364 req, out := c.GetObjectLockConfigurationRequest(input)
bae9f6d2
JC
3365 req.SetContext(ctx)
3366 req.ApplyOptions(opts...)
3367 return out, req.Send()
3368}
3369
107c1cdb 3370const opGetObjectRetention = "GetObjectRetention"
bae9f6d2 3371
107c1cdb
ND
3372// GetObjectRetentionRequest generates a "aws/request.Request" representing the
3373// client's request for the GetObjectRetention operation. The "output" return
15c0b25d 3374// value will be populated with the request's response once the request completes
107c1cdb 3375// successfully.
bae9f6d2 3376//
15c0b25d
AP
3377// Use "Send" method on the returned Request to send the API call to the service.
3378// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3379//
107c1cdb 3380// See GetObjectRetention for more information on using the GetObjectRetention
15c0b25d
AP
3381// API call, and error handling.
3382//
3383// This method is useful when you want to inject custom logic or configuration
3384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3385//
bae9f6d2 3386//
107c1cdb
ND
3387// // Example sending a request using the GetObjectRetentionRequest method.
3388// req, resp := client.GetObjectRetentionRequest(params)
bae9f6d2
JC
3389//
3390// err := req.Send()
3391// if err == nil { // resp is now filled
3392// fmt.Println(resp)
3393// }
3394//
107c1cdb
ND
3395// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3396func (c *S3) GetObjectRetentionRequest(input *GetObjectRetentionInput) (req *request.Request, output *GetObjectRetentionOutput) {
bae9f6d2 3397 op := &request.Operation{
107c1cdb
ND
3398 Name: opGetObjectRetention,
3399 HTTPMethod: "GET",
3400 HTTPPath: "/{Bucket}/{Key+}?retention",
bae9f6d2
JC
3401 }
3402
3403 if input == nil {
107c1cdb 3404 input = &GetObjectRetentionInput{}
bae9f6d2
JC
3405 }
3406
107c1cdb 3407 output = &GetObjectRetentionOutput{}
bae9f6d2 3408 req = c.newRequest(op, input, output)
bae9f6d2
JC
3409 return
3410}
3411
107c1cdb 3412// GetObjectRetention API operation for Amazon Simple Storage Service.
bae9f6d2 3413//
107c1cdb 3414// Retrieves an object's retention settings.
bae9f6d2
JC
3415//
3416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3417// with awserr.Error's Code and Message methods to get detailed information about
3418// the error.
3419//
3420// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3421// API operation GetObjectRetention for usage and error information.
3422// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3423func (c *S3) GetObjectRetention(input *GetObjectRetentionInput) (*GetObjectRetentionOutput, error) {
3424 req, out := c.GetObjectRetentionRequest(input)
bae9f6d2
JC
3425 return out, req.Send()
3426}
3427
107c1cdb 3428// GetObjectRetentionWithContext is the same as GetObjectRetention with the addition of
bae9f6d2
JC
3429// the ability to pass a context and additional request options.
3430//
107c1cdb 3431// See GetObjectRetention for details on how to use this API operation.
bae9f6d2
JC
3432//
3433// The context must be non-nil and will be used for request cancellation. If
3434// the context is nil a panic will occur. In the future the SDK may create
3435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3436// for more information on using Contexts.
107c1cdb
ND
3437func (c *S3) GetObjectRetentionWithContext(ctx aws.Context, input *GetObjectRetentionInput, opts ...request.Option) (*GetObjectRetentionOutput, error) {
3438 req, out := c.GetObjectRetentionRequest(input)
bae9f6d2
JC
3439 req.SetContext(ctx)
3440 req.ApplyOptions(opts...)
3441 return out, req.Send()
3442}
3443
107c1cdb 3444const opGetObjectTagging = "GetObjectTagging"
bae9f6d2 3445
107c1cdb
ND
3446// GetObjectTaggingRequest generates a "aws/request.Request" representing the
3447// client's request for the GetObjectTagging operation. The "output" return
15c0b25d 3448// value will be populated with the request's response once the request completes
107c1cdb 3449// successfully.
15c0b25d
AP
3450//
3451// Use "Send" method on the returned Request to send the API call to the service.
3452// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3453//
107c1cdb 3454// See GetObjectTagging for more information on using the GetObjectTagging
15c0b25d 3455// API call, and error handling.
bae9f6d2 3456//
15c0b25d
AP
3457// This method is useful when you want to inject custom logic or configuration
3458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3459//
bae9f6d2 3460//
107c1cdb
ND
3461// // Example sending a request using the GetObjectTaggingRequest method.
3462// req, resp := client.GetObjectTaggingRequest(params)
bae9f6d2
JC
3463//
3464// err := req.Send()
3465// if err == nil { // resp is now filled
3466// fmt.Println(resp)
3467// }
3468//
107c1cdb
ND
3469// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3470func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) {
bae9f6d2 3471 op := &request.Operation{
107c1cdb
ND
3472 Name: opGetObjectTagging,
3473 HTTPMethod: "GET",
3474 HTTPPath: "/{Bucket}/{Key+}?tagging",
bae9f6d2
JC
3475 }
3476
3477 if input == nil {
107c1cdb 3478 input = &GetObjectTaggingInput{}
bae9f6d2
JC
3479 }
3480
107c1cdb 3481 output = &GetObjectTaggingOutput{}
bae9f6d2
JC
3482 req = c.newRequest(op, input, output)
3483 return
3484}
3485
107c1cdb 3486// GetObjectTagging API operation for Amazon Simple Storage Service.
bae9f6d2 3487//
107c1cdb 3488// Returns the tag-set of an object.
bae9f6d2
JC
3489//
3490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3491// with awserr.Error's Code and Message methods to get detailed information about
3492// the error.
3493//
3494// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3495// API operation GetObjectTagging for usage and error information.
3496// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3497func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
3498 req, out := c.GetObjectTaggingRequest(input)
bae9f6d2
JC
3499 return out, req.Send()
3500}
3501
107c1cdb 3502// GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
bae9f6d2
JC
3503// the ability to pass a context and additional request options.
3504//
107c1cdb 3505// See GetObjectTagging for details on how to use this API operation.
bae9f6d2
JC
3506//
3507// The context must be non-nil and will be used for request cancellation. If
3508// the context is nil a panic will occur. In the future the SDK may create
3509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3510// for more information on using Contexts.
107c1cdb
ND
3511func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) {
3512 req, out := c.GetObjectTaggingRequest(input)
bae9f6d2
JC
3513 req.SetContext(ctx)
3514 req.ApplyOptions(opts...)
3515 return out, req.Send()
3516}
3517
107c1cdb 3518const opGetObjectTorrent = "GetObjectTorrent"
bae9f6d2 3519
107c1cdb
ND
3520// GetObjectTorrentRequest generates a "aws/request.Request" representing the
3521// client's request for the GetObjectTorrent operation. The "output" return
15c0b25d 3522// value will be populated with the request's response once the request completes
107c1cdb 3523// successfully.
bae9f6d2 3524//
15c0b25d
AP
3525// Use "Send" method on the returned Request to send the API call to the service.
3526// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3527//
107c1cdb 3528// See GetObjectTorrent for more information on using the GetObjectTorrent
15c0b25d
AP
3529// API call, and error handling.
3530//
3531// This method is useful when you want to inject custom logic or configuration
3532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3533//
bae9f6d2 3534//
107c1cdb
ND
3535// // Example sending a request using the GetObjectTorrentRequest method.
3536// req, resp := client.GetObjectTorrentRequest(params)
bae9f6d2
JC
3537//
3538// err := req.Send()
3539// if err == nil { // resp is now filled
3540// fmt.Println(resp)
3541// }
3542//
107c1cdb
ND
3543// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3544func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) {
bae9f6d2 3545 op := &request.Operation{
107c1cdb 3546 Name: opGetObjectTorrent,
bae9f6d2 3547 HTTPMethod: "GET",
107c1cdb 3548 HTTPPath: "/{Bucket}/{Key+}?torrent",
bae9f6d2
JC
3549 }
3550
3551 if input == nil {
107c1cdb 3552 input = &GetObjectTorrentInput{}
bae9f6d2
JC
3553 }
3554
107c1cdb 3555 output = &GetObjectTorrentOutput{}
bae9f6d2
JC
3556 req = c.newRequest(op, input, output)
3557 return
3558}
3559
107c1cdb 3560// GetObjectTorrent API operation for Amazon Simple Storage Service.
bae9f6d2 3561//
107c1cdb 3562// Return torrent files from a bucket.
bae9f6d2
JC
3563//
3564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3565// with awserr.Error's Code and Message methods to get detailed information about
3566// the error.
3567//
3568// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3569// API operation GetObjectTorrent for usage and error information.
3570// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3571func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
3572 req, out := c.GetObjectTorrentRequest(input)
bae9f6d2
JC
3573 return out, req.Send()
3574}
3575
107c1cdb 3576// GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
bae9f6d2
JC
3577// the ability to pass a context and additional request options.
3578//
107c1cdb 3579// See GetObjectTorrent for details on how to use this API operation.
bae9f6d2
JC
3580//
3581// The context must be non-nil and will be used for request cancellation. If
3582// the context is nil a panic will occur. In the future the SDK may create
3583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3584// for more information on using Contexts.
107c1cdb
ND
3585func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) {
3586 req, out := c.GetObjectTorrentRequest(input)
bae9f6d2
JC
3587 req.SetContext(ctx)
3588 req.ApplyOptions(opts...)
3589 return out, req.Send()
3590}
3591
107c1cdb 3592const opGetPublicAccessBlock = "GetPublicAccessBlock"
bae9f6d2 3593
107c1cdb
ND
3594// GetPublicAccessBlockRequest generates a "aws/request.Request" representing the
3595// client's request for the GetPublicAccessBlock operation. The "output" return
15c0b25d 3596// value will be populated with the request's response once the request completes
107c1cdb 3597// successfully.
15c0b25d
AP
3598//
3599// Use "Send" method on the returned Request to send the API call to the service.
3600// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3601//
107c1cdb 3602// See GetPublicAccessBlock for more information on using the GetPublicAccessBlock
15c0b25d 3603// API call, and error handling.
bae9f6d2 3604//
15c0b25d
AP
3605// This method is useful when you want to inject custom logic or configuration
3606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3607//
bae9f6d2 3608//
107c1cdb
ND
3609// // Example sending a request using the GetPublicAccessBlockRequest method.
3610// req, resp := client.GetPublicAccessBlockRequest(params)
bae9f6d2
JC
3611//
3612// err := req.Send()
3613// if err == nil { // resp is now filled
3614// fmt.Println(resp)
3615// }
3616//
107c1cdb
ND
3617// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3618func (c *S3) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) {
bae9f6d2 3619 op := &request.Operation{
107c1cdb 3620 Name: opGetPublicAccessBlock,
bae9f6d2 3621 HTTPMethod: "GET",
107c1cdb 3622 HTTPPath: "/{Bucket}?publicAccessBlock",
bae9f6d2
JC
3623 }
3624
3625 if input == nil {
107c1cdb 3626 input = &GetPublicAccessBlockInput{}
bae9f6d2
JC
3627 }
3628
107c1cdb 3629 output = &GetPublicAccessBlockOutput{}
bae9f6d2
JC
3630 req = c.newRequest(op, input, output)
3631 return
3632}
3633
107c1cdb 3634// GetPublicAccessBlock API operation for Amazon Simple Storage Service.
bae9f6d2 3635//
107c1cdb 3636// Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
bae9f6d2
JC
3637//
3638// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3639// with awserr.Error's Code and Message methods to get detailed information about
3640// the error.
3641//
3642// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3643// API operation GetPublicAccessBlock for usage and error information.
3644// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3645func (c *S3) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) {
3646 req, out := c.GetPublicAccessBlockRequest(input)
bae9f6d2
JC
3647 return out, req.Send()
3648}
3649
107c1cdb 3650// GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of
bae9f6d2
JC
3651// the ability to pass a context and additional request options.
3652//
107c1cdb 3653// See GetPublicAccessBlock for details on how to use this API operation.
bae9f6d2
JC
3654//
3655// The context must be non-nil and will be used for request cancellation. If
3656// the context is nil a panic will occur. In the future the SDK may create
3657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3658// for more information on using Contexts.
107c1cdb
ND
3659func (c *S3) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) {
3660 req, out := c.GetPublicAccessBlockRequest(input)
bae9f6d2
JC
3661 req.SetContext(ctx)
3662 req.ApplyOptions(opts...)
3663 return out, req.Send()
3664}
3665
107c1cdb 3666const opHeadBucket = "HeadBucket"
bae9f6d2 3667
107c1cdb
ND
3668// HeadBucketRequest generates a "aws/request.Request" representing the
3669// client's request for the HeadBucket operation. The "output" return
15c0b25d 3670// value will be populated with the request's response once the request completes
107c1cdb 3671// successfully.
bae9f6d2 3672//
15c0b25d
AP
3673// Use "Send" method on the returned Request to send the API call to the service.
3674// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3675//
107c1cdb 3676// See HeadBucket for more information on using the HeadBucket
15c0b25d
AP
3677// API call, and error handling.
3678//
3679// This method is useful when you want to inject custom logic or configuration
3680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3681//
bae9f6d2 3682//
107c1cdb
ND
3683// // Example sending a request using the HeadBucketRequest method.
3684// req, resp := client.HeadBucketRequest(params)
bae9f6d2
JC
3685//
3686// err := req.Send()
3687// if err == nil { // resp is now filled
3688// fmt.Println(resp)
3689// }
3690//
107c1cdb
ND
3691// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3692func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) {
bae9f6d2 3693 op := &request.Operation{
107c1cdb
ND
3694 Name: opHeadBucket,
3695 HTTPMethod: "HEAD",
3696 HTTPPath: "/{Bucket}",
bae9f6d2
JC
3697 }
3698
3699 if input == nil {
107c1cdb 3700 input = &HeadBucketInput{}
bae9f6d2
JC
3701 }
3702
107c1cdb 3703 output = &HeadBucketOutput{}
bae9f6d2 3704 req = c.newRequest(op, input, output)
107c1cdb 3705 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
3706 return
3707}
3708
107c1cdb 3709// HeadBucket API operation for Amazon Simple Storage Service.
bae9f6d2 3710//
107c1cdb
ND
3711// This operation is useful to determine if a bucket exists and you have permission
3712// to access it.
bae9f6d2
JC
3713//
3714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3715// with awserr.Error's Code and Message methods to get detailed information about
3716// the error.
3717//
3718// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3719// API operation HeadBucket for usage and error information.
3720//
3721// Returned Error Codes:
3722// * ErrCodeNoSuchBucket "NoSuchBucket"
3723// The specified bucket does not exist.
3724//
3725// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3726func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
3727 req, out := c.HeadBucketRequest(input)
bae9f6d2
JC
3728 return out, req.Send()
3729}
3730
107c1cdb 3731// HeadBucketWithContext is the same as HeadBucket with the addition of
bae9f6d2
JC
3732// the ability to pass a context and additional request options.
3733//
107c1cdb 3734// See HeadBucket for details on how to use this API operation.
bae9f6d2
JC
3735//
3736// The context must be non-nil and will be used for request cancellation. If
3737// the context is nil a panic will occur. In the future the SDK may create
3738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3739// for more information on using Contexts.
107c1cdb
ND
3740func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) {
3741 req, out := c.HeadBucketRequest(input)
bae9f6d2
JC
3742 req.SetContext(ctx)
3743 req.ApplyOptions(opts...)
3744 return out, req.Send()
3745}
3746
107c1cdb 3747const opHeadObject = "HeadObject"
bae9f6d2 3748
107c1cdb
ND
3749// HeadObjectRequest generates a "aws/request.Request" representing the
3750// client's request for the HeadObject operation. The "output" return
15c0b25d 3751// value will be populated with the request's response once the request completes
107c1cdb 3752// successfully.
15c0b25d
AP
3753//
3754// Use "Send" method on the returned Request to send the API call to the service.
3755// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3756//
107c1cdb 3757// See HeadObject for more information on using the HeadObject
15c0b25d 3758// API call, and error handling.
bae9f6d2 3759//
15c0b25d
AP
3760// This method is useful when you want to inject custom logic or configuration
3761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3762//
bae9f6d2 3763//
107c1cdb
ND
3764// // Example sending a request using the HeadObjectRequest method.
3765// req, resp := client.HeadObjectRequest(params)
bae9f6d2
JC
3766//
3767// err := req.Send()
3768// if err == nil { // resp is now filled
3769// fmt.Println(resp)
3770// }
3771//
107c1cdb
ND
3772// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3773func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) {
bae9f6d2 3774 op := &request.Operation{
107c1cdb
ND
3775 Name: opHeadObject,
3776 HTTPMethod: "HEAD",
3777 HTTPPath: "/{Bucket}/{Key+}",
bae9f6d2
JC
3778 }
3779
3780 if input == nil {
107c1cdb 3781 input = &HeadObjectInput{}
bae9f6d2
JC
3782 }
3783
107c1cdb 3784 output = &HeadObjectOutput{}
bae9f6d2
JC
3785 req = c.newRequest(op, input, output)
3786 return
3787}
3788
107c1cdb 3789// HeadObject API operation for Amazon Simple Storage Service.
bae9f6d2 3790//
107c1cdb
ND
3791// The HEAD operation retrieves metadata from an object without returning the
3792// object itself. This operation is useful if you're only interested in an object's
3793// metadata. To use HEAD, you must have READ access to the object.
3794//
3795// See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
3796// for more information on returned errors.
bae9f6d2
JC
3797//
3798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3799// with awserr.Error's Code and Message methods to get detailed information about
3800// the error.
3801//
3802// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3803// API operation HeadObject for usage and error information.
3804// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3805func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
3806 req, out := c.HeadObjectRequest(input)
bae9f6d2
JC
3807 return out, req.Send()
3808}
3809
107c1cdb 3810// HeadObjectWithContext is the same as HeadObject with the addition of
bae9f6d2
JC
3811// the ability to pass a context and additional request options.
3812//
107c1cdb 3813// See HeadObject for details on how to use this API operation.
bae9f6d2
JC
3814//
3815// The context must be non-nil and will be used for request cancellation. If
3816// the context is nil a panic will occur. In the future the SDK may create
3817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3818// for more information on using Contexts.
107c1cdb
ND
3819func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) {
3820 req, out := c.HeadObjectRequest(input)
bae9f6d2
JC
3821 req.SetContext(ctx)
3822 req.ApplyOptions(opts...)
3823 return out, req.Send()
3824}
3825
107c1cdb 3826const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
bae9f6d2 3827
107c1cdb
ND
3828// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
3829// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
15c0b25d 3830// value will be populated with the request's response once the request completes
107c1cdb 3831// successfully.
bae9f6d2 3832//
15c0b25d
AP
3833// Use "Send" method on the returned Request to send the API call to the service.
3834// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3835//
107c1cdb 3836// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
15c0b25d
AP
3837// API call, and error handling.
3838//
3839// This method is useful when you want to inject custom logic or configuration
3840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3841//
bae9f6d2 3842//
107c1cdb
ND
3843// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
3844// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
bae9f6d2
JC
3845//
3846// err := req.Send()
3847// if err == nil { // resp is now filled
3848// fmt.Println(resp)
3849// }
3850//
107c1cdb
ND
3851// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3852func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) {
bae9f6d2 3853 op := &request.Operation{
107c1cdb 3854 Name: opListBucketAnalyticsConfigurations,
bae9f6d2 3855 HTTPMethod: "GET",
107c1cdb 3856 HTTPPath: "/{Bucket}?analytics",
bae9f6d2
JC
3857 }
3858
3859 if input == nil {
107c1cdb 3860 input = &ListBucketAnalyticsConfigurationsInput{}
bae9f6d2
JC
3861 }
3862
107c1cdb 3863 output = &ListBucketAnalyticsConfigurationsOutput{}
bae9f6d2
JC
3864 req = c.newRequest(op, input, output)
3865 return
3866}
3867
107c1cdb 3868// ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service.
bae9f6d2 3869//
107c1cdb 3870// Lists the analytics configurations for the bucket.
bae9f6d2
JC
3871//
3872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3873// with awserr.Error's Code and Message methods to get detailed information about
3874// the error.
3875//
3876// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3877// API operation ListBucketAnalyticsConfigurations for usage and error information.
3878// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3879func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
3880 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
bae9f6d2
JC
3881 return out, req.Send()
3882}
3883
107c1cdb 3884// ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
bae9f6d2
JC
3885// the ability to pass a context and additional request options.
3886//
107c1cdb 3887// See ListBucketAnalyticsConfigurations for details on how to use this API operation.
bae9f6d2
JC
3888//
3889// The context must be non-nil and will be used for request cancellation. If
3890// the context is nil a panic will occur. In the future the SDK may create
3891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3892// for more information on using Contexts.
107c1cdb
ND
3893func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) {
3894 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
bae9f6d2
JC
3895 req.SetContext(ctx)
3896 req.ApplyOptions(opts...)
3897 return out, req.Send()
3898}
3899
107c1cdb 3900const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
bae9f6d2 3901
107c1cdb
ND
3902// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
3903// client's request for the ListBucketInventoryConfigurations operation. The "output" return
15c0b25d 3904// value will be populated with the request's response once the request completes
107c1cdb 3905// successfully.
15c0b25d
AP
3906//
3907// Use "Send" method on the returned Request to send the API call to the service.
3908// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3909//
107c1cdb 3910// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
15c0b25d 3911// API call, and error handling.
bae9f6d2 3912//
15c0b25d
AP
3913// This method is useful when you want to inject custom logic or configuration
3914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3915//
bae9f6d2 3916//
107c1cdb
ND
3917// // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
3918// req, resp := client.ListBucketInventoryConfigurationsRequest(params)
bae9f6d2
JC
3919//
3920// err := req.Send()
3921// if err == nil { // resp is now filled
3922// fmt.Println(resp)
3923// }
3924//
107c1cdb
ND
3925// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3926func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) {
bae9f6d2 3927 op := &request.Operation{
107c1cdb 3928 Name: opListBucketInventoryConfigurations,
bae9f6d2 3929 HTTPMethod: "GET",
107c1cdb 3930 HTTPPath: "/{Bucket}?inventory",
bae9f6d2
JC
3931 }
3932
3933 if input == nil {
107c1cdb 3934 input = &ListBucketInventoryConfigurationsInput{}
bae9f6d2
JC
3935 }
3936
107c1cdb 3937 output = &ListBucketInventoryConfigurationsOutput{}
bae9f6d2
JC
3938 req = c.newRequest(op, input, output)
3939 return
3940}
3941
107c1cdb 3942// ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service.
bae9f6d2 3943//
107c1cdb 3944// Returns a list of inventory configurations for the bucket.
bae9f6d2
JC
3945//
3946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3947// with awserr.Error's Code and Message methods to get detailed information about
3948// the error.
3949//
3950// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3951// API operation ListBucketInventoryConfigurations for usage and error information.
3952// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3953func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
3954 req, out := c.ListBucketInventoryConfigurationsRequest(input)
bae9f6d2
JC
3955 return out, req.Send()
3956}
3957
107c1cdb 3958// ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
bae9f6d2
JC
3959// the ability to pass a context and additional request options.
3960//
107c1cdb 3961// See ListBucketInventoryConfigurations for details on how to use this API operation.
bae9f6d2
JC
3962//
3963// The context must be non-nil and will be used for request cancellation. If
3964// the context is nil a panic will occur. In the future the SDK may create
3965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3966// for more information on using Contexts.
107c1cdb
ND
3967func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) {
3968 req, out := c.ListBucketInventoryConfigurationsRequest(input)
bae9f6d2
JC
3969 req.SetContext(ctx)
3970 req.ApplyOptions(opts...)
3971 return out, req.Send()
3972}
3973
107c1cdb 3974const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
bae9f6d2 3975
107c1cdb
ND
3976// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
3977// client's request for the ListBucketMetricsConfigurations operation. The "output" return
15c0b25d 3978// value will be populated with the request's response once the request completes
107c1cdb 3979// successfully.
bae9f6d2 3980//
15c0b25d
AP
3981// Use "Send" method on the returned Request to send the API call to the service.
3982// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3983//
107c1cdb 3984// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
15c0b25d
AP
3985// API call, and error handling.
3986//
3987// This method is useful when you want to inject custom logic or configuration
3988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3989//
bae9f6d2 3990//
107c1cdb
ND
3991// // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
3992// req, resp := client.ListBucketMetricsConfigurationsRequest(params)
bae9f6d2
JC
3993//
3994// err := req.Send()
3995// if err == nil { // resp is now filled
3996// fmt.Println(resp)
3997// }
3998//
107c1cdb
ND
3999// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4000func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) {
bae9f6d2 4001 op := &request.Operation{
107c1cdb 4002 Name: opListBucketMetricsConfigurations,
bae9f6d2 4003 HTTPMethod: "GET",
107c1cdb 4004 HTTPPath: "/{Bucket}?metrics",
bae9f6d2
JC
4005 }
4006
4007 if input == nil {
107c1cdb 4008 input = &ListBucketMetricsConfigurationsInput{}
bae9f6d2
JC
4009 }
4010
107c1cdb 4011 output = &ListBucketMetricsConfigurationsOutput{}
bae9f6d2
JC
4012 req = c.newRequest(op, input, output)
4013 return
4014}
4015
107c1cdb 4016// ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service.
bae9f6d2 4017//
107c1cdb 4018// Lists the metrics configurations for the bucket.
bae9f6d2
JC
4019//
4020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4021// with awserr.Error's Code and Message methods to get detailed information about
4022// the error.
4023//
4024// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4025// API operation ListBucketMetricsConfigurations for usage and error information.
4026// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4027func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
4028 req, out := c.ListBucketMetricsConfigurationsRequest(input)
bae9f6d2
JC
4029 return out, req.Send()
4030}
4031
107c1cdb 4032// ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
bae9f6d2
JC
4033// the ability to pass a context and additional request options.
4034//
107c1cdb 4035// See ListBucketMetricsConfigurations for details on how to use this API operation.
bae9f6d2
JC
4036//
4037// The context must be non-nil and will be used for request cancellation. If
4038// the context is nil a panic will occur. In the future the SDK may create
4039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4040// for more information on using Contexts.
107c1cdb
ND
4041func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) {
4042 req, out := c.ListBucketMetricsConfigurationsRequest(input)
bae9f6d2
JC
4043 req.SetContext(ctx)
4044 req.ApplyOptions(opts...)
4045 return out, req.Send()
4046}
4047
107c1cdb 4048const opListBuckets = "ListBuckets"
bae9f6d2 4049
107c1cdb
ND
4050// ListBucketsRequest generates a "aws/request.Request" representing the
4051// client's request for the ListBuckets operation. The "output" return
15c0b25d 4052// value will be populated with the request's response once the request completes
107c1cdb 4053// successfully.
15c0b25d
AP
4054//
4055// Use "Send" method on the returned Request to send the API call to the service.
4056// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4057//
107c1cdb 4058// See ListBuckets for more information on using the ListBuckets
15c0b25d 4059// API call, and error handling.
bae9f6d2 4060//
15c0b25d
AP
4061// This method is useful when you want to inject custom logic or configuration
4062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4063//
bae9f6d2 4064//
107c1cdb
ND
4065// // Example sending a request using the ListBucketsRequest method.
4066// req, resp := client.ListBucketsRequest(params)
bae9f6d2
JC
4067//
4068// err := req.Send()
4069// if err == nil { // resp is now filled
4070// fmt.Println(resp)
4071// }
4072//
107c1cdb
ND
4073// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4074func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) {
bae9f6d2 4075 op := &request.Operation{
107c1cdb 4076 Name: opListBuckets,
bae9f6d2 4077 HTTPMethod: "GET",
107c1cdb 4078 HTTPPath: "/",
bae9f6d2
JC
4079 }
4080
4081 if input == nil {
107c1cdb 4082 input = &ListBucketsInput{}
bae9f6d2
JC
4083 }
4084
107c1cdb 4085 output = &ListBucketsOutput{}
bae9f6d2
JC
4086 req = c.newRequest(op, input, output)
4087 return
4088}
4089
107c1cdb 4090// ListBuckets API operation for Amazon Simple Storage Service.
bae9f6d2 4091//
107c1cdb 4092// Returns a list of all buckets owned by the authenticated sender of the request.
bae9f6d2
JC
4093//
4094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4095// with awserr.Error's Code and Message methods to get detailed information about
4096// the error.
4097//
4098// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4099// API operation ListBuckets for usage and error information.
4100// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4101func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
4102 req, out := c.ListBucketsRequest(input)
bae9f6d2
JC
4103 return out, req.Send()
4104}
4105
107c1cdb 4106// ListBucketsWithContext is the same as ListBuckets with the addition of
bae9f6d2
JC
4107// the ability to pass a context and additional request options.
4108//
107c1cdb 4109// See ListBuckets for details on how to use this API operation.
bae9f6d2
JC
4110//
4111// The context must be non-nil and will be used for request cancellation. If
4112// the context is nil a panic will occur. In the future the SDK may create
4113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4114// for more information on using Contexts.
107c1cdb
ND
4115func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) {
4116 req, out := c.ListBucketsRequest(input)
bae9f6d2
JC
4117 req.SetContext(ctx)
4118 req.ApplyOptions(opts...)
4119 return out, req.Send()
4120}
4121
107c1cdb
ND
4122const opListMultipartUploads = "ListMultipartUploads"
4123
4124// ListMultipartUploadsRequest generates a "aws/request.Request" representing the
4125// client's request for the ListMultipartUploads operation. The "output" return
4126// value will be populated with the request's response once the request completes
4127// successfully.
4128//
4129// Use "Send" method on the returned Request to send the API call to the service.
4130// the "output" return value is not valid until after Send returns without error.
4131//
4132// See ListMultipartUploads for more information on using the ListMultipartUploads
4133// API call, and error handling.
4134//
4135// This method is useful when you want to inject custom logic or configuration
4136// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4137//
4138//
4139// // Example sending a request using the ListMultipartUploadsRequest method.
4140// req, resp := client.ListMultipartUploadsRequest(params)
4141//
4142// err := req.Send()
4143// if err == nil { // resp is now filled
4144// fmt.Println(resp)
4145// }
4146//
4147// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4148func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
4149 op := &request.Operation{
4150 Name: opListMultipartUploads,
4151 HTTPMethod: "GET",
4152 HTTPPath: "/{Bucket}?uploads",
4153 Paginator: &request.Paginator{
4154 InputTokens: []string{"KeyMarker", "UploadIdMarker"},
4155 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"},
4156 LimitToken: "MaxUploads",
4157 TruncationToken: "IsTruncated",
4158 },
4159 }
4160
4161 if input == nil {
4162 input = &ListMultipartUploadsInput{}
4163 }
4164
4165 output = &ListMultipartUploadsOutput{}
4166 req = c.newRequest(op, input, output)
4167 return
4168}
4169
4170// ListMultipartUploads API operation for Amazon Simple Storage Service.
4171//
4172// This operation lists in-progress multipart uploads.
4173//
4174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4175// with awserr.Error's Code and Message methods to get detailed information about
4176// the error.
4177//
4178// See the AWS API reference guide for Amazon Simple Storage Service's
4179// API operation ListMultipartUploads for usage and error information.
4180// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4181func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
4182 req, out := c.ListMultipartUploadsRequest(input)
4183 return out, req.Send()
4184}
4185
4186// ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
4187// the ability to pass a context and additional request options.
4188//
4189// See ListMultipartUploads for details on how to use this API operation.
4190//
4191// The context must be non-nil and will be used for request cancellation. If
4192// the context is nil a panic will occur. In the future the SDK may create
4193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4194// for more information on using Contexts.
4195func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) {
4196 req, out := c.ListMultipartUploadsRequest(input)
4197 req.SetContext(ctx)
4198 req.ApplyOptions(opts...)
4199 return out, req.Send()
4200}
4201
4202// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation,
bae9f6d2
JC
4203// calling the "fn" function with the response data for each page. To stop
4204// iterating, return false from the fn function.
4205//
107c1cdb 4206// See ListMultipartUploads method for more information on how to use this operation.
bae9f6d2
JC
4207//
4208// Note: This operation can generate multiple requests to a service.
4209//
107c1cdb 4210// // Example iterating over at most 3 pages of a ListMultipartUploads operation.
bae9f6d2 4211// pageNum := 0
107c1cdb
ND
4212// err := client.ListMultipartUploadsPages(params,
4213// func(page *ListMultipartUploadsOutput, lastPage bool) bool {
bae9f6d2
JC
4214// pageNum++
4215// fmt.Println(page)
4216// return pageNum <= 3
4217// })
4218//
107c1cdb
ND
4219func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
4220 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
bae9f6d2
JC
4221}
4222
107c1cdb 4223// ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except
bae9f6d2
JC
4224// it takes a Context and allows setting request options on the pages.
4225//
4226// The context must be non-nil and will be used for request cancellation. If
4227// the context is nil a panic will occur. In the future the SDK may create
4228// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4229// for more information on using Contexts.
107c1cdb 4230func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error {
bae9f6d2
JC
4231 p := request.Pagination{
4232 NewRequest: func() (*request.Request, error) {
107c1cdb 4233 var inCpy *ListMultipartUploadsInput
bae9f6d2
JC
4234 if input != nil {
4235 tmp := *input
4236 inCpy = &tmp
4237 }
107c1cdb 4238 req, _ := c.ListMultipartUploadsRequest(inCpy)
bae9f6d2
JC
4239 req.SetContext(ctx)
4240 req.ApplyOptions(opts...)
4241 return req, nil
4242 },
4243 }
4244
4245 cont := true
4246 for p.Next() && cont {
107c1cdb 4247 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
bae9f6d2
JC
4248 }
4249 return p.Err()
4250}
4251
107c1cdb 4252const opListObjectVersions = "ListObjectVersions"
bae9f6d2 4253
107c1cdb
ND
4254// ListObjectVersionsRequest generates a "aws/request.Request" representing the
4255// client's request for the ListObjectVersions operation. The "output" return
15c0b25d 4256// value will be populated with the request's response once the request completes
107c1cdb 4257// successfully.
bae9f6d2 4258//
15c0b25d
AP
4259// Use "Send" method on the returned Request to send the API call to the service.
4260// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4261//
107c1cdb 4262// See ListObjectVersions for more information on using the ListObjectVersions
15c0b25d
AP
4263// API call, and error handling.
4264//
4265// This method is useful when you want to inject custom logic or configuration
4266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4267//
bae9f6d2 4268//
107c1cdb
ND
4269// // Example sending a request using the ListObjectVersionsRequest method.
4270// req, resp := client.ListObjectVersionsRequest(params)
bae9f6d2
JC
4271//
4272// err := req.Send()
4273// if err == nil { // resp is now filled
4274// fmt.Println(resp)
4275// }
4276//
107c1cdb
ND
4277// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4278func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) {
bae9f6d2 4279 op := &request.Operation{
107c1cdb 4280 Name: opListObjectVersions,
bae9f6d2 4281 HTTPMethod: "GET",
107c1cdb 4282 HTTPPath: "/{Bucket}?versions",
bae9f6d2 4283 Paginator: &request.Paginator{
107c1cdb
ND
4284 InputTokens: []string{"KeyMarker", "VersionIdMarker"},
4285 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"},
4286 LimitToken: "MaxKeys",
bae9f6d2
JC
4287 TruncationToken: "IsTruncated",
4288 },
4289 }
4290
4291 if input == nil {
107c1cdb 4292 input = &ListObjectVersionsInput{}
bae9f6d2
JC
4293 }
4294
107c1cdb 4295 output = &ListObjectVersionsOutput{}
bae9f6d2
JC
4296 req = c.newRequest(op, input, output)
4297 return
4298}
4299
107c1cdb 4300// ListObjectVersions API operation for Amazon Simple Storage Service.
bae9f6d2 4301//
107c1cdb 4302// Returns metadata about all of the versions of objects in a bucket.
bae9f6d2
JC
4303//
4304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4305// with awserr.Error's Code and Message methods to get detailed information about
4306// the error.
4307//
4308// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4309// API operation ListObjectVersions for usage and error information.
4310// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4311func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
4312 req, out := c.ListObjectVersionsRequest(input)
bae9f6d2
JC
4313 return out, req.Send()
4314}
4315
107c1cdb 4316// ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
bae9f6d2
JC
4317// the ability to pass a context and additional request options.
4318//
107c1cdb 4319// See ListObjectVersions for details on how to use this API operation.
bae9f6d2
JC
4320//
4321// The context must be non-nil and will be used for request cancellation. If
4322// the context is nil a panic will occur. In the future the SDK may create
4323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4324// for more information on using Contexts.
107c1cdb
ND
4325func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) {
4326 req, out := c.ListObjectVersionsRequest(input)
bae9f6d2
JC
4327 req.SetContext(ctx)
4328 req.ApplyOptions(opts...)
4329 return out, req.Send()
4330}
4331
107c1cdb 4332// ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation,
bae9f6d2
JC
4333// calling the "fn" function with the response data for each page. To stop
4334// iterating, return false from the fn function.
4335//
107c1cdb 4336// See ListObjectVersions method for more information on how to use this operation.
bae9f6d2
JC
4337//
4338// Note: This operation can generate multiple requests to a service.
4339//
107c1cdb 4340// // Example iterating over at most 3 pages of a ListObjectVersions operation.
bae9f6d2 4341// pageNum := 0
107c1cdb
ND
4342// err := client.ListObjectVersionsPages(params,
4343// func(page *ListObjectVersionsOutput, lastPage bool) bool {
bae9f6d2
JC
4344// pageNum++
4345// fmt.Println(page)
4346// return pageNum <= 3
4347// })
4348//
107c1cdb
ND
4349func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
4350 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
bae9f6d2
JC
4351}
4352
107c1cdb 4353// ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except
bae9f6d2
JC
4354// it takes a Context and allows setting request options on the pages.
4355//
4356// The context must be non-nil and will be used for request cancellation. If
4357// the context is nil a panic will occur. In the future the SDK may create
4358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4359// for more information on using Contexts.
107c1cdb 4360func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error {
bae9f6d2
JC
4361 p := request.Pagination{
4362 NewRequest: func() (*request.Request, error) {
107c1cdb 4363 var inCpy *ListObjectVersionsInput
bae9f6d2
JC
4364 if input != nil {
4365 tmp := *input
4366 inCpy = &tmp
4367 }
107c1cdb 4368 req, _ := c.ListObjectVersionsRequest(inCpy)
bae9f6d2
JC
4369 req.SetContext(ctx)
4370 req.ApplyOptions(opts...)
4371 return req, nil
4372 },
4373 }
4374
4375 cont := true
4376 for p.Next() && cont {
107c1cdb 4377 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
bae9f6d2
JC
4378 }
4379 return p.Err()
4380}
4381
107c1cdb 4382const opListObjects = "ListObjects"
bae9f6d2 4383
107c1cdb
ND
4384// ListObjectsRequest generates a "aws/request.Request" representing the
4385// client's request for the ListObjects operation. The "output" return
15c0b25d 4386// value will be populated with the request's response once the request completes
107c1cdb 4387// successfully.
15c0b25d
AP
4388//
4389// Use "Send" method on the returned Request to send the API call to the service.
4390// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4391//
107c1cdb 4392// See ListObjects for more information on using the ListObjects
15c0b25d 4393// API call, and error handling.
bae9f6d2 4394//
15c0b25d
AP
4395// This method is useful when you want to inject custom logic or configuration
4396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4397//
bae9f6d2 4398//
107c1cdb
ND
4399// // Example sending a request using the ListObjectsRequest method.
4400// req, resp := client.ListObjectsRequest(params)
bae9f6d2
JC
4401//
4402// err := req.Send()
4403// if err == nil { // resp is now filled
4404// fmt.Println(resp)
4405// }
4406//
107c1cdb
ND
4407// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4408func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) {
bae9f6d2 4409 op := &request.Operation{
107c1cdb
ND
4410 Name: opListObjects,
4411 HTTPMethod: "GET",
4412 HTTPPath: "/{Bucket}",
4413 Paginator: &request.Paginator{
4414 InputTokens: []string{"Marker"},
4415 OutputTokens: []string{"NextMarker || Contents[-1].Key"},
4416 LimitToken: "MaxKeys",
4417 TruncationToken: "IsTruncated",
4418 },
bae9f6d2
JC
4419 }
4420
4421 if input == nil {
107c1cdb 4422 input = &ListObjectsInput{}
bae9f6d2
JC
4423 }
4424
107c1cdb 4425 output = &ListObjectsOutput{}
bae9f6d2 4426 req = c.newRequest(op, input, output)
bae9f6d2
JC
4427 return
4428}
4429
107c1cdb 4430// ListObjects API operation for Amazon Simple Storage Service.
bae9f6d2 4431//
107c1cdb
ND
4432// Returns some or all (up to 1000) of the objects in a bucket. You can use
4433// the request parameters as selection criteria to return a subset of the objects
4434// in a bucket.
bae9f6d2
JC
4435//
4436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4437// with awserr.Error's Code and Message methods to get detailed information about
4438// the error.
4439//
4440// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4441// API operation ListObjects for usage and error information.
4442//
4443// Returned Error Codes:
4444// * ErrCodeNoSuchBucket "NoSuchBucket"
4445// The specified bucket does not exist.
4446//
4447// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4448func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
4449 req, out := c.ListObjectsRequest(input)
bae9f6d2
JC
4450 return out, req.Send()
4451}
4452
107c1cdb 4453// ListObjectsWithContext is the same as ListObjects with the addition of
bae9f6d2
JC
4454// the ability to pass a context and additional request options.
4455//
107c1cdb 4456// See ListObjects for details on how to use this API operation.
bae9f6d2
JC
4457//
4458// The context must be non-nil and will be used for request cancellation. If
4459// the context is nil a panic will occur. In the future the SDK may create
4460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4461// for more information on using Contexts.
107c1cdb
ND
4462func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) {
4463 req, out := c.ListObjectsRequest(input)
bae9f6d2
JC
4464 req.SetContext(ctx)
4465 req.ApplyOptions(opts...)
4466 return out, req.Send()
4467}
4468
107c1cdb
ND
4469// ListObjectsPages iterates over the pages of a ListObjects operation,
4470// calling the "fn" function with the response data for each page. To stop
4471// iterating, return false from the fn function.
15c0b25d 4472//
107c1cdb 4473// See ListObjects method for more information on how to use this operation.
bae9f6d2 4474//
107c1cdb 4475// Note: This operation can generate multiple requests to a service.
bae9f6d2 4476//
107c1cdb
ND
4477// // Example iterating over at most 3 pages of a ListObjects operation.
4478// pageNum := 0
4479// err := client.ListObjectsPages(params,
4480// func(page *ListObjectsOutput, lastPage bool) bool {
4481// pageNum++
4482// fmt.Println(page)
4483// return pageNum <= 3
4484// })
4485//
4486func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
4487 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4488}
4489
4490// ListObjectsPagesWithContext same as ListObjectsPages except
4491// it takes a Context and allows setting request options on the pages.
4492//
4493// The context must be non-nil and will be used for request cancellation. If
4494// the context is nil a panic will occur. In the future the SDK may create
4495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4496// for more information on using Contexts.
4497func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error {
4498 p := request.Pagination{
4499 NewRequest: func() (*request.Request, error) {
4500 var inCpy *ListObjectsInput
4501 if input != nil {
4502 tmp := *input
4503 inCpy = &tmp
4504 }
4505 req, _ := c.ListObjectsRequest(inCpy)
4506 req.SetContext(ctx)
4507 req.ApplyOptions(opts...)
4508 return req, nil
4509 },
4510 }
4511
4512 cont := true
4513 for p.Next() && cont {
4514 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
4515 }
4516 return p.Err()
4517}
4518
4519const opListObjectsV2 = "ListObjectsV2"
4520
4521// ListObjectsV2Request generates a "aws/request.Request" representing the
4522// client's request for the ListObjectsV2 operation. The "output" return
4523// value will be populated with the request's response once the request completes
4524// successfully.
4525//
4526// Use "Send" method on the returned Request to send the API call to the service.
4527// the "output" return value is not valid until after Send returns without error.
4528//
4529// See ListObjectsV2 for more information on using the ListObjectsV2
4530// API call, and error handling.
4531//
4532// This method is useful when you want to inject custom logic or configuration
4533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4534//
4535//
4536// // Example sending a request using the ListObjectsV2Request method.
4537// req, resp := client.ListObjectsV2Request(params)
4538//
4539// err := req.Send()
4540// if err == nil { // resp is now filled
4541// fmt.Println(resp)
4542// }
4543//
4544// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4545func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) {
4546 op := &request.Operation{
4547 Name: opListObjectsV2,
4548 HTTPMethod: "GET",
4549 HTTPPath: "/{Bucket}?list-type=2",
4550 Paginator: &request.Paginator{
4551 InputTokens: []string{"ContinuationToken"},
4552 OutputTokens: []string{"NextContinuationToken"},
4553 LimitToken: "MaxKeys",
4554 TruncationToken: "",
4555 },
4556 }
4557
4558 if input == nil {
4559 input = &ListObjectsV2Input{}
4560 }
4561
4562 output = &ListObjectsV2Output{}
4563 req = c.newRequest(op, input, output)
4564 return
4565}
4566
4567// ListObjectsV2 API operation for Amazon Simple Storage Service.
4568//
4569// Returns some or all (up to 1000) of the objects in a bucket. You can use
4570// the request parameters as selection criteria to return a subset of the objects
4571// in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend
4572// you use this revised API for new application development.
4573//
4574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4575// with awserr.Error's Code and Message methods to get detailed information about
4576// the error.
4577//
4578// See the AWS API reference guide for Amazon Simple Storage Service's
4579// API operation ListObjectsV2 for usage and error information.
4580//
4581// Returned Error Codes:
4582// * ErrCodeNoSuchBucket "NoSuchBucket"
4583// The specified bucket does not exist.
4584//
4585// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4586func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
4587 req, out := c.ListObjectsV2Request(input)
4588 return out, req.Send()
4589}
4590
4591// ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
4592// the ability to pass a context and additional request options.
4593//
4594// See ListObjectsV2 for details on how to use this API operation.
4595//
4596// The context must be non-nil and will be used for request cancellation. If
4597// the context is nil a panic will occur. In the future the SDK may create
4598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4599// for more information on using Contexts.
4600func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) {
4601 req, out := c.ListObjectsV2Request(input)
4602 req.SetContext(ctx)
4603 req.ApplyOptions(opts...)
4604 return out, req.Send()
4605}
4606
4607// ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation,
4608// calling the "fn" function with the response data for each page. To stop
4609// iterating, return false from the fn function.
4610//
4611// See ListObjectsV2 method for more information on how to use this operation.
4612//
4613// Note: This operation can generate multiple requests to a service.
4614//
4615// // Example iterating over at most 3 pages of a ListObjectsV2 operation.
4616// pageNum := 0
4617// err := client.ListObjectsV2Pages(params,
4618// func(page *ListObjectsV2Output, lastPage bool) bool {
4619// pageNum++
4620// fmt.Println(page)
4621// return pageNum <= 3
4622// })
4623//
4624func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
4625 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
4626}
4627
4628// ListObjectsV2PagesWithContext same as ListObjectsV2Pages except
4629// it takes a Context and allows setting request options on the pages.
4630//
4631// The context must be non-nil and will be used for request cancellation. If
4632// the context is nil a panic will occur. In the future the SDK may create
4633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4634// for more information on using Contexts.
4635func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error {
4636 p := request.Pagination{
4637 NewRequest: func() (*request.Request, error) {
4638 var inCpy *ListObjectsV2Input
4639 if input != nil {
4640 tmp := *input
4641 inCpy = &tmp
4642 }
4643 req, _ := c.ListObjectsV2Request(inCpy)
4644 req.SetContext(ctx)
4645 req.ApplyOptions(opts...)
4646 return req, nil
4647 },
4648 }
4649
4650 cont := true
4651 for p.Next() && cont {
4652 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
4653 }
4654 return p.Err()
4655}
4656
4657const opListParts = "ListParts"
4658
4659// ListPartsRequest generates a "aws/request.Request" representing the
4660// client's request for the ListParts operation. The "output" return
4661// value will be populated with the request's response once the request completes
4662// successfully.
4663//
4664// Use "Send" method on the returned Request to send the API call to the service.
4665// the "output" return value is not valid until after Send returns without error.
4666//
4667// See ListParts for more information on using the ListParts
4668// API call, and error handling.
4669//
4670// This method is useful when you want to inject custom logic or configuration
4671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4672//
4673//
4674// // Example sending a request using the ListPartsRequest method.
4675// req, resp := client.ListPartsRequest(params)
4676//
4677// err := req.Send()
4678// if err == nil { // resp is now filled
4679// fmt.Println(resp)
4680// }
4681//
4682// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4683func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
4684 op := &request.Operation{
4685 Name: opListParts,
4686 HTTPMethod: "GET",
4687 HTTPPath: "/{Bucket}/{Key+}",
4688 Paginator: &request.Paginator{
4689 InputTokens: []string{"PartNumberMarker"},
4690 OutputTokens: []string{"NextPartNumberMarker"},
4691 LimitToken: "MaxParts",
4692 TruncationToken: "IsTruncated",
4693 },
4694 }
4695
4696 if input == nil {
4697 input = &ListPartsInput{}
4698 }
4699
4700 output = &ListPartsOutput{}
4701 req = c.newRequest(op, input, output)
4702 return
4703}
4704
4705// ListParts API operation for Amazon Simple Storage Service.
4706//
4707// Lists the parts that have been uploaded for a specific multipart upload.
4708//
4709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4710// with awserr.Error's Code and Message methods to get detailed information about
4711// the error.
4712//
4713// See the AWS API reference guide for Amazon Simple Storage Service's
4714// API operation ListParts for usage and error information.
4715// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4716func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
4717 req, out := c.ListPartsRequest(input)
4718 return out, req.Send()
4719}
4720
4721// ListPartsWithContext is the same as ListParts with the addition of
4722// the ability to pass a context and additional request options.
4723//
4724// See ListParts for details on how to use this API operation.
4725//
4726// The context must be non-nil and will be used for request cancellation. If
4727// the context is nil a panic will occur. In the future the SDK may create
4728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4729// for more information on using Contexts.
4730func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) {
4731 req, out := c.ListPartsRequest(input)
4732 req.SetContext(ctx)
4733 req.ApplyOptions(opts...)
4734 return out, req.Send()
4735}
4736
4737// ListPartsPages iterates over the pages of a ListParts operation,
4738// calling the "fn" function with the response data for each page. To stop
4739// iterating, return false from the fn function.
4740//
4741// See ListParts method for more information on how to use this operation.
4742//
4743// Note: This operation can generate multiple requests to a service.
4744//
4745// // Example iterating over at most 3 pages of a ListParts operation.
4746// pageNum := 0
4747// err := client.ListPartsPages(params,
4748// func(page *ListPartsOutput, lastPage bool) bool {
4749// pageNum++
4750// fmt.Println(page)
4751// return pageNum <= 3
4752// })
4753//
4754func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
4755 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
4756}
4757
4758// ListPartsPagesWithContext same as ListPartsPages except
4759// it takes a Context and allows setting request options on the pages.
4760//
4761// The context must be non-nil and will be used for request cancellation. If
4762// the context is nil a panic will occur. In the future the SDK may create
4763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4764// for more information on using Contexts.
4765func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error {
4766 p := request.Pagination{
4767 NewRequest: func() (*request.Request, error) {
4768 var inCpy *ListPartsInput
4769 if input != nil {
4770 tmp := *input
4771 inCpy = &tmp
4772 }
4773 req, _ := c.ListPartsRequest(inCpy)
4774 req.SetContext(ctx)
4775 req.ApplyOptions(opts...)
4776 return req, nil
4777 },
4778 }
4779
4780 cont := true
4781 for p.Next() && cont {
4782 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
4783 }
4784 return p.Err()
4785}
4786
4787const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
4788
4789// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
4790// client's request for the PutBucketAccelerateConfiguration operation. The "output" return
4791// value will be populated with the request's response once the request completes
4792// successfully.
4793//
4794// Use "Send" method on the returned Request to send the API call to the service.
4795// the "output" return value is not valid until after Send returns without error.
4796//
4797// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
4798// API call, and error handling.
4799//
4800// This method is useful when you want to inject custom logic or configuration
4801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4802//
4803//
4804// // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
4805// req, resp := client.PutBucketAccelerateConfigurationRequest(params)
4806//
4807// err := req.Send()
4808// if err == nil { // resp is now filled
4809// fmt.Println(resp)
4810// }
4811//
4812// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4813func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) {
4814 op := &request.Operation{
4815 Name: opPutBucketAccelerateConfiguration,
4816 HTTPMethod: "PUT",
4817 HTTPPath: "/{Bucket}?accelerate",
4818 }
4819
4820 if input == nil {
4821 input = &PutBucketAccelerateConfigurationInput{}
4822 }
4823
4824 output = &PutBucketAccelerateConfigurationOutput{}
4825 req = c.newRequest(op, input, output)
4826 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4827 return
4828}
4829
4830// PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
4831//
4832// Sets the accelerate configuration of an existing bucket.
4833//
4834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4835// with awserr.Error's Code and Message methods to get detailed information about
4836// the error.
4837//
4838// See the AWS API reference guide for Amazon Simple Storage Service's
4839// API operation PutBucketAccelerateConfiguration for usage and error information.
4840// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4841func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
4842 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4843 return out, req.Send()
4844}
4845
4846// PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
4847// the ability to pass a context and additional request options.
4848//
4849// See PutBucketAccelerateConfiguration for details on how to use this API operation.
4850//
4851// The context must be non-nil and will be used for request cancellation. If
4852// the context is nil a panic will occur. In the future the SDK may create
4853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4854// for more information on using Contexts.
4855func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) {
4856 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4857 req.SetContext(ctx)
4858 req.ApplyOptions(opts...)
4859 return out, req.Send()
4860}
4861
4862const opPutBucketAcl = "PutBucketAcl"
4863
4864// PutBucketAclRequest generates a "aws/request.Request" representing the
4865// client's request for the PutBucketAcl operation. The "output" return
4866// value will be populated with the request's response once the request completes
4867// successfully.
4868//
4869// Use "Send" method on the returned Request to send the API call to the service.
4870// the "output" return value is not valid until after Send returns without error.
4871//
4872// See PutBucketAcl for more information on using the PutBucketAcl
4873// API call, and error handling.
4874//
4875// This method is useful when you want to inject custom logic or configuration
4876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4877//
4878//
4879// // Example sending a request using the PutBucketAclRequest method.
4880// req, resp := client.PutBucketAclRequest(params)
bae9f6d2
JC
4881//
4882// err := req.Send()
4883// if err == nil { // resp is now filled
4884// fmt.Println(resp)
4885// }
4886//
15c0b25d 4887// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
bae9f6d2
JC
4888func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) {
4889 op := &request.Operation{
4890 Name: opPutBucketAcl,
4891 HTTPMethod: "PUT",
4892 HTTPPath: "/{Bucket}?acl",
4893 }
4894
4895 if input == nil {
4896 input = &PutBucketAclInput{}
4897 }
4898
4899 output = &PutBucketAclOutput{}
4900 req = c.newRequest(op, input, output)
107c1cdb 4901 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
4902 return
4903}
4904
4905// PutBucketAcl API operation for Amazon Simple Storage Service.
4906//
4907// Sets the permissions on a bucket using access control lists (ACL).
4908//
4909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4910// with awserr.Error's Code and Message methods to get detailed information about
4911// the error.
4912//
4913// See the AWS API reference guide for Amazon Simple Storage Service's
4914// API operation PutBucketAcl for usage and error information.
15c0b25d 4915// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
bae9f6d2
JC
4916func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
4917 req, out := c.PutBucketAclRequest(input)
4918 return out, req.Send()
4919}
4920
4921// PutBucketAclWithContext is the same as PutBucketAcl with the addition of
4922// the ability to pass a context and additional request options.
4923//
4924// See PutBucketAcl for details on how to use this API operation.
4925//
4926// The context must be non-nil and will be used for request cancellation. If
4927// the context is nil a panic will occur. In the future the SDK may create
4928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4929// for more information on using Contexts.
4930func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) {
4931 req, out := c.PutBucketAclRequest(input)
4932 req.SetContext(ctx)
4933 req.ApplyOptions(opts...)
4934 return out, req.Send()
4935}
4936
4937const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
4938
4939// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
4940// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
15c0b25d 4941// value will be populated with the request's response once the request completes
107c1cdb 4942// successfully.
15c0b25d
AP
4943//
4944// Use "Send" method on the returned Request to send the API call to the service.
4945// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4946//
15c0b25d
AP
4947// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
4948// API call, and error handling.
bae9f6d2 4949//
15c0b25d
AP
4950// This method is useful when you want to inject custom logic or configuration
4951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4952//
bae9f6d2
JC
4953//
4954// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
4955// req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
4956//
4957// err := req.Send()
4958// if err == nil { // resp is now filled
4959// fmt.Println(resp)
4960// }
4961//
15c0b25d 4962// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
bae9f6d2
JC
4963func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) {
4964 op := &request.Operation{
4965 Name: opPutBucketAnalyticsConfiguration,
4966 HTTPMethod: "PUT",
4967 HTTPPath: "/{Bucket}?analytics",
4968 }
4969
4970 if input == nil {
4971 input = &PutBucketAnalyticsConfigurationInput{}
4972 }
4973
4974 output = &PutBucketAnalyticsConfigurationOutput{}
4975 req = c.newRequest(op, input, output)
107c1cdb 4976 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
4977 return
4978}
4979
4980// PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
4981//
4982// Sets an analytics configuration for the bucket (specified by the analytics
4983// configuration ID).
4984//
4985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4986// with awserr.Error's Code and Message methods to get detailed information about
4987// the error.
4988//
4989// See the AWS API reference guide for Amazon Simple Storage Service's
4990// API operation PutBucketAnalyticsConfiguration for usage and error information.
15c0b25d 4991// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
bae9f6d2
JC
4992func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
4993 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
4994 return out, req.Send()
4995}
4996
4997// PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
4998// the ability to pass a context and additional request options.
4999//
5000// See PutBucketAnalyticsConfiguration for details on how to use this API operation.
5001//
5002// The context must be non-nil and will be used for request cancellation. If
5003// the context is nil a panic will occur. In the future the SDK may create
5004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5005// for more information on using Contexts.
5006func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) {
5007 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
5008 req.SetContext(ctx)
5009 req.ApplyOptions(opts...)
5010 return out, req.Send()
5011}
5012
5013const opPutBucketCors = "PutBucketCors"
5014
5015// PutBucketCorsRequest generates a "aws/request.Request" representing the
5016// client's request for the PutBucketCors operation. The "output" return
15c0b25d 5017// value will be populated with the request's response once the request completes
107c1cdb 5018// successfully.
bae9f6d2 5019//
15c0b25d
AP
5020// Use "Send" method on the returned Request to send the API call to the service.
5021// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5022//
15c0b25d
AP
5023// See PutBucketCors for more information on using the PutBucketCors
5024// API call, and error handling.
5025//
5026// This method is useful when you want to inject custom logic or configuration
5027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5028//
bae9f6d2
JC
5029//
5030// // Example sending a request using the PutBucketCorsRequest method.
5031// req, resp := client.PutBucketCorsRequest(params)
5032//
5033// err := req.Send()
5034// if err == nil { // resp is now filled
5035// fmt.Println(resp)
5036// }
5037//
15c0b25d 5038// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
bae9f6d2
JC
5039func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) {
5040 op := &request.Operation{
5041 Name: opPutBucketCors,
5042 HTTPMethod: "PUT",
5043 HTTPPath: "/{Bucket}?cors",
5044 }
5045
5046 if input == nil {
5047 input = &PutBucketCorsInput{}
5048 }
5049
5050 output = &PutBucketCorsOutput{}
5051 req = c.newRequest(op, input, output)
107c1cdb 5052 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5053 return
5054}
5055
5056// PutBucketCors API operation for Amazon Simple Storage Service.
5057//
107c1cdb 5058// Sets the CORS configuration for a bucket.
bae9f6d2
JC
5059//
5060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5061// with awserr.Error's Code and Message methods to get detailed information about
5062// the error.
5063//
5064// See the AWS API reference guide for Amazon Simple Storage Service's
5065// API operation PutBucketCors for usage and error information.
15c0b25d 5066// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
bae9f6d2
JC
5067func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
5068 req, out := c.PutBucketCorsRequest(input)
5069 return out, req.Send()
5070}
5071
5072// PutBucketCorsWithContext is the same as PutBucketCors with the addition of
5073// the ability to pass a context and additional request options.
5074//
5075// See PutBucketCors for details on how to use this API operation.
5076//
5077// The context must be non-nil and will be used for request cancellation. If
5078// the context is nil a panic will occur. In the future the SDK may create
5079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5080// for more information on using Contexts.
5081func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) {
5082 req, out := c.PutBucketCorsRequest(input)
5083 req.SetContext(ctx)
5084 req.ApplyOptions(opts...)
5085 return out, req.Send()
5086}
5087
15c0b25d
AP
5088const opPutBucketEncryption = "PutBucketEncryption"
5089
5090// PutBucketEncryptionRequest generates a "aws/request.Request" representing the
5091// client's request for the PutBucketEncryption operation. The "output" return
5092// value will be populated with the request's response once the request completes
107c1cdb 5093// successfully.
15c0b25d
AP
5094//
5095// Use "Send" method on the returned Request to send the API call to the service.
5096// the "output" return value is not valid until after Send returns without error.
5097//
5098// See PutBucketEncryption for more information on using the PutBucketEncryption
5099// API call, and error handling.
5100//
5101// This method is useful when you want to inject custom logic or configuration
5102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5103//
5104//
5105// // Example sending a request using the PutBucketEncryptionRequest method.
5106// req, resp := client.PutBucketEncryptionRequest(params)
5107//
5108// err := req.Send()
5109// if err == nil { // resp is now filled
5110// fmt.Println(resp)
5111// }
5112//
5113// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5114func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) {
5115 op := &request.Operation{
5116 Name: opPutBucketEncryption,
5117 HTTPMethod: "PUT",
5118 HTTPPath: "/{Bucket}?encryption",
5119 }
5120
5121 if input == nil {
5122 input = &PutBucketEncryptionInput{}
5123 }
5124
5125 output = &PutBucketEncryptionOutput{}
5126 req = c.newRequest(op, input, output)
107c1cdb 5127 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15c0b25d
AP
5128 return
5129}
5130
5131// PutBucketEncryption API operation for Amazon Simple Storage Service.
5132//
5133// Creates a new server-side encryption configuration (or replaces an existing
5134// one, if present).
5135//
5136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5137// with awserr.Error's Code and Message methods to get detailed information about
5138// the error.
5139//
5140// See the AWS API reference guide for Amazon Simple Storage Service's
5141// API operation PutBucketEncryption for usage and error information.
5142// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5143func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) {
5144 req, out := c.PutBucketEncryptionRequest(input)
5145 return out, req.Send()
5146}
5147
5148// PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
5149// the ability to pass a context and additional request options.
5150//
5151// See PutBucketEncryption for details on how to use this API operation.
5152//
5153// The context must be non-nil and will be used for request cancellation. If
5154// the context is nil a panic will occur. In the future the SDK may create
5155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5156// for more information on using Contexts.
5157func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) {
5158 req, out := c.PutBucketEncryptionRequest(input)
5159 req.SetContext(ctx)
5160 req.ApplyOptions(opts...)
5161 return out, req.Send()
5162}
5163
bae9f6d2
JC
5164const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
5165
5166// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
5167// client's request for the PutBucketInventoryConfiguration operation. The "output" return
15c0b25d 5168// value will be populated with the request's response once the request completes
107c1cdb 5169// successfully.
bae9f6d2 5170//
15c0b25d
AP
5171// Use "Send" method on the returned Request to send the API call to the service.
5172// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5173//
15c0b25d
AP
5174// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
5175// API call, and error handling.
5176//
5177// This method is useful when you want to inject custom logic or configuration
5178// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5179//
bae9f6d2
JC
5180//
5181// // Example sending a request using the PutBucketInventoryConfigurationRequest method.
5182// req, resp := client.PutBucketInventoryConfigurationRequest(params)
5183//
5184// err := req.Send()
5185// if err == nil { // resp is now filled
5186// fmt.Println(resp)
5187// }
5188//
15c0b25d 5189// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
bae9f6d2
JC
5190func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) {
5191 op := &request.Operation{
5192 Name: opPutBucketInventoryConfiguration,
5193 HTTPMethod: "PUT",
5194 HTTPPath: "/{Bucket}?inventory",
5195 }
5196
5197 if input == nil {
5198 input = &PutBucketInventoryConfigurationInput{}
5199 }
5200
5201 output = &PutBucketInventoryConfigurationOutput{}
5202 req = c.newRequest(op, input, output)
107c1cdb 5203 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5204 return
5205}
5206
5207// PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
5208//
5209// Adds an inventory configuration (identified by the inventory ID) from the
5210// bucket.
5211//
5212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5213// with awserr.Error's Code and Message methods to get detailed information about
5214// the error.
5215//
5216// See the AWS API reference guide for Amazon Simple Storage Service's
5217// API operation PutBucketInventoryConfiguration for usage and error information.
15c0b25d 5218// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
bae9f6d2
JC
5219func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
5220 req, out := c.PutBucketInventoryConfigurationRequest(input)
5221 return out, req.Send()
5222}
5223
5224// PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
5225// the ability to pass a context and additional request options.
5226//
5227// See PutBucketInventoryConfiguration for details on how to use this API operation.
5228//
5229// The context must be non-nil and will be used for request cancellation. If
5230// the context is nil a panic will occur. In the future the SDK may create
5231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5232// for more information on using Contexts.
5233func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) {
5234 req, out := c.PutBucketInventoryConfigurationRequest(input)
5235 req.SetContext(ctx)
5236 req.ApplyOptions(opts...)
5237 return out, req.Send()
5238}
5239
5240const opPutBucketLifecycle = "PutBucketLifecycle"
5241
5242// PutBucketLifecycleRequest generates a "aws/request.Request" representing the
5243// client's request for the PutBucketLifecycle operation. The "output" return
15c0b25d 5244// value will be populated with the request's response once the request completes
107c1cdb 5245// successfully.
15c0b25d
AP
5246//
5247// Use "Send" method on the returned Request to send the API call to the service.
5248// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5249//
15c0b25d
AP
5250// See PutBucketLifecycle for more information on using the PutBucketLifecycle
5251// API call, and error handling.
bae9f6d2 5252//
15c0b25d
AP
5253// This method is useful when you want to inject custom logic or configuration
5254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5255//
bae9f6d2
JC
5256//
5257// // Example sending a request using the PutBucketLifecycleRequest method.
5258// req, resp := client.PutBucketLifecycleRequest(params)
5259//
5260// err := req.Send()
5261// if err == nil { // resp is now filled
5262// fmt.Println(resp)
5263// }
5264//
15c0b25d 5265// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
107c1cdb
ND
5266//
5267// Deprecated: PutBucketLifecycle has been deprecated
bae9f6d2
JC
5268func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) {
5269 if c.Client.Config.Logger != nil {
5270 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated")
5271 }
5272 op := &request.Operation{
5273 Name: opPutBucketLifecycle,
5274 HTTPMethod: "PUT",
5275 HTTPPath: "/{Bucket}?lifecycle",
5276 }
5277
5278 if input == nil {
5279 input = &PutBucketLifecycleInput{}
5280 }
5281
5282 output = &PutBucketLifecycleOutput{}
5283 req = c.newRequest(op, input, output)
107c1cdb 5284 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5285 return
5286}
5287
5288// PutBucketLifecycle API operation for Amazon Simple Storage Service.
5289//
107c1cdb 5290// No longer used, see the PutBucketLifecycleConfiguration operation.
bae9f6d2
JC
5291//
5292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5293// with awserr.Error's Code and Message methods to get detailed information about
5294// the error.
5295//
5296// See the AWS API reference guide for Amazon Simple Storage Service's
5297// API operation PutBucketLifecycle for usage and error information.
15c0b25d 5298// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
107c1cdb
ND
5299//
5300// Deprecated: PutBucketLifecycle has been deprecated
bae9f6d2
JC
5301func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
5302 req, out := c.PutBucketLifecycleRequest(input)
5303 return out, req.Send()
5304}
5305
5306// PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
5307// the ability to pass a context and additional request options.
5308//
5309// See PutBucketLifecycle for details on how to use this API operation.
5310//
5311// The context must be non-nil and will be used for request cancellation. If
5312// the context is nil a panic will occur. In the future the SDK may create
5313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5314// for more information on using Contexts.
107c1cdb
ND
5315//
5316// Deprecated: PutBucketLifecycleWithContext has been deprecated
bae9f6d2
JC
5317func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) {
5318 req, out := c.PutBucketLifecycleRequest(input)
5319 req.SetContext(ctx)
5320 req.ApplyOptions(opts...)
5321 return out, req.Send()
5322}
5323
5324const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
5325
5326// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
5327// client's request for the PutBucketLifecycleConfiguration operation. The "output" return
15c0b25d 5328// value will be populated with the request's response once the request completes
107c1cdb 5329// successfully.
bae9f6d2 5330//
15c0b25d
AP
5331// Use "Send" method on the returned Request to send the API call to the service.
5332// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5333//
15c0b25d
AP
5334// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
5335// API call, and error handling.
5336//
5337// This method is useful when you want to inject custom logic or configuration
5338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5339//
bae9f6d2
JC
5340//
5341// // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
5342// req, resp := client.PutBucketLifecycleConfigurationRequest(params)
5343//
5344// err := req.Send()
5345// if err == nil { // resp is now filled
5346// fmt.Println(resp)
5347// }
5348//
15c0b25d 5349// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
bae9f6d2
JC
5350func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) {
5351 op := &request.Operation{
5352 Name: opPutBucketLifecycleConfiguration,
5353 HTTPMethod: "PUT",
5354 HTTPPath: "/{Bucket}?lifecycle",
5355 }
5356
5357 if input == nil {
5358 input = &PutBucketLifecycleConfigurationInput{}
5359 }
5360
5361 output = &PutBucketLifecycleConfigurationOutput{}
5362 req = c.newRequest(op, input, output)
107c1cdb 5363 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5364 return
5365}
5366
5367// PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
5368//
5369// Sets lifecycle configuration for your bucket. If a lifecycle configuration
5370// exists, it replaces it.
5371//
5372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5373// with awserr.Error's Code and Message methods to get detailed information about
5374// the error.
5375//
5376// See the AWS API reference guide for Amazon Simple Storage Service's
5377// API operation PutBucketLifecycleConfiguration for usage and error information.
15c0b25d 5378// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
bae9f6d2
JC
5379func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
5380 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5381 return out, req.Send()
5382}
5383
5384// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
5385// the ability to pass a context and additional request options.
5386//
5387// See PutBucketLifecycleConfiguration for details on how to use this API operation.
5388//
5389// The context must be non-nil and will be used for request cancellation. If
5390// the context is nil a panic will occur. In the future the SDK may create
5391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5392// for more information on using Contexts.
5393func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) {
5394 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5395 req.SetContext(ctx)
5396 req.ApplyOptions(opts...)
5397 return out, req.Send()
5398}
5399
5400const opPutBucketLogging = "PutBucketLogging"
5401
5402// PutBucketLoggingRequest generates a "aws/request.Request" representing the
5403// client's request for the PutBucketLogging operation. The "output" return
15c0b25d 5404// value will be populated with the request's response once the request completes
107c1cdb 5405// successfully.
15c0b25d
AP
5406//
5407// Use "Send" method on the returned Request to send the API call to the service.
5408// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5409//
15c0b25d
AP
5410// See PutBucketLogging for more information on using the PutBucketLogging
5411// API call, and error handling.
bae9f6d2 5412//
15c0b25d
AP
5413// This method is useful when you want to inject custom logic or configuration
5414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5415//
bae9f6d2
JC
5416//
5417// // Example sending a request using the PutBucketLoggingRequest method.
5418// req, resp := client.PutBucketLoggingRequest(params)
5419//
5420// err := req.Send()
5421// if err == nil { // resp is now filled
5422// fmt.Println(resp)
5423// }
5424//
15c0b25d 5425// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
bae9f6d2
JC
5426func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) {
5427 op := &request.Operation{
5428 Name: opPutBucketLogging,
5429 HTTPMethod: "PUT",
5430 HTTPPath: "/{Bucket}?logging",
5431 }
5432
5433 if input == nil {
5434 input = &PutBucketLoggingInput{}
5435 }
5436
5437 output = &PutBucketLoggingOutput{}
5438 req = c.newRequest(op, input, output)
107c1cdb 5439 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5440 return
5441}
5442
5443// PutBucketLogging API operation for Amazon Simple Storage Service.
5444//
5445// Set the logging parameters for a bucket and to specify permissions for who
5446// can view and modify the logging parameters. To set the logging status of
5447// a bucket, you must be the bucket owner.
5448//
5449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5450// with awserr.Error's Code and Message methods to get detailed information about
5451// the error.
5452//
5453// See the AWS API reference guide for Amazon Simple Storage Service's
5454// API operation PutBucketLogging for usage and error information.
15c0b25d 5455// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
bae9f6d2
JC
5456func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
5457 req, out := c.PutBucketLoggingRequest(input)
5458 return out, req.Send()
5459}
5460
5461// PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
5462// the ability to pass a context and additional request options.
5463//
5464// See PutBucketLogging for details on how to use this API operation.
5465//
5466// The context must be non-nil and will be used for request cancellation. If
5467// the context is nil a panic will occur. In the future the SDK may create
5468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5469// for more information on using Contexts.
5470func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) {
5471 req, out := c.PutBucketLoggingRequest(input)
5472 req.SetContext(ctx)
5473 req.ApplyOptions(opts...)
5474 return out, req.Send()
5475}
5476
5477const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
5478
5479// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
5480// client's request for the PutBucketMetricsConfiguration operation. The "output" return
15c0b25d 5481// value will be populated with the request's response once the request completes
107c1cdb 5482// successfully.
bae9f6d2 5483//
15c0b25d
AP
5484// Use "Send" method on the returned Request to send the API call to the service.
5485// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5486//
15c0b25d
AP
5487// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
5488// API call, and error handling.
5489//
5490// This method is useful when you want to inject custom logic or configuration
5491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5492//
bae9f6d2
JC
5493//
5494// // Example sending a request using the PutBucketMetricsConfigurationRequest method.
5495// req, resp := client.PutBucketMetricsConfigurationRequest(params)
5496//
5497// err := req.Send()
5498// if err == nil { // resp is now filled
5499// fmt.Println(resp)
5500// }
5501//
15c0b25d 5502// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
bae9f6d2
JC
5503func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) {
5504 op := &request.Operation{
5505 Name: opPutBucketMetricsConfiguration,
5506 HTTPMethod: "PUT",
5507 HTTPPath: "/{Bucket}?metrics",
5508 }
5509
5510 if input == nil {
5511 input = &PutBucketMetricsConfigurationInput{}
5512 }
5513
5514 output = &PutBucketMetricsConfigurationOutput{}
5515 req = c.newRequest(op, input, output)
107c1cdb 5516 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5517 return
5518}
5519
5520// PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
5521//
5522// Sets a metrics configuration (specified by the metrics configuration ID)
5523// for the bucket.
5524//
5525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5526// with awserr.Error's Code and Message methods to get detailed information about
5527// the error.
5528//
5529// See the AWS API reference guide for Amazon Simple Storage Service's
5530// API operation PutBucketMetricsConfiguration for usage and error information.
15c0b25d 5531// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
bae9f6d2
JC
5532func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
5533 req, out := c.PutBucketMetricsConfigurationRequest(input)
5534 return out, req.Send()
5535}
5536
5537// PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
5538// the ability to pass a context and additional request options.
5539//
5540// See PutBucketMetricsConfiguration for details on how to use this API operation.
5541//
5542// The context must be non-nil and will be used for request cancellation. If
5543// the context is nil a panic will occur. In the future the SDK may create
5544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5545// for more information on using Contexts.
5546func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) {
5547 req, out := c.PutBucketMetricsConfigurationRequest(input)
5548 req.SetContext(ctx)
5549 req.ApplyOptions(opts...)
5550 return out, req.Send()
5551}
5552
5553const opPutBucketNotification = "PutBucketNotification"
5554
5555// PutBucketNotificationRequest generates a "aws/request.Request" representing the
5556// client's request for the PutBucketNotification operation. The "output" return
15c0b25d 5557// value will be populated with the request's response once the request completes
107c1cdb 5558// successfully.
15c0b25d
AP
5559//
5560// Use "Send" method on the returned Request to send the API call to the service.
5561// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5562//
15c0b25d
AP
5563// See PutBucketNotification for more information on using the PutBucketNotification
5564// API call, and error handling.
bae9f6d2 5565//
15c0b25d
AP
5566// This method is useful when you want to inject custom logic or configuration
5567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5568//
bae9f6d2
JC
5569//
5570// // Example sending a request using the PutBucketNotificationRequest method.
5571// req, resp := client.PutBucketNotificationRequest(params)
5572//
5573// err := req.Send()
5574// if err == nil { // resp is now filled
5575// fmt.Println(resp)
5576// }
5577//
15c0b25d 5578// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
107c1cdb
ND
5579//
5580// Deprecated: PutBucketNotification has been deprecated
bae9f6d2
JC
5581func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) {
5582 if c.Client.Config.Logger != nil {
5583 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated")
5584 }
5585 op := &request.Operation{
5586 Name: opPutBucketNotification,
5587 HTTPMethod: "PUT",
5588 HTTPPath: "/{Bucket}?notification",
5589 }
5590
5591 if input == nil {
5592 input = &PutBucketNotificationInput{}
5593 }
5594
5595 output = &PutBucketNotificationOutput{}
5596 req = c.newRequest(op, input, output)
107c1cdb 5597 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5598 return
5599}
5600
5601// PutBucketNotification API operation for Amazon Simple Storage Service.
5602//
107c1cdb 5603// No longer used, see the PutBucketNotificationConfiguration operation.
bae9f6d2
JC
5604//
5605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5606// with awserr.Error's Code and Message methods to get detailed information about
5607// the error.
5608//
5609// See the AWS API reference guide for Amazon Simple Storage Service's
5610// API operation PutBucketNotification for usage and error information.
15c0b25d 5611// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
107c1cdb
ND
5612//
5613// Deprecated: PutBucketNotification has been deprecated
bae9f6d2
JC
5614func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
5615 req, out := c.PutBucketNotificationRequest(input)
5616 return out, req.Send()
5617}
5618
5619// PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
5620// the ability to pass a context and additional request options.
5621//
5622// See PutBucketNotification for details on how to use this API operation.
5623//
5624// The context must be non-nil and will be used for request cancellation. If
5625// the context is nil a panic will occur. In the future the SDK may create
5626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5627// for more information on using Contexts.
107c1cdb
ND
5628//
5629// Deprecated: PutBucketNotificationWithContext has been deprecated
bae9f6d2
JC
5630func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) {
5631 req, out := c.PutBucketNotificationRequest(input)
5632 req.SetContext(ctx)
5633 req.ApplyOptions(opts...)
5634 return out, req.Send()
5635}
5636
5637const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
5638
5639// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
5640// client's request for the PutBucketNotificationConfiguration operation. The "output" return
15c0b25d 5641// value will be populated with the request's response once the request completes
107c1cdb 5642// successfully.
bae9f6d2 5643//
15c0b25d
AP
5644// Use "Send" method on the returned Request to send the API call to the service.
5645// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5646//
15c0b25d
AP
5647// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
5648// API call, and error handling.
5649//
5650// This method is useful when you want to inject custom logic or configuration
5651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5652//
bae9f6d2
JC
5653//
5654// // Example sending a request using the PutBucketNotificationConfigurationRequest method.
5655// req, resp := client.PutBucketNotificationConfigurationRequest(params)
5656//
5657// err := req.Send()
5658// if err == nil { // resp is now filled
5659// fmt.Println(resp)
5660// }
5661//
15c0b25d 5662// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
bae9f6d2
JC
5663func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) {
5664 op := &request.Operation{
5665 Name: opPutBucketNotificationConfiguration,
5666 HTTPMethod: "PUT",
5667 HTTPPath: "/{Bucket}?notification",
5668 }
5669
5670 if input == nil {
5671 input = &PutBucketNotificationConfigurationInput{}
5672 }
5673
5674 output = &PutBucketNotificationConfigurationOutput{}
5675 req = c.newRequest(op, input, output)
107c1cdb 5676 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5677 return
5678}
5679
5680// PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
5681//
5682// Enables notifications of specified events for a bucket.
5683//
5684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5685// with awserr.Error's Code and Message methods to get detailed information about
5686// the error.
5687//
5688// See the AWS API reference guide for Amazon Simple Storage Service's
5689// API operation PutBucketNotificationConfiguration for usage and error information.
15c0b25d 5690// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
bae9f6d2
JC
5691func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
5692 req, out := c.PutBucketNotificationConfigurationRequest(input)
5693 return out, req.Send()
5694}
5695
5696// PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
5697// the ability to pass a context and additional request options.
5698//
5699// See PutBucketNotificationConfiguration for details on how to use this API operation.
5700//
5701// The context must be non-nil and will be used for request cancellation. If
5702// the context is nil a panic will occur. In the future the SDK may create
5703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5704// for more information on using Contexts.
5705func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) {
5706 req, out := c.PutBucketNotificationConfigurationRequest(input)
5707 req.SetContext(ctx)
5708 req.ApplyOptions(opts...)
5709 return out, req.Send()
5710}
5711
5712const opPutBucketPolicy = "PutBucketPolicy"
5713
5714// PutBucketPolicyRequest generates a "aws/request.Request" representing the
5715// client's request for the PutBucketPolicy operation. The "output" return
15c0b25d 5716// value will be populated with the request's response once the request completes
107c1cdb 5717// successfully.
15c0b25d
AP
5718//
5719// Use "Send" method on the returned Request to send the API call to the service.
5720// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5721//
15c0b25d
AP
5722// See PutBucketPolicy for more information on using the PutBucketPolicy
5723// API call, and error handling.
bae9f6d2 5724//
15c0b25d
AP
5725// This method is useful when you want to inject custom logic or configuration
5726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5727//
bae9f6d2
JC
5728//
5729// // Example sending a request using the PutBucketPolicyRequest method.
5730// req, resp := client.PutBucketPolicyRequest(params)
5731//
5732// err := req.Send()
5733// if err == nil { // resp is now filled
5734// fmt.Println(resp)
5735// }
5736//
15c0b25d 5737// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
bae9f6d2
JC
5738func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) {
5739 op := &request.Operation{
5740 Name: opPutBucketPolicy,
5741 HTTPMethod: "PUT",
5742 HTTPPath: "/{Bucket}?policy",
5743 }
5744
5745 if input == nil {
5746 input = &PutBucketPolicyInput{}
5747 }
5748
5749 output = &PutBucketPolicyOutput{}
5750 req = c.newRequest(op, input, output)
107c1cdb 5751 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5752 return
5753}
5754
5755// PutBucketPolicy API operation for Amazon Simple Storage Service.
5756//
5757// Replaces a policy on a bucket. If the bucket already has a policy, the one
5758// in this request completely replaces it.
5759//
5760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5761// with awserr.Error's Code and Message methods to get detailed information about
5762// the error.
5763//
5764// See the AWS API reference guide for Amazon Simple Storage Service's
5765// API operation PutBucketPolicy for usage and error information.
15c0b25d 5766// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
bae9f6d2
JC
5767func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
5768 req, out := c.PutBucketPolicyRequest(input)
5769 return out, req.Send()
5770}
5771
5772// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
5773// the ability to pass a context and additional request options.
5774//
5775// See PutBucketPolicy for details on how to use this API operation.
5776//
5777// The context must be non-nil and will be used for request cancellation. If
5778// the context is nil a panic will occur. In the future the SDK may create
5779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5780// for more information on using Contexts.
5781func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) {
5782 req, out := c.PutBucketPolicyRequest(input)
5783 req.SetContext(ctx)
5784 req.ApplyOptions(opts...)
5785 return out, req.Send()
5786}
5787
5788const opPutBucketReplication = "PutBucketReplication"
5789
5790// PutBucketReplicationRequest generates a "aws/request.Request" representing the
5791// client's request for the PutBucketReplication operation. The "output" return
15c0b25d 5792// value will be populated with the request's response once the request completes
107c1cdb 5793// successfully.
bae9f6d2 5794//
15c0b25d
AP
5795// Use "Send" method on the returned Request to send the API call to the service.
5796// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5797//
15c0b25d
AP
5798// See PutBucketReplication for more information on using the PutBucketReplication
5799// API call, and error handling.
5800//
5801// This method is useful when you want to inject custom logic or configuration
5802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5803//
bae9f6d2
JC
5804//
5805// // Example sending a request using the PutBucketReplicationRequest method.
5806// req, resp := client.PutBucketReplicationRequest(params)
5807//
5808// err := req.Send()
5809// if err == nil { // resp is now filled
5810// fmt.Println(resp)
5811// }
5812//
15c0b25d 5813// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
bae9f6d2
JC
5814func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) {
5815 op := &request.Operation{
5816 Name: opPutBucketReplication,
5817 HTTPMethod: "PUT",
5818 HTTPPath: "/{Bucket}?replication",
5819 }
5820
5821 if input == nil {
5822 input = &PutBucketReplicationInput{}
5823 }
5824
5825 output = &PutBucketReplicationOutput{}
5826 req = c.newRequest(op, input, output)
107c1cdb 5827 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5828 return
5829}
5830
5831// PutBucketReplication API operation for Amazon Simple Storage Service.
5832//
107c1cdb
ND
5833// Creates a replication configuration or replaces an existing one. For more
5834// information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
5835// in the Amazon S3 Developer Guide.
bae9f6d2
JC
5836//
5837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5838// with awserr.Error's Code and Message methods to get detailed information about
5839// the error.
5840//
5841// See the AWS API reference guide for Amazon Simple Storage Service's
5842// API operation PutBucketReplication for usage and error information.
15c0b25d 5843// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
bae9f6d2
JC
5844func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
5845 req, out := c.PutBucketReplicationRequest(input)
5846 return out, req.Send()
5847}
5848
5849// PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
5850// the ability to pass a context and additional request options.
5851//
5852// See PutBucketReplication for details on how to use this API operation.
5853//
5854// The context must be non-nil and will be used for request cancellation. If
5855// the context is nil a panic will occur. In the future the SDK may create
5856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5857// for more information on using Contexts.
5858func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) {
5859 req, out := c.PutBucketReplicationRequest(input)
5860 req.SetContext(ctx)
5861 req.ApplyOptions(opts...)
5862 return out, req.Send()
5863}
5864
5865const opPutBucketRequestPayment = "PutBucketRequestPayment"
5866
5867// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
5868// client's request for the PutBucketRequestPayment operation. The "output" return
15c0b25d 5869// value will be populated with the request's response once the request completes
107c1cdb 5870// successfully.
15c0b25d
AP
5871//
5872// Use "Send" method on the returned Request to send the API call to the service.
5873// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5874//
15c0b25d
AP
5875// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
5876// API call, and error handling.
bae9f6d2 5877//
15c0b25d
AP
5878// This method is useful when you want to inject custom logic or configuration
5879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5880//
bae9f6d2
JC
5881//
5882// // Example sending a request using the PutBucketRequestPaymentRequest method.
5883// req, resp := client.PutBucketRequestPaymentRequest(params)
5884//
5885// err := req.Send()
5886// if err == nil { // resp is now filled
5887// fmt.Println(resp)
5888// }
5889//
15c0b25d 5890// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
bae9f6d2
JC
5891func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) {
5892 op := &request.Operation{
5893 Name: opPutBucketRequestPayment,
5894 HTTPMethod: "PUT",
5895 HTTPPath: "/{Bucket}?requestPayment",
5896 }
5897
5898 if input == nil {
5899 input = &PutBucketRequestPaymentInput{}
5900 }
5901
5902 output = &PutBucketRequestPaymentOutput{}
5903 req = c.newRequest(op, input, output)
107c1cdb 5904 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5905 return
5906}
5907
5908// PutBucketRequestPayment API operation for Amazon Simple Storage Service.
5909//
5910// Sets the request payment configuration for a bucket. By default, the bucket
5911// owner pays for downloads from the bucket. This configuration parameter enables
5912// the bucket owner (only) to specify that the person requesting the download
5913// will be charged for the download. Documentation on requester pays buckets
5914// can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
5915//
5916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5917// with awserr.Error's Code and Message methods to get detailed information about
5918// the error.
5919//
5920// See the AWS API reference guide for Amazon Simple Storage Service's
5921// API operation PutBucketRequestPayment for usage and error information.
15c0b25d 5922// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
bae9f6d2
JC
5923func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
5924 req, out := c.PutBucketRequestPaymentRequest(input)
5925 return out, req.Send()
5926}
5927
5928// PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
5929// the ability to pass a context and additional request options.
5930//
5931// See PutBucketRequestPayment for details on how to use this API operation.
5932//
5933// The context must be non-nil and will be used for request cancellation. If
5934// the context is nil a panic will occur. In the future the SDK may create
5935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5936// for more information on using Contexts.
5937func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) {
5938 req, out := c.PutBucketRequestPaymentRequest(input)
5939 req.SetContext(ctx)
5940 req.ApplyOptions(opts...)
5941 return out, req.Send()
5942}
5943
5944const opPutBucketTagging = "PutBucketTagging"
5945
5946// PutBucketTaggingRequest generates a "aws/request.Request" representing the
5947// client's request for the PutBucketTagging operation. The "output" return
15c0b25d 5948// value will be populated with the request's response once the request completes
107c1cdb 5949// successfully.
bae9f6d2 5950//
15c0b25d
AP
5951// Use "Send" method on the returned Request to send the API call to the service.
5952// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5953//
15c0b25d
AP
5954// See PutBucketTagging for more information on using the PutBucketTagging
5955// API call, and error handling.
5956//
5957// This method is useful when you want to inject custom logic or configuration
5958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5959//
bae9f6d2
JC
5960//
5961// // Example sending a request using the PutBucketTaggingRequest method.
5962// req, resp := client.PutBucketTaggingRequest(params)
5963//
5964// err := req.Send()
5965// if err == nil { // resp is now filled
5966// fmt.Println(resp)
5967// }
5968//
15c0b25d 5969// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
bae9f6d2
JC
5970func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) {
5971 op := &request.Operation{
5972 Name: opPutBucketTagging,
5973 HTTPMethod: "PUT",
5974 HTTPPath: "/{Bucket}?tagging",
5975 }
5976
5977 if input == nil {
5978 input = &PutBucketTaggingInput{}
5979 }
5980
5981 output = &PutBucketTaggingOutput{}
5982 req = c.newRequest(op, input, output)
107c1cdb 5983 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5984 return
5985}
5986
5987// PutBucketTagging API operation for Amazon Simple Storage Service.
5988//
5989// Sets the tags for a bucket.
5990//
5991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5992// with awserr.Error's Code and Message methods to get detailed information about
5993// the error.
5994//
5995// See the AWS API reference guide for Amazon Simple Storage Service's
5996// API operation PutBucketTagging for usage and error information.
15c0b25d 5997// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
bae9f6d2
JC
5998func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
5999 req, out := c.PutBucketTaggingRequest(input)
6000 return out, req.Send()
6001}
6002
6003// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
6004// the ability to pass a context and additional request options.
6005//
6006// See PutBucketTagging for details on how to use this API operation.
6007//
6008// The context must be non-nil and will be used for request cancellation. If
6009// the context is nil a panic will occur. In the future the SDK may create
6010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6011// for more information on using Contexts.
6012func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) {
6013 req, out := c.PutBucketTaggingRequest(input)
6014 req.SetContext(ctx)
6015 req.ApplyOptions(opts...)
6016 return out, req.Send()
6017}
6018
6019const opPutBucketVersioning = "PutBucketVersioning"
6020
6021// PutBucketVersioningRequest generates a "aws/request.Request" representing the
6022// client's request for the PutBucketVersioning operation. The "output" return
15c0b25d 6023// value will be populated with the request's response once the request completes
107c1cdb 6024// successfully.
15c0b25d
AP
6025//
6026// Use "Send" method on the returned Request to send the API call to the service.
6027// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6028//
15c0b25d
AP
6029// See PutBucketVersioning for more information on using the PutBucketVersioning
6030// API call, and error handling.
bae9f6d2 6031//
15c0b25d
AP
6032// This method is useful when you want to inject custom logic or configuration
6033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6034//
bae9f6d2
JC
6035//
6036// // Example sending a request using the PutBucketVersioningRequest method.
6037// req, resp := client.PutBucketVersioningRequest(params)
6038//
6039// err := req.Send()
6040// if err == nil { // resp is now filled
6041// fmt.Println(resp)
6042// }
6043//
15c0b25d 6044// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
bae9f6d2
JC
6045func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) {
6046 op := &request.Operation{
6047 Name: opPutBucketVersioning,
6048 HTTPMethod: "PUT",
6049 HTTPPath: "/{Bucket}?versioning",
6050 }
6051
6052 if input == nil {
6053 input = &PutBucketVersioningInput{}
6054 }
6055
6056 output = &PutBucketVersioningOutput{}
6057 req = c.newRequest(op, input, output)
107c1cdb 6058 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
6059 return
6060}
6061
6062// PutBucketVersioning API operation for Amazon Simple Storage Service.
6063//
6064// Sets the versioning state of an existing bucket. To set the versioning state,
6065// you must be the bucket owner.
6066//
6067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6068// with awserr.Error's Code and Message methods to get detailed information about
6069// the error.
6070//
6071// See the AWS API reference guide for Amazon Simple Storage Service's
6072// API operation PutBucketVersioning for usage and error information.
15c0b25d 6073// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
bae9f6d2
JC
6074func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
6075 req, out := c.PutBucketVersioningRequest(input)
6076 return out, req.Send()
6077}
6078
6079// PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
6080// the ability to pass a context and additional request options.
6081//
6082// See PutBucketVersioning for details on how to use this API operation.
6083//
6084// The context must be non-nil and will be used for request cancellation. If
6085// the context is nil a panic will occur. In the future the SDK may create
6086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6087// for more information on using Contexts.
6088func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) {
6089 req, out := c.PutBucketVersioningRequest(input)
6090 req.SetContext(ctx)
6091 req.ApplyOptions(opts...)
6092 return out, req.Send()
6093}
6094
6095const opPutBucketWebsite = "PutBucketWebsite"
6096
6097// PutBucketWebsiteRequest generates a "aws/request.Request" representing the
6098// client's request for the PutBucketWebsite operation. The "output" return
15c0b25d 6099// value will be populated with the request's response once the request completes
107c1cdb 6100// successfully.
bae9f6d2 6101//
15c0b25d
AP
6102// Use "Send" method on the returned Request to send the API call to the service.
6103// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6104//
15c0b25d
AP
6105// See PutBucketWebsite for more information on using the PutBucketWebsite
6106// API call, and error handling.
6107//
6108// This method is useful when you want to inject custom logic or configuration
6109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6110//
bae9f6d2
JC
6111//
6112// // Example sending a request using the PutBucketWebsiteRequest method.
6113// req, resp := client.PutBucketWebsiteRequest(params)
6114//
6115// err := req.Send()
6116// if err == nil { // resp is now filled
6117// fmt.Println(resp)
6118// }
6119//
15c0b25d 6120// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
bae9f6d2
JC
6121func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) {
6122 op := &request.Operation{
6123 Name: opPutBucketWebsite,
6124 HTTPMethod: "PUT",
6125 HTTPPath: "/{Bucket}?website",
6126 }
6127
6128 if input == nil {
6129 input = &PutBucketWebsiteInput{}
6130 }
6131
6132 output = &PutBucketWebsiteOutput{}
6133 req = c.newRequest(op, input, output)
107c1cdb 6134 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
6135 return
6136}
6137
6138// PutBucketWebsite API operation for Amazon Simple Storage Service.
6139//
6140// Set the website configuration for a bucket.
6141//
6142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6143// with awserr.Error's Code and Message methods to get detailed information about
6144// the error.
6145//
6146// See the AWS API reference guide for Amazon Simple Storage Service's
6147// API operation PutBucketWebsite for usage and error information.
15c0b25d 6148// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
bae9f6d2
JC
6149func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
6150 req, out := c.PutBucketWebsiteRequest(input)
6151 return out, req.Send()
6152}
6153
6154// PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
6155// the ability to pass a context and additional request options.
6156//
6157// See PutBucketWebsite for details on how to use this API operation.
6158//
6159// The context must be non-nil and will be used for request cancellation. If
6160// the context is nil a panic will occur. In the future the SDK may create
6161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6162// for more information on using Contexts.
6163func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) {
6164 req, out := c.PutBucketWebsiteRequest(input)
6165 req.SetContext(ctx)
6166 req.ApplyOptions(opts...)
6167 return out, req.Send()
6168}
6169
6170const opPutObject = "PutObject"
6171
6172// PutObjectRequest generates a "aws/request.Request" representing the
6173// client's request for the PutObject operation. The "output" return
15c0b25d 6174// value will be populated with the request's response once the request completes
107c1cdb 6175// successfully.
15c0b25d
AP
6176//
6177// Use "Send" method on the returned Request to send the API call to the service.
6178// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6179//
15c0b25d
AP
6180// See PutObject for more information on using the PutObject
6181// API call, and error handling.
bae9f6d2 6182//
15c0b25d
AP
6183// This method is useful when you want to inject custom logic or configuration
6184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6185//
bae9f6d2
JC
6186//
6187// // Example sending a request using the PutObjectRequest method.
6188// req, resp := client.PutObjectRequest(params)
6189//
6190// err := req.Send()
6191// if err == nil { // resp is now filled
6192// fmt.Println(resp)
6193// }
6194//
15c0b25d 6195// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
bae9f6d2
JC
6196func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) {
6197 op := &request.Operation{
6198 Name: opPutObject,
6199 HTTPMethod: "PUT",
6200 HTTPPath: "/{Bucket}/{Key+}",
6201 }
6202
6203 if input == nil {
6204 input = &PutObjectInput{}
6205 }
6206
6207 output = &PutObjectOutput{}
6208 req = c.newRequest(op, input, output)
6209 return
6210}
6211
6212// PutObject API operation for Amazon Simple Storage Service.
6213//
6214// Adds an object to a bucket.
6215//
6216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6217// with awserr.Error's Code and Message methods to get detailed information about
6218// the error.
6219//
6220// See the AWS API reference guide for Amazon Simple Storage Service's
6221// API operation PutObject for usage and error information.
15c0b25d 6222// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
bae9f6d2
JC
6223func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) {
6224 req, out := c.PutObjectRequest(input)
6225 return out, req.Send()
6226}
6227
6228// PutObjectWithContext is the same as PutObject with the addition of
6229// the ability to pass a context and additional request options.
6230//
6231// See PutObject for details on how to use this API operation.
6232//
6233// The context must be non-nil and will be used for request cancellation. If
6234// the context is nil a panic will occur. In the future the SDK may create
6235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6236// for more information on using Contexts.
6237func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) {
6238 req, out := c.PutObjectRequest(input)
6239 req.SetContext(ctx)
6240 req.ApplyOptions(opts...)
6241 return out, req.Send()
6242}
6243
6244const opPutObjectAcl = "PutObjectAcl"
6245
6246// PutObjectAclRequest generates a "aws/request.Request" representing the
6247// client's request for the PutObjectAcl operation. The "output" return
15c0b25d 6248// value will be populated with the request's response once the request completes
107c1cdb 6249// successfully.
bae9f6d2 6250//
15c0b25d
AP
6251// Use "Send" method on the returned Request to send the API call to the service.
6252// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6253//
15c0b25d
AP
6254// See PutObjectAcl for more information on using the PutObjectAcl
6255// API call, and error handling.
6256//
6257// This method is useful when you want to inject custom logic or configuration
6258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6259//
bae9f6d2
JC
6260//
6261// // Example sending a request using the PutObjectAclRequest method.
6262// req, resp := client.PutObjectAclRequest(params)
6263//
6264// err := req.Send()
6265// if err == nil { // resp is now filled
6266// fmt.Println(resp)
6267// }
6268//
15c0b25d 6269// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
bae9f6d2
JC
6270func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) {
6271 op := &request.Operation{
6272 Name: opPutObjectAcl,
6273 HTTPMethod: "PUT",
6274 HTTPPath: "/{Bucket}/{Key+}?acl",
6275 }
6276
6277 if input == nil {
6278 input = &PutObjectAclInput{}
6279 }
6280
6281 output = &PutObjectAclOutput{}
6282 req = c.newRequest(op, input, output)
6283 return
6284}
6285
6286// PutObjectAcl API operation for Amazon Simple Storage Service.
6287//
6288// uses the acl subresource to set the access control list (ACL) permissions
6289// for an object that already exists in a bucket
6290//
6291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6292// with awserr.Error's Code and Message methods to get detailed information about
6293// the error.
6294//
6295// See the AWS API reference guide for Amazon Simple Storage Service's
6296// API operation PutObjectAcl for usage and error information.
6297//
6298// Returned Error Codes:
6299// * ErrCodeNoSuchKey "NoSuchKey"
6300// The specified key does not exist.
6301//
15c0b25d 6302// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
bae9f6d2
JC
6303func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
6304 req, out := c.PutObjectAclRequest(input)
6305 return out, req.Send()
6306}
6307
6308// PutObjectAclWithContext is the same as PutObjectAcl with the addition of
6309// the ability to pass a context and additional request options.
6310//
6311// See PutObjectAcl for details on how to use this API operation.
6312//
6313// The context must be non-nil and will be used for request cancellation. If
6314// the context is nil a panic will occur. In the future the SDK may create
6315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6316// for more information on using Contexts.
107c1cdb
ND
6317func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) {
6318 req, out := c.PutObjectAclRequest(input)
6319 req.SetContext(ctx)
6320 req.ApplyOptions(opts...)
6321 return out, req.Send()
6322}
6323
6324const opPutObjectLegalHold = "PutObjectLegalHold"
6325
6326// PutObjectLegalHoldRequest generates a "aws/request.Request" representing the
6327// client's request for the PutObjectLegalHold operation. The "output" return
6328// value will be populated with the request's response once the request completes
6329// successfully.
6330//
6331// Use "Send" method on the returned Request to send the API call to the service.
6332// the "output" return value is not valid until after Send returns without error.
6333//
6334// See PutObjectLegalHold for more information on using the PutObjectLegalHold
6335// API call, and error handling.
6336//
6337// This method is useful when you want to inject custom logic or configuration
6338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6339//
6340//
6341// // Example sending a request using the PutObjectLegalHoldRequest method.
6342// req, resp := client.PutObjectLegalHoldRequest(params)
6343//
6344// err := req.Send()
6345// if err == nil { // resp is now filled
6346// fmt.Println(resp)
6347// }
6348//
6349// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6350func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *request.Request, output *PutObjectLegalHoldOutput) {
6351 op := &request.Operation{
6352 Name: opPutObjectLegalHold,
6353 HTTPMethod: "PUT",
6354 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
6355 }
6356
6357 if input == nil {
6358 input = &PutObjectLegalHoldInput{}
6359 }
6360
6361 output = &PutObjectLegalHoldOutput{}
6362 req = c.newRequest(op, input, output)
6363 return
6364}
6365
6366// PutObjectLegalHold API operation for Amazon Simple Storage Service.
6367//
6368// Applies a Legal Hold configuration to the specified object.
6369//
6370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6371// with awserr.Error's Code and Message methods to get detailed information about
6372// the error.
6373//
6374// See the AWS API reference guide for Amazon Simple Storage Service's
6375// API operation PutObjectLegalHold for usage and error information.
6376// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6377func (c *S3) PutObjectLegalHold(input *PutObjectLegalHoldInput) (*PutObjectLegalHoldOutput, error) {
6378 req, out := c.PutObjectLegalHoldRequest(input)
6379 return out, req.Send()
6380}
6381
6382// PutObjectLegalHoldWithContext is the same as PutObjectLegalHold with the addition of
6383// the ability to pass a context and additional request options.
6384//
6385// See PutObjectLegalHold for details on how to use this API operation.
6386//
6387// The context must be non-nil and will be used for request cancellation. If
6388// the context is nil a panic will occur. In the future the SDK may create
6389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6390// for more information on using Contexts.
6391func (c *S3) PutObjectLegalHoldWithContext(ctx aws.Context, input *PutObjectLegalHoldInput, opts ...request.Option) (*PutObjectLegalHoldOutput, error) {
6392 req, out := c.PutObjectLegalHoldRequest(input)
6393 req.SetContext(ctx)
6394 req.ApplyOptions(opts...)
6395 return out, req.Send()
6396}
6397
6398const opPutObjectLockConfiguration = "PutObjectLockConfiguration"
6399
6400// PutObjectLockConfigurationRequest generates a "aws/request.Request" representing the
6401// client's request for the PutObjectLockConfiguration operation. The "output" return
6402// value will be populated with the request's response once the request completes
6403// successfully.
6404//
6405// Use "Send" method on the returned Request to send the API call to the service.
6406// the "output" return value is not valid until after Send returns without error.
6407//
6408// See PutObjectLockConfiguration for more information on using the PutObjectLockConfiguration
6409// API call, and error handling.
6410//
6411// This method is useful when you want to inject custom logic or configuration
6412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6413//
6414//
6415// // Example sending a request using the PutObjectLockConfigurationRequest method.
6416// req, resp := client.PutObjectLockConfigurationRequest(params)
6417//
6418// err := req.Send()
6419// if err == nil { // resp is now filled
6420// fmt.Println(resp)
6421// }
6422//
6423// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6424func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfigurationInput) (req *request.Request, output *PutObjectLockConfigurationOutput) {
6425 op := &request.Operation{
6426 Name: opPutObjectLockConfiguration,
6427 HTTPMethod: "PUT",
6428 HTTPPath: "/{Bucket}?object-lock",
6429 }
6430
6431 if input == nil {
6432 input = &PutObjectLockConfigurationInput{}
6433 }
6434
6435 output = &PutObjectLockConfigurationOutput{}
6436 req = c.newRequest(op, input, output)
6437 return
6438}
6439
6440// PutObjectLockConfiguration API operation for Amazon Simple Storage Service.
6441//
6442// Places an Object Lock configuration on the specified bucket. The rule specified
6443// in the Object Lock configuration will be applied by default to every new
6444// object placed in the specified bucket.
6445//
6446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6447// with awserr.Error's Code and Message methods to get detailed information about
6448// the error.
6449//
6450// See the AWS API reference guide for Amazon Simple Storage Service's
6451// API operation PutObjectLockConfiguration for usage and error information.
6452// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6453func (c *S3) PutObjectLockConfiguration(input *PutObjectLockConfigurationInput) (*PutObjectLockConfigurationOutput, error) {
6454 req, out := c.PutObjectLockConfigurationRequest(input)
6455 return out, req.Send()
6456}
6457
6458// PutObjectLockConfigurationWithContext is the same as PutObjectLockConfiguration with the addition of
6459// the ability to pass a context and additional request options.
6460//
6461// See PutObjectLockConfiguration for details on how to use this API operation.
6462//
6463// The context must be non-nil and will be used for request cancellation. If
6464// the context is nil a panic will occur. In the future the SDK may create
6465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6466// for more information on using Contexts.
6467func (c *S3) PutObjectLockConfigurationWithContext(ctx aws.Context, input *PutObjectLockConfigurationInput, opts ...request.Option) (*PutObjectLockConfigurationOutput, error) {
6468 req, out := c.PutObjectLockConfigurationRequest(input)
6469 req.SetContext(ctx)
6470 req.ApplyOptions(opts...)
6471 return out, req.Send()
6472}
6473
6474const opPutObjectRetention = "PutObjectRetention"
6475
6476// PutObjectRetentionRequest generates a "aws/request.Request" representing the
6477// client's request for the PutObjectRetention operation. The "output" return
6478// value will be populated with the request's response once the request completes
6479// successfully.
6480//
6481// Use "Send" method on the returned Request to send the API call to the service.
6482// the "output" return value is not valid until after Send returns without error.
6483//
6484// See PutObjectRetention for more information on using the PutObjectRetention
6485// API call, and error handling.
6486//
6487// This method is useful when you want to inject custom logic or configuration
6488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6489//
6490//
6491// // Example sending a request using the PutObjectRetentionRequest method.
6492// req, resp := client.PutObjectRetentionRequest(params)
6493//
6494// err := req.Send()
6495// if err == nil { // resp is now filled
6496// fmt.Println(resp)
6497// }
6498//
6499// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6500func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *request.Request, output *PutObjectRetentionOutput) {
6501 op := &request.Operation{
6502 Name: opPutObjectRetention,
6503 HTTPMethod: "PUT",
6504 HTTPPath: "/{Bucket}/{Key+}?retention",
6505 }
6506
6507 if input == nil {
6508 input = &PutObjectRetentionInput{}
6509 }
6510
6511 output = &PutObjectRetentionOutput{}
6512 req = c.newRequest(op, input, output)
6513 return
6514}
6515
6516// PutObjectRetention API operation for Amazon Simple Storage Service.
6517//
6518// Places an Object Retention configuration on an object.
6519//
6520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6521// with awserr.Error's Code and Message methods to get detailed information about
6522// the error.
6523//
6524// See the AWS API reference guide for Amazon Simple Storage Service's
6525// API operation PutObjectRetention for usage and error information.
6526// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6527func (c *S3) PutObjectRetention(input *PutObjectRetentionInput) (*PutObjectRetentionOutput, error) {
6528 req, out := c.PutObjectRetentionRequest(input)
6529 return out, req.Send()
6530}
6531
6532// PutObjectRetentionWithContext is the same as PutObjectRetention with the addition of
6533// the ability to pass a context and additional request options.
6534//
6535// See PutObjectRetention for details on how to use this API operation.
6536//
6537// The context must be non-nil and will be used for request cancellation. If
6538// the context is nil a panic will occur. In the future the SDK may create
6539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6540// for more information on using Contexts.
6541func (c *S3) PutObjectRetentionWithContext(ctx aws.Context, input *PutObjectRetentionInput, opts ...request.Option) (*PutObjectRetentionOutput, error) {
6542 req, out := c.PutObjectRetentionRequest(input)
6543 req.SetContext(ctx)
6544 req.ApplyOptions(opts...)
6545 return out, req.Send()
6546}
6547
6548const opPutObjectTagging = "PutObjectTagging"
6549
6550// PutObjectTaggingRequest generates a "aws/request.Request" representing the
6551// client's request for the PutObjectTagging operation. The "output" return
6552// value will be populated with the request's response once the request completes
6553// successfully.
6554//
6555// Use "Send" method on the returned Request to send the API call to the service.
6556// the "output" return value is not valid until after Send returns without error.
6557//
6558// See PutObjectTagging for more information on using the PutObjectTagging
6559// API call, and error handling.
6560//
6561// This method is useful when you want to inject custom logic or configuration
6562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6563//
6564//
6565// // Example sending a request using the PutObjectTaggingRequest method.
6566// req, resp := client.PutObjectTaggingRequest(params)
6567//
6568// err := req.Send()
6569// if err == nil { // resp is now filled
6570// fmt.Println(resp)
6571// }
6572//
6573// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6574func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) {
6575 op := &request.Operation{
6576 Name: opPutObjectTagging,
6577 HTTPMethod: "PUT",
6578 HTTPPath: "/{Bucket}/{Key+}?tagging",
6579 }
6580
6581 if input == nil {
6582 input = &PutObjectTaggingInput{}
6583 }
6584
6585 output = &PutObjectTaggingOutput{}
6586 req = c.newRequest(op, input, output)
6587 return
6588}
6589
6590// PutObjectTagging API operation for Amazon Simple Storage Service.
6591//
6592// Sets the supplied tag-set to an object that already exists in a bucket
6593//
6594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6595// with awserr.Error's Code and Message methods to get detailed information about
6596// the error.
6597//
6598// See the AWS API reference guide for Amazon Simple Storage Service's
6599// API operation PutObjectTagging for usage and error information.
6600// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6601func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
6602 req, out := c.PutObjectTaggingRequest(input)
6603 return out, req.Send()
6604}
6605
6606// PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
6607// the ability to pass a context and additional request options.
6608//
6609// See PutObjectTagging for details on how to use this API operation.
6610//
6611// The context must be non-nil and will be used for request cancellation. If
6612// the context is nil a panic will occur. In the future the SDK may create
6613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6614// for more information on using Contexts.
6615func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) {
6616 req, out := c.PutObjectTaggingRequest(input)
bae9f6d2
JC
6617 req.SetContext(ctx)
6618 req.ApplyOptions(opts...)
6619 return out, req.Send()
6620}
6621
107c1cdb 6622const opPutPublicAccessBlock = "PutPublicAccessBlock"
bae9f6d2 6623
107c1cdb
ND
6624// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the
6625// client's request for the PutPublicAccessBlock operation. The "output" return
15c0b25d 6626// value will be populated with the request's response once the request completes
107c1cdb 6627// successfully.
15c0b25d
AP
6628//
6629// Use "Send" method on the returned Request to send the API call to the service.
6630// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6631//
107c1cdb 6632// See PutPublicAccessBlock for more information on using the PutPublicAccessBlock
15c0b25d 6633// API call, and error handling.
bae9f6d2 6634//
15c0b25d
AP
6635// This method is useful when you want to inject custom logic or configuration
6636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6637//
bae9f6d2 6638//
107c1cdb
ND
6639// // Example sending a request using the PutPublicAccessBlockRequest method.
6640// req, resp := client.PutPublicAccessBlockRequest(params)
bae9f6d2
JC
6641//
6642// err := req.Send()
6643// if err == nil { // resp is now filled
6644// fmt.Println(resp)
6645// }
6646//
107c1cdb
ND
6647// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6648func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) {
bae9f6d2 6649 op := &request.Operation{
107c1cdb 6650 Name: opPutPublicAccessBlock,
bae9f6d2 6651 HTTPMethod: "PUT",
107c1cdb 6652 HTTPPath: "/{Bucket}?publicAccessBlock",
bae9f6d2
JC
6653 }
6654
6655 if input == nil {
107c1cdb 6656 input = &PutPublicAccessBlockInput{}
bae9f6d2
JC
6657 }
6658
107c1cdb 6659 output = &PutPublicAccessBlockOutput{}
bae9f6d2 6660 req = c.newRequest(op, input, output)
107c1cdb 6661 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
6662 return
6663}
6664
107c1cdb 6665// PutPublicAccessBlock API operation for Amazon Simple Storage Service.
bae9f6d2 6666//
107c1cdb
ND
6667// Creates or modifies the PublicAccessBlock configuration for an Amazon S3
6668// bucket.
bae9f6d2
JC
6669//
6670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6671// with awserr.Error's Code and Message methods to get detailed information about
6672// the error.
6673//
6674// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
6675// API operation PutPublicAccessBlock for usage and error information.
6676// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6677func (c *S3) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) {
6678 req, out := c.PutPublicAccessBlockRequest(input)
bae9f6d2
JC
6679 return out, req.Send()
6680}
6681
107c1cdb 6682// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of
bae9f6d2
JC
6683// the ability to pass a context and additional request options.
6684//
107c1cdb 6685// See PutPublicAccessBlock for details on how to use this API operation.
bae9f6d2
JC
6686//
6687// The context must be non-nil and will be used for request cancellation. If
6688// the context is nil a panic will occur. In the future the SDK may create
6689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6690// for more information on using Contexts.
107c1cdb
ND
6691func (c *S3) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) {
6692 req, out := c.PutPublicAccessBlockRequest(input)
bae9f6d2
JC
6693 req.SetContext(ctx)
6694 req.ApplyOptions(opts...)
6695 return out, req.Send()
6696}
6697
6698const opRestoreObject = "RestoreObject"
6699
6700// RestoreObjectRequest generates a "aws/request.Request" representing the
6701// client's request for the RestoreObject operation. The "output" return
15c0b25d 6702// value will be populated with the request's response once the request completes
107c1cdb 6703// successfully.
bae9f6d2 6704//
15c0b25d
AP
6705// Use "Send" method on the returned Request to send the API call to the service.
6706// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6707//
15c0b25d
AP
6708// See RestoreObject for more information on using the RestoreObject
6709// API call, and error handling.
6710//
6711// This method is useful when you want to inject custom logic or configuration
6712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6713//
bae9f6d2
JC
6714//
6715// // Example sending a request using the RestoreObjectRequest method.
6716// req, resp := client.RestoreObjectRequest(params)
6717//
6718// err := req.Send()
6719// if err == nil { // resp is now filled
6720// fmt.Println(resp)
6721// }
6722//
15c0b25d 6723// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
bae9f6d2
JC
6724func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) {
6725 op := &request.Operation{
6726 Name: opRestoreObject,
6727 HTTPMethod: "POST",
6728 HTTPPath: "/{Bucket}/{Key+}?restore",
6729 }
6730
6731 if input == nil {
6732 input = &RestoreObjectInput{}
6733 }
6734
6735 output = &RestoreObjectOutput{}
6736 req = c.newRequest(op, input, output)
6737 return
6738}
6739
6740// RestoreObject API operation for Amazon Simple Storage Service.
6741//
6742// Restores an archived copy of an object back into Amazon S3
6743//
6744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6745// with awserr.Error's Code and Message methods to get detailed information about
6746// the error.
6747//
6748// See the AWS API reference guide for Amazon Simple Storage Service's
6749// API operation RestoreObject for usage and error information.
6750//
6751// Returned Error Codes:
6752// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
6753// This operation is not allowed against this storage tier
6754//
15c0b25d 6755// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
bae9f6d2
JC
6756func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
6757 req, out := c.RestoreObjectRequest(input)
6758 return out, req.Send()
6759}
6760
6761// RestoreObjectWithContext is the same as RestoreObject with the addition of
6762// the ability to pass a context and additional request options.
6763//
6764// See RestoreObject for details on how to use this API operation.
6765//
6766// The context must be non-nil and will be used for request cancellation. If
6767// the context is nil a panic will occur. In the future the SDK may create
6768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6769// for more information on using Contexts.
6770func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) {
6771 req, out := c.RestoreObjectRequest(input)
6772 req.SetContext(ctx)
6773 req.ApplyOptions(opts...)
6774 return out, req.Send()
6775}
6776
15c0b25d 6777const opSelectObjectContent = "SelectObjectContent"
bae9f6d2 6778
15c0b25d
AP
6779// SelectObjectContentRequest generates a "aws/request.Request" representing the
6780// client's request for the SelectObjectContent operation. The "output" return
6781// value will be populated with the request's response once the request completes
107c1cdb 6782// successfully.
bae9f6d2 6783//
15c0b25d
AP
6784// Use "Send" method on the returned Request to send the API call to the service.
6785// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6786//
15c0b25d
AP
6787// See SelectObjectContent for more information on using the SelectObjectContent
6788// API call, and error handling.
bae9f6d2 6789//
15c0b25d
AP
6790// This method is useful when you want to inject custom logic or configuration
6791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6792//
15c0b25d
AP
6793//
6794// // Example sending a request using the SelectObjectContentRequest method.
6795// req, resp := client.SelectObjectContentRequest(params)
bae9f6d2
JC
6796//
6797// err := req.Send()
6798// if err == nil { // resp is now filled
6799// fmt.Println(resp)
6800// }
6801//
15c0b25d
AP
6802// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6803func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) {
bae9f6d2 6804 op := &request.Operation{
15c0b25d
AP
6805 Name: opSelectObjectContent,
6806 HTTPMethod: "POST",
6807 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
bae9f6d2
JC
6808 }
6809
6810 if input == nil {
15c0b25d 6811 input = &SelectObjectContentInput{}
bae9f6d2
JC
6812 }
6813
15c0b25d 6814 output = &SelectObjectContentOutput{}
bae9f6d2 6815 req = c.newRequest(op, input, output)
15c0b25d
AP
6816 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
6817 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler)
6818 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop)
bae9f6d2
JC
6819 return
6820}
6821
15c0b25d 6822// SelectObjectContent API operation for Amazon Simple Storage Service.
bae9f6d2 6823//
15c0b25d
AP
6824// This operation filters the contents of an Amazon S3 object based on a simple
6825// Structured Query Language (SQL) statement. In the request, along with the
6826// SQL expression, you must also specify a data serialization format (JSON or
6827// CSV) of the object. Amazon S3 uses this to parse object data into records,
6828// and returns only records that match the specified SQL expression. You must
6829// also specify the data serialization format for the response.
bae9f6d2
JC
6830//
6831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6832// with awserr.Error's Code and Message methods to get detailed information about
6833// the error.
6834//
6835// See the AWS API reference guide for Amazon Simple Storage Service's
15c0b25d
AP
6836// API operation SelectObjectContent for usage and error information.
6837// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6838func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) {
6839 req, out := c.SelectObjectContentRequest(input)
bae9f6d2
JC
6840 return out, req.Send()
6841}
6842
15c0b25d 6843// SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
bae9f6d2
JC
6844// the ability to pass a context and additional request options.
6845//
15c0b25d 6846// See SelectObjectContent for details on how to use this API operation.
bae9f6d2
JC
6847//
6848// The context must be non-nil and will be used for request cancellation. If
6849// the context is nil a panic will occur. In the future the SDK may create
6850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6851// for more information on using Contexts.
15c0b25d
AP
6852func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) {
6853 req, out := c.SelectObjectContentRequest(input)
bae9f6d2
JC
6854 req.SetContext(ctx)
6855 req.ApplyOptions(opts...)
6856 return out, req.Send()
6857}
6858
15c0b25d 6859const opUploadPart = "UploadPart"
bae9f6d2 6860
15c0b25d
AP
6861// UploadPartRequest generates a "aws/request.Request" representing the
6862// client's request for the UploadPart operation. The "output" return
6863// value will be populated with the request's response once the request completes
107c1cdb 6864// successfully.
bae9f6d2 6865//
15c0b25d
AP
6866// Use "Send" method on the returned Request to send the API call to the service.
6867// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6868//
15c0b25d
AP
6869// See UploadPart for more information on using the UploadPart
6870// API call, and error handling.
bae9f6d2 6871//
15c0b25d
AP
6872// This method is useful when you want to inject custom logic or configuration
6873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6874//
15c0b25d
AP
6875//
6876// // Example sending a request using the UploadPartRequest method.
6877// req, resp := client.UploadPartRequest(params)
bae9f6d2
JC
6878//
6879// err := req.Send()
6880// if err == nil { // resp is now filled
6881// fmt.Println(resp)
6882// }
6883//
15c0b25d
AP
6884// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6885func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) {
bae9f6d2 6886 op := &request.Operation{
15c0b25d 6887 Name: opUploadPart,
bae9f6d2
JC
6888 HTTPMethod: "PUT",
6889 HTTPPath: "/{Bucket}/{Key+}",
6890 }
6891
6892 if input == nil {
15c0b25d
AP
6893 input = &UploadPartInput{}
6894 }
6895
6896 output = &UploadPartOutput{}
6897 req = c.newRequest(op, input, output)
6898 return
6899}
6900
6901// UploadPart API operation for Amazon Simple Storage Service.
6902//
6903// Uploads a part in a multipart upload.
6904//
6905// Note: After you initiate multipart upload and upload one or more parts, you
6906// must either complete or abort multipart upload in order to stop getting charged
6907// for storage of the uploaded parts. Only after you either complete or abort
6908// multipart upload, Amazon S3 frees up the parts storage and stops charging
6909// you for the parts storage.
6910//
6911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6912// with awserr.Error's Code and Message methods to get detailed information about
6913// the error.
6914//
6915// See the AWS API reference guide for Amazon Simple Storage Service's
6916// API operation UploadPart for usage and error information.
6917// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6918func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
6919 req, out := c.UploadPartRequest(input)
6920 return out, req.Send()
6921}
6922
6923// UploadPartWithContext is the same as UploadPart with the addition of
6924// the ability to pass a context and additional request options.
6925//
6926// See UploadPart for details on how to use this API operation.
6927//
6928// The context must be non-nil and will be used for request cancellation. If
6929// the context is nil a panic will occur. In the future the SDK may create
6930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6931// for more information on using Contexts.
6932func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) {
6933 req, out := c.UploadPartRequest(input)
6934 req.SetContext(ctx)
6935 req.ApplyOptions(opts...)
6936 return out, req.Send()
6937}
6938
6939const opUploadPartCopy = "UploadPartCopy"
6940
6941// UploadPartCopyRequest generates a "aws/request.Request" representing the
6942// client's request for the UploadPartCopy operation. The "output" return
6943// value will be populated with the request's response once the request completes
107c1cdb 6944// successfully.
15c0b25d
AP
6945//
6946// Use "Send" method on the returned Request to send the API call to the service.
6947// the "output" return value is not valid until after Send returns without error.
6948//
6949// See UploadPartCopy for more information on using the UploadPartCopy
6950// API call, and error handling.
6951//
6952// This method is useful when you want to inject custom logic or configuration
6953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6954//
6955//
6956// // Example sending a request using the UploadPartCopyRequest method.
6957// req, resp := client.UploadPartCopyRequest(params)
6958//
6959// err := req.Send()
6960// if err == nil { // resp is now filled
6961// fmt.Println(resp)
6962// }
6963//
6964// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6965func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) {
6966 op := &request.Operation{
6967 Name: opUploadPartCopy,
6968 HTTPMethod: "PUT",
6969 HTTPPath: "/{Bucket}/{Key+}",
6970 }
6971
6972 if input == nil {
6973 input = &UploadPartCopyInput{}
bae9f6d2
JC
6974 }
6975
6976 output = &UploadPartCopyOutput{}
6977 req = c.newRequest(op, input, output)
6978 return
6979}
6980
6981// UploadPartCopy API operation for Amazon Simple Storage Service.
6982//
6983// Uploads a part by copying data from an existing object as data source.
6984//
6985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6986// with awserr.Error's Code and Message methods to get detailed information about
6987// the error.
6988//
6989// See the AWS API reference guide for Amazon Simple Storage Service's
6990// API operation UploadPartCopy for usage and error information.
15c0b25d 6991// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
bae9f6d2
JC
6992func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
6993 req, out := c.UploadPartCopyRequest(input)
6994 return out, req.Send()
6995}
6996
6997// UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
6998// the ability to pass a context and additional request options.
6999//
7000// See UploadPartCopy for details on how to use this API operation.
7001//
7002// The context must be non-nil and will be used for request cancellation. If
7003// the context is nil a panic will occur. In the future the SDK may create
7004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7005// for more information on using Contexts.
7006func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) {
7007 req, out := c.UploadPartCopyRequest(input)
7008 req.SetContext(ctx)
7009 req.ApplyOptions(opts...)
7010 return out, req.Send()
7011}
7012
7013// Specifies the days since the initiation of an Incomplete Multipart Upload
7014// that Lifecycle will wait before permanently removing all parts of the upload.
bae9f6d2
JC
7015type AbortIncompleteMultipartUpload struct {
7016 _ struct{} `type:"structure"`
7017
7018 // Indicates the number of days that must pass since initiation for Lifecycle
7019 // to abort an Incomplete Multipart Upload.
7020 DaysAfterInitiation *int64 `type:"integer"`
7021}
7022
7023// String returns the string representation
7024func (s AbortIncompleteMultipartUpload) String() string {
7025 return awsutil.Prettify(s)
7026}
7027
7028// GoString returns the string representation
7029func (s AbortIncompleteMultipartUpload) GoString() string {
7030 return s.String()
7031}
7032
7033// SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
7034func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload {
7035 s.DaysAfterInitiation = &v
7036 return s
7037}
7038
bae9f6d2
JC
7039type AbortMultipartUploadInput struct {
7040 _ struct{} `type:"structure"`
7041
7042 // Bucket is a required field
7043 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7044
7045 // Key is a required field
7046 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
7047
7048 // Confirms that the requester knows that she or he will be charged for the
7049 // request. Bucket owners need not specify this parameter in their requests.
7050 // Documentation on downloading objects from requester pays buckets can be found
7051 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7052 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
7053
7054 // UploadId is a required field
7055 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
7056}
7057
7058// String returns the string representation
7059func (s AbortMultipartUploadInput) String() string {
7060 return awsutil.Prettify(s)
7061}
7062
7063// GoString returns the string representation
7064func (s AbortMultipartUploadInput) GoString() string {
7065 return s.String()
7066}
7067
7068// Validate inspects the fields of the type to determine if they are valid.
7069func (s *AbortMultipartUploadInput) Validate() error {
7070 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"}
7071 if s.Bucket == nil {
7072 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7073 }
107c1cdb
ND
7074 if s.Bucket != nil && len(*s.Bucket) < 1 {
7075 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
7076 }
bae9f6d2
JC
7077 if s.Key == nil {
7078 invalidParams.Add(request.NewErrParamRequired("Key"))
7079 }
7080 if s.Key != nil && len(*s.Key) < 1 {
7081 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7082 }
7083 if s.UploadId == nil {
7084 invalidParams.Add(request.NewErrParamRequired("UploadId"))
7085 }
7086
7087 if invalidParams.Len() > 0 {
7088 return invalidParams
7089 }
7090 return nil
7091}
7092
7093// SetBucket sets the Bucket field's value.
7094func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput {
7095 s.Bucket = &v
7096 return s
7097}
7098
15c0b25d
AP
7099func (s *AbortMultipartUploadInput) getBucket() (v string) {
7100 if s.Bucket == nil {
7101 return v
7102 }
7103 return *s.Bucket
7104}
7105
bae9f6d2
JC
7106// SetKey sets the Key field's value.
7107func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
7108 s.Key = &v
7109 return s
7110}
7111
7112// SetRequestPayer sets the RequestPayer field's value.
7113func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput {
7114 s.RequestPayer = &v
7115 return s
7116}
7117
7118// SetUploadId sets the UploadId field's value.
7119func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput {
7120 s.UploadId = &v
7121 return s
7122}
7123
bae9f6d2
JC
7124type AbortMultipartUploadOutput struct {
7125 _ struct{} `type:"structure"`
7126
7127 // If present, indicates that the requester was successfully charged for the
7128 // request.
7129 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
7130}
7131
7132// String returns the string representation
7133func (s AbortMultipartUploadOutput) String() string {
7134 return awsutil.Prettify(s)
7135}
7136
7137// GoString returns the string representation
7138func (s AbortMultipartUploadOutput) GoString() string {
7139 return s.String()
7140}
7141
7142// SetRequestCharged sets the RequestCharged field's value.
7143func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput {
7144 s.RequestCharged = &v
7145 return s
7146}
7147
bae9f6d2
JC
7148type AccelerateConfiguration struct {
7149 _ struct{} `type:"structure"`
7150
7151 // The accelerate configuration of the bucket.
7152 Status *string `type:"string" enum:"BucketAccelerateStatus"`
7153}
7154
7155// String returns the string representation
7156func (s AccelerateConfiguration) String() string {
7157 return awsutil.Prettify(s)
7158}
7159
7160// GoString returns the string representation
7161func (s AccelerateConfiguration) GoString() string {
7162 return s.String()
7163}
7164
7165// SetStatus sets the Status field's value.
7166func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
7167 s.Status = &v
7168 return s
7169}
7170
bae9f6d2
JC
7171type AccessControlPolicy struct {
7172 _ struct{} `type:"structure"`
7173
7174 // A list of grants.
7175 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
7176
7177 Owner *Owner `type:"structure"`
7178}
7179
7180// String returns the string representation
7181func (s AccessControlPolicy) String() string {
7182 return awsutil.Prettify(s)
7183}
7184
7185// GoString returns the string representation
7186func (s AccessControlPolicy) GoString() string {
7187 return s.String()
7188}
7189
7190// Validate inspects the fields of the type to determine if they are valid.
7191func (s *AccessControlPolicy) Validate() error {
7192 invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"}
7193 if s.Grants != nil {
7194 for i, v := range s.Grants {
7195 if v == nil {
7196 continue
7197 }
7198 if err := v.Validate(); err != nil {
7199 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams))
7200 }
7201 }
7202 }
7203
7204 if invalidParams.Len() > 0 {
7205 return invalidParams
7206 }
7207 return nil
7208}
7209
7210// SetGrants sets the Grants field's value.
7211func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy {
7212 s.Grants = v
7213 return s
7214}
7215
7216// SetOwner sets the Owner field's value.
7217func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
7218 s.Owner = v
7219 return s
7220}
7221
107c1cdb 7222// A container for information about access control for replicas.
15c0b25d
AP
7223type AccessControlTranslation struct {
7224 _ struct{} `type:"structure"`
7225
7226 // The override value for the owner of the replica object.
7227 //
7228 // Owner is a required field
7229 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
7230}
7231
7232// String returns the string representation
7233func (s AccessControlTranslation) String() string {
7234 return awsutil.Prettify(s)
7235}
7236
7237// GoString returns the string representation
7238func (s AccessControlTranslation) GoString() string {
7239 return s.String()
7240}
7241
7242// Validate inspects the fields of the type to determine if they are valid.
7243func (s *AccessControlTranslation) Validate() error {
7244 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"}
7245 if s.Owner == nil {
7246 invalidParams.Add(request.NewErrParamRequired("Owner"))
7247 }
7248
7249 if invalidParams.Len() > 0 {
7250 return invalidParams
7251 }
7252 return nil
7253}
7254
7255// SetOwner sets the Owner field's value.
7256func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
7257 s.Owner = &v
7258 return s
7259}
7260
bae9f6d2
JC
7261type AnalyticsAndOperator struct {
7262 _ struct{} `type:"structure"`
7263
7264 // The prefix to use when evaluating an AND predicate.
7265 Prefix *string `type:"string"`
7266
7267 // The list of tags to use when evaluating an AND predicate.
7268 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
7269}
7270
7271// String returns the string representation
7272func (s AnalyticsAndOperator) String() string {
7273 return awsutil.Prettify(s)
7274}
7275
7276// GoString returns the string representation
7277func (s AnalyticsAndOperator) GoString() string {
7278 return s.String()
7279}
7280
7281// Validate inspects the fields of the type to determine if they are valid.
7282func (s *AnalyticsAndOperator) Validate() error {
7283 invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"}
7284 if s.Tags != nil {
7285 for i, v := range s.Tags {
7286 if v == nil {
7287 continue
7288 }
7289 if err := v.Validate(); err != nil {
7290 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7291 }
7292 }
7293 }
7294
7295 if invalidParams.Len() > 0 {
7296 return invalidParams
7297 }
7298 return nil
7299}
7300
7301// SetPrefix sets the Prefix field's value.
7302func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator {
7303 s.Prefix = &v
7304 return s
7305}
7306
7307// SetTags sets the Tags field's value.
7308func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
7309 s.Tags = v
7310 return s
7311}
7312
bae9f6d2
JC
7313type AnalyticsConfiguration struct {
7314 _ struct{} `type:"structure"`
7315
7316 // The filter used to describe a set of objects for analyses. A filter must
7317 // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator).
7318 // If no filter is provided, all objects will be considered in any analysis.
7319 Filter *AnalyticsFilter `type:"structure"`
7320
7321 // The identifier used to represent an analytics configuration.
7322 //
7323 // Id is a required field
7324 Id *string `type:"string" required:"true"`
7325
7326 // If present, it indicates that data related to access patterns will be collected
7327 // and made available to analyze the tradeoffs between different storage classes.
7328 //
7329 // StorageClassAnalysis is a required field
7330 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
7331}
7332
7333// String returns the string representation
7334func (s AnalyticsConfiguration) String() string {
7335 return awsutil.Prettify(s)
7336}
7337
7338// GoString returns the string representation
7339func (s AnalyticsConfiguration) GoString() string {
7340 return s.String()
7341}
7342
7343// Validate inspects the fields of the type to determine if they are valid.
7344func (s *AnalyticsConfiguration) Validate() error {
7345 invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"}
7346 if s.Id == nil {
7347 invalidParams.Add(request.NewErrParamRequired("Id"))
7348 }
7349 if s.StorageClassAnalysis == nil {
7350 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis"))
7351 }
7352 if s.Filter != nil {
7353 if err := s.Filter.Validate(); err != nil {
7354 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7355 }
7356 }
7357 if s.StorageClassAnalysis != nil {
7358 if err := s.StorageClassAnalysis.Validate(); err != nil {
7359 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams))
7360 }
7361 }
7362
7363 if invalidParams.Len() > 0 {
7364 return invalidParams
7365 }
7366 return nil
7367}
7368
7369// SetFilter sets the Filter field's value.
7370func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration {
7371 s.Filter = v
7372 return s
7373}
7374
7375// SetId sets the Id field's value.
7376func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration {
7377 s.Id = &v
7378 return s
7379}
7380
7381// SetStorageClassAnalysis sets the StorageClassAnalysis field's value.
7382func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration {
7383 s.StorageClassAnalysis = v
7384 return s
7385}
7386
bae9f6d2
JC
7387type AnalyticsExportDestination struct {
7388 _ struct{} `type:"structure"`
7389
7390 // A destination signifying output to an S3 bucket.
7391 //
7392 // S3BucketDestination is a required field
7393 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"`
7394}
7395
7396// String returns the string representation
7397func (s AnalyticsExportDestination) String() string {
7398 return awsutil.Prettify(s)
7399}
7400
7401// GoString returns the string representation
7402func (s AnalyticsExportDestination) GoString() string {
7403 return s.String()
7404}
7405
7406// Validate inspects the fields of the type to determine if they are valid.
7407func (s *AnalyticsExportDestination) Validate() error {
7408 invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"}
7409 if s.S3BucketDestination == nil {
7410 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
7411 }
7412 if s.S3BucketDestination != nil {
7413 if err := s.S3BucketDestination.Validate(); err != nil {
7414 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
7415 }
7416 }
7417
7418 if invalidParams.Len() > 0 {
7419 return invalidParams
7420 }
7421 return nil
7422}
7423
7424// SetS3BucketDestination sets the S3BucketDestination field's value.
7425func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination {
7426 s.S3BucketDestination = v
7427 return s
7428}
7429
bae9f6d2
JC
7430type AnalyticsFilter struct {
7431 _ struct{} `type:"structure"`
7432
7433 // A conjunction (logical AND) of predicates, which is used in evaluating an
7434 // analytics filter. The operator must have at least two predicates.
7435 And *AnalyticsAndOperator `type:"structure"`
7436
7437 // The prefix to use when evaluating an analytics filter.
7438 Prefix *string `type:"string"`
7439
7440 // The tag to use when evaluating an analytics filter.
7441 Tag *Tag `type:"structure"`
7442}
7443
7444// String returns the string representation
7445func (s AnalyticsFilter) String() string {
7446 return awsutil.Prettify(s)
7447}
7448
7449// GoString returns the string representation
7450func (s AnalyticsFilter) GoString() string {
7451 return s.String()
7452}
7453
7454// Validate inspects the fields of the type to determine if they are valid.
7455func (s *AnalyticsFilter) Validate() error {
7456 invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"}
7457 if s.And != nil {
7458 if err := s.And.Validate(); err != nil {
7459 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
7460 }
7461 }
7462 if s.Tag != nil {
7463 if err := s.Tag.Validate(); err != nil {
7464 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
7465 }
7466 }
7467
7468 if invalidParams.Len() > 0 {
7469 return invalidParams
7470 }
7471 return nil
7472}
7473
7474// SetAnd sets the And field's value.
7475func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter {
7476 s.And = v
7477 return s
7478}
7479
7480// SetPrefix sets the Prefix field's value.
7481func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter {
7482 s.Prefix = &v
7483 return s
7484}
7485
7486// SetTag sets the Tag field's value.
7487func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
7488 s.Tag = v
7489 return s
7490}
7491
bae9f6d2
JC
7492type AnalyticsS3BucketDestination struct {
7493 _ struct{} `type:"structure"`
7494
7495 // The Amazon resource name (ARN) of the bucket to which data is exported.
7496 //
7497 // Bucket is a required field
7498 Bucket *string `type:"string" required:"true"`
7499
7500 // The account ID that owns the destination bucket. If no account ID is provided,
7501 // the owner will not be validated prior to exporting data.
7502 BucketAccountId *string `type:"string"`
7503
7504 // The file format used when exporting data to Amazon S3.
7505 //
7506 // Format is a required field
7507 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
7508
7509 // The prefix to use when exporting data. The exported data begins with this
7510 // prefix.
7511 Prefix *string `type:"string"`
7512}
7513
7514// String returns the string representation
7515func (s AnalyticsS3BucketDestination) String() string {
7516 return awsutil.Prettify(s)
7517}
7518
7519// GoString returns the string representation
7520func (s AnalyticsS3BucketDestination) GoString() string {
7521 return s.String()
7522}
7523
7524// Validate inspects the fields of the type to determine if they are valid.
7525func (s *AnalyticsS3BucketDestination) Validate() error {
7526 invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"}
7527 if s.Bucket == nil {
7528 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7529 }
7530 if s.Format == nil {
7531 invalidParams.Add(request.NewErrParamRequired("Format"))
7532 }
7533
7534 if invalidParams.Len() > 0 {
7535 return invalidParams
7536 }
7537 return nil
7538}
7539
7540// SetBucket sets the Bucket field's value.
7541func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination {
7542 s.Bucket = &v
7543 return s
7544}
7545
15c0b25d
AP
7546func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
7547 if s.Bucket == nil {
7548 return v
7549 }
7550 return *s.Bucket
7551}
7552
bae9f6d2
JC
7553// SetBucketAccountId sets the BucketAccountId field's value.
7554func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
7555 s.BucketAccountId = &v
7556 return s
7557}
7558
7559// SetFormat sets the Format field's value.
7560func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination {
7561 s.Format = &v
7562 return s
7563}
7564
7565// SetPrefix sets the Prefix field's value.
7566func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination {
7567 s.Prefix = &v
7568 return s
7569}
7570
bae9f6d2
JC
7571type Bucket struct {
7572 _ struct{} `type:"structure"`
7573
7574 // Date the bucket was created.
15c0b25d 7575 CreationDate *time.Time `type:"timestamp"`
bae9f6d2
JC
7576
7577 // The name of the bucket.
7578 Name *string `type:"string"`
7579}
7580
7581// String returns the string representation
7582func (s Bucket) String() string {
7583 return awsutil.Prettify(s)
7584}
7585
7586// GoString returns the string representation
7587func (s Bucket) GoString() string {
7588 return s.String()
7589}
7590
7591// SetCreationDate sets the CreationDate field's value.
7592func (s *Bucket) SetCreationDate(v time.Time) *Bucket {
7593 s.CreationDate = &v
7594 return s
7595}
7596
7597// SetName sets the Name field's value.
7598func (s *Bucket) SetName(v string) *Bucket {
7599 s.Name = &v
7600 return s
7601}
7602
bae9f6d2
JC
7603type BucketLifecycleConfiguration struct {
7604 _ struct{} `type:"structure"`
7605
7606 // Rules is a required field
7607 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
7608}
7609
7610// String returns the string representation
7611func (s BucketLifecycleConfiguration) String() string {
7612 return awsutil.Prettify(s)
7613}
7614
7615// GoString returns the string representation
7616func (s BucketLifecycleConfiguration) GoString() string {
7617 return s.String()
7618}
7619
7620// Validate inspects the fields of the type to determine if they are valid.
7621func (s *BucketLifecycleConfiguration) Validate() error {
7622 invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"}
7623 if s.Rules == nil {
7624 invalidParams.Add(request.NewErrParamRequired("Rules"))
7625 }
7626 if s.Rules != nil {
7627 for i, v := range s.Rules {
7628 if v == nil {
7629 continue
7630 }
7631 if err := v.Validate(); err != nil {
7632 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
7633 }
7634 }
7635 }
7636
7637 if invalidParams.Len() > 0 {
7638 return invalidParams
7639 }
7640 return nil
7641}
7642
7643// SetRules sets the Rules field's value.
7644func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration {
7645 s.Rules = v
7646 return s
7647}
7648
bae9f6d2
JC
7649type BucketLoggingStatus struct {
7650 _ struct{} `type:"structure"`
7651
15c0b25d
AP
7652 // Container for logging information. Presence of this element indicates that
7653 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
7654 // in this case.
bae9f6d2
JC
7655 LoggingEnabled *LoggingEnabled `type:"structure"`
7656}
7657
7658// String returns the string representation
7659func (s BucketLoggingStatus) String() string {
7660 return awsutil.Prettify(s)
7661}
7662
7663// GoString returns the string representation
7664func (s BucketLoggingStatus) GoString() string {
7665 return s.String()
7666}
7667
7668// Validate inspects the fields of the type to determine if they are valid.
7669func (s *BucketLoggingStatus) Validate() error {
7670 invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"}
7671 if s.LoggingEnabled != nil {
7672 if err := s.LoggingEnabled.Validate(); err != nil {
7673 invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams))
7674 }
7675 }
7676
7677 if invalidParams.Len() > 0 {
7678 return invalidParams
7679 }
7680 return nil
7681}
7682
7683// SetLoggingEnabled sets the LoggingEnabled field's value.
7684func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus {
7685 s.LoggingEnabled = v
7686 return s
7687}
7688
bae9f6d2
JC
7689type CORSConfiguration struct {
7690 _ struct{} `type:"structure"`
7691
7692 // CORSRules is a required field
7693 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
7694}
7695
7696// String returns the string representation
7697func (s CORSConfiguration) String() string {
7698 return awsutil.Prettify(s)
7699}
7700
7701// GoString returns the string representation
7702func (s CORSConfiguration) GoString() string {
7703 return s.String()
7704}
7705
7706// Validate inspects the fields of the type to determine if they are valid.
7707func (s *CORSConfiguration) Validate() error {
7708 invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"}
7709 if s.CORSRules == nil {
7710 invalidParams.Add(request.NewErrParamRequired("CORSRules"))
7711 }
7712 if s.CORSRules != nil {
7713 for i, v := range s.CORSRules {
7714 if v == nil {
7715 continue
7716 }
7717 if err := v.Validate(); err != nil {
7718 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams))
7719 }
7720 }
7721 }
7722
7723 if invalidParams.Len() > 0 {
7724 return invalidParams
7725 }
7726 return nil
7727}
7728
7729// SetCORSRules sets the CORSRules field's value.
7730func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
7731 s.CORSRules = v
7732 return s
7733}
7734
bae9f6d2
JC
7735type CORSRule struct {
7736 _ struct{} `type:"structure"`
7737
7738 // Specifies which headers are allowed in a pre-flight OPTIONS request.
7739 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
7740
7741 // Identifies HTTP methods that the domain/origin specified in the rule is allowed
7742 // to execute.
7743 //
7744 // AllowedMethods is a required field
7745 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
7746
7747 // One or more origins you want customers to be able to access the bucket from.
7748 //
7749 // AllowedOrigins is a required field
7750 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"`
7751
7752 // One or more headers in the response that you want customers to be able to
7753 // access from their applications (for example, from a JavaScript XMLHttpRequest
7754 // object).
7755 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"`
7756
7757 // The time in seconds that your browser is to cache the preflight response
7758 // for the specified resource.
7759 MaxAgeSeconds *int64 `type:"integer"`
7760}
7761
7762// String returns the string representation
7763func (s CORSRule) String() string {
7764 return awsutil.Prettify(s)
7765}
7766
7767// GoString returns the string representation
7768func (s CORSRule) GoString() string {
7769 return s.String()
7770}
7771
7772// Validate inspects the fields of the type to determine if they are valid.
7773func (s *CORSRule) Validate() error {
7774 invalidParams := request.ErrInvalidParams{Context: "CORSRule"}
7775 if s.AllowedMethods == nil {
7776 invalidParams.Add(request.NewErrParamRequired("AllowedMethods"))
7777 }
7778 if s.AllowedOrigins == nil {
7779 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins"))
7780 }
7781
7782 if invalidParams.Len() > 0 {
7783 return invalidParams
7784 }
7785 return nil
7786}
7787
7788// SetAllowedHeaders sets the AllowedHeaders field's value.
7789func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule {
7790 s.AllowedHeaders = v
7791 return s
7792}
7793
7794// SetAllowedMethods sets the AllowedMethods field's value.
7795func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule {
7796 s.AllowedMethods = v
7797 return s
7798}
7799
7800// SetAllowedOrigins sets the AllowedOrigins field's value.
7801func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule {
7802 s.AllowedOrigins = v
7803 return s
7804}
7805
7806// SetExposeHeaders sets the ExposeHeaders field's value.
7807func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule {
7808 s.ExposeHeaders = v
7809 return s
7810}
7811
7812// SetMaxAgeSeconds sets the MaxAgeSeconds field's value.
7813func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
7814 s.MaxAgeSeconds = &v
7815 return s
7816}
7817
15c0b25d
AP
7818// Describes how a CSV-formatted input object is formatted.
7819type CSVInput struct {
7820 _ struct{} `type:"structure"`
7821
7822 // Specifies that CSV field values may contain quoted record delimiters and
7823 // such records should be allowed. Default value is FALSE. Setting this value
7824 // to TRUE may lower performance.
7825 AllowQuotedRecordDelimiter *bool `type:"boolean"`
7826
107c1cdb
ND
7827 // The single character used to indicate a row should be ignored when present
7828 // at the start of a row.
15c0b25d
AP
7829 Comments *string `type:"string"`
7830
107c1cdb 7831 // The value used to separate individual fields in a record.
15c0b25d
AP
7832 FieldDelimiter *string `type:"string"`
7833
7834 // Describes the first line of input. Valid values: None, Ignore, Use.
7835 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
7836
7837 // Value used for escaping where the field delimiter is part of the value.
7838 QuoteCharacter *string `type:"string"`
7839
107c1cdb 7840 // The single character used for escaping the quote character inside an already
15c0b25d
AP
7841 // escaped value.
7842 QuoteEscapeCharacter *string `type:"string"`
7843
107c1cdb 7844 // The value used to separate individual records.
15c0b25d
AP
7845 RecordDelimiter *string `type:"string"`
7846}
7847
7848// String returns the string representation
7849func (s CSVInput) String() string {
7850 return awsutil.Prettify(s)
7851}
7852
7853// GoString returns the string representation
7854func (s CSVInput) GoString() string {
7855 return s.String()
7856}
7857
7858// SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
7859func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
7860 s.AllowQuotedRecordDelimiter = &v
7861 return s
7862}
7863
7864// SetComments sets the Comments field's value.
7865func (s *CSVInput) SetComments(v string) *CSVInput {
7866 s.Comments = &v
7867 return s
7868}
7869
7870// SetFieldDelimiter sets the FieldDelimiter field's value.
7871func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
7872 s.FieldDelimiter = &v
7873 return s
7874}
7875
7876// SetFileHeaderInfo sets the FileHeaderInfo field's value.
7877func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
7878 s.FileHeaderInfo = &v
7879 return s
7880}
7881
7882// SetQuoteCharacter sets the QuoteCharacter field's value.
7883func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
7884 s.QuoteCharacter = &v
7885 return s
7886}
7887
7888// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7889func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
7890 s.QuoteEscapeCharacter = &v
7891 return s
7892}
7893
7894// SetRecordDelimiter sets the RecordDelimiter field's value.
7895func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
7896 s.RecordDelimiter = &v
7897 return s
7898}
7899
7900// Describes how CSV-formatted results are formatted.
7901type CSVOutput struct {
7902 _ struct{} `type:"structure"`
7903
107c1cdb 7904 // The value used to separate individual fields in a record.
15c0b25d
AP
7905 FieldDelimiter *string `type:"string"`
7906
107c1cdb 7907 // The value used for escaping where the field delimiter is part of the value.
15c0b25d
AP
7908 QuoteCharacter *string `type:"string"`
7909
107c1cdb 7910 // Th single character used for escaping the quote character inside an already
15c0b25d
AP
7911 // escaped value.
7912 QuoteEscapeCharacter *string `type:"string"`
7913
7914 // Indicates whether or not all output fields should be quoted.
7915 QuoteFields *string `type:"string" enum:"QuoteFields"`
7916
107c1cdb 7917 // The value used to separate individual records.
15c0b25d
AP
7918 RecordDelimiter *string `type:"string"`
7919}
7920
7921// String returns the string representation
7922func (s CSVOutput) String() string {
7923 return awsutil.Prettify(s)
7924}
7925
7926// GoString returns the string representation
7927func (s CSVOutput) GoString() string {
7928 return s.String()
7929}
7930
7931// SetFieldDelimiter sets the FieldDelimiter field's value.
7932func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
7933 s.FieldDelimiter = &v
7934 return s
7935}
7936
7937// SetQuoteCharacter sets the QuoteCharacter field's value.
7938func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
7939 s.QuoteCharacter = &v
7940 return s
7941}
7942
7943// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7944func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
7945 s.QuoteEscapeCharacter = &v
7946 return s
7947}
7948
7949// SetQuoteFields sets the QuoteFields field's value.
7950func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
7951 s.QuoteFields = &v
7952 return s
7953}
7954
7955// SetRecordDelimiter sets the RecordDelimiter field's value.
7956func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
7957 s.RecordDelimiter = &v
7958 return s
7959}
7960
bae9f6d2
JC
7961type CloudFunctionConfiguration struct {
7962 _ struct{} `type:"structure"`
7963
7964 CloudFunction *string `type:"string"`
7965
107c1cdb
ND
7966 // The bucket event for which to send notifications.
7967 //
7968 // Deprecated: Event has been deprecated
bae9f6d2
JC
7969 Event *string `deprecated:"true" type:"string" enum:"Event"`
7970
7971 Events []*string `locationName:"Event" type:"list" flattened:"true"`
7972
107c1cdb 7973 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
7974 // If you don't provide one, Amazon S3 will assign an ID.
7975 Id *string `type:"string"`
7976
7977 InvocationRole *string `type:"string"`
7978}
7979
7980// String returns the string representation
7981func (s CloudFunctionConfiguration) String() string {
7982 return awsutil.Prettify(s)
7983}
7984
7985// GoString returns the string representation
7986func (s CloudFunctionConfiguration) GoString() string {
7987 return s.String()
7988}
7989
7990// SetCloudFunction sets the CloudFunction field's value.
7991func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration {
7992 s.CloudFunction = &v
7993 return s
7994}
7995
7996// SetEvent sets the Event field's value.
7997func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration {
7998 s.Event = &v
7999 return s
8000}
8001
8002// SetEvents sets the Events field's value.
8003func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration {
8004 s.Events = v
8005 return s
8006}
8007
8008// SetId sets the Id field's value.
8009func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration {
8010 s.Id = &v
8011 return s
8012}
8013
8014// SetInvocationRole sets the InvocationRole field's value.
8015func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration {
8016 s.InvocationRole = &v
8017 return s
8018}
8019
bae9f6d2
JC
8020type CommonPrefix struct {
8021 _ struct{} `type:"structure"`
8022
8023 Prefix *string `type:"string"`
8024}
8025
8026// String returns the string representation
8027func (s CommonPrefix) String() string {
8028 return awsutil.Prettify(s)
8029}
8030
8031// GoString returns the string representation
8032func (s CommonPrefix) GoString() string {
8033 return s.String()
8034}
8035
8036// SetPrefix sets the Prefix field's value.
8037func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
8038 s.Prefix = &v
8039 return s
8040}
8041
bae9f6d2
JC
8042type CompleteMultipartUploadInput struct {
8043 _ struct{} `type:"structure" payload:"MultipartUpload"`
8044
8045 // Bucket is a required field
8046 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8047
8048 // Key is a required field
8049 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8050
15c0b25d 8051 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
8052
8053 // Confirms that the requester knows that she or he will be charged for the
8054 // request. Bucket owners need not specify this parameter in their requests.
8055 // Documentation on downloading objects from requester pays buckets can be found
8056 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8057 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8058
8059 // UploadId is a required field
8060 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
8061}
8062
8063// String returns the string representation
8064func (s CompleteMultipartUploadInput) String() string {
8065 return awsutil.Prettify(s)
8066}
8067
8068// GoString returns the string representation
8069func (s CompleteMultipartUploadInput) GoString() string {
8070 return s.String()
8071}
8072
8073// Validate inspects the fields of the type to determine if they are valid.
8074func (s *CompleteMultipartUploadInput) Validate() error {
8075 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"}
8076 if s.Bucket == nil {
8077 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8078 }
107c1cdb
ND
8079 if s.Bucket != nil && len(*s.Bucket) < 1 {
8080 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8081 }
bae9f6d2
JC
8082 if s.Key == nil {
8083 invalidParams.Add(request.NewErrParamRequired("Key"))
8084 }
8085 if s.Key != nil && len(*s.Key) < 1 {
8086 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8087 }
8088 if s.UploadId == nil {
8089 invalidParams.Add(request.NewErrParamRequired("UploadId"))
8090 }
8091
8092 if invalidParams.Len() > 0 {
8093 return invalidParams
8094 }
8095 return nil
8096}
8097
8098// SetBucket sets the Bucket field's value.
8099func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput {
8100 s.Bucket = &v
8101 return s
8102}
8103
15c0b25d
AP
8104func (s *CompleteMultipartUploadInput) getBucket() (v string) {
8105 if s.Bucket == nil {
8106 return v
8107 }
8108 return *s.Bucket
8109}
8110
bae9f6d2
JC
8111// SetKey sets the Key field's value.
8112func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
8113 s.Key = &v
8114 return s
8115}
8116
8117// SetMultipartUpload sets the MultipartUpload field's value.
8118func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput {
8119 s.MultipartUpload = v
8120 return s
8121}
8122
8123// SetRequestPayer sets the RequestPayer field's value.
8124func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput {
8125 s.RequestPayer = &v
8126 return s
8127}
8128
8129// SetUploadId sets the UploadId field's value.
8130func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
8131 s.UploadId = &v
8132 return s
8133}
8134
bae9f6d2
JC
8135type CompleteMultipartUploadOutput struct {
8136 _ struct{} `type:"structure"`
8137
8138 Bucket *string `type:"string"`
8139
8140 // Entity tag of the object.
8141 ETag *string `type:"string"`
8142
8143 // If the object expiration is configured, this will contain the expiration
8144 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
8145 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8146
8147 Key *string `min:"1" type:"string"`
8148
8149 Location *string `type:"string"`
8150
8151 // If present, indicates that the requester was successfully charged for the
8152 // request.
8153 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8154
8155 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8156 // encryption key that was used for the object.
107c1cdb 8157 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
8158
8159 // The Server-side encryption algorithm used when storing this object in S3
8160 // (e.g., AES256, aws:kms).
8161 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8162
8163 // Version of the object.
8164 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8165}
8166
8167// String returns the string representation
8168func (s CompleteMultipartUploadOutput) String() string {
8169 return awsutil.Prettify(s)
8170}
8171
8172// GoString returns the string representation
8173func (s CompleteMultipartUploadOutput) GoString() string {
8174 return s.String()
8175}
8176
8177// SetBucket sets the Bucket field's value.
8178func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput {
8179 s.Bucket = &v
8180 return s
8181}
8182
15c0b25d
AP
8183func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
8184 if s.Bucket == nil {
8185 return v
8186 }
8187 return *s.Bucket
8188}
8189
bae9f6d2
JC
8190// SetETag sets the ETag field's value.
8191func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
8192 s.ETag = &v
8193 return s
8194}
8195
8196// SetExpiration sets the Expiration field's value.
8197func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput {
8198 s.Expiration = &v
8199 return s
8200}
8201
8202// SetKey sets the Key field's value.
8203func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput {
8204 s.Key = &v
8205 return s
8206}
8207
8208// SetLocation sets the Location field's value.
8209func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput {
8210 s.Location = &v
8211 return s
8212}
8213
8214// SetRequestCharged sets the RequestCharged field's value.
8215func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput {
8216 s.RequestCharged = &v
8217 return s
8218}
8219
8220// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8221func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput {
8222 s.SSEKMSKeyId = &v
8223 return s
8224}
8225
8226// SetServerSideEncryption sets the ServerSideEncryption field's value.
8227func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput {
8228 s.ServerSideEncryption = &v
8229 return s
8230}
8231
8232// SetVersionId sets the VersionId field's value.
8233func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput {
8234 s.VersionId = &v
8235 return s
8236}
8237
bae9f6d2
JC
8238type CompletedMultipartUpload struct {
8239 _ struct{} `type:"structure"`
8240
8241 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
8242}
8243
8244// String returns the string representation
8245func (s CompletedMultipartUpload) String() string {
8246 return awsutil.Prettify(s)
8247}
8248
8249// GoString returns the string representation
8250func (s CompletedMultipartUpload) GoString() string {
8251 return s.String()
8252}
8253
8254// SetParts sets the Parts field's value.
8255func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload {
8256 s.Parts = v
8257 return s
8258}
8259
bae9f6d2
JC
8260type CompletedPart struct {
8261 _ struct{} `type:"structure"`
8262
8263 // Entity tag returned when the part was uploaded.
8264 ETag *string `type:"string"`
8265
8266 // Part number that identifies the part. This is a positive integer between
8267 // 1 and 10,000.
8268 PartNumber *int64 `type:"integer"`
8269}
8270
8271// String returns the string representation
8272func (s CompletedPart) String() string {
8273 return awsutil.Prettify(s)
8274}
8275
8276// GoString returns the string representation
8277func (s CompletedPart) GoString() string {
8278 return s.String()
8279}
8280
8281// SetETag sets the ETag field's value.
8282func (s *CompletedPart) SetETag(v string) *CompletedPart {
8283 s.ETag = &v
8284 return s
8285}
8286
8287// SetPartNumber sets the PartNumber field's value.
8288func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
8289 s.PartNumber = &v
8290 return s
8291}
8292
bae9f6d2
JC
8293type Condition struct {
8294 _ struct{} `type:"structure"`
8295
8296 // The HTTP error code when the redirect is applied. In the event of an error,
8297 // if the error code equals this value, then the specified redirect is applied.
8298 // Required when parent element Condition is specified and sibling KeyPrefixEquals
8299 // is not specified. If both are specified, then both must be true for the redirect
8300 // to be applied.
8301 HttpErrorCodeReturnedEquals *string `type:"string"`
8302
8303 // The object key name prefix when the redirect is applied. For example, to
8304 // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html.
8305 // To redirect request for all pages with the prefix docs/, the key prefix will
8306 // be /docs, which identifies all objects in the docs/ folder. Required when
8307 // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals
8308 // is not specified. If both conditions are specified, both must be true for
8309 // the redirect to be applied.
8310 KeyPrefixEquals *string `type:"string"`
8311}
8312
8313// String returns the string representation
8314func (s Condition) String() string {
8315 return awsutil.Prettify(s)
8316}
8317
8318// GoString returns the string representation
8319func (s Condition) GoString() string {
8320 return s.String()
8321}
8322
8323// SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
8324func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition {
8325 s.HttpErrorCodeReturnedEquals = &v
8326 return s
8327}
8328
8329// SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
8330func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
8331 s.KeyPrefixEquals = &v
8332 return s
8333}
8334
15c0b25d
AP
8335type ContinuationEvent struct {
8336 _ struct{} `locationName:"ContinuationEvent" type:"structure"`
8337}
8338
8339// String returns the string representation
8340func (s ContinuationEvent) String() string {
8341 return awsutil.Prettify(s)
8342}
8343
8344// GoString returns the string representation
8345func (s ContinuationEvent) GoString() string {
8346 return s.String()
8347}
8348
8349// The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
8350func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
8351
8352// UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value.
8353// This method is only used internally within the SDK's EventStream handling.
8354func (s *ContinuationEvent) UnmarshalEvent(
8355 payloadUnmarshaler protocol.PayloadUnmarshaler,
8356 msg eventstream.Message,
8357) error {
8358 return nil
8359}
8360
bae9f6d2
JC
8361type CopyObjectInput struct {
8362 _ struct{} `type:"structure"`
8363
8364 // The canned ACL to apply to the object.
8365 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
8366
8367 // Bucket is a required field
8368 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8369
8370 // Specifies caching behavior along the request/reply chain.
8371 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
8372
8373 // Specifies presentational information for the object.
8374 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
8375
8376 // Specifies what content encodings have been applied to the object and thus
8377 // what decoding mechanisms must be applied to obtain the media-type referenced
8378 // by the Content-Type header field.
8379 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
8380
8381 // The language the content is in.
8382 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
8383
8384 // A standard MIME type describing the format of the object data.
8385 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
8386
8387 // The name of the source bucket and key name of the source object, separated
8388 // by a slash (/). Must be URL-encoded.
8389 //
8390 // CopySource is a required field
8391 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
8392
8393 // Copies the object if its entity tag (ETag) matches the specified tag.
8394 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
8395
8396 // Copies the object if it has been modified since the specified time.
15c0b25d 8397 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
bae9f6d2
JC
8398
8399 // Copies the object if its entity tag (ETag) is different than the specified
8400 // ETag.
8401 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
8402
8403 // Copies the object if it hasn't been modified since the specified time.
15c0b25d 8404 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
bae9f6d2
JC
8405
8406 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
8407 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
8408
8409 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
8410 // the source object. The encryption key provided in this header must be one
8411 // that was used when the source object was created.
107c1cdb 8412 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
8413
8414 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8415 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8416 // key was transmitted without error.
8417 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
8418
8419 // The date and time at which the object is no longer cacheable.
15c0b25d 8420 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
bae9f6d2
JC
8421
8422 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
8423 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8424
8425 // Allows grantee to read the object data and its metadata.
8426 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8427
8428 // Allows grantee to read the object ACL.
8429 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8430
8431 // Allows grantee to write the ACL for the applicable object.
8432 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8433
8434 // Key is a required field
8435 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8436
8437 // A map of metadata to store with the object in S3.
8438 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
8439
8440 // Specifies whether the metadata is copied from the source object or replaced
8441 // with metadata provided in the request.
8442 MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"`
8443
107c1cdb
ND
8444 // Specifies whether you want to apply a Legal Hold to the copied object.
8445 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
8446
8447 // The Object Lock mode that you want to apply to the copied object.
8448 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
8449
8450 // The date and time when you want the copied object's Object Lock to expire.
8451 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
8452
bae9f6d2
JC
8453 // Confirms that the requester knows that she or he will be charged for the
8454 // request. Bucket owners need not specify this parameter in their requests.
8455 // Documentation on downloading objects from requester pays buckets can be found
8456 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8457 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8458
8459 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
8460 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8461
8462 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
8463 // data. This value is used to store the object and then it is discarded; Amazon
8464 // does not store the encryption key. The key must be appropriate for use with
8465 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
8466 // header.
107c1cdb 8467 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
8468
8469 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8470 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8471 // key was transmitted without error.
8472 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8473
8474 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
8475 // requests for an object protected by AWS KMS will fail if not made via SSL
8476 // or using SigV4. Documentation on configuring any of the officially supported
8477 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
107c1cdb 8478 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
8479
8480 // The Server-side encryption algorithm used when storing this object in S3
8481 // (e.g., AES256, aws:kms).
8482 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8483
8484 // The type of storage to use for the object. Defaults to 'STANDARD'.
8485 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
8486
8487 // The tag-set for the object destination object this value must be used in
8488 // conjunction with the TaggingDirective. The tag-set must be encoded as URL
8489 // Query parameters
8490 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
8491
8492 // Specifies whether the object tag-set are copied from the source object or
8493 // replaced with tag-set provided in the request.
8494 TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"`
8495
8496 // If the bucket is configured as a website, redirects requests for this object
8497 // to another object in the same bucket or to an external URL. Amazon S3 stores
8498 // the value of this header in the object metadata.
8499 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
8500}
8501
8502// String returns the string representation
8503func (s CopyObjectInput) String() string {
8504 return awsutil.Prettify(s)
8505}
8506
8507// GoString returns the string representation
8508func (s CopyObjectInput) GoString() string {
8509 return s.String()
8510}
8511
8512// Validate inspects the fields of the type to determine if they are valid.
8513func (s *CopyObjectInput) Validate() error {
8514 invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"}
8515 if s.Bucket == nil {
8516 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8517 }
107c1cdb
ND
8518 if s.Bucket != nil && len(*s.Bucket) < 1 {
8519 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8520 }
bae9f6d2
JC
8521 if s.CopySource == nil {
8522 invalidParams.Add(request.NewErrParamRequired("CopySource"))
8523 }
8524 if s.Key == nil {
8525 invalidParams.Add(request.NewErrParamRequired("Key"))
8526 }
8527 if s.Key != nil && len(*s.Key) < 1 {
8528 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8529 }
8530
8531 if invalidParams.Len() > 0 {
8532 return invalidParams
8533 }
8534 return nil
8535}
8536
8537// SetACL sets the ACL field's value.
8538func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput {
8539 s.ACL = &v
8540 return s
8541}
8542
8543// SetBucket sets the Bucket field's value.
8544func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
8545 s.Bucket = &v
8546 return s
8547}
8548
15c0b25d
AP
8549func (s *CopyObjectInput) getBucket() (v string) {
8550 if s.Bucket == nil {
8551 return v
8552 }
8553 return *s.Bucket
8554}
8555
bae9f6d2
JC
8556// SetCacheControl sets the CacheControl field's value.
8557func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
8558 s.CacheControl = &v
8559 return s
8560}
8561
8562// SetContentDisposition sets the ContentDisposition field's value.
8563func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
8564 s.ContentDisposition = &v
8565 return s
8566}
8567
8568// SetContentEncoding sets the ContentEncoding field's value.
8569func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput {
8570 s.ContentEncoding = &v
8571 return s
8572}
8573
8574// SetContentLanguage sets the ContentLanguage field's value.
8575func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput {
8576 s.ContentLanguage = &v
8577 return s
8578}
8579
8580// SetContentType sets the ContentType field's value.
8581func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput {
8582 s.ContentType = &v
8583 return s
8584}
8585
8586// SetCopySource sets the CopySource field's value.
8587func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput {
8588 s.CopySource = &v
8589 return s
8590}
8591
8592// SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
8593func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput {
8594 s.CopySourceIfMatch = &v
8595 return s
8596}
8597
8598// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
8599func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput {
8600 s.CopySourceIfModifiedSince = &v
8601 return s
8602}
8603
8604// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
8605func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput {
8606 s.CopySourceIfNoneMatch = &v
8607 return s
8608}
8609
8610// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
8611func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput {
8612 s.CopySourceIfUnmodifiedSince = &v
8613 return s
8614}
8615
8616// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
8617func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput {
8618 s.CopySourceSSECustomerAlgorithm = &v
8619 return s
8620}
8621
8622// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
8623func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput {
8624 s.CopySourceSSECustomerKey = &v
8625 return s
8626}
8627
15c0b25d
AP
8628func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
8629 if s.CopySourceSSECustomerKey == nil {
8630 return v
8631 }
8632 return *s.CopySourceSSECustomerKey
8633}
8634
bae9f6d2
JC
8635// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
8636func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
8637 s.CopySourceSSECustomerKeyMD5 = &v
8638 return s
8639}
8640
8641// SetExpires sets the Expires field's value.
8642func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput {
8643 s.Expires = &v
8644 return s
8645}
8646
8647// SetGrantFullControl sets the GrantFullControl field's value.
8648func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput {
8649 s.GrantFullControl = &v
8650 return s
8651}
8652
8653// SetGrantRead sets the GrantRead field's value.
8654func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput {
8655 s.GrantRead = &v
8656 return s
8657}
8658
8659// SetGrantReadACP sets the GrantReadACP field's value.
8660func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput {
8661 s.GrantReadACP = &v
8662 return s
8663}
8664
8665// SetGrantWriteACP sets the GrantWriteACP field's value.
8666func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput {
8667 s.GrantWriteACP = &v
8668 return s
8669}
8670
8671// SetKey sets the Key field's value.
8672func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput {
8673 s.Key = &v
8674 return s
8675}
8676
8677// SetMetadata sets the Metadata field's value.
8678func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput {
8679 s.Metadata = v
8680 return s
8681}
8682
8683// SetMetadataDirective sets the MetadataDirective field's value.
8684func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput {
8685 s.MetadataDirective = &v
8686 return s
8687}
8688
107c1cdb
ND
8689// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
8690func (s *CopyObjectInput) SetObjectLockLegalHoldStatus(v string) *CopyObjectInput {
8691 s.ObjectLockLegalHoldStatus = &v
8692 return s
8693}
8694
8695// SetObjectLockMode sets the ObjectLockMode field's value.
8696func (s *CopyObjectInput) SetObjectLockMode(v string) *CopyObjectInput {
8697 s.ObjectLockMode = &v
8698 return s
8699}
8700
8701// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
8702func (s *CopyObjectInput) SetObjectLockRetainUntilDate(v time.Time) *CopyObjectInput {
8703 s.ObjectLockRetainUntilDate = &v
8704 return s
8705}
8706
bae9f6d2
JC
8707// SetRequestPayer sets the RequestPayer field's value.
8708func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput {
8709 s.RequestPayer = &v
8710 return s
8711}
8712
8713// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8714func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput {
8715 s.SSECustomerAlgorithm = &v
8716 return s
8717}
8718
8719// SetSSECustomerKey sets the SSECustomerKey field's value.
8720func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
8721 s.SSECustomerKey = &v
8722 return s
8723}
8724
15c0b25d
AP
8725func (s *CopyObjectInput) getSSECustomerKey() (v string) {
8726 if s.SSECustomerKey == nil {
8727 return v
8728 }
8729 return *s.SSECustomerKey
8730}
8731
bae9f6d2
JC
8732// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8733func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
8734 s.SSECustomerKeyMD5 = &v
8735 return s
8736}
8737
8738// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8739func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
8740 s.SSEKMSKeyId = &v
8741 return s
8742}
8743
8744// SetServerSideEncryption sets the ServerSideEncryption field's value.
8745func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput {
8746 s.ServerSideEncryption = &v
8747 return s
8748}
8749
8750// SetStorageClass sets the StorageClass field's value.
8751func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput {
8752 s.StorageClass = &v
8753 return s
8754}
8755
8756// SetTagging sets the Tagging field's value.
8757func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput {
8758 s.Tagging = &v
8759 return s
8760}
8761
8762// SetTaggingDirective sets the TaggingDirective field's value.
8763func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput {
8764 s.TaggingDirective = &v
8765 return s
8766}
8767
8768// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
8769func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput {
8770 s.WebsiteRedirectLocation = &v
8771 return s
8772}
8773
bae9f6d2
JC
8774type CopyObjectOutput struct {
8775 _ struct{} `type:"structure" payload:"CopyObjectResult"`
8776
8777 CopyObjectResult *CopyObjectResult `type:"structure"`
8778
8779 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
8780
8781 // If the object expiration is configured, the response includes this header.
8782 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8783
8784 // If present, indicates that the requester was successfully charged for the
8785 // request.
8786 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8787
8788 // If server-side encryption with a customer-provided encryption key was requested,
8789 // the response will include this header confirming the encryption algorithm
8790 // used.
8791 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8792
8793 // If server-side encryption with a customer-provided encryption key was requested,
8794 // the response will include this header to provide round trip message integrity
8795 // verification of the customer-provided encryption key.
8796 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8797
8798 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8799 // encryption key that was used for the object.
107c1cdb 8800 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
8801
8802 // The Server-side encryption algorithm used when storing this object in S3
8803 // (e.g., AES256, aws:kms).
8804 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8805
8806 // Version ID of the newly created copy.
8807 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8808}
8809
8810// String returns the string representation
8811func (s CopyObjectOutput) String() string {
8812 return awsutil.Prettify(s)
8813}
8814
8815// GoString returns the string representation
8816func (s CopyObjectOutput) GoString() string {
8817 return s.String()
8818}
8819
8820// SetCopyObjectResult sets the CopyObjectResult field's value.
8821func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
8822 s.CopyObjectResult = v
8823 return s
8824}
8825
8826// SetCopySourceVersionId sets the CopySourceVersionId field's value.
8827func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput {
8828 s.CopySourceVersionId = &v
8829 return s
8830}
8831
8832// SetExpiration sets the Expiration field's value.
8833func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput {
8834 s.Expiration = &v
8835 return s
8836}
8837
8838// SetRequestCharged sets the RequestCharged field's value.
8839func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput {
8840 s.RequestCharged = &v
8841 return s
8842}
8843
8844// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8845func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput {
8846 s.SSECustomerAlgorithm = &v
8847 return s
8848}
8849
8850// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8851func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
8852 s.SSECustomerKeyMD5 = &v
8853 return s
8854}
8855
8856// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8857func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
8858 s.SSEKMSKeyId = &v
8859 return s
8860}
8861
8862// SetServerSideEncryption sets the ServerSideEncryption field's value.
8863func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput {
8864 s.ServerSideEncryption = &v
8865 return s
8866}
8867
8868// SetVersionId sets the VersionId field's value.
8869func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
8870 s.VersionId = &v
8871 return s
8872}
8873
bae9f6d2
JC
8874type CopyObjectResult struct {
8875 _ struct{} `type:"structure"`
8876
8877 ETag *string `type:"string"`
8878
15c0b25d 8879 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
8880}
8881
8882// String returns the string representation
8883func (s CopyObjectResult) String() string {
8884 return awsutil.Prettify(s)
8885}
8886
8887// GoString returns the string representation
8888func (s CopyObjectResult) GoString() string {
8889 return s.String()
8890}
8891
8892// SetETag sets the ETag field's value.
8893func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
8894 s.ETag = &v
8895 return s
8896}
8897
8898// SetLastModified sets the LastModified field's value.
8899func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
8900 s.LastModified = &v
8901 return s
8902}
8903
bae9f6d2
JC
8904type CopyPartResult struct {
8905 _ struct{} `type:"structure"`
8906
8907 // Entity tag of the object.
8908 ETag *string `type:"string"`
8909
8910 // Date and time at which the object was uploaded.
15c0b25d 8911 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
8912}
8913
8914// String returns the string representation
8915func (s CopyPartResult) String() string {
8916 return awsutil.Prettify(s)
8917}
8918
8919// GoString returns the string representation
8920func (s CopyPartResult) GoString() string {
8921 return s.String()
8922}
8923
8924// SetETag sets the ETag field's value.
8925func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
8926 s.ETag = &v
8927 return s
8928}
8929
8930// SetLastModified sets the LastModified field's value.
8931func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
8932 s.LastModified = &v
8933 return s
8934}
8935
bae9f6d2
JC
8936type CreateBucketConfiguration struct {
8937 _ struct{} `type:"structure"`
8938
8939 // Specifies the region where the bucket will be created. If you don't specify
107c1cdb 8940 // a region, the bucket is created in US East (N. Virginia) Region (us-east-1).
bae9f6d2
JC
8941 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
8942}
8943
8944// String returns the string representation
8945func (s CreateBucketConfiguration) String() string {
8946 return awsutil.Prettify(s)
8947}
8948
8949// GoString returns the string representation
8950func (s CreateBucketConfiguration) GoString() string {
8951 return s.String()
8952}
8953
8954// SetLocationConstraint sets the LocationConstraint field's value.
8955func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration {
8956 s.LocationConstraint = &v
8957 return s
8958}
8959
bae9f6d2
JC
8960type CreateBucketInput struct {
8961 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
8962
8963 // The canned ACL to apply to the bucket.
8964 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
8965
8966 // Bucket is a required field
8967 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8968
15c0b25d 8969 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
8970
8971 // Allows grantee the read, write, read ACP, and write ACP permissions on the
8972 // bucket.
8973 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8974
8975 // Allows grantee to list the objects in the bucket.
8976 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8977
8978 // Allows grantee to read the bucket ACL.
8979 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8980
8981 // Allows grantee to create, overwrite, and delete any object in the bucket.
8982 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
8983
8984 // Allows grantee to write the ACL for the applicable bucket.
8985 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
107c1cdb
ND
8986
8987 // Specifies whether you want S3 Object Lock to be enabled for the new bucket.
8988 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"`
bae9f6d2
JC
8989}
8990
8991// String returns the string representation
8992func (s CreateBucketInput) String() string {
8993 return awsutil.Prettify(s)
8994}
8995
8996// GoString returns the string representation
8997func (s CreateBucketInput) GoString() string {
8998 return s.String()
8999}
9000
9001// Validate inspects the fields of the type to determine if they are valid.
9002func (s *CreateBucketInput) Validate() error {
9003 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
9004 if s.Bucket == nil {
9005 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9006 }
107c1cdb
ND
9007 if s.Bucket != nil && len(*s.Bucket) < 1 {
9008 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9009 }
bae9f6d2
JC
9010
9011 if invalidParams.Len() > 0 {
9012 return invalidParams
9013 }
9014 return nil
9015}
9016
9017// SetACL sets the ACL field's value.
9018func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput {
9019 s.ACL = &v
9020 return s
9021}
9022
9023// SetBucket sets the Bucket field's value.
9024func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
9025 s.Bucket = &v
9026 return s
9027}
9028
15c0b25d
AP
9029func (s *CreateBucketInput) getBucket() (v string) {
9030 if s.Bucket == nil {
9031 return v
9032 }
9033 return *s.Bucket
9034}
9035
bae9f6d2
JC
9036// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
9037func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
9038 s.CreateBucketConfiguration = v
9039 return s
9040}
9041
9042// SetGrantFullControl sets the GrantFullControl field's value.
9043func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput {
9044 s.GrantFullControl = &v
9045 return s
9046}
9047
9048// SetGrantRead sets the GrantRead field's value.
9049func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput {
9050 s.GrantRead = &v
9051 return s
9052}
9053
9054// SetGrantReadACP sets the GrantReadACP field's value.
9055func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput {
9056 s.GrantReadACP = &v
9057 return s
9058}
9059
9060// SetGrantWrite sets the GrantWrite field's value.
9061func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput {
9062 s.GrantWrite = &v
9063 return s
9064}
9065
9066// SetGrantWriteACP sets the GrantWriteACP field's value.
9067func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
9068 s.GrantWriteACP = &v
9069 return s
9070}
9071
107c1cdb
ND
9072// SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value.
9073func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput {
9074 s.ObjectLockEnabledForBucket = &v
9075 return s
9076}
9077
bae9f6d2
JC
9078type CreateBucketOutput struct {
9079 _ struct{} `type:"structure"`
9080
9081 Location *string `location:"header" locationName:"Location" type:"string"`
9082}
9083
9084// String returns the string representation
9085func (s CreateBucketOutput) String() string {
9086 return awsutil.Prettify(s)
9087}
9088
9089// GoString returns the string representation
9090func (s CreateBucketOutput) GoString() string {
9091 return s.String()
9092}
9093
9094// SetLocation sets the Location field's value.
9095func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
9096 s.Location = &v
9097 return s
9098}
9099
bae9f6d2
JC
9100type CreateMultipartUploadInput struct {
9101 _ struct{} `type:"structure"`
9102
9103 // The canned ACL to apply to the object.
9104 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
9105
9106 // Bucket is a required field
9107 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9108
9109 // Specifies caching behavior along the request/reply chain.
9110 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
9111
9112 // Specifies presentational information for the object.
9113 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
9114
9115 // Specifies what content encodings have been applied to the object and thus
9116 // what decoding mechanisms must be applied to obtain the media-type referenced
9117 // by the Content-Type header field.
9118 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
9119
9120 // The language the content is in.
9121 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
9122
9123 // A standard MIME type describing the format of the object data.
9124 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
9125
9126 // The date and time at which the object is no longer cacheable.
15c0b25d 9127 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
bae9f6d2
JC
9128
9129 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
9130 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
9131
9132 // Allows grantee to read the object data and its metadata.
9133 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9134
9135 // Allows grantee to read the object ACL.
9136 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
9137
9138 // Allows grantee to write the ACL for the applicable object.
9139 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
9140
9141 // Key is a required field
9142 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
9143
9144 // A map of metadata to store with the object in S3.
9145 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
9146
107c1cdb
ND
9147 // Specifies whether you want to apply a Legal Hold to the uploaded object.
9148 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
9149
9150 // Specifies the Object Lock mode that you want to apply to the uploaded object.
9151 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
9152
9153 // Specifies the date and time when you want the Object Lock to expire.
9154 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
9155
bae9f6d2
JC
9156 // Confirms that the requester knows that she or he will be charged for the
9157 // request. Bucket owners need not specify this parameter in their requests.
9158 // Documentation on downloading objects from requester pays buckets can be found
9159 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
9160 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
9161
9162 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
9163 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9164
9165 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
9166 // data. This value is used to store the object and then it is discarded; Amazon
9167 // does not store the encryption key. The key must be appropriate for use with
9168 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
9169 // header.
107c1cdb 9170 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
9171
9172 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
9173 // Amazon S3 uses this header for a message integrity check to ensure the encryption
9174 // key was transmitted without error.
9175 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9176
9177 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
9178 // requests for an object protected by AWS KMS will fail if not made via SSL
9179 // or using SigV4. Documentation on configuring any of the officially supported
9180 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
107c1cdb 9181 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
9182
9183 // The Server-side encryption algorithm used when storing this object in S3
9184 // (e.g., AES256, aws:kms).
9185 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9186
9187 // The type of storage to use for the object. Defaults to 'STANDARD'.
9188 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
9189
15c0b25d
AP
9190 // The tag-set for the object. The tag-set must be encoded as URL Query parameters
9191 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
9192
bae9f6d2
JC
9193 // If the bucket is configured as a website, redirects requests for this object
9194 // to another object in the same bucket or to an external URL. Amazon S3 stores
9195 // the value of this header in the object metadata.
9196 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
9197}
9198
9199// String returns the string representation
9200func (s CreateMultipartUploadInput) String() string {
9201 return awsutil.Prettify(s)
9202}
9203
9204// GoString returns the string representation
9205func (s CreateMultipartUploadInput) GoString() string {
9206 return s.String()
9207}
9208
9209// Validate inspects the fields of the type to determine if they are valid.
9210func (s *CreateMultipartUploadInput) Validate() error {
9211 invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"}
9212 if s.Bucket == nil {
9213 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9214 }
107c1cdb
ND
9215 if s.Bucket != nil && len(*s.Bucket) < 1 {
9216 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9217 }
bae9f6d2
JC
9218 if s.Key == nil {
9219 invalidParams.Add(request.NewErrParamRequired("Key"))
9220 }
9221 if s.Key != nil && len(*s.Key) < 1 {
9222 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9223 }
9224
9225 if invalidParams.Len() > 0 {
9226 return invalidParams
9227 }
9228 return nil
9229}
9230
9231// SetACL sets the ACL field's value.
9232func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput {
9233 s.ACL = &v
9234 return s
9235}
9236
9237// SetBucket sets the Bucket field's value.
9238func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput {
9239 s.Bucket = &v
9240 return s
9241}
9242
15c0b25d
AP
9243func (s *CreateMultipartUploadInput) getBucket() (v string) {
9244 if s.Bucket == nil {
9245 return v
9246 }
9247 return *s.Bucket
9248}
9249
bae9f6d2
JC
9250// SetCacheControl sets the CacheControl field's value.
9251func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
9252 s.CacheControl = &v
9253 return s
9254}
9255
9256// SetContentDisposition sets the ContentDisposition field's value.
9257func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
9258 s.ContentDisposition = &v
9259 return s
9260}
9261
9262// SetContentEncoding sets the ContentEncoding field's value.
9263func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput {
9264 s.ContentEncoding = &v
9265 return s
9266}
9267
9268// SetContentLanguage sets the ContentLanguage field's value.
9269func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput {
9270 s.ContentLanguage = &v
9271 return s
9272}
9273
9274// SetContentType sets the ContentType field's value.
9275func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput {
9276 s.ContentType = &v
9277 return s
9278}
9279
9280// SetExpires sets the Expires field's value.
9281func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput {
9282 s.Expires = &v
9283 return s
9284}
9285
9286// SetGrantFullControl sets the GrantFullControl field's value.
9287func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput {
9288 s.GrantFullControl = &v
9289 return s
9290}
9291
9292// SetGrantRead sets the GrantRead field's value.
9293func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput {
9294 s.GrantRead = &v
9295 return s
9296}
9297
9298// SetGrantReadACP sets the GrantReadACP field's value.
9299func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput {
9300 s.GrantReadACP = &v
9301 return s
9302}
9303
9304// SetGrantWriteACP sets the GrantWriteACP field's value.
9305func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput {
9306 s.GrantWriteACP = &v
9307 return s
9308}
9309
9310// SetKey sets the Key field's value.
9311func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput {
9312 s.Key = &v
9313 return s
9314}
9315
9316// SetMetadata sets the Metadata field's value.
9317func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput {
9318 s.Metadata = v
9319 return s
9320}
9321
107c1cdb
ND
9322// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
9323func (s *CreateMultipartUploadInput) SetObjectLockLegalHoldStatus(v string) *CreateMultipartUploadInput {
9324 s.ObjectLockLegalHoldStatus = &v
9325 return s
9326}
9327
9328// SetObjectLockMode sets the ObjectLockMode field's value.
9329func (s *CreateMultipartUploadInput) SetObjectLockMode(v string) *CreateMultipartUploadInput {
9330 s.ObjectLockMode = &v
9331 return s
9332}
9333
9334// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
9335func (s *CreateMultipartUploadInput) SetObjectLockRetainUntilDate(v time.Time) *CreateMultipartUploadInput {
9336 s.ObjectLockRetainUntilDate = &v
9337 return s
9338}
9339
bae9f6d2
JC
9340// SetRequestPayer sets the RequestPayer field's value.
9341func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput {
9342 s.RequestPayer = &v
9343 return s
9344}
9345
9346// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9347func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput {
9348 s.SSECustomerAlgorithm = &v
9349 return s
9350}
9351
9352// SetSSECustomerKey sets the SSECustomerKey field's value.
9353func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput {
9354 s.SSECustomerKey = &v
9355 return s
9356}
9357
15c0b25d
AP
9358func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
9359 if s.SSECustomerKey == nil {
9360 return v
9361 }
9362 return *s.SSECustomerKey
9363}
9364
bae9f6d2
JC
9365// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9366func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
9367 s.SSECustomerKeyMD5 = &v
9368 return s
9369}
9370
9371// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9372func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
9373 s.SSEKMSKeyId = &v
9374 return s
9375}
9376
9377// SetServerSideEncryption sets the ServerSideEncryption field's value.
9378func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput {
9379 s.ServerSideEncryption = &v
9380 return s
9381}
9382
9383// SetStorageClass sets the StorageClass field's value.
9384func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput {
9385 s.StorageClass = &v
9386 return s
9387}
9388
15c0b25d
AP
9389// SetTagging sets the Tagging field's value.
9390func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
9391 s.Tagging = &v
9392 return s
9393}
9394
bae9f6d2
JC
9395// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
9396func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
9397 s.WebsiteRedirectLocation = &v
9398 return s
9399}
9400
bae9f6d2
JC
9401type CreateMultipartUploadOutput struct {
9402 _ struct{} `type:"structure"`
9403
9404 // Date when multipart upload will become eligible for abort operation by lifecycle.
15c0b25d 9405 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
bae9f6d2
JC
9406
9407 // Id of the lifecycle rule that makes a multipart upload eligible for abort
9408 // operation.
9409 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
9410
9411 // Name of the bucket to which the multipart upload was initiated.
9412 Bucket *string `locationName:"Bucket" type:"string"`
9413
9414 // Object key for which the multipart upload was initiated.
9415 Key *string `min:"1" type:"string"`
9416
9417 // If present, indicates that the requester was successfully charged for the
9418 // request.
9419 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
9420
9421 // If server-side encryption with a customer-provided encryption key was requested,
9422 // the response will include this header confirming the encryption algorithm
9423 // used.
9424 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9425
9426 // If server-side encryption with a customer-provided encryption key was requested,
9427 // the response will include this header to provide round trip message integrity
9428 // verification of the customer-provided encryption key.
9429 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9430
9431 // If present, specifies the ID of the AWS Key Management Service (KMS) master
9432 // encryption key that was used for the object.
107c1cdb 9433 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
9434
9435 // The Server-side encryption algorithm used when storing this object in S3
9436 // (e.g., AES256, aws:kms).
9437 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9438
9439 // ID for the initiated multipart upload.
9440 UploadId *string `type:"string"`
9441}
9442
9443// String returns the string representation
9444func (s CreateMultipartUploadOutput) String() string {
9445 return awsutil.Prettify(s)
9446}
9447
9448// GoString returns the string representation
9449func (s CreateMultipartUploadOutput) GoString() string {
9450 return s.String()
9451}
9452
9453// SetAbortDate sets the AbortDate field's value.
9454func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput {
9455 s.AbortDate = &v
9456 return s
9457}
9458
9459// SetAbortRuleId sets the AbortRuleId field's value.
9460func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput {
9461 s.AbortRuleId = &v
9462 return s
9463}
9464
9465// SetBucket sets the Bucket field's value.
9466func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput {
9467 s.Bucket = &v
9468 return s
9469}
9470
15c0b25d
AP
9471func (s *CreateMultipartUploadOutput) getBucket() (v string) {
9472 if s.Bucket == nil {
9473 return v
9474 }
9475 return *s.Bucket
9476}
9477
bae9f6d2
JC
9478// SetKey sets the Key field's value.
9479func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
9480 s.Key = &v
9481 return s
9482}
9483
9484// SetRequestCharged sets the RequestCharged field's value.
9485func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput {
9486 s.RequestCharged = &v
9487 return s
9488}
9489
9490// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9491func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput {
9492 s.SSECustomerAlgorithm = &v
9493 return s
9494}
9495
9496// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9497func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput {
9498 s.SSECustomerKeyMD5 = &v
9499 return s
9500}
9501
9502// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9503func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
9504 s.SSEKMSKeyId = &v
9505 return s
9506}
9507
9508// SetServerSideEncryption sets the ServerSideEncryption field's value.
9509func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput {
9510 s.ServerSideEncryption = &v
9511 return s
9512}
9513
9514// SetUploadId sets the UploadId field's value.
9515func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput {
9516 s.UploadId = &v
9517 return s
9518}
9519
107c1cdb
ND
9520// The container element for specifying the default Object Lock retention settings
9521// for new objects placed in the specified bucket.
9522type DefaultRetention struct {
9523 _ struct{} `type:"structure"`
9524
9525 // The number of days that you want to specify for the default retention period.
9526 Days *int64 `type:"integer"`
9527
9528 // The default Object Lock retention mode you want to apply to new objects placed
9529 // in the specified bucket.
9530 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
9531
9532 // The number of years that you want to specify for the default retention period.
9533 Years *int64 `type:"integer"`
9534}
9535
9536// String returns the string representation
9537func (s DefaultRetention) String() string {
9538 return awsutil.Prettify(s)
9539}
9540
9541// GoString returns the string representation
9542func (s DefaultRetention) GoString() string {
9543 return s.String()
9544}
9545
9546// SetDays sets the Days field's value.
9547func (s *DefaultRetention) SetDays(v int64) *DefaultRetention {
9548 s.Days = &v
9549 return s
9550}
9551
9552// SetMode sets the Mode field's value.
9553func (s *DefaultRetention) SetMode(v string) *DefaultRetention {
9554 s.Mode = &v
9555 return s
9556}
9557
9558// SetYears sets the Years field's value.
9559func (s *DefaultRetention) SetYears(v int64) *DefaultRetention {
9560 s.Years = &v
9561 return s
9562}
9563
bae9f6d2
JC
9564type Delete struct {
9565 _ struct{} `type:"structure"`
9566
9567 // Objects is a required field
9568 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`
9569
9570 // Element to enable quiet mode for the request. When you add this element,
9571 // you must set its value to true.
9572 Quiet *bool `type:"boolean"`
9573}
9574
9575// String returns the string representation
9576func (s Delete) String() string {
9577 return awsutil.Prettify(s)
9578}
9579
9580// GoString returns the string representation
9581func (s Delete) GoString() string {
9582 return s.String()
9583}
9584
9585// Validate inspects the fields of the type to determine if they are valid.
9586func (s *Delete) Validate() error {
9587 invalidParams := request.ErrInvalidParams{Context: "Delete"}
9588 if s.Objects == nil {
9589 invalidParams.Add(request.NewErrParamRequired("Objects"))
9590 }
9591 if s.Objects != nil {
9592 for i, v := range s.Objects {
9593 if v == nil {
9594 continue
9595 }
9596 if err := v.Validate(); err != nil {
9597 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams))
9598 }
9599 }
9600 }
9601
9602 if invalidParams.Len() > 0 {
9603 return invalidParams
9604 }
9605 return nil
9606}
9607
9608// SetObjects sets the Objects field's value.
9609func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete {
9610 s.Objects = v
9611 return s
9612}
9613
9614// SetQuiet sets the Quiet field's value.
9615func (s *Delete) SetQuiet(v bool) *Delete {
9616 s.Quiet = &v
9617 return s
9618}
9619
bae9f6d2
JC
9620type DeleteBucketAnalyticsConfigurationInput struct {
9621 _ struct{} `type:"structure"`
9622
9623 // The name of the bucket from which an analytics configuration is deleted.
9624 //
9625 // Bucket is a required field
9626 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9627
9628 // The identifier used to represent an analytics configuration.
9629 //
9630 // Id is a required field
9631 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9632}
9633
9634// String returns the string representation
9635func (s DeleteBucketAnalyticsConfigurationInput) String() string {
9636 return awsutil.Prettify(s)
9637}
9638
9639// GoString returns the string representation
9640func (s DeleteBucketAnalyticsConfigurationInput) GoString() string {
9641 return s.String()
9642}
9643
9644// Validate inspects the fields of the type to determine if they are valid.
9645func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error {
9646 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"}
9647 if s.Bucket == nil {
9648 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9649 }
107c1cdb
ND
9650 if s.Bucket != nil && len(*s.Bucket) < 1 {
9651 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9652 }
bae9f6d2
JC
9653 if s.Id == nil {
9654 invalidParams.Add(request.NewErrParamRequired("Id"))
9655 }
9656
9657 if invalidParams.Len() > 0 {
9658 return invalidParams
9659 }
9660 return nil
9661}
9662
9663// SetBucket sets the Bucket field's value.
9664func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput {
9665 s.Bucket = &v
9666 return s
9667}
9668
15c0b25d
AP
9669func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
9670 if s.Bucket == nil {
9671 return v
9672 }
9673 return *s.Bucket
9674}
9675
bae9f6d2
JC
9676// SetId sets the Id field's value.
9677func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
9678 s.Id = &v
9679 return s
9680}
9681
bae9f6d2
JC
9682type DeleteBucketAnalyticsConfigurationOutput struct {
9683 _ struct{} `type:"structure"`
9684}
9685
9686// String returns the string representation
9687func (s DeleteBucketAnalyticsConfigurationOutput) String() string {
9688 return awsutil.Prettify(s)
9689}
9690
9691// GoString returns the string representation
9692func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
9693 return s.String()
9694}
9695
bae9f6d2
JC
9696type DeleteBucketCorsInput struct {
9697 _ struct{} `type:"structure"`
9698
9699 // Bucket is a required field
9700 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9701}
9702
9703// String returns the string representation
9704func (s DeleteBucketCorsInput) String() string {
9705 return awsutil.Prettify(s)
9706}
9707
9708// GoString returns the string representation
9709func (s DeleteBucketCorsInput) GoString() string {
9710 return s.String()
9711}
9712
9713// Validate inspects the fields of the type to determine if they are valid.
9714func (s *DeleteBucketCorsInput) Validate() error {
9715 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"}
9716 if s.Bucket == nil {
9717 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9718 }
107c1cdb
ND
9719 if s.Bucket != nil && len(*s.Bucket) < 1 {
9720 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9721 }
bae9f6d2
JC
9722
9723 if invalidParams.Len() > 0 {
9724 return invalidParams
9725 }
9726 return nil
9727}
9728
9729// SetBucket sets the Bucket field's value.
9730func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
9731 s.Bucket = &v
9732 return s
9733}
9734
15c0b25d
AP
9735func (s *DeleteBucketCorsInput) getBucket() (v string) {
9736 if s.Bucket == nil {
9737 return v
9738 }
9739 return *s.Bucket
9740}
9741
bae9f6d2
JC
9742type DeleteBucketCorsOutput struct {
9743 _ struct{} `type:"structure"`
9744}
9745
9746// String returns the string representation
9747func (s DeleteBucketCorsOutput) String() string {
9748 return awsutil.Prettify(s)
9749}
9750
9751// GoString returns the string representation
9752func (s DeleteBucketCorsOutput) GoString() string {
9753 return s.String()
9754}
9755
15c0b25d 9756type DeleteBucketEncryptionInput struct {
bae9f6d2
JC
9757 _ struct{} `type:"structure"`
9758
15c0b25d
AP
9759 // The name of the bucket containing the server-side encryption configuration
9760 // to delete.
9761 //
bae9f6d2
JC
9762 // Bucket is a required field
9763 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9764}
9765
9766// String returns the string representation
15c0b25d 9767func (s DeleteBucketEncryptionInput) String() string {
bae9f6d2
JC
9768 return awsutil.Prettify(s)
9769}
9770
9771// GoString returns the string representation
15c0b25d 9772func (s DeleteBucketEncryptionInput) GoString() string {
bae9f6d2
JC
9773 return s.String()
9774}
9775
9776// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
9777func (s *DeleteBucketEncryptionInput) Validate() error {
9778 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"}
bae9f6d2
JC
9779 if s.Bucket == nil {
9780 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9781 }
107c1cdb
ND
9782 if s.Bucket != nil && len(*s.Bucket) < 1 {
9783 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9784 }
bae9f6d2
JC
9785
9786 if invalidParams.Len() > 0 {
9787 return invalidParams
9788 }
9789 return nil
9790}
9791
9792// SetBucket sets the Bucket field's value.
15c0b25d 9793func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
bae9f6d2
JC
9794 s.Bucket = &v
9795 return s
9796}
9797
15c0b25d
AP
9798func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
9799 if s.Bucket == nil {
9800 return v
9801 }
9802 return *s.Bucket
9803}
bae9f6d2 9804
15c0b25d
AP
9805type DeleteBucketEncryptionOutput struct {
9806 _ struct{} `type:"structure"`
9807}
bae9f6d2 9808
15c0b25d
AP
9809// String returns the string representation
9810func (s DeleteBucketEncryptionOutput) String() string {
9811 return awsutil.Prettify(s)
9812}
9813
9814// GoString returns the string representation
9815func (s DeleteBucketEncryptionOutput) GoString() string {
9816 return s.String()
9817}
9818
9819type DeleteBucketInput struct {
9820 _ struct{} `type:"structure"`
9821
9822 // Bucket is a required field
9823 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9824}
9825
9826// String returns the string representation
9827func (s DeleteBucketInput) String() string {
9828 return awsutil.Prettify(s)
9829}
9830
9831// GoString returns the string representation
9832func (s DeleteBucketInput) GoString() string {
9833 return s.String()
9834}
9835
9836// Validate inspects the fields of the type to determine if they are valid.
9837func (s *DeleteBucketInput) Validate() error {
9838 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
9839 if s.Bucket == nil {
9840 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9841 }
107c1cdb
ND
9842 if s.Bucket != nil && len(*s.Bucket) < 1 {
9843 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9844 }
15c0b25d
AP
9845
9846 if invalidParams.Len() > 0 {
9847 return invalidParams
9848 }
9849 return nil
9850}
9851
9852// SetBucket sets the Bucket field's value.
9853func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
9854 s.Bucket = &v
9855 return s
9856}
9857
9858func (s *DeleteBucketInput) getBucket() (v string) {
9859 if s.Bucket == nil {
9860 return v
9861 }
9862 return *s.Bucket
9863}
9864
9865type DeleteBucketInventoryConfigurationInput struct {
9866 _ struct{} `type:"structure"`
9867
9868 // The name of the bucket containing the inventory configuration to delete.
9869 //
9870 // Bucket is a required field
9871 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9872
9873 // The ID used to identify the inventory configuration.
bae9f6d2
JC
9874 //
9875 // Id is a required field
9876 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9877}
9878
9879// String returns the string representation
9880func (s DeleteBucketInventoryConfigurationInput) String() string {
9881 return awsutil.Prettify(s)
9882}
9883
9884// GoString returns the string representation
9885func (s DeleteBucketInventoryConfigurationInput) GoString() string {
9886 return s.String()
9887}
9888
9889// Validate inspects the fields of the type to determine if they are valid.
9890func (s *DeleteBucketInventoryConfigurationInput) Validate() error {
9891 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"}
9892 if s.Bucket == nil {
9893 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9894 }
107c1cdb
ND
9895 if s.Bucket != nil && len(*s.Bucket) < 1 {
9896 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9897 }
bae9f6d2
JC
9898 if s.Id == nil {
9899 invalidParams.Add(request.NewErrParamRequired("Id"))
9900 }
9901
9902 if invalidParams.Len() > 0 {
9903 return invalidParams
9904 }
9905 return nil
9906}
9907
9908// SetBucket sets the Bucket field's value.
9909func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput {
9910 s.Bucket = &v
9911 return s
9912}
9913
15c0b25d
AP
9914func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
9915 if s.Bucket == nil {
9916 return v
9917 }
9918 return *s.Bucket
9919}
9920
bae9f6d2
JC
9921// SetId sets the Id field's value.
9922func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
9923 s.Id = &v
9924 return s
9925}
9926
bae9f6d2
JC
9927type DeleteBucketInventoryConfigurationOutput struct {
9928 _ struct{} `type:"structure"`
9929}
9930
9931// String returns the string representation
9932func (s DeleteBucketInventoryConfigurationOutput) String() string {
9933 return awsutil.Prettify(s)
9934}
9935
9936// GoString returns the string representation
9937func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
9938 return s.String()
9939}
9940
bae9f6d2
JC
9941type DeleteBucketLifecycleInput struct {
9942 _ struct{} `type:"structure"`
9943
9944 // Bucket is a required field
9945 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9946}
9947
9948// String returns the string representation
9949func (s DeleteBucketLifecycleInput) String() string {
9950 return awsutil.Prettify(s)
9951}
9952
9953// GoString returns the string representation
9954func (s DeleteBucketLifecycleInput) GoString() string {
9955 return s.String()
9956}
9957
9958// Validate inspects the fields of the type to determine if they are valid.
9959func (s *DeleteBucketLifecycleInput) Validate() error {
9960 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"}
9961 if s.Bucket == nil {
9962 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9963 }
107c1cdb
ND
9964 if s.Bucket != nil && len(*s.Bucket) < 1 {
9965 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9966 }
bae9f6d2
JC
9967
9968 if invalidParams.Len() > 0 {
9969 return invalidParams
9970 }
9971 return nil
9972}
9973
9974// SetBucket sets the Bucket field's value.
9975func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput {
9976 s.Bucket = &v
9977 return s
9978}
9979
15c0b25d
AP
9980func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
9981 if s.Bucket == nil {
9982 return v
9983 }
9984 return *s.Bucket
9985}
9986
bae9f6d2
JC
9987type DeleteBucketLifecycleOutput struct {
9988 _ struct{} `type:"structure"`
9989}
9990
9991// String returns the string representation
9992func (s DeleteBucketLifecycleOutput) String() string {
9993 return awsutil.Prettify(s)
9994}
9995
9996// GoString returns the string representation
9997func (s DeleteBucketLifecycleOutput) GoString() string {
9998 return s.String()
9999}
10000
bae9f6d2
JC
10001type DeleteBucketMetricsConfigurationInput struct {
10002 _ struct{} `type:"structure"`
10003
10004 // The name of the bucket containing the metrics configuration to delete.
10005 //
10006 // Bucket is a required field
10007 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10008
10009 // The ID used to identify the metrics configuration.
10010 //
10011 // Id is a required field
10012 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10013}
10014
10015// String returns the string representation
10016func (s DeleteBucketMetricsConfigurationInput) String() string {
10017 return awsutil.Prettify(s)
10018}
10019
10020// GoString returns the string representation
10021func (s DeleteBucketMetricsConfigurationInput) GoString() string {
10022 return s.String()
10023}
10024
10025// Validate inspects the fields of the type to determine if they are valid.
10026func (s *DeleteBucketMetricsConfigurationInput) Validate() error {
10027 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"}
10028 if s.Bucket == nil {
10029 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10030 }
107c1cdb
ND
10031 if s.Bucket != nil && len(*s.Bucket) < 1 {
10032 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10033 }
bae9f6d2
JC
10034 if s.Id == nil {
10035 invalidParams.Add(request.NewErrParamRequired("Id"))
10036 }
10037
10038 if invalidParams.Len() > 0 {
10039 return invalidParams
10040 }
10041 return nil
10042}
10043
10044// SetBucket sets the Bucket field's value.
10045func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput {
10046 s.Bucket = &v
10047 return s
10048}
10049
15c0b25d
AP
10050func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
10051 if s.Bucket == nil {
10052 return v
10053 }
10054 return *s.Bucket
10055}
10056
bae9f6d2
JC
10057// SetId sets the Id field's value.
10058func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
10059 s.Id = &v
10060 return s
10061}
10062
bae9f6d2
JC
10063type DeleteBucketMetricsConfigurationOutput struct {
10064 _ struct{} `type:"structure"`
10065}
10066
10067// String returns the string representation
10068func (s DeleteBucketMetricsConfigurationOutput) String() string {
10069 return awsutil.Prettify(s)
10070}
10071
10072// GoString returns the string representation
10073func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
10074 return s.String()
10075}
10076
bae9f6d2
JC
10077type DeleteBucketOutput struct {
10078 _ struct{} `type:"structure"`
10079}
10080
10081// String returns the string representation
10082func (s DeleteBucketOutput) String() string {
10083 return awsutil.Prettify(s)
10084}
10085
10086// GoString returns the string representation
10087func (s DeleteBucketOutput) GoString() string {
10088 return s.String()
10089}
10090
bae9f6d2
JC
10091type DeleteBucketPolicyInput struct {
10092 _ struct{} `type:"structure"`
10093
10094 // Bucket is a required field
10095 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10096}
10097
10098// String returns the string representation
10099func (s DeleteBucketPolicyInput) String() string {
10100 return awsutil.Prettify(s)
10101}
10102
10103// GoString returns the string representation
10104func (s DeleteBucketPolicyInput) GoString() string {
10105 return s.String()
10106}
10107
10108// Validate inspects the fields of the type to determine if they are valid.
10109func (s *DeleteBucketPolicyInput) Validate() error {
10110 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"}
10111 if s.Bucket == nil {
10112 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10113 }
107c1cdb
ND
10114 if s.Bucket != nil && len(*s.Bucket) < 1 {
10115 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10116 }
bae9f6d2
JC
10117
10118 if invalidParams.Len() > 0 {
10119 return invalidParams
10120 }
10121 return nil
10122}
10123
10124// SetBucket sets the Bucket field's value.
10125func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
10126 s.Bucket = &v
10127 return s
10128}
10129
15c0b25d
AP
10130func (s *DeleteBucketPolicyInput) getBucket() (v string) {
10131 if s.Bucket == nil {
10132 return v
10133 }
10134 return *s.Bucket
10135}
10136
bae9f6d2
JC
10137type DeleteBucketPolicyOutput struct {
10138 _ struct{} `type:"structure"`
10139}
10140
10141// String returns the string representation
10142func (s DeleteBucketPolicyOutput) String() string {
10143 return awsutil.Prettify(s)
10144}
10145
10146// GoString returns the string representation
10147func (s DeleteBucketPolicyOutput) GoString() string {
10148 return s.String()
10149}
10150
bae9f6d2
JC
10151type DeleteBucketReplicationInput struct {
10152 _ struct{} `type:"structure"`
10153
107c1cdb
ND
10154 // The bucket name.
10155 //
10156 // It can take a while to propagate the deletion of a replication configuration
10157 // to all Amazon S3 systems.
10158 //
bae9f6d2
JC
10159 // Bucket is a required field
10160 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10161}
10162
10163// String returns the string representation
10164func (s DeleteBucketReplicationInput) String() string {
10165 return awsutil.Prettify(s)
10166}
10167
10168// GoString returns the string representation
10169func (s DeleteBucketReplicationInput) GoString() string {
10170 return s.String()
10171}
10172
10173// Validate inspects the fields of the type to determine if they are valid.
10174func (s *DeleteBucketReplicationInput) Validate() error {
10175 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"}
10176 if s.Bucket == nil {
10177 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10178 }
107c1cdb
ND
10179 if s.Bucket != nil && len(*s.Bucket) < 1 {
10180 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10181 }
bae9f6d2
JC
10182
10183 if invalidParams.Len() > 0 {
10184 return invalidParams
10185 }
10186 return nil
10187}
10188
10189// SetBucket sets the Bucket field's value.
10190func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput {
10191 s.Bucket = &v
10192 return s
10193}
10194
15c0b25d
AP
10195func (s *DeleteBucketReplicationInput) getBucket() (v string) {
10196 if s.Bucket == nil {
10197 return v
10198 }
10199 return *s.Bucket
10200}
10201
bae9f6d2
JC
10202type DeleteBucketReplicationOutput struct {
10203 _ struct{} `type:"structure"`
10204}
10205
10206// String returns the string representation
10207func (s DeleteBucketReplicationOutput) String() string {
10208 return awsutil.Prettify(s)
10209}
10210
10211// GoString returns the string representation
10212func (s DeleteBucketReplicationOutput) GoString() string {
10213 return s.String()
10214}
10215
bae9f6d2
JC
10216type DeleteBucketTaggingInput struct {
10217 _ struct{} `type:"structure"`
10218
10219 // Bucket is a required field
10220 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10221}
10222
10223// String returns the string representation
10224func (s DeleteBucketTaggingInput) String() string {
10225 return awsutil.Prettify(s)
10226}
10227
10228// GoString returns the string representation
10229func (s DeleteBucketTaggingInput) GoString() string {
10230 return s.String()
10231}
10232
10233// Validate inspects the fields of the type to determine if they are valid.
10234func (s *DeleteBucketTaggingInput) Validate() error {
10235 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"}
10236 if s.Bucket == nil {
10237 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10238 }
107c1cdb
ND
10239 if s.Bucket != nil && len(*s.Bucket) < 1 {
10240 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10241 }
bae9f6d2
JC
10242
10243 if invalidParams.Len() > 0 {
10244 return invalidParams
10245 }
10246 return nil
10247}
10248
10249// SetBucket sets the Bucket field's value.
10250func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput {
10251 s.Bucket = &v
10252 return s
10253}
10254
15c0b25d
AP
10255func (s *DeleteBucketTaggingInput) getBucket() (v string) {
10256 if s.Bucket == nil {
10257 return v
10258 }
10259 return *s.Bucket
10260}
10261
bae9f6d2
JC
10262type DeleteBucketTaggingOutput struct {
10263 _ struct{} `type:"structure"`
10264}
10265
10266// String returns the string representation
10267func (s DeleteBucketTaggingOutput) String() string {
10268 return awsutil.Prettify(s)
10269}
10270
10271// GoString returns the string representation
10272func (s DeleteBucketTaggingOutput) GoString() string {
10273 return s.String()
10274}
10275
bae9f6d2
JC
10276type DeleteBucketWebsiteInput struct {
10277 _ struct{} `type:"structure"`
10278
10279 // Bucket is a required field
10280 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10281}
10282
10283// String returns the string representation
10284func (s DeleteBucketWebsiteInput) String() string {
10285 return awsutil.Prettify(s)
10286}
10287
10288// GoString returns the string representation
10289func (s DeleteBucketWebsiteInput) GoString() string {
10290 return s.String()
10291}
10292
10293// Validate inspects the fields of the type to determine if they are valid.
10294func (s *DeleteBucketWebsiteInput) Validate() error {
10295 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"}
10296 if s.Bucket == nil {
10297 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10298 }
107c1cdb
ND
10299 if s.Bucket != nil && len(*s.Bucket) < 1 {
10300 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10301 }
bae9f6d2
JC
10302
10303 if invalidParams.Len() > 0 {
10304 return invalidParams
10305 }
10306 return nil
10307}
10308
10309// SetBucket sets the Bucket field's value.
10310func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput {
10311 s.Bucket = &v
10312 return s
10313}
10314
15c0b25d
AP
10315func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
10316 if s.Bucket == nil {
10317 return v
10318 }
10319 return *s.Bucket
10320}
10321
bae9f6d2
JC
10322type DeleteBucketWebsiteOutput struct {
10323 _ struct{} `type:"structure"`
10324}
10325
10326// String returns the string representation
10327func (s DeleteBucketWebsiteOutput) String() string {
10328 return awsutil.Prettify(s)
10329}
10330
10331// GoString returns the string representation
10332func (s DeleteBucketWebsiteOutput) GoString() string {
10333 return s.String()
10334}
10335
bae9f6d2
JC
10336type DeleteMarkerEntry struct {
10337 _ struct{} `type:"structure"`
10338
10339 // Specifies whether the object is (true) or is not (false) the latest version
10340 // of an object.
10341 IsLatest *bool `type:"boolean"`
10342
10343 // The object key.
10344 Key *string `min:"1" type:"string"`
10345
10346 // Date and time the object was last modified.
15c0b25d 10347 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
10348
10349 Owner *Owner `type:"structure"`
10350
10351 // Version ID of an object.
10352 VersionId *string `type:"string"`
10353}
10354
10355// String returns the string representation
10356func (s DeleteMarkerEntry) String() string {
10357 return awsutil.Prettify(s)
10358}
10359
10360// GoString returns the string representation
10361func (s DeleteMarkerEntry) GoString() string {
10362 return s.String()
10363}
10364
10365// SetIsLatest sets the IsLatest field's value.
10366func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry {
10367 s.IsLatest = &v
10368 return s
10369}
10370
10371// SetKey sets the Key field's value.
10372func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry {
10373 s.Key = &v
10374 return s
10375}
10376
10377// SetLastModified sets the LastModified field's value.
10378func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry {
10379 s.LastModified = &v
10380 return s
10381}
10382
10383// SetOwner sets the Owner field's value.
10384func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry {
10385 s.Owner = v
10386 return s
10387}
10388
10389// SetVersionId sets the VersionId field's value.
10390func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
10391 s.VersionId = &v
10392 return s
10393}
10394
107c1cdb
ND
10395// Specifies whether Amazon S3 should replicate delete makers.
10396type DeleteMarkerReplication struct {
10397 _ struct{} `type:"structure"`
10398
10399 // The status of the delete marker replication.
10400 //
10401 // In the current implementation, Amazon S3 doesn't replicate the delete markers.
10402 // The status must be Disabled.
10403 Status *string `type:"string" enum:"DeleteMarkerReplicationStatus"`
10404}
10405
10406// String returns the string representation
10407func (s DeleteMarkerReplication) String() string {
10408 return awsutil.Prettify(s)
10409}
10410
10411// GoString returns the string representation
10412func (s DeleteMarkerReplication) GoString() string {
10413 return s.String()
10414}
10415
10416// SetStatus sets the Status field's value.
10417func (s *DeleteMarkerReplication) SetStatus(v string) *DeleteMarkerReplication {
10418 s.Status = &v
10419 return s
10420}
10421
bae9f6d2
JC
10422type DeleteObjectInput struct {
10423 _ struct{} `type:"structure"`
10424
10425 // Bucket is a required field
10426 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10427
107c1cdb
ND
10428 // Indicates whether S3 Object Lock should bypass Governance-mode restrictions
10429 // to process this operation.
10430 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10431
bae9f6d2
JC
10432 // Key is a required field
10433 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10434
10435 // The concatenation of the authentication device's serial number, a space,
10436 // and the value that is displayed on your authentication device.
10437 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10438
10439 // Confirms that the requester knows that she or he will be charged for the
10440 // request. Bucket owners need not specify this parameter in their requests.
10441 // Documentation on downloading objects from requester pays buckets can be found
10442 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10443 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10444
10445 // VersionId used to reference a specific version of the object.
10446 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10447}
10448
10449// String returns the string representation
10450func (s DeleteObjectInput) String() string {
10451 return awsutil.Prettify(s)
10452}
10453
10454// GoString returns the string representation
10455func (s DeleteObjectInput) GoString() string {
10456 return s.String()
10457}
10458
10459// Validate inspects the fields of the type to determine if they are valid.
10460func (s *DeleteObjectInput) Validate() error {
10461 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"}
10462 if s.Bucket == nil {
10463 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10464 }
107c1cdb
ND
10465 if s.Bucket != nil && len(*s.Bucket) < 1 {
10466 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10467 }
bae9f6d2
JC
10468 if s.Key == nil {
10469 invalidParams.Add(request.NewErrParamRequired("Key"))
10470 }
10471 if s.Key != nil && len(*s.Key) < 1 {
10472 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10473 }
10474
10475 if invalidParams.Len() > 0 {
10476 return invalidParams
10477 }
10478 return nil
10479}
10480
10481// SetBucket sets the Bucket field's value.
10482func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
10483 s.Bucket = &v
10484 return s
10485}
10486
15c0b25d
AP
10487func (s *DeleteObjectInput) getBucket() (v string) {
10488 if s.Bucket == nil {
10489 return v
10490 }
10491 return *s.Bucket
10492}
10493
107c1cdb
ND
10494// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10495func (s *DeleteObjectInput) SetBypassGovernanceRetention(v bool) *DeleteObjectInput {
10496 s.BypassGovernanceRetention = &v
10497 return s
10498}
10499
bae9f6d2
JC
10500// SetKey sets the Key field's value.
10501func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
10502 s.Key = &v
10503 return s
10504}
10505
10506// SetMFA sets the MFA field's value.
10507func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput {
10508 s.MFA = &v
10509 return s
10510}
10511
10512// SetRequestPayer sets the RequestPayer field's value.
10513func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput {
10514 s.RequestPayer = &v
10515 return s
10516}
10517
10518// SetVersionId sets the VersionId field's value.
10519func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
10520 s.VersionId = &v
10521 return s
10522}
10523
bae9f6d2
JC
10524type DeleteObjectOutput struct {
10525 _ struct{} `type:"structure"`
10526
10527 // Specifies whether the versioned object that was permanently deleted was (true)
10528 // or was not (false) a delete marker.
10529 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
10530
10531 // If present, indicates that the requester was successfully charged for the
10532 // request.
10533 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10534
10535 // Returns the version ID of the delete marker created as a result of the DELETE
10536 // operation.
10537 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10538}
10539
10540// String returns the string representation
10541func (s DeleteObjectOutput) String() string {
10542 return awsutil.Prettify(s)
10543}
10544
10545// GoString returns the string representation
10546func (s DeleteObjectOutput) GoString() string {
10547 return s.String()
10548}
10549
10550// SetDeleteMarker sets the DeleteMarker field's value.
10551func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput {
10552 s.DeleteMarker = &v
10553 return s
10554}
10555
10556// SetRequestCharged sets the RequestCharged field's value.
10557func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput {
10558 s.RequestCharged = &v
10559 return s
10560}
10561
10562// SetVersionId sets the VersionId field's value.
10563func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
10564 s.VersionId = &v
10565 return s
10566}
10567
bae9f6d2
JC
10568type DeleteObjectTaggingInput struct {
10569 _ struct{} `type:"structure"`
10570
10571 // Bucket is a required field
10572 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10573
10574 // Key is a required field
10575 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10576
10577 // The versionId of the object that the tag-set will be removed from.
10578 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10579}
10580
10581// String returns the string representation
10582func (s DeleteObjectTaggingInput) String() string {
10583 return awsutil.Prettify(s)
10584}
10585
10586// GoString returns the string representation
10587func (s DeleteObjectTaggingInput) GoString() string {
10588 return s.String()
10589}
10590
10591// Validate inspects the fields of the type to determine if they are valid.
10592func (s *DeleteObjectTaggingInput) Validate() error {
10593 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"}
10594 if s.Bucket == nil {
10595 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10596 }
107c1cdb
ND
10597 if s.Bucket != nil && len(*s.Bucket) < 1 {
10598 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10599 }
bae9f6d2
JC
10600 if s.Key == nil {
10601 invalidParams.Add(request.NewErrParamRequired("Key"))
10602 }
10603 if s.Key != nil && len(*s.Key) < 1 {
10604 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10605 }
10606
10607 if invalidParams.Len() > 0 {
10608 return invalidParams
10609 }
10610 return nil
10611}
10612
10613// SetBucket sets the Bucket field's value.
10614func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput {
10615 s.Bucket = &v
10616 return s
10617}
10618
15c0b25d
AP
10619func (s *DeleteObjectTaggingInput) getBucket() (v string) {
10620 if s.Bucket == nil {
10621 return v
10622 }
10623 return *s.Bucket
10624}
10625
bae9f6d2
JC
10626// SetKey sets the Key field's value.
10627func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
10628 s.Key = &v
10629 return s
10630}
10631
10632// SetVersionId sets the VersionId field's value.
10633func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput {
10634 s.VersionId = &v
10635 return s
10636}
10637
bae9f6d2
JC
10638type DeleteObjectTaggingOutput struct {
10639 _ struct{} `type:"structure"`
10640
10641 // The versionId of the object the tag-set was removed from.
10642 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10643}
10644
10645// String returns the string representation
10646func (s DeleteObjectTaggingOutput) String() string {
10647 return awsutil.Prettify(s)
10648}
10649
10650// GoString returns the string representation
10651func (s DeleteObjectTaggingOutput) GoString() string {
10652 return s.String()
10653}
10654
10655// SetVersionId sets the VersionId field's value.
10656func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput {
10657 s.VersionId = &v
10658 return s
10659}
10660
bae9f6d2
JC
10661type DeleteObjectsInput struct {
10662 _ struct{} `type:"structure" payload:"Delete"`
10663
10664 // Bucket is a required field
10665 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10666
107c1cdb
ND
10667 // Specifies whether you want to delete this object even if it has a Governance-type
10668 // Object Lock in place. You must have sufficient permissions to perform this
10669 // operation.
10670 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10671
bae9f6d2 10672 // Delete is a required field
15c0b25d 10673 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
10674
10675 // The concatenation of the authentication device's serial number, a space,
10676 // and the value that is displayed on your authentication device.
10677 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10678
10679 // Confirms that the requester knows that she or he will be charged for the
10680 // request. Bucket owners need not specify this parameter in their requests.
10681 // Documentation on downloading objects from requester pays buckets can be found
10682 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10683 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10684}
10685
10686// String returns the string representation
10687func (s DeleteObjectsInput) String() string {
10688 return awsutil.Prettify(s)
10689}
10690
10691// GoString returns the string representation
10692func (s DeleteObjectsInput) GoString() string {
10693 return s.String()
10694}
10695
10696// Validate inspects the fields of the type to determine if they are valid.
10697func (s *DeleteObjectsInput) Validate() error {
10698 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"}
10699 if s.Bucket == nil {
10700 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10701 }
107c1cdb
ND
10702 if s.Bucket != nil && len(*s.Bucket) < 1 {
10703 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10704 }
bae9f6d2
JC
10705 if s.Delete == nil {
10706 invalidParams.Add(request.NewErrParamRequired("Delete"))
10707 }
10708 if s.Delete != nil {
10709 if err := s.Delete.Validate(); err != nil {
10710 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
10711 }
10712 }
10713
10714 if invalidParams.Len() > 0 {
10715 return invalidParams
10716 }
10717 return nil
10718}
10719
10720// SetBucket sets the Bucket field's value.
10721func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
10722 s.Bucket = &v
10723 return s
10724}
10725
15c0b25d
AP
10726func (s *DeleteObjectsInput) getBucket() (v string) {
10727 if s.Bucket == nil {
10728 return v
10729 }
10730 return *s.Bucket
10731}
10732
107c1cdb
ND
10733// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10734func (s *DeleteObjectsInput) SetBypassGovernanceRetention(v bool) *DeleteObjectsInput {
10735 s.BypassGovernanceRetention = &v
10736 return s
10737}
10738
bae9f6d2
JC
10739// SetDelete sets the Delete field's value.
10740func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
10741 s.Delete = v
10742 return s
10743}
10744
10745// SetMFA sets the MFA field's value.
10746func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput {
10747 s.MFA = &v
10748 return s
10749}
10750
10751// SetRequestPayer sets the RequestPayer field's value.
10752func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
10753 s.RequestPayer = &v
10754 return s
10755}
10756
bae9f6d2
JC
10757type DeleteObjectsOutput struct {
10758 _ struct{} `type:"structure"`
10759
10760 Deleted []*DeletedObject `type:"list" flattened:"true"`
10761
10762 Errors []*Error `locationName:"Error" type:"list" flattened:"true"`
10763
10764 // If present, indicates that the requester was successfully charged for the
10765 // request.
10766 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10767}
10768
10769// String returns the string representation
10770func (s DeleteObjectsOutput) String() string {
10771 return awsutil.Prettify(s)
10772}
10773
10774// GoString returns the string representation
10775func (s DeleteObjectsOutput) GoString() string {
10776 return s.String()
10777}
10778
10779// SetDeleted sets the Deleted field's value.
10780func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput {
10781 s.Deleted = v
10782 return s
10783}
10784
10785// SetErrors sets the Errors field's value.
10786func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput {
10787 s.Errors = v
10788 return s
10789}
10790
10791// SetRequestCharged sets the RequestCharged field's value.
10792func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
10793 s.RequestCharged = &v
10794 return s
10795}
10796
107c1cdb
ND
10797type DeletePublicAccessBlockInput struct {
10798 _ struct{} `type:"structure"`
10799
10800 // The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.
10801 //
10802 // Bucket is a required field
10803 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10804}
10805
10806// String returns the string representation
10807func (s DeletePublicAccessBlockInput) String() string {
10808 return awsutil.Prettify(s)
10809}
10810
10811// GoString returns the string representation
10812func (s DeletePublicAccessBlockInput) GoString() string {
10813 return s.String()
10814}
10815
10816// Validate inspects the fields of the type to determine if they are valid.
10817func (s *DeletePublicAccessBlockInput) Validate() error {
10818 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"}
10819 if s.Bucket == nil {
10820 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10821 }
10822 if s.Bucket != nil && len(*s.Bucket) < 1 {
10823 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10824 }
10825
10826 if invalidParams.Len() > 0 {
10827 return invalidParams
10828 }
10829 return nil
10830}
10831
10832// SetBucket sets the Bucket field's value.
10833func (s *DeletePublicAccessBlockInput) SetBucket(v string) *DeletePublicAccessBlockInput {
10834 s.Bucket = &v
10835 return s
10836}
10837
10838func (s *DeletePublicAccessBlockInput) getBucket() (v string) {
10839 if s.Bucket == nil {
10840 return v
10841 }
10842 return *s.Bucket
10843}
10844
10845type DeletePublicAccessBlockOutput struct {
10846 _ struct{} `type:"structure"`
10847}
10848
10849// String returns the string representation
10850func (s DeletePublicAccessBlockOutput) String() string {
10851 return awsutil.Prettify(s)
10852}
10853
10854// GoString returns the string representation
10855func (s DeletePublicAccessBlockOutput) GoString() string {
10856 return s.String()
10857}
10858
bae9f6d2
JC
10859type DeletedObject struct {
10860 _ struct{} `type:"structure"`
10861
10862 DeleteMarker *bool `type:"boolean"`
10863
10864 DeleteMarkerVersionId *string `type:"string"`
10865
10866 Key *string `min:"1" type:"string"`
10867
10868 VersionId *string `type:"string"`
10869}
10870
10871// String returns the string representation
10872func (s DeletedObject) String() string {
10873 return awsutil.Prettify(s)
10874}
10875
10876// GoString returns the string representation
10877func (s DeletedObject) GoString() string {
10878 return s.String()
10879}
10880
10881// SetDeleteMarker sets the DeleteMarker field's value.
10882func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject {
10883 s.DeleteMarker = &v
10884 return s
10885}
10886
10887// SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value.
10888func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject {
10889 s.DeleteMarkerVersionId = &v
10890 return s
10891}
10892
10893// SetKey sets the Key field's value.
10894func (s *DeletedObject) SetKey(v string) *DeletedObject {
10895 s.Key = &v
10896 return s
10897}
10898
10899// SetVersionId sets the VersionId field's value.
10900func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
10901 s.VersionId = &v
10902 return s
10903}
10904
107c1cdb 10905// A container for information about the replication destination.
bae9f6d2
JC
10906type Destination struct {
10907 _ struct{} `type:"structure"`
10908
107c1cdb
ND
10909 // A container for information about access control for replicas.
10910 //
10911 // Use this element only in a cross-account scenario where source and destination
10912 // bucket owners are not the same to change replica ownership to the AWS account
10913 // that owns the destination bucket. If you don't add this element to the replication
10914 // configuration, the replicas are owned by same AWS account that owns the source
10915 // object.
15c0b25d
AP
10916 AccessControlTranslation *AccessControlTranslation `type:"structure"`
10917
107c1cdb
ND
10918 // The account ID of the destination bucket. Currently, Amazon S3 verifies this
10919 // value only if Access Control Translation is enabled.
10920 //
10921 // In a cross-account scenario, if you change replica ownership to the AWS account
10922 // that owns the destination bucket by adding the AccessControlTranslation element,
10923 // this is the account ID of the owner of the destination bucket.
15c0b25d
AP
10924 Account *string `type:"string"`
10925
107c1cdb
ND
10926 // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to
10927 // store replicas of the object identified by the rule.
10928 //
10929 // If there are multiple rules in your replication configuration, all rules
10930 // must specify the same bucket as the destination. A replication configuration
10931 // can replicate objects to only one destination bucket.
bae9f6d2
JC
10932 //
10933 // Bucket is a required field
10934 Bucket *string `type:"string" required:"true"`
10935
107c1cdb
ND
10936 // A container that provides information about encryption. If SourceSelectionCriteria
10937 // is specified, you must specify this element.
15c0b25d
AP
10938 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
10939
107c1cdb
ND
10940 // The class of storage used to store the object. By default Amazon S3 uses
10941 // storage class of the source object when creating a replica.
bae9f6d2
JC
10942 StorageClass *string `type:"string" enum:"StorageClass"`
10943}
10944
10945// String returns the string representation
10946func (s Destination) String() string {
10947 return awsutil.Prettify(s)
10948}
10949
10950// GoString returns the string representation
10951func (s Destination) GoString() string {
10952 return s.String()
10953}
10954
10955// Validate inspects the fields of the type to determine if they are valid.
10956func (s *Destination) Validate() error {
10957 invalidParams := request.ErrInvalidParams{Context: "Destination"}
10958 if s.Bucket == nil {
10959 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10960 }
15c0b25d
AP
10961 if s.AccessControlTranslation != nil {
10962 if err := s.AccessControlTranslation.Validate(); err != nil {
10963 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
10964 }
10965 }
bae9f6d2
JC
10966
10967 if invalidParams.Len() > 0 {
10968 return invalidParams
10969 }
10970 return nil
10971}
10972
15c0b25d
AP
10973// SetAccessControlTranslation sets the AccessControlTranslation field's value.
10974func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
10975 s.AccessControlTranslation = v
10976 return s
10977}
10978
10979// SetAccount sets the Account field's value.
10980func (s *Destination) SetAccount(v string) *Destination {
10981 s.Account = &v
10982 return s
10983}
10984
bae9f6d2
JC
10985// SetBucket sets the Bucket field's value.
10986func (s *Destination) SetBucket(v string) *Destination {
10987 s.Bucket = &v
10988 return s
10989}
10990
15c0b25d
AP
10991func (s *Destination) getBucket() (v string) {
10992 if s.Bucket == nil {
10993 return v
10994 }
10995 return *s.Bucket
10996}
10997
10998// SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
10999func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
11000 s.EncryptionConfiguration = v
11001 return s
11002}
11003
bae9f6d2
JC
11004// SetStorageClass sets the StorageClass field's value.
11005func (s *Destination) SetStorageClass(v string) *Destination {
11006 s.StorageClass = &v
11007 return s
11008}
11009
15c0b25d
AP
11010// Describes the server-side encryption that will be applied to the restore
11011// results.
11012type Encryption struct {
11013 _ struct{} `type:"structure"`
11014
11015 // The server-side encryption algorithm used when storing job results in Amazon
11016 // S3 (e.g., AES256, aws:kms).
11017 //
11018 // EncryptionType is a required field
11019 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
11020
11021 // If the encryption type is aws:kms, this optional value can be used to specify
11022 // the encryption context for the restore results.
11023 KMSContext *string `type:"string"`
11024
11025 // If the encryption type is aws:kms, this optional value specifies the AWS
11026 // KMS key ID to use for encryption of job results.
107c1cdb 11027 KMSKeyId *string `type:"string" sensitive:"true"`
15c0b25d
AP
11028}
11029
11030// String returns the string representation
11031func (s Encryption) String() string {
11032 return awsutil.Prettify(s)
11033}
11034
11035// GoString returns the string representation
11036func (s Encryption) GoString() string {
11037 return s.String()
11038}
11039
11040// Validate inspects the fields of the type to determine if they are valid.
11041func (s *Encryption) Validate() error {
11042 invalidParams := request.ErrInvalidParams{Context: "Encryption"}
11043 if s.EncryptionType == nil {
11044 invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
11045 }
11046
11047 if invalidParams.Len() > 0 {
11048 return invalidParams
11049 }
11050 return nil
11051}
11052
11053// SetEncryptionType sets the EncryptionType field's value.
11054func (s *Encryption) SetEncryptionType(v string) *Encryption {
11055 s.EncryptionType = &v
11056 return s
11057}
11058
11059// SetKMSContext sets the KMSContext field's value.
11060func (s *Encryption) SetKMSContext(v string) *Encryption {
11061 s.KMSContext = &v
11062 return s
11063}
11064
11065// SetKMSKeyId sets the KMSKeyId field's value.
11066func (s *Encryption) SetKMSKeyId(v string) *Encryption {
11067 s.KMSKeyId = &v
11068 return s
11069}
11070
107c1cdb
ND
11071// A container for information about the encryption-based configuration for
11072// replicas.
15c0b25d
AP
11073type EncryptionConfiguration struct {
11074 _ struct{} `type:"structure"`
11075
107c1cdb
ND
11076 // The ID of the AWS KMS key for the AWS Region where the destination bucket
11077 // resides. Amazon S3 uses this key to encrypt the replica object.
15c0b25d
AP
11078 ReplicaKmsKeyID *string `type:"string"`
11079}
11080
11081// String returns the string representation
11082func (s EncryptionConfiguration) String() string {
11083 return awsutil.Prettify(s)
11084}
11085
11086// GoString returns the string representation
11087func (s EncryptionConfiguration) GoString() string {
11088 return s.String()
11089}
11090
11091// SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
11092func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
11093 s.ReplicaKmsKeyID = &v
11094 return s
11095}
11096
11097type EndEvent struct {
11098 _ struct{} `locationName:"EndEvent" type:"structure"`
11099}
11100
11101// String returns the string representation
11102func (s EndEvent) String() string {
11103 return awsutil.Prettify(s)
11104}
11105
11106// GoString returns the string representation
11107func (s EndEvent) GoString() string {
11108 return s.String()
11109}
11110
11111// The EndEvent is and event in the SelectObjectContentEventStream group of events.
11112func (s *EndEvent) eventSelectObjectContentEventStream() {}
11113
11114// UnmarshalEvent unmarshals the EventStream Message into the EndEvent value.
11115// This method is only used internally within the SDK's EventStream handling.
11116func (s *EndEvent) UnmarshalEvent(
11117 payloadUnmarshaler protocol.PayloadUnmarshaler,
11118 msg eventstream.Message,
11119) error {
11120 return nil
11121}
11122
bae9f6d2
JC
11123type Error struct {
11124 _ struct{} `type:"structure"`
11125
11126 Code *string `type:"string"`
11127
11128 Key *string `min:"1" type:"string"`
11129
11130 Message *string `type:"string"`
11131
11132 VersionId *string `type:"string"`
11133}
11134
11135// String returns the string representation
11136func (s Error) String() string {
11137 return awsutil.Prettify(s)
11138}
11139
11140// GoString returns the string representation
11141func (s Error) GoString() string {
11142 return s.String()
11143}
11144
11145// SetCode sets the Code field's value.
11146func (s *Error) SetCode(v string) *Error {
11147 s.Code = &v
11148 return s
11149}
11150
11151// SetKey sets the Key field's value.
11152func (s *Error) SetKey(v string) *Error {
11153 s.Key = &v
11154 return s
11155}
11156
11157// SetMessage sets the Message field's value.
11158func (s *Error) SetMessage(v string) *Error {
11159 s.Message = &v
11160 return s
11161}
11162
11163// SetVersionId sets the VersionId field's value.
11164func (s *Error) SetVersionId(v string) *Error {
11165 s.VersionId = &v
11166 return s
11167}
11168
bae9f6d2
JC
11169type ErrorDocument struct {
11170 _ struct{} `type:"structure"`
11171
11172 // The object key name to use when a 4XX class error occurs.
11173 //
11174 // Key is a required field
11175 Key *string `min:"1" type:"string" required:"true"`
11176}
11177
11178// String returns the string representation
11179func (s ErrorDocument) String() string {
11180 return awsutil.Prettify(s)
11181}
11182
11183// GoString returns the string representation
11184func (s ErrorDocument) GoString() string {
11185 return s.String()
11186}
11187
11188// Validate inspects the fields of the type to determine if they are valid.
11189func (s *ErrorDocument) Validate() error {
11190 invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"}
11191 if s.Key == nil {
11192 invalidParams.Add(request.NewErrParamRequired("Key"))
11193 }
11194 if s.Key != nil && len(*s.Key) < 1 {
11195 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11196 }
11197
11198 if invalidParams.Len() > 0 {
11199 return invalidParams
11200 }
11201 return nil
11202}
11203
11204// SetKey sets the Key field's value.
11205func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
11206 s.Key = &v
11207 return s
11208}
11209
107c1cdb
ND
11210// A container for a key value pair that defines the criteria for the filter
11211// rule.
bae9f6d2
JC
11212type FilterRule struct {
11213 _ struct{} `type:"structure"`
11214
107c1cdb
ND
11215 // The object key name prefix or suffix identifying one or more objects to which
11216 // the filtering rule applies. The maximum prefix length is 1,024 characters.
bae9f6d2 11217 // Overlapping prefixes and suffixes are not supported. For more information,
107c1cdb 11218 // see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 11219 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
11220 Name *string `type:"string" enum:"FilterRuleName"`
11221
11222 Value *string `type:"string"`
11223}
11224
11225// String returns the string representation
11226func (s FilterRule) String() string {
11227 return awsutil.Prettify(s)
11228}
11229
11230// GoString returns the string representation
11231func (s FilterRule) GoString() string {
11232 return s.String()
11233}
11234
11235// SetName sets the Name field's value.
11236func (s *FilterRule) SetName(v string) *FilterRule {
11237 s.Name = &v
11238 return s
11239}
11240
11241// SetValue sets the Value field's value.
11242func (s *FilterRule) SetValue(v string) *FilterRule {
11243 s.Value = &v
11244 return s
11245}
11246
bae9f6d2
JC
11247type GetBucketAccelerateConfigurationInput struct {
11248 _ struct{} `type:"structure"`
11249
11250 // Name of the bucket for which the accelerate configuration is retrieved.
11251 //
11252 // Bucket is a required field
11253 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11254}
11255
11256// String returns the string representation
11257func (s GetBucketAccelerateConfigurationInput) String() string {
11258 return awsutil.Prettify(s)
11259}
11260
11261// GoString returns the string representation
11262func (s GetBucketAccelerateConfigurationInput) GoString() string {
11263 return s.String()
11264}
11265
11266// Validate inspects the fields of the type to determine if they are valid.
11267func (s *GetBucketAccelerateConfigurationInput) Validate() error {
11268 invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"}
11269 if s.Bucket == nil {
11270 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11271 }
107c1cdb
ND
11272 if s.Bucket != nil && len(*s.Bucket) < 1 {
11273 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11274 }
bae9f6d2
JC
11275
11276 if invalidParams.Len() > 0 {
11277 return invalidParams
11278 }
11279 return nil
11280}
11281
11282// SetBucket sets the Bucket field's value.
11283func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput {
11284 s.Bucket = &v
11285 return s
11286}
11287
15c0b25d
AP
11288func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
11289 if s.Bucket == nil {
11290 return v
11291 }
11292 return *s.Bucket
11293}
11294
bae9f6d2
JC
11295type GetBucketAccelerateConfigurationOutput struct {
11296 _ struct{} `type:"structure"`
11297
11298 // The accelerate configuration of the bucket.
11299 Status *string `type:"string" enum:"BucketAccelerateStatus"`
11300}
11301
11302// String returns the string representation
11303func (s GetBucketAccelerateConfigurationOutput) String() string {
11304 return awsutil.Prettify(s)
11305}
11306
11307// GoString returns the string representation
11308func (s GetBucketAccelerateConfigurationOutput) GoString() string {
11309 return s.String()
11310}
11311
11312// SetStatus sets the Status field's value.
11313func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput {
11314 s.Status = &v
11315 return s
11316}
11317
bae9f6d2
JC
11318type GetBucketAclInput struct {
11319 _ struct{} `type:"structure"`
11320
11321 // Bucket is a required field
11322 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11323}
11324
11325// String returns the string representation
11326func (s GetBucketAclInput) String() string {
11327 return awsutil.Prettify(s)
11328}
11329
11330// GoString returns the string representation
11331func (s GetBucketAclInput) GoString() string {
11332 return s.String()
11333}
11334
11335// Validate inspects the fields of the type to determine if they are valid.
11336func (s *GetBucketAclInput) Validate() error {
11337 invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"}
11338 if s.Bucket == nil {
11339 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11340 }
107c1cdb
ND
11341 if s.Bucket != nil && len(*s.Bucket) < 1 {
11342 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11343 }
bae9f6d2
JC
11344
11345 if invalidParams.Len() > 0 {
11346 return invalidParams
11347 }
11348 return nil
11349}
11350
11351// SetBucket sets the Bucket field's value.
11352func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
11353 s.Bucket = &v
11354 return s
11355}
11356
15c0b25d
AP
11357func (s *GetBucketAclInput) getBucket() (v string) {
11358 if s.Bucket == nil {
11359 return v
11360 }
11361 return *s.Bucket
11362}
11363
bae9f6d2
JC
11364type GetBucketAclOutput struct {
11365 _ struct{} `type:"structure"`
11366
11367 // A list of grants.
11368 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
11369
11370 Owner *Owner `type:"structure"`
11371}
11372
11373// String returns the string representation
11374func (s GetBucketAclOutput) String() string {
11375 return awsutil.Prettify(s)
11376}
11377
11378// GoString returns the string representation
11379func (s GetBucketAclOutput) GoString() string {
11380 return s.String()
11381}
11382
11383// SetGrants sets the Grants field's value.
11384func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput {
11385 s.Grants = v
11386 return s
11387}
11388
11389// SetOwner sets the Owner field's value.
11390func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
11391 s.Owner = v
11392 return s
11393}
11394
bae9f6d2
JC
11395type GetBucketAnalyticsConfigurationInput struct {
11396 _ struct{} `type:"structure"`
11397
11398 // The name of the bucket from which an analytics configuration is retrieved.
11399 //
11400 // Bucket is a required field
11401 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11402
11403 // The identifier used to represent an analytics configuration.
11404 //
11405 // Id is a required field
11406 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11407}
11408
11409// String returns the string representation
11410func (s GetBucketAnalyticsConfigurationInput) String() string {
11411 return awsutil.Prettify(s)
11412}
11413
11414// GoString returns the string representation
11415func (s GetBucketAnalyticsConfigurationInput) GoString() string {
11416 return s.String()
11417}
11418
11419// Validate inspects the fields of the type to determine if they are valid.
11420func (s *GetBucketAnalyticsConfigurationInput) Validate() error {
11421 invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"}
11422 if s.Bucket == nil {
11423 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11424 }
107c1cdb
ND
11425 if s.Bucket != nil && len(*s.Bucket) < 1 {
11426 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11427 }
bae9f6d2
JC
11428 if s.Id == nil {
11429 invalidParams.Add(request.NewErrParamRequired("Id"))
11430 }
11431
11432 if invalidParams.Len() > 0 {
11433 return invalidParams
11434 }
11435 return nil
11436}
11437
11438// SetBucket sets the Bucket field's value.
11439func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput {
11440 s.Bucket = &v
11441 return s
11442}
11443
15c0b25d
AP
11444func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
11445 if s.Bucket == nil {
11446 return v
11447 }
11448 return *s.Bucket
11449}
11450
bae9f6d2
JC
11451// SetId sets the Id field's value.
11452func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
11453 s.Id = &v
11454 return s
11455}
11456
bae9f6d2
JC
11457type GetBucketAnalyticsConfigurationOutput struct {
11458 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
11459
11460 // The configuration and any analyses for the analytics filter.
11461 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"`
11462}
11463
11464// String returns the string representation
11465func (s GetBucketAnalyticsConfigurationOutput) String() string {
11466 return awsutil.Prettify(s)
11467}
11468
11469// GoString returns the string representation
11470func (s GetBucketAnalyticsConfigurationOutput) GoString() string {
11471 return s.String()
11472}
11473
11474// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
11475func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput {
11476 s.AnalyticsConfiguration = v
11477 return s
11478}
11479
bae9f6d2
JC
11480type GetBucketCorsInput struct {
11481 _ struct{} `type:"structure"`
11482
11483 // Bucket is a required field
11484 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11485}
11486
11487// String returns the string representation
11488func (s GetBucketCorsInput) String() string {
11489 return awsutil.Prettify(s)
11490}
11491
11492// GoString returns the string representation
11493func (s GetBucketCorsInput) GoString() string {
11494 return s.String()
11495}
11496
11497// Validate inspects the fields of the type to determine if they are valid.
11498func (s *GetBucketCorsInput) Validate() error {
11499 invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"}
11500 if s.Bucket == nil {
11501 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11502 }
107c1cdb
ND
11503 if s.Bucket != nil && len(*s.Bucket) < 1 {
11504 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11505 }
bae9f6d2
JC
11506
11507 if invalidParams.Len() > 0 {
11508 return invalidParams
11509 }
11510 return nil
11511}
11512
11513// SetBucket sets the Bucket field's value.
11514func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
11515 s.Bucket = &v
11516 return s
11517}
11518
15c0b25d
AP
11519func (s *GetBucketCorsInput) getBucket() (v string) {
11520 if s.Bucket == nil {
11521 return v
11522 }
11523 return *s.Bucket
11524}
11525
bae9f6d2
JC
11526type GetBucketCorsOutput struct {
11527 _ struct{} `type:"structure"`
11528
11529 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`
11530}
11531
11532// String returns the string representation
11533func (s GetBucketCorsOutput) String() string {
11534 return awsutil.Prettify(s)
11535}
11536
11537// GoString returns the string representation
11538func (s GetBucketCorsOutput) GoString() string {
11539 return s.String()
11540}
11541
11542// SetCORSRules sets the CORSRules field's value.
11543func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
11544 s.CORSRules = v
11545 return s
11546}
11547
15c0b25d
AP
11548type GetBucketEncryptionInput struct {
11549 _ struct{} `type:"structure"`
11550
11551 // The name of the bucket from which the server-side encryption configuration
11552 // is retrieved.
11553 //
11554 // Bucket is a required field
11555 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11556}
11557
11558// String returns the string representation
11559func (s GetBucketEncryptionInput) String() string {
11560 return awsutil.Prettify(s)
11561}
11562
11563// GoString returns the string representation
11564func (s GetBucketEncryptionInput) GoString() string {
11565 return s.String()
11566}
11567
11568// Validate inspects the fields of the type to determine if they are valid.
11569func (s *GetBucketEncryptionInput) Validate() error {
11570 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"}
11571 if s.Bucket == nil {
11572 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11573 }
107c1cdb
ND
11574 if s.Bucket != nil && len(*s.Bucket) < 1 {
11575 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11576 }
15c0b25d
AP
11577
11578 if invalidParams.Len() > 0 {
11579 return invalidParams
11580 }
11581 return nil
11582}
11583
11584// SetBucket sets the Bucket field's value.
11585func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
11586 s.Bucket = &v
11587 return s
11588}
11589
11590func (s *GetBucketEncryptionInput) getBucket() (v string) {
11591 if s.Bucket == nil {
11592 return v
11593 }
11594 return *s.Bucket
11595}
11596
11597type GetBucketEncryptionOutput struct {
11598 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
11599
11600 // Container for server-side encryption configuration rules. Currently S3 supports
11601 // one rule only.
11602 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
11603}
11604
11605// String returns the string representation
11606func (s GetBucketEncryptionOutput) String() string {
11607 return awsutil.Prettify(s)
11608}
11609
11610// GoString returns the string representation
11611func (s GetBucketEncryptionOutput) GoString() string {
11612 return s.String()
11613}
11614
11615// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
11616func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
11617 s.ServerSideEncryptionConfiguration = v
11618 return s
11619}
11620
bae9f6d2
JC
11621type GetBucketInventoryConfigurationInput struct {
11622 _ struct{} `type:"structure"`
11623
11624 // The name of the bucket containing the inventory configuration to retrieve.
11625 //
11626 // Bucket is a required field
11627 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11628
11629 // The ID used to identify the inventory configuration.
11630 //
11631 // Id is a required field
11632 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11633}
11634
11635// String returns the string representation
11636func (s GetBucketInventoryConfigurationInput) String() string {
11637 return awsutil.Prettify(s)
11638}
11639
11640// GoString returns the string representation
11641func (s GetBucketInventoryConfigurationInput) GoString() string {
11642 return s.String()
11643}
11644
11645// Validate inspects the fields of the type to determine if they are valid.
11646func (s *GetBucketInventoryConfigurationInput) Validate() error {
11647 invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"}
11648 if s.Bucket == nil {
11649 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11650 }
107c1cdb
ND
11651 if s.Bucket != nil && len(*s.Bucket) < 1 {
11652 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11653 }
bae9f6d2
JC
11654 if s.Id == nil {
11655 invalidParams.Add(request.NewErrParamRequired("Id"))
11656 }
11657
11658 if invalidParams.Len() > 0 {
11659 return invalidParams
11660 }
11661 return nil
11662}
11663
11664// SetBucket sets the Bucket field's value.
11665func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput {
11666 s.Bucket = &v
11667 return s
11668}
11669
15c0b25d
AP
11670func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
11671 if s.Bucket == nil {
11672 return v
11673 }
11674 return *s.Bucket
11675}
11676
bae9f6d2
JC
11677// SetId sets the Id field's value.
11678func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
11679 s.Id = &v
11680 return s
11681}
11682
bae9f6d2
JC
11683type GetBucketInventoryConfigurationOutput struct {
11684 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
11685
11686 // Specifies the inventory configuration.
11687 InventoryConfiguration *InventoryConfiguration `type:"structure"`
11688}
11689
11690// String returns the string representation
11691func (s GetBucketInventoryConfigurationOutput) String() string {
11692 return awsutil.Prettify(s)
11693}
11694
11695// GoString returns the string representation
11696func (s GetBucketInventoryConfigurationOutput) GoString() string {
11697 return s.String()
11698}
11699
11700// SetInventoryConfiguration sets the InventoryConfiguration field's value.
11701func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput {
11702 s.InventoryConfiguration = v
11703 return s
11704}
11705
bae9f6d2
JC
11706type GetBucketLifecycleConfigurationInput struct {
11707 _ struct{} `type:"structure"`
11708
11709 // Bucket is a required field
11710 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11711}
11712
11713// String returns the string representation
11714func (s GetBucketLifecycleConfigurationInput) String() string {
11715 return awsutil.Prettify(s)
11716}
11717
11718// GoString returns the string representation
11719func (s GetBucketLifecycleConfigurationInput) GoString() string {
11720 return s.String()
11721}
11722
11723// Validate inspects the fields of the type to determine if they are valid.
11724func (s *GetBucketLifecycleConfigurationInput) Validate() error {
11725 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"}
11726 if s.Bucket == nil {
11727 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11728 }
107c1cdb
ND
11729 if s.Bucket != nil && len(*s.Bucket) < 1 {
11730 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11731 }
bae9f6d2
JC
11732
11733 if invalidParams.Len() > 0 {
11734 return invalidParams
11735 }
11736 return nil
11737}
11738
11739// SetBucket sets the Bucket field's value.
11740func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput {
11741 s.Bucket = &v
11742 return s
11743}
11744
15c0b25d
AP
11745func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
11746 if s.Bucket == nil {
11747 return v
11748 }
11749 return *s.Bucket
11750}
11751
bae9f6d2
JC
11752type GetBucketLifecycleConfigurationOutput struct {
11753 _ struct{} `type:"structure"`
11754
11755 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`
11756}
11757
11758// String returns the string representation
11759func (s GetBucketLifecycleConfigurationOutput) String() string {
11760 return awsutil.Prettify(s)
11761}
11762
11763// GoString returns the string representation
11764func (s GetBucketLifecycleConfigurationOutput) GoString() string {
11765 return s.String()
11766}
11767
11768// SetRules sets the Rules field's value.
11769func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput {
11770 s.Rules = v
11771 return s
11772}
11773
bae9f6d2
JC
11774type GetBucketLifecycleInput struct {
11775 _ struct{} `type:"structure"`
11776
11777 // Bucket is a required field
11778 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11779}
11780
11781// String returns the string representation
11782func (s GetBucketLifecycleInput) String() string {
11783 return awsutil.Prettify(s)
11784}
11785
11786// GoString returns the string representation
11787func (s GetBucketLifecycleInput) GoString() string {
11788 return s.String()
11789}
11790
11791// Validate inspects the fields of the type to determine if they are valid.
11792func (s *GetBucketLifecycleInput) Validate() error {
11793 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"}
11794 if s.Bucket == nil {
11795 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11796 }
107c1cdb
ND
11797 if s.Bucket != nil && len(*s.Bucket) < 1 {
11798 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11799 }
bae9f6d2
JC
11800
11801 if invalidParams.Len() > 0 {
11802 return invalidParams
11803 }
11804 return nil
11805}
11806
11807// SetBucket sets the Bucket field's value.
11808func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
11809 s.Bucket = &v
11810 return s
11811}
11812
15c0b25d
AP
11813func (s *GetBucketLifecycleInput) getBucket() (v string) {
11814 if s.Bucket == nil {
11815 return v
11816 }
11817 return *s.Bucket
11818}
11819
bae9f6d2
JC
11820type GetBucketLifecycleOutput struct {
11821 _ struct{} `type:"structure"`
11822
11823 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"`
11824}
11825
11826// String returns the string representation
11827func (s GetBucketLifecycleOutput) String() string {
11828 return awsutil.Prettify(s)
11829}
11830
11831// GoString returns the string representation
11832func (s GetBucketLifecycleOutput) GoString() string {
11833 return s.String()
11834}
11835
11836// SetRules sets the Rules field's value.
11837func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput {
11838 s.Rules = v
11839 return s
11840}
11841
bae9f6d2
JC
11842type GetBucketLocationInput struct {
11843 _ struct{} `type:"structure"`
11844
11845 // Bucket is a required field
11846 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11847}
11848
11849// String returns the string representation
11850func (s GetBucketLocationInput) String() string {
11851 return awsutil.Prettify(s)
11852}
11853
11854// GoString returns the string representation
11855func (s GetBucketLocationInput) GoString() string {
11856 return s.String()
11857}
11858
11859// Validate inspects the fields of the type to determine if they are valid.
11860func (s *GetBucketLocationInput) Validate() error {
11861 invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"}
11862 if s.Bucket == nil {
11863 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11864 }
107c1cdb
ND
11865 if s.Bucket != nil && len(*s.Bucket) < 1 {
11866 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11867 }
bae9f6d2
JC
11868
11869 if invalidParams.Len() > 0 {
11870 return invalidParams
11871 }
11872 return nil
11873}
11874
11875// SetBucket sets the Bucket field's value.
11876func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
11877 s.Bucket = &v
11878 return s
11879}
11880
15c0b25d
AP
11881func (s *GetBucketLocationInput) getBucket() (v string) {
11882 if s.Bucket == nil {
11883 return v
11884 }
11885 return *s.Bucket
11886}
11887
11888type GetBucketLocationOutput struct {
11889 _ struct{} `type:"structure"`
bae9f6d2
JC
11890
11891 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
11892}
11893
11894// String returns the string representation
11895func (s GetBucketLocationOutput) String() string {
11896 return awsutil.Prettify(s)
11897}
11898
11899// GoString returns the string representation
11900func (s GetBucketLocationOutput) GoString() string {
11901 return s.String()
11902}
11903
11904// SetLocationConstraint sets the LocationConstraint field's value.
11905func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput {
11906 s.LocationConstraint = &v
11907 return s
11908}
11909
bae9f6d2
JC
11910type GetBucketLoggingInput struct {
11911 _ struct{} `type:"structure"`
11912
11913 // Bucket is a required field
11914 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11915}
11916
11917// String returns the string representation
11918func (s GetBucketLoggingInput) String() string {
11919 return awsutil.Prettify(s)
11920}
11921
11922// GoString returns the string representation
11923func (s GetBucketLoggingInput) GoString() string {
11924 return s.String()
11925}
11926
11927// Validate inspects the fields of the type to determine if they are valid.
11928func (s *GetBucketLoggingInput) Validate() error {
11929 invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"}
11930 if s.Bucket == nil {
11931 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11932 }
107c1cdb
ND
11933 if s.Bucket != nil && len(*s.Bucket) < 1 {
11934 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11935 }
bae9f6d2
JC
11936
11937 if invalidParams.Len() > 0 {
11938 return invalidParams
11939 }
11940 return nil
11941}
11942
11943// SetBucket sets the Bucket field's value.
11944func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
11945 s.Bucket = &v
11946 return s
11947}
11948
15c0b25d
AP
11949func (s *GetBucketLoggingInput) getBucket() (v string) {
11950 if s.Bucket == nil {
11951 return v
11952 }
11953 return *s.Bucket
11954}
11955
bae9f6d2
JC
11956type GetBucketLoggingOutput struct {
11957 _ struct{} `type:"structure"`
11958
15c0b25d
AP
11959 // Container for logging information. Presence of this element indicates that
11960 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
11961 // in this case.
bae9f6d2
JC
11962 LoggingEnabled *LoggingEnabled `type:"structure"`
11963}
11964
11965// String returns the string representation
11966func (s GetBucketLoggingOutput) String() string {
11967 return awsutil.Prettify(s)
11968}
11969
11970// GoString returns the string representation
11971func (s GetBucketLoggingOutput) GoString() string {
11972 return s.String()
11973}
11974
11975// SetLoggingEnabled sets the LoggingEnabled field's value.
11976func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput {
11977 s.LoggingEnabled = v
11978 return s
11979}
11980
bae9f6d2
JC
11981type GetBucketMetricsConfigurationInput struct {
11982 _ struct{} `type:"structure"`
11983
11984 // The name of the bucket containing the metrics configuration to retrieve.
11985 //
11986 // Bucket is a required field
11987 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11988
11989 // The ID used to identify the metrics configuration.
11990 //
11991 // Id is a required field
11992 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11993}
11994
11995// String returns the string representation
11996func (s GetBucketMetricsConfigurationInput) String() string {
11997 return awsutil.Prettify(s)
11998}
11999
12000// GoString returns the string representation
12001func (s GetBucketMetricsConfigurationInput) GoString() string {
12002 return s.String()
12003}
12004
12005// Validate inspects the fields of the type to determine if they are valid.
12006func (s *GetBucketMetricsConfigurationInput) Validate() error {
12007 invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"}
12008 if s.Bucket == nil {
12009 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12010 }
107c1cdb
ND
12011 if s.Bucket != nil && len(*s.Bucket) < 1 {
12012 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12013 }
bae9f6d2
JC
12014 if s.Id == nil {
12015 invalidParams.Add(request.NewErrParamRequired("Id"))
12016 }
12017
12018 if invalidParams.Len() > 0 {
12019 return invalidParams
12020 }
12021 return nil
12022}
12023
12024// SetBucket sets the Bucket field's value.
12025func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput {
12026 s.Bucket = &v
12027 return s
12028}
12029
15c0b25d
AP
12030func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
12031 if s.Bucket == nil {
12032 return v
12033 }
12034 return *s.Bucket
12035}
12036
bae9f6d2
JC
12037// SetId sets the Id field's value.
12038func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
12039 s.Id = &v
12040 return s
12041}
12042
bae9f6d2
JC
12043type GetBucketMetricsConfigurationOutput struct {
12044 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
12045
12046 // Specifies the metrics configuration.
12047 MetricsConfiguration *MetricsConfiguration `type:"structure"`
12048}
12049
12050// String returns the string representation
12051func (s GetBucketMetricsConfigurationOutput) String() string {
12052 return awsutil.Prettify(s)
12053}
12054
12055// GoString returns the string representation
12056func (s GetBucketMetricsConfigurationOutput) GoString() string {
12057 return s.String()
12058}
12059
12060// SetMetricsConfiguration sets the MetricsConfiguration field's value.
12061func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput {
12062 s.MetricsConfiguration = v
12063 return s
12064}
12065
bae9f6d2
JC
12066type GetBucketNotificationConfigurationRequest struct {
12067 _ struct{} `type:"structure"`
12068
12069 // Name of the bucket to get the notification configuration for.
12070 //
12071 // Bucket is a required field
12072 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12073}
12074
12075// String returns the string representation
12076func (s GetBucketNotificationConfigurationRequest) String() string {
12077 return awsutil.Prettify(s)
12078}
12079
12080// GoString returns the string representation
12081func (s GetBucketNotificationConfigurationRequest) GoString() string {
12082 return s.String()
12083}
12084
12085// Validate inspects the fields of the type to determine if they are valid.
12086func (s *GetBucketNotificationConfigurationRequest) Validate() error {
12087 invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"}
12088 if s.Bucket == nil {
12089 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12090 }
107c1cdb
ND
12091 if s.Bucket != nil && len(*s.Bucket) < 1 {
12092 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12093 }
bae9f6d2
JC
12094
12095 if invalidParams.Len() > 0 {
12096 return invalidParams
12097 }
12098 return nil
12099}
12100
12101// SetBucket sets the Bucket field's value.
12102func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest {
12103 s.Bucket = &v
12104 return s
12105}
12106
15c0b25d
AP
12107func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
12108 if s.Bucket == nil {
12109 return v
12110 }
12111 return *s.Bucket
12112}
12113
bae9f6d2
JC
12114type GetBucketPolicyInput struct {
12115 _ struct{} `type:"structure"`
12116
12117 // Bucket is a required field
12118 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12119}
12120
12121// String returns the string representation
12122func (s GetBucketPolicyInput) String() string {
12123 return awsutil.Prettify(s)
12124}
12125
12126// GoString returns the string representation
12127func (s GetBucketPolicyInput) GoString() string {
12128 return s.String()
12129}
12130
12131// Validate inspects the fields of the type to determine if they are valid.
12132func (s *GetBucketPolicyInput) Validate() error {
12133 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"}
12134 if s.Bucket == nil {
12135 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12136 }
107c1cdb
ND
12137 if s.Bucket != nil && len(*s.Bucket) < 1 {
12138 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12139 }
bae9f6d2
JC
12140
12141 if invalidParams.Len() > 0 {
12142 return invalidParams
12143 }
12144 return nil
12145}
12146
12147// SetBucket sets the Bucket field's value.
12148func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
12149 s.Bucket = &v
12150 return s
12151}
12152
15c0b25d
AP
12153func (s *GetBucketPolicyInput) getBucket() (v string) {
12154 if s.Bucket == nil {
12155 return v
12156 }
12157 return *s.Bucket
12158}
12159
bae9f6d2
JC
12160type GetBucketPolicyOutput struct {
12161 _ struct{} `type:"structure" payload:"Policy"`
12162
12163 // The bucket policy as a JSON document.
12164 Policy *string `type:"string"`
12165}
12166
12167// String returns the string representation
12168func (s GetBucketPolicyOutput) String() string {
12169 return awsutil.Prettify(s)
12170}
12171
12172// GoString returns the string representation
107c1cdb
ND
12173func (s GetBucketPolicyOutput) GoString() string {
12174 return s.String()
12175}
12176
12177// SetPolicy sets the Policy field's value.
12178func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
12179 s.Policy = &v
12180 return s
12181}
12182
12183type GetBucketPolicyStatusInput struct {
12184 _ struct{} `type:"structure"`
12185
12186 // The name of the Amazon S3 bucket whose policy status you want to retrieve.
12187 //
12188 // Bucket is a required field
12189 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12190}
12191
12192// String returns the string representation
12193func (s GetBucketPolicyStatusInput) String() string {
12194 return awsutil.Prettify(s)
12195}
12196
12197// GoString returns the string representation
12198func (s GetBucketPolicyStatusInput) GoString() string {
12199 return s.String()
12200}
12201
12202// Validate inspects the fields of the type to determine if they are valid.
12203func (s *GetBucketPolicyStatusInput) Validate() error {
12204 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyStatusInput"}
12205 if s.Bucket == nil {
12206 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12207 }
12208 if s.Bucket != nil && len(*s.Bucket) < 1 {
12209 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12210 }
12211
12212 if invalidParams.Len() > 0 {
12213 return invalidParams
12214 }
12215 return nil
12216}
12217
12218// SetBucket sets the Bucket field's value.
12219func (s *GetBucketPolicyStatusInput) SetBucket(v string) *GetBucketPolicyStatusInput {
12220 s.Bucket = &v
12221 return s
12222}
12223
12224func (s *GetBucketPolicyStatusInput) getBucket() (v string) {
12225 if s.Bucket == nil {
12226 return v
12227 }
12228 return *s.Bucket
12229}
12230
12231type GetBucketPolicyStatusOutput struct {
12232 _ struct{} `type:"structure" payload:"PolicyStatus"`
12233
12234 // The policy status for the specified bucket.
12235 PolicyStatus *PolicyStatus `type:"structure"`
12236}
12237
12238// String returns the string representation
12239func (s GetBucketPolicyStatusOutput) String() string {
12240 return awsutil.Prettify(s)
12241}
12242
12243// GoString returns the string representation
12244func (s GetBucketPolicyStatusOutput) GoString() string {
bae9f6d2
JC
12245 return s.String()
12246}
12247
107c1cdb
ND
12248// SetPolicyStatus sets the PolicyStatus field's value.
12249func (s *GetBucketPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetBucketPolicyStatusOutput {
12250 s.PolicyStatus = v
bae9f6d2
JC
12251 return s
12252}
12253
bae9f6d2
JC
12254type GetBucketReplicationInput struct {
12255 _ struct{} `type:"structure"`
12256
12257 // Bucket is a required field
12258 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12259}
12260
12261// String returns the string representation
12262func (s GetBucketReplicationInput) String() string {
12263 return awsutil.Prettify(s)
12264}
12265
12266// GoString returns the string representation
12267func (s GetBucketReplicationInput) GoString() string {
12268 return s.String()
12269}
12270
12271// Validate inspects the fields of the type to determine if they are valid.
12272func (s *GetBucketReplicationInput) Validate() error {
12273 invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"}
12274 if s.Bucket == nil {
12275 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12276 }
107c1cdb
ND
12277 if s.Bucket != nil && len(*s.Bucket) < 1 {
12278 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12279 }
bae9f6d2
JC
12280
12281 if invalidParams.Len() > 0 {
12282 return invalidParams
12283 }
12284 return nil
12285}
12286
12287// SetBucket sets the Bucket field's value.
12288func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput {
12289 s.Bucket = &v
12290 return s
12291}
12292
15c0b25d
AP
12293func (s *GetBucketReplicationInput) getBucket() (v string) {
12294 if s.Bucket == nil {
12295 return v
12296 }
12297 return *s.Bucket
12298}
12299
bae9f6d2
JC
12300type GetBucketReplicationOutput struct {
12301 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
12302
107c1cdb
ND
12303 // A container for replication rules. You can add up to 1,000 rules. The maximum
12304 // size of a replication configuration is 2 MB.
bae9f6d2
JC
12305 ReplicationConfiguration *ReplicationConfiguration `type:"structure"`
12306}
12307
12308// String returns the string representation
12309func (s GetBucketReplicationOutput) String() string {
12310 return awsutil.Prettify(s)
12311}
12312
12313// GoString returns the string representation
12314func (s GetBucketReplicationOutput) GoString() string {
12315 return s.String()
12316}
12317
12318// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
12319func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput {
12320 s.ReplicationConfiguration = v
12321 return s
12322}
12323
bae9f6d2
JC
12324type GetBucketRequestPaymentInput struct {
12325 _ struct{} `type:"structure"`
12326
12327 // Bucket is a required field
12328 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12329}
12330
12331// String returns the string representation
12332func (s GetBucketRequestPaymentInput) String() string {
12333 return awsutil.Prettify(s)
12334}
12335
12336// GoString returns the string representation
12337func (s GetBucketRequestPaymentInput) GoString() string {
12338 return s.String()
12339}
12340
12341// Validate inspects the fields of the type to determine if they are valid.
12342func (s *GetBucketRequestPaymentInput) Validate() error {
12343 invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"}
12344 if s.Bucket == nil {
12345 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12346 }
107c1cdb
ND
12347 if s.Bucket != nil && len(*s.Bucket) < 1 {
12348 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12349 }
bae9f6d2
JC
12350
12351 if invalidParams.Len() > 0 {
12352 return invalidParams
12353 }
12354 return nil
12355}
12356
12357// SetBucket sets the Bucket field's value.
12358func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput {
12359 s.Bucket = &v
12360 return s
12361}
12362
15c0b25d
AP
12363func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
12364 if s.Bucket == nil {
12365 return v
12366 }
12367 return *s.Bucket
12368}
12369
bae9f6d2
JC
12370type GetBucketRequestPaymentOutput struct {
12371 _ struct{} `type:"structure"`
12372
12373 // Specifies who pays for the download and request fees.
12374 Payer *string `type:"string" enum:"Payer"`
12375}
12376
12377// String returns the string representation
12378func (s GetBucketRequestPaymentOutput) String() string {
12379 return awsutil.Prettify(s)
12380}
12381
12382// GoString returns the string representation
12383func (s GetBucketRequestPaymentOutput) GoString() string {
12384 return s.String()
12385}
12386
12387// SetPayer sets the Payer field's value.
12388func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput {
12389 s.Payer = &v
12390 return s
12391}
12392
bae9f6d2
JC
12393type GetBucketTaggingInput struct {
12394 _ struct{} `type:"structure"`
12395
12396 // Bucket is a required field
12397 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12398}
12399
12400// String returns the string representation
12401func (s GetBucketTaggingInput) String() string {
12402 return awsutil.Prettify(s)
12403}
12404
12405// GoString returns the string representation
12406func (s GetBucketTaggingInput) GoString() string {
12407 return s.String()
12408}
12409
12410// Validate inspects the fields of the type to determine if they are valid.
12411func (s *GetBucketTaggingInput) Validate() error {
12412 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"}
12413 if s.Bucket == nil {
12414 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12415 }
107c1cdb
ND
12416 if s.Bucket != nil && len(*s.Bucket) < 1 {
12417 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12418 }
bae9f6d2
JC
12419
12420 if invalidParams.Len() > 0 {
12421 return invalidParams
12422 }
12423 return nil
12424}
12425
12426// SetBucket sets the Bucket field's value.
12427func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
12428 s.Bucket = &v
12429 return s
12430}
12431
15c0b25d
AP
12432func (s *GetBucketTaggingInput) getBucket() (v string) {
12433 if s.Bucket == nil {
12434 return v
12435 }
12436 return *s.Bucket
12437}
12438
bae9f6d2
JC
12439type GetBucketTaggingOutput struct {
12440 _ struct{} `type:"structure"`
12441
12442 // TagSet is a required field
12443 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
12444}
12445
12446// String returns the string representation
12447func (s GetBucketTaggingOutput) String() string {
12448 return awsutil.Prettify(s)
12449}
12450
12451// GoString returns the string representation
12452func (s GetBucketTaggingOutput) GoString() string {
12453 return s.String()
12454}
12455
12456// SetTagSet sets the TagSet field's value.
12457func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
12458 s.TagSet = v
12459 return s
12460}
12461
bae9f6d2
JC
12462type GetBucketVersioningInput struct {
12463 _ struct{} `type:"structure"`
12464
12465 // Bucket is a required field
12466 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12467}
12468
12469// String returns the string representation
12470func (s GetBucketVersioningInput) String() string {
12471 return awsutil.Prettify(s)
12472}
12473
12474// GoString returns the string representation
12475func (s GetBucketVersioningInput) GoString() string {
12476 return s.String()
12477}
12478
12479// Validate inspects the fields of the type to determine if they are valid.
12480func (s *GetBucketVersioningInput) Validate() error {
12481 invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"}
12482 if s.Bucket == nil {
12483 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12484 }
107c1cdb
ND
12485 if s.Bucket != nil && len(*s.Bucket) < 1 {
12486 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12487 }
bae9f6d2
JC
12488
12489 if invalidParams.Len() > 0 {
12490 return invalidParams
12491 }
12492 return nil
12493}
12494
12495// SetBucket sets the Bucket field's value.
12496func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput {
12497 s.Bucket = &v
12498 return s
12499}
12500
15c0b25d
AP
12501func (s *GetBucketVersioningInput) getBucket() (v string) {
12502 if s.Bucket == nil {
12503 return v
12504 }
12505 return *s.Bucket
12506}
12507
bae9f6d2
JC
12508type GetBucketVersioningOutput struct {
12509 _ struct{} `type:"structure"`
12510
12511 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
12512 // This element is only returned if the bucket has been configured with MFA
12513 // delete. If the bucket has never been so configured, this element is not returned.
12514 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"`
12515
12516 // The versioning state of the bucket.
12517 Status *string `type:"string" enum:"BucketVersioningStatus"`
12518}
12519
12520// String returns the string representation
12521func (s GetBucketVersioningOutput) String() string {
12522 return awsutil.Prettify(s)
12523}
12524
12525// GoString returns the string representation
12526func (s GetBucketVersioningOutput) GoString() string {
12527 return s.String()
12528}
12529
12530// SetMFADelete sets the MFADelete field's value.
12531func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput {
12532 s.MFADelete = &v
12533 return s
12534}
12535
12536// SetStatus sets the Status field's value.
12537func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput {
12538 s.Status = &v
12539 return s
12540}
12541
bae9f6d2
JC
12542type GetBucketWebsiteInput struct {
12543 _ struct{} `type:"structure"`
12544
12545 // Bucket is a required field
12546 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12547}
12548
12549// String returns the string representation
12550func (s GetBucketWebsiteInput) String() string {
12551 return awsutil.Prettify(s)
12552}
12553
12554// GoString returns the string representation
12555func (s GetBucketWebsiteInput) GoString() string {
12556 return s.String()
12557}
12558
12559// Validate inspects the fields of the type to determine if they are valid.
12560func (s *GetBucketWebsiteInput) Validate() error {
12561 invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"}
12562 if s.Bucket == nil {
12563 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12564 }
107c1cdb
ND
12565 if s.Bucket != nil && len(*s.Bucket) < 1 {
12566 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12567 }
bae9f6d2
JC
12568
12569 if invalidParams.Len() > 0 {
12570 return invalidParams
12571 }
12572 return nil
12573}
12574
12575// SetBucket sets the Bucket field's value.
12576func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
12577 s.Bucket = &v
12578 return s
12579}
12580
15c0b25d
AP
12581func (s *GetBucketWebsiteInput) getBucket() (v string) {
12582 if s.Bucket == nil {
12583 return v
12584 }
12585 return *s.Bucket
12586}
12587
bae9f6d2
JC
12588type GetBucketWebsiteOutput struct {
12589 _ struct{} `type:"structure"`
12590
12591 ErrorDocument *ErrorDocument `type:"structure"`
12592
12593 IndexDocument *IndexDocument `type:"structure"`
12594
12595 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
12596
12597 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
12598}
12599
12600// String returns the string representation
12601func (s GetBucketWebsiteOutput) String() string {
12602 return awsutil.Prettify(s)
12603}
12604
12605// GoString returns the string representation
12606func (s GetBucketWebsiteOutput) GoString() string {
12607 return s.String()
12608}
12609
12610// SetErrorDocument sets the ErrorDocument field's value.
12611func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput {
12612 s.ErrorDocument = v
12613 return s
12614}
12615
12616// SetIndexDocument sets the IndexDocument field's value.
12617func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput {
12618 s.IndexDocument = v
12619 return s
12620}
12621
12622// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
12623func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput {
12624 s.RedirectAllRequestsTo = v
12625 return s
12626}
12627
12628// SetRoutingRules sets the RoutingRules field's value.
12629func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput {
12630 s.RoutingRules = v
12631 return s
12632}
12633
bae9f6d2
JC
12634type GetObjectAclInput struct {
12635 _ struct{} `type:"structure"`
12636
12637 // Bucket is a required field
12638 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12639
12640 // Key is a required field
12641 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12642
12643 // Confirms that the requester knows that she or he will be charged for the
12644 // request. Bucket owners need not specify this parameter in their requests.
12645 // Documentation on downloading objects from requester pays buckets can be found
12646 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12647 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12648
12649 // VersionId used to reference a specific version of the object.
12650 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12651}
12652
12653// String returns the string representation
12654func (s GetObjectAclInput) String() string {
12655 return awsutil.Prettify(s)
12656}
12657
12658// GoString returns the string representation
12659func (s GetObjectAclInput) GoString() string {
12660 return s.String()
12661}
12662
12663// Validate inspects the fields of the type to determine if they are valid.
12664func (s *GetObjectAclInput) Validate() error {
12665 invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"}
12666 if s.Bucket == nil {
12667 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12668 }
107c1cdb
ND
12669 if s.Bucket != nil && len(*s.Bucket) < 1 {
12670 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12671 }
bae9f6d2
JC
12672 if s.Key == nil {
12673 invalidParams.Add(request.NewErrParamRequired("Key"))
12674 }
12675 if s.Key != nil && len(*s.Key) < 1 {
12676 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12677 }
12678
12679 if invalidParams.Len() > 0 {
12680 return invalidParams
12681 }
12682 return nil
12683}
12684
12685// SetBucket sets the Bucket field's value.
12686func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
12687 s.Bucket = &v
12688 return s
12689}
12690
15c0b25d
AP
12691func (s *GetObjectAclInput) getBucket() (v string) {
12692 if s.Bucket == nil {
12693 return v
12694 }
12695 return *s.Bucket
12696}
12697
bae9f6d2
JC
12698// SetKey sets the Key field's value.
12699func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
12700 s.Key = &v
12701 return s
12702}
12703
12704// SetRequestPayer sets the RequestPayer field's value.
12705func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput {
12706 s.RequestPayer = &v
12707 return s
12708}
12709
12710// SetVersionId sets the VersionId field's value.
12711func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
12712 s.VersionId = &v
12713 return s
12714}
12715
bae9f6d2
JC
12716type GetObjectAclOutput struct {
12717 _ struct{} `type:"structure"`
12718
12719 // A list of grants.
12720 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
12721
12722 Owner *Owner `type:"structure"`
12723
12724 // If present, indicates that the requester was successfully charged for the
12725 // request.
12726 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
12727}
12728
12729// String returns the string representation
12730func (s GetObjectAclOutput) String() string {
12731 return awsutil.Prettify(s)
12732}
12733
12734// GoString returns the string representation
12735func (s GetObjectAclOutput) GoString() string {
12736 return s.String()
12737}
12738
12739// SetGrants sets the Grants field's value.
12740func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput {
12741 s.Grants = v
12742 return s
12743}
12744
12745// SetOwner sets the Owner field's value.
12746func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput {
12747 s.Owner = v
12748 return s
12749}
12750
12751// SetRequestCharged sets the RequestCharged field's value.
12752func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
12753 s.RequestCharged = &v
12754 return s
12755}
12756
bae9f6d2
JC
12757type GetObjectInput struct {
12758 _ struct{} `type:"structure"`
12759
12760 // Bucket is a required field
12761 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12762
12763 // Return the object only if its entity tag (ETag) is the same as the one specified,
12764 // otherwise return a 412 (precondition failed).
12765 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
12766
12767 // Return the object only if it has been modified since the specified time,
12768 // otherwise return a 304 (not modified).
15c0b25d 12769 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
bae9f6d2
JC
12770
12771 // Return the object only if its entity tag (ETag) is different from the one
12772 // specified, otherwise return a 304 (not modified).
12773 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
12774
12775 // Return the object only if it has not been modified since the specified time,
12776 // otherwise return a 412 (precondition failed).
15c0b25d 12777 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
bae9f6d2
JC
12778
12779 // Key is a required field
12780 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12781
12782 // Part number of the object being read. This is a positive integer between
12783 // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified.
12784 // Useful for downloading just a part of an object.
12785 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
12786
12787 // Downloads the specified range bytes of an object. For more information about
12788 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
12789 Range *string `location:"header" locationName:"Range" type:"string"`
12790
12791 // Confirms that the requester knows that she or he will be charged for the
12792 // request. Bucket owners need not specify this parameter in their requests.
12793 // Documentation on downloading objects from requester pays buckets can be found
12794 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12795 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12796
12797 // Sets the Cache-Control header of the response.
12798 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`
12799
12800 // Sets the Content-Disposition header of the response
12801 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`
12802
12803 // Sets the Content-Encoding header of the response.
12804 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`
12805
12806 // Sets the Content-Language header of the response.
12807 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`
12808
12809 // Sets the Content-Type header of the response.
12810 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
12811
12812 // Sets the Expires header of the response.
15c0b25d 12813 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
bae9f6d2
JC
12814
12815 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
12816 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
12817
12818 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
12819 // data. This value is used to store the object and then it is discarded; Amazon
12820 // does not store the encryption key. The key must be appropriate for use with
12821 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
12822 // header.
107c1cdb 12823 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
12824
12825 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
12826 // Amazon S3 uses this header for a message integrity check to ensure the encryption
12827 // key was transmitted without error.
12828 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
12829
12830 // VersionId used to reference a specific version of the object.
12831 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12832}
12833
12834// String returns the string representation
12835func (s GetObjectInput) String() string {
12836 return awsutil.Prettify(s)
12837}
12838
12839// GoString returns the string representation
12840func (s GetObjectInput) GoString() string {
12841 return s.String()
12842}
12843
12844// Validate inspects the fields of the type to determine if they are valid.
12845func (s *GetObjectInput) Validate() error {
12846 invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"}
12847 if s.Bucket == nil {
12848 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12849 }
107c1cdb
ND
12850 if s.Bucket != nil && len(*s.Bucket) < 1 {
12851 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12852 }
bae9f6d2
JC
12853 if s.Key == nil {
12854 invalidParams.Add(request.NewErrParamRequired("Key"))
12855 }
12856 if s.Key != nil && len(*s.Key) < 1 {
12857 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12858 }
12859
12860 if invalidParams.Len() > 0 {
12861 return invalidParams
12862 }
12863 return nil
12864}
12865
12866// SetBucket sets the Bucket field's value.
12867func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
12868 s.Bucket = &v
12869 return s
12870}
12871
15c0b25d
AP
12872func (s *GetObjectInput) getBucket() (v string) {
12873 if s.Bucket == nil {
12874 return v
12875 }
12876 return *s.Bucket
12877}
12878
bae9f6d2
JC
12879// SetIfMatch sets the IfMatch field's value.
12880func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
12881 s.IfMatch = &v
12882 return s
12883}
12884
12885// SetIfModifiedSince sets the IfModifiedSince field's value.
12886func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput {
12887 s.IfModifiedSince = &v
12888 return s
12889}
12890
12891// SetIfNoneMatch sets the IfNoneMatch field's value.
12892func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput {
12893 s.IfNoneMatch = &v
12894 return s
12895}
12896
12897// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
12898func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput {
12899 s.IfUnmodifiedSince = &v
12900 return s
12901}
12902
12903// SetKey sets the Key field's value.
12904func (s *GetObjectInput) SetKey(v string) *GetObjectInput {
12905 s.Key = &v
12906 return s
12907}
12908
12909// SetPartNumber sets the PartNumber field's value.
12910func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput {
12911 s.PartNumber = &v
12912 return s
12913}
12914
12915// SetRange sets the Range field's value.
12916func (s *GetObjectInput) SetRange(v string) *GetObjectInput {
12917 s.Range = &v
12918 return s
12919}
12920
12921// SetRequestPayer sets the RequestPayer field's value.
12922func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput {
12923 s.RequestPayer = &v
12924 return s
12925}
12926
12927// SetResponseCacheControl sets the ResponseCacheControl field's value.
12928func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput {
12929 s.ResponseCacheControl = &v
12930 return s
12931}
12932
12933// SetResponseContentDisposition sets the ResponseContentDisposition field's value.
12934func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput {
12935 s.ResponseContentDisposition = &v
12936 return s
12937}
12938
12939// SetResponseContentEncoding sets the ResponseContentEncoding field's value.
12940func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput {
12941 s.ResponseContentEncoding = &v
12942 return s
12943}
12944
12945// SetResponseContentLanguage sets the ResponseContentLanguage field's value.
12946func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput {
12947 s.ResponseContentLanguage = &v
12948 return s
12949}
12950
12951// SetResponseContentType sets the ResponseContentType field's value.
12952func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput {
12953 s.ResponseContentType = &v
12954 return s
12955}
12956
12957// SetResponseExpires sets the ResponseExpires field's value.
12958func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput {
12959 s.ResponseExpires = &v
12960 return s
12961}
12962
12963// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
12964func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput {
12965 s.SSECustomerAlgorithm = &v
12966 return s
12967}
12968
12969// SetSSECustomerKey sets the SSECustomerKey field's value.
12970func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
12971 s.SSECustomerKey = &v
12972 return s
12973}
12974
15c0b25d
AP
12975func (s *GetObjectInput) getSSECustomerKey() (v string) {
12976 if s.SSECustomerKey == nil {
12977 return v
12978 }
12979 return *s.SSECustomerKey
12980}
12981
bae9f6d2
JC
12982// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
12983func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
12984 s.SSECustomerKeyMD5 = &v
12985 return s
12986}
12987
12988// SetVersionId sets the VersionId field's value.
12989func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
12990 s.VersionId = &v
12991 return s
12992}
12993
107c1cdb
ND
12994type GetObjectLegalHoldInput struct {
12995 _ struct{} `type:"structure"`
12996
12997 // The bucket containing the object whose Legal Hold status you want to retrieve.
12998 //
12999 // Bucket is a required field
13000 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13001
13002 // The key name for the object whose Legal Hold status you want to retrieve.
13003 //
13004 // Key is a required field
13005 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13006
13007 // Confirms that the requester knows that she or he will be charged for the
13008 // request. Bucket owners need not specify this parameter in their requests.
13009 // Documentation on downloading objects from requester pays buckets can be found
13010 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13011 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13012
13013 // The version ID of the object whose Legal Hold status you want to retrieve.
13014 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13015}
13016
13017// String returns the string representation
13018func (s GetObjectLegalHoldInput) String() string {
13019 return awsutil.Prettify(s)
13020}
13021
13022// GoString returns the string representation
13023func (s GetObjectLegalHoldInput) GoString() string {
13024 return s.String()
13025}
13026
13027// Validate inspects the fields of the type to determine if they are valid.
13028func (s *GetObjectLegalHoldInput) Validate() error {
13029 invalidParams := request.ErrInvalidParams{Context: "GetObjectLegalHoldInput"}
13030 if s.Bucket == nil {
13031 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13032 }
13033 if s.Bucket != nil && len(*s.Bucket) < 1 {
13034 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13035 }
13036 if s.Key == nil {
13037 invalidParams.Add(request.NewErrParamRequired("Key"))
13038 }
13039 if s.Key != nil && len(*s.Key) < 1 {
13040 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13041 }
13042
13043 if invalidParams.Len() > 0 {
13044 return invalidParams
13045 }
13046 return nil
13047}
13048
13049// SetBucket sets the Bucket field's value.
13050func (s *GetObjectLegalHoldInput) SetBucket(v string) *GetObjectLegalHoldInput {
13051 s.Bucket = &v
13052 return s
13053}
13054
13055func (s *GetObjectLegalHoldInput) getBucket() (v string) {
13056 if s.Bucket == nil {
13057 return v
13058 }
13059 return *s.Bucket
13060}
13061
13062// SetKey sets the Key field's value.
13063func (s *GetObjectLegalHoldInput) SetKey(v string) *GetObjectLegalHoldInput {
13064 s.Key = &v
13065 return s
13066}
13067
13068// SetRequestPayer sets the RequestPayer field's value.
13069func (s *GetObjectLegalHoldInput) SetRequestPayer(v string) *GetObjectLegalHoldInput {
13070 s.RequestPayer = &v
13071 return s
13072}
13073
13074// SetVersionId sets the VersionId field's value.
13075func (s *GetObjectLegalHoldInput) SetVersionId(v string) *GetObjectLegalHoldInput {
13076 s.VersionId = &v
13077 return s
13078}
13079
13080type GetObjectLegalHoldOutput struct {
13081 _ struct{} `type:"structure" payload:"LegalHold"`
13082
13083 // The current Legal Hold status for the specified object.
13084 LegalHold *ObjectLockLegalHold `type:"structure"`
13085}
13086
13087// String returns the string representation
13088func (s GetObjectLegalHoldOutput) String() string {
13089 return awsutil.Prettify(s)
13090}
13091
13092// GoString returns the string representation
13093func (s GetObjectLegalHoldOutput) GoString() string {
13094 return s.String()
13095}
13096
13097// SetLegalHold sets the LegalHold field's value.
13098func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObjectLegalHoldOutput {
13099 s.LegalHold = v
13100 return s
13101}
13102
13103type GetObjectLockConfigurationInput struct {
13104 _ struct{} `type:"structure"`
13105
13106 // The bucket whose Object Lock configuration you want to retrieve.
13107 //
13108 // Bucket is a required field
13109 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13110}
13111
13112// String returns the string representation
13113func (s GetObjectLockConfigurationInput) String() string {
13114 return awsutil.Prettify(s)
13115}
13116
13117// GoString returns the string representation
13118func (s GetObjectLockConfigurationInput) GoString() string {
13119 return s.String()
13120}
13121
13122// Validate inspects the fields of the type to determine if they are valid.
13123func (s *GetObjectLockConfigurationInput) Validate() error {
13124 invalidParams := request.ErrInvalidParams{Context: "GetObjectLockConfigurationInput"}
13125 if s.Bucket == nil {
13126 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13127 }
13128 if s.Bucket != nil && len(*s.Bucket) < 1 {
13129 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13130 }
13131
13132 if invalidParams.Len() > 0 {
13133 return invalidParams
13134 }
13135 return nil
13136}
13137
13138// SetBucket sets the Bucket field's value.
13139func (s *GetObjectLockConfigurationInput) SetBucket(v string) *GetObjectLockConfigurationInput {
13140 s.Bucket = &v
13141 return s
13142}
13143
13144func (s *GetObjectLockConfigurationInput) getBucket() (v string) {
13145 if s.Bucket == nil {
13146 return v
13147 }
13148 return *s.Bucket
13149}
13150
13151type GetObjectLockConfigurationOutput struct {
13152 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
13153
13154 // The specified bucket's Object Lock configuration.
13155 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"`
13156}
13157
13158// String returns the string representation
13159func (s GetObjectLockConfigurationOutput) String() string {
13160 return awsutil.Prettify(s)
13161}
13162
13163// GoString returns the string representation
13164func (s GetObjectLockConfigurationOutput) GoString() string {
13165 return s.String()
13166}
13167
13168// SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
13169func (s *GetObjectLockConfigurationOutput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *GetObjectLockConfigurationOutput {
13170 s.ObjectLockConfiguration = v
13171 return s
13172}
13173
bae9f6d2
JC
13174type GetObjectOutput struct {
13175 _ struct{} `type:"structure" payload:"Body"`
13176
13177 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
13178
13179 // Object data.
13180 Body io.ReadCloser `type:"blob"`
13181
13182 // Specifies caching behavior along the request/reply chain.
13183 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
13184
13185 // Specifies presentational information for the object.
13186 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
13187
13188 // Specifies what content encodings have been applied to the object and thus
13189 // what decoding mechanisms must be applied to obtain the media-type referenced
13190 // by the Content-Type header field.
13191 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
13192
13193 // The language the content is in.
13194 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
13195
13196 // Size of the body in bytes.
13197 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
13198
13199 // The portion of the object returned in the response.
13200 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
13201
13202 // A standard MIME type describing the format of the object data.
13203 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
13204
13205 // Specifies whether the object retrieved was (true) or was not (false) a Delete
13206 // Marker. If false, this response header does not appear in the response.
13207 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
13208
13209 // An ETag is an opaque identifier assigned by a web server to a specific version
13210 // of a resource found at a URL
13211 ETag *string `location:"header" locationName:"ETag" type:"string"`
13212
13213 // If the object expiration is configured (see PUT Bucket lifecycle), the response
13214 // includes this header. It includes the expiry-date and rule-id key value pairs
13215 // providing object expiration information. The value of the rule-id is URL
13216 // encoded.
13217 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
13218
13219 // The date and time at which the object is no longer cacheable.
13220 Expires *string `location:"header" locationName:"Expires" type:"string"`
13221
13222 // Last modified date of the object
15c0b25d 13223 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
bae9f6d2
JC
13224
13225 // A map of metadata to store with the object in S3.
13226 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
13227
13228 // This is set to the number of metadata entries not returned in x-amz-meta
13229 // headers. This can happen if you create metadata using an API like SOAP that
13230 // supports more flexible metadata than the REST API. For example, using SOAP,
13231 // you can create metadata whose values are not legal HTTP headers.
13232 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
13233
107c1cdb
ND
13234 // Indicates whether this object has an active legal hold. This field is only
13235 // returned if you have permission to view an object's legal hold status.
13236 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
13237
13238 // The Object Lock mode currently in place for this object.
13239 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
13240
13241 // The date and time when this object's Object Lock will expire.
13242 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
13243
bae9f6d2
JC
13244 // The count of parts this object has.
13245 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
13246
13247 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
13248
13249 // If present, indicates that the requester was successfully charged for the
13250 // request.
13251 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13252
13253 // Provides information about object restoration operation and expiration time
13254 // of the restored object copy.
13255 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
13256
13257 // If server-side encryption with a customer-provided encryption key was requested,
13258 // the response will include this header confirming the encryption algorithm
13259 // used.
13260 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
13261
13262 // If server-side encryption with a customer-provided encryption key was requested,
13263 // the response will include this header to provide round trip message integrity
13264 // verification of the customer-provided encryption key.
13265 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
13266
13267 // If present, specifies the ID of the AWS Key Management Service (KMS) master
13268 // encryption key that was used for the object.
107c1cdb 13269 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
13270
13271 // The Server-side encryption algorithm used when storing this object in S3
13272 // (e.g., AES256, aws:kms).
13273 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
13274
13275 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
13276
13277 // The number of tags, if any, on the object.
13278 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"`
13279
13280 // Version of the object.
13281 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13282
13283 // If the bucket is configured as a website, redirects requests for this object
13284 // to another object in the same bucket or to an external URL. Amazon S3 stores
13285 // the value of this header in the object metadata.
13286 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
13287}
13288
13289// String returns the string representation
13290func (s GetObjectOutput) String() string {
13291 return awsutil.Prettify(s)
13292}
13293
13294// GoString returns the string representation
13295func (s GetObjectOutput) GoString() string {
13296 return s.String()
13297}
13298
13299// SetAcceptRanges sets the AcceptRanges field's value.
13300func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput {
13301 s.AcceptRanges = &v
13302 return s
13303}
13304
13305// SetBody sets the Body field's value.
13306func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput {
13307 s.Body = v
13308 return s
13309}
13310
13311// SetCacheControl sets the CacheControl field's value.
13312func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput {
13313 s.CacheControl = &v
13314 return s
13315}
13316
13317// SetContentDisposition sets the ContentDisposition field's value.
13318func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
13319 s.ContentDisposition = &v
13320 return s
13321}
13322
13323// SetContentEncoding sets the ContentEncoding field's value.
13324func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput {
13325 s.ContentEncoding = &v
13326 return s
13327}
13328
13329// SetContentLanguage sets the ContentLanguage field's value.
13330func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput {
13331 s.ContentLanguage = &v
13332 return s
13333}
13334
13335// SetContentLength sets the ContentLength field's value.
13336func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput {
13337 s.ContentLength = &v
13338 return s
13339}
13340
13341// SetContentRange sets the ContentRange field's value.
13342func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput {
13343 s.ContentRange = &v
13344 return s
13345}
13346
13347// SetContentType sets the ContentType field's value.
13348func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput {
13349 s.ContentType = &v
13350 return s
13351}
13352
13353// SetDeleteMarker sets the DeleteMarker field's value.
13354func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput {
13355 s.DeleteMarker = &v
13356 return s
13357}
13358
13359// SetETag sets the ETag field's value.
13360func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput {
13361 s.ETag = &v
13362 return s
13363}
13364
13365// SetExpiration sets the Expiration field's value.
13366func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput {
13367 s.Expiration = &v
13368 return s
13369}
13370
13371// SetExpires sets the Expires field's value.
13372func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput {
13373 s.Expires = &v
13374 return s
13375}
13376
13377// SetLastModified sets the LastModified field's value.
13378func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput {
13379 s.LastModified = &v
13380 return s
13381}
13382
13383// SetMetadata sets the Metadata field's value.
13384func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput {
13385 s.Metadata = v
13386 return s
13387}
13388
13389// SetMissingMeta sets the MissingMeta field's value.
13390func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput {
13391 s.MissingMeta = &v
13392 return s
13393}
13394
107c1cdb
ND
13395// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
13396func (s *GetObjectOutput) SetObjectLockLegalHoldStatus(v string) *GetObjectOutput {
13397 s.ObjectLockLegalHoldStatus = &v
13398 return s
13399}
13400
13401// SetObjectLockMode sets the ObjectLockMode field's value.
13402func (s *GetObjectOutput) SetObjectLockMode(v string) *GetObjectOutput {
13403 s.ObjectLockMode = &v
13404 return s
13405}
13406
13407// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
13408func (s *GetObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *GetObjectOutput {
13409 s.ObjectLockRetainUntilDate = &v
13410 return s
13411}
13412
bae9f6d2
JC
13413// SetPartsCount sets the PartsCount field's value.
13414func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput {
13415 s.PartsCount = &v
13416 return s
13417}
13418
13419// SetReplicationStatus sets the ReplicationStatus field's value.
13420func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput {
13421 s.ReplicationStatus = &v
13422 return s
13423}
13424
13425// SetRequestCharged sets the RequestCharged field's value.
13426func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput {
13427 s.RequestCharged = &v
13428 return s
13429}
13430
13431// SetRestore sets the Restore field's value.
13432func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput {
13433 s.Restore = &v
13434 return s
13435}
13436
13437// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13438func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput {
13439 s.SSECustomerAlgorithm = &v
13440 return s
13441}
13442
13443// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13444func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput {
13445 s.SSECustomerKeyMD5 = &v
13446 return s
13447}
13448
107c1cdb
ND
13449// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
13450func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput {
13451 s.SSEKMSKeyId = &v
13452 return s
13453}
13454
13455// SetServerSideEncryption sets the ServerSideEncryption field's value.
13456func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput {
13457 s.ServerSideEncryption = &v
13458 return s
13459}
13460
13461// SetStorageClass sets the StorageClass field's value.
13462func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput {
13463 s.StorageClass = &v
13464 return s
13465}
13466
13467// SetTagCount sets the TagCount field's value.
13468func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput {
13469 s.TagCount = &v
13470 return s
13471}
13472
13473// SetVersionId sets the VersionId field's value.
13474func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput {
13475 s.VersionId = &v
13476 return s
13477}
13478
13479// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
13480func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput {
13481 s.WebsiteRedirectLocation = &v
13482 return s
13483}
13484
13485type GetObjectRetentionInput struct {
13486 _ struct{} `type:"structure"`
13487
13488 // The bucket containing the object whose retention settings you want to retrieve.
13489 //
13490 // Bucket is a required field
13491 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13492
13493 // The key name for the object whose retention settings you want to retrieve.
13494 //
13495 // Key is a required field
13496 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13497
13498 // Confirms that the requester knows that she or he will be charged for the
13499 // request. Bucket owners need not specify this parameter in their requests.
13500 // Documentation on downloading objects from requester pays buckets can be found
13501 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13502 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13503
13504 // The version ID for the object whose retention settings you want to retrieve.
13505 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13506}
13507
13508// String returns the string representation
13509func (s GetObjectRetentionInput) String() string {
13510 return awsutil.Prettify(s)
13511}
13512
13513// GoString returns the string representation
13514func (s GetObjectRetentionInput) GoString() string {
13515 return s.String()
13516}
13517
13518// Validate inspects the fields of the type to determine if they are valid.
13519func (s *GetObjectRetentionInput) Validate() error {
13520 invalidParams := request.ErrInvalidParams{Context: "GetObjectRetentionInput"}
13521 if s.Bucket == nil {
13522 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13523 }
13524 if s.Bucket != nil && len(*s.Bucket) < 1 {
13525 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13526 }
13527 if s.Key == nil {
13528 invalidParams.Add(request.NewErrParamRequired("Key"))
13529 }
13530 if s.Key != nil && len(*s.Key) < 1 {
13531 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13532 }
13533
13534 if invalidParams.Len() > 0 {
13535 return invalidParams
13536 }
13537 return nil
13538}
13539
13540// SetBucket sets the Bucket field's value.
13541func (s *GetObjectRetentionInput) SetBucket(v string) *GetObjectRetentionInput {
13542 s.Bucket = &v
13543 return s
13544}
13545
13546func (s *GetObjectRetentionInput) getBucket() (v string) {
13547 if s.Bucket == nil {
13548 return v
13549 }
13550 return *s.Bucket
13551}
13552
13553// SetKey sets the Key field's value.
13554func (s *GetObjectRetentionInput) SetKey(v string) *GetObjectRetentionInput {
13555 s.Key = &v
13556 return s
13557}
13558
13559// SetRequestPayer sets the RequestPayer field's value.
13560func (s *GetObjectRetentionInput) SetRequestPayer(v string) *GetObjectRetentionInput {
13561 s.RequestPayer = &v
bae9f6d2
JC
13562 return s
13563}
13564
107c1cdb
ND
13565// SetVersionId sets the VersionId field's value.
13566func (s *GetObjectRetentionInput) SetVersionId(v string) *GetObjectRetentionInput {
13567 s.VersionId = &v
bae9f6d2
JC
13568 return s
13569}
13570
107c1cdb
ND
13571type GetObjectRetentionOutput struct {
13572 _ struct{} `type:"structure" payload:"Retention"`
13573
13574 // The container element for an object's retention settings.
13575 Retention *ObjectLockRetention `type:"structure"`
bae9f6d2
JC
13576}
13577
107c1cdb
ND
13578// String returns the string representation
13579func (s GetObjectRetentionOutput) String() string {
13580 return awsutil.Prettify(s)
bae9f6d2
JC
13581}
13582
107c1cdb
ND
13583// GoString returns the string representation
13584func (s GetObjectRetentionOutput) GoString() string {
13585 return s.String()
bae9f6d2
JC
13586}
13587
107c1cdb
ND
13588// SetRetention sets the Retention field's value.
13589func (s *GetObjectRetentionOutput) SetRetention(v *ObjectLockRetention) *GetObjectRetentionOutput {
13590 s.Retention = v
bae9f6d2
JC
13591 return s
13592}
13593
bae9f6d2
JC
13594type GetObjectTaggingInput struct {
13595 _ struct{} `type:"structure"`
13596
13597 // Bucket is a required field
13598 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13599
13600 // Key is a required field
13601 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13602
13603 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13604}
13605
13606// String returns the string representation
13607func (s GetObjectTaggingInput) String() string {
13608 return awsutil.Prettify(s)
13609}
13610
13611// GoString returns the string representation
13612func (s GetObjectTaggingInput) GoString() string {
13613 return s.String()
13614}
13615
13616// Validate inspects the fields of the type to determine if they are valid.
13617func (s *GetObjectTaggingInput) Validate() error {
13618 invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"}
13619 if s.Bucket == nil {
13620 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13621 }
107c1cdb
ND
13622 if s.Bucket != nil && len(*s.Bucket) < 1 {
13623 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13624 }
bae9f6d2
JC
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 *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
13640 s.Bucket = &v
13641 return s
13642}
13643
15c0b25d
AP
13644func (s *GetObjectTaggingInput) getBucket() (v string) {
13645 if s.Bucket == nil {
13646 return v
13647 }
13648 return *s.Bucket
13649}
13650
bae9f6d2
JC
13651// SetKey sets the Key field's value.
13652func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
13653 s.Key = &v
13654 return s
13655}
13656
13657// SetVersionId sets the VersionId field's value.
13658func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
13659 s.VersionId = &v
13660 return s
13661}
13662
bae9f6d2
JC
13663type GetObjectTaggingOutput struct {
13664 _ struct{} `type:"structure"`
13665
13666 // TagSet is a required field
13667 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
13668
13669 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13670}
13671
13672// String returns the string representation
13673func (s GetObjectTaggingOutput) String() string {
13674 return awsutil.Prettify(s)
13675}
13676
13677// GoString returns the string representation
13678func (s GetObjectTaggingOutput) GoString() string {
13679 return s.String()
13680}
13681
13682// SetTagSet sets the TagSet field's value.
13683func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput {
13684 s.TagSet = v
13685 return s
13686}
13687
13688// SetVersionId sets the VersionId field's value.
13689func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput {
13690 s.VersionId = &v
13691 return s
13692}
13693
bae9f6d2
JC
13694type GetObjectTorrentInput struct {
13695 _ struct{} `type:"structure"`
13696
13697 // Bucket is a required field
13698 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13699
13700 // Key is a required field
13701 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13702
13703 // Confirms that the requester knows that she or he will be charged for the
13704 // request. Bucket owners need not specify this parameter in their requests.
13705 // Documentation on downloading objects from requester pays buckets can be found
13706 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13707 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13708}
13709
13710// String returns the string representation
13711func (s GetObjectTorrentInput) String() string {
13712 return awsutil.Prettify(s)
13713}
13714
13715// GoString returns the string representation
13716func (s GetObjectTorrentInput) GoString() string {
13717 return s.String()
13718}
13719
13720// Validate inspects the fields of the type to determine if they are valid.
13721func (s *GetObjectTorrentInput) Validate() error {
13722 invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"}
13723 if s.Bucket == nil {
13724 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13725 }
107c1cdb
ND
13726 if s.Bucket != nil && len(*s.Bucket) < 1 {
13727 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13728 }
bae9f6d2
JC
13729 if s.Key == nil {
13730 invalidParams.Add(request.NewErrParamRequired("Key"))
13731 }
13732 if s.Key != nil && len(*s.Key) < 1 {
13733 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13734 }
13735
13736 if invalidParams.Len() > 0 {
13737 return invalidParams
13738 }
13739 return nil
13740}
13741
13742// SetBucket sets the Bucket field's value.
13743func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
13744 s.Bucket = &v
13745 return s
13746}
13747
15c0b25d
AP
13748func (s *GetObjectTorrentInput) getBucket() (v string) {
13749 if s.Bucket == nil {
13750 return v
13751 }
13752 return *s.Bucket
13753}
13754
bae9f6d2
JC
13755// SetKey sets the Key field's value.
13756func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
13757 s.Key = &v
13758 return s
13759}
13760
13761// SetRequestPayer sets the RequestPayer field's value.
13762func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput {
13763 s.RequestPayer = &v
13764 return s
13765}
13766
bae9f6d2
JC
13767type GetObjectTorrentOutput struct {
13768 _ struct{} `type:"structure" payload:"Body"`
13769
13770 Body io.ReadCloser `type:"blob"`
13771
13772 // If present, indicates that the requester was successfully charged for the
13773 // request.
13774 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13775}
13776
13777// String returns the string representation
13778func (s GetObjectTorrentOutput) String() string {
13779 return awsutil.Prettify(s)
13780}
13781
13782// GoString returns the string representation
13783func (s GetObjectTorrentOutput) GoString() string {
13784 return s.String()
13785}
13786
13787// SetBody sets the Body field's value.
13788func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput {
13789 s.Body = v
13790 return s
13791}
13792
13793// SetRequestCharged sets the RequestCharged field's value.
13794func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput {
13795 s.RequestCharged = &v
13796 return s
13797}
13798
107c1cdb
ND
13799type GetPublicAccessBlockInput struct {
13800 _ struct{} `type:"structure"`
13801
13802 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
13803 // want to retrieve.
13804 //
13805 // Bucket is a required field
13806 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13807}
13808
13809// String returns the string representation
13810func (s GetPublicAccessBlockInput) String() string {
13811 return awsutil.Prettify(s)
13812}
13813
13814// GoString returns the string representation
13815func (s GetPublicAccessBlockInput) GoString() string {
13816 return s.String()
13817}
13818
13819// Validate inspects the fields of the type to determine if they are valid.
13820func (s *GetPublicAccessBlockInput) Validate() error {
13821 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"}
13822 if s.Bucket == nil {
13823 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13824 }
13825 if s.Bucket != nil && len(*s.Bucket) < 1 {
13826 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13827 }
13828
13829 if invalidParams.Len() > 0 {
13830 return invalidParams
13831 }
13832 return nil
13833}
13834
13835// SetBucket sets the Bucket field's value.
13836func (s *GetPublicAccessBlockInput) SetBucket(v string) *GetPublicAccessBlockInput {
13837 s.Bucket = &v
13838 return s
13839}
13840
13841func (s *GetPublicAccessBlockInput) getBucket() (v string) {
13842 if s.Bucket == nil {
13843 return v
13844 }
13845 return *s.Bucket
13846}
13847
13848type GetPublicAccessBlockOutput struct {
13849 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
13850
13851 // The PublicAccessBlock configuration currently in effect for this Amazon S3
13852 // bucket.
13853 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"`
13854}
13855
13856// String returns the string representation
13857func (s GetPublicAccessBlockOutput) String() string {
13858 return awsutil.Prettify(s)
13859}
13860
13861// GoString returns the string representation
13862func (s GetPublicAccessBlockOutput) GoString() string {
13863 return s.String()
13864}
13865
13866// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
13867func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput {
13868 s.PublicAccessBlockConfiguration = v
13869 return s
13870}
13871
bae9f6d2
JC
13872type GlacierJobParameters struct {
13873 _ struct{} `type:"structure"`
13874
13875 // Glacier retrieval tier at which the restore will be processed.
13876 //
13877 // Tier is a required field
13878 Tier *string `type:"string" required:"true" enum:"Tier"`
13879}
13880
13881// String returns the string representation
13882func (s GlacierJobParameters) String() string {
13883 return awsutil.Prettify(s)
13884}
13885
13886// GoString returns the string representation
13887func (s GlacierJobParameters) GoString() string {
13888 return s.String()
13889}
13890
13891// Validate inspects the fields of the type to determine if they are valid.
13892func (s *GlacierJobParameters) Validate() error {
13893 invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"}
13894 if s.Tier == nil {
13895 invalidParams.Add(request.NewErrParamRequired("Tier"))
13896 }
13897
13898 if invalidParams.Len() > 0 {
13899 return invalidParams
13900 }
13901 return nil
13902}
13903
13904// SetTier sets the Tier field's value.
13905func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
13906 s.Tier = &v
13907 return s
13908}
13909
bae9f6d2
JC
13910type Grant struct {
13911 _ struct{} `type:"structure"`
13912
15c0b25d 13913 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
bae9f6d2
JC
13914
13915 // Specifies the permission given to the grantee.
13916 Permission *string `type:"string" enum:"Permission"`
13917}
13918
13919// String returns the string representation
13920func (s Grant) String() string {
13921 return awsutil.Prettify(s)
13922}
13923
13924// GoString returns the string representation
13925func (s Grant) GoString() string {
13926 return s.String()
13927}
13928
13929// Validate inspects the fields of the type to determine if they are valid.
13930func (s *Grant) Validate() error {
13931 invalidParams := request.ErrInvalidParams{Context: "Grant"}
13932 if s.Grantee != nil {
13933 if err := s.Grantee.Validate(); err != nil {
13934 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
13935 }
13936 }
13937
13938 if invalidParams.Len() > 0 {
13939 return invalidParams
13940 }
13941 return nil
13942}
13943
13944// SetGrantee sets the Grantee field's value.
13945func (s *Grant) SetGrantee(v *Grantee) *Grant {
13946 s.Grantee = v
13947 return s
13948}
13949
13950// SetPermission sets the Permission field's value.
13951func (s *Grant) SetPermission(v string) *Grant {
13952 s.Permission = &v
13953 return s
13954}
13955
bae9f6d2
JC
13956type Grantee struct {
13957 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
13958
13959 // Screen name of the grantee.
13960 DisplayName *string `type:"string"`
13961
13962 // Email address of the grantee.
13963 EmailAddress *string `type:"string"`
13964
13965 // The canonical user ID of the grantee.
13966 ID *string `type:"string"`
13967
13968 // Type of grantee
13969 //
13970 // Type is a required field
13971 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"`
13972
13973 // URI of the grantee group.
13974 URI *string `type:"string"`
13975}
13976
13977// String returns the string representation
13978func (s Grantee) String() string {
13979 return awsutil.Prettify(s)
13980}
13981
13982// GoString returns the string representation
13983func (s Grantee) GoString() string {
13984 return s.String()
13985}
13986
13987// Validate inspects the fields of the type to determine if they are valid.
13988func (s *Grantee) Validate() error {
13989 invalidParams := request.ErrInvalidParams{Context: "Grantee"}
13990 if s.Type == nil {
13991 invalidParams.Add(request.NewErrParamRequired("Type"))
13992 }
13993
13994 if invalidParams.Len() > 0 {
13995 return invalidParams
13996 }
13997 return nil
13998}
13999
14000// SetDisplayName sets the DisplayName field's value.
14001func (s *Grantee) SetDisplayName(v string) *Grantee {
14002 s.DisplayName = &v
14003 return s
14004}
14005
14006// SetEmailAddress sets the EmailAddress field's value.
14007func (s *Grantee) SetEmailAddress(v string) *Grantee {
14008 s.EmailAddress = &v
14009 return s
14010}
14011
14012// SetID sets the ID field's value.
14013func (s *Grantee) SetID(v string) *Grantee {
14014 s.ID = &v
14015 return s
14016}
14017
14018// SetType sets the Type field's value.
14019func (s *Grantee) SetType(v string) *Grantee {
14020 s.Type = &v
14021 return s
14022}
14023
14024// SetURI sets the URI field's value.
14025func (s *Grantee) SetURI(v string) *Grantee {
14026 s.URI = &v
14027 return s
14028}
14029
bae9f6d2
JC
14030type HeadBucketInput struct {
14031 _ struct{} `type:"structure"`
14032
14033 // Bucket is a required field
14034 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14035}
14036
14037// String returns the string representation
14038func (s HeadBucketInput) String() string {
14039 return awsutil.Prettify(s)
14040}
14041
14042// GoString returns the string representation
14043func (s HeadBucketInput) GoString() string {
14044 return s.String()
14045}
14046
14047// Validate inspects the fields of the type to determine if they are valid.
14048func (s *HeadBucketInput) Validate() error {
14049 invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"}
14050 if s.Bucket == nil {
14051 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14052 }
107c1cdb
ND
14053 if s.Bucket != nil && len(*s.Bucket) < 1 {
14054 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14055 }
bae9f6d2
JC
14056
14057 if invalidParams.Len() > 0 {
14058 return invalidParams
14059 }
14060 return nil
14061}
14062
14063// SetBucket sets the Bucket field's value.
14064func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
14065 s.Bucket = &v
14066 return s
14067}
14068
15c0b25d
AP
14069func (s *HeadBucketInput) getBucket() (v string) {
14070 if s.Bucket == nil {
14071 return v
14072 }
14073 return *s.Bucket
14074}
14075
bae9f6d2
JC
14076type HeadBucketOutput struct {
14077 _ struct{} `type:"structure"`
14078}
14079
14080// String returns the string representation
14081func (s HeadBucketOutput) String() string {
14082 return awsutil.Prettify(s)
14083}
14084
14085// GoString returns the string representation
14086func (s HeadBucketOutput) GoString() string {
14087 return s.String()
14088}
14089
bae9f6d2
JC
14090type HeadObjectInput struct {
14091 _ struct{} `type:"structure"`
14092
14093 // Bucket is a required field
14094 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14095
14096 // Return the object only if its entity tag (ETag) is the same as the one specified,
14097 // otherwise return a 412 (precondition failed).
14098 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
14099
14100 // Return the object only if it has been modified since the specified time,
14101 // otherwise return a 304 (not modified).
15c0b25d 14102 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
bae9f6d2
JC
14103
14104 // Return the object only if its entity tag (ETag) is different from the one
14105 // specified, otherwise return a 304 (not modified).
14106 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
14107
14108 // Return the object only if it has not been modified since the specified time,
14109 // otherwise return a 412 (precondition failed).
15c0b25d 14110 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
bae9f6d2
JC
14111
14112 // Key is a required field
14113 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
14114
14115 // Part number of the object being read. This is a positive integer between
14116 // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified.
14117 // Useful querying about the size of the part and the number of parts in this
14118 // object.
14119 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
14120
14121 // Downloads the specified range bytes of an object. For more information about
14122 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
14123 Range *string `location:"header" locationName:"Range" type:"string"`
14124
14125 // Confirms that the requester knows that she or he will be charged for the
14126 // request. Bucket owners need not specify this parameter in their requests.
14127 // Documentation on downloading objects from requester pays buckets can be found
14128 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
14129 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
14130
14131 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
14132 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14133
14134 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
14135 // data. This value is used to store the object and then it is discarded; Amazon
14136 // does not store the encryption key. The key must be appropriate for use with
14137 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
14138 // header.
107c1cdb 14139 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
14140
14141 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
14142 // Amazon S3 uses this header for a message integrity check to ensure the encryption
14143 // key was transmitted without error.
14144 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14145
14146 // VersionId used to reference a specific version of the object.
14147 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
14148}
14149
14150// String returns the string representation
14151func (s HeadObjectInput) String() string {
14152 return awsutil.Prettify(s)
14153}
14154
14155// GoString returns the string representation
14156func (s HeadObjectInput) GoString() string {
14157 return s.String()
14158}
14159
14160// Validate inspects the fields of the type to determine if they are valid.
14161func (s *HeadObjectInput) Validate() error {
14162 invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"}
14163 if s.Bucket == nil {
14164 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14165 }
107c1cdb
ND
14166 if s.Bucket != nil && len(*s.Bucket) < 1 {
14167 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14168 }
bae9f6d2
JC
14169 if s.Key == nil {
14170 invalidParams.Add(request.NewErrParamRequired("Key"))
14171 }
14172 if s.Key != nil && len(*s.Key) < 1 {
14173 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14174 }
14175
14176 if invalidParams.Len() > 0 {
14177 return invalidParams
14178 }
14179 return nil
14180}
14181
14182// SetBucket sets the Bucket field's value.
14183func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
14184 s.Bucket = &v
14185 return s
14186}
14187
15c0b25d
AP
14188func (s *HeadObjectInput) getBucket() (v string) {
14189 if s.Bucket == nil {
14190 return v
14191 }
14192 return *s.Bucket
14193}
14194
bae9f6d2
JC
14195// SetIfMatch sets the IfMatch field's value.
14196func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
14197 s.IfMatch = &v
14198 return s
14199}
14200
14201// SetIfModifiedSince sets the IfModifiedSince field's value.
14202func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput {
14203 s.IfModifiedSince = &v
14204 return s
14205}
14206
14207// SetIfNoneMatch sets the IfNoneMatch field's value.
14208func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput {
14209 s.IfNoneMatch = &v
14210 return s
14211}
14212
14213// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
14214func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput {
14215 s.IfUnmodifiedSince = &v
14216 return s
14217}
14218
14219// SetKey sets the Key field's value.
14220func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput {
14221 s.Key = &v
14222 return s
14223}
14224
14225// SetPartNumber sets the PartNumber field's value.
14226func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput {
14227 s.PartNumber = &v
14228 return s
14229}
14230
14231// SetRange sets the Range field's value.
14232func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput {
14233 s.Range = &v
14234 return s
14235}
14236
14237// SetRequestPayer sets the RequestPayer field's value.
14238func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput {
14239 s.RequestPayer = &v
14240 return s
14241}
14242
14243// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14244func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput {
14245 s.SSECustomerAlgorithm = &v
14246 return s
14247}
14248
14249// SetSSECustomerKey sets the SSECustomerKey field's value.
14250func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
14251 s.SSECustomerKey = &v
14252 return s
14253}
14254
15c0b25d
AP
14255func (s *HeadObjectInput) getSSECustomerKey() (v string) {
14256 if s.SSECustomerKey == nil {
14257 return v
14258 }
14259 return *s.SSECustomerKey
14260}
14261
bae9f6d2
JC
14262// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14263func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
14264 s.SSECustomerKeyMD5 = &v
14265 return s
14266}
14267
14268// SetVersionId sets the VersionId field's value.
14269func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
14270 s.VersionId = &v
14271 return s
14272}
14273
bae9f6d2
JC
14274type HeadObjectOutput struct {
14275 _ struct{} `type:"structure"`
14276
14277 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
14278
14279 // Specifies caching behavior along the request/reply chain.
14280 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
14281
14282 // Specifies presentational information for the object.
14283 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
14284
14285 // Specifies what content encodings have been applied to the object and thus
14286 // what decoding mechanisms must be applied to obtain the media-type referenced
14287 // by the Content-Type header field.
14288 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
14289
14290 // The language the content is in.
14291 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
14292
14293 // Size of the body in bytes.
14294 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
14295
14296 // A standard MIME type describing the format of the object data.
14297 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
14298
14299 // Specifies whether the object retrieved was (true) or was not (false) a Delete
14300 // Marker. If false, this response header does not appear in the response.
14301 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
14302
14303 // An ETag is an opaque identifier assigned by a web server to a specific version
14304 // of a resource found at a URL
14305 ETag *string `location:"header" locationName:"ETag" type:"string"`
14306
14307 // If the object expiration is configured (see PUT Bucket lifecycle), the response
14308 // includes this header. It includes the expiry-date and rule-id key value pairs
14309 // providing object expiration information. The value of the rule-id is URL
14310 // encoded.
14311 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
14312
14313 // The date and time at which the object is no longer cacheable.
14314 Expires *string `location:"header" locationName:"Expires" type:"string"`
14315
14316 // Last modified date of the object
15c0b25d 14317 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
bae9f6d2
JC
14318
14319 // A map of metadata to store with the object in S3.
14320 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
14321
14322 // This is set to the number of metadata entries not returned in x-amz-meta
14323 // headers. This can happen if you create metadata using an API like SOAP that
14324 // supports more flexible metadata than the REST API. For example, using SOAP,
14325 // you can create metadata whose values are not legal HTTP headers.
14326 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
14327
107c1cdb
ND
14328 // The Legal Hold status for the specified object.
14329 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
14330
14331 // The Object Lock mode currently in place for this object.
14332 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
14333
14334 // The date and time when this object's Object Lock will expire.
14335 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
14336
bae9f6d2
JC
14337 // The count of parts this object has.
14338 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
14339
14340 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
14341
14342 // If present, indicates that the requester was successfully charged for the
14343 // request.
14344 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
14345
14346 // Provides information about object restoration operation and expiration time
14347 // of the restored object copy.
14348 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
14349
14350 // If server-side encryption with a customer-provided encryption key was requested,
14351 // the response will include this header confirming the encryption algorithm
14352 // used.
14353 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14354
14355 // If server-side encryption with a customer-provided encryption key was requested,
14356 // the response will include this header to provide round trip message integrity
14357 // verification of the customer-provided encryption key.
14358 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14359
14360 // If present, specifies the ID of the AWS Key Management Service (KMS) master
14361 // encryption key that was used for the object.
107c1cdb 14362 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
14363
14364 // The Server-side encryption algorithm used when storing this object in S3
14365 // (e.g., AES256, aws:kms).
14366 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
14367
14368 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
14369
14370 // Version of the object.
14371 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
14372
14373 // If the bucket is configured as a website, redirects requests for this object
14374 // to another object in the same bucket or to an external URL. Amazon S3 stores
14375 // the value of this header in the object metadata.
14376 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
14377}
14378
14379// String returns the string representation
14380func (s HeadObjectOutput) String() string {
14381 return awsutil.Prettify(s)
14382}
14383
14384// GoString returns the string representation
14385func (s HeadObjectOutput) GoString() string {
14386 return s.String()
14387}
14388
14389// SetAcceptRanges sets the AcceptRanges field's value.
14390func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
14391 s.AcceptRanges = &v
14392 return s
14393}
14394
14395// SetCacheControl sets the CacheControl field's value.
14396func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
14397 s.CacheControl = &v
14398 return s
14399}
14400
14401// SetContentDisposition sets the ContentDisposition field's value.
14402func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
14403 s.ContentDisposition = &v
14404 return s
14405}
14406
14407// SetContentEncoding sets the ContentEncoding field's value.
14408func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput {
14409 s.ContentEncoding = &v
14410 return s
14411}
14412
14413// SetContentLanguage sets the ContentLanguage field's value.
14414func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput {
14415 s.ContentLanguage = &v
14416 return s
14417}
14418
14419// SetContentLength sets the ContentLength field's value.
14420func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput {
14421 s.ContentLength = &v
14422 return s
14423}
14424
14425// SetContentType sets the ContentType field's value.
14426func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput {
14427 s.ContentType = &v
14428 return s
14429}
14430
14431// SetDeleteMarker sets the DeleteMarker field's value.
14432func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput {
14433 s.DeleteMarker = &v
14434 return s
14435}
14436
14437// SetETag sets the ETag field's value.
14438func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput {
14439 s.ETag = &v
14440 return s
14441}
14442
14443// SetExpiration sets the Expiration field's value.
14444func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput {
14445 s.Expiration = &v
14446 return s
14447}
14448
14449// SetExpires sets the Expires field's value.
14450func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput {
14451 s.Expires = &v
14452 return s
14453}
14454
14455// SetLastModified sets the LastModified field's value.
14456func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput {
14457 s.LastModified = &v
14458 return s
14459}
14460
14461// SetMetadata sets the Metadata field's value.
14462func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput {
14463 s.Metadata = v
14464 return s
14465}
14466
14467// SetMissingMeta sets the MissingMeta field's value.
14468func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput {
14469 s.MissingMeta = &v
14470 return s
14471}
14472
107c1cdb
ND
14473// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
14474func (s *HeadObjectOutput) SetObjectLockLegalHoldStatus(v string) *HeadObjectOutput {
14475 s.ObjectLockLegalHoldStatus = &v
14476 return s
14477}
14478
14479// SetObjectLockMode sets the ObjectLockMode field's value.
14480func (s *HeadObjectOutput) SetObjectLockMode(v string) *HeadObjectOutput {
14481 s.ObjectLockMode = &v
14482 return s
14483}
14484
14485// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
14486func (s *HeadObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *HeadObjectOutput {
14487 s.ObjectLockRetainUntilDate = &v
14488 return s
14489}
14490
bae9f6d2
JC
14491// SetPartsCount sets the PartsCount field's value.
14492func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput {
14493 s.PartsCount = &v
14494 return s
14495}
14496
14497// SetReplicationStatus sets the ReplicationStatus field's value.
14498func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput {
14499 s.ReplicationStatus = &v
14500 return s
14501}
14502
14503// SetRequestCharged sets the RequestCharged field's value.
14504func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput {
14505 s.RequestCharged = &v
14506 return s
14507}
14508
14509// SetRestore sets the Restore field's value.
14510func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput {
14511 s.Restore = &v
14512 return s
14513}
14514
14515// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14516func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput {
14517 s.SSECustomerAlgorithm = &v
14518 return s
14519}
14520
14521// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14522func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput {
14523 s.SSECustomerKeyMD5 = &v
14524 return s
14525}
14526
14527// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
14528func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput {
14529 s.SSEKMSKeyId = &v
14530 return s
14531}
14532
14533// SetServerSideEncryption sets the ServerSideEncryption field's value.
14534func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput {
14535 s.ServerSideEncryption = &v
14536 return s
14537}
14538
14539// SetStorageClass sets the StorageClass field's value.
14540func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput {
14541 s.StorageClass = &v
14542 return s
14543}
14544
14545// SetVersionId sets the VersionId field's value.
14546func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput {
14547 s.VersionId = &v
14548 return s
14549}
14550
14551// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
14552func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput {
14553 s.WebsiteRedirectLocation = &v
14554 return s
14555}
14556
bae9f6d2
JC
14557type IndexDocument struct {
14558 _ struct{} `type:"structure"`
14559
14560 // A suffix that is appended to a request that is for a directory on the website
14561 // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
14562 // the data that is returned will be for the object with the key name images/index.html)
14563 // The suffix must not be empty and must not include a slash character.
14564 //
14565 // Suffix is a required field
14566 Suffix *string `type:"string" required:"true"`
14567}
14568
14569// String returns the string representation
14570func (s IndexDocument) String() string {
14571 return awsutil.Prettify(s)
14572}
14573
14574// GoString returns the string representation
14575func (s IndexDocument) GoString() string {
14576 return s.String()
14577}
14578
14579// Validate inspects the fields of the type to determine if they are valid.
14580func (s *IndexDocument) Validate() error {
14581 invalidParams := request.ErrInvalidParams{Context: "IndexDocument"}
14582 if s.Suffix == nil {
14583 invalidParams.Add(request.NewErrParamRequired("Suffix"))
14584 }
14585
14586 if invalidParams.Len() > 0 {
14587 return invalidParams
14588 }
14589 return nil
14590}
14591
14592// SetSuffix sets the Suffix field's value.
14593func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
14594 s.Suffix = &v
14595 return s
14596}
14597
bae9f6d2
JC
14598type Initiator struct {
14599 _ struct{} `type:"structure"`
14600
14601 // Name of the Principal.
14602 DisplayName *string `type:"string"`
14603
14604 // If the principal is an AWS account, it provides the Canonical User ID. If
14605 // the principal is an IAM User, it provides a user ARN value.
14606 ID *string `type:"string"`
14607}
14608
14609// String returns the string representation
14610func (s Initiator) String() string {
14611 return awsutil.Prettify(s)
14612}
14613
14614// GoString returns the string representation
14615func (s Initiator) GoString() string {
14616 return s.String()
14617}
14618
14619// SetDisplayName sets the DisplayName field's value.
14620func (s *Initiator) SetDisplayName(v string) *Initiator {
14621 s.DisplayName = &v
14622 return s
14623}
14624
14625// SetID sets the ID field's value.
14626func (s *Initiator) SetID(v string) *Initiator {
14627 s.ID = &v
14628 return s
14629}
14630
15c0b25d
AP
14631// Describes the serialization format of the object.
14632type InputSerialization struct {
14633 _ struct{} `type:"structure"`
14634
14635 // Describes the serialization of a CSV-encoded object.
14636 CSV *CSVInput `type:"structure"`
14637
14638 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default
14639 // Value: NONE.
14640 CompressionType *string `type:"string" enum:"CompressionType"`
14641
14642 // Specifies JSON as object's input serialization format.
14643 JSON *JSONInput `type:"structure"`
107c1cdb
ND
14644
14645 // Specifies Parquet as object's input serialization format.
14646 Parquet *ParquetInput `type:"structure"`
15c0b25d
AP
14647}
14648
14649// String returns the string representation
14650func (s InputSerialization) String() string {
14651 return awsutil.Prettify(s)
14652}
14653
14654// GoString returns the string representation
14655func (s InputSerialization) GoString() string {
14656 return s.String()
14657}
14658
14659// SetCSV sets the CSV field's value.
14660func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
14661 s.CSV = v
14662 return s
14663}
14664
14665// SetCompressionType sets the CompressionType field's value.
14666func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
14667 s.CompressionType = &v
14668 return s
14669}
14670
14671// SetJSON sets the JSON field's value.
14672func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
14673 s.JSON = v
14674 return s
14675}
14676
107c1cdb
ND
14677// SetParquet sets the Parquet field's value.
14678func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization {
14679 s.Parquet = v
14680 return s
14681}
14682
bae9f6d2
JC
14683type InventoryConfiguration struct {
14684 _ struct{} `type:"structure"`
14685
14686 // Contains information about where to publish the inventory results.
14687 //
14688 // Destination is a required field
14689 Destination *InventoryDestination `type:"structure" required:"true"`
14690
14691 // Specifies an inventory filter. The inventory only includes objects that meet
14692 // the filter's criteria.
14693 Filter *InventoryFilter `type:"structure"`
14694
14695 // The ID used to identify the inventory configuration.
14696 //
14697 // Id is a required field
14698 Id *string `type:"string" required:"true"`
14699
14700 // Specifies which object version(s) to included in the inventory results.
14701 //
14702 // IncludedObjectVersions is a required field
14703 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
14704
14705 // Specifies whether the inventory is enabled or disabled.
14706 //
14707 // IsEnabled is a required field
14708 IsEnabled *bool `type:"boolean" required:"true"`
14709
14710 // Contains the optional fields that are included in the inventory results.
14711 OptionalFields []*string `locationNameList:"Field" type:"list"`
14712
14713 // Specifies the schedule for generating inventory results.
14714 //
14715 // Schedule is a required field
14716 Schedule *InventorySchedule `type:"structure" required:"true"`
14717}
14718
14719// String returns the string representation
14720func (s InventoryConfiguration) String() string {
14721 return awsutil.Prettify(s)
14722}
14723
14724// GoString returns the string representation
14725func (s InventoryConfiguration) GoString() string {
14726 return s.String()
14727}
14728
14729// Validate inspects the fields of the type to determine if they are valid.
14730func (s *InventoryConfiguration) Validate() error {
14731 invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"}
14732 if s.Destination == nil {
14733 invalidParams.Add(request.NewErrParamRequired("Destination"))
14734 }
14735 if s.Id == nil {
14736 invalidParams.Add(request.NewErrParamRequired("Id"))
14737 }
14738 if s.IncludedObjectVersions == nil {
14739 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions"))
14740 }
14741 if s.IsEnabled == nil {
14742 invalidParams.Add(request.NewErrParamRequired("IsEnabled"))
14743 }
14744 if s.Schedule == nil {
14745 invalidParams.Add(request.NewErrParamRequired("Schedule"))
14746 }
14747 if s.Destination != nil {
14748 if err := s.Destination.Validate(); err != nil {
14749 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
14750 }
14751 }
14752 if s.Filter != nil {
14753 if err := s.Filter.Validate(); err != nil {
14754 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
14755 }
14756 }
14757 if s.Schedule != nil {
14758 if err := s.Schedule.Validate(); err != nil {
14759 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
14760 }
14761 }
14762
14763 if invalidParams.Len() > 0 {
14764 return invalidParams
14765 }
14766 return nil
14767}
14768
14769// SetDestination sets the Destination field's value.
14770func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration {
14771 s.Destination = v
14772 return s
14773}
14774
14775// SetFilter sets the Filter field's value.
14776func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration {
14777 s.Filter = v
14778 return s
14779}
14780
14781// SetId sets the Id field's value.
14782func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration {
14783 s.Id = &v
14784 return s
14785}
14786
14787// SetIncludedObjectVersions sets the IncludedObjectVersions field's value.
14788func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration {
14789 s.IncludedObjectVersions = &v
14790 return s
14791}
14792
14793// SetIsEnabled sets the IsEnabled field's value.
14794func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration {
14795 s.IsEnabled = &v
14796 return s
14797}
14798
14799// SetOptionalFields sets the OptionalFields field's value.
14800func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration {
14801 s.OptionalFields = v
14802 return s
14803}
14804
14805// SetSchedule sets the Schedule field's value.
14806func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration {
14807 s.Schedule = v
14808 return s
14809}
14810
bae9f6d2
JC
14811type InventoryDestination struct {
14812 _ struct{} `type:"structure"`
14813
14814 // Contains the bucket name, file format, bucket owner (optional), and prefix
14815 // (optional) where inventory results are published.
14816 //
14817 // S3BucketDestination is a required field
14818 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"`
14819}
14820
14821// String returns the string representation
14822func (s InventoryDestination) String() string {
14823 return awsutil.Prettify(s)
14824}
14825
14826// GoString returns the string representation
14827func (s InventoryDestination) GoString() string {
14828 return s.String()
14829}
14830
14831// Validate inspects the fields of the type to determine if they are valid.
14832func (s *InventoryDestination) Validate() error {
14833 invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"}
14834 if s.S3BucketDestination == nil {
14835 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
14836 }
14837 if s.S3BucketDestination != nil {
14838 if err := s.S3BucketDestination.Validate(); err != nil {
14839 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
14840 }
14841 }
14842
14843 if invalidParams.Len() > 0 {
14844 return invalidParams
14845 }
14846 return nil
14847}
14848
14849// SetS3BucketDestination sets the S3BucketDestination field's value.
14850func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination {
14851 s.S3BucketDestination = v
14852 return s
14853}
14854
15c0b25d
AP
14855// Contains the type of server-side encryption used to encrypt the inventory
14856// results.
14857type InventoryEncryption struct {
14858 _ struct{} `type:"structure"`
14859
107c1cdb 14860 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
15c0b25d
AP
14861 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
14862
107c1cdb 14863 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
15c0b25d
AP
14864 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
14865}
14866
14867// String returns the string representation
14868func (s InventoryEncryption) String() string {
14869 return awsutil.Prettify(s)
14870}
14871
14872// GoString returns the string representation
14873func (s InventoryEncryption) GoString() string {
14874 return s.String()
14875}
14876
14877// Validate inspects the fields of the type to determine if they are valid.
14878func (s *InventoryEncryption) Validate() error {
14879 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"}
14880 if s.SSEKMS != nil {
14881 if err := s.SSEKMS.Validate(); err != nil {
14882 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams))
14883 }
14884 }
14885
14886 if invalidParams.Len() > 0 {
14887 return invalidParams
14888 }
14889 return nil
14890}
14891
14892// SetSSEKMS sets the SSEKMS field's value.
14893func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
14894 s.SSEKMS = v
14895 return s
14896}
14897
14898// SetSSES3 sets the SSES3 field's value.
14899func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
14900 s.SSES3 = v
14901 return s
14902}
14903
bae9f6d2
JC
14904type InventoryFilter struct {
14905 _ struct{} `type:"structure"`
14906
14907 // The prefix that an object must have to be included in the inventory results.
14908 //
14909 // Prefix is a required field
14910 Prefix *string `type:"string" required:"true"`
14911}
14912
14913// String returns the string representation
14914func (s InventoryFilter) String() string {
14915 return awsutil.Prettify(s)
14916}
14917
14918// GoString returns the string representation
14919func (s InventoryFilter) GoString() string {
14920 return s.String()
14921}
14922
14923// Validate inspects the fields of the type to determine if they are valid.
14924func (s *InventoryFilter) Validate() error {
14925 invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
14926 if s.Prefix == nil {
14927 invalidParams.Add(request.NewErrParamRequired("Prefix"))
14928 }
14929
14930 if invalidParams.Len() > 0 {
14931 return invalidParams
14932 }
14933 return nil
14934}
14935
14936// SetPrefix sets the Prefix field's value.
14937func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
14938 s.Prefix = &v
14939 return s
14940}
14941
bae9f6d2
JC
14942type InventoryS3BucketDestination struct {
14943 _ struct{} `type:"structure"`
14944
14945 // The ID of the account that owns the destination bucket.
14946 AccountId *string `type:"string"`
14947
14948 // The Amazon resource name (ARN) of the bucket where inventory results will
14949 // be published.
14950 //
14951 // Bucket is a required field
14952 Bucket *string `type:"string" required:"true"`
14953
15c0b25d
AP
14954 // Contains the type of server-side encryption used to encrypt the inventory
14955 // results.
14956 Encryption *InventoryEncryption `type:"structure"`
14957
bae9f6d2
JC
14958 // Specifies the output format of the inventory results.
14959 //
14960 // Format is a required field
14961 Format *string `type:"string" required:"true" enum:"InventoryFormat"`
14962
14963 // The prefix that is prepended to all inventory results.
14964 Prefix *string `type:"string"`
14965}
14966
14967// String returns the string representation
14968func (s InventoryS3BucketDestination) String() string {
14969 return awsutil.Prettify(s)
14970}
14971
14972// GoString returns the string representation
14973func (s InventoryS3BucketDestination) GoString() string {
14974 return s.String()
14975}
14976
14977// Validate inspects the fields of the type to determine if they are valid.
14978func (s *InventoryS3BucketDestination) Validate() error {
14979 invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"}
14980 if s.Bucket == nil {
14981 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14982 }
14983 if s.Format == nil {
14984 invalidParams.Add(request.NewErrParamRequired("Format"))
14985 }
15c0b25d
AP
14986 if s.Encryption != nil {
14987 if err := s.Encryption.Validate(); err != nil {
14988 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
14989 }
14990 }
bae9f6d2
JC
14991
14992 if invalidParams.Len() > 0 {
14993 return invalidParams
14994 }
14995 return nil
14996}
14997
14998// SetAccountId sets the AccountId field's value.
14999func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination {
15000 s.AccountId = &v
15001 return s
15002}
15003
15004// SetBucket sets the Bucket field's value.
15005func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination {
15006 s.Bucket = &v
15007 return s
15008}
15009
15c0b25d
AP
15010func (s *InventoryS3BucketDestination) getBucket() (v string) {
15011 if s.Bucket == nil {
15012 return v
15013 }
15014 return *s.Bucket
15015}
15016
15017// SetEncryption sets the Encryption field's value.
15018func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
15019 s.Encryption = v
15020 return s
15021}
15022
bae9f6d2
JC
15023// SetFormat sets the Format field's value.
15024func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
15025 s.Format = &v
15026 return s
15027}
15028
15029// SetPrefix sets the Prefix field's value.
15030func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination {
15031 s.Prefix = &v
15032 return s
15033}
15034
bae9f6d2
JC
15035type InventorySchedule struct {
15036 _ struct{} `type:"structure"`
15037
15038 // Specifies how frequently inventory results are produced.
15039 //
15040 // Frequency is a required field
15041 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"`
15042}
15043
15044// String returns the string representation
15045func (s InventorySchedule) String() string {
15046 return awsutil.Prettify(s)
15047}
15048
15049// GoString returns the string representation
15050func (s InventorySchedule) GoString() string {
15051 return s.String()
15052}
15053
15054// Validate inspects the fields of the type to determine if they are valid.
15055func (s *InventorySchedule) Validate() error {
15056 invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"}
15057 if s.Frequency == nil {
15058 invalidParams.Add(request.NewErrParamRequired("Frequency"))
15059 }
15060
15061 if invalidParams.Len() > 0 {
15062 return invalidParams
15063 }
15064 return nil
15065}
15066
15067// SetFrequency sets the Frequency field's value.
15068func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
15069 s.Frequency = &v
15070 return s
15071}
15072
15c0b25d
AP
15073type JSONInput struct {
15074 _ struct{} `type:"structure"`
15075
15076 // The type of JSON. Valid values: Document, Lines.
15077 Type *string `type:"string" enum:"JSONType"`
15078}
15079
15080// String returns the string representation
15081func (s JSONInput) String() string {
15082 return awsutil.Prettify(s)
15083}
15084
15085// GoString returns the string representation
15086func (s JSONInput) GoString() string {
15087 return s.String()
15088}
15089
15090// SetType sets the Type field's value.
15091func (s *JSONInput) SetType(v string) *JSONInput {
15092 s.Type = &v
15093 return s
15094}
15095
15096type JSONOutput struct {
15097 _ struct{} `type:"structure"`
15098
15099 // The value used to separate individual records in the output.
15100 RecordDelimiter *string `type:"string"`
15101}
15102
15103// String returns the string representation
15104func (s JSONOutput) String() string {
15105 return awsutil.Prettify(s)
15106}
15107
15108// GoString returns the string representation
15109func (s JSONOutput) GoString() string {
15110 return s.String()
15111}
15112
15113// SetRecordDelimiter sets the RecordDelimiter field's value.
15114func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
15115 s.RecordDelimiter = &v
15116 return s
15117}
15118
107c1cdb 15119// A container for object key name prefix and suffix filtering rules.
bae9f6d2
JC
15120type KeyFilter struct {
15121 _ struct{} `type:"structure"`
15122
107c1cdb
ND
15123 // A list of containers for the key value pair that defines the criteria for
15124 // the filter rule.
bae9f6d2
JC
15125 FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"`
15126}
15127
15128// String returns the string representation
15129func (s KeyFilter) String() string {
15130 return awsutil.Prettify(s)
15131}
15132
15133// GoString returns the string representation
15134func (s KeyFilter) GoString() string {
15135 return s.String()
15136}
15137
15138// SetFilterRules sets the FilterRules field's value.
15139func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
15140 s.FilterRules = v
15141 return s
15142}
15143
107c1cdb 15144// A container for specifying the configuration for AWS Lambda notifications.
bae9f6d2
JC
15145type LambdaFunctionConfiguration struct {
15146 _ struct{} `type:"structure"`
15147
15148 // Events is a required field
15149 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
15150
107c1cdb
ND
15151 // A container for object key name filtering rules. For information about key
15152 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 15153 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
15154 Filter *NotificationConfigurationFilter `type:"structure"`
15155
107c1cdb 15156 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
15157 // If you don't provide one, Amazon S3 will assign an ID.
15158 Id *string `type:"string"`
15159
107c1cdb
ND
15160 // The Amazon Resource Name (ARN) of the Lambda cloud function that Amazon S3
15161 // can invoke when it detects events of the specified type.
bae9f6d2
JC
15162 //
15163 // LambdaFunctionArn is a required field
15164 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
15165}
15166
15167// String returns the string representation
15168func (s LambdaFunctionConfiguration) String() string {
15169 return awsutil.Prettify(s)
15170}
15171
15172// GoString returns the string representation
15173func (s LambdaFunctionConfiguration) GoString() string {
15174 return s.String()
15175}
15176
15177// Validate inspects the fields of the type to determine if they are valid.
15178func (s *LambdaFunctionConfiguration) Validate() error {
15179 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"}
15180 if s.Events == nil {
15181 invalidParams.Add(request.NewErrParamRequired("Events"))
15182 }
15183 if s.LambdaFunctionArn == nil {
15184 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
15185 }
15186
15187 if invalidParams.Len() > 0 {
15188 return invalidParams
15189 }
15190 return nil
15191}
15192
15193// SetEvents sets the Events field's value.
15194func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration {
15195 s.Events = v
15196 return s
15197}
15198
15199// SetFilter sets the Filter field's value.
15200func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration {
15201 s.Filter = v
15202 return s
15203}
15204
15205// SetId sets the Id field's value.
15206func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration {
15207 s.Id = &v
15208 return s
15209}
15210
15211// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
15212func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration {
15213 s.LambdaFunctionArn = &v
15214 return s
15215}
15216
bae9f6d2
JC
15217type LifecycleConfiguration struct {
15218 _ struct{} `type:"structure"`
15219
15220 // Rules is a required field
15221 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
15222}
15223
15224// String returns the string representation
15225func (s LifecycleConfiguration) String() string {
15226 return awsutil.Prettify(s)
15227}
15228
15229// GoString returns the string representation
15230func (s LifecycleConfiguration) GoString() string {
15231 return s.String()
15232}
15233
15234// Validate inspects the fields of the type to determine if they are valid.
15235func (s *LifecycleConfiguration) Validate() error {
15236 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"}
15237 if s.Rules == nil {
15238 invalidParams.Add(request.NewErrParamRequired("Rules"))
15239 }
15240 if s.Rules != nil {
15241 for i, v := range s.Rules {
15242 if v == nil {
15243 continue
15244 }
15245 if err := v.Validate(); err != nil {
15246 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
15247 }
15248 }
15249 }
15250
15251 if invalidParams.Len() > 0 {
15252 return invalidParams
15253 }
15254 return nil
15255}
15256
15257// SetRules sets the Rules field's value.
15258func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
15259 s.Rules = v
15260 return s
15261}
15262
bae9f6d2
JC
15263type LifecycleExpiration struct {
15264 _ struct{} `type:"structure"`
15265
15266 // Indicates at what date the object is to be moved or deleted. Should be in
15267 // GMT ISO 8601 Format.
15268 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15269
15270 // Indicates the lifetime, in days, of the objects that are subject to the rule.
15271 // The value must be a non-zero positive integer.
15272 Days *int64 `type:"integer"`
15273
15274 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent
15275 // versions. If set to true, the delete marker will be expired; if set to false
15276 // the policy takes no action. This cannot be specified with Days or Date in
15277 // a Lifecycle Expiration Policy.
15278 ExpiredObjectDeleteMarker *bool `type:"boolean"`
15279}
15280
15281// String returns the string representation
15282func (s LifecycleExpiration) String() string {
15283 return awsutil.Prettify(s)
15284}
15285
15286// GoString returns the string representation
15287func (s LifecycleExpiration) GoString() string {
15288 return s.String()
15289}
15290
15291// SetDate sets the Date field's value.
15292func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration {
15293 s.Date = &v
15294 return s
15295}
15296
15297// SetDays sets the Days field's value.
15298func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration {
15299 s.Days = &v
15300 return s
15301}
15302
15303// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
15304func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration {
15305 s.ExpiredObjectDeleteMarker = &v
15306 return s
15307}
15308
bae9f6d2
JC
15309type LifecycleRule struct {
15310 _ struct{} `type:"structure"`
15311
15312 // Specifies the days since the initiation of an Incomplete Multipart Upload
15313 // that Lifecycle will wait before permanently removing all parts of the upload.
15314 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
15315
15316 Expiration *LifecycleExpiration `type:"structure"`
15317
15318 // The Filter is used to identify objects that a Lifecycle Rule applies to.
15319 // A Filter must have exactly one of Prefix, Tag, or And specified.
15320 Filter *LifecycleRuleFilter `type:"structure"`
15321
15322 // Unique identifier for the rule. The value cannot be longer than 255 characters.
15323 ID *string `type:"string"`
15324
15325 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
15326 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
15327 // configuration action on a bucket that has versioning enabled (or suspended)
15328 // to request that Amazon S3 delete noncurrent object versions at a specific
15329 // period in the object's lifetime.
15330 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
15331
15332 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
15333
15334 // Prefix identifying one or more objects to which the rule applies. This is
107c1cdb
ND
15335 // No longer used; use Filter instead.
15336 //
15337 // Deprecated: Prefix has been deprecated
bae9f6d2
JC
15338 Prefix *string `deprecated:"true" type:"string"`
15339
15340 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
15341 // is not currently being applied.
15342 //
15343 // Status is a required field
15344 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
15345
15346 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`
15347}
15348
15349// String returns the string representation
15350func (s LifecycleRule) String() string {
15351 return awsutil.Prettify(s)
15352}
15353
15354// GoString returns the string representation
15355func (s LifecycleRule) GoString() string {
15356 return s.String()
15357}
15358
15359// Validate inspects the fields of the type to determine if they are valid.
15360func (s *LifecycleRule) Validate() error {
15361 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"}
15362 if s.Status == nil {
15363 invalidParams.Add(request.NewErrParamRequired("Status"))
15364 }
15365 if s.Filter != nil {
15366 if err := s.Filter.Validate(); err != nil {
15367 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
15368 }
15369 }
15370
15371 if invalidParams.Len() > 0 {
15372 return invalidParams
15373 }
15374 return nil
15375}
15376
15377// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
15378func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule {
15379 s.AbortIncompleteMultipartUpload = v
15380 return s
15381}
15382
15383// SetExpiration sets the Expiration field's value.
15384func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule {
15385 s.Expiration = v
15386 return s
15387}
15388
15389// SetFilter sets the Filter field's value.
15390func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule {
15391 s.Filter = v
15392 return s
15393}
15394
15395// SetID sets the ID field's value.
15396func (s *LifecycleRule) SetID(v string) *LifecycleRule {
15397 s.ID = &v
15398 return s
15399}
15400
15401// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
15402func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule {
15403 s.NoncurrentVersionExpiration = v
15404 return s
15405}
15406
15407// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
15408func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule {
15409 s.NoncurrentVersionTransitions = v
15410 return s
15411}
15412
15413// SetPrefix sets the Prefix field's value.
15414func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule {
15415 s.Prefix = &v
15416 return s
15417}
15418
15419// SetStatus sets the Status field's value.
15420func (s *LifecycleRule) SetStatus(v string) *LifecycleRule {
15421 s.Status = &v
15422 return s
15423}
15424
15425// SetTransitions sets the Transitions field's value.
15426func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
15427 s.Transitions = v
15428 return s
15429}
15430
15431// This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15432// more predicates. The Lifecycle Rule will apply to any object matching all
15433// of the predicates configured inside the And operator.
bae9f6d2
JC
15434type LifecycleRuleAndOperator struct {
15435 _ struct{} `type:"structure"`
15436
15437 Prefix *string `type:"string"`
15438
15439 // All of these tags must exist in the object's tag set in order for the rule
15440 // to apply.
15441 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
15442}
15443
15444// String returns the string representation
15445func (s LifecycleRuleAndOperator) String() string {
15446 return awsutil.Prettify(s)
15447}
15448
15449// GoString returns the string representation
15450func (s LifecycleRuleAndOperator) GoString() string {
15451 return s.String()
15452}
15453
15454// Validate inspects the fields of the type to determine if they are valid.
15455func (s *LifecycleRuleAndOperator) Validate() error {
15456 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"}
15457 if s.Tags != nil {
15458 for i, v := range s.Tags {
15459 if v == nil {
15460 continue
15461 }
15462 if err := v.Validate(); err != nil {
15463 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15464 }
15465 }
15466 }
15467
15468 if invalidParams.Len() > 0 {
15469 return invalidParams
15470 }
15471 return nil
15472}
15473
15474// SetPrefix sets the Prefix field's value.
15475func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
15476 s.Prefix = &v
15477 return s
15478}
15479
15480// SetTags sets the Tags field's value.
15481func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
15482 s.Tags = v
15483 return s
15484}
15485
15486// The Filter is used to identify objects that a Lifecycle Rule applies to.
15487// A Filter must have exactly one of Prefix, Tag, or And specified.
bae9f6d2
JC
15488type LifecycleRuleFilter struct {
15489 _ struct{} `type:"structure"`
15490
15491 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15492 // more predicates. The Lifecycle Rule will apply to any object matching all
15493 // of the predicates configured inside the And operator.
15494 And *LifecycleRuleAndOperator `type:"structure"`
15495
15496 // Prefix identifying one or more objects to which the rule applies.
15497 Prefix *string `type:"string"`
15498
15499 // This tag must exist in the object's tag set in order for the rule to apply.
15500 Tag *Tag `type:"structure"`
15501}
15502
15503// String returns the string representation
15504func (s LifecycleRuleFilter) String() string {
15505 return awsutil.Prettify(s)
15506}
15507
15508// GoString returns the string representation
15509func (s LifecycleRuleFilter) GoString() string {
15510 return s.String()
15511}
15512
15513// Validate inspects the fields of the type to determine if they are valid.
15514func (s *LifecycleRuleFilter) Validate() error {
15515 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"}
15516 if s.And != nil {
15517 if err := s.And.Validate(); err != nil {
15518 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
15519 }
15520 }
15521 if s.Tag != nil {
15522 if err := s.Tag.Validate(); err != nil {
15523 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
15524 }
15525 }
15526
15527 if invalidParams.Len() > 0 {
15528 return invalidParams
15529 }
15530 return nil
15531}
15532
15533// SetAnd sets the And field's value.
15534func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter {
15535 s.And = v
15536 return s
15537}
15538
15539// SetPrefix sets the Prefix field's value.
15540func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
15541 s.Prefix = &v
15542 return s
15543}
15544
15545// SetTag sets the Tag field's value.
15546func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
15547 s.Tag = v
15548 return s
15549}
15550
bae9f6d2
JC
15551type ListBucketAnalyticsConfigurationsInput struct {
15552 _ struct{} `type:"structure"`
15553
15554 // The name of the bucket from which analytics configurations are retrieved.
15555 //
15556 // Bucket is a required field
15557 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15558
15559 // The ContinuationToken that represents a placeholder from where this request
15560 // should begin.
15561 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15562}
15563
15564// String returns the string representation
15565func (s ListBucketAnalyticsConfigurationsInput) String() string {
15566 return awsutil.Prettify(s)
15567}
15568
15569// GoString returns the string representation
15570func (s ListBucketAnalyticsConfigurationsInput) GoString() string {
15571 return s.String()
15572}
15573
15574// Validate inspects the fields of the type to determine if they are valid.
15575func (s *ListBucketAnalyticsConfigurationsInput) Validate() error {
15576 invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"}
15577 if s.Bucket == nil {
15578 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15579 }
107c1cdb
ND
15580 if s.Bucket != nil && len(*s.Bucket) < 1 {
15581 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15582 }
bae9f6d2
JC
15583
15584 if invalidParams.Len() > 0 {
15585 return invalidParams
15586 }
15587 return nil
15588}
15589
15590// SetBucket sets the Bucket field's value.
15591func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput {
15592 s.Bucket = &v
15593 return s
15594}
15595
15c0b25d
AP
15596func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
15597 if s.Bucket == nil {
15598 return v
15599 }
15600 return *s.Bucket
15601}
15602
bae9f6d2
JC
15603// SetContinuationToken sets the ContinuationToken field's value.
15604func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
15605 s.ContinuationToken = &v
15606 return s
15607}
15608
bae9f6d2
JC
15609type ListBucketAnalyticsConfigurationsOutput struct {
15610 _ struct{} `type:"structure"`
15611
15612 // The list of analytics configurations for a bucket.
15613 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"`
15614
15615 // The ContinuationToken that represents where this request began.
15616 ContinuationToken *string `type:"string"`
15617
15618 // Indicates whether the returned list of analytics configurations is complete.
15619 // A value of true indicates that the list is not complete and the NextContinuationToken
15620 // will be provided for a subsequent request.
15621 IsTruncated *bool `type:"boolean"`
15622
15623 // NextContinuationToken is sent when isTruncated is true, which indicates that
15624 // there are more analytics configurations to list. The next request must include
15625 // this NextContinuationToken. The token is obfuscated and is not a usable value.
15626 NextContinuationToken *string `type:"string"`
15627}
15628
15629// String returns the string representation
15630func (s ListBucketAnalyticsConfigurationsOutput) String() string {
15631 return awsutil.Prettify(s)
15632}
15633
15634// GoString returns the string representation
15635func (s ListBucketAnalyticsConfigurationsOutput) GoString() string {
15636 return s.String()
15637}
15638
15639// SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value.
15640func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput {
15641 s.AnalyticsConfigurationList = v
15642 return s
15643}
15644
15645// SetContinuationToken sets the ContinuationToken field's value.
15646func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15647 s.ContinuationToken = &v
15648 return s
15649}
15650
15651// SetIsTruncated sets the IsTruncated field's value.
15652func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput {
15653 s.IsTruncated = &v
15654 return s
15655}
15656
15657// SetNextContinuationToken sets the NextContinuationToken field's value.
15658func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15659 s.NextContinuationToken = &v
15660 return s
15661}
15662
bae9f6d2
JC
15663type ListBucketInventoryConfigurationsInput struct {
15664 _ struct{} `type:"structure"`
15665
15666 // The name of the bucket containing the inventory configurations to retrieve.
15667 //
15668 // Bucket is a required field
15669 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15670
15671 // The marker used to continue an inventory configuration listing that has been
15672 // truncated. Use the NextContinuationToken from a previously truncated list
15673 // response to continue the listing. The continuation token is an opaque value
15674 // that Amazon S3 understands.
15675 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15676}
15677
15678// String returns the string representation
15679func (s ListBucketInventoryConfigurationsInput) String() string {
15680 return awsutil.Prettify(s)
15681}
15682
15683// GoString returns the string representation
15684func (s ListBucketInventoryConfigurationsInput) GoString() string {
15685 return s.String()
15686}
15687
15688// Validate inspects the fields of the type to determine if they are valid.
15689func (s *ListBucketInventoryConfigurationsInput) Validate() error {
15690 invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"}
15691 if s.Bucket == nil {
15692 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15693 }
107c1cdb
ND
15694 if s.Bucket != nil && len(*s.Bucket) < 1 {
15695 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15696 }
bae9f6d2
JC
15697
15698 if invalidParams.Len() > 0 {
15699 return invalidParams
15700 }
15701 return nil
15702}
15703
15704// SetBucket sets the Bucket field's value.
15705func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput {
15706 s.Bucket = &v
15707 return s
15708}
15709
15c0b25d
AP
15710func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
15711 if s.Bucket == nil {
15712 return v
15713 }
15714 return *s.Bucket
15715}
15716
bae9f6d2
JC
15717// SetContinuationToken sets the ContinuationToken field's value.
15718func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
15719 s.ContinuationToken = &v
15720 return s
15721}
15722
bae9f6d2
JC
15723type ListBucketInventoryConfigurationsOutput struct {
15724 _ struct{} `type:"structure"`
15725
15726 // If sent in the request, the marker that is used as a starting point for this
15727 // inventory configuration list response.
15728 ContinuationToken *string `type:"string"`
15729
15730 // The list of inventory configurations for a bucket.
15731 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`
15732
15733 // Indicates whether the returned list of inventory configurations is truncated
15734 // in this response. A value of true indicates that the list is truncated.
15735 IsTruncated *bool `type:"boolean"`
15736
15737 // The marker used to continue this inventory configuration listing. Use the
15738 // NextContinuationToken from this response to continue the listing in a subsequent
15739 // request. The continuation token is an opaque value that Amazon S3 understands.
15740 NextContinuationToken *string `type:"string"`
15741}
15742
15743// String returns the string representation
15744func (s ListBucketInventoryConfigurationsOutput) String() string {
15745 return awsutil.Prettify(s)
15746}
15747
15748// GoString returns the string representation
15749func (s ListBucketInventoryConfigurationsOutput) GoString() string {
15750 return s.String()
15751}
15752
15753// SetContinuationToken sets the ContinuationToken field's value.
15754func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15755 s.ContinuationToken = &v
15756 return s
15757}
15758
15759// SetInventoryConfigurationList sets the InventoryConfigurationList field's value.
15760func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput {
15761 s.InventoryConfigurationList = v
15762 return s
15763}
15764
15765// SetIsTruncated sets the IsTruncated field's value.
15766func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput {
15767 s.IsTruncated = &v
15768 return s
15769}
15770
15771// SetNextContinuationToken sets the NextContinuationToken field's value.
15772func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15773 s.NextContinuationToken = &v
15774 return s
15775}
15776
bae9f6d2
JC
15777type ListBucketMetricsConfigurationsInput struct {
15778 _ struct{} `type:"structure"`
15779
15780 // The name of the bucket containing the metrics configurations to retrieve.
15781 //
15782 // Bucket is a required field
15783 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15784
15785 // The marker that is used to continue a metrics configuration listing that
15786 // has been truncated. Use the NextContinuationToken from a previously truncated
15787 // list response to continue the listing. The continuation token is an opaque
15788 // value that Amazon S3 understands.
15789 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15790}
15791
15792// String returns the string representation
15793func (s ListBucketMetricsConfigurationsInput) String() string {
15794 return awsutil.Prettify(s)
15795}
15796
15797// GoString returns the string representation
15798func (s ListBucketMetricsConfigurationsInput) GoString() string {
15799 return s.String()
15800}
15801
15802// Validate inspects the fields of the type to determine if they are valid.
15803func (s *ListBucketMetricsConfigurationsInput) Validate() error {
15804 invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"}
15805 if s.Bucket == nil {
15806 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15807 }
107c1cdb
ND
15808 if s.Bucket != nil && len(*s.Bucket) < 1 {
15809 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15810 }
bae9f6d2
JC
15811
15812 if invalidParams.Len() > 0 {
15813 return invalidParams
15814 }
15815 return nil
15816}
15817
15818// SetBucket sets the Bucket field's value.
15819func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput {
15820 s.Bucket = &v
15821 return s
15822}
15823
15c0b25d
AP
15824func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
15825 if s.Bucket == nil {
15826 return v
15827 }
15828 return *s.Bucket
15829}
15830
bae9f6d2
JC
15831// SetContinuationToken sets the ContinuationToken field's value.
15832func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
15833 s.ContinuationToken = &v
15834 return s
15835}
15836
bae9f6d2
JC
15837type ListBucketMetricsConfigurationsOutput struct {
15838 _ struct{} `type:"structure"`
15839
15840 // The marker that is used as a starting point for this metrics configuration
15841 // list response. This value is present if it was sent in the request.
15842 ContinuationToken *string `type:"string"`
15843
15844 // Indicates whether the returned list of metrics configurations is complete.
15845 // A value of true indicates that the list is not complete and the NextContinuationToken
15846 // will be provided for a subsequent request.
15847 IsTruncated *bool `type:"boolean"`
15848
15849 // The list of metrics configurations for a bucket.
15850 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"`
15851
15852 // The marker used to continue a metrics configuration listing that has been
15853 // truncated. Use the NextContinuationToken from a previously truncated list
15854 // response to continue the listing. The continuation token is an opaque value
15855 // that Amazon S3 understands.
15856 NextContinuationToken *string `type:"string"`
15857}
15858
15859// String returns the string representation
15860func (s ListBucketMetricsConfigurationsOutput) String() string {
15861 return awsutil.Prettify(s)
15862}
15863
15864// GoString returns the string representation
15865func (s ListBucketMetricsConfigurationsOutput) GoString() string {
15866 return s.String()
15867}
15868
15869// SetContinuationToken sets the ContinuationToken field's value.
15870func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
15871 s.ContinuationToken = &v
15872 return s
15873}
15874
15875// SetIsTruncated sets the IsTruncated field's value.
15876func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput {
15877 s.IsTruncated = &v
15878 return s
15879}
15880
15881// SetMetricsConfigurationList sets the MetricsConfigurationList field's value.
15882func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput {
15883 s.MetricsConfigurationList = v
15884 return s
15885}
15886
15887// SetNextContinuationToken sets the NextContinuationToken field's value.
15888func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
15889 s.NextContinuationToken = &v
15890 return s
15891}
15892
bae9f6d2
JC
15893type ListBucketsInput struct {
15894 _ struct{} `type:"structure"`
15895}
15896
15897// String returns the string representation
15898func (s ListBucketsInput) String() string {
15899 return awsutil.Prettify(s)
15900}
15901
15902// GoString returns the string representation
15903func (s ListBucketsInput) GoString() string {
15904 return s.String()
15905}
15906
bae9f6d2
JC
15907type ListBucketsOutput struct {
15908 _ struct{} `type:"structure"`
15909
15910 Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
15911
15912 Owner *Owner `type:"structure"`
15913}
15914
15915// String returns the string representation
15916func (s ListBucketsOutput) String() string {
15917 return awsutil.Prettify(s)
15918}
15919
15920// GoString returns the string representation
15921func (s ListBucketsOutput) GoString() string {
15922 return s.String()
15923}
15924
15925// SetBuckets sets the Buckets field's value.
15926func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput {
15927 s.Buckets = v
15928 return s
15929}
15930
15931// SetOwner sets the Owner field's value.
15932func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
15933 s.Owner = v
15934 return s
15935}
15936
bae9f6d2
JC
15937type ListMultipartUploadsInput struct {
15938 _ struct{} `type:"structure"`
15939
15940 // Bucket is a required field
15941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15942
15943 // Character you use to group keys.
15944 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
15945
15946 // Requests Amazon S3 to encode the object keys in the response and specifies
15947 // the encoding method to use. An object key may contain any Unicode character;
15948 // however, XML 1.0 parser cannot parse some characters, such as characters
15949 // with an ASCII value from 0 to 10. For characters that are not supported in
15950 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
15951 // keys in the response.
15952 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
15953
15954 // Together with upload-id-marker, this parameter specifies the multipart upload
15955 // after which listing should begin.
15956 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
15957
15958 // Sets the maximum number of multipart uploads, from 1 to 1,000, to return
15959 // in the response body. 1,000 is the maximum number of uploads that can be
15960 // returned in a response.
15961 MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"`
15962
15963 // Lists in-progress uploads only for those keys that begin with the specified
15964 // prefix.
15965 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
15966
15967 // Together with key-marker, specifies the multipart upload after which listing
15968 // should begin. If key-marker is not specified, the upload-id-marker parameter
15969 // is ignored.
15970 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`
15971}
15972
15973// String returns the string representation
15974func (s ListMultipartUploadsInput) String() string {
15975 return awsutil.Prettify(s)
15976}
15977
15978// GoString returns the string representation
15979func (s ListMultipartUploadsInput) GoString() string {
15980 return s.String()
15981}
15982
15983// Validate inspects the fields of the type to determine if they are valid.
15984func (s *ListMultipartUploadsInput) Validate() error {
15985 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"}
15986 if s.Bucket == nil {
15987 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15988 }
107c1cdb
ND
15989 if s.Bucket != nil && len(*s.Bucket) < 1 {
15990 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15991 }
bae9f6d2
JC
15992
15993 if invalidParams.Len() > 0 {
15994 return invalidParams
15995 }
15996 return nil
15997}
15998
15999// SetBucket sets the Bucket field's value.
16000func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput {
16001 s.Bucket = &v
16002 return s
16003}
16004
15c0b25d
AP
16005func (s *ListMultipartUploadsInput) getBucket() (v string) {
16006 if s.Bucket == nil {
16007 return v
16008 }
16009 return *s.Bucket
16010}
16011
bae9f6d2
JC
16012// SetDelimiter sets the Delimiter field's value.
16013func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
16014 s.Delimiter = &v
16015 return s
16016}
16017
16018// SetEncodingType sets the EncodingType field's value.
16019func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput {
16020 s.EncodingType = &v
16021 return s
16022}
16023
16024// SetKeyMarker sets the KeyMarker field's value.
16025func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput {
16026 s.KeyMarker = &v
16027 return s
16028}
16029
16030// SetMaxUploads sets the MaxUploads field's value.
16031func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput {
16032 s.MaxUploads = &v
16033 return s
16034}
16035
16036// SetPrefix sets the Prefix field's value.
16037func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput {
16038 s.Prefix = &v
16039 return s
16040}
16041
16042// SetUploadIdMarker sets the UploadIdMarker field's value.
16043func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput {
16044 s.UploadIdMarker = &v
16045 return s
16046}
16047
bae9f6d2
JC
16048type ListMultipartUploadsOutput struct {
16049 _ struct{} `type:"structure"`
16050
16051 // Name of the bucket to which the multipart upload was initiated.
16052 Bucket *string `type:"string"`
16053
16054 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16055
16056 Delimiter *string `type:"string"`
16057
16058 // Encoding type used by Amazon S3 to encode object keys in the response.
16059 EncodingType *string `type:"string" enum:"EncodingType"`
16060
16061 // Indicates whether the returned list of multipart uploads is truncated. A
16062 // value of true indicates that the list was truncated. The list can be truncated
16063 // if the number of multipart uploads exceeds the limit allowed or specified
16064 // by max uploads.
16065 IsTruncated *bool `type:"boolean"`
16066
16067 // The key at or after which the listing began.
16068 KeyMarker *string `type:"string"`
16069
16070 // Maximum number of multipart uploads that could have been included in the
16071 // response.
16072 MaxUploads *int64 `type:"integer"`
16073
16074 // When a list is truncated, this element specifies the value that should be
16075 // used for the key-marker request parameter in a subsequent request.
16076 NextKeyMarker *string `type:"string"`
16077
16078 // When a list is truncated, this element specifies the value that should be
16079 // used for the upload-id-marker request parameter in a subsequent request.
16080 NextUploadIdMarker *string `type:"string"`
16081
16082 // When a prefix is provided in the request, this field contains the specified
16083 // prefix. The result contains only keys starting with the specified prefix.
16084 Prefix *string `type:"string"`
16085
16086 // Upload ID after which listing began.
16087 UploadIdMarker *string `type:"string"`
16088
16089 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`
16090}
16091
16092// String returns the string representation
16093func (s ListMultipartUploadsOutput) String() string {
16094 return awsutil.Prettify(s)
16095}
16096
16097// GoString returns the string representation
16098func (s ListMultipartUploadsOutput) GoString() string {
16099 return s.String()
16100}
16101
16102// SetBucket sets the Bucket field's value.
16103func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput {
16104 s.Bucket = &v
16105 return s
16106}
16107
15c0b25d
AP
16108func (s *ListMultipartUploadsOutput) getBucket() (v string) {
16109 if s.Bucket == nil {
16110 return v
16111 }
16112 return *s.Bucket
16113}
16114
bae9f6d2
JC
16115// SetCommonPrefixes sets the CommonPrefixes field's value.
16116func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
16117 s.CommonPrefixes = v
16118 return s
16119}
16120
16121// SetDelimiter sets the Delimiter field's value.
16122func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput {
16123 s.Delimiter = &v
16124 return s
16125}
16126
16127// SetEncodingType sets the EncodingType field's value.
16128func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput {
16129 s.EncodingType = &v
16130 return s
16131}
16132
16133// SetIsTruncated sets the IsTruncated field's value.
16134func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput {
16135 s.IsTruncated = &v
16136 return s
16137}
16138
16139// SetKeyMarker sets the KeyMarker field's value.
16140func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput {
16141 s.KeyMarker = &v
16142 return s
16143}
16144
16145// SetMaxUploads sets the MaxUploads field's value.
16146func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput {
16147 s.MaxUploads = &v
16148 return s
16149}
16150
16151// SetNextKeyMarker sets the NextKeyMarker field's value.
16152func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput {
16153 s.NextKeyMarker = &v
16154 return s
16155}
16156
16157// SetNextUploadIdMarker sets the NextUploadIdMarker field's value.
16158func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput {
16159 s.NextUploadIdMarker = &v
16160 return s
16161}
16162
16163// SetPrefix sets the Prefix field's value.
16164func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput {
16165 s.Prefix = &v
16166 return s
16167}
16168
16169// SetUploadIdMarker sets the UploadIdMarker field's value.
16170func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput {
16171 s.UploadIdMarker = &v
16172 return s
16173}
16174
16175// SetUploads sets the Uploads field's value.
16176func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput {
16177 s.Uploads = v
16178 return s
16179}
16180
bae9f6d2
JC
16181type ListObjectVersionsInput struct {
16182 _ struct{} `type:"structure"`
16183
16184 // Bucket is a required field
16185 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16186
16187 // A delimiter is a character you use to group keys.
16188 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16189
16190 // Requests Amazon S3 to encode the object keys in the response and specifies
16191 // the encoding method to use. An object key may contain any Unicode character;
16192 // however, XML 1.0 parser cannot parse some characters, such as characters
16193 // with an ASCII value from 0 to 10. For characters that are not supported in
16194 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16195 // keys in the response.
16196 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16197
16198 // Specifies the key to start with when listing objects in a bucket.
16199 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
16200
16201 // Sets the maximum number of keys returned in the response. The response might
16202 // contain fewer keys but will never contain more.
16203 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16204
16205 // Limits the response to keys that begin with the specified prefix.
16206 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16207
16208 // Specifies the object version you want to start listing from.
16209 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`
16210}
16211
16212// String returns the string representation
16213func (s ListObjectVersionsInput) String() string {
16214 return awsutil.Prettify(s)
16215}
16216
16217// GoString returns the string representation
16218func (s ListObjectVersionsInput) GoString() string {
16219 return s.String()
16220}
16221
16222// Validate inspects the fields of the type to determine if they are valid.
16223func (s *ListObjectVersionsInput) Validate() error {
16224 invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"}
16225 if s.Bucket == nil {
16226 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16227 }
107c1cdb
ND
16228 if s.Bucket != nil && len(*s.Bucket) < 1 {
16229 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16230 }
bae9f6d2
JC
16231
16232 if invalidParams.Len() > 0 {
16233 return invalidParams
16234 }
16235 return nil
16236}
16237
16238// SetBucket sets the Bucket field's value.
16239func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
16240 s.Bucket = &v
16241 return s
16242}
16243
15c0b25d
AP
16244func (s *ListObjectVersionsInput) getBucket() (v string) {
16245 if s.Bucket == nil {
16246 return v
16247 }
16248 return *s.Bucket
16249}
16250
bae9f6d2
JC
16251// SetDelimiter sets the Delimiter field's value.
16252func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
16253 s.Delimiter = &v
16254 return s
16255}
16256
16257// SetEncodingType sets the EncodingType field's value.
16258func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput {
16259 s.EncodingType = &v
16260 return s
16261}
16262
16263// SetKeyMarker sets the KeyMarker field's value.
16264func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput {
16265 s.KeyMarker = &v
16266 return s
16267}
16268
16269// SetMaxKeys sets the MaxKeys field's value.
16270func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput {
16271 s.MaxKeys = &v
16272 return s
16273}
16274
16275// SetPrefix sets the Prefix field's value.
16276func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput {
16277 s.Prefix = &v
16278 return s
16279}
16280
16281// SetVersionIdMarker sets the VersionIdMarker field's value.
16282func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput {
16283 s.VersionIdMarker = &v
16284 return s
16285}
16286
bae9f6d2
JC
16287type ListObjectVersionsOutput struct {
16288 _ struct{} `type:"structure"`
16289
16290 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16291
16292 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
16293
16294 Delimiter *string `type:"string"`
16295
16296 // Encoding type used by Amazon S3 to encode object keys in the response.
16297 EncodingType *string `type:"string" enum:"EncodingType"`
16298
16299 // A flag that indicates whether or not Amazon S3 returned all of the results
16300 // that satisfied the search criteria. If your results were truncated, you can
16301 // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
16302 // response parameters as a starting place in another request to return the
16303 // rest of the results.
16304 IsTruncated *bool `type:"boolean"`
16305
16306 // Marks the last Key returned in a truncated response.
16307 KeyMarker *string `type:"string"`
16308
16309 MaxKeys *int64 `type:"integer"`
16310
16311 Name *string `type:"string"`
16312
16313 // Use this value for the key marker request parameter in a subsequent request.
16314 NextKeyMarker *string `type:"string"`
16315
16316 // Use this value for the next version id marker parameter in a subsequent request.
16317 NextVersionIdMarker *string `type:"string"`
16318
16319 Prefix *string `type:"string"`
16320
16321 VersionIdMarker *string `type:"string"`
16322
16323 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`
16324}
16325
16326// String returns the string representation
16327func (s ListObjectVersionsOutput) String() string {
16328 return awsutil.Prettify(s)
16329}
16330
16331// GoString returns the string representation
16332func (s ListObjectVersionsOutput) GoString() string {
16333 return s.String()
16334}
16335
16336// SetCommonPrefixes sets the CommonPrefixes field's value.
16337func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput {
16338 s.CommonPrefixes = v
16339 return s
16340}
16341
16342// SetDeleteMarkers sets the DeleteMarkers field's value.
16343func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput {
16344 s.DeleteMarkers = v
16345 return s
16346}
16347
16348// SetDelimiter sets the Delimiter field's value.
16349func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput {
16350 s.Delimiter = &v
16351 return s
16352}
16353
16354// SetEncodingType sets the EncodingType field's value.
16355func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput {
16356 s.EncodingType = &v
16357 return s
16358}
16359
16360// SetIsTruncated sets the IsTruncated field's value.
16361func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput {
16362 s.IsTruncated = &v
16363 return s
16364}
16365
16366// SetKeyMarker sets the KeyMarker field's value.
16367func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput {
16368 s.KeyMarker = &v
16369 return s
16370}
16371
16372// SetMaxKeys sets the MaxKeys field's value.
16373func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput {
16374 s.MaxKeys = &v
16375 return s
16376}
16377
16378// SetName sets the Name field's value.
16379func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput {
16380 s.Name = &v
16381 return s
16382}
16383
16384// SetNextKeyMarker sets the NextKeyMarker field's value.
16385func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput {
16386 s.NextKeyMarker = &v
16387 return s
16388}
16389
16390// SetNextVersionIdMarker sets the NextVersionIdMarker field's value.
16391func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput {
16392 s.NextVersionIdMarker = &v
16393 return s
16394}
16395
16396// SetPrefix sets the Prefix field's value.
16397func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput {
16398 s.Prefix = &v
16399 return s
16400}
16401
16402// SetVersionIdMarker sets the VersionIdMarker field's value.
16403func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput {
16404 s.VersionIdMarker = &v
16405 return s
16406}
16407
16408// SetVersions sets the Versions field's value.
16409func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput {
16410 s.Versions = v
16411 return s
16412}
16413
bae9f6d2
JC
16414type ListObjectsInput struct {
16415 _ struct{} `type:"structure"`
16416
16417 // Bucket is a required field
16418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16419
16420 // A delimiter is a character you use to group keys.
16421 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16422
16423 // Requests Amazon S3 to encode the object keys in the response and specifies
16424 // the encoding method to use. An object key may contain any Unicode character;
16425 // however, XML 1.0 parser cannot parse some characters, such as characters
16426 // with an ASCII value from 0 to 10. For characters that are not supported in
16427 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16428 // keys in the response.
16429 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16430
16431 // Specifies the key to start with when listing objects in a bucket.
16432 Marker *string `location:"querystring" locationName:"marker" type:"string"`
16433
16434 // Sets the maximum number of keys returned in the response. The response might
16435 // contain fewer keys but will never contain more.
16436 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16437
16438 // Limits the response to keys that begin with the specified prefix.
16439 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16440
16441 // Confirms that the requester knows that she or he will be charged for the
16442 // list objects request. Bucket owners need not specify this parameter in their
16443 // requests.
16444 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16445}
16446
16447// String returns the string representation
16448func (s ListObjectsInput) String() string {
16449 return awsutil.Prettify(s)
16450}
16451
16452// GoString returns the string representation
16453func (s ListObjectsInput) GoString() string {
16454 return s.String()
16455}
16456
16457// Validate inspects the fields of the type to determine if they are valid.
16458func (s *ListObjectsInput) Validate() error {
16459 invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"}
16460 if s.Bucket == nil {
16461 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16462 }
107c1cdb
ND
16463 if s.Bucket != nil && len(*s.Bucket) < 1 {
16464 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16465 }
bae9f6d2
JC
16466
16467 if invalidParams.Len() > 0 {
16468 return invalidParams
16469 }
16470 return nil
16471}
16472
16473// SetBucket sets the Bucket field's value.
16474func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
16475 s.Bucket = &v
16476 return s
16477}
16478
15c0b25d
AP
16479func (s *ListObjectsInput) getBucket() (v string) {
16480 if s.Bucket == nil {
16481 return v
16482 }
16483 return *s.Bucket
16484}
16485
bae9f6d2
JC
16486// SetDelimiter sets the Delimiter field's value.
16487func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
16488 s.Delimiter = &v
16489 return s
16490}
16491
16492// SetEncodingType sets the EncodingType field's value.
16493func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput {
16494 s.EncodingType = &v
16495 return s
16496}
16497
16498// SetMarker sets the Marker field's value.
16499func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput {
16500 s.Marker = &v
16501 return s
16502}
16503
16504// SetMaxKeys sets the MaxKeys field's value.
16505func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput {
16506 s.MaxKeys = &v
16507 return s
16508}
16509
16510// SetPrefix sets the Prefix field's value.
16511func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput {
16512 s.Prefix = &v
16513 return s
16514}
16515
16516// SetRequestPayer sets the RequestPayer field's value.
16517func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
16518 s.RequestPayer = &v
16519 return s
16520}
16521
bae9f6d2
JC
16522type ListObjectsOutput struct {
16523 _ struct{} `type:"structure"`
16524
16525 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16526
16527 Contents []*Object `type:"list" flattened:"true"`
16528
16529 Delimiter *string `type:"string"`
16530
16531 // Encoding type used by Amazon S3 to encode object keys in the response.
16532 EncodingType *string `type:"string" enum:"EncodingType"`
16533
16534 // A flag that indicates whether or not Amazon S3 returned all of the results
16535 // that satisfied the search criteria.
16536 IsTruncated *bool `type:"boolean"`
16537
16538 Marker *string `type:"string"`
16539
16540 MaxKeys *int64 `type:"integer"`
16541
16542 Name *string `type:"string"`
16543
16544 // When response is truncated (the IsTruncated element value in the response
16545 // is true), you can use the key name in this field as marker in the subsequent
16546 // request to get next set of objects. Amazon S3 lists objects in alphabetical
16547 // order Note: This element is returned only if you have delimiter request parameter
16548 // specified. If response does not include the NextMaker and it is truncated,
16549 // you can use the value of the last Key in the response as the marker in the
16550 // subsequent request to get the next set of object keys.
16551 NextMarker *string `type:"string"`
16552
16553 Prefix *string `type:"string"`
16554}
16555
16556// String returns the string representation
16557func (s ListObjectsOutput) String() string {
16558 return awsutil.Prettify(s)
16559}
16560
16561// GoString returns the string representation
16562func (s ListObjectsOutput) GoString() string {
16563 return s.String()
16564}
16565
16566// SetCommonPrefixes sets the CommonPrefixes field's value.
16567func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput {
16568 s.CommonPrefixes = v
16569 return s
16570}
16571
16572// SetContents sets the Contents field's value.
16573func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput {
16574 s.Contents = v
16575 return s
16576}
16577
16578// SetDelimiter sets the Delimiter field's value.
16579func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput {
16580 s.Delimiter = &v
16581 return s
16582}
16583
16584// SetEncodingType sets the EncodingType field's value.
16585func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput {
16586 s.EncodingType = &v
16587 return s
16588}
16589
16590// SetIsTruncated sets the IsTruncated field's value.
16591func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput {
16592 s.IsTruncated = &v
16593 return s
16594}
16595
16596// SetMarker sets the Marker field's value.
16597func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput {
16598 s.Marker = &v
16599 return s
16600}
16601
16602// SetMaxKeys sets the MaxKeys field's value.
16603func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput {
16604 s.MaxKeys = &v
16605 return s
16606}
16607
16608// SetName sets the Name field's value.
16609func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput {
16610 s.Name = &v
16611 return s
16612}
16613
16614// SetNextMarker sets the NextMarker field's value.
16615func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput {
16616 s.NextMarker = &v
16617 return s
16618}
16619
16620// SetPrefix sets the Prefix field's value.
16621func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
16622 s.Prefix = &v
16623 return s
16624}
16625
bae9f6d2
JC
16626type ListObjectsV2Input struct {
16627 _ struct{} `type:"structure"`
16628
16629 // Name of the bucket to list.
16630 //
16631 // Bucket is a required field
16632 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16633
16634 // ContinuationToken indicates Amazon S3 that the list is being continued on
16635 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16636 // key
16637 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
16638
16639 // A delimiter is a character you use to group keys.
16640 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16641
16642 // Encoding type used by Amazon S3 to encode object keys in the response.
16643 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16644
16645 // The owner field is not present in listV2 by default, if you want to return
16646 // owner field with each key in the result then set the fetch owner field to
16647 // true
16648 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
16649
16650 // Sets the maximum number of keys returned in the response. The response might
16651 // contain fewer keys but will never contain more.
16652 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16653
16654 // Limits the response to keys that begin with the specified prefix.
16655 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16656
16657 // Confirms that the requester knows that she or he will be charged for the
16658 // list objects request in V2 style. Bucket owners need not specify this parameter
16659 // in their requests.
16660 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16661
16662 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16663 // listing after this specified key. StartAfter can be any key in the bucket
16664 StartAfter *string `location:"querystring" locationName:"start-after" type:"string"`
16665}
16666
16667// String returns the string representation
16668func (s ListObjectsV2Input) String() string {
16669 return awsutil.Prettify(s)
16670}
16671
16672// GoString returns the string representation
16673func (s ListObjectsV2Input) GoString() string {
16674 return s.String()
16675}
16676
16677// Validate inspects the fields of the type to determine if they are valid.
16678func (s *ListObjectsV2Input) Validate() error {
16679 invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"}
16680 if s.Bucket == nil {
16681 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16682 }
107c1cdb
ND
16683 if s.Bucket != nil && len(*s.Bucket) < 1 {
16684 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16685 }
bae9f6d2
JC
16686
16687 if invalidParams.Len() > 0 {
16688 return invalidParams
16689 }
16690 return nil
16691}
16692
16693// SetBucket sets the Bucket field's value.
16694func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
16695 s.Bucket = &v
16696 return s
16697}
16698
15c0b25d
AP
16699func (s *ListObjectsV2Input) getBucket() (v string) {
16700 if s.Bucket == nil {
16701 return v
16702 }
16703 return *s.Bucket
16704}
16705
bae9f6d2
JC
16706// SetContinuationToken sets the ContinuationToken field's value.
16707func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
16708 s.ContinuationToken = &v
16709 return s
16710}
16711
16712// SetDelimiter sets the Delimiter field's value.
16713func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input {
16714 s.Delimiter = &v
16715 return s
16716}
16717
16718// SetEncodingType sets the EncodingType field's value.
16719func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input {
16720 s.EncodingType = &v
16721 return s
16722}
16723
16724// SetFetchOwner sets the FetchOwner field's value.
16725func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input {
16726 s.FetchOwner = &v
16727 return s
16728}
16729
16730// SetMaxKeys sets the MaxKeys field's value.
16731func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input {
16732 s.MaxKeys = &v
16733 return s
16734}
16735
16736// SetPrefix sets the Prefix field's value.
16737func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input {
16738 s.Prefix = &v
16739 return s
16740}
16741
16742// SetRequestPayer sets the RequestPayer field's value.
16743func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input {
16744 s.RequestPayer = &v
16745 return s
16746}
16747
16748// SetStartAfter sets the StartAfter field's value.
16749func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
16750 s.StartAfter = &v
16751 return s
16752}
16753
bae9f6d2
JC
16754type ListObjectsV2Output struct {
16755 _ struct{} `type:"structure"`
16756
16757 // CommonPrefixes contains all (if there are any) keys between Prefix and the
16758 // next occurrence of the string specified by delimiter
16759 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16760
16761 // Metadata about each object returned.
16762 Contents []*Object `type:"list" flattened:"true"`
16763
16764 // ContinuationToken indicates Amazon S3 that the list is being continued on
16765 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16766 // key
16767 ContinuationToken *string `type:"string"`
16768
16769 // A delimiter is a character you use to group keys.
16770 Delimiter *string `type:"string"`
16771
16772 // Encoding type used by Amazon S3 to encode object keys in the response.
16773 EncodingType *string `type:"string" enum:"EncodingType"`
16774
16775 // A flag that indicates whether or not Amazon S3 returned all of the results
16776 // that satisfied the search criteria.
16777 IsTruncated *bool `type:"boolean"`
16778
16779 // KeyCount is the number of keys returned with this request. KeyCount will
16780 // always be less than equals to MaxKeys field. Say you ask for 50 keys, your
16781 // result will include less than equals 50 keys
16782 KeyCount *int64 `type:"integer"`
16783
16784 // Sets the maximum number of keys returned in the response. The response might
16785 // contain fewer keys but will never contain more.
16786 MaxKeys *int64 `type:"integer"`
16787
16788 // Name of the bucket to list.
16789 Name *string `type:"string"`
16790
16791 // NextContinuationToken is sent when isTruncated is true which means there
16792 // are more keys in the bucket that can be listed. The next list requests to
16793 // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken
16794 // is obfuscated and is not a real key
16795 NextContinuationToken *string `type:"string"`
16796
16797 // Limits the response to keys that begin with the specified prefix.
16798 Prefix *string `type:"string"`
16799
16800 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16801 // listing after this specified key. StartAfter can be any key in the bucket
16802 StartAfter *string `type:"string"`
16803}
16804
16805// String returns the string representation
16806func (s ListObjectsV2Output) String() string {
16807 return awsutil.Prettify(s)
16808}
16809
16810// GoString returns the string representation
16811func (s ListObjectsV2Output) GoString() string {
16812 return s.String()
16813}
16814
16815// SetCommonPrefixes sets the CommonPrefixes field's value.
16816func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output {
16817 s.CommonPrefixes = v
16818 return s
16819}
16820
16821// SetContents sets the Contents field's value.
16822func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output {
16823 s.Contents = v
16824 return s
16825}
16826
16827// SetContinuationToken sets the ContinuationToken field's value.
16828func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output {
16829 s.ContinuationToken = &v
16830 return s
16831}
16832
16833// SetDelimiter sets the Delimiter field's value.
16834func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output {
16835 s.Delimiter = &v
16836 return s
16837}
16838
16839// SetEncodingType sets the EncodingType field's value.
16840func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output {
16841 s.EncodingType = &v
16842 return s
16843}
16844
16845// SetIsTruncated sets the IsTruncated field's value.
16846func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output {
16847 s.IsTruncated = &v
16848 return s
16849}
16850
16851// SetKeyCount sets the KeyCount field's value.
16852func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output {
16853 s.KeyCount = &v
16854 return s
16855}
16856
16857// SetMaxKeys sets the MaxKeys field's value.
16858func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output {
16859 s.MaxKeys = &v
16860 return s
16861}
16862
16863// SetName sets the Name field's value.
16864func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output {
16865 s.Name = &v
16866 return s
16867}
16868
16869// SetNextContinuationToken sets the NextContinuationToken field's value.
16870func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output {
16871 s.NextContinuationToken = &v
16872 return s
16873}
16874
16875// SetPrefix sets the Prefix field's value.
16876func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output {
16877 s.Prefix = &v
16878 return s
16879}
16880
16881// SetStartAfter sets the StartAfter field's value.
16882func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
16883 s.StartAfter = &v
16884 return s
16885}
16886
bae9f6d2
JC
16887type ListPartsInput struct {
16888 _ struct{} `type:"structure"`
16889
16890 // Bucket is a required field
16891 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16892
16893 // Key is a required field
16894 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
16895
16896 // Sets the maximum number of parts to return.
16897 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`
16898
16899 // Specifies the part after which listing should begin. Only parts with higher
16900 // part numbers will be listed.
16901 PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"`
16902
16903 // Confirms that the requester knows that she or he will be charged for the
16904 // request. Bucket owners need not specify this parameter in their requests.
16905 // Documentation on downloading objects from requester pays buckets can be found
16906 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
16907 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16908
16909 // Upload ID identifying the multipart upload whose parts are being listed.
16910 //
16911 // UploadId is a required field
16912 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
16913}
16914
16915// String returns the string representation
16916func (s ListPartsInput) String() string {
16917 return awsutil.Prettify(s)
16918}
16919
16920// GoString returns the string representation
16921func (s ListPartsInput) GoString() string {
16922 return s.String()
16923}
16924
16925// Validate inspects the fields of the type to determine if they are valid.
16926func (s *ListPartsInput) Validate() error {
16927 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"}
16928 if s.Bucket == nil {
16929 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16930 }
107c1cdb
ND
16931 if s.Bucket != nil && len(*s.Bucket) < 1 {
16932 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16933 }
bae9f6d2
JC
16934 if s.Key == nil {
16935 invalidParams.Add(request.NewErrParamRequired("Key"))
16936 }
16937 if s.Key != nil && len(*s.Key) < 1 {
16938 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16939 }
16940 if s.UploadId == nil {
16941 invalidParams.Add(request.NewErrParamRequired("UploadId"))
16942 }
16943
16944 if invalidParams.Len() > 0 {
16945 return invalidParams
16946 }
16947 return nil
16948}
16949
16950// SetBucket sets the Bucket field's value.
16951func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
16952 s.Bucket = &v
16953 return s
16954}
16955
15c0b25d
AP
16956func (s *ListPartsInput) getBucket() (v string) {
16957 if s.Bucket == nil {
16958 return v
16959 }
16960 return *s.Bucket
16961}
16962
bae9f6d2
JC
16963// SetKey sets the Key field's value.
16964func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
16965 s.Key = &v
16966 return s
16967}
16968
16969// SetMaxParts sets the MaxParts field's value.
16970func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput {
16971 s.MaxParts = &v
16972 return s
16973}
16974
16975// SetPartNumberMarker sets the PartNumberMarker field's value.
16976func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput {
16977 s.PartNumberMarker = &v
16978 return s
16979}
16980
16981// SetRequestPayer sets the RequestPayer field's value.
16982func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
16983 s.RequestPayer = &v
16984 return s
16985}
16986
16987// SetUploadId sets the UploadId field's value.
16988func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
16989 s.UploadId = &v
16990 return s
16991}
16992
bae9f6d2
JC
16993type ListPartsOutput struct {
16994 _ struct{} `type:"structure"`
16995
16996 // Date when multipart upload will become eligible for abort operation by lifecycle.
15c0b25d 16997 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
bae9f6d2
JC
16998
16999 // Id of the lifecycle rule that makes a multipart upload eligible for abort
17000 // operation.
17001 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
17002
17003 // Name of the bucket to which the multipart upload was initiated.
17004 Bucket *string `type:"string"`
17005
17006 // Identifies who initiated the multipart upload.
17007 Initiator *Initiator `type:"structure"`
17008
17009 // Indicates whether the returned list of parts is truncated.
17010 IsTruncated *bool `type:"boolean"`
17011
17012 // Object key for which the multipart upload was initiated.
17013 Key *string `min:"1" type:"string"`
17014
17015 // Maximum number of parts that were allowed in the response.
17016 MaxParts *int64 `type:"integer"`
17017
17018 // When a list is truncated, this element specifies the last part in the list,
17019 // as well as the value to use for the part-number-marker request parameter
17020 // in a subsequent request.
17021 NextPartNumberMarker *int64 `type:"integer"`
17022
17023 Owner *Owner `type:"structure"`
17024
17025 // Part number after which listing begins.
17026 PartNumberMarker *int64 `type:"integer"`
17027
17028 Parts []*Part `locationName:"Part" type:"list" flattened:"true"`
17029
17030 // If present, indicates that the requester was successfully charged for the
17031 // request.
17032 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
17033
17034 // The class of storage used to store the object.
17035 StorageClass *string `type:"string" enum:"StorageClass"`
17036
17037 // Upload ID identifying the multipart upload whose parts are being listed.
17038 UploadId *string `type:"string"`
17039}
17040
17041// String returns the string representation
17042func (s ListPartsOutput) String() string {
17043 return awsutil.Prettify(s)
17044}
17045
17046// GoString returns the string representation
17047func (s ListPartsOutput) GoString() string {
17048 return s.String()
17049}
17050
17051// SetAbortDate sets the AbortDate field's value.
17052func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput {
17053 s.AbortDate = &v
17054 return s
17055}
17056
17057// SetAbortRuleId sets the AbortRuleId field's value.
17058func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput {
17059 s.AbortRuleId = &v
17060 return s
17061}
17062
17063// SetBucket sets the Bucket field's value.
17064func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
17065 s.Bucket = &v
17066 return s
17067}
17068
15c0b25d
AP
17069func (s *ListPartsOutput) getBucket() (v string) {
17070 if s.Bucket == nil {
17071 return v
17072 }
17073 return *s.Bucket
17074}
17075
bae9f6d2
JC
17076// SetInitiator sets the Initiator field's value.
17077func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
17078 s.Initiator = v
17079 return s
17080}
17081
17082// SetIsTruncated sets the IsTruncated field's value.
17083func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput {
17084 s.IsTruncated = &v
17085 return s
17086}
17087
17088// SetKey sets the Key field's value.
17089func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput {
17090 s.Key = &v
17091 return s
17092}
17093
17094// SetMaxParts sets the MaxParts field's value.
17095func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput {
17096 s.MaxParts = &v
17097 return s
17098}
17099
17100// SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
17101func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput {
17102 s.NextPartNumberMarker = &v
17103 return s
17104}
17105
17106// SetOwner sets the Owner field's value.
17107func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput {
17108 s.Owner = v
17109 return s
17110}
17111
17112// SetPartNumberMarker sets the PartNumberMarker field's value.
17113func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput {
17114 s.PartNumberMarker = &v
17115 return s
17116}
17117
17118// SetParts sets the Parts field's value.
17119func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput {
17120 s.Parts = v
17121 return s
17122}
17123
17124// SetRequestCharged sets the RequestCharged field's value.
17125func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput {
17126 s.RequestCharged = &v
17127 return s
17128}
17129
17130// SetStorageClass sets the StorageClass field's value.
17131func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput {
17132 s.StorageClass = &v
17133 return s
17134}
17135
17136// SetUploadId sets the UploadId field's value.
17137func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
17138 s.UploadId = &v
17139 return s
17140}
17141
15c0b25d
AP
17142// Describes an S3 location that will receive the results of the restore request.
17143type Location struct {
bae9f6d2
JC
17144 _ struct{} `type:"structure"`
17145
15c0b25d
AP
17146 // A list of grants that control access to the staged results.
17147 AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
bae9f6d2 17148
15c0b25d
AP
17149 // The name of the bucket where the restore results will be placed.
17150 //
17151 // BucketName is a required field
17152 BucketName *string `type:"string" required:"true"`
bae9f6d2 17153
15c0b25d
AP
17154 // The canned ACL to apply to the restore results.
17155 CannedACL *string `type:"string" enum:"ObjectCannedACL"`
17156
17157 // Describes the server-side encryption that will be applied to the restore
17158 // results.
17159 Encryption *Encryption `type:"structure"`
17160
17161 // The prefix that is prepended to the restore results for this request.
17162 //
17163 // Prefix is a required field
17164 Prefix *string `type:"string" required:"true"`
17165
17166 // The class of storage used to store the restore results.
17167 StorageClass *string `type:"string" enum:"StorageClass"`
17168
17169 // The tag-set that is applied to the restore results.
17170 Tagging *Tagging `type:"structure"`
17171
17172 // A list of metadata to store with the restore results in S3.
17173 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
bae9f6d2
JC
17174}
17175
17176// String returns the string representation
15c0b25d 17177func (s Location) String() string {
bae9f6d2
JC
17178 return awsutil.Prettify(s)
17179}
17180
17181// GoString returns the string representation
15c0b25d 17182func (s Location) GoString() string {
bae9f6d2
JC
17183 return s.String()
17184}
17185
17186// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
17187func (s *Location) Validate() error {
17188 invalidParams := request.ErrInvalidParams{Context: "Location"}
17189 if s.BucketName == nil {
17190 invalidParams.Add(request.NewErrParamRequired("BucketName"))
17191 }
17192 if s.Prefix == nil {
17193 invalidParams.Add(request.NewErrParamRequired("Prefix"))
17194 }
17195 if s.AccessControlList != nil {
17196 for i, v := range s.AccessControlList {
bae9f6d2
JC
17197 if v == nil {
17198 continue
17199 }
17200 if err := v.Validate(); err != nil {
15c0b25d 17201 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
bae9f6d2
JC
17202 }
17203 }
17204 }
15c0b25d
AP
17205 if s.Encryption != nil {
17206 if err := s.Encryption.Validate(); err != nil {
17207 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
17208 }
17209 }
17210 if s.Tagging != nil {
17211 if err := s.Tagging.Validate(); err != nil {
17212 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
17213 }
17214 }
bae9f6d2
JC
17215
17216 if invalidParams.Len() > 0 {
17217 return invalidParams
17218 }
17219 return nil
17220}
17221
15c0b25d
AP
17222// SetAccessControlList sets the AccessControlList field's value.
17223func (s *Location) SetAccessControlList(v []*Grant) *Location {
17224 s.AccessControlList = v
bae9f6d2
JC
17225 return s
17226}
17227
15c0b25d
AP
17228// SetBucketName sets the BucketName field's value.
17229func (s *Location) SetBucketName(v string) *Location {
17230 s.BucketName = &v
bae9f6d2
JC
17231 return s
17232}
17233
15c0b25d
AP
17234// SetCannedACL sets the CannedACL field's value.
17235func (s *Location) SetCannedACL(v string) *Location {
17236 s.CannedACL = &v
bae9f6d2
JC
17237 return s
17238}
17239
15c0b25d
AP
17240// SetEncryption sets the Encryption field's value.
17241func (s *Location) SetEncryption(v *Encryption) *Location {
17242 s.Encryption = v
17243 return s
17244}
17245
17246// SetPrefix sets the Prefix field's value.
17247func (s *Location) SetPrefix(v string) *Location {
17248 s.Prefix = &v
17249 return s
17250}
17251
17252// SetStorageClass sets the StorageClass field's value.
17253func (s *Location) SetStorageClass(v string) *Location {
17254 s.StorageClass = &v
17255 return s
17256}
17257
17258// SetTagging sets the Tagging field's value.
17259func (s *Location) SetTagging(v *Tagging) *Location {
17260 s.Tagging = v
17261 return s
17262}
17263
17264// SetUserMetadata sets the UserMetadata field's value.
17265func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
17266 s.UserMetadata = v
17267 return s
17268}
17269
17270// Container for logging information. Presence of this element indicates that
17271// logging is enabled. Parameters TargetBucket and TargetPrefix are required
17272// in this case.
17273type LoggingEnabled struct {
17274 _ struct{} `type:"structure"`
17275
17276 // Specifies the bucket where you want Amazon S3 to store server access logs.
17277 // You can have your logs delivered to any bucket that you own, including the
17278 // same bucket that is being logged. You can also configure multiple buckets
17279 // to deliver their logs to the same target bucket. In this case you should
17280 // choose a different TargetPrefix for each source bucket so that the delivered
17281 // log files can be distinguished by key.
17282 //
17283 // TargetBucket is a required field
17284 TargetBucket *string `type:"string" required:"true"`
17285
17286 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
17287
17288 // This element lets you specify a prefix for the keys that the log files will
17289 // be stored under.
17290 //
17291 // TargetPrefix is a required field
17292 TargetPrefix *string `type:"string" required:"true"`
17293}
17294
17295// String returns the string representation
17296func (s LoggingEnabled) String() string {
17297 return awsutil.Prettify(s)
17298}
17299
17300// GoString returns the string representation
17301func (s LoggingEnabled) GoString() string {
17302 return s.String()
17303}
17304
17305// Validate inspects the fields of the type to determine if they are valid.
17306func (s *LoggingEnabled) Validate() error {
17307 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"}
17308 if s.TargetBucket == nil {
17309 invalidParams.Add(request.NewErrParamRequired("TargetBucket"))
17310 }
17311 if s.TargetPrefix == nil {
17312 invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
17313 }
17314 if s.TargetGrants != nil {
17315 for i, v := range s.TargetGrants {
17316 if v == nil {
17317 continue
17318 }
17319 if err := v.Validate(); err != nil {
17320 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams))
17321 }
17322 }
17323 }
17324
17325 if invalidParams.Len() > 0 {
17326 return invalidParams
17327 }
17328 return nil
17329}
17330
17331// SetTargetBucket sets the TargetBucket field's value.
17332func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled {
17333 s.TargetBucket = &v
17334 return s
17335}
17336
17337// SetTargetGrants sets the TargetGrants field's value.
17338func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled {
17339 s.TargetGrants = v
17340 return s
17341}
17342
17343// SetTargetPrefix sets the TargetPrefix field's value.
17344func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
17345 s.TargetPrefix = &v
17346 return s
17347}
17348
17349// A metadata key-value pair to store with an object.
17350type MetadataEntry struct {
17351 _ struct{} `type:"structure"`
17352
17353 Name *string `type:"string"`
17354
17355 Value *string `type:"string"`
17356}
17357
17358// String returns the string representation
17359func (s MetadataEntry) String() string {
17360 return awsutil.Prettify(s)
17361}
17362
17363// GoString returns the string representation
17364func (s MetadataEntry) GoString() string {
17365 return s.String()
17366}
17367
17368// SetName sets the Name field's value.
17369func (s *MetadataEntry) SetName(v string) *MetadataEntry {
17370 s.Name = &v
17371 return s
17372}
17373
17374// SetValue sets the Value field's value.
17375func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
17376 s.Value = &v
17377 return s
17378}
17379
17380type MetricsAndOperator struct {
17381 _ struct{} `type:"structure"`
17382
bae9f6d2
JC
17383 // The prefix used when evaluating an AND predicate.
17384 Prefix *string `type:"string"`
17385
17386 // The list of tags used when evaluating an AND predicate.
17387 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
17388}
17389
17390// String returns the string representation
17391func (s MetricsAndOperator) String() string {
17392 return awsutil.Prettify(s)
17393}
17394
17395// GoString returns the string representation
17396func (s MetricsAndOperator) GoString() string {
17397 return s.String()
17398}
17399
17400// Validate inspects the fields of the type to determine if they are valid.
17401func (s *MetricsAndOperator) Validate() error {
17402 invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"}
17403 if s.Tags != nil {
17404 for i, v := range s.Tags {
17405 if v == nil {
17406 continue
17407 }
17408 if err := v.Validate(); err != nil {
17409 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17410 }
17411 }
17412 }
17413
17414 if invalidParams.Len() > 0 {
17415 return invalidParams
17416 }
17417 return nil
17418}
17419
17420// SetPrefix sets the Prefix field's value.
17421func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator {
17422 s.Prefix = &v
17423 return s
17424}
17425
17426// SetTags sets the Tags field's value.
17427func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
17428 s.Tags = v
17429 return s
17430}
17431
bae9f6d2
JC
17432type MetricsConfiguration struct {
17433 _ struct{} `type:"structure"`
17434
17435 // Specifies a metrics configuration filter. The metrics configuration will
17436 // only include objects that meet the filter's criteria. A filter must be a
17437 // prefix, a tag, or a conjunction (MetricsAndOperator).
17438 Filter *MetricsFilter `type:"structure"`
17439
17440 // The ID used to identify the metrics configuration.
17441 //
17442 // Id is a required field
17443 Id *string `type:"string" required:"true"`
17444}
17445
17446// String returns the string representation
17447func (s MetricsConfiguration) String() string {
17448 return awsutil.Prettify(s)
17449}
17450
17451// GoString returns the string representation
17452func (s MetricsConfiguration) GoString() string {
17453 return s.String()
17454}
17455
17456// Validate inspects the fields of the type to determine if they are valid.
17457func (s *MetricsConfiguration) Validate() error {
17458 invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"}
17459 if s.Id == nil {
17460 invalidParams.Add(request.NewErrParamRequired("Id"))
17461 }
17462 if s.Filter != nil {
17463 if err := s.Filter.Validate(); err != nil {
17464 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
17465 }
17466 }
17467
17468 if invalidParams.Len() > 0 {
17469 return invalidParams
17470 }
17471 return nil
17472}
17473
17474// SetFilter sets the Filter field's value.
17475func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration {
17476 s.Filter = v
17477 return s
17478}
17479
17480// SetId sets the Id field's value.
17481func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
17482 s.Id = &v
17483 return s
17484}
17485
bae9f6d2
JC
17486type MetricsFilter struct {
17487 _ struct{} `type:"structure"`
17488
17489 // A conjunction (logical AND) of predicates, which is used in evaluating a
17490 // metrics filter. The operator must have at least two predicates, and an object
17491 // must match all of the predicates in order for the filter to apply.
17492 And *MetricsAndOperator `type:"structure"`
17493
17494 // The prefix used when evaluating a metrics filter.
17495 Prefix *string `type:"string"`
17496
17497 // The tag used when evaluating a metrics filter.
17498 Tag *Tag `type:"structure"`
17499}
17500
17501// String returns the string representation
17502func (s MetricsFilter) String() string {
17503 return awsutil.Prettify(s)
17504}
17505
17506// GoString returns the string representation
17507func (s MetricsFilter) GoString() string {
17508 return s.String()
17509}
17510
17511// Validate inspects the fields of the type to determine if they are valid.
17512func (s *MetricsFilter) Validate() error {
17513 invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"}
17514 if s.And != nil {
17515 if err := s.And.Validate(); err != nil {
17516 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
17517 }
17518 }
17519 if s.Tag != nil {
17520 if err := s.Tag.Validate(); err != nil {
17521 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
17522 }
17523 }
17524
17525 if invalidParams.Len() > 0 {
17526 return invalidParams
17527 }
17528 return nil
17529}
17530
17531// SetAnd sets the And field's value.
17532func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter {
17533 s.And = v
17534 return s
17535}
17536
17537// SetPrefix sets the Prefix field's value.
17538func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter {
17539 s.Prefix = &v
17540 return s
17541}
17542
17543// SetTag sets the Tag field's value.
17544func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
17545 s.Tag = v
17546 return s
17547}
17548
bae9f6d2
JC
17549type MultipartUpload struct {
17550 _ struct{} `type:"structure"`
17551
17552 // Date and time at which the multipart upload was initiated.
15c0b25d 17553 Initiated *time.Time `type:"timestamp"`
bae9f6d2
JC
17554
17555 // Identifies who initiated the multipart upload.
17556 Initiator *Initiator `type:"structure"`
17557
17558 // Key of the object for which the multipart upload was initiated.
17559 Key *string `min:"1" type:"string"`
17560
17561 Owner *Owner `type:"structure"`
17562
17563 // The class of storage used to store the object.
17564 StorageClass *string `type:"string" enum:"StorageClass"`
17565
17566 // Upload ID that identifies the multipart upload.
17567 UploadId *string `type:"string"`
17568}
17569
17570// String returns the string representation
17571func (s MultipartUpload) String() string {
17572 return awsutil.Prettify(s)
17573}
17574
17575// GoString returns the string representation
17576func (s MultipartUpload) GoString() string {
17577 return s.String()
17578}
17579
17580// SetInitiated sets the Initiated field's value.
17581func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
17582 s.Initiated = &v
17583 return s
17584}
17585
17586// SetInitiator sets the Initiator field's value.
17587func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload {
17588 s.Initiator = v
17589 return s
17590}
17591
17592// SetKey sets the Key field's value.
17593func (s *MultipartUpload) SetKey(v string) *MultipartUpload {
17594 s.Key = &v
17595 return s
17596}
17597
17598// SetOwner sets the Owner field's value.
17599func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload {
17600 s.Owner = v
17601 return s
17602}
17603
17604// SetStorageClass sets the StorageClass field's value.
17605func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload {
17606 s.StorageClass = &v
17607 return s
17608}
17609
17610// SetUploadId sets the UploadId field's value.
17611func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
17612 s.UploadId = &v
17613 return s
17614}
17615
17616// Specifies when noncurrent object versions expire. Upon expiration, Amazon
17617// S3 permanently deletes the noncurrent object versions. You set this lifecycle
17618// configuration action on a bucket that has versioning enabled (or suspended)
17619// to request that Amazon S3 delete noncurrent object versions at a specific
17620// period in the object's lifetime.
bae9f6d2
JC
17621type NoncurrentVersionExpiration struct {
17622 _ struct{} `type:"structure"`
17623
17624 // Specifies the number of days an object is noncurrent before Amazon S3 can
17625 // perform the associated action. For information about the noncurrent days
17626 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
107c1cdb
ND
17627 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
17628 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
17629 NoncurrentDays *int64 `type:"integer"`
17630}
17631
17632// String returns the string representation
17633func (s NoncurrentVersionExpiration) String() string {
17634 return awsutil.Prettify(s)
17635}
17636
17637// GoString returns the string representation
17638func (s NoncurrentVersionExpiration) GoString() string {
17639 return s.String()
17640}
17641
17642// SetNoncurrentDays sets the NoncurrentDays field's value.
17643func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
17644 s.NoncurrentDays = &v
17645 return s
17646}
17647
17648// Container for the transition rule that describes when noncurrent objects
107c1cdb
ND
17649// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or
17650// DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
17651// is suspended), you can set this action to request that Amazon S3 transition
17652// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
17653// GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's
17654// lifetime.
bae9f6d2
JC
17655type NoncurrentVersionTransition struct {
17656 _ struct{} `type:"structure"`
17657
17658 // Specifies the number of days an object is noncurrent before Amazon S3 can
17659 // perform the associated action. For information about the noncurrent days
17660 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
107c1cdb
ND
17661 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
17662 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
17663 NoncurrentDays *int64 `type:"integer"`
17664
17665 // The class of storage used to store the object.
17666 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
17667}
17668
17669// String returns the string representation
17670func (s NoncurrentVersionTransition) String() string {
17671 return awsutil.Prettify(s)
17672}
17673
17674// GoString returns the string representation
17675func (s NoncurrentVersionTransition) GoString() string {
17676 return s.String()
17677}
17678
17679// SetNoncurrentDays sets the NoncurrentDays field's value.
17680func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
17681 s.NoncurrentDays = &v
17682 return s
17683}
17684
17685// SetStorageClass sets the StorageClass field's value.
17686func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition {
17687 s.StorageClass = &v
17688 return s
17689}
17690
107c1cdb
ND
17691// A container for specifying the notification configuration of the bucket.
17692// If this element is empty, notifications are turned off for the bucket.
bae9f6d2
JC
17693type NotificationConfiguration struct {
17694 _ struct{} `type:"structure"`
17695
17696 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
17697
17698 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`
17699
17700 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
17701}
17702
17703// String returns the string representation
17704func (s NotificationConfiguration) String() string {
17705 return awsutil.Prettify(s)
17706}
17707
17708// GoString returns the string representation
17709func (s NotificationConfiguration) GoString() string {
17710 return s.String()
17711}
17712
17713// Validate inspects the fields of the type to determine if they are valid.
17714func (s *NotificationConfiguration) Validate() error {
17715 invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"}
17716 if s.LambdaFunctionConfigurations != nil {
17717 for i, v := range s.LambdaFunctionConfigurations {
17718 if v == nil {
17719 continue
17720 }
17721 if err := v.Validate(); err != nil {
17722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams))
17723 }
17724 }
17725 }
17726 if s.QueueConfigurations != nil {
17727 for i, v := range s.QueueConfigurations {
17728 if v == nil {
17729 continue
17730 }
17731 if err := v.Validate(); err != nil {
17732 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams))
17733 }
17734 }
17735 }
17736 if s.TopicConfigurations != nil {
17737 for i, v := range s.TopicConfigurations {
17738 if v == nil {
17739 continue
17740 }
17741 if err := v.Validate(); err != nil {
17742 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams))
17743 }
17744 }
17745 }
17746
17747 if invalidParams.Len() > 0 {
17748 return invalidParams
17749 }
17750 return nil
17751}
17752
17753// SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
17754func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
17755 s.LambdaFunctionConfigurations = v
17756 return s
17757}
17758
17759// SetQueueConfigurations sets the QueueConfigurations field's value.
17760func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration {
17761 s.QueueConfigurations = v
17762 return s
17763}
17764
17765// SetTopicConfigurations sets the TopicConfigurations field's value.
17766func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration {
17767 s.TopicConfigurations = v
17768 return s
17769}
17770
bae9f6d2
JC
17771type NotificationConfigurationDeprecated struct {
17772 _ struct{} `type:"structure"`
17773
17774 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`
17775
17776 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
17777
17778 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
17779}
17780
17781// String returns the string representation
17782func (s NotificationConfigurationDeprecated) String() string {
17783 return awsutil.Prettify(s)
17784}
17785
17786// GoString returns the string representation
17787func (s NotificationConfigurationDeprecated) GoString() string {
17788 return s.String()
17789}
17790
17791// SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value.
17792func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated {
17793 s.CloudFunctionConfiguration = v
17794 return s
17795}
17796
17797// SetQueueConfiguration sets the QueueConfiguration field's value.
17798func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated {
17799 s.QueueConfiguration = v
17800 return s
17801}
17802
17803// SetTopicConfiguration sets the TopicConfiguration field's value.
17804func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated {
17805 s.TopicConfiguration = v
17806 return s
17807}
17808
107c1cdb
ND
17809// A container for object key name filtering rules. For information about key
17810// name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 17811// in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
17812type NotificationConfigurationFilter struct {
17813 _ struct{} `type:"structure"`
17814
107c1cdb 17815 // A container for object key name prefix and suffix filtering rules.
bae9f6d2
JC
17816 Key *KeyFilter `locationName:"S3Key" type:"structure"`
17817}
17818
17819// String returns the string representation
17820func (s NotificationConfigurationFilter) String() string {
17821 return awsutil.Prettify(s)
17822}
17823
17824// GoString returns the string representation
17825func (s NotificationConfigurationFilter) GoString() string {
17826 return s.String()
17827}
17828
17829// SetKey sets the Key field's value.
17830func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter {
17831 s.Key = v
17832 return s
17833}
17834
bae9f6d2
JC
17835type Object struct {
17836 _ struct{} `type:"structure"`
17837
17838 ETag *string `type:"string"`
17839
17840 Key *string `min:"1" type:"string"`
17841
15c0b25d 17842 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
17843
17844 Owner *Owner `type:"structure"`
17845
17846 Size *int64 `type:"integer"`
17847
17848 // The class of storage used to store the object.
17849 StorageClass *string `type:"string" enum:"ObjectStorageClass"`
17850}
17851
17852// String returns the string representation
17853func (s Object) String() string {
17854 return awsutil.Prettify(s)
17855}
17856
17857// GoString returns the string representation
17858func (s Object) GoString() string {
17859 return s.String()
17860}
17861
17862// SetETag sets the ETag field's value.
17863func (s *Object) SetETag(v string) *Object {
17864 s.ETag = &v
17865 return s
17866}
17867
17868// SetKey sets the Key field's value.
17869func (s *Object) SetKey(v string) *Object {
17870 s.Key = &v
17871 return s
17872}
17873
17874// SetLastModified sets the LastModified field's value.
17875func (s *Object) SetLastModified(v time.Time) *Object {
17876 s.LastModified = &v
17877 return s
17878}
17879
17880// SetOwner sets the Owner field's value.
17881func (s *Object) SetOwner(v *Owner) *Object {
17882 s.Owner = v
17883 return s
17884}
17885
17886// SetSize sets the Size field's value.
17887func (s *Object) SetSize(v int64) *Object {
17888 s.Size = &v
17889 return s
17890}
17891
17892// SetStorageClass sets the StorageClass field's value.
17893func (s *Object) SetStorageClass(v string) *Object {
17894 s.StorageClass = &v
17895 return s
17896}
17897
bae9f6d2
JC
17898type ObjectIdentifier struct {
17899 _ struct{} `type:"structure"`
17900
17901 // Key name of the object to delete.
17902 //
17903 // Key is a required field
17904 Key *string `min:"1" type:"string" required:"true"`
17905
17906 // VersionId for the specific version of the object to delete.
17907 VersionId *string `type:"string"`
17908}
17909
17910// String returns the string representation
17911func (s ObjectIdentifier) String() string {
17912 return awsutil.Prettify(s)
17913}
17914
17915// GoString returns the string representation
17916func (s ObjectIdentifier) GoString() string {
17917 return s.String()
17918}
17919
17920// Validate inspects the fields of the type to determine if they are valid.
17921func (s *ObjectIdentifier) Validate() error {
17922 invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"}
17923 if s.Key == nil {
17924 invalidParams.Add(request.NewErrParamRequired("Key"))
17925 }
17926 if s.Key != nil && len(*s.Key) < 1 {
17927 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17928 }
17929
17930 if invalidParams.Len() > 0 {
17931 return invalidParams
17932 }
17933 return nil
17934}
17935
17936// SetKey sets the Key field's value.
17937func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier {
17938 s.Key = &v
17939 return s
17940}
17941
17942// SetVersionId sets the VersionId field's value.
17943func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
17944 s.VersionId = &v
17945 return s
17946}
17947
107c1cdb
ND
17948// The container element for Object Lock configuration parameters.
17949type ObjectLockConfiguration struct {
17950 _ struct{} `type:"structure"`
17951
17952 // Indicates whether this bucket has an Object Lock configuration enabled.
17953 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"`
17954
17955 // The Object Lock rule in place for the specified object.
17956 Rule *ObjectLockRule `type:"structure"`
17957}
17958
17959// String returns the string representation
17960func (s ObjectLockConfiguration) String() string {
17961 return awsutil.Prettify(s)
17962}
17963
17964// GoString returns the string representation
17965func (s ObjectLockConfiguration) GoString() string {
17966 return s.String()
17967}
17968
17969// SetObjectLockEnabled sets the ObjectLockEnabled field's value.
17970func (s *ObjectLockConfiguration) SetObjectLockEnabled(v string) *ObjectLockConfiguration {
17971 s.ObjectLockEnabled = &v
17972 return s
17973}
17974
17975// SetRule sets the Rule field's value.
17976func (s *ObjectLockConfiguration) SetRule(v *ObjectLockRule) *ObjectLockConfiguration {
17977 s.Rule = v
17978 return s
17979}
17980
17981// A Legal Hold configuration for an object.
17982type ObjectLockLegalHold struct {
17983 _ struct{} `type:"structure"`
17984
17985 // Indicates whether the specified object has a Legal Hold in place.
17986 Status *string `type:"string" enum:"ObjectLockLegalHoldStatus"`
17987}
17988
17989// String returns the string representation
17990func (s ObjectLockLegalHold) String() string {
17991 return awsutil.Prettify(s)
17992}
17993
17994// GoString returns the string representation
17995func (s ObjectLockLegalHold) GoString() string {
17996 return s.String()
17997}
17998
17999// SetStatus sets the Status field's value.
18000func (s *ObjectLockLegalHold) SetStatus(v string) *ObjectLockLegalHold {
18001 s.Status = &v
18002 return s
18003}
18004
18005// A Retention configuration for an object.
18006type ObjectLockRetention struct {
18007 _ struct{} `type:"structure"`
18008
18009 // Indicates the Retention mode for the specified object.
18010 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
18011
18012 // The date on which this Object Lock Retention will expire.
18013 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
18014}
18015
18016// String returns the string representation
18017func (s ObjectLockRetention) String() string {
18018 return awsutil.Prettify(s)
18019}
18020
18021// GoString returns the string representation
18022func (s ObjectLockRetention) GoString() string {
18023 return s.String()
18024}
18025
18026// SetMode sets the Mode field's value.
18027func (s *ObjectLockRetention) SetMode(v string) *ObjectLockRetention {
18028 s.Mode = &v
18029 return s
18030}
18031
18032// SetRetainUntilDate sets the RetainUntilDate field's value.
18033func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetention {
18034 s.RetainUntilDate = &v
18035 return s
18036}
18037
18038// The container element for an Object Lock rule.
18039type ObjectLockRule struct {
18040 _ struct{} `type:"structure"`
18041
18042 // The default retention period that you want to apply to new objects placed
18043 // in the specified bucket.
18044 DefaultRetention *DefaultRetention `type:"structure"`
18045}
18046
18047// String returns the string representation
18048func (s ObjectLockRule) String() string {
18049 return awsutil.Prettify(s)
18050}
18051
18052// GoString returns the string representation
18053func (s ObjectLockRule) GoString() string {
18054 return s.String()
18055}
18056
18057// SetDefaultRetention sets the DefaultRetention field's value.
18058func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRule {
18059 s.DefaultRetention = v
18060 return s
18061}
18062
bae9f6d2
JC
18063type ObjectVersion struct {
18064 _ struct{} `type:"structure"`
18065
18066 ETag *string `type:"string"`
18067
18068 // Specifies whether the object is (true) or is not (false) the latest version
18069 // of an object.
18070 IsLatest *bool `type:"boolean"`
18071
18072 // The object key.
18073 Key *string `min:"1" type:"string"`
18074
18075 // Date and time the object was last modified.
15c0b25d 18076 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
18077
18078 Owner *Owner `type:"structure"`
18079
18080 // Size in bytes of the object.
18081 Size *int64 `type:"integer"`
18082
18083 // The class of storage used to store the object.
18084 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"`
18085
18086 // Version ID of an object.
18087 VersionId *string `type:"string"`
18088}
18089
18090// String returns the string representation
18091func (s ObjectVersion) String() string {
18092 return awsutil.Prettify(s)
18093}
18094
18095// GoString returns the string representation
18096func (s ObjectVersion) GoString() string {
18097 return s.String()
18098}
18099
18100// SetETag sets the ETag field's value.
18101func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
18102 s.ETag = &v
18103 return s
18104}
18105
18106// SetIsLatest sets the IsLatest field's value.
18107func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion {
18108 s.IsLatest = &v
18109 return s
18110}
18111
18112// SetKey sets the Key field's value.
18113func (s *ObjectVersion) SetKey(v string) *ObjectVersion {
18114 s.Key = &v
18115 return s
18116}
18117
18118// SetLastModified sets the LastModified field's value.
18119func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion {
18120 s.LastModified = &v
18121 return s
18122}
18123
18124// SetOwner sets the Owner field's value.
18125func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion {
18126 s.Owner = v
18127 return s
18128}
18129
18130// SetSize sets the Size field's value.
18131func (s *ObjectVersion) SetSize(v int64) *ObjectVersion {
18132 s.Size = &v
18133 return s
18134}
18135
18136// SetStorageClass sets the StorageClass field's value.
18137func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion {
18138 s.StorageClass = &v
18139 return s
18140}
18141
18142// SetVersionId sets the VersionId field's value.
18143func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
18144 s.VersionId = &v
18145 return s
18146}
18147
15c0b25d
AP
18148// Describes the location where the restore job's output is stored.
18149type OutputLocation struct {
18150 _ struct{} `type:"structure"`
18151
18152 // Describes an S3 location that will receive the results of the restore request.
18153 S3 *Location `type:"structure"`
18154}
18155
18156// String returns the string representation
18157func (s OutputLocation) String() string {
18158 return awsutil.Prettify(s)
18159}
18160
18161// GoString returns the string representation
18162func (s OutputLocation) GoString() string {
18163 return s.String()
18164}
18165
18166// Validate inspects the fields of the type to determine if they are valid.
18167func (s *OutputLocation) Validate() error {
18168 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
18169 if s.S3 != nil {
18170 if err := s.S3.Validate(); err != nil {
18171 invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
18172 }
18173 }
18174
18175 if invalidParams.Len() > 0 {
18176 return invalidParams
18177 }
18178 return nil
18179}
18180
18181// SetS3 sets the S3 field's value.
18182func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
18183 s.S3 = v
18184 return s
18185}
18186
18187// Describes how results of the Select job are serialized.
18188type OutputSerialization struct {
18189 _ struct{} `type:"structure"`
18190
18191 // Describes the serialization of CSV-encoded Select results.
18192 CSV *CSVOutput `type:"structure"`
18193
18194 // Specifies JSON as request's output serialization format.
18195 JSON *JSONOutput `type:"structure"`
18196}
18197
18198// String returns the string representation
18199func (s OutputSerialization) String() string {
18200 return awsutil.Prettify(s)
18201}
18202
18203// GoString returns the string representation
18204func (s OutputSerialization) GoString() string {
18205 return s.String()
18206}
18207
18208// SetCSV sets the CSV field's value.
18209func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
18210 s.CSV = v
18211 return s
18212}
18213
18214// SetJSON sets the JSON field's value.
18215func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
18216 s.JSON = v
18217 return s
18218}
18219
bae9f6d2
JC
18220type Owner struct {
18221 _ struct{} `type:"structure"`
18222
18223 DisplayName *string `type:"string"`
18224
18225 ID *string `type:"string"`
18226}
18227
18228// String returns the string representation
18229func (s Owner) String() string {
18230 return awsutil.Prettify(s)
18231}
18232
18233// GoString returns the string representation
18234func (s Owner) GoString() string {
18235 return s.String()
18236}
18237
18238// SetDisplayName sets the DisplayName field's value.
18239func (s *Owner) SetDisplayName(v string) *Owner {
18240 s.DisplayName = &v
18241 return s
18242}
18243
18244// SetID sets the ID field's value.
18245func (s *Owner) SetID(v string) *Owner {
18246 s.ID = &v
18247 return s
18248}
18249
107c1cdb
ND
18250type ParquetInput struct {
18251 _ struct{} `type:"structure"`
18252}
18253
18254// String returns the string representation
18255func (s ParquetInput) String() string {
18256 return awsutil.Prettify(s)
18257}
18258
18259// GoString returns the string representation
18260func (s ParquetInput) GoString() string {
18261 return s.String()
18262}
18263
bae9f6d2
JC
18264type Part struct {
18265 _ struct{} `type:"structure"`
18266
18267 // Entity tag returned when the part was uploaded.
18268 ETag *string `type:"string"`
18269
18270 // Date and time at which the part was uploaded.
15c0b25d 18271 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
18272
18273 // Part number identifying the part. This is a positive integer between 1 and
18274 // 10,000.
18275 PartNumber *int64 `type:"integer"`
18276
107c1cdb 18277 // Size in bytes of the uploaded part data.
bae9f6d2
JC
18278 Size *int64 `type:"integer"`
18279}
18280
18281// String returns the string representation
18282func (s Part) String() string {
18283 return awsutil.Prettify(s)
18284}
18285
18286// GoString returns the string representation
18287func (s Part) GoString() string {
18288 return s.String()
18289}
18290
18291// SetETag sets the ETag field's value.
18292func (s *Part) SetETag(v string) *Part {
18293 s.ETag = &v
18294 return s
18295}
18296
18297// SetLastModified sets the LastModified field's value.
18298func (s *Part) SetLastModified(v time.Time) *Part {
18299 s.LastModified = &v
18300 return s
18301}
18302
18303// SetPartNumber sets the PartNumber field's value.
18304func (s *Part) SetPartNumber(v int64) *Part {
18305 s.PartNumber = &v
18306 return s
18307}
18308
18309// SetSize sets the Size field's value.
18310func (s *Part) SetSize(v int64) *Part {
18311 s.Size = &v
18312 return s
18313}
18314
107c1cdb
ND
18315// The container element for a bucket's policy status.
18316type PolicyStatus struct {
18317 _ struct{} `type:"structure"`
18318
18319 // The policy status for this bucket. TRUE indicates that this bucket is public.
18320 // FALSE indicates that the bucket is not public.
18321 IsPublic *bool `locationName:"IsPublic" type:"boolean"`
18322}
18323
18324// String returns the string representation
18325func (s PolicyStatus) String() string {
18326 return awsutil.Prettify(s)
18327}
18328
18329// GoString returns the string representation
18330func (s PolicyStatus) GoString() string {
18331 return s.String()
18332}
18333
18334// SetIsPublic sets the IsPublic field's value.
18335func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus {
18336 s.IsPublic = &v
18337 return s
18338}
18339
15c0b25d
AP
18340type Progress struct {
18341 _ struct{} `type:"structure"`
18342
107c1cdb 18343 // The current number of uncompressed object bytes processed.
15c0b25d
AP
18344 BytesProcessed *int64 `type:"long"`
18345
107c1cdb 18346 // The current number of bytes of records payload data returned.
15c0b25d
AP
18347 BytesReturned *int64 `type:"long"`
18348
107c1cdb 18349 // The current number of object bytes scanned.
15c0b25d
AP
18350 BytesScanned *int64 `type:"long"`
18351}
18352
18353// String returns the string representation
18354func (s Progress) String() string {
18355 return awsutil.Prettify(s)
18356}
18357
18358// GoString returns the string representation
18359func (s Progress) GoString() string {
18360 return s.String()
18361}
18362
18363// SetBytesProcessed sets the BytesProcessed field's value.
18364func (s *Progress) SetBytesProcessed(v int64) *Progress {
18365 s.BytesProcessed = &v
18366 return s
18367}
18368
18369// SetBytesReturned sets the BytesReturned field's value.
18370func (s *Progress) SetBytesReturned(v int64) *Progress {
18371 s.BytesReturned = &v
18372 return s
18373}
18374
18375// SetBytesScanned sets the BytesScanned field's value.
18376func (s *Progress) SetBytesScanned(v int64) *Progress {
18377 s.BytesScanned = &v
18378 return s
18379}
18380
18381type ProgressEvent struct {
18382 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
18383
18384 // The Progress event details.
18385 Details *Progress `locationName:"Details" type:"structure"`
18386}
18387
18388// String returns the string representation
18389func (s ProgressEvent) String() string {
18390 return awsutil.Prettify(s)
18391}
18392
18393// GoString returns the string representation
18394func (s ProgressEvent) GoString() string {
18395 return s.String()
18396}
18397
107c1cdb
ND
18398// SetDetails sets the Details field's value.
18399func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
18400 s.Details = v
18401 return s
18402}
18403
18404// The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
18405func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
18406
18407// UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value.
18408// This method is only used internally within the SDK's EventStream handling.
18409func (s *ProgressEvent) UnmarshalEvent(
18410 payloadUnmarshaler protocol.PayloadUnmarshaler,
18411 msg eventstream.Message,
18412) error {
18413 if err := payloadUnmarshaler.UnmarshalPayload(
18414 bytes.NewReader(msg.Payload), s,
18415 ); err != nil {
18416 return err
18417 }
18418 return nil
18419}
18420
18421type PublicAccessBlockConfiguration struct {
18422 _ struct{} `type:"structure"`
18423
18424 // Specifies whether Amazon S3 should block public access control lists (ACLs)
18425 // for this bucket and objects in this bucket. Setting this element to TRUE
18426 // causes the following behavior:
18427 //
18428 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is
18429 // public.
18430 //
18431 // * PUT Object calls fail if the request includes a public ACL.
18432 //
18433 // Enabling this setting doesn't affect existing policies or ACLs.
18434 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"`
18435
18436 // Specifies whether Amazon S3 should block public bucket policies for this
18437 // bucket. Setting this element to TRUE causes Amazon S3 to reject calls to
18438 // PUT Bucket policy if the specified bucket policy allows public access.
18439 //
18440 // Enabling this setting doesn't affect existing bucket policies.
18441 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"`
18442
18443 // Specifies whether Amazon S3 should ignore public ACLs for this bucket and
18444 // objects in this bucket. Setting this element to TRUE causes Amazon S3 to
18445 // ignore all public ACLs on this bucket and objects in this bucket.
18446 //
18447 // Enabling this setting doesn't affect the persistence of any existing ACLs
18448 // and doesn't prevent new public ACLs from being set.
18449 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"`
18450
18451 // Specifies whether Amazon S3 should restrict public bucket policies for this
18452 // bucket. Setting this element to TRUE restricts access to this bucket to only
18453 // AWS services and authorized users within this account if the bucket has a
18454 // public policy.
18455 //
18456 // Enabling this setting doesn't affect previously stored bucket policies, except
18457 // that public and cross-account access within any public bucket policy, including
18458 // non-public delegation to specific accounts, is blocked.
18459 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"`
18460}
18461
18462// String returns the string representation
18463func (s PublicAccessBlockConfiguration) String() string {
18464 return awsutil.Prettify(s)
18465}
18466
18467// GoString returns the string representation
18468func (s PublicAccessBlockConfiguration) GoString() string {
18469 return s.String()
18470}
18471
18472// SetBlockPublicAcls sets the BlockPublicAcls field's value.
18473func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration {
18474 s.BlockPublicAcls = &v
18475 return s
18476}
18477
18478// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
18479func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration {
18480 s.BlockPublicPolicy = &v
15c0b25d
AP
18481 return s
18482}
18483
107c1cdb
ND
18484// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
18485func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration {
18486 s.IgnorePublicAcls = &v
18487 return s
18488}
15c0b25d 18489
107c1cdb
ND
18490// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
18491func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration {
18492 s.RestrictPublicBuckets = &v
18493 return s
15c0b25d
AP
18494}
18495
bae9f6d2
JC
18496type PutBucketAccelerateConfigurationInput struct {
18497 _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
18498
18499 // Specifies the Accelerate Configuration you want to set for the bucket.
18500 //
18501 // AccelerateConfiguration is a required field
15c0b25d 18502 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18503
18504 // Name of the bucket for which the accelerate configuration is set.
18505 //
18506 // Bucket is a required field
18507 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18508}
18509
18510// String returns the string representation
18511func (s PutBucketAccelerateConfigurationInput) String() string {
18512 return awsutil.Prettify(s)
18513}
18514
18515// GoString returns the string representation
18516func (s PutBucketAccelerateConfigurationInput) GoString() string {
18517 return s.String()
18518}
18519
18520// Validate inspects the fields of the type to determine if they are valid.
18521func (s *PutBucketAccelerateConfigurationInput) Validate() error {
18522 invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"}
18523 if s.AccelerateConfiguration == nil {
18524 invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration"))
18525 }
18526 if s.Bucket == nil {
18527 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18528 }
107c1cdb
ND
18529 if s.Bucket != nil && len(*s.Bucket) < 1 {
18530 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18531 }
bae9f6d2
JC
18532
18533 if invalidParams.Len() > 0 {
18534 return invalidParams
18535 }
18536 return nil
18537}
18538
18539// SetAccelerateConfiguration sets the AccelerateConfiguration field's value.
18540func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput {
18541 s.AccelerateConfiguration = v
18542 return s
18543}
18544
18545// SetBucket sets the Bucket field's value.
18546func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput {
18547 s.Bucket = &v
18548 return s
18549}
18550
15c0b25d
AP
18551func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
18552 if s.Bucket == nil {
18553 return v
18554 }
18555 return *s.Bucket
18556}
18557
bae9f6d2
JC
18558type PutBucketAccelerateConfigurationOutput struct {
18559 _ struct{} `type:"structure"`
18560}
18561
18562// String returns the string representation
18563func (s PutBucketAccelerateConfigurationOutput) String() string {
18564 return awsutil.Prettify(s)
18565}
18566
18567// GoString returns the string representation
18568func (s PutBucketAccelerateConfigurationOutput) GoString() string {
18569 return s.String()
18570}
18571
bae9f6d2
JC
18572type PutBucketAclInput struct {
18573 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
18574
18575 // The canned ACL to apply to the bucket.
18576 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
18577
15c0b25d 18578 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18579
18580 // Bucket is a required field
18581 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18582
18583 // Allows grantee the read, write, read ACP, and write ACP permissions on the
18584 // bucket.
18585 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
18586
18587 // Allows grantee to list the objects in the bucket.
18588 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
18589
18590 // Allows grantee to read the bucket ACL.
18591 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
18592
18593 // Allows grantee to create, overwrite, and delete any object in the bucket.
18594 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
18595
18596 // Allows grantee to write the ACL for the applicable bucket.
18597 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
18598}
18599
18600// String returns the string representation
18601func (s PutBucketAclInput) String() string {
18602 return awsutil.Prettify(s)
18603}
18604
18605// GoString returns the string representation
18606func (s PutBucketAclInput) GoString() string {
18607 return s.String()
18608}
18609
18610// Validate inspects the fields of the type to determine if they are valid.
18611func (s *PutBucketAclInput) Validate() error {
18612 invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"}
18613 if s.Bucket == nil {
18614 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18615 }
107c1cdb
ND
18616 if s.Bucket != nil && len(*s.Bucket) < 1 {
18617 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18618 }
bae9f6d2
JC
18619 if s.AccessControlPolicy != nil {
18620 if err := s.AccessControlPolicy.Validate(); err != nil {
18621 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
18622 }
18623 }
18624
18625 if invalidParams.Len() > 0 {
18626 return invalidParams
18627 }
18628 return nil
18629}
18630
18631// SetACL sets the ACL field's value.
18632func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput {
18633 s.ACL = &v
18634 return s
18635}
18636
18637// SetAccessControlPolicy sets the AccessControlPolicy field's value.
18638func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput {
18639 s.AccessControlPolicy = v
18640 return s
18641}
18642
18643// SetBucket sets the Bucket field's value.
18644func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
18645 s.Bucket = &v
18646 return s
18647}
18648
15c0b25d
AP
18649func (s *PutBucketAclInput) getBucket() (v string) {
18650 if s.Bucket == nil {
18651 return v
18652 }
18653 return *s.Bucket
18654}
18655
bae9f6d2
JC
18656// SetGrantFullControl sets the GrantFullControl field's value.
18657func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
18658 s.GrantFullControl = &v
18659 return s
18660}
18661
18662// SetGrantRead sets the GrantRead field's value.
18663func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput {
18664 s.GrantRead = &v
18665 return s
18666}
18667
18668// SetGrantReadACP sets the GrantReadACP field's value.
18669func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput {
18670 s.GrantReadACP = &v
18671 return s
18672}
18673
18674// SetGrantWrite sets the GrantWrite field's value.
18675func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput {
18676 s.GrantWrite = &v
18677 return s
18678}
18679
18680// SetGrantWriteACP sets the GrantWriteACP field's value.
18681func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
18682 s.GrantWriteACP = &v
18683 return s
18684}
18685
bae9f6d2
JC
18686type PutBucketAclOutput struct {
18687 _ struct{} `type:"structure"`
18688}
18689
18690// String returns the string representation
18691func (s PutBucketAclOutput) String() string {
18692 return awsutil.Prettify(s)
18693}
18694
18695// GoString returns the string representation
18696func (s PutBucketAclOutput) GoString() string {
18697 return s.String()
18698}
18699
bae9f6d2
JC
18700type PutBucketAnalyticsConfigurationInput struct {
18701 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
18702
18703 // The configuration and any analyses for the analytics filter.
18704 //
18705 // AnalyticsConfiguration is a required field
15c0b25d 18706 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18707
18708 // The name of the bucket to which an analytics configuration is stored.
18709 //
18710 // Bucket is a required field
18711 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18712
18713 // The identifier used to represent an analytics configuration.
18714 //
18715 // Id is a required field
18716 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
18717}
18718
18719// String returns the string representation
18720func (s PutBucketAnalyticsConfigurationInput) String() string {
18721 return awsutil.Prettify(s)
18722}
18723
18724// GoString returns the string representation
18725func (s PutBucketAnalyticsConfigurationInput) GoString() string {
18726 return s.String()
18727}
18728
18729// Validate inspects the fields of the type to determine if they are valid.
18730func (s *PutBucketAnalyticsConfigurationInput) Validate() error {
18731 invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"}
18732 if s.AnalyticsConfiguration == nil {
18733 invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration"))
18734 }
18735 if s.Bucket == nil {
18736 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18737 }
107c1cdb
ND
18738 if s.Bucket != nil && len(*s.Bucket) < 1 {
18739 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18740 }
bae9f6d2
JC
18741 if s.Id == nil {
18742 invalidParams.Add(request.NewErrParamRequired("Id"))
18743 }
18744 if s.AnalyticsConfiguration != nil {
18745 if err := s.AnalyticsConfiguration.Validate(); err != nil {
18746 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
18747 }
18748 }
18749
18750 if invalidParams.Len() > 0 {
18751 return invalidParams
18752 }
18753 return nil
18754}
18755
18756// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
18757func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput {
18758 s.AnalyticsConfiguration = v
18759 return s
18760}
18761
18762// SetBucket sets the Bucket field's value.
18763func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput {
18764 s.Bucket = &v
18765 return s
18766}
18767
15c0b25d
AP
18768func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
18769 if s.Bucket == nil {
18770 return v
18771 }
18772 return *s.Bucket
18773}
18774
bae9f6d2
JC
18775// SetId sets the Id field's value.
18776func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
18777 s.Id = &v
18778 return s
18779}
18780
bae9f6d2
JC
18781type PutBucketAnalyticsConfigurationOutput struct {
18782 _ struct{} `type:"structure"`
18783}
18784
18785// String returns the string representation
18786func (s PutBucketAnalyticsConfigurationOutput) String() string {
18787 return awsutil.Prettify(s)
18788}
18789
18790// GoString returns the string representation
18791func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
18792 return s.String()
18793}
18794
bae9f6d2
JC
18795type PutBucketCorsInput struct {
18796 _ struct{} `type:"structure" payload:"CORSConfiguration"`
18797
18798 // Bucket is a required field
18799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18800
18801 // CORSConfiguration is a required field
15c0b25d 18802 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18803}
18804
18805// String returns the string representation
18806func (s PutBucketCorsInput) String() string {
18807 return awsutil.Prettify(s)
18808}
18809
18810// GoString returns the string representation
18811func (s PutBucketCorsInput) GoString() string {
18812 return s.String()
18813}
18814
18815// Validate inspects the fields of the type to determine if they are valid.
18816func (s *PutBucketCorsInput) Validate() error {
18817 invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"}
18818 if s.Bucket == nil {
18819 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18820 }
107c1cdb
ND
18821 if s.Bucket != nil && len(*s.Bucket) < 1 {
18822 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18823 }
bae9f6d2
JC
18824 if s.CORSConfiguration == nil {
18825 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration"))
18826 }
18827 if s.CORSConfiguration != nil {
18828 if err := s.CORSConfiguration.Validate(); err != nil {
18829 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams))
18830 }
18831 }
18832
18833 if invalidParams.Len() > 0 {
18834 return invalidParams
18835 }
18836 return nil
18837}
18838
18839// SetBucket sets the Bucket field's value.
18840func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
18841 s.Bucket = &v
18842 return s
18843}
18844
15c0b25d
AP
18845func (s *PutBucketCorsInput) getBucket() (v string) {
18846 if s.Bucket == nil {
18847 return v
18848 }
18849 return *s.Bucket
18850}
18851
bae9f6d2
JC
18852// SetCORSConfiguration sets the CORSConfiguration field's value.
18853func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
18854 s.CORSConfiguration = v
18855 return s
18856}
18857
bae9f6d2
JC
18858type PutBucketCorsOutput struct {
18859 _ struct{} `type:"structure"`
18860}
18861
18862// String returns the string representation
18863func (s PutBucketCorsOutput) String() string {
18864 return awsutil.Prettify(s)
18865}
18866
18867// GoString returns the string representation
18868func (s PutBucketCorsOutput) GoString() string {
18869 return s.String()
18870}
18871
15c0b25d
AP
18872type PutBucketEncryptionInput struct {
18873 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
bae9f6d2 18874
15c0b25d
AP
18875 // The name of the bucket for which the server-side encryption configuration
18876 // is set.
bae9f6d2
JC
18877 //
18878 // Bucket is a required field
18879 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18880
15c0b25d
AP
18881 // Container for server-side encryption configuration rules. Currently S3 supports
18882 // one rule only.
bae9f6d2 18883 //
15c0b25d
AP
18884 // ServerSideEncryptionConfiguration is a required field
18885 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18886}
18887
18888// String returns the string representation
15c0b25d 18889func (s PutBucketEncryptionInput) String() string {
bae9f6d2
JC
18890 return awsutil.Prettify(s)
18891}
18892
18893// GoString returns the string representation
15c0b25d 18894func (s PutBucketEncryptionInput) GoString() string {
bae9f6d2
JC
18895 return s.String()
18896}
18897
18898// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
18899func (s *PutBucketEncryptionInput) Validate() error {
18900 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"}
bae9f6d2
JC
18901 if s.Bucket == nil {
18902 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18903 }
107c1cdb
ND
18904 if s.Bucket != nil && len(*s.Bucket) < 1 {
18905 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18906 }
15c0b25d
AP
18907 if s.ServerSideEncryptionConfiguration == nil {
18908 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
bae9f6d2 18909 }
15c0b25d
AP
18910 if s.ServerSideEncryptionConfiguration != nil {
18911 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
18912 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
bae9f6d2
JC
18913 }
18914 }
18915
18916 if invalidParams.Len() > 0 {
18917 return invalidParams
18918 }
18919 return nil
18920}
18921
18922// SetBucket sets the Bucket field's value.
15c0b25d 18923func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
bae9f6d2
JC
18924 s.Bucket = &v
18925 return s
18926}
18927
15c0b25d
AP
18928func (s *PutBucketEncryptionInput) getBucket() (v string) {
18929 if s.Bucket == nil {
18930 return v
18931 }
18932 return *s.Bucket
bae9f6d2
JC
18933}
18934
15c0b25d
AP
18935// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
18936func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
18937 s.ServerSideEncryptionConfiguration = v
bae9f6d2
JC
18938 return s
18939}
18940
15c0b25d 18941type PutBucketEncryptionOutput struct {
bae9f6d2
JC
18942 _ struct{} `type:"structure"`
18943}
18944
18945// String returns the string representation
15c0b25d 18946func (s PutBucketEncryptionOutput) String() string {
bae9f6d2
JC
18947 return awsutil.Prettify(s)
18948}
18949
18950// GoString returns the string representation
15c0b25d 18951func (s PutBucketEncryptionOutput) GoString() string {
bae9f6d2
JC
18952 return s.String()
18953}
18954
15c0b25d
AP
18955type PutBucketInventoryConfigurationInput struct {
18956 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
18957
18958 // The name of the bucket where the inventory configuration will be stored.
18959 //
18960 // Bucket is a required field
18961 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18962
18963 // The ID used to identify the inventory configuration.
18964 //
18965 // Id is a required field
18966 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
18967
18968 // Specifies the inventory configuration.
18969 //
18970 // InventoryConfiguration is a required field
18971 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18972}
18973
18974// String returns the string representation
18975func (s PutBucketInventoryConfigurationInput) String() string {
18976 return awsutil.Prettify(s)
18977}
18978
18979// GoString returns the string representation
18980func (s PutBucketInventoryConfigurationInput) GoString() string {
18981 return s.String()
18982}
18983
18984// Validate inspects the fields of the type to determine if they are valid.
18985func (s *PutBucketInventoryConfigurationInput) Validate() error {
18986 invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"}
18987 if s.Bucket == nil {
18988 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18989 }
107c1cdb
ND
18990 if s.Bucket != nil && len(*s.Bucket) < 1 {
18991 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18992 }
15c0b25d
AP
18993 if s.Id == nil {
18994 invalidParams.Add(request.NewErrParamRequired("Id"))
18995 }
18996 if s.InventoryConfiguration == nil {
18997 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration"))
18998 }
18999 if s.InventoryConfiguration != nil {
19000 if err := s.InventoryConfiguration.Validate(); err != nil {
19001 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams))
19002 }
19003 }
19004
19005 if invalidParams.Len() > 0 {
19006 return invalidParams
19007 }
19008 return nil
19009}
19010
19011// SetBucket sets the Bucket field's value.
19012func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput {
19013 s.Bucket = &v
19014 return s
19015}
19016
19017func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
19018 if s.Bucket == nil {
19019 return v
19020 }
19021 return *s.Bucket
19022}
19023
19024// SetId sets the Id field's value.
19025func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
19026 s.Id = &v
19027 return s
19028}
19029
19030// SetInventoryConfiguration sets the InventoryConfiguration field's value.
19031func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput {
19032 s.InventoryConfiguration = v
19033 return s
19034}
19035
19036type PutBucketInventoryConfigurationOutput struct {
19037 _ struct{} `type:"structure"`
19038}
19039
19040// String returns the string representation
19041func (s PutBucketInventoryConfigurationOutput) String() string {
19042 return awsutil.Prettify(s)
19043}
19044
19045// GoString returns the string representation
19046func (s PutBucketInventoryConfigurationOutput) GoString() string {
19047 return s.String()
19048}
19049
19050type PutBucketLifecycleConfigurationInput struct {
19051 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
bae9f6d2
JC
19052
19053 // Bucket is a required field
19054 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19055
15c0b25d 19056 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19057}
19058
19059// String returns the string representation
19060func (s PutBucketLifecycleConfigurationInput) String() string {
19061 return awsutil.Prettify(s)
19062}
19063
19064// GoString returns the string representation
19065func (s PutBucketLifecycleConfigurationInput) GoString() string {
19066 return s.String()
19067}
19068
19069// Validate inspects the fields of the type to determine if they are valid.
19070func (s *PutBucketLifecycleConfigurationInput) Validate() error {
19071 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"}
19072 if s.Bucket == nil {
19073 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19074 }
107c1cdb
ND
19075 if s.Bucket != nil && len(*s.Bucket) < 1 {
19076 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19077 }
bae9f6d2
JC
19078 if s.LifecycleConfiguration != nil {
19079 if err := s.LifecycleConfiguration.Validate(); err != nil {
19080 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19081 }
19082 }
19083
19084 if invalidParams.Len() > 0 {
19085 return invalidParams
19086 }
19087 return nil
19088}
19089
19090// SetBucket sets the Bucket field's value.
19091func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput {
19092 s.Bucket = &v
19093 return s
19094}
19095
15c0b25d
AP
19096func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
19097 if s.Bucket == nil {
19098 return v
19099 }
19100 return *s.Bucket
19101}
19102
bae9f6d2
JC
19103// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19104func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
19105 s.LifecycleConfiguration = v
19106 return s
19107}
19108
bae9f6d2
JC
19109type PutBucketLifecycleConfigurationOutput struct {
19110 _ struct{} `type:"structure"`
19111}
19112
19113// String returns the string representation
19114func (s PutBucketLifecycleConfigurationOutput) String() string {
19115 return awsutil.Prettify(s)
19116}
19117
19118// GoString returns the string representation
19119func (s PutBucketLifecycleConfigurationOutput) GoString() string {
19120 return s.String()
19121}
19122
bae9f6d2
JC
19123type PutBucketLifecycleInput struct {
19124 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19125
19126 // Bucket is a required field
19127 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19128
15c0b25d 19129 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19130}
19131
19132// String returns the string representation
19133func (s PutBucketLifecycleInput) String() string {
19134 return awsutil.Prettify(s)
19135}
19136
19137// GoString returns the string representation
19138func (s PutBucketLifecycleInput) GoString() string {
19139 return s.String()
19140}
19141
19142// Validate inspects the fields of the type to determine if they are valid.
19143func (s *PutBucketLifecycleInput) Validate() error {
19144 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"}
19145 if s.Bucket == nil {
19146 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19147 }
107c1cdb
ND
19148 if s.Bucket != nil && len(*s.Bucket) < 1 {
19149 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19150 }
bae9f6d2
JC
19151 if s.LifecycleConfiguration != nil {
19152 if err := s.LifecycleConfiguration.Validate(); err != nil {
19153 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19154 }
19155 }
19156
19157 if invalidParams.Len() > 0 {
19158 return invalidParams
19159 }
19160 return nil
19161}
19162
19163// SetBucket sets the Bucket field's value.
19164func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
19165 s.Bucket = &v
19166 return s
19167}
19168
15c0b25d
AP
19169func (s *PutBucketLifecycleInput) getBucket() (v string) {
19170 if s.Bucket == nil {
19171 return v
19172 }
19173 return *s.Bucket
19174}
19175
bae9f6d2
JC
19176// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19177func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
19178 s.LifecycleConfiguration = v
19179 return s
19180}
19181
bae9f6d2
JC
19182type PutBucketLifecycleOutput struct {
19183 _ struct{} `type:"structure"`
19184}
19185
19186// String returns the string representation
19187func (s PutBucketLifecycleOutput) String() string {
19188 return awsutil.Prettify(s)
19189}
19190
19191// GoString returns the string representation
19192func (s PutBucketLifecycleOutput) GoString() string {
19193 return s.String()
19194}
19195
bae9f6d2
JC
19196type PutBucketLoggingInput struct {
19197 _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
19198
19199 // Bucket is a required field
19200 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19201
19202 // BucketLoggingStatus is a required field
15c0b25d 19203 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19204}
19205
19206// String returns the string representation
19207func (s PutBucketLoggingInput) String() string {
19208 return awsutil.Prettify(s)
19209}
19210
19211// GoString returns the string representation
19212func (s PutBucketLoggingInput) GoString() string {
19213 return s.String()
19214}
19215
19216// Validate inspects the fields of the type to determine if they are valid.
19217func (s *PutBucketLoggingInput) Validate() error {
19218 invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"}
19219 if s.Bucket == nil {
19220 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19221 }
107c1cdb
ND
19222 if s.Bucket != nil && len(*s.Bucket) < 1 {
19223 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19224 }
bae9f6d2
JC
19225 if s.BucketLoggingStatus == nil {
19226 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus"))
19227 }
19228 if s.BucketLoggingStatus != nil {
19229 if err := s.BucketLoggingStatus.Validate(); err != nil {
19230 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams))
19231 }
19232 }
19233
19234 if invalidParams.Len() > 0 {
19235 return invalidParams
19236 }
19237 return nil
19238}
19239
19240// SetBucket sets the Bucket field's value.
19241func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
19242 s.Bucket = &v
19243 return s
19244}
19245
15c0b25d
AP
19246func (s *PutBucketLoggingInput) getBucket() (v string) {
19247 if s.Bucket == nil {
19248 return v
19249 }
19250 return *s.Bucket
19251}
19252
bae9f6d2
JC
19253// SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
19254func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
19255 s.BucketLoggingStatus = v
19256 return s
19257}
19258
bae9f6d2
JC
19259type PutBucketLoggingOutput struct {
19260 _ struct{} `type:"structure"`
19261}
19262
19263// String returns the string representation
19264func (s PutBucketLoggingOutput) String() string {
19265 return awsutil.Prettify(s)
19266}
19267
19268// GoString returns the string representation
19269func (s PutBucketLoggingOutput) GoString() string {
19270 return s.String()
19271}
19272
bae9f6d2
JC
19273type PutBucketMetricsConfigurationInput struct {
19274 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
19275
19276 // The name of the bucket for which the metrics configuration is set.
19277 //
19278 // Bucket is a required field
19279 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19280
19281 // The ID used to identify the metrics configuration.
19282 //
19283 // Id is a required field
19284 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19285
19286 // Specifies the metrics configuration.
19287 //
19288 // MetricsConfiguration is a required field
15c0b25d 19289 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19290}
19291
19292// String returns the string representation
19293func (s PutBucketMetricsConfigurationInput) String() string {
19294 return awsutil.Prettify(s)
19295}
19296
19297// GoString returns the string representation
19298func (s PutBucketMetricsConfigurationInput) GoString() string {
19299 return s.String()
19300}
19301
19302// Validate inspects the fields of the type to determine if they are valid.
19303func (s *PutBucketMetricsConfigurationInput) Validate() error {
19304 invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"}
19305 if s.Bucket == nil {
19306 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19307 }
107c1cdb
ND
19308 if s.Bucket != nil && len(*s.Bucket) < 1 {
19309 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19310 }
bae9f6d2
JC
19311 if s.Id == nil {
19312 invalidParams.Add(request.NewErrParamRequired("Id"))
19313 }
19314 if s.MetricsConfiguration == nil {
19315 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration"))
19316 }
19317 if s.MetricsConfiguration != nil {
19318 if err := s.MetricsConfiguration.Validate(); err != nil {
19319 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
19320 }
19321 }
19322
19323 if invalidParams.Len() > 0 {
19324 return invalidParams
19325 }
19326 return nil
19327}
19328
19329// SetBucket sets the Bucket field's value.
19330func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput {
19331 s.Bucket = &v
19332 return s
19333}
19334
15c0b25d
AP
19335func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
19336 if s.Bucket == nil {
19337 return v
19338 }
19339 return *s.Bucket
19340}
19341
bae9f6d2
JC
19342// SetId sets the Id field's value.
19343func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
19344 s.Id = &v
19345 return s
19346}
19347
19348// SetMetricsConfiguration sets the MetricsConfiguration field's value.
19349func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput {
19350 s.MetricsConfiguration = v
19351 return s
19352}
19353
bae9f6d2
JC
19354type PutBucketMetricsConfigurationOutput struct {
19355 _ struct{} `type:"structure"`
19356}
19357
19358// String returns the string representation
19359func (s PutBucketMetricsConfigurationOutput) String() string {
19360 return awsutil.Prettify(s)
19361}
19362
19363// GoString returns the string representation
19364func (s PutBucketMetricsConfigurationOutput) GoString() string {
19365 return s.String()
19366}
19367
bae9f6d2
JC
19368type PutBucketNotificationConfigurationInput struct {
19369 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19370
19371 // Bucket is a required field
19372 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19373
107c1cdb
ND
19374 // A container for specifying the notification configuration of the bucket.
19375 // If this element is empty, notifications are turned off for the bucket.
bae9f6d2
JC
19376 //
19377 // NotificationConfiguration is a required field
15c0b25d 19378 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19379}
19380
19381// String returns the string representation
19382func (s PutBucketNotificationConfigurationInput) String() string {
19383 return awsutil.Prettify(s)
19384}
19385
19386// GoString returns the string representation
19387func (s PutBucketNotificationConfigurationInput) GoString() string {
19388 return s.String()
19389}
19390
19391// Validate inspects the fields of the type to determine if they are valid.
19392func (s *PutBucketNotificationConfigurationInput) Validate() error {
19393 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"}
19394 if s.Bucket == nil {
19395 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19396 }
107c1cdb
ND
19397 if s.Bucket != nil && len(*s.Bucket) < 1 {
19398 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19399 }
bae9f6d2
JC
19400 if s.NotificationConfiguration == nil {
19401 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19402 }
19403 if s.NotificationConfiguration != nil {
19404 if err := s.NotificationConfiguration.Validate(); err != nil {
19405 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams))
19406 }
19407 }
19408
19409 if invalidParams.Len() > 0 {
19410 return invalidParams
19411 }
19412 return nil
19413}
19414
19415// SetBucket sets the Bucket field's value.
19416func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput {
19417 s.Bucket = &v
19418 return s
19419}
19420
15c0b25d
AP
19421func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
19422 if s.Bucket == nil {
19423 return v
19424 }
19425 return *s.Bucket
19426}
19427
bae9f6d2
JC
19428// SetNotificationConfiguration sets the NotificationConfiguration field's value.
19429func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
19430 s.NotificationConfiguration = v
19431 return s
19432}
19433
bae9f6d2
JC
19434type PutBucketNotificationConfigurationOutput struct {
19435 _ struct{} `type:"structure"`
19436}
19437
19438// String returns the string representation
19439func (s PutBucketNotificationConfigurationOutput) String() string {
19440 return awsutil.Prettify(s)
19441}
19442
19443// GoString returns the string representation
19444func (s PutBucketNotificationConfigurationOutput) GoString() string {
19445 return s.String()
19446}
19447
bae9f6d2
JC
19448type PutBucketNotificationInput struct {
19449 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19450
19451 // Bucket is a required field
19452 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19453
19454 // NotificationConfiguration is a required field
15c0b25d 19455 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19456}
19457
19458// String returns the string representation
19459func (s PutBucketNotificationInput) String() string {
19460 return awsutil.Prettify(s)
19461}
19462
19463// GoString returns the string representation
19464func (s PutBucketNotificationInput) GoString() string {
19465 return s.String()
19466}
19467
19468// Validate inspects the fields of the type to determine if they are valid.
19469func (s *PutBucketNotificationInput) Validate() error {
19470 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"}
19471 if s.Bucket == nil {
19472 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19473 }
107c1cdb
ND
19474 if s.Bucket != nil && len(*s.Bucket) < 1 {
19475 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19476 }
bae9f6d2
JC
19477 if s.NotificationConfiguration == nil {
19478 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19479 }
19480
19481 if invalidParams.Len() > 0 {
19482 return invalidParams
19483 }
19484 return nil
19485}
19486
19487// SetBucket sets the Bucket field's value.
19488func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput {
19489 s.Bucket = &v
19490 return s
19491}
19492
15c0b25d
AP
19493func (s *PutBucketNotificationInput) getBucket() (v string) {
19494 if s.Bucket == nil {
19495 return v
19496 }
19497 return *s.Bucket
19498}
19499
bae9f6d2
JC
19500// SetNotificationConfiguration sets the NotificationConfiguration field's value.
19501func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
19502 s.NotificationConfiguration = v
19503 return s
19504}
19505
bae9f6d2
JC
19506type PutBucketNotificationOutput struct {
19507 _ struct{} `type:"structure"`
19508}
19509
19510// String returns the string representation
19511func (s PutBucketNotificationOutput) String() string {
19512 return awsutil.Prettify(s)
19513}
19514
19515// GoString returns the string representation
19516func (s PutBucketNotificationOutput) GoString() string {
19517 return s.String()
19518}
19519
bae9f6d2
JC
19520type PutBucketPolicyInput struct {
19521 _ struct{} `type:"structure" payload:"Policy"`
19522
19523 // Bucket is a required field
19524 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19525
15c0b25d
AP
19526 // Set this parameter to true to confirm that you want to remove your permissions
19527 // to change this bucket policy in the future.
19528 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
19529
bae9f6d2
JC
19530 // The bucket policy as a JSON document.
19531 //
19532 // Policy is a required field
19533 Policy *string `type:"string" required:"true"`
19534}
19535
19536// String returns the string representation
19537func (s PutBucketPolicyInput) String() string {
19538 return awsutil.Prettify(s)
19539}
19540
19541// GoString returns the string representation
19542func (s PutBucketPolicyInput) GoString() string {
19543 return s.String()
19544}
19545
19546// Validate inspects the fields of the type to determine if they are valid.
19547func (s *PutBucketPolicyInput) Validate() error {
19548 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"}
19549 if s.Bucket == nil {
19550 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19551 }
107c1cdb
ND
19552 if s.Bucket != nil && len(*s.Bucket) < 1 {
19553 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19554 }
bae9f6d2
JC
19555 if s.Policy == nil {
19556 invalidParams.Add(request.NewErrParamRequired("Policy"))
19557 }
19558
19559 if invalidParams.Len() > 0 {
19560 return invalidParams
19561 }
19562 return nil
19563}
19564
19565// SetBucket sets the Bucket field's value.
19566func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
19567 s.Bucket = &v
19568 return s
19569}
19570
15c0b25d
AP
19571func (s *PutBucketPolicyInput) getBucket() (v string) {
19572 if s.Bucket == nil {
19573 return v
19574 }
19575 return *s.Bucket
19576}
19577
19578// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
19579func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
19580 s.ConfirmRemoveSelfBucketAccess = &v
19581 return s
19582}
19583
bae9f6d2
JC
19584// SetPolicy sets the Policy field's value.
19585func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
19586 s.Policy = &v
19587 return s
19588}
19589
bae9f6d2
JC
19590type PutBucketPolicyOutput struct {
19591 _ struct{} `type:"structure"`
19592}
19593
19594// String returns the string representation
19595func (s PutBucketPolicyOutput) String() string {
19596 return awsutil.Prettify(s)
19597}
19598
19599// GoString returns the string representation
19600func (s PutBucketPolicyOutput) GoString() string {
19601 return s.String()
19602}
19603
bae9f6d2
JC
19604type PutBucketReplicationInput struct {
19605 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
19606
19607 // Bucket is a required field
19608 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19609
107c1cdb
ND
19610 // A container for replication rules. You can add up to 1,000 rules. The maximum
19611 // size of a replication configuration is 2 MB.
bae9f6d2
JC
19612 //
19613 // ReplicationConfiguration is a required field
15c0b25d 19614 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19615}
19616
19617// String returns the string representation
19618func (s PutBucketReplicationInput) String() string {
19619 return awsutil.Prettify(s)
19620}
19621
19622// GoString returns the string representation
19623func (s PutBucketReplicationInput) GoString() string {
19624 return s.String()
19625}
19626
19627// Validate inspects the fields of the type to determine if they are valid.
19628func (s *PutBucketReplicationInput) Validate() error {
19629 invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"}
19630 if s.Bucket == nil {
19631 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19632 }
107c1cdb
ND
19633 if s.Bucket != nil && len(*s.Bucket) < 1 {
19634 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19635 }
bae9f6d2
JC
19636 if s.ReplicationConfiguration == nil {
19637 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
19638 }
19639 if s.ReplicationConfiguration != nil {
19640 if err := s.ReplicationConfiguration.Validate(); err != nil {
19641 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
19642 }
19643 }
19644
19645 if invalidParams.Len() > 0 {
19646 return invalidParams
19647 }
19648 return nil
19649}
19650
19651// SetBucket sets the Bucket field's value.
19652func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput {
19653 s.Bucket = &v
19654 return s
19655}
19656
15c0b25d
AP
19657func (s *PutBucketReplicationInput) getBucket() (v string) {
19658 if s.Bucket == nil {
19659 return v
19660 }
19661 return *s.Bucket
19662}
19663
bae9f6d2
JC
19664// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
19665func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
19666 s.ReplicationConfiguration = v
19667 return s
19668}
19669
bae9f6d2
JC
19670type PutBucketReplicationOutput struct {
19671 _ struct{} `type:"structure"`
19672}
19673
19674// String returns the string representation
19675func (s PutBucketReplicationOutput) String() string {
19676 return awsutil.Prettify(s)
19677}
19678
19679// GoString returns the string representation
19680func (s PutBucketReplicationOutput) GoString() string {
19681 return s.String()
19682}
19683
bae9f6d2
JC
19684type PutBucketRequestPaymentInput struct {
19685 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
19686
19687 // Bucket is a required field
19688 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19689
19690 // RequestPaymentConfiguration is a required field
15c0b25d 19691 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19692}
19693
19694// String returns the string representation
19695func (s PutBucketRequestPaymentInput) String() string {
19696 return awsutil.Prettify(s)
19697}
19698
19699// GoString returns the string representation
19700func (s PutBucketRequestPaymentInput) GoString() string {
19701 return s.String()
19702}
19703
19704// Validate inspects the fields of the type to determine if they are valid.
19705func (s *PutBucketRequestPaymentInput) Validate() error {
19706 invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"}
19707 if s.Bucket == nil {
19708 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19709 }
107c1cdb
ND
19710 if s.Bucket != nil && len(*s.Bucket) < 1 {
19711 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19712 }
bae9f6d2
JC
19713 if s.RequestPaymentConfiguration == nil {
19714 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration"))
19715 }
19716 if s.RequestPaymentConfiguration != nil {
19717 if err := s.RequestPaymentConfiguration.Validate(); err != nil {
19718 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams))
19719 }
19720 }
19721
19722 if invalidParams.Len() > 0 {
19723 return invalidParams
19724 }
19725 return nil
19726}
19727
19728// SetBucket sets the Bucket field's value.
19729func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput {
19730 s.Bucket = &v
19731 return s
19732}
19733
15c0b25d
AP
19734func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
19735 if s.Bucket == nil {
19736 return v
19737 }
19738 return *s.Bucket
19739}
19740
bae9f6d2
JC
19741// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
19742func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
19743 s.RequestPaymentConfiguration = v
19744 return s
19745}
19746
bae9f6d2
JC
19747type PutBucketRequestPaymentOutput struct {
19748 _ struct{} `type:"structure"`
19749}
19750
19751// String returns the string representation
19752func (s PutBucketRequestPaymentOutput) String() string {
19753 return awsutil.Prettify(s)
19754}
19755
19756// GoString returns the string representation
19757func (s PutBucketRequestPaymentOutput) GoString() string {
19758 return s.String()
19759}
19760
bae9f6d2
JC
19761type PutBucketTaggingInput struct {
19762 _ struct{} `type:"structure" payload:"Tagging"`
19763
19764 // Bucket is a required field
19765 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19766
19767 // Tagging is a required field
15c0b25d 19768 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19769}
19770
19771// String returns the string representation
19772func (s PutBucketTaggingInput) String() string {
19773 return awsutil.Prettify(s)
19774}
19775
19776// GoString returns the string representation
19777func (s PutBucketTaggingInput) GoString() string {
19778 return s.String()
19779}
19780
19781// Validate inspects the fields of the type to determine if they are valid.
19782func (s *PutBucketTaggingInput) Validate() error {
19783 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"}
19784 if s.Bucket == nil {
19785 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19786 }
107c1cdb
ND
19787 if s.Bucket != nil && len(*s.Bucket) < 1 {
19788 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19789 }
bae9f6d2
JC
19790 if s.Tagging == nil {
19791 invalidParams.Add(request.NewErrParamRequired("Tagging"))
19792 }
19793 if s.Tagging != nil {
19794 if err := s.Tagging.Validate(); err != nil {
19795 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
19796 }
19797 }
19798
19799 if invalidParams.Len() > 0 {
19800 return invalidParams
19801 }
19802 return nil
19803}
19804
19805// SetBucket sets the Bucket field's value.
19806func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
19807 s.Bucket = &v
19808 return s
19809}
19810
15c0b25d
AP
19811func (s *PutBucketTaggingInput) getBucket() (v string) {
19812 if s.Bucket == nil {
19813 return v
19814 }
19815 return *s.Bucket
19816}
19817
bae9f6d2
JC
19818// SetTagging sets the Tagging field's value.
19819func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
19820 s.Tagging = v
19821 return s
19822}
19823
bae9f6d2
JC
19824type PutBucketTaggingOutput struct {
19825 _ struct{} `type:"structure"`
19826}
19827
19828// String returns the string representation
19829func (s PutBucketTaggingOutput) String() string {
19830 return awsutil.Prettify(s)
19831}
19832
19833// GoString returns the string representation
19834func (s PutBucketTaggingOutput) GoString() string {
19835 return s.String()
19836}
19837
bae9f6d2
JC
19838type PutBucketVersioningInput struct {
19839 _ struct{} `type:"structure" payload:"VersioningConfiguration"`
19840
19841 // Bucket is a required field
19842 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19843
19844 // The concatenation of the authentication device's serial number, a space,
19845 // and the value that is displayed on your authentication device.
19846 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
19847
19848 // VersioningConfiguration is a required field
15c0b25d 19849 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19850}
19851
19852// String returns the string representation
19853func (s PutBucketVersioningInput) String() string {
19854 return awsutil.Prettify(s)
19855}
19856
19857// GoString returns the string representation
19858func (s PutBucketVersioningInput) GoString() string {
19859 return s.String()
19860}
19861
19862// Validate inspects the fields of the type to determine if they are valid.
19863func (s *PutBucketVersioningInput) Validate() error {
19864 invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"}
19865 if s.Bucket == nil {
19866 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19867 }
107c1cdb
ND
19868 if s.Bucket != nil && len(*s.Bucket) < 1 {
19869 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19870 }
bae9f6d2
JC
19871 if s.VersioningConfiguration == nil {
19872 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration"))
19873 }
19874
19875 if invalidParams.Len() > 0 {
19876 return invalidParams
19877 }
19878 return nil
19879}
19880
19881// SetBucket sets the Bucket field's value.
19882func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput {
19883 s.Bucket = &v
19884 return s
19885}
19886
15c0b25d
AP
19887func (s *PutBucketVersioningInput) getBucket() (v string) {
19888 if s.Bucket == nil {
19889 return v
19890 }
19891 return *s.Bucket
19892}
19893
bae9f6d2
JC
19894// SetMFA sets the MFA field's value.
19895func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
19896 s.MFA = &v
19897 return s
19898}
19899
19900// SetVersioningConfiguration sets the VersioningConfiguration field's value.
19901func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput {
19902 s.VersioningConfiguration = v
19903 return s
19904}
19905
bae9f6d2
JC
19906type PutBucketVersioningOutput struct {
19907 _ struct{} `type:"structure"`
19908}
19909
19910// String returns the string representation
19911func (s PutBucketVersioningOutput) String() string {
19912 return awsutil.Prettify(s)
19913}
19914
19915// GoString returns the string representation
19916func (s PutBucketVersioningOutput) GoString() string {
19917 return s.String()
19918}
19919
bae9f6d2
JC
19920type PutBucketWebsiteInput struct {
19921 _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
19922
19923 // Bucket is a required field
19924 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19925
19926 // WebsiteConfiguration is a required field
15c0b25d 19927 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19928}
19929
19930// String returns the string representation
19931func (s PutBucketWebsiteInput) String() string {
19932 return awsutil.Prettify(s)
19933}
19934
19935// GoString returns the string representation
19936func (s PutBucketWebsiteInput) GoString() string {
19937 return s.String()
19938}
19939
19940// Validate inspects the fields of the type to determine if they are valid.
19941func (s *PutBucketWebsiteInput) Validate() error {
19942 invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"}
19943 if s.Bucket == nil {
19944 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19945 }
107c1cdb
ND
19946 if s.Bucket != nil && len(*s.Bucket) < 1 {
19947 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19948 }
bae9f6d2
JC
19949 if s.WebsiteConfiguration == nil {
19950 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration"))
19951 }
19952 if s.WebsiteConfiguration != nil {
19953 if err := s.WebsiteConfiguration.Validate(); err != nil {
19954 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams))
19955 }
19956 }
19957
19958 if invalidParams.Len() > 0 {
19959 return invalidParams
19960 }
19961 return nil
19962}
19963
19964// SetBucket sets the Bucket field's value.
19965func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
19966 s.Bucket = &v
19967 return s
19968}
19969
15c0b25d
AP
19970func (s *PutBucketWebsiteInput) getBucket() (v string) {
19971 if s.Bucket == nil {
19972 return v
19973 }
19974 return *s.Bucket
19975}
19976
bae9f6d2
JC
19977// SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
19978func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
19979 s.WebsiteConfiguration = v
19980 return s
19981}
19982
bae9f6d2
JC
19983type PutBucketWebsiteOutput struct {
19984 _ struct{} `type:"structure"`
19985}
19986
19987// String returns the string representation
19988func (s PutBucketWebsiteOutput) String() string {
19989 return awsutil.Prettify(s)
19990}
19991
19992// GoString returns the string representation
19993func (s PutBucketWebsiteOutput) GoString() string {
19994 return s.String()
19995}
19996
bae9f6d2
JC
19997type PutObjectAclInput struct {
19998 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
19999
20000 // The canned ACL to apply to the object.
20001 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20002
15c0b25d 20003 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
20004
20005 // Bucket is a required field
20006 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20007
20008 // Allows grantee the read, write, read ACP, and write ACP permissions on the
20009 // bucket.
20010 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20011
20012 // Allows grantee to list the objects in the bucket.
20013 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20014
20015 // Allows grantee to read the bucket ACL.
20016 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20017
20018 // Allows grantee to create, overwrite, and delete any object in the bucket.
20019 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
20020
20021 // Allows grantee to write the ACL for the applicable bucket.
20022 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20023
20024 // Key is a required field
20025 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20026
20027 // Confirms that the requester knows that she or he will be charged for the
20028 // request. Bucket owners need not specify this parameter in their requests.
20029 // Documentation on downloading objects from requester pays buckets can be found
20030 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20031 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20032
20033 // VersionId used to reference a specific version of the object.
20034 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20035}
20036
20037// String returns the string representation
20038func (s PutObjectAclInput) String() string {
20039 return awsutil.Prettify(s)
20040}
20041
20042// GoString returns the string representation
20043func (s PutObjectAclInput) GoString() string {
20044 return s.String()
20045}
20046
20047// Validate inspects the fields of the type to determine if they are valid.
20048func (s *PutObjectAclInput) Validate() error {
20049 invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"}
20050 if s.Bucket == nil {
20051 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20052 }
107c1cdb
ND
20053 if s.Bucket != nil && len(*s.Bucket) < 1 {
20054 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20055 }
bae9f6d2
JC
20056 if s.Key == nil {
20057 invalidParams.Add(request.NewErrParamRequired("Key"))
20058 }
20059 if s.Key != nil && len(*s.Key) < 1 {
20060 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20061 }
20062 if s.AccessControlPolicy != nil {
20063 if err := s.AccessControlPolicy.Validate(); err != nil {
20064 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
20065 }
20066 }
20067
20068 if invalidParams.Len() > 0 {
20069 return invalidParams
20070 }
20071 return nil
20072}
20073
20074// SetACL sets the ACL field's value.
20075func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput {
20076 s.ACL = &v
20077 return s
20078}
20079
20080// SetAccessControlPolicy sets the AccessControlPolicy field's value.
20081func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput {
20082 s.AccessControlPolicy = v
20083 return s
20084}
20085
20086// SetBucket sets the Bucket field's value.
20087func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
20088 s.Bucket = &v
20089 return s
20090}
20091
15c0b25d
AP
20092func (s *PutObjectAclInput) getBucket() (v string) {
20093 if s.Bucket == nil {
20094 return v
20095 }
20096 return *s.Bucket
20097}
20098
bae9f6d2
JC
20099// SetGrantFullControl sets the GrantFullControl field's value.
20100func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
20101 s.GrantFullControl = &v
20102 return s
20103}
20104
20105// SetGrantRead sets the GrantRead field's value.
20106func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput {
20107 s.GrantRead = &v
20108 return s
20109}
20110
20111// SetGrantReadACP sets the GrantReadACP field's value.
20112func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput {
20113 s.GrantReadACP = &v
20114 return s
20115}
20116
20117// SetGrantWrite sets the GrantWrite field's value.
20118func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput {
20119 s.GrantWrite = &v
20120 return s
20121}
20122
20123// SetGrantWriteACP sets the GrantWriteACP field's value.
20124func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput {
20125 s.GrantWriteACP = &v
20126 return s
20127}
20128
20129// SetKey sets the Key field's value.
20130func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput {
20131 s.Key = &v
20132 return s
20133}
20134
20135// SetRequestPayer sets the RequestPayer field's value.
20136func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput {
20137 s.RequestPayer = &v
20138 return s
20139}
20140
20141// SetVersionId sets the VersionId field's value.
20142func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
20143 s.VersionId = &v
20144 return s
20145}
20146
bae9f6d2
JC
20147type PutObjectAclOutput struct {
20148 _ struct{} `type:"structure"`
20149
20150 // If present, indicates that the requester was successfully charged for the
20151 // request.
20152 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20153}
20154
20155// String returns the string representation
20156func (s PutObjectAclOutput) String() string {
20157 return awsutil.Prettify(s)
20158}
20159
20160// GoString returns the string representation
20161func (s PutObjectAclOutput) GoString() string {
20162 return s.String()
20163}
20164
20165// SetRequestCharged sets the RequestCharged field's value.
20166func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
20167 s.RequestCharged = &v
20168 return s
20169}
20170
bae9f6d2
JC
20171type PutObjectInput struct {
20172 _ struct{} `type:"structure" payload:"Body"`
20173
20174 // The canned ACL to apply to the object.
20175 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20176
20177 // Object data.
20178 Body io.ReadSeeker `type:"blob"`
20179
20180 // Name of the bucket to which the PUT operation was initiated.
20181 //
20182 // Bucket is a required field
20183 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20184
20185 // Specifies caching behavior along the request/reply chain.
20186 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
20187
20188 // Specifies presentational information for the object.
20189 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
20190
20191 // Specifies what content encodings have been applied to the object and thus
20192 // what decoding mechanisms must be applied to obtain the media-type referenced
20193 // by the Content-Type header field.
20194 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
20195
20196 // The language the content is in.
20197 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
20198
20199 // Size of the body in bytes. This parameter is useful when the size of the
20200 // body cannot be determined automatically.
20201 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
20202
107c1cdb
ND
20203 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
20204 // auto-populated when using the command from the CLI
15c0b25d
AP
20205 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
20206
bae9f6d2
JC
20207 // A standard MIME type describing the format of the object data.
20208 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
20209
20210 // The date and time at which the object is no longer cacheable.
15c0b25d 20211 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
bae9f6d2
JC
20212
20213 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
20214 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20215
20216 // Allows grantee to read the object data and its metadata.
20217 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20218
20219 // Allows grantee to read the object ACL.
20220 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20221
20222 // Allows grantee to write the ACL for the applicable object.
20223 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20224
20225 // Object key for which the PUT operation was initiated.
20226 //
20227 // Key is a required field
20228 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20229
20230 // A map of metadata to store with the object in S3.
20231 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
20232
107c1cdb
ND
20233 // The Legal Hold status that you want to apply to the specified object.
20234 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
20235
20236 // The Object Lock mode that you want to apply to this object.
20237 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
20238
20239 // The date and time when you want this object's Object Lock to expire.
20240 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
20241
bae9f6d2
JC
20242 // Confirms that the requester knows that she or he will be charged for the
20243 // request. Bucket owners need not specify this parameter in their requests.
20244 // Documentation on downloading objects from requester pays buckets can be found
20245 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20246 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20247
20248 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
20249 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20250
20251 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
20252 // data. This value is used to store the object and then it is discarded; Amazon
20253 // does not store the encryption key. The key must be appropriate for use with
20254 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
20255 // header.
107c1cdb 20256 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
20257
20258 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
20259 // Amazon S3 uses this header for a message integrity check to ensure the encryption
20260 // key was transmitted without error.
20261 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20262
20263 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
20264 // requests for an object protected by AWS KMS will fail if not made via SSL
20265 // or using SigV4. Documentation on configuring any of the officially supported
20266 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
107c1cdb 20267 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
20268
20269 // The Server-side encryption algorithm used when storing this object in S3
20270 // (e.g., AES256, aws:kms).
20271 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20272
20273 // The type of storage to use for the object. Defaults to 'STANDARD'.
20274 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
20275
107c1cdb
ND
20276 // The tag-set for the object. The tag-set must be encoded as URL Query parameters.
20277 // (For example, "Key1=Value1")
bae9f6d2
JC
20278 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
20279
20280 // If the bucket is configured as a website, redirects requests for this object
20281 // to another object in the same bucket or to an external URL. Amazon S3 stores
20282 // the value of this header in the object metadata.
20283 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
20284}
20285
20286// String returns the string representation
20287func (s PutObjectInput) String() string {
20288 return awsutil.Prettify(s)
20289}
20290
20291// GoString returns the string representation
20292func (s PutObjectInput) GoString() string {
20293 return s.String()
20294}
20295
20296// Validate inspects the fields of the type to determine if they are valid.
20297func (s *PutObjectInput) Validate() error {
20298 invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"}
20299 if s.Bucket == nil {
20300 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20301 }
107c1cdb
ND
20302 if s.Bucket != nil && len(*s.Bucket) < 1 {
20303 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20304 }
bae9f6d2
JC
20305 if s.Key == nil {
20306 invalidParams.Add(request.NewErrParamRequired("Key"))
20307 }
20308 if s.Key != nil && len(*s.Key) < 1 {
20309 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20310 }
20311
20312 if invalidParams.Len() > 0 {
20313 return invalidParams
20314 }
20315 return nil
20316}
20317
20318// SetACL sets the ACL field's value.
20319func (s *PutObjectInput) SetACL(v string) *PutObjectInput {
20320 s.ACL = &v
20321 return s
20322}
20323
20324// SetBody sets the Body field's value.
20325func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput {
20326 s.Body = v
20327 return s
20328}
20329
20330// SetBucket sets the Bucket field's value.
107c1cdb
ND
20331func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
20332 s.Bucket = &v
20333 return s
20334}
20335
20336func (s *PutObjectInput) getBucket() (v string) {
20337 if s.Bucket == nil {
20338 return v
20339 }
20340 return *s.Bucket
20341}
20342
20343// SetCacheControl sets the CacheControl field's value.
20344func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
20345 s.CacheControl = &v
20346 return s
20347}
20348
20349// SetContentDisposition sets the ContentDisposition field's value.
20350func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
20351 s.ContentDisposition = &v
20352 return s
20353}
20354
20355// SetContentEncoding sets the ContentEncoding field's value.
20356func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput {
20357 s.ContentEncoding = &v
20358 return s
20359}
20360
20361// SetContentLanguage sets the ContentLanguage field's value.
20362func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput {
20363 s.ContentLanguage = &v
20364 return s
20365}
20366
20367// SetContentLength sets the ContentLength field's value.
20368func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
20369 s.ContentLength = &v
20370 return s
20371}
20372
20373// SetContentMD5 sets the ContentMD5 field's value.
20374func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
20375 s.ContentMD5 = &v
20376 return s
20377}
20378
20379// SetContentType sets the ContentType field's value.
20380func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
20381 s.ContentType = &v
20382 return s
20383}
20384
20385// SetExpires sets the Expires field's value.
20386func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput {
20387 s.Expires = &v
20388 return s
20389}
20390
20391// SetGrantFullControl sets the GrantFullControl field's value.
20392func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput {
20393 s.GrantFullControl = &v
20394 return s
20395}
20396
20397// SetGrantRead sets the GrantRead field's value.
20398func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput {
20399 s.GrantRead = &v
20400 return s
20401}
20402
20403// SetGrantReadACP sets the GrantReadACP field's value.
20404func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput {
20405 s.GrantReadACP = &v
20406 return s
20407}
20408
20409// SetGrantWriteACP sets the GrantWriteACP field's value.
20410func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput {
20411 s.GrantWriteACP = &v
20412 return s
20413}
20414
20415// SetKey sets the Key field's value.
20416func (s *PutObjectInput) SetKey(v string) *PutObjectInput {
20417 s.Key = &v
20418 return s
20419}
20420
20421// SetMetadata sets the Metadata field's value.
20422func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput {
20423 s.Metadata = v
20424 return s
20425}
20426
20427// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
20428func (s *PutObjectInput) SetObjectLockLegalHoldStatus(v string) *PutObjectInput {
20429 s.ObjectLockLegalHoldStatus = &v
20430 return s
20431}
20432
20433// SetObjectLockMode sets the ObjectLockMode field's value.
20434func (s *PutObjectInput) SetObjectLockMode(v string) *PutObjectInput {
20435 s.ObjectLockMode = &v
20436 return s
20437}
20438
20439// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
20440func (s *PutObjectInput) SetObjectLockRetainUntilDate(v time.Time) *PutObjectInput {
20441 s.ObjectLockRetainUntilDate = &v
20442 return s
20443}
20444
20445// SetRequestPayer sets the RequestPayer field's value.
20446func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput {
20447 s.RequestPayer = &v
20448 return s
20449}
20450
20451// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20452func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput {
20453 s.SSECustomerAlgorithm = &v
20454 return s
20455}
20456
20457// SetSSECustomerKey sets the SSECustomerKey field's value.
20458func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
20459 s.SSECustomerKey = &v
20460 return s
20461}
20462
20463func (s *PutObjectInput) getSSECustomerKey() (v string) {
20464 if s.SSECustomerKey == nil {
20465 return v
20466 }
20467 return *s.SSECustomerKey
20468}
20469
20470// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20471func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
20472 s.SSECustomerKeyMD5 = &v
20473 return s
20474}
20475
20476// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20477func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
20478 s.SSEKMSKeyId = &v
20479 return s
20480}
20481
20482// SetServerSideEncryption sets the ServerSideEncryption field's value.
20483func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput {
20484 s.ServerSideEncryption = &v
20485 return s
20486}
20487
20488// SetStorageClass sets the StorageClass field's value.
20489func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput {
20490 s.StorageClass = &v
20491 return s
20492}
20493
20494// SetTagging sets the Tagging field's value.
20495func (s *PutObjectInput) SetTagging(v string) *PutObjectInput {
20496 s.Tagging = &v
20497 return s
20498}
20499
20500// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
20501func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
20502 s.WebsiteRedirectLocation = &v
20503 return s
20504}
20505
20506type PutObjectLegalHoldInput struct {
20507 _ struct{} `type:"structure" payload:"LegalHold"`
20508
20509 // The bucket containing the object that you want to place a Legal Hold on.
20510 //
20511 // Bucket is a required field
20512 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20513
20514 // The key name for the object that you want to place a Legal Hold on.
20515 //
20516 // Key is a required field
20517 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20518
20519 // Container element for the Legal Hold configuration you want to apply to the
20520 // specified object.
20521 LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20522
20523 // Confirms that the requester knows that she or he will be charged for the
20524 // request. Bucket owners need not specify this parameter in their requests.
20525 // Documentation on downloading objects from requester pays buckets can be found
20526 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20527 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20528
20529 // The version ID of the object that you want to place a Legal Hold on.
20530 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20531}
20532
20533// String returns the string representation
20534func (s PutObjectLegalHoldInput) String() string {
20535 return awsutil.Prettify(s)
20536}
20537
20538// GoString returns the string representation
20539func (s PutObjectLegalHoldInput) GoString() string {
20540 return s.String()
20541}
20542
20543// Validate inspects the fields of the type to determine if they are valid.
20544func (s *PutObjectLegalHoldInput) Validate() error {
20545 invalidParams := request.ErrInvalidParams{Context: "PutObjectLegalHoldInput"}
20546 if s.Bucket == nil {
20547 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20548 }
20549 if s.Bucket != nil && len(*s.Bucket) < 1 {
20550 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20551 }
20552 if s.Key == nil {
20553 invalidParams.Add(request.NewErrParamRequired("Key"))
20554 }
20555 if s.Key != nil && len(*s.Key) < 1 {
20556 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20557 }
20558
20559 if invalidParams.Len() > 0 {
20560 return invalidParams
20561 }
20562 return nil
20563}
20564
20565// SetBucket sets the Bucket field's value.
20566func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput {
bae9f6d2
JC
20567 s.Bucket = &v
20568 return s
20569}
20570
107c1cdb 20571func (s *PutObjectLegalHoldInput) getBucket() (v string) {
15c0b25d
AP
20572 if s.Bucket == nil {
20573 return v
20574 }
20575 return *s.Bucket
20576}
20577
107c1cdb
ND
20578// SetKey sets the Key field's value.
20579func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput {
20580 s.Key = &v
bae9f6d2
JC
20581 return s
20582}
20583
107c1cdb
ND
20584// SetLegalHold sets the LegalHold field's value.
20585func (s *PutObjectLegalHoldInput) SetLegalHold(v *ObjectLockLegalHold) *PutObjectLegalHoldInput {
20586 s.LegalHold = v
bae9f6d2
JC
20587 return s
20588}
20589
107c1cdb
ND
20590// SetRequestPayer sets the RequestPayer field's value.
20591func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput {
20592 s.RequestPayer = &v
bae9f6d2
JC
20593 return s
20594}
20595
107c1cdb
ND
20596// SetVersionId sets the VersionId field's value.
20597func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput {
20598 s.VersionId = &v
bae9f6d2
JC
20599 return s
20600}
20601
107c1cdb
ND
20602type PutObjectLegalHoldOutput struct {
20603 _ struct{} `type:"structure"`
bae9f6d2 20604
107c1cdb
ND
20605 // If present, indicates that the requester was successfully charged for the
20606 // request.
20607 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
15c0b25d
AP
20608}
20609
107c1cdb
ND
20610// String returns the string representation
20611func (s PutObjectLegalHoldOutput) String() string {
20612 return awsutil.Prettify(s)
bae9f6d2
JC
20613}
20614
107c1cdb
ND
20615// GoString returns the string representation
20616func (s PutObjectLegalHoldOutput) GoString() string {
20617 return s.String()
bae9f6d2
JC
20618}
20619
107c1cdb
ND
20620// SetRequestCharged sets the RequestCharged field's value.
20621func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHoldOutput {
20622 s.RequestCharged = &v
bae9f6d2
JC
20623 return s
20624}
20625
107c1cdb
ND
20626type PutObjectLockConfigurationInput struct {
20627 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
bae9f6d2 20628
107c1cdb
ND
20629 // The bucket whose Object Lock configuration you want to create or replace.
20630 //
20631 // Bucket is a required field
20632 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
bae9f6d2 20633
107c1cdb
ND
20634 // The Object Lock configuration that you want to apply to the specified bucket.
20635 ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2 20636
107c1cdb
ND
20637 // Confirms that the requester knows that she or he will be charged for the
20638 // request. Bucket owners need not specify this parameter in their requests.
20639 // Documentation on downloading objects from requester pays buckets can be found
20640 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20641 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20642
20643 // A token to allow Object Lock to be enabled for an existing bucket.
20644 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
bae9f6d2
JC
20645}
20646
107c1cdb
ND
20647// String returns the string representation
20648func (s PutObjectLockConfigurationInput) String() string {
20649 return awsutil.Prettify(s)
bae9f6d2
JC
20650}
20651
107c1cdb
ND
20652// GoString returns the string representation
20653func (s PutObjectLockConfigurationInput) GoString() string {
20654 return s.String()
bae9f6d2
JC
20655}
20656
107c1cdb
ND
20657// Validate inspects the fields of the type to determine if they are valid.
20658func (s *PutObjectLockConfigurationInput) Validate() error {
20659 invalidParams := request.ErrInvalidParams{Context: "PutObjectLockConfigurationInput"}
20660 if s.Bucket == nil {
20661 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20662 }
20663 if s.Bucket != nil && len(*s.Bucket) < 1 {
20664 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20665 }
20666
20667 if invalidParams.Len() > 0 {
20668 return invalidParams
20669 }
20670 return nil
bae9f6d2
JC
20671}
20672
107c1cdb
ND
20673// SetBucket sets the Bucket field's value.
20674func (s *PutObjectLockConfigurationInput) SetBucket(v string) *PutObjectLockConfigurationInput {
20675 s.Bucket = &v
bae9f6d2
JC
20676 return s
20677}
20678
107c1cdb
ND
20679func (s *PutObjectLockConfigurationInput) getBucket() (v string) {
20680 if s.Bucket == nil {
15c0b25d
AP
20681 return v
20682 }
107c1cdb 20683 return *s.Bucket
15c0b25d
AP
20684}
20685
107c1cdb
ND
20686// SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
20687func (s *PutObjectLockConfigurationInput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *PutObjectLockConfigurationInput {
20688 s.ObjectLockConfiguration = v
bae9f6d2
JC
20689 return s
20690}
20691
107c1cdb
ND
20692// SetRequestPayer sets the RequestPayer field's value.
20693func (s *PutObjectLockConfigurationInput) SetRequestPayer(v string) *PutObjectLockConfigurationInput {
20694 s.RequestPayer = &v
bae9f6d2
JC
20695 return s
20696}
20697
107c1cdb
ND
20698// SetToken sets the Token field's value.
20699func (s *PutObjectLockConfigurationInput) SetToken(v string) *PutObjectLockConfigurationInput {
20700 s.Token = &v
bae9f6d2
JC
20701 return s
20702}
20703
107c1cdb
ND
20704type PutObjectLockConfigurationOutput struct {
20705 _ struct{} `type:"structure"`
20706
20707 // If present, indicates that the requester was successfully charged for the
20708 // request.
20709 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
bae9f6d2
JC
20710}
20711
107c1cdb
ND
20712// String returns the string representation
20713func (s PutObjectLockConfigurationOutput) String() string {
20714 return awsutil.Prettify(s)
bae9f6d2
JC
20715}
20716
107c1cdb
ND
20717// GoString returns the string representation
20718func (s PutObjectLockConfigurationOutput) GoString() string {
20719 return s.String()
20720}
20721
20722// SetRequestCharged sets the RequestCharged field's value.
20723func (s *PutObjectLockConfigurationOutput) SetRequestCharged(v string) *PutObjectLockConfigurationOutput {
20724 s.RequestCharged = &v
bae9f6d2
JC
20725 return s
20726}
20727
bae9f6d2
JC
20728type PutObjectOutput struct {
20729 _ struct{} `type:"structure"`
20730
20731 // Entity tag for the uploaded object.
20732 ETag *string `location:"header" locationName:"ETag" type:"string"`
20733
20734 // If the object expiration is configured, this will contain the expiration
20735 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
20736 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
20737
20738 // If present, indicates that the requester was successfully charged for the
20739 // request.
20740 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20741
20742 // If server-side encryption with a customer-provided encryption key was requested,
20743 // the response will include this header confirming the encryption algorithm
20744 // used.
20745 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20746
20747 // If server-side encryption with a customer-provided encryption key was requested,
20748 // the response will include this header to provide round trip message integrity
20749 // verification of the customer-provided encryption key.
20750 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20751
20752 // If present, specifies the ID of the AWS Key Management Service (KMS) master
20753 // encryption key that was used for the object.
107c1cdb 20754 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
20755
20756 // The Server-side encryption algorithm used when storing this object in S3
20757 // (e.g., AES256, aws:kms).
20758 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20759
20760 // Version of the object.
20761 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
20762}
20763
20764// String returns the string representation
20765func (s PutObjectOutput) String() string {
20766 return awsutil.Prettify(s)
20767}
20768
20769// GoString returns the string representation
20770func (s PutObjectOutput) GoString() string {
20771 return s.String()
20772}
20773
20774// SetETag sets the ETag field's value.
20775func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
20776 s.ETag = &v
20777 return s
20778}
20779
20780// SetExpiration sets the Expiration field's value.
20781func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput {
20782 s.Expiration = &v
20783 return s
20784}
20785
107c1cdb
ND
20786// SetRequestCharged sets the RequestCharged field's value.
20787func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput {
20788 s.RequestCharged = &v
20789 return s
20790}
20791
20792// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20793func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput {
20794 s.SSECustomerAlgorithm = &v
20795 return s
20796}
20797
20798// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20799func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
20800 s.SSECustomerKeyMD5 = &v
20801 return s
20802}
20803
20804// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20805func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
20806 s.SSEKMSKeyId = &v
20807 return s
20808}
20809
20810// SetServerSideEncryption sets the ServerSideEncryption field's value.
20811func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput {
20812 s.ServerSideEncryption = &v
20813 return s
20814}
20815
20816// SetVersionId sets the VersionId field's value.
20817func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
20818 s.VersionId = &v
20819 return s
20820}
20821
20822type PutObjectRetentionInput struct {
20823 _ struct{} `type:"structure" payload:"Retention"`
20824
20825 // The bucket that contains the object you want to apply this Object Retention
20826 // configuration to.
20827 //
20828 // Bucket is a required field
20829 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20830
20831 // Indicates whether this operation should bypass Governance-mode restrictions.j
20832 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
20833
20834 // The key name for the object that you want to apply this Object Retention
20835 // configuration to.
20836 //
20837 // Key is a required field
20838 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20839
20840 // Confirms that the requester knows that she or he will be charged for the
20841 // request. Bucket owners need not specify this parameter in their requests.
20842 // Documentation on downloading objects from requester pays buckets can be found
20843 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20844 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20845
20846 // The container element for the Object Retention configuration.
20847 Retention *ObjectLockRetention `locationName:"Retention" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20848
20849 // The version ID for the object that you want to apply this Object Retention
20850 // configuration to.
20851 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20852}
20853
20854// String returns the string representation
20855func (s PutObjectRetentionInput) String() string {
20856 return awsutil.Prettify(s)
20857}
20858
20859// GoString returns the string representation
20860func (s PutObjectRetentionInput) GoString() string {
20861 return s.String()
20862}
20863
20864// Validate inspects the fields of the type to determine if they are valid.
20865func (s *PutObjectRetentionInput) Validate() error {
20866 invalidParams := request.ErrInvalidParams{Context: "PutObjectRetentionInput"}
20867 if s.Bucket == nil {
20868 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20869 }
20870 if s.Bucket != nil && len(*s.Bucket) < 1 {
20871 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20872 }
20873 if s.Key == nil {
20874 invalidParams.Add(request.NewErrParamRequired("Key"))
20875 }
20876 if s.Key != nil && len(*s.Key) < 1 {
20877 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20878 }
20879
20880 if invalidParams.Len() > 0 {
20881 return invalidParams
20882 }
20883 return nil
20884}
20885
20886// SetBucket sets the Bucket field's value.
20887func (s *PutObjectRetentionInput) SetBucket(v string) *PutObjectRetentionInput {
20888 s.Bucket = &v
20889 return s
20890}
20891
20892func (s *PutObjectRetentionInput) getBucket() (v string) {
20893 if s.Bucket == nil {
20894 return v
20895 }
20896 return *s.Bucket
20897}
20898
20899// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
20900func (s *PutObjectRetentionInput) SetBypassGovernanceRetention(v bool) *PutObjectRetentionInput {
20901 s.BypassGovernanceRetention = &v
20902 return s
20903}
20904
20905// SetKey sets the Key field's value.
20906func (s *PutObjectRetentionInput) SetKey(v string) *PutObjectRetentionInput {
20907 s.Key = &v
20908 return s
20909}
20910
20911// SetRequestPayer sets the RequestPayer field's value.
20912func (s *PutObjectRetentionInput) SetRequestPayer(v string) *PutObjectRetentionInput {
20913 s.RequestPayer = &v
20914 return s
20915}
20916
20917// SetRetention sets the Retention field's value.
20918func (s *PutObjectRetentionInput) SetRetention(v *ObjectLockRetention) *PutObjectRetentionInput {
20919 s.Retention = v
bae9f6d2
JC
20920 return s
20921}
20922
107c1cdb
ND
20923// SetVersionId sets the VersionId field's value.
20924func (s *PutObjectRetentionInput) SetVersionId(v string) *PutObjectRetentionInput {
20925 s.VersionId = &v
bae9f6d2
JC
20926 return s
20927}
20928
107c1cdb
ND
20929type PutObjectRetentionOutput struct {
20930 _ struct{} `type:"structure"`
20931
20932 // If present, indicates that the requester was successfully charged for the
20933 // request.
20934 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
bae9f6d2
JC
20935}
20936
107c1cdb
ND
20937// String returns the string representation
20938func (s PutObjectRetentionOutput) String() string {
20939 return awsutil.Prettify(s)
bae9f6d2
JC
20940}
20941
107c1cdb
ND
20942// GoString returns the string representation
20943func (s PutObjectRetentionOutput) GoString() string {
20944 return s.String()
bae9f6d2
JC
20945}
20946
107c1cdb
ND
20947// SetRequestCharged sets the RequestCharged field's value.
20948func (s *PutObjectRetentionOutput) SetRequestCharged(v string) *PutObjectRetentionOutput {
20949 s.RequestCharged = &v
bae9f6d2
JC
20950 return s
20951}
20952
bae9f6d2
JC
20953type PutObjectTaggingInput struct {
20954 _ struct{} `type:"structure" payload:"Tagging"`
20955
20956 // Bucket is a required field
20957 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20958
20959 // Key is a required field
20960 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20961
20962 // Tagging is a required field
15c0b25d 20963 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
20964
20965 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20966}
20967
20968// String returns the string representation
20969func (s PutObjectTaggingInput) String() string {
20970 return awsutil.Prettify(s)
20971}
20972
20973// GoString returns the string representation
20974func (s PutObjectTaggingInput) GoString() string {
20975 return s.String()
20976}
20977
20978// Validate inspects the fields of the type to determine if they are valid.
20979func (s *PutObjectTaggingInput) Validate() error {
20980 invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"}
20981 if s.Bucket == nil {
20982 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20983 }
107c1cdb
ND
20984 if s.Bucket != nil && len(*s.Bucket) < 1 {
20985 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20986 }
bae9f6d2
JC
20987 if s.Key == nil {
20988 invalidParams.Add(request.NewErrParamRequired("Key"))
20989 }
20990 if s.Key != nil && len(*s.Key) < 1 {
20991 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20992 }
20993 if s.Tagging == nil {
20994 invalidParams.Add(request.NewErrParamRequired("Tagging"))
20995 }
20996 if s.Tagging != nil {
20997 if err := s.Tagging.Validate(); err != nil {
20998 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
20999 }
21000 }
21001
21002 if invalidParams.Len() > 0 {
21003 return invalidParams
21004 }
21005 return nil
21006}
21007
21008// SetBucket sets the Bucket field's value.
21009func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
21010 s.Bucket = &v
21011 return s
21012}
21013
15c0b25d
AP
21014func (s *PutObjectTaggingInput) getBucket() (v string) {
21015 if s.Bucket == nil {
21016 return v
21017 }
21018 return *s.Bucket
21019}
21020
bae9f6d2
JC
21021// SetKey sets the Key field's value.
21022func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
21023 s.Key = &v
21024 return s
21025}
21026
21027// SetTagging sets the Tagging field's value.
21028func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput {
21029 s.Tagging = v
21030 return s
21031}
21032
21033// SetVersionId sets the VersionId field's value.
21034func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
21035 s.VersionId = &v
21036 return s
21037}
21038
bae9f6d2
JC
21039type PutObjectTaggingOutput struct {
21040 _ struct{} `type:"structure"`
21041
21042 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
21043}
21044
21045// String returns the string representation
21046func (s PutObjectTaggingOutput) String() string {
21047 return awsutil.Prettify(s)
21048}
21049
21050// GoString returns the string representation
21051func (s PutObjectTaggingOutput) GoString() string {
21052 return s.String()
21053}
21054
21055// SetVersionId sets the VersionId field's value.
21056func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput {
21057 s.VersionId = &v
21058 return s
21059}
21060
107c1cdb
ND
21061type PutPublicAccessBlockInput struct {
21062 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
21063
21064 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
21065 // want to set.
21066 //
21067 // Bucket is a required field
21068 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21069
21070 // The PublicAccessBlock configuration that you want to apply to this Amazon
21071 // S3 bucket. You can enable the configuration options in any combination. For
21072 // more information about when Amazon S3 considers a bucket or object public,
21073 // 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)
21074 // in the Amazon Simple Storage Service Developer Guide.
21075 //
21076 // PublicAccessBlockConfiguration is a required field
21077 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21078}
21079
21080// String returns the string representation
21081func (s PutPublicAccessBlockInput) String() string {
21082 return awsutil.Prettify(s)
21083}
21084
21085// GoString returns the string representation
21086func (s PutPublicAccessBlockInput) GoString() string {
21087 return s.String()
21088}
21089
21090// Validate inspects the fields of the type to determine if they are valid.
21091func (s *PutPublicAccessBlockInput) Validate() error {
21092 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"}
21093 if s.Bucket == nil {
21094 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21095 }
21096 if s.Bucket != nil && len(*s.Bucket) < 1 {
21097 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21098 }
21099 if s.PublicAccessBlockConfiguration == nil {
21100 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration"))
21101 }
21102
21103 if invalidParams.Len() > 0 {
21104 return invalidParams
21105 }
21106 return nil
21107}
21108
21109// SetBucket sets the Bucket field's value.
21110func (s *PutPublicAccessBlockInput) SetBucket(v string) *PutPublicAccessBlockInput {
21111 s.Bucket = &v
21112 return s
21113}
21114
21115func (s *PutPublicAccessBlockInput) getBucket() (v string) {
21116 if s.Bucket == nil {
21117 return v
21118 }
21119 return *s.Bucket
21120}
21121
21122// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
21123func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput {
21124 s.PublicAccessBlockConfiguration = v
21125 return s
21126}
21127
21128type PutPublicAccessBlockOutput struct {
21129 _ struct{} `type:"structure"`
21130}
21131
21132// String returns the string representation
21133func (s PutPublicAccessBlockOutput) String() string {
21134 return awsutil.Prettify(s)
21135}
21136
21137// GoString returns the string representation
21138func (s PutPublicAccessBlockOutput) GoString() string {
21139 return s.String()
21140}
21141
21142// A container for specifying the configuration for publication of messages
21143// to an Amazon Simple Queue Service (Amazon SQS) queue.when Amazon S3 detects
21144// specified events.
bae9f6d2
JC
21145type QueueConfiguration struct {
21146 _ struct{} `type:"structure"`
21147
21148 // Events is a required field
21149 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
21150
107c1cdb
ND
21151 // A container for object key name filtering rules. For information about key
21152 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 21153 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
21154 Filter *NotificationConfigurationFilter `type:"structure"`
21155
107c1cdb 21156 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
21157 // If you don't provide one, Amazon S3 will assign an ID.
21158 Id *string `type:"string"`
21159
107c1cdb
ND
21160 // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
21161 // will publish a message when it detects events of the specified type.
bae9f6d2
JC
21162 //
21163 // QueueArn is a required field
21164 QueueArn *string `locationName:"Queue" type:"string" required:"true"`
21165}
21166
21167// String returns the string representation
21168func (s QueueConfiguration) String() string {
21169 return awsutil.Prettify(s)
21170}
21171
21172// GoString returns the string representation
21173func (s QueueConfiguration) GoString() string {
21174 return s.String()
21175}
21176
21177// Validate inspects the fields of the type to determine if they are valid.
21178func (s *QueueConfiguration) Validate() error {
21179 invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"}
21180 if s.Events == nil {
21181 invalidParams.Add(request.NewErrParamRequired("Events"))
21182 }
21183 if s.QueueArn == nil {
21184 invalidParams.Add(request.NewErrParamRequired("QueueArn"))
21185 }
21186
21187 if invalidParams.Len() > 0 {
21188 return invalidParams
21189 }
21190 return nil
21191}
21192
21193// SetEvents sets the Events field's value.
21194func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration {
21195 s.Events = v
21196 return s
21197}
21198
21199// SetFilter sets the Filter field's value.
21200func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration {
21201 s.Filter = v
21202 return s
21203}
21204
21205// SetId sets the Id field's value.
21206func (s *QueueConfiguration) SetId(v string) *QueueConfiguration {
21207 s.Id = &v
21208 return s
21209}
21210
21211// SetQueueArn sets the QueueArn field's value.
21212func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
21213 s.QueueArn = &v
21214 return s
21215}
21216
bae9f6d2
JC
21217type QueueConfigurationDeprecated struct {
21218 _ struct{} `type:"structure"`
21219
107c1cdb
ND
21220 // The bucket event for which to send notifications.
21221 //
21222 // Deprecated: Event has been deprecated
bae9f6d2
JC
21223 Event *string `deprecated:"true" type:"string" enum:"Event"`
21224
21225 Events []*string `locationName:"Event" type:"list" flattened:"true"`
21226
107c1cdb 21227 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
21228 // If you don't provide one, Amazon S3 will assign an ID.
21229 Id *string `type:"string"`
21230
21231 Queue *string `type:"string"`
21232}
21233
21234// String returns the string representation
21235func (s QueueConfigurationDeprecated) String() string {
21236 return awsutil.Prettify(s)
21237}
21238
21239// GoString returns the string representation
21240func (s QueueConfigurationDeprecated) GoString() string {
21241 return s.String()
21242}
21243
21244// SetEvent sets the Event field's value.
21245func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated {
21246 s.Event = &v
21247 return s
21248}
21249
21250// SetEvents sets the Events field's value.
21251func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated {
21252 s.Events = v
21253 return s
21254}
21255
21256// SetId sets the Id field's value.
21257func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated {
21258 s.Id = &v
21259 return s
21260}
21261
21262// SetQueue sets the Queue field's value.
21263func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated {
21264 s.Queue = &v
21265 return s
21266}
21267
15c0b25d
AP
21268type RecordsEvent struct {
21269 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
21270
21271 // The byte array of partial, one or more result records.
21272 //
21273 // Payload is automatically base64 encoded/decoded by the SDK.
21274 Payload []byte `type:"blob"`
21275}
21276
21277// String returns the string representation
21278func (s RecordsEvent) String() string {
21279 return awsutil.Prettify(s)
21280}
21281
21282// GoString returns the string representation
21283func (s RecordsEvent) GoString() string {
21284 return s.String()
21285}
21286
21287// SetPayload sets the Payload field's value.
21288func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
21289 s.Payload = v
21290 return s
21291}
21292
21293// The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
21294func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
21295
21296// UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value.
21297// This method is only used internally within the SDK's EventStream handling.
21298func (s *RecordsEvent) UnmarshalEvent(
21299 payloadUnmarshaler protocol.PayloadUnmarshaler,
21300 msg eventstream.Message,
21301) error {
21302 s.Payload = make([]byte, len(msg.Payload))
21303 copy(s.Payload, msg.Payload)
21304 return nil
21305}
21306
bae9f6d2
JC
21307type Redirect struct {
21308 _ struct{} `type:"structure"`
21309
21310 // The host name to use in the redirect request.
21311 HostName *string `type:"string"`
21312
21313 // The HTTP redirect code to use on the response. Not required if one of the
21314 // siblings is present.
21315 HttpRedirectCode *string `type:"string"`
21316
21317 // Protocol to use (http, https) when redirecting requests. The default is the
21318 // protocol that is used in the original request.
21319 Protocol *string `type:"string" enum:"Protocol"`
21320
21321 // The object key prefix to use in the redirect request. For example, to redirect
21322 // requests for all pages with prefix docs/ (objects in the docs/ folder) to
21323 // documents/, you can set a condition block with KeyPrefixEquals set to docs/
21324 // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required
21325 // if one of the siblings is present. Can be present only if ReplaceKeyWith
21326 // is not provided.
21327 ReplaceKeyPrefixWith *string `type:"string"`
21328
21329 // The specific object key to use in the redirect request. For example, redirect
21330 // request to error.html. Not required if one of the sibling is present. Can
21331 // be present only if ReplaceKeyPrefixWith is not provided.
21332 ReplaceKeyWith *string `type:"string"`
21333}
21334
21335// String returns the string representation
21336func (s Redirect) String() string {
21337 return awsutil.Prettify(s)
21338}
21339
21340// GoString returns the string representation
21341func (s Redirect) GoString() string {
21342 return s.String()
21343}
21344
21345// SetHostName sets the HostName field's value.
21346func (s *Redirect) SetHostName(v string) *Redirect {
21347 s.HostName = &v
21348 return s
21349}
21350
21351// SetHttpRedirectCode sets the HttpRedirectCode field's value.
21352func (s *Redirect) SetHttpRedirectCode(v string) *Redirect {
21353 s.HttpRedirectCode = &v
21354 return s
21355}
21356
21357// SetProtocol sets the Protocol field's value.
21358func (s *Redirect) SetProtocol(v string) *Redirect {
21359 s.Protocol = &v
21360 return s
21361}
21362
21363// SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
21364func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect {
21365 s.ReplaceKeyPrefixWith = &v
21366 return s
21367}
21368
21369// SetReplaceKeyWith sets the ReplaceKeyWith field's value.
21370func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
21371 s.ReplaceKeyWith = &v
21372 return s
21373}
21374
bae9f6d2
JC
21375type RedirectAllRequestsTo struct {
21376 _ struct{} `type:"structure"`
21377
21378 // Name of the host where requests will be redirected.
21379 //
21380 // HostName is a required field
21381 HostName *string `type:"string" required:"true"`
21382
21383 // Protocol to use (http, https) when redirecting requests. The default is the
21384 // protocol that is used in the original request.
21385 Protocol *string `type:"string" enum:"Protocol"`
21386}
21387
21388// String returns the string representation
21389func (s RedirectAllRequestsTo) String() string {
21390 return awsutil.Prettify(s)
21391}
21392
21393// GoString returns the string representation
21394func (s RedirectAllRequestsTo) GoString() string {
21395 return s.String()
21396}
21397
21398// Validate inspects the fields of the type to determine if they are valid.
21399func (s *RedirectAllRequestsTo) Validate() error {
21400 invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"}
21401 if s.HostName == nil {
21402 invalidParams.Add(request.NewErrParamRequired("HostName"))
21403 }
21404
21405 if invalidParams.Len() > 0 {
21406 return invalidParams
21407 }
21408 return nil
21409}
21410
21411// SetHostName sets the HostName field's value.
21412func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo {
21413 s.HostName = &v
21414 return s
21415}
21416
21417// SetProtocol sets the Protocol field's value.
21418func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
21419 s.Protocol = &v
21420 return s
21421}
21422
107c1cdb
ND
21423// A container for replication rules. You can add up to 1,000 rules. The maximum
21424// size of a replication configuration is 2 MB.
bae9f6d2
JC
21425type ReplicationConfiguration struct {
21426 _ struct{} `type:"structure"`
21427
107c1cdb
ND
21428 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management
21429 // (IAM) role that Amazon S3 can assume when replicating the objects.
bae9f6d2
JC
21430 //
21431 // Role is a required field
21432 Role *string `type:"string" required:"true"`
21433
107c1cdb
ND
21434 // A container for one or more replication rules. A replication configuration
21435 // must have at least one rule and can contain a maximum of 1,000 rules.
bae9f6d2
JC
21436 //
21437 // Rules is a required field
21438 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
21439}
21440
21441// String returns the string representation
21442func (s ReplicationConfiguration) String() string {
21443 return awsutil.Prettify(s)
21444}
21445
21446// GoString returns the string representation
21447func (s ReplicationConfiguration) GoString() string {
21448 return s.String()
21449}
21450
21451// Validate inspects the fields of the type to determine if they are valid.
21452func (s *ReplicationConfiguration) Validate() error {
21453 invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"}
21454 if s.Role == nil {
21455 invalidParams.Add(request.NewErrParamRequired("Role"))
21456 }
21457 if s.Rules == nil {
21458 invalidParams.Add(request.NewErrParamRequired("Rules"))
21459 }
21460 if s.Rules != nil {
21461 for i, v := range s.Rules {
21462 if v == nil {
21463 continue
21464 }
21465 if err := v.Validate(); err != nil {
21466 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
21467 }
21468 }
21469 }
21470
21471 if invalidParams.Len() > 0 {
21472 return invalidParams
21473 }
21474 return nil
21475}
21476
21477// SetRole sets the Role field's value.
21478func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration {
21479 s.Role = &v
21480 return s
21481}
21482
21483// SetRules sets the Rules field's value.
21484func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
21485 s.Rules = v
21486 return s
21487}
21488
107c1cdb 21489// A container for information about a specific replication rule.
bae9f6d2
JC
21490type ReplicationRule struct {
21491 _ struct{} `type:"structure"`
21492
107c1cdb
ND
21493 // Specifies whether Amazon S3 should replicate delete makers.
21494 DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"`
21495
21496 // A container for information about the replication destination.
15c0b25d 21497 //
bae9f6d2
JC
21498 // Destination is a required field
21499 Destination *Destination `type:"structure" required:"true"`
21500
107c1cdb
ND
21501 // A filter that identifies the subset of objects to which the replication rule
21502 // applies. A Filter must specify exactly one Prefix, Tag, or an And child element.
21503 Filter *ReplicationRuleFilter `type:"structure"`
21504
21505 // A unique identifier for the rule. The maximum value is 255 characters.
bae9f6d2
JC
21506 ID *string `type:"string"`
21507
107c1cdb
ND
21508 // An object keyname prefix that identifies the object or objects to which the
21509 // rule applies. The maximum prefix length is 1,024 characters.
bae9f6d2 21510 //
107c1cdb
ND
21511 // Deprecated: Prefix has been deprecated
21512 Prefix *string `deprecated:"true" type:"string"`
bae9f6d2 21513
107c1cdb
ND
21514 // The priority associated with the rule. If you specify multiple rules in a
21515 // replication configuration, Amazon S3 prioritizes the rules to prevent conflicts
21516 // when filtering. If two or more rules identify the same object based on a
21517 // specified filter, the rule with higher priority takes precedence. For example:
21518 //
21519 // * Same object quality prefix based filter criteria If prefixes you specified
21520 // in multiple rules overlap
21521 //
21522 // * Same object qualify tag based filter criteria specified in multiple
21523 // rules
21524 //
21525 // For more information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
21526 // in the Amazon S3 Developer Guide.
21527 Priority *int64 `type:"integer"`
21528
21529 // A container that describes additional filters for identifying the source
21530 // objects that you want to replicate. You can choose to enable or disable the
21531 // replication of these objects. Currently, Amazon S3 supports only the filter
21532 // that you can specify for objects created with server-side encryption using
21533 // an AWS KMS-Managed Key (SSE-KMS).
21534 //
21535 // If you want Amazon S3 to replicate objects created with server-side encryption
21536 // using AWS KMS-Managed Keys.
15c0b25d
AP
21537 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
21538
107c1cdb 21539 // If status isn't enabled, the rule is ignored.
bae9f6d2
JC
21540 //
21541 // Status is a required field
21542 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
21543}
21544
21545// String returns the string representation
21546func (s ReplicationRule) String() string {
21547 return awsutil.Prettify(s)
21548}
21549
21550// GoString returns the string representation
21551func (s ReplicationRule) GoString() string {
21552 return s.String()
21553}
21554
21555// Validate inspects the fields of the type to determine if they are valid.
21556func (s *ReplicationRule) Validate() error {
21557 invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"}
21558 if s.Destination == nil {
21559 invalidParams.Add(request.NewErrParamRequired("Destination"))
21560 }
bae9f6d2
JC
21561 if s.Status == nil {
21562 invalidParams.Add(request.NewErrParamRequired("Status"))
21563 }
21564 if s.Destination != nil {
21565 if err := s.Destination.Validate(); err != nil {
21566 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
21567 }
21568 }
107c1cdb
ND
21569 if s.Filter != nil {
21570 if err := s.Filter.Validate(); err != nil {
21571 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
21572 }
21573 }
15c0b25d
AP
21574 if s.SourceSelectionCriteria != nil {
21575 if err := s.SourceSelectionCriteria.Validate(); err != nil {
21576 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
21577 }
21578 }
bae9f6d2
JC
21579
21580 if invalidParams.Len() > 0 {
21581 return invalidParams
21582 }
21583 return nil
21584}
21585
107c1cdb
ND
21586// SetDeleteMarkerReplication sets the DeleteMarkerReplication field's value.
21587func (s *ReplicationRule) SetDeleteMarkerReplication(v *DeleteMarkerReplication) *ReplicationRule {
21588 s.DeleteMarkerReplication = v
21589 return s
21590}
21591
bae9f6d2
JC
21592// SetDestination sets the Destination field's value.
21593func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule {
21594 s.Destination = v
21595 return s
21596}
21597
107c1cdb
ND
21598// SetFilter sets the Filter field's value.
21599func (s *ReplicationRule) SetFilter(v *ReplicationRuleFilter) *ReplicationRule {
21600 s.Filter = v
21601 return s
21602}
21603
bae9f6d2
JC
21604// SetID sets the ID field's value.
21605func (s *ReplicationRule) SetID(v string) *ReplicationRule {
21606 s.ID = &v
21607 return s
21608}
21609
21610// SetPrefix sets the Prefix field's value.
21611func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
21612 s.Prefix = &v
21613 return s
21614}
21615
107c1cdb
ND
21616// SetPriority sets the Priority field's value.
21617func (s *ReplicationRule) SetPriority(v int64) *ReplicationRule {
21618 s.Priority = &v
21619 return s
21620}
21621
15c0b25d
AP
21622// SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
21623func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
21624 s.SourceSelectionCriteria = v
21625 return s
21626}
21627
bae9f6d2
JC
21628// SetStatus sets the Status field's value.
21629func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
21630 s.Status = &v
21631 return s
21632}
21633
107c1cdb
ND
21634type ReplicationRuleAndOperator struct {
21635 _ struct{} `type:"structure"`
21636
21637 Prefix *string `type:"string"`
21638
21639 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
21640}
21641
21642// String returns the string representation
21643func (s ReplicationRuleAndOperator) String() string {
21644 return awsutil.Prettify(s)
21645}
21646
21647// GoString returns the string representation
21648func (s ReplicationRuleAndOperator) GoString() string {
21649 return s.String()
21650}
21651
21652// Validate inspects the fields of the type to determine if they are valid.
21653func (s *ReplicationRuleAndOperator) Validate() error {
21654 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleAndOperator"}
21655 if s.Tags != nil {
21656 for i, v := range s.Tags {
21657 if v == nil {
21658 continue
21659 }
21660 if err := v.Validate(); err != nil {
21661 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21662 }
21663 }
21664 }
21665
21666 if invalidParams.Len() > 0 {
21667 return invalidParams
21668 }
21669 return nil
21670}
21671
21672// SetPrefix sets the Prefix field's value.
21673func (s *ReplicationRuleAndOperator) SetPrefix(v string) *ReplicationRuleAndOperator {
21674 s.Prefix = &v
21675 return s
21676}
21677
21678// SetTags sets the Tags field's value.
21679func (s *ReplicationRuleAndOperator) SetTags(v []*Tag) *ReplicationRuleAndOperator {
21680 s.Tags = v
21681 return s
21682}
21683
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.
21686type ReplicationRuleFilter struct {
21687 _ struct{} `type:"structure"`
21688
21689 // A container for specifying rule filters. The filters determine the subset
21690 // of objects to which the rule applies. This element is required only if you
21691 // specify more than one filter. For example:
21692 //
21693 // * If you specify both a Prefix and a Tag filter, wrap these filters in
21694 // an And tag.
21695 //
21696 // * If you specify a filter based on multiple tags, wrap the Tag elements
21697 // in an And tag.
21698 And *ReplicationRuleAndOperator `type:"structure"`
21699
21700 // An object keyname prefix that identifies the subset of objects to which the
21701 // rule applies.
21702 Prefix *string `type:"string"`
21703
21704 // A container for specifying a tag key and value.
21705 //
21706 // The rule applies only to objects that have the tag in their tag set.
21707 Tag *Tag `type:"structure"`
21708}
21709
21710// String returns the string representation
21711func (s ReplicationRuleFilter) String() string {
21712 return awsutil.Prettify(s)
21713}
21714
21715// GoString returns the string representation
21716func (s ReplicationRuleFilter) GoString() string {
21717 return s.String()
21718}
21719
21720// Validate inspects the fields of the type to determine if they are valid.
21721func (s *ReplicationRuleFilter) Validate() error {
21722 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleFilter"}
21723 if s.And != nil {
21724 if err := s.And.Validate(); err != nil {
21725 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
21726 }
21727 }
21728 if s.Tag != nil {
21729 if err := s.Tag.Validate(); err != nil {
21730 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
21731 }
21732 }
21733
21734 if invalidParams.Len() > 0 {
21735 return invalidParams
21736 }
21737 return nil
21738}
21739
21740// SetAnd sets the And field's value.
21741func (s *ReplicationRuleFilter) SetAnd(v *ReplicationRuleAndOperator) *ReplicationRuleFilter {
21742 s.And = v
21743 return s
21744}
21745
21746// SetPrefix sets the Prefix field's value.
21747func (s *ReplicationRuleFilter) SetPrefix(v string) *ReplicationRuleFilter {
21748 s.Prefix = &v
21749 return s
21750}
21751
21752// SetTag sets the Tag field's value.
21753func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter {
21754 s.Tag = v
21755 return s
21756}
21757
bae9f6d2
JC
21758type RequestPaymentConfiguration struct {
21759 _ struct{} `type:"structure"`
21760
21761 // Specifies who pays for the download and request fees.
21762 //
21763 // Payer is a required field
21764 Payer *string `type:"string" required:"true" enum:"Payer"`
21765}
21766
21767// String returns the string representation
21768func (s RequestPaymentConfiguration) String() string {
21769 return awsutil.Prettify(s)
21770}
21771
21772// GoString returns the string representation
21773func (s RequestPaymentConfiguration) GoString() string {
21774 return s.String()
21775}
21776
21777// Validate inspects the fields of the type to determine if they are valid.
21778func (s *RequestPaymentConfiguration) Validate() error {
21779 invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"}
21780 if s.Payer == nil {
21781 invalidParams.Add(request.NewErrParamRequired("Payer"))
21782 }
21783
21784 if invalidParams.Len() > 0 {
21785 return invalidParams
21786 }
21787 return nil
21788}
21789
21790// SetPayer sets the Payer field's value.
21791func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration {
21792 s.Payer = &v
21793 return s
21794}
21795
15c0b25d
AP
21796type RequestProgress struct {
21797 _ struct{} `type:"structure"`
21798
21799 // Specifies whether periodic QueryProgress frames should be sent. Valid values:
21800 // TRUE, FALSE. Default value: FALSE.
21801 Enabled *bool `type:"boolean"`
21802}
21803
21804// String returns the string representation
21805func (s RequestProgress) String() string {
21806 return awsutil.Prettify(s)
21807}
21808
21809// GoString returns the string representation
21810func (s RequestProgress) GoString() string {
21811 return s.String()
21812}
21813
21814// SetEnabled sets the Enabled field's value.
21815func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
21816 s.Enabled = &v
21817 return s
21818}
21819
bae9f6d2
JC
21820type RestoreObjectInput struct {
21821 _ struct{} `type:"structure" payload:"RestoreRequest"`
21822
21823 // Bucket is a required field
21824 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21825
21826 // Key is a required field
21827 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21828
21829 // Confirms that the requester knows that she or he will be charged for the
21830 // request. Bucket owners need not specify this parameter in their requests.
21831 // Documentation on downloading objects from requester pays buckets can be found
21832 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
21833 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
21834
15c0b25d
AP
21835 // Container for restore job parameters.
21836 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
21837
21838 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
21839}
21840
21841// String returns the string representation
21842func (s RestoreObjectInput) String() string {
21843 return awsutil.Prettify(s)
21844}
21845
21846// GoString returns the string representation
21847func (s RestoreObjectInput) GoString() string {
21848 return s.String()
21849}
21850
21851// Validate inspects the fields of the type to determine if they are valid.
21852func (s *RestoreObjectInput) Validate() error {
21853 invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"}
21854 if s.Bucket == nil {
21855 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21856 }
107c1cdb
ND
21857 if s.Bucket != nil && len(*s.Bucket) < 1 {
21858 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21859 }
bae9f6d2
JC
21860 if s.Key == nil {
21861 invalidParams.Add(request.NewErrParamRequired("Key"))
21862 }
21863 if s.Key != nil && len(*s.Key) < 1 {
21864 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21865 }
21866 if s.RestoreRequest != nil {
21867 if err := s.RestoreRequest.Validate(); err != nil {
21868 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams))
21869 }
21870 }
21871
21872 if invalidParams.Len() > 0 {
21873 return invalidParams
21874 }
21875 return nil
21876}
21877
21878// SetBucket sets the Bucket field's value.
21879func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
21880 s.Bucket = &v
21881 return s
21882}
21883
15c0b25d
AP
21884func (s *RestoreObjectInput) getBucket() (v string) {
21885 if s.Bucket == nil {
21886 return v
21887 }
21888 return *s.Bucket
21889}
21890
bae9f6d2
JC
21891// SetKey sets the Key field's value.
21892func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
21893 s.Key = &v
21894 return s
21895}
21896
15c0b25d
AP
21897// SetRequestPayer sets the RequestPayer field's value.
21898func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput {
21899 s.RequestPayer = &v
21900 return s
21901}
21902
21903// SetRestoreRequest sets the RestoreRequest field's value.
21904func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput {
21905 s.RestoreRequest = v
21906 return s
21907}
21908
21909// SetVersionId sets the VersionId field's value.
21910func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
21911 s.VersionId = &v
21912 return s
21913}
21914
21915type RestoreObjectOutput struct {
21916 _ struct{} `type:"structure"`
21917
21918 // If present, indicates that the requester was successfully charged for the
21919 // request.
21920 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
21921
21922 // Indicates the path in the provided S3 output location where Select results
21923 // will be restored to.
21924 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"`
21925}
21926
21927// String returns the string representation
21928func (s RestoreObjectOutput) String() string {
21929 return awsutil.Prettify(s)
21930}
21931
21932// GoString returns the string representation
21933func (s RestoreObjectOutput) GoString() string {
21934 return s.String()
21935}
21936
21937// SetRequestCharged sets the RequestCharged field's value.
21938func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
21939 s.RequestCharged = &v
21940 return s
21941}
21942
21943// SetRestoreOutputPath sets the RestoreOutputPath field's value.
21944func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
21945 s.RestoreOutputPath = &v
21946 return s
21947}
21948
21949// Container for restore job parameters.
21950type RestoreRequest struct {
21951 _ struct{} `type:"structure"`
21952
21953 // Lifetime of the active copy in days. Do not use with restores that specify
21954 // OutputLocation.
21955 Days *int64 `type:"integer"`
21956
21957 // The optional description for the job.
21958 Description *string `type:"string"`
21959
21960 // Glacier related parameters pertaining to this job. Do not use with restores
21961 // that specify OutputLocation.
21962 GlacierJobParameters *GlacierJobParameters `type:"structure"`
21963
21964 // Describes the location where the restore job's output is stored.
21965 OutputLocation *OutputLocation `type:"structure"`
21966
21967 // Describes the parameters for Select job types.
21968 SelectParameters *SelectParameters `type:"structure"`
21969
21970 // Glacier retrieval tier at which the restore will be processed.
21971 Tier *string `type:"string" enum:"Tier"`
21972
21973 // Type of restore request.
21974 Type *string `type:"string" enum:"RestoreRequestType"`
21975}
21976
21977// String returns the string representation
21978func (s RestoreRequest) String() string {
21979 return awsutil.Prettify(s)
21980}
21981
21982// GoString returns the string representation
21983func (s RestoreRequest) GoString() string {
21984 return s.String()
21985}
21986
21987// Validate inspects the fields of the type to determine if they are valid.
21988func (s *RestoreRequest) Validate() error {
21989 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"}
21990 if s.GlacierJobParameters != nil {
21991 if err := s.GlacierJobParameters.Validate(); err != nil {
21992 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams))
21993 }
21994 }
21995 if s.OutputLocation != nil {
21996 if err := s.OutputLocation.Validate(); err != nil {
21997 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
21998 }
21999 }
22000 if s.SelectParameters != nil {
22001 if err := s.SelectParameters.Validate(); err != nil {
22002 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
22003 }
22004 }
22005
22006 if invalidParams.Len() > 0 {
22007 return invalidParams
22008 }
22009 return nil
22010}
22011
22012// SetDays sets the Days field's value.
22013func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
22014 s.Days = &v
22015 return s
22016}
22017
22018// SetDescription sets the Description field's value.
22019func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
22020 s.Description = &v
22021 return s
22022}
22023
22024// SetGlacierJobParameters sets the GlacierJobParameters field's value.
22025func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
22026 s.GlacierJobParameters = v
22027 return s
22028}
22029
22030// SetOutputLocation sets the OutputLocation field's value.
22031func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
22032 s.OutputLocation = v
22033 return s
22034}
22035
22036// SetSelectParameters sets the SelectParameters field's value.
22037func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
22038 s.SelectParameters = v
22039 return s
22040}
22041
22042// SetTier sets the Tier field's value.
22043func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
22044 s.Tier = &v
22045 return s
22046}
22047
22048// SetType sets the Type field's value.
22049func (s *RestoreRequest) SetType(v string) *RestoreRequest {
22050 s.Type = &v
22051 return s
22052}
22053
22054type RoutingRule struct {
22055 _ struct{} `type:"structure"`
22056
22057 // A container for describing a condition that must be met for the specified
22058 // redirect to apply. For example, 1. If request is for pages in the /docs folder,
22059 // redirect to the /documents folder. 2. If request results in HTTP error 4xx,
22060 // redirect request to another host where you might process the error.
22061 Condition *Condition `type:"structure"`
22062
22063 // Container for redirect information. You can redirect requests to another
22064 // host, to another page, or with another protocol. In the event of an error,
107c1cdb 22065 // you can specify a different error code to return.
15c0b25d
AP
22066 //
22067 // Redirect is a required field
22068 Redirect *Redirect `type:"structure" required:"true"`
22069}
22070
22071// String returns the string representation
22072func (s RoutingRule) String() string {
22073 return awsutil.Prettify(s)
22074}
22075
22076// GoString returns the string representation
22077func (s RoutingRule) GoString() string {
22078 return s.String()
22079}
22080
22081// Validate inspects the fields of the type to determine if they are valid.
22082func (s *RoutingRule) Validate() error {
22083 invalidParams := request.ErrInvalidParams{Context: "RoutingRule"}
22084 if s.Redirect == nil {
22085 invalidParams.Add(request.NewErrParamRequired("Redirect"))
22086 }
22087
22088 if invalidParams.Len() > 0 {
22089 return invalidParams
22090 }
22091 return nil
22092}
22093
22094// SetCondition sets the Condition field's value.
22095func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule {
22096 s.Condition = v
22097 return s
22098}
22099
22100// SetRedirect sets the Redirect field's value.
22101func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
22102 s.Redirect = v
22103 return s
22104}
22105
22106type Rule struct {
22107 _ struct{} `type:"structure"`
22108
22109 // Specifies the days since the initiation of an Incomplete Multipart Upload
22110 // that Lifecycle will wait before permanently removing all parts of the upload.
22111 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
22112
22113 Expiration *LifecycleExpiration `type:"structure"`
22114
22115 // Unique identifier for the rule. The value cannot be longer than 255 characters.
22116 ID *string `type:"string"`
22117
22118 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
22119 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
22120 // configuration action on a bucket that has versioning enabled (or suspended)
22121 // to request that Amazon S3 delete noncurrent object versions at a specific
22122 // period in the object's lifetime.
22123 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
22124
22125 // Container for the transition rule that describes when noncurrent objects
107c1cdb
ND
22126 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or
22127 // DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
22128 // is suspended), you can set this action to request that Amazon S3 transition
22129 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
22130 // GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's
22131 // lifetime.
15c0b25d
AP
22132 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
22133
22134 // Prefix identifying one or more objects to which the rule applies.
22135 //
22136 // Prefix is a required field
22137 Prefix *string `type:"string" required:"true"`
22138
22139 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
22140 // is not currently being applied.
22141 //
22142 // Status is a required field
22143 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
22144
22145 Transition *Transition `type:"structure"`
22146}
22147
22148// String returns the string representation
22149func (s Rule) String() string {
22150 return awsutil.Prettify(s)
22151}
22152
22153// GoString returns the string representation
22154func (s Rule) GoString() string {
22155 return s.String()
22156}
22157
22158// Validate inspects the fields of the type to determine if they are valid.
22159func (s *Rule) Validate() error {
22160 invalidParams := request.ErrInvalidParams{Context: "Rule"}
22161 if s.Prefix == nil {
22162 invalidParams.Add(request.NewErrParamRequired("Prefix"))
22163 }
22164 if s.Status == nil {
22165 invalidParams.Add(request.NewErrParamRequired("Status"))
22166 }
22167
22168 if invalidParams.Len() > 0 {
22169 return invalidParams
22170 }
22171 return nil
22172}
22173
22174// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
22175func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule {
22176 s.AbortIncompleteMultipartUpload = v
22177 return s
22178}
22179
22180// SetExpiration sets the Expiration field's value.
22181func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule {
22182 s.Expiration = v
22183 return s
22184}
22185
22186// SetID sets the ID field's value.
22187func (s *Rule) SetID(v string) *Rule {
22188 s.ID = &v
22189 return s
22190}
22191
22192// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
22193func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule {
22194 s.NoncurrentVersionExpiration = v
22195 return s
22196}
22197
22198// SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value.
22199func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule {
22200 s.NoncurrentVersionTransition = v
22201 return s
22202}
22203
22204// SetPrefix sets the Prefix field's value.
22205func (s *Rule) SetPrefix(v string) *Rule {
22206 s.Prefix = &v
22207 return s
22208}
22209
22210// SetStatus sets the Status field's value.
22211func (s *Rule) SetStatus(v string) *Rule {
22212 s.Status = &v
22213 return s
22214}
22215
22216// SetTransition sets the Transition field's value.
22217func (s *Rule) SetTransition(v *Transition) *Rule {
22218 s.Transition = v
22219 return s
22220}
22221
107c1cdb 22222// Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
15c0b25d
AP
22223type SSEKMS struct {
22224 _ struct{} `locationName:"SSE-KMS" type:"structure"`
22225
22226 // Specifies the ID of the AWS Key Management Service (KMS) master encryption
22227 // key to use for encrypting Inventory reports.
22228 //
22229 // KeyId is a required field
107c1cdb 22230 KeyId *string `type:"string" required:"true" sensitive:"true"`
15c0b25d
AP
22231}
22232
22233// String returns the string representation
22234func (s SSEKMS) String() string {
22235 return awsutil.Prettify(s)
22236}
22237
22238// GoString returns the string representation
22239func (s SSEKMS) GoString() string {
22240 return s.String()
22241}
22242
22243// Validate inspects the fields of the type to determine if they are valid.
22244func (s *SSEKMS) Validate() error {
22245 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"}
22246 if s.KeyId == nil {
22247 invalidParams.Add(request.NewErrParamRequired("KeyId"))
22248 }
22249
22250 if invalidParams.Len() > 0 {
22251 return invalidParams
22252 }
22253 return nil
22254}
22255
22256// SetKeyId sets the KeyId field's value.
22257func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
22258 s.KeyId = &v
22259 return s
22260}
22261
107c1cdb 22262// Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
15c0b25d
AP
22263type SSES3 struct {
22264 _ struct{} `locationName:"SSE-S3" type:"structure"`
22265}
22266
22267// String returns the string representation
22268func (s SSES3) String() string {
22269 return awsutil.Prettify(s)
22270}
22271
22272// GoString returns the string representation
22273func (s SSES3) GoString() string {
22274 return s.String()
22275}
22276
22277// SelectObjectContentEventStream provides handling of EventStreams for
22278// the SelectObjectContent API.
22279//
22280// Use this type to receive SelectObjectContentEventStream events. The events
22281// can be read from the Events channel member.
22282//
22283// The events that can be received are:
22284//
22285// * ContinuationEvent
22286// * EndEvent
22287// * ProgressEvent
22288// * RecordsEvent
22289// * StatsEvent
22290type SelectObjectContentEventStream struct {
22291 // Reader is the EventStream reader for the SelectObjectContentEventStream
22292 // events. This value is automatically set by the SDK when the API call is made
22293 // Use this member when unit testing your code with the SDK to mock out the
22294 // EventStream Reader.
22295 //
22296 // Must not be nil.
22297 Reader SelectObjectContentEventStreamReader
22298
22299 // StreamCloser is the io.Closer for the EventStream connection. For HTTP
22300 // EventStream this is the response Body. The stream will be closed when
22301 // the Close method of the EventStream is called.
22302 StreamCloser io.Closer
22303}
22304
22305// Close closes the EventStream. This will also cause the Events channel to be
22306// closed. You can use the closing of the Events channel to terminate your
22307// application's read from the API's EventStream.
22308//
22309// Will close the underlying EventStream reader. For EventStream over HTTP
22310// connection this will also close the HTTP connection.
22311//
22312// Close must be called when done using the EventStream API. Not calling Close
22313// may result in resource leaks.
22314func (es *SelectObjectContentEventStream) Close() (err error) {
22315 es.Reader.Close()
22316 return es.Err()
22317}
22318
22319// Err returns any error that occurred while reading EventStream Events from
22320// the service API's response. Returns nil if there were no errors.
22321func (es *SelectObjectContentEventStream) Err() error {
22322 if err := es.Reader.Err(); err != nil {
22323 return err
22324 }
22325 es.StreamCloser.Close()
22326
22327 return nil
22328}
22329
22330// Events returns a channel to read EventStream Events from the
22331// SelectObjectContent API.
22332//
22333// These events are:
22334//
22335// * ContinuationEvent
22336// * EndEvent
22337// * ProgressEvent
22338// * RecordsEvent
22339// * StatsEvent
22340func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22341 return es.Reader.Events()
22342}
22343
22344// SelectObjectContentEventStreamEvent groups together all EventStream
22345// events read from the SelectObjectContent API.
22346//
22347// These events are:
22348//
22349// * ContinuationEvent
22350// * EndEvent
22351// * ProgressEvent
22352// * RecordsEvent
22353// * StatsEvent
22354type SelectObjectContentEventStreamEvent interface {
22355 eventSelectObjectContentEventStream()
22356}
22357
22358// SelectObjectContentEventStreamReader provides the interface for reading EventStream
22359// Events from the SelectObjectContent API. The
22360// default implementation for this interface will be SelectObjectContentEventStream.
22361//
22362// The reader's Close method must allow multiple concurrent calls.
22363//
22364// These events are:
22365//
22366// * ContinuationEvent
22367// * EndEvent
22368// * ProgressEvent
22369// * RecordsEvent
22370// * StatsEvent
22371type SelectObjectContentEventStreamReader interface {
22372 // Returns a channel of events as they are read from the event stream.
22373 Events() <-chan SelectObjectContentEventStreamEvent
22374
22375 // Close will close the underlying event stream reader. For event stream over
22376 // HTTP this will also close the HTTP connection.
22377 Close() error
22378
107c1cdb 22379 // Returns any error that has occurred while reading from the event stream.
15c0b25d
AP
22380 Err() error
22381}
22382
22383type readSelectObjectContentEventStream struct {
22384 eventReader *eventstreamapi.EventReader
22385 stream chan SelectObjectContentEventStreamEvent
22386 errVal atomic.Value
22387
22388 done chan struct{}
22389 closeOnce sync.Once
22390}
22391
22392func newReadSelectObjectContentEventStream(
22393 reader io.ReadCloser,
22394 unmarshalers request.HandlerList,
22395 logger aws.Logger,
22396 logLevel aws.LogLevelType,
22397) *readSelectObjectContentEventStream {
22398 r := &readSelectObjectContentEventStream{
22399 stream: make(chan SelectObjectContentEventStreamEvent),
22400 done: make(chan struct{}),
22401 }
22402
22403 r.eventReader = eventstreamapi.NewEventReader(
22404 reader,
22405 protocol.HandlerPayloadUnmarshal{
22406 Unmarshalers: unmarshalers,
22407 },
22408 r.unmarshalerForEventType,
22409 )
22410 r.eventReader.UseLogger(logger, logLevel)
22411
22412 return r
22413}
22414
22415// Close will close the underlying event stream reader. For EventStream over
22416// HTTP this will also close the HTTP connection.
22417func (r *readSelectObjectContentEventStream) Close() error {
22418 r.closeOnce.Do(r.safeClose)
22419
22420 return r.Err()
22421}
22422
22423func (r *readSelectObjectContentEventStream) safeClose() {
22424 close(r.done)
22425 err := r.eventReader.Close()
22426 if err != nil {
22427 r.errVal.Store(err)
22428 }
22429}
22430
22431func (r *readSelectObjectContentEventStream) Err() error {
22432 if v := r.errVal.Load(); v != nil {
22433 return v.(error)
22434 }
22435
22436 return nil
22437}
22438
22439func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22440 return r.stream
22441}
22442
22443func (r *readSelectObjectContentEventStream) readEventStream() {
22444 defer close(r.stream)
22445
22446 for {
22447 event, err := r.eventReader.ReadEvent()
22448 if err != nil {
22449 if err == io.EOF {
22450 return
22451 }
22452 select {
22453 case <-r.done:
22454 // If closed already ignore the error
22455 return
22456 default:
22457 }
22458 r.errVal.Store(err)
22459 return
22460 }
22461
22462 select {
22463 case r.stream <- event.(SelectObjectContentEventStreamEvent):
22464 case <-r.done:
22465 return
22466 }
22467 }
22468}
22469
22470func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
22471 eventType string,
22472) (eventstreamapi.Unmarshaler, error) {
22473 switch eventType {
22474 case "Cont":
22475 return &ContinuationEvent{}, nil
22476
22477 case "End":
22478 return &EndEvent{}, nil
22479
22480 case "Progress":
22481 return &ProgressEvent{}, nil
22482
22483 case "Records":
22484 return &RecordsEvent{}, nil
22485
22486 case "Stats":
22487 return &StatsEvent{}, nil
22488 default:
22489 return nil, awserr.New(
22490 request.ErrCodeSerialization,
22491 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
22492 nil,
22493 )
22494 }
22495}
22496
22497// Request to filter the contents of an Amazon S3 object based on a simple Structured
22498// Query Language (SQL) statement. In the request, along with the SQL expression,
107c1cdb
ND
22499// you must specify a data serialization format (JSON or CSV) of the object.
22500// Amazon S3 uses this to parse object data into records. It returns only records
15c0b25d 22501// that match the specified SQL expression. You must also specify the data serialization
107c1cdb
ND
22502// format for the response. For more information, see S3Select API Documentation
22503// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html).
15c0b25d
AP
22504type SelectObjectContentInput struct {
22505 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
22506
107c1cdb 22507 // The S3 bucket.
15c0b25d
AP
22508 //
22509 // Bucket is a required field
22510 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22511
22512 // The expression that is used to query the object.
22513 //
22514 // Expression is a required field
22515 Expression *string `type:"string" required:"true"`
22516
107c1cdb 22517 // The type of the provided expression (for example., SQL).
15c0b25d
AP
22518 //
22519 // ExpressionType is a required field
22520 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22521
22522 // Describes the format of the data in the object that is being queried.
22523 //
22524 // InputSerialization is a required field
22525 InputSerialization *InputSerialization `type:"structure" required:"true"`
22526
107c1cdb 22527 // The object key.
15c0b25d
AP
22528 //
22529 // Key is a required field
22530 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
22531
22532 // Describes the format of the data that you want Amazon S3 to return in response.
22533 //
22534 // OutputSerialization is a required field
22535 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22536
22537 // Specifies if periodic request progress information should be enabled.
22538 RequestProgress *RequestProgress `type:"structure"`
22539
107c1cdb
ND
22540 // The SSE Algorithm used to encrypt the object. For more information, see
22541 // Server-Side Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
15c0b25d
AP
22542 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
22543
107c1cdb
ND
22544 // The SSE Customer Key. For more information, see Server-Side Encryption (Using
22545 // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22546 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
15c0b25d 22547
107c1cdb
ND
22548 // The SSE Customer Key MD5. For more information, see Server-Side Encryption
22549 // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
15c0b25d
AP
22550 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
22551}
22552
22553// String returns the string representation
22554func (s SelectObjectContentInput) String() string {
22555 return awsutil.Prettify(s)
22556}
22557
22558// GoString returns the string representation
22559func (s SelectObjectContentInput) GoString() string {
22560 return s.String()
22561}
22562
22563// Validate inspects the fields of the type to determine if they are valid.
22564func (s *SelectObjectContentInput) Validate() error {
22565 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"}
22566 if s.Bucket == nil {
22567 invalidParams.Add(request.NewErrParamRequired("Bucket"))
22568 }
107c1cdb
ND
22569 if s.Bucket != nil && len(*s.Bucket) < 1 {
22570 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22571 }
15c0b25d
AP
22572 if s.Expression == nil {
22573 invalidParams.Add(request.NewErrParamRequired("Expression"))
22574 }
22575 if s.ExpressionType == nil {
22576 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22577 }
22578 if s.InputSerialization == nil {
22579 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22580 }
22581 if s.Key == nil {
22582 invalidParams.Add(request.NewErrParamRequired("Key"))
22583 }
22584 if s.Key != nil && len(*s.Key) < 1 {
22585 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22586 }
22587 if s.OutputSerialization == nil {
22588 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22589 }
22590
22591 if invalidParams.Len() > 0 {
22592 return invalidParams
22593 }
22594 return nil
22595}
22596
22597// SetBucket sets the Bucket field's value.
22598func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
22599 s.Bucket = &v
22600 return s
22601}
22602
22603func (s *SelectObjectContentInput) getBucket() (v string) {
22604 if s.Bucket == nil {
22605 return v
22606 }
22607 return *s.Bucket
22608}
22609
22610// SetExpression sets the Expression field's value.
22611func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
22612 s.Expression = &v
22613 return s
22614}
22615
22616// SetExpressionType sets the ExpressionType field's value.
22617func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
22618 s.ExpressionType = &v
22619 return s
22620}
22621
22622// SetInputSerialization sets the InputSerialization field's value.
22623func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
22624 s.InputSerialization = v
22625 return s
22626}
22627
22628// SetKey sets the Key field's value.
22629func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
22630 s.Key = &v
22631 return s
22632}
22633
22634// SetOutputSerialization sets the OutputSerialization field's value.
22635func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
22636 s.OutputSerialization = v
22637 return s
22638}
22639
22640// SetRequestProgress sets the RequestProgress field's value.
22641func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
22642 s.RequestProgress = v
22643 return s
22644}
22645
22646// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
22647func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
22648 s.SSECustomerAlgorithm = &v
22649 return s
22650}
22651
22652// SetSSECustomerKey sets the SSECustomerKey field's value.
22653func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
22654 s.SSECustomerKey = &v
22655 return s
22656}
22657
22658func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
22659 if s.SSECustomerKey == nil {
22660 return v
22661 }
22662 return *s.SSECustomerKey
22663}
22664
22665// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
22666func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
22667 s.SSECustomerKeyMD5 = &v
22668 return s
22669}
22670
22671type SelectObjectContentOutput struct {
22672 _ struct{} `type:"structure" payload:"Payload"`
22673
22674 // Use EventStream to use the API's stream.
22675 EventStream *SelectObjectContentEventStream `type:"structure"`
22676}
22677
22678// String returns the string representation
22679func (s SelectObjectContentOutput) String() string {
22680 return awsutil.Prettify(s)
22681}
22682
22683// GoString returns the string representation
22684func (s SelectObjectContentOutput) GoString() string {
22685 return s.String()
22686}
22687
22688// SetEventStream sets the EventStream field's value.
22689func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
22690 s.EventStream = v
22691 return s
22692}
22693
22694func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
22695 if r.Error != nil {
22696 return
22697 }
22698 reader := newReadSelectObjectContentEventStream(
22699 r.HTTPResponse.Body,
22700 r.Handlers.UnmarshalStream,
22701 r.Config.Logger,
22702 r.Config.LogLevel.Value(),
22703 )
22704 go reader.readEventStream()
22705
22706 eventStream := &SelectObjectContentEventStream{
22707 StreamCloser: r.HTTPResponse.Body,
22708 Reader: reader,
22709 }
22710 s.EventStream = eventStream
22711}
22712
22713// Describes the parameters for Select job types.
22714type SelectParameters struct {
22715 _ struct{} `type:"structure"`
22716
22717 // The expression that is used to query the object.
22718 //
22719 // Expression is a required field
22720 Expression *string `type:"string" required:"true"`
22721
22722 // The type of the provided expression (e.g., SQL).
22723 //
22724 // ExpressionType is a required field
22725 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22726
22727 // Describes the serialization format of the object.
22728 //
22729 // InputSerialization is a required field
22730 InputSerialization *InputSerialization `type:"structure" required:"true"`
22731
22732 // Describes how the results of the Select job are serialized.
22733 //
22734 // OutputSerialization is a required field
22735 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22736}
22737
22738// String returns the string representation
22739func (s SelectParameters) String() string {
22740 return awsutil.Prettify(s)
22741}
22742
22743// GoString returns the string representation
22744func (s SelectParameters) GoString() string {
22745 return s.String()
22746}
22747
22748// Validate inspects the fields of the type to determine if they are valid.
22749func (s *SelectParameters) Validate() error {
22750 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"}
22751 if s.Expression == nil {
22752 invalidParams.Add(request.NewErrParamRequired("Expression"))
22753 }
22754 if s.ExpressionType == nil {
22755 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22756 }
22757 if s.InputSerialization == nil {
22758 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22759 }
22760 if s.OutputSerialization == nil {
22761 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22762 }
22763
22764 if invalidParams.Len() > 0 {
22765 return invalidParams
22766 }
22767 return nil
22768}
22769
22770// SetExpression sets the Expression field's value.
22771func (s *SelectParameters) SetExpression(v string) *SelectParameters {
22772 s.Expression = &v
22773 return s
22774}
22775
22776// SetExpressionType sets the ExpressionType field's value.
22777func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
22778 s.ExpressionType = &v
bae9f6d2
JC
22779 return s
22780}
22781
15c0b25d
AP
22782// SetInputSerialization sets the InputSerialization field's value.
22783func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
22784 s.InputSerialization = v
bae9f6d2
JC
22785 return s
22786}
22787
15c0b25d
AP
22788// SetOutputSerialization sets the OutputSerialization field's value.
22789func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
22790 s.OutputSerialization = v
bae9f6d2
JC
22791 return s
22792}
22793
15c0b25d
AP
22794// Describes the default server-side encryption to apply to new objects in the
22795// bucket. If Put Object request does not specify any server-side encryption,
22796// this default encryption will be applied.
22797type ServerSideEncryptionByDefault struct {
bae9f6d2
JC
22798 _ struct{} `type:"structure"`
22799
15c0b25d
AP
22800 // KMS master key ID to use for the default encryption. This parameter is allowed
22801 // if SSEAlgorithm is aws:kms.
107c1cdb 22802 KMSMasterKeyID *string `type:"string" sensitive:"true"`
15c0b25d
AP
22803
22804 // Server-side encryption algorithm to use for the default encryption.
22805 //
22806 // SSEAlgorithm is a required field
22807 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
bae9f6d2
JC
22808}
22809
22810// String returns the string representation
15c0b25d 22811func (s ServerSideEncryptionByDefault) String() string {
bae9f6d2
JC
22812 return awsutil.Prettify(s)
22813}
22814
22815// GoString returns the string representation
15c0b25d 22816func (s ServerSideEncryptionByDefault) GoString() string {
bae9f6d2
JC
22817 return s.String()
22818}
22819
15c0b25d
AP
22820// Validate inspects the fields of the type to determine if they are valid.
22821func (s *ServerSideEncryptionByDefault) Validate() error {
22822 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"}
22823 if s.SSEAlgorithm == nil {
22824 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm"))
22825 }
22826
22827 if invalidParams.Len() > 0 {
22828 return invalidParams
22829 }
22830 return nil
22831}
22832
22833// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
22834func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
22835 s.KMSMasterKeyID = &v
bae9f6d2
JC
22836 return s
22837}
22838
15c0b25d
AP
22839// SetSSEAlgorithm sets the SSEAlgorithm field's value.
22840func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
22841 s.SSEAlgorithm = &v
22842 return s
22843}
22844
22845// Container for server-side encryption configuration rules. Currently S3 supports
22846// one rule only.
22847type ServerSideEncryptionConfiguration struct {
bae9f6d2
JC
22848 _ struct{} `type:"structure"`
22849
15c0b25d
AP
22850 // Container for information about a particular server-side encryption configuration
22851 // rule.
bae9f6d2 22852 //
15c0b25d
AP
22853 // Rules is a required field
22854 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
bae9f6d2
JC
22855}
22856
22857// String returns the string representation
15c0b25d 22858func (s ServerSideEncryptionConfiguration) String() string {
bae9f6d2
JC
22859 return awsutil.Prettify(s)
22860}
22861
22862// GoString returns the string representation
15c0b25d 22863func (s ServerSideEncryptionConfiguration) GoString() string {
bae9f6d2
JC
22864 return s.String()
22865}
22866
22867// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
22868func (s *ServerSideEncryptionConfiguration) Validate() error {
22869 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
22870 if s.Rules == nil {
22871 invalidParams.Add(request.NewErrParamRequired("Rules"))
bae9f6d2 22872 }
15c0b25d
AP
22873 if s.Rules != nil {
22874 for i, v := range s.Rules {
22875 if v == nil {
22876 continue
22877 }
22878 if err := v.Validate(); err != nil {
22879 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
22880 }
bae9f6d2
JC
22881 }
22882 }
22883
22884 if invalidParams.Len() > 0 {
22885 return invalidParams
22886 }
22887 return nil
22888}
22889
15c0b25d
AP
22890// SetRules sets the Rules field's value.
22891func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
22892 s.Rules = v
bae9f6d2
JC
22893 return s
22894}
22895
15c0b25d
AP
22896// Container for information about a particular server-side encryption configuration
22897// rule.
22898type ServerSideEncryptionRule struct {
bae9f6d2
JC
22899 _ struct{} `type:"structure"`
22900
15c0b25d
AP
22901 // Describes the default server-side encryption to apply to new objects in the
22902 // bucket. If Put Object request does not specify any server-side encryption,
22903 // this default encryption will be applied.
22904 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
bae9f6d2
JC
22905}
22906
22907// String returns the string representation
15c0b25d 22908func (s ServerSideEncryptionRule) String() string {
bae9f6d2
JC
22909 return awsutil.Prettify(s)
22910}
22911
22912// GoString returns the string representation
15c0b25d 22913func (s ServerSideEncryptionRule) GoString() string {
bae9f6d2
JC
22914 return s.String()
22915}
22916
22917// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
22918func (s *ServerSideEncryptionRule) Validate() error {
22919 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"}
22920 if s.ApplyServerSideEncryptionByDefault != nil {
22921 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil {
22922 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams))
22923 }
bae9f6d2
JC
22924 }
22925
22926 if invalidParams.Len() > 0 {
22927 return invalidParams
22928 }
22929 return nil
22930}
22931
15c0b25d
AP
22932// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
22933func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
22934 s.ApplyServerSideEncryptionByDefault = v
bae9f6d2
JC
22935 return s
22936}
22937
107c1cdb 22938// A container for filters that define which source objects should be replicated.
15c0b25d 22939type SourceSelectionCriteria struct {
bae9f6d2
JC
22940 _ struct{} `type:"structure"`
22941
107c1cdb
ND
22942 // A container for filter information for the selection of S3 objects encrypted
22943 // with AWS KMS. If you include SourceSelectionCriteria in the replication configuration,
22944 // this element is required.
15c0b25d
AP
22945 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
22946}
bae9f6d2 22947
15c0b25d
AP
22948// String returns the string representation
22949func (s SourceSelectionCriteria) String() string {
22950 return awsutil.Prettify(s)
22951}
bae9f6d2 22952
15c0b25d
AP
22953// GoString returns the string representation
22954func (s SourceSelectionCriteria) GoString() string {
22955 return s.String()
22956}
bae9f6d2 22957
15c0b25d
AP
22958// Validate inspects the fields of the type to determine if they are valid.
22959func (s *SourceSelectionCriteria) Validate() error {
22960 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"}
22961 if s.SseKmsEncryptedObjects != nil {
22962 if err := s.SseKmsEncryptedObjects.Validate(); err != nil {
22963 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams))
22964 }
22965 }
bae9f6d2 22966
15c0b25d
AP
22967 if invalidParams.Len() > 0 {
22968 return invalidParams
22969 }
22970 return nil
22971}
bae9f6d2 22972
15c0b25d
AP
22973// SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
22974func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
22975 s.SseKmsEncryptedObjects = v
22976 return s
22977}
bae9f6d2 22978
107c1cdb
ND
22979// A container for filter information for the selection of S3 objects encrypted
22980// with AWS KMS.
15c0b25d
AP
22981type SseKmsEncryptedObjects struct {
22982 _ struct{} `type:"structure"`
22983
107c1cdb
ND
22984 // If the status is not Enabled, replication for S3 objects encrypted with AWS
22985 // KMS is disabled.
bae9f6d2
JC
22986 //
22987 // Status is a required field
15c0b25d 22988 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
bae9f6d2
JC
22989}
22990
22991// String returns the string representation
15c0b25d 22992func (s SseKmsEncryptedObjects) String() string {
bae9f6d2
JC
22993 return awsutil.Prettify(s)
22994}
22995
22996// GoString returns the string representation
15c0b25d 22997func (s SseKmsEncryptedObjects) GoString() string {
bae9f6d2
JC
22998 return s.String()
22999}
23000
23001// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
23002func (s *SseKmsEncryptedObjects) Validate() error {
23003 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"}
bae9f6d2
JC
23004 if s.Status == nil {
23005 invalidParams.Add(request.NewErrParamRequired("Status"))
23006 }
23007
23008 if invalidParams.Len() > 0 {
23009 return invalidParams
23010 }
23011 return nil
23012}
23013
15c0b25d
AP
23014// SetStatus sets the Status field's value.
23015func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
23016 s.Status = &v
bae9f6d2
JC
23017 return s
23018}
23019
15c0b25d
AP
23020type Stats struct {
23021 _ struct{} `type:"structure"`
23022
107c1cdb 23023 // The total number of uncompressed object bytes processed.
15c0b25d
AP
23024 BytesProcessed *int64 `type:"long"`
23025
107c1cdb 23026 // The total number of bytes of records payload data returned.
15c0b25d
AP
23027 BytesReturned *int64 `type:"long"`
23028
107c1cdb 23029 // The total number of object bytes scanned.
15c0b25d 23030 BytesScanned *int64 `type:"long"`
bae9f6d2
JC
23031}
23032
15c0b25d
AP
23033// String returns the string representation
23034func (s Stats) String() string {
23035 return awsutil.Prettify(s)
bae9f6d2
JC
23036}
23037
15c0b25d
AP
23038// GoString returns the string representation
23039func (s Stats) GoString() string {
23040 return s.String()
bae9f6d2
JC
23041}
23042
15c0b25d
AP
23043// SetBytesProcessed sets the BytesProcessed field's value.
23044func (s *Stats) SetBytesProcessed(v int64) *Stats {
23045 s.BytesProcessed = &v
bae9f6d2
JC
23046 return s
23047}
23048
15c0b25d
AP
23049// SetBytesReturned sets the BytesReturned field's value.
23050func (s *Stats) SetBytesReturned(v int64) *Stats {
23051 s.BytesReturned = &v
bae9f6d2
JC
23052 return s
23053}
23054
15c0b25d
AP
23055// SetBytesScanned sets the BytesScanned field's value.
23056func (s *Stats) SetBytesScanned(v int64) *Stats {
23057 s.BytesScanned = &v
bae9f6d2
JC
23058 return s
23059}
23060
15c0b25d
AP
23061type StatsEvent struct {
23062 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
23063
23064 // The Stats event details.
23065 Details *Stats `locationName:"Details" type:"structure"`
23066}
23067
23068// String returns the string representation
23069func (s StatsEvent) String() string {
23070 return awsutil.Prettify(s)
23071}
23072
23073// GoString returns the string representation
23074func (s StatsEvent) GoString() string {
23075 return s.String()
23076}
23077
23078// SetDetails sets the Details field's value.
23079func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
23080 s.Details = v
bae9f6d2
JC
23081 return s
23082}
23083
15c0b25d
AP
23084// The StatsEvent is and event in the SelectObjectContentEventStream group of events.
23085func (s *StatsEvent) eventSelectObjectContentEventStream() {}
23086
23087// UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value.
23088// This method is only used internally within the SDK's EventStream handling.
23089func (s *StatsEvent) UnmarshalEvent(
23090 payloadUnmarshaler protocol.PayloadUnmarshaler,
23091 msg eventstream.Message,
23092) error {
23093 if err := payloadUnmarshaler.UnmarshalPayload(
23094 bytes.NewReader(msg.Payload), s,
23095 ); err != nil {
23096 return err
23097 }
23098 return nil
23099}
23100
bae9f6d2
JC
23101type StorageClassAnalysis struct {
23102 _ struct{} `type:"structure"`
23103
23104 // A container used to describe how data related to the storage class analysis
23105 // should be exported.
23106 DataExport *StorageClassAnalysisDataExport `type:"structure"`
23107}
23108
23109// String returns the string representation
23110func (s StorageClassAnalysis) String() string {
23111 return awsutil.Prettify(s)
23112}
23113
23114// GoString returns the string representation
23115func (s StorageClassAnalysis) GoString() string {
23116 return s.String()
23117}
23118
23119// Validate inspects the fields of the type to determine if they are valid.
23120func (s *StorageClassAnalysis) Validate() error {
23121 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"}
23122 if s.DataExport != nil {
23123 if err := s.DataExport.Validate(); err != nil {
23124 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams))
23125 }
23126 }
23127
23128 if invalidParams.Len() > 0 {
23129 return invalidParams
23130 }
23131 return nil
23132}
23133
23134// SetDataExport sets the DataExport field's value.
23135func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis {
23136 s.DataExport = v
23137 return s
23138}
23139
bae9f6d2
JC
23140type StorageClassAnalysisDataExport struct {
23141 _ struct{} `type:"structure"`
23142
23143 // The place to store the data for an analysis.
23144 //
23145 // Destination is a required field
23146 Destination *AnalyticsExportDestination `type:"structure" required:"true"`
23147
23148 // The version of the output schema to use when exporting data. Must be V_1.
23149 //
23150 // OutputSchemaVersion is a required field
23151 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"`
23152}
23153
23154// String returns the string representation
23155func (s StorageClassAnalysisDataExport) String() string {
23156 return awsutil.Prettify(s)
23157}
23158
23159// GoString returns the string representation
23160func (s StorageClassAnalysisDataExport) GoString() string {
23161 return s.String()
23162}
23163
23164// Validate inspects the fields of the type to determine if they are valid.
23165func (s *StorageClassAnalysisDataExport) Validate() error {
23166 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"}
23167 if s.Destination == nil {
23168 invalidParams.Add(request.NewErrParamRequired("Destination"))
23169 }
23170 if s.OutputSchemaVersion == nil {
23171 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion"))
23172 }
23173 if s.Destination != nil {
23174 if err := s.Destination.Validate(); err != nil {
23175 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
23176 }
23177 }
23178
23179 if invalidParams.Len() > 0 {
23180 return invalidParams
23181 }
23182 return nil
23183}
23184
23185// SetDestination sets the Destination field's value.
23186func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport {
23187 s.Destination = v
23188 return s
23189}
23190
23191// SetOutputSchemaVersion sets the OutputSchemaVersion field's value.
23192func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport {
23193 s.OutputSchemaVersion = &v
23194 return s
23195}
23196
bae9f6d2
JC
23197type Tag struct {
23198 _ struct{} `type:"structure"`
23199
23200 // Name of the tag.
23201 //
23202 // Key is a required field
23203 Key *string `min:"1" type:"string" required:"true"`
23204
23205 // Value of the tag.
23206 //
23207 // Value is a required field
23208 Value *string `type:"string" required:"true"`
23209}
23210
23211// String returns the string representation
23212func (s Tag) String() string {
23213 return awsutil.Prettify(s)
23214}
23215
23216// GoString returns the string representation
23217func (s Tag) GoString() string {
23218 return s.String()
23219}
23220
23221// Validate inspects the fields of the type to determine if they are valid.
23222func (s *Tag) Validate() error {
23223 invalidParams := request.ErrInvalidParams{Context: "Tag"}
23224 if s.Key == nil {
23225 invalidParams.Add(request.NewErrParamRequired("Key"))
23226 }
23227 if s.Key != nil && len(*s.Key) < 1 {
23228 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23229 }
23230 if s.Value == nil {
23231 invalidParams.Add(request.NewErrParamRequired("Value"))
23232 }
23233
23234 if invalidParams.Len() > 0 {
23235 return invalidParams
23236 }
23237 return nil
23238}
23239
23240// SetKey sets the Key field's value.
23241func (s *Tag) SetKey(v string) *Tag {
23242 s.Key = &v
23243 return s
23244}
23245
23246// SetValue sets the Value field's value.
23247func (s *Tag) SetValue(v string) *Tag {
23248 s.Value = &v
23249 return s
23250}
23251
bae9f6d2
JC
23252type Tagging struct {
23253 _ struct{} `type:"structure"`
23254
23255 // TagSet is a required field
23256 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
23257}
23258
23259// String returns the string representation
23260func (s Tagging) String() string {
23261 return awsutil.Prettify(s)
23262}
23263
23264// GoString returns the string representation
23265func (s Tagging) GoString() string {
23266 return s.String()
23267}
23268
23269// Validate inspects the fields of the type to determine if they are valid.
23270func (s *Tagging) Validate() error {
23271 invalidParams := request.ErrInvalidParams{Context: "Tagging"}
23272 if s.TagSet == nil {
23273 invalidParams.Add(request.NewErrParamRequired("TagSet"))
23274 }
23275 if s.TagSet != nil {
23276 for i, v := range s.TagSet {
23277 if v == nil {
23278 continue
23279 }
23280 if err := v.Validate(); err != nil {
23281 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams))
23282 }
23283 }
23284 }
23285
23286 if invalidParams.Len() > 0 {
23287 return invalidParams
23288 }
23289 return nil
23290}
23291
23292// SetTagSet sets the TagSet field's value.
23293func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
23294 s.TagSet = v
23295 return s
23296}
23297
bae9f6d2
JC
23298type TargetGrant struct {
23299 _ struct{} `type:"structure"`
23300
15c0b25d 23301 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
bae9f6d2
JC
23302
23303 // Logging permissions assigned to the Grantee for the bucket.
23304 Permission *string `type:"string" enum:"BucketLogsPermission"`
23305}
23306
23307// String returns the string representation
23308func (s TargetGrant) String() string {
23309 return awsutil.Prettify(s)
23310}
23311
23312// GoString returns the string representation
23313func (s TargetGrant) GoString() string {
23314 return s.String()
23315}
23316
23317// Validate inspects the fields of the type to determine if they are valid.
23318func (s *TargetGrant) Validate() error {
23319 invalidParams := request.ErrInvalidParams{Context: "TargetGrant"}
23320 if s.Grantee != nil {
23321 if err := s.Grantee.Validate(); err != nil {
23322 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
23323 }
23324 }
23325
23326 if invalidParams.Len() > 0 {
23327 return invalidParams
23328 }
23329 return nil
23330}
23331
23332// SetGrantee sets the Grantee field's value.
23333func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant {
23334 s.Grantee = v
23335 return s
23336}
23337
23338// SetPermission sets the Permission field's value.
23339func (s *TargetGrant) SetPermission(v string) *TargetGrant {
23340 s.Permission = &v
23341 return s
23342}
23343
107c1cdb
ND
23344// A container for specifying the configuration for publication of messages
23345// to an Amazon Simple Notification Service (Amazon SNS) topic.when Amazon S3
23346// detects specified events.
bae9f6d2
JC
23347type TopicConfiguration struct {
23348 _ struct{} `type:"structure"`
23349
23350 // Events is a required field
23351 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
23352
107c1cdb
ND
23353 // A container for object key name filtering rules. For information about key
23354 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 23355 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
23356 Filter *NotificationConfigurationFilter `type:"structure"`
23357
107c1cdb 23358 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
23359 // If you don't provide one, Amazon S3 will assign an ID.
23360 Id *string `type:"string"`
23361
107c1cdb
ND
23362 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3
23363 // will publish a message when it detects events of the specified type.
bae9f6d2
JC
23364 //
23365 // TopicArn is a required field
23366 TopicArn *string `locationName:"Topic" type:"string" required:"true"`
23367}
23368
23369// String returns the string representation
23370func (s TopicConfiguration) String() string {
23371 return awsutil.Prettify(s)
23372}
23373
23374// GoString returns the string representation
23375func (s TopicConfiguration) GoString() string {
23376 return s.String()
23377}
23378
23379// Validate inspects the fields of the type to determine if they are valid.
23380func (s *TopicConfiguration) Validate() error {
23381 invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"}
23382 if s.Events == nil {
23383 invalidParams.Add(request.NewErrParamRequired("Events"))
23384 }
23385 if s.TopicArn == nil {
23386 invalidParams.Add(request.NewErrParamRequired("TopicArn"))
23387 }
23388
23389 if invalidParams.Len() > 0 {
23390 return invalidParams
23391 }
23392 return nil
23393}
23394
23395// SetEvents sets the Events field's value.
23396func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration {
23397 s.Events = v
23398 return s
23399}
23400
23401// SetFilter sets the Filter field's value.
23402func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration {
23403 s.Filter = v
23404 return s
23405}
23406
23407// SetId sets the Id field's value.
23408func (s *TopicConfiguration) SetId(v string) *TopicConfiguration {
23409 s.Id = &v
23410 return s
23411}
23412
23413// SetTopicArn sets the TopicArn field's value.
23414func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
23415 s.TopicArn = &v
23416 return s
23417}
23418
bae9f6d2
JC
23419type TopicConfigurationDeprecated struct {
23420 _ struct{} `type:"structure"`
23421
23422 // Bucket event for which to send notifications.
107c1cdb
ND
23423 //
23424 // Deprecated: Event has been deprecated
bae9f6d2
JC
23425 Event *string `deprecated:"true" type:"string" enum:"Event"`
23426
23427 Events []*string `locationName:"Event" type:"list" flattened:"true"`
23428
107c1cdb 23429 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
23430 // If you don't provide one, Amazon S3 will assign an ID.
23431 Id *string `type:"string"`
23432
23433 // Amazon SNS topic to which Amazon S3 will publish a message to report the
23434 // specified events for the bucket.
23435 Topic *string `type:"string"`
23436}
23437
23438// String returns the string representation
23439func (s TopicConfigurationDeprecated) String() string {
23440 return awsutil.Prettify(s)
23441}
23442
23443// GoString returns the string representation
23444func (s TopicConfigurationDeprecated) GoString() string {
23445 return s.String()
23446}
23447
23448// SetEvent sets the Event field's value.
23449func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated {
23450 s.Event = &v
23451 return s
23452}
23453
23454// SetEvents sets the Events field's value.
23455func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated {
23456 s.Events = v
23457 return s
23458}
23459
23460// SetId sets the Id field's value.
23461func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated {
23462 s.Id = &v
23463 return s
23464}
23465
23466// SetTopic sets the Topic field's value.
23467func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated {
23468 s.Topic = &v
23469 return s
23470}
23471
bae9f6d2
JC
23472type Transition struct {
23473 _ struct{} `type:"structure"`
23474
23475 // Indicates at what date the object is to be moved or deleted. Should be in
23476 // GMT ISO 8601 Format.
23477 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
23478
23479 // Indicates the lifetime, in days, of the objects that are subject to the rule.
23480 // The value must be a non-zero positive integer.
23481 Days *int64 `type:"integer"`
23482
23483 // The class of storage used to store the object.
23484 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
23485}
23486
23487// String returns the string representation
23488func (s Transition) String() string {
23489 return awsutil.Prettify(s)
23490}
23491
23492// GoString returns the string representation
23493func (s Transition) GoString() string {
23494 return s.String()
23495}
23496
23497// SetDate sets the Date field's value.
23498func (s *Transition) SetDate(v time.Time) *Transition {
23499 s.Date = &v
23500 return s
23501}
23502
23503// SetDays sets the Days field's value.
23504func (s *Transition) SetDays(v int64) *Transition {
23505 s.Days = &v
23506 return s
23507}
23508
23509// SetStorageClass sets the StorageClass field's value.
23510func (s *Transition) SetStorageClass(v string) *Transition {
23511 s.StorageClass = &v
23512 return s
23513}
23514
bae9f6d2
JC
23515type UploadPartCopyInput struct {
23516 _ struct{} `type:"structure"`
23517
23518 // Bucket is a required field
23519 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
23520
23521 // The name of the source bucket and key name of the source object, separated
23522 // by a slash (/). Must be URL-encoded.
23523 //
23524 // CopySource is a required field
23525 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
23526
23527 // Copies the object if its entity tag (ETag) matches the specified tag.
23528 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
23529
23530 // Copies the object if it has been modified since the specified time.
15c0b25d 23531 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
bae9f6d2
JC
23532
23533 // Copies the object if its entity tag (ETag) is different than the specified
23534 // ETag.
23535 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
23536
23537 // Copies the object if it hasn't been modified since the specified time.
15c0b25d 23538 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
bae9f6d2
JC
23539
23540 // The range of bytes to copy from the source object. The range value must use
23541 // the form bytes=first-last, where the first and last are the zero-based byte
23542 // offsets to copy. For example, bytes=0-9 indicates that you want to copy the
23543 // first ten bytes of the source. You can copy a range only if the source object
107c1cdb 23544 // is greater than 5 MB.
bae9f6d2
JC
23545 CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`
23546
23547 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
23548 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
23549
23550 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
23551 // the source object. The encryption key provided in this header must be one
23552 // that was used when the source object was created.
107c1cdb 23553 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
23554
23555 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23556 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23557 // key was transmitted without error.
23558 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
23559
23560 // Key is a required field
23561 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
23562
23563 // Part number of part being copied. This is a positive integer between 1 and
23564 // 10,000.
23565 //
23566 // PartNumber is a required field
23567 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
23568
23569 // Confirms that the requester knows that she or he will be charged for the
23570 // request. Bucket owners need not specify this parameter in their requests.
23571 // Documentation on downloading objects from requester pays buckets can be found
23572 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
23573 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
23574
23575 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
23576 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23577
23578 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
23579 // data. This value is used to store the object and then it is discarded; Amazon
23580 // does not store the encryption key. The key must be appropriate for use with
23581 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23582 // header. This must be the same encryption key specified in the initiate multipart
23583 // upload request.
107c1cdb 23584 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
23585
23586 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23587 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23588 // key was transmitted without error.
23589 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23590
23591 // Upload ID identifying the multipart upload whose part is being copied.
23592 //
23593 // UploadId is a required field
23594 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
23595}
23596
23597// String returns the string representation
23598func (s UploadPartCopyInput) String() string {
23599 return awsutil.Prettify(s)
23600}
23601
23602// GoString returns the string representation
23603func (s UploadPartCopyInput) GoString() string {
23604 return s.String()
23605}
23606
23607// Validate inspects the fields of the type to determine if they are valid.
23608func (s *UploadPartCopyInput) Validate() error {
23609 invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"}
23610 if s.Bucket == nil {
23611 invalidParams.Add(request.NewErrParamRequired("Bucket"))
23612 }
107c1cdb
ND
23613 if s.Bucket != nil && len(*s.Bucket) < 1 {
23614 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
23615 }
bae9f6d2
JC
23616 if s.CopySource == nil {
23617 invalidParams.Add(request.NewErrParamRequired("CopySource"))
23618 }
23619 if s.Key == nil {
23620 invalidParams.Add(request.NewErrParamRequired("Key"))
23621 }
23622 if s.Key != nil && len(*s.Key) < 1 {
23623 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23624 }
23625 if s.PartNumber == nil {
23626 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
23627 }
23628 if s.UploadId == nil {
23629 invalidParams.Add(request.NewErrParamRequired("UploadId"))
23630 }
23631
23632 if invalidParams.Len() > 0 {
23633 return invalidParams
23634 }
23635 return nil
23636}
23637
23638// SetBucket sets the Bucket field's value.
23639func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
23640 s.Bucket = &v
23641 return s
23642}
23643
15c0b25d
AP
23644func (s *UploadPartCopyInput) getBucket() (v string) {
23645 if s.Bucket == nil {
23646 return v
23647 }
23648 return *s.Bucket
23649}
23650
bae9f6d2
JC
23651// SetCopySource sets the CopySource field's value.
23652func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
23653 s.CopySource = &v
23654 return s
23655}
23656
23657// SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
23658func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
23659 s.CopySourceIfMatch = &v
23660 return s
23661}
23662
23663// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
23664func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput {
23665 s.CopySourceIfModifiedSince = &v
23666 return s
23667}
23668
23669// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
23670func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput {
23671 s.CopySourceIfNoneMatch = &v
23672 return s
23673}
23674
23675// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
23676func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput {
23677 s.CopySourceIfUnmodifiedSince = &v
23678 return s
23679}
23680
23681// SetCopySourceRange sets the CopySourceRange field's value.
23682func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput {
23683 s.CopySourceRange = &v
23684 return s
23685}
23686
23687// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
23688func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23689 s.CopySourceSSECustomerAlgorithm = &v
23690 return s
23691}
23692
23693// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
23694func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput {
23695 s.CopySourceSSECustomerKey = &v
23696 return s
23697}
23698
15c0b25d
AP
23699func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
23700 if s.CopySourceSSECustomerKey == nil {
23701 return v
23702 }
23703 return *s.CopySourceSSECustomerKey
23704}
23705
bae9f6d2
JC
23706// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
23707func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23708 s.CopySourceSSECustomerKeyMD5 = &v
23709 return s
23710}
23711
23712// SetKey sets the Key field's value.
23713func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput {
23714 s.Key = &v
23715 return s
23716}
23717
23718// SetPartNumber sets the PartNumber field's value.
23719func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput {
23720 s.PartNumber = &v
23721 return s
23722}
23723
23724// SetRequestPayer sets the RequestPayer field's value.
23725func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput {
23726 s.RequestPayer = &v
23727 return s
23728}
23729
23730// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23731func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23732 s.SSECustomerAlgorithm = &v
23733 return s
23734}
23735
23736// SetSSECustomerKey sets the SSECustomerKey field's value.
23737func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
23738 s.SSECustomerKey = &v
23739 return s
23740}
23741
15c0b25d
AP
23742func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
23743 if s.SSECustomerKey == nil {
23744 return v
23745 }
23746 return *s.SSECustomerKey
23747}
23748
bae9f6d2
JC
23749// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
23750func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23751 s.SSECustomerKeyMD5 = &v
23752 return s
23753}
23754
23755// SetUploadId sets the UploadId field's value.
23756func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
23757 s.UploadId = &v
23758 return s
23759}
23760
bae9f6d2
JC
23761type UploadPartCopyOutput struct {
23762 _ struct{} `type:"structure" payload:"CopyPartResult"`
23763
23764 CopyPartResult *CopyPartResult `type:"structure"`
23765
23766 // The version of the source object that was copied, if you have enabled versioning
23767 // on the source bucket.
23768 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
23769
23770 // If present, indicates that the requester was successfully charged for the
23771 // request.
23772 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
23773
23774 // If server-side encryption with a customer-provided encryption key was requested,
23775 // the response will include this header confirming the encryption algorithm
23776 // used.
23777 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23778
23779 // If server-side encryption with a customer-provided encryption key was requested,
23780 // the response will include this header to provide round trip message integrity
23781 // verification of the customer-provided encryption key.
23782 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23783
23784 // If present, specifies the ID of the AWS Key Management Service (KMS) master
23785 // encryption key that was used for the object.
107c1cdb 23786 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
23787
23788 // The Server-side encryption algorithm used when storing this object in S3
23789 // (e.g., AES256, aws:kms).
23790 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
23791}
23792
23793// String returns the string representation
23794func (s UploadPartCopyOutput) String() string {
23795 return awsutil.Prettify(s)
23796}
23797
23798// GoString returns the string representation
23799func (s UploadPartCopyOutput) GoString() string {
23800 return s.String()
23801}
23802
23803// SetCopyPartResult sets the CopyPartResult field's value.
23804func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput {
23805 s.CopyPartResult = v
23806 return s
23807}
23808
23809// SetCopySourceVersionId sets the CopySourceVersionId field's value.
23810func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput {
23811 s.CopySourceVersionId = &v
23812 return s
23813}
23814
23815// SetRequestCharged sets the RequestCharged field's value.
23816func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput {
23817 s.RequestCharged = &v
23818 return s
23819}
23820
23821// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23822func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput {
23823 s.SSECustomerAlgorithm = &v
23824 return s
23825}
23826
23827// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
23828func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput {
23829 s.SSECustomerKeyMD5 = &v
23830 return s
23831}
23832
23833// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
23834func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput {
23835 s.SSEKMSKeyId = &v
23836 return s
23837}
23838
23839// SetServerSideEncryption sets the ServerSideEncryption field's value.
23840func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput {
23841 s.ServerSideEncryption = &v
23842 return s
23843}
23844
bae9f6d2
JC
23845type UploadPartInput struct {
23846 _ struct{} `type:"structure" payload:"Body"`
23847
23848 // Object data.
23849 Body io.ReadSeeker `type:"blob"`
23850
23851 // Name of the bucket to which the multipart upload was initiated.
23852 //
23853 // Bucket is a required field
23854 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
23855
23856 // Size of the body in bytes. This parameter is useful when the size of the
23857 // body cannot be determined automatically.
23858 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
23859
15c0b25d
AP
23860 // The base64-encoded 128-bit MD5 digest of the part data.
23861 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
23862
bae9f6d2
JC
23863 // Object key for which the multipart upload was initiated.
23864 //
23865 // Key is a required field
23866 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
23867
23868 // Part number of part being uploaded. This is a positive integer between 1
23869 // and 10,000.
23870 //
23871 // PartNumber is a required field
23872 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
23873
23874 // Confirms that the requester knows that she or he will be charged for the
23875 // request. Bucket owners need not specify this parameter in their requests.
23876 // Documentation on downloading objects from requester pays buckets can be found
23877 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
23878 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
23879
23880 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
23881 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23882
23883 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
23884 // data. This value is used to store the object and then it is discarded; Amazon
23885 // does not store the encryption key. The key must be appropriate for use with
23886 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23887 // header. This must be the same encryption key specified in the initiate multipart
23888 // upload request.
107c1cdb 23889 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
23890
23891 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23892 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23893 // key was transmitted without error.
23894 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23895
23896 // Upload ID identifying the multipart upload whose part is being uploaded.
23897 //
23898 // UploadId is a required field
23899 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
23900}
23901
23902// String returns the string representation
23903func (s UploadPartInput) String() string {
23904 return awsutil.Prettify(s)
23905}
23906
23907// GoString returns the string representation
23908func (s UploadPartInput) GoString() string {
23909 return s.String()
23910}
23911
23912// Validate inspects the fields of the type to determine if they are valid.
23913func (s *UploadPartInput) Validate() error {
23914 invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"}
23915 if s.Bucket == nil {
23916 invalidParams.Add(request.NewErrParamRequired("Bucket"))
23917 }
107c1cdb
ND
23918 if s.Bucket != nil && len(*s.Bucket) < 1 {
23919 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
23920 }
bae9f6d2
JC
23921 if s.Key == nil {
23922 invalidParams.Add(request.NewErrParamRequired("Key"))
23923 }
23924 if s.Key != nil && len(*s.Key) < 1 {
23925 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23926 }
23927 if s.PartNumber == nil {
23928 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
23929 }
23930 if s.UploadId == nil {
23931 invalidParams.Add(request.NewErrParamRequired("UploadId"))
23932 }
23933
23934 if invalidParams.Len() > 0 {
23935 return invalidParams
23936 }
23937 return nil
23938}
23939
23940// SetBody sets the Body field's value.
23941func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput {
23942 s.Body = v
23943 return s
23944}
23945
23946// SetBucket sets the Bucket field's value.
23947func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
23948 s.Bucket = &v
23949 return s
23950}
23951
15c0b25d
AP
23952func (s *UploadPartInput) getBucket() (v string) {
23953 if s.Bucket == nil {
23954 return v
23955 }
23956 return *s.Bucket
23957}
23958
bae9f6d2
JC
23959// SetContentLength sets the ContentLength field's value.
23960func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
23961 s.ContentLength = &v
23962 return s
23963}
23964
15c0b25d
AP
23965// SetContentMD5 sets the ContentMD5 field's value.
23966func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
23967 s.ContentMD5 = &v
23968 return s
23969}
23970
bae9f6d2
JC
23971// SetKey sets the Key field's value.
23972func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
23973 s.Key = &v
23974 return s
23975}
23976
23977// SetPartNumber sets the PartNumber field's value.
23978func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput {
23979 s.PartNumber = &v
23980 return s
23981}
23982
23983// SetRequestPayer sets the RequestPayer field's value.
23984func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput {
23985 s.RequestPayer = &v
23986 return s
23987}
23988
23989// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23990func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput {
23991 s.SSECustomerAlgorithm = &v
23992 return s
23993}
23994
23995// SetSSECustomerKey sets the SSECustomerKey field's value.
23996func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
23997 s.SSECustomerKey = &v
23998 return s
23999}
24000
15c0b25d
AP
24001func (s *UploadPartInput) getSSECustomerKey() (v string) {
24002 if s.SSECustomerKey == nil {
24003 return v
24004 }
24005 return *s.SSECustomerKey
24006}
24007
bae9f6d2
JC
24008// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24009func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
24010 s.SSECustomerKeyMD5 = &v
24011 return s
24012}
24013
24014// SetUploadId sets the UploadId field's value.
24015func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
24016 s.UploadId = &v
24017 return s
24018}
24019
bae9f6d2
JC
24020type UploadPartOutput struct {
24021 _ struct{} `type:"structure"`
24022
24023 // Entity tag for the uploaded object.
24024 ETag *string `location:"header" locationName:"ETag" type:"string"`
24025
24026 // If present, indicates that the requester was successfully charged for the
24027 // request.
24028 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
24029
24030 // If server-side encryption with a customer-provided encryption key was requested,
24031 // the response will include this header confirming the encryption algorithm
24032 // used.
24033 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
24034
24035 // If server-side encryption with a customer-provided encryption key was requested,
24036 // the response will include this header to provide round trip message integrity
24037 // verification of the customer-provided encryption key.
24038 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
24039
24040 // If present, specifies the ID of the AWS Key Management Service (KMS) master
24041 // encryption key that was used for the object.
107c1cdb 24042 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
24043
24044 // The Server-side encryption algorithm used when storing this object in S3
24045 // (e.g., AES256, aws:kms).
24046 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
24047}
24048
24049// String returns the string representation
24050func (s UploadPartOutput) String() string {
24051 return awsutil.Prettify(s)
24052}
24053
24054// GoString returns the string representation
24055func (s UploadPartOutput) GoString() string {
24056 return s.String()
24057}
24058
24059// SetETag sets the ETag field's value.
24060func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
24061 s.ETag = &v
24062 return s
24063}
24064
24065// SetRequestCharged sets the RequestCharged field's value.
24066func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput {
24067 s.RequestCharged = &v
24068 return s
24069}
24070
24071// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24072func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput {
24073 s.SSECustomerAlgorithm = &v
24074 return s
24075}
24076
24077// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24078func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput {
24079 s.SSECustomerKeyMD5 = &v
24080 return s
24081}
24082
24083// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24084func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput {
24085 s.SSEKMSKeyId = &v
24086 return s
24087}
24088
24089// SetServerSideEncryption sets the ServerSideEncryption field's value.
24090func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
24091 s.ServerSideEncryption = &v
24092 return s
24093}
24094
bae9f6d2
JC
24095type VersioningConfiguration struct {
24096 _ struct{} `type:"structure"`
24097
24098 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
24099 // This element is only returned if the bucket has been configured with MFA
24100 // delete. If the bucket has never been so configured, this element is not returned.
24101 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"`
24102
24103 // The versioning state of the bucket.
24104 Status *string `type:"string" enum:"BucketVersioningStatus"`
24105}
24106
24107// String returns the string representation
24108func (s VersioningConfiguration) String() string {
24109 return awsutil.Prettify(s)
24110}
24111
24112// GoString returns the string representation
24113func (s VersioningConfiguration) GoString() string {
24114 return s.String()
24115}
24116
24117// SetMFADelete sets the MFADelete field's value.
24118func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration {
24119 s.MFADelete = &v
24120 return s
24121}
24122
24123// SetStatus sets the Status field's value.
24124func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
24125 s.Status = &v
24126 return s
24127}
24128
bae9f6d2
JC
24129type WebsiteConfiguration struct {
24130 _ struct{} `type:"structure"`
24131
24132 ErrorDocument *ErrorDocument `type:"structure"`
24133
24134 IndexDocument *IndexDocument `type:"structure"`
24135
24136 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
24137
24138 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
24139}
24140
24141// String returns the string representation
24142func (s WebsiteConfiguration) String() string {
24143 return awsutil.Prettify(s)
24144}
24145
24146// GoString returns the string representation
24147func (s WebsiteConfiguration) GoString() string {
24148 return s.String()
24149}
24150
24151// Validate inspects the fields of the type to determine if they are valid.
24152func (s *WebsiteConfiguration) Validate() error {
24153 invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"}
24154 if s.ErrorDocument != nil {
24155 if err := s.ErrorDocument.Validate(); err != nil {
24156 invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams))
24157 }
24158 }
24159 if s.IndexDocument != nil {
24160 if err := s.IndexDocument.Validate(); err != nil {
24161 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams))
24162 }
24163 }
24164 if s.RedirectAllRequestsTo != nil {
24165 if err := s.RedirectAllRequestsTo.Validate(); err != nil {
24166 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams))
24167 }
24168 }
24169 if s.RoutingRules != nil {
24170 for i, v := range s.RoutingRules {
24171 if v == nil {
24172 continue
24173 }
24174 if err := v.Validate(); err != nil {
24175 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams))
24176 }
24177 }
24178 }
24179
24180 if invalidParams.Len() > 0 {
24181 return invalidParams
24182 }
24183 return nil
24184}
24185
24186// SetErrorDocument sets the ErrorDocument field's value.
24187func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration {
24188 s.ErrorDocument = v
24189 return s
24190}
24191
24192// SetIndexDocument sets the IndexDocument field's value.
24193func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration {
24194 s.IndexDocument = v
24195 return s
24196}
24197
24198// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
24199func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration {
24200 s.RedirectAllRequestsTo = v
24201 return s
24202}
24203
24204// SetRoutingRules sets the RoutingRules field's value.
24205func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration {
24206 s.RoutingRules = v
24207 return s
24208}
24209
24210const (
24211 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value
24212 AnalyticsS3ExportFileFormatCsv = "CSV"
24213)
24214
24215const (
24216 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
24217 BucketAccelerateStatusEnabled = "Enabled"
24218
24219 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value
24220 BucketAccelerateStatusSuspended = "Suspended"
24221)
24222
24223const (
24224 // BucketCannedACLPrivate is a BucketCannedACL enum value
24225 BucketCannedACLPrivate = "private"
24226
24227 // BucketCannedACLPublicRead is a BucketCannedACL enum value
24228 BucketCannedACLPublicRead = "public-read"
24229
24230 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
24231 BucketCannedACLPublicReadWrite = "public-read-write"
24232
24233 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
24234 BucketCannedACLAuthenticatedRead = "authenticated-read"
24235)
24236
24237const (
24238 // BucketLocationConstraintEu is a BucketLocationConstraint enum value
24239 BucketLocationConstraintEu = "EU"
24240
24241 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value
24242 BucketLocationConstraintEuWest1 = "eu-west-1"
24243
24244 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value
24245 BucketLocationConstraintUsWest1 = "us-west-1"
24246
24247 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value
24248 BucketLocationConstraintUsWest2 = "us-west-2"
24249
24250 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value
24251 BucketLocationConstraintApSouth1 = "ap-south-1"
24252
24253 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value
24254 BucketLocationConstraintApSoutheast1 = "ap-southeast-1"
24255
24256 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value
24257 BucketLocationConstraintApSoutheast2 = "ap-southeast-2"
24258
24259 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value
24260 BucketLocationConstraintApNortheast1 = "ap-northeast-1"
24261
24262 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value
24263 BucketLocationConstraintSaEast1 = "sa-east-1"
24264
24265 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value
24266 BucketLocationConstraintCnNorth1 = "cn-north-1"
24267
24268 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value
24269 BucketLocationConstraintEuCentral1 = "eu-central-1"
24270)
24271
24272const (
24273 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value
24274 BucketLogsPermissionFullControl = "FULL_CONTROL"
24275
24276 // BucketLogsPermissionRead is a BucketLogsPermission enum value
24277 BucketLogsPermissionRead = "READ"
24278
24279 // BucketLogsPermissionWrite is a BucketLogsPermission enum value
24280 BucketLogsPermissionWrite = "WRITE"
24281)
24282
24283const (
24284 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value
24285 BucketVersioningStatusEnabled = "Enabled"
24286
24287 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value
24288 BucketVersioningStatusSuspended = "Suspended"
24289)
24290
15c0b25d
AP
24291const (
24292 // CompressionTypeNone is a CompressionType enum value
24293 CompressionTypeNone = "NONE"
24294
24295 // CompressionTypeGzip is a CompressionType enum value
24296 CompressionTypeGzip = "GZIP"
24297
24298 // CompressionTypeBzip2 is a CompressionType enum value
24299 CompressionTypeBzip2 = "BZIP2"
24300)
24301
107c1cdb
ND
24302const (
24303 // DeleteMarkerReplicationStatusEnabled is a DeleteMarkerReplicationStatus enum value
24304 DeleteMarkerReplicationStatusEnabled = "Enabled"
24305
24306 // DeleteMarkerReplicationStatusDisabled is a DeleteMarkerReplicationStatus enum value
24307 DeleteMarkerReplicationStatusDisabled = "Disabled"
24308)
24309
bae9f6d2
JC
24310// Requests Amazon S3 to encode the object keys in the response and specifies
24311// the encoding method to use. An object key may contain any Unicode character;
24312// however, XML 1.0 parser cannot parse some characters, such as characters
24313// with an ASCII value from 0 to 10. For characters that are not supported in
24314// XML 1.0, you can add this parameter to request that Amazon S3 encode the
24315// keys in the response.
24316const (
24317 // EncodingTypeUrl is a EncodingType enum value
24318 EncodingTypeUrl = "url"
24319)
24320
107c1cdb 24321// The bucket event for which to send notifications.
bae9f6d2
JC
24322const (
24323 // EventS3ReducedRedundancyLostObject is a Event enum value
24324 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"
24325
24326 // EventS3ObjectCreated is a Event enum value
24327 EventS3ObjectCreated = "s3:ObjectCreated:*"
24328
24329 // EventS3ObjectCreatedPut is a Event enum value
24330 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put"
24331
24332 // EventS3ObjectCreatedPost is a Event enum value
24333 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"
24334
24335 // EventS3ObjectCreatedCopy is a Event enum value
24336 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"
24337
24338 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value
24339 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"
24340
24341 // EventS3ObjectRemoved is a Event enum value
24342 EventS3ObjectRemoved = "s3:ObjectRemoved:*"
24343
24344 // EventS3ObjectRemovedDelete is a Event enum value
24345 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"
24346
24347 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value
24348 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"
107c1cdb
ND
24349
24350 // EventS3ObjectRestorePost is a Event enum value
24351 EventS3ObjectRestorePost = "s3:ObjectRestore:Post"
24352
24353 // EventS3ObjectRestoreCompleted is a Event enum value
24354 EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed"
bae9f6d2
JC
24355)
24356
24357const (
24358 // ExpirationStatusEnabled is a ExpirationStatus enum value
24359 ExpirationStatusEnabled = "Enabled"
24360
24361 // ExpirationStatusDisabled is a ExpirationStatus enum value
24362 ExpirationStatusDisabled = "Disabled"
24363)
24364
15c0b25d
AP
24365const (
24366 // ExpressionTypeSql is a ExpressionType enum value
24367 ExpressionTypeSql = "SQL"
24368)
24369
24370const (
24371 // FileHeaderInfoUse is a FileHeaderInfo enum value
24372 FileHeaderInfoUse = "USE"
24373
24374 // FileHeaderInfoIgnore is a FileHeaderInfo enum value
24375 FileHeaderInfoIgnore = "IGNORE"
24376
24377 // FileHeaderInfoNone is a FileHeaderInfo enum value
24378 FileHeaderInfoNone = "NONE"
24379)
24380
bae9f6d2
JC
24381const (
24382 // FilterRuleNamePrefix is a FilterRuleName enum value
24383 FilterRuleNamePrefix = "prefix"
24384
24385 // FilterRuleNameSuffix is a FilterRuleName enum value
24386 FilterRuleNameSuffix = "suffix"
24387)
24388
24389const (
24390 // InventoryFormatCsv is a InventoryFormat enum value
24391 InventoryFormatCsv = "CSV"
15c0b25d
AP
24392
24393 // InventoryFormatOrc is a InventoryFormat enum value
24394 InventoryFormatOrc = "ORC"
107c1cdb
ND
24395
24396 // InventoryFormatParquet is a InventoryFormat enum value
24397 InventoryFormatParquet = "Parquet"
bae9f6d2
JC
24398)
24399
24400const (
24401 // InventoryFrequencyDaily is a InventoryFrequency enum value
24402 InventoryFrequencyDaily = "Daily"
24403
24404 // InventoryFrequencyWeekly is a InventoryFrequency enum value
24405 InventoryFrequencyWeekly = "Weekly"
24406)
24407
24408const (
24409 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value
24410 InventoryIncludedObjectVersionsAll = "All"
24411
24412 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value
24413 InventoryIncludedObjectVersionsCurrent = "Current"
24414)
24415
24416const (
24417 // InventoryOptionalFieldSize is a InventoryOptionalField enum value
24418 InventoryOptionalFieldSize = "Size"
24419
24420 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value
24421 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"
24422
24423 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value
24424 InventoryOptionalFieldStorageClass = "StorageClass"
24425
24426 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value
24427 InventoryOptionalFieldEtag = "ETag"
24428
24429 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value
24430 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"
24431
24432 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
24433 InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
15c0b25d
AP
24434
24435 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
24436 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
107c1cdb
ND
24437
24438 // InventoryOptionalFieldObjectLockRetainUntilDate is a InventoryOptionalField enum value
24439 InventoryOptionalFieldObjectLockRetainUntilDate = "ObjectLockRetainUntilDate"
24440
24441 // InventoryOptionalFieldObjectLockMode is a InventoryOptionalField enum value
24442 InventoryOptionalFieldObjectLockMode = "ObjectLockMode"
24443
24444 // InventoryOptionalFieldObjectLockLegalHoldStatus is a InventoryOptionalField enum value
24445 InventoryOptionalFieldObjectLockLegalHoldStatus = "ObjectLockLegalHoldStatus"
15c0b25d
AP
24446)
24447
24448const (
24449 // JSONTypeDocument is a JSONType enum value
24450 JSONTypeDocument = "DOCUMENT"
24451
24452 // JSONTypeLines is a JSONType enum value
24453 JSONTypeLines = "LINES"
bae9f6d2
JC
24454)
24455
24456const (
24457 // MFADeleteEnabled is a MFADelete enum value
24458 MFADeleteEnabled = "Enabled"
24459
24460 // MFADeleteDisabled is a MFADelete enum value
24461 MFADeleteDisabled = "Disabled"
24462)
24463
24464const (
24465 // MFADeleteStatusEnabled is a MFADeleteStatus enum value
24466 MFADeleteStatusEnabled = "Enabled"
24467
24468 // MFADeleteStatusDisabled is a MFADeleteStatus enum value
24469 MFADeleteStatusDisabled = "Disabled"
24470)
24471
24472const (
24473 // MetadataDirectiveCopy is a MetadataDirective enum value
24474 MetadataDirectiveCopy = "COPY"
24475
24476 // MetadataDirectiveReplace is a MetadataDirective enum value
24477 MetadataDirectiveReplace = "REPLACE"
24478)
24479
24480const (
24481 // ObjectCannedACLPrivate is a ObjectCannedACL enum value
24482 ObjectCannedACLPrivate = "private"
24483
24484 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value
24485 ObjectCannedACLPublicRead = "public-read"
24486
24487 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
24488 ObjectCannedACLPublicReadWrite = "public-read-write"
24489
24490 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
24491 ObjectCannedACLAuthenticatedRead = "authenticated-read"
24492
24493 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
24494 ObjectCannedACLAwsExecRead = "aws-exec-read"
24495
24496 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
24497 ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
24498
24499 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
24500 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
24501)
24502
107c1cdb
ND
24503const (
24504 // ObjectLockEnabledEnabled is a ObjectLockEnabled enum value
24505 ObjectLockEnabledEnabled = "Enabled"
24506)
24507
24508const (
24509 // ObjectLockLegalHoldStatusOn is a ObjectLockLegalHoldStatus enum value
24510 ObjectLockLegalHoldStatusOn = "ON"
24511
24512 // ObjectLockLegalHoldStatusOff is a ObjectLockLegalHoldStatus enum value
24513 ObjectLockLegalHoldStatusOff = "OFF"
24514)
24515
24516const (
24517 // ObjectLockModeGovernance is a ObjectLockMode enum value
24518 ObjectLockModeGovernance = "GOVERNANCE"
24519
24520 // ObjectLockModeCompliance is a ObjectLockMode enum value
24521 ObjectLockModeCompliance = "COMPLIANCE"
24522)
24523
24524const (
24525 // ObjectLockRetentionModeGovernance is a ObjectLockRetentionMode enum value
24526 ObjectLockRetentionModeGovernance = "GOVERNANCE"
24527
24528 // ObjectLockRetentionModeCompliance is a ObjectLockRetentionMode enum value
24529 ObjectLockRetentionModeCompliance = "COMPLIANCE"
24530)
24531
bae9f6d2
JC
24532const (
24533 // ObjectStorageClassStandard is a ObjectStorageClass enum value
24534 ObjectStorageClassStandard = "STANDARD"
24535
24536 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value
24537 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24538
24539 // ObjectStorageClassGlacier is a ObjectStorageClass enum value
24540 ObjectStorageClassGlacier = "GLACIER"
15c0b25d
AP
24541
24542 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
24543 ObjectStorageClassStandardIa = "STANDARD_IA"
24544
24545 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
24546 ObjectStorageClassOnezoneIa = "ONEZONE_IA"
107c1cdb
ND
24547
24548 // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value
24549 ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24550
24551 // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value
24552 ObjectStorageClassDeepArchive = "DEEP_ARCHIVE"
bae9f6d2
JC
24553)
24554
24555const (
24556 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value
24557 ObjectVersionStorageClassStandard = "STANDARD"
24558)
24559
15c0b25d
AP
24560const (
24561 // OwnerOverrideDestination is a OwnerOverride enum value
24562 OwnerOverrideDestination = "Destination"
24563)
24564
bae9f6d2
JC
24565const (
24566 // PayerRequester is a Payer enum value
24567 PayerRequester = "Requester"
24568
24569 // PayerBucketOwner is a Payer enum value
24570 PayerBucketOwner = "BucketOwner"
24571)
24572
24573const (
24574 // PermissionFullControl is a Permission enum value
24575 PermissionFullControl = "FULL_CONTROL"
24576
24577 // PermissionWrite is a Permission enum value
24578 PermissionWrite = "WRITE"
24579
24580 // PermissionWriteAcp is a Permission enum value
24581 PermissionWriteAcp = "WRITE_ACP"
24582
24583 // PermissionRead is a Permission enum value
24584 PermissionRead = "READ"
24585
24586 // PermissionReadAcp is a Permission enum value
24587 PermissionReadAcp = "READ_ACP"
24588)
24589
24590const (
24591 // ProtocolHttp is a Protocol enum value
24592 ProtocolHttp = "http"
24593
24594 // ProtocolHttps is a Protocol enum value
24595 ProtocolHttps = "https"
24596)
24597
15c0b25d
AP
24598const (
24599 // QuoteFieldsAlways is a QuoteFields enum value
24600 QuoteFieldsAlways = "ALWAYS"
24601
24602 // QuoteFieldsAsneeded is a QuoteFields enum value
24603 QuoteFieldsAsneeded = "ASNEEDED"
24604)
24605
bae9f6d2
JC
24606const (
24607 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
24608 ReplicationRuleStatusEnabled = "Enabled"
24609
24610 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value
24611 ReplicationRuleStatusDisabled = "Disabled"
24612)
24613
24614const (
24615 // ReplicationStatusComplete is a ReplicationStatus enum value
24616 ReplicationStatusComplete = "COMPLETE"
24617
24618 // ReplicationStatusPending is a ReplicationStatus enum value
24619 ReplicationStatusPending = "PENDING"
24620
24621 // ReplicationStatusFailed is a ReplicationStatus enum value
24622 ReplicationStatusFailed = "FAILED"
24623
24624 // ReplicationStatusReplica is a ReplicationStatus enum value
24625 ReplicationStatusReplica = "REPLICA"
24626)
24627
24628// If present, indicates that the requester was successfully charged for the
24629// request.
24630const (
24631 // RequestChargedRequester is a RequestCharged enum value
24632 RequestChargedRequester = "requester"
24633)
24634
24635// Confirms that the requester knows that she or he will be charged for the
24636// request. Bucket owners need not specify this parameter in their requests.
24637// Documentation on downloading objects from requester pays buckets can be found
24638// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
24639const (
24640 // RequestPayerRequester is a RequestPayer enum value
24641 RequestPayerRequester = "requester"
24642)
24643
15c0b25d
AP
24644const (
24645 // RestoreRequestTypeSelect is a RestoreRequestType enum value
24646 RestoreRequestTypeSelect = "SELECT"
24647)
24648
bae9f6d2
JC
24649const (
24650 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
24651 ServerSideEncryptionAes256 = "AES256"
24652
24653 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value
24654 ServerSideEncryptionAwsKms = "aws:kms"
24655)
24656
15c0b25d
AP
24657const (
24658 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
24659 SseKmsEncryptedObjectsStatusEnabled = "Enabled"
24660
24661 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
24662 SseKmsEncryptedObjectsStatusDisabled = "Disabled"
24663)
24664
bae9f6d2
JC
24665const (
24666 // StorageClassStandard is a StorageClass enum value
24667 StorageClassStandard = "STANDARD"
24668
24669 // StorageClassReducedRedundancy is a StorageClass enum value
24670 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24671
24672 // StorageClassStandardIa is a StorageClass enum value
24673 StorageClassStandardIa = "STANDARD_IA"
15c0b25d
AP
24674
24675 // StorageClassOnezoneIa is a StorageClass enum value
24676 StorageClassOnezoneIa = "ONEZONE_IA"
107c1cdb
ND
24677
24678 // StorageClassIntelligentTiering is a StorageClass enum value
24679 StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24680
24681 // StorageClassGlacier is a StorageClass enum value
24682 StorageClassGlacier = "GLACIER"
24683
24684 // StorageClassDeepArchive is a StorageClass enum value
24685 StorageClassDeepArchive = "DEEP_ARCHIVE"
bae9f6d2
JC
24686)
24687
24688const (
24689 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value
24690 StorageClassAnalysisSchemaVersionV1 = "V_1"
24691)
24692
24693const (
24694 // TaggingDirectiveCopy is a TaggingDirective enum value
24695 TaggingDirectiveCopy = "COPY"
24696
24697 // TaggingDirectiveReplace is a TaggingDirective enum value
24698 TaggingDirectiveReplace = "REPLACE"
24699)
24700
24701const (
24702 // TierStandard is a Tier enum value
24703 TierStandard = "Standard"
24704
24705 // TierBulk is a Tier enum value
24706 TierBulk = "Bulk"
24707
24708 // TierExpedited is a Tier enum value
24709 TierExpedited = "Expedited"
24710)
24711
24712const (
24713 // TransitionStorageClassGlacier is a TransitionStorageClass enum value
24714 TransitionStorageClassGlacier = "GLACIER"
24715
24716 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
24717 TransitionStorageClassStandardIa = "STANDARD_IA"
15c0b25d
AP
24718
24719 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
24720 TransitionStorageClassOnezoneIa = "ONEZONE_IA"
107c1cdb
ND
24721
24722 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value
24723 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24724
24725 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value
24726 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE"
bae9f6d2
JC
24727)
24728
24729const (
24730 // TypeCanonicalUser is a Type enum value
24731 TypeCanonicalUser = "CanonicalUser"
24732
24733 // TypeAmazonCustomerByEmail is a Type enum value
24734 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
24735
24736 // TypeGroup is a Type enum value
24737 TypeGroup = "Group"
24738)