]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/aws/aws-sdk-go/service/s3/api.go
0e999ca33029fa6d0e7b935969229e15e4eb8154
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / service / s3 / api.go
1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3 package s3
4
5 import (
6 "bytes"
7 "fmt"
8 "io"
9 "sync"
10 "sync/atomic"
11 "time"
12
13 "github.com/aws/aws-sdk-go/aws"
14 "github.com/aws/aws-sdk-go/aws/awserr"
15 "github.com/aws/aws-sdk-go/aws/awsutil"
16 "github.com/aws/aws-sdk-go/aws/client"
17 "github.com/aws/aws-sdk-go/aws/request"
18 "github.com/aws/aws-sdk-go/private/protocol"
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"
22 "github.com/aws/aws-sdk-go/private/protocol/restxml"
23 )
24
25 const opAbortMultipartUpload = "AbortMultipartUpload"
26
27 // AbortMultipartUploadRequest generates a "aws/request.Request" representing the
28 // client's request for the AbortMultipartUpload operation. The "output" return
29 // value will be populated with the request's response once the request completes
30 // successfuly.
31 //
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.
34 //
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.
40 //
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 //
50 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
51 func (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 //
86 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
87 func (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.
101 func (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
108 const opCompleteMultipartUpload = "CompleteMultipartUpload"
109
110 // CompleteMultipartUploadRequest generates a "aws/request.Request" representing the
111 // client's request for the CompleteMultipartUpload operation. The "output" return
112 // value will be populated with the request's response once the request completes
113 // successfuly.
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.
117 //
118 // See CompleteMultipartUpload for more information on using the CompleteMultipartUpload
119 // API call, and error handling.
120 //
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.
123 //
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 //
133 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
134 func (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.
160 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
161 func (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.
175 func (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
182 const opCopyObject = "CopyObject"
183
184 // CopyObjectRequest generates a "aws/request.Request" representing the
185 // client's request for the CopyObject operation. The "output" return
186 // value will be populated with the request's response once the request completes
187 // successfuly.
188 //
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.
191 //
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.
197 //
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 //
207 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
208 func (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 //
240 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
241 func (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.
255 func (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
262 const opCreateBucket = "CreateBucket"
263
264 // CreateBucketRequest generates a "aws/request.Request" representing the
265 // client's request for the CreateBucket operation. The "output" return
266 // value will be populated with the request's response once the request completes
267 // successfuly.
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.
271 //
272 // See CreateBucket for more information on using the CreateBucket
273 // API call, and error handling.
274 //
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.
277 //
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 //
287 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
288 func (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 //
322 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
323 func (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.
337 func (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
344 const opCreateMultipartUpload = "CreateMultipartUpload"
345
346 // CreateMultipartUploadRequest generates a "aws/request.Request" representing the
347 // client's request for the CreateMultipartUpload operation. The "output" return
348 // value will be populated with the request's response once the request completes
349 // successfuly.
350 //
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.
353 //
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.
359 //
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 //
369 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
370 func (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.
402 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
403 func (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.
417 func (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
424 const opDeleteBucket = "DeleteBucket"
425
426 // DeleteBucketRequest generates a "aws/request.Request" representing the
427 // client's request for the DeleteBucket operation. The "output" return
428 // value will be populated with the request's response once the request completes
429 // successfuly.
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.
433 //
434 // See DeleteBucket for more information on using the DeleteBucket
435 // API call, and error handling.
436 //
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.
439 //
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 //
449 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
450 func (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)
463 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
464 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
465 return
466 }
467
468 // DeleteBucket API operation for Amazon Simple Storage Service.
469 //
470 // Deletes the bucket. All objects (including all object versions and Delete
471 // Markers) in the bucket must be deleted before the bucket itself can be deleted.
472 //
473 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
474 // with awserr.Error's Code and Message methods to get detailed information about
475 // the error.
476 //
477 // See the AWS API reference guide for Amazon Simple Storage Service's
478 // API operation DeleteBucket for usage and error information.
479 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
480 func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
481 req, out := c.DeleteBucketRequest(input)
482 return out, req.Send()
483 }
484
485 // DeleteBucketWithContext is the same as DeleteBucket with the addition of
486 // the ability to pass a context and additional request options.
487 //
488 // See DeleteBucket for details on how to use this API operation.
489 //
490 // The context must be non-nil and will be used for request cancellation. If
491 // the context is nil a panic will occur. In the future the SDK may create
492 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
493 // for more information on using Contexts.
494 func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) {
495 req, out := c.DeleteBucketRequest(input)
496 req.SetContext(ctx)
497 req.ApplyOptions(opts...)
498 return out, req.Send()
499 }
500
501 const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration"
502
503 // DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
504 // client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return
505 // value will be populated with the request's response once the request completes
506 // successfuly.
507 //
508 // Use "Send" method on the returned Request to send the API call to the service.
509 // the "output" return value is not valid until after Send returns without error.
510 //
511 // See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration
512 // API call, and error handling.
513 //
514 // This method is useful when you want to inject custom logic or configuration
515 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
516 //
517 //
518 // // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method.
519 // req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params)
520 //
521 // err := req.Send()
522 // if err == nil { // resp is now filled
523 // fmt.Println(resp)
524 // }
525 //
526 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
527 func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) {
528 op := &request.Operation{
529 Name: opDeleteBucketAnalyticsConfiguration,
530 HTTPMethod: "DELETE",
531 HTTPPath: "/{Bucket}?analytics",
532 }
533
534 if input == nil {
535 input = &DeleteBucketAnalyticsConfigurationInput{}
536 }
537
538 output = &DeleteBucketAnalyticsConfigurationOutput{}
539 req = c.newRequest(op, input, output)
540 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
541 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
542 return
543 }
544
545 // DeleteBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
546 //
547 // Deletes an analytics configuration for the bucket (specified by the analytics
548 // configuration ID).
549 //
550 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
551 // with awserr.Error's Code and Message methods to get detailed information about
552 // the error.
553 //
554 // See the AWS API reference guide for Amazon Simple Storage Service's
555 // API operation DeleteBucketAnalyticsConfiguration for usage and error information.
556 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
557 func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
558 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
559 return out, req.Send()
560 }
561
562 // DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
563 // the ability to pass a context and additional request options.
564 //
565 // See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
566 //
567 // The context must be non-nil and will be used for request cancellation. If
568 // the context is nil a panic will occur. In the future the SDK may create
569 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
570 // for more information on using Contexts.
571 func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) {
572 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
573 req.SetContext(ctx)
574 req.ApplyOptions(opts...)
575 return out, req.Send()
576 }
577
578 const opDeleteBucketCors = "DeleteBucketCors"
579
580 // DeleteBucketCorsRequest generates a "aws/request.Request" representing the
581 // client's request for the DeleteBucketCors operation. The "output" return
582 // value will be populated with the request's response once the request completes
583 // successfuly.
584 //
585 // Use "Send" method on the returned Request to send the API call to the service.
586 // the "output" return value is not valid until after Send returns without error.
587 //
588 // See DeleteBucketCors for more information on using the DeleteBucketCors
589 // API call, and error handling.
590 //
591 // This method is useful when you want to inject custom logic or configuration
592 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
593 //
594 //
595 // // Example sending a request using the DeleteBucketCorsRequest method.
596 // req, resp := client.DeleteBucketCorsRequest(params)
597 //
598 // err := req.Send()
599 // if err == nil { // resp is now filled
600 // fmt.Println(resp)
601 // }
602 //
603 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
604 func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) {
605 op := &request.Operation{
606 Name: opDeleteBucketCors,
607 HTTPMethod: "DELETE",
608 HTTPPath: "/{Bucket}?cors",
609 }
610
611 if input == nil {
612 input = &DeleteBucketCorsInput{}
613 }
614
615 output = &DeleteBucketCorsOutput{}
616 req = c.newRequest(op, input, output)
617 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
618 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
619 return
620 }
621
622 // DeleteBucketCors API operation for Amazon Simple Storage Service.
623 //
624 // Deletes the cors configuration information set for the bucket.
625 //
626 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
627 // with awserr.Error's Code and Message methods to get detailed information about
628 // the error.
629 //
630 // See the AWS API reference guide for Amazon Simple Storage Service's
631 // API operation DeleteBucketCors for usage and error information.
632 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
633 func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
634 req, out := c.DeleteBucketCorsRequest(input)
635 return out, req.Send()
636 }
637
638 // DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
639 // the ability to pass a context and additional request options.
640 //
641 // See DeleteBucketCors for details on how to use this API operation.
642 //
643 // The context must be non-nil and will be used for request cancellation. If
644 // the context is nil a panic will occur. In the future the SDK may create
645 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
646 // for more information on using Contexts.
647 func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) {
648 req, out := c.DeleteBucketCorsRequest(input)
649 req.SetContext(ctx)
650 req.ApplyOptions(opts...)
651 return out, req.Send()
652 }
653
654 const opDeleteBucketEncryption = "DeleteBucketEncryption"
655
656 // DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the
657 // client's request for the DeleteBucketEncryption operation. The "output" return
658 // value will be populated with the request's response once the request completes
659 // successfuly.
660 //
661 // Use "Send" method on the returned Request to send the API call to the service.
662 // the "output" return value is not valid until after Send returns without error.
663 //
664 // See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
665 // API call, and error handling.
666 //
667 // This method is useful when you want to inject custom logic or configuration
668 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
669 //
670 //
671 // // Example sending a request using the DeleteBucketEncryptionRequest method.
672 // req, resp := client.DeleteBucketEncryptionRequest(params)
673 //
674 // err := req.Send()
675 // if err == nil { // resp is now filled
676 // fmt.Println(resp)
677 // }
678 //
679 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
680 func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) {
681 op := &request.Operation{
682 Name: opDeleteBucketEncryption,
683 HTTPMethod: "DELETE",
684 HTTPPath: "/{Bucket}?encryption",
685 }
686
687 if input == nil {
688 input = &DeleteBucketEncryptionInput{}
689 }
690
691 output = &DeleteBucketEncryptionOutput{}
692 req = c.newRequest(op, input, output)
693 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
694 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
695 return
696 }
697
698 // DeleteBucketEncryption API operation for Amazon Simple Storage Service.
699 //
700 // Deletes the server-side encryption configuration from the bucket.
701 //
702 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
703 // with awserr.Error's Code and Message methods to get detailed information about
704 // the error.
705 //
706 // See the AWS API reference guide for Amazon Simple Storage Service's
707 // API operation DeleteBucketEncryption for usage and error information.
708 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
709 func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) {
710 req, out := c.DeleteBucketEncryptionRequest(input)
711 return out, req.Send()
712 }
713
714 // DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
715 // the ability to pass a context and additional request options.
716 //
717 // See DeleteBucketEncryption for details on how to use this API operation.
718 //
719 // The context must be non-nil and will be used for request cancellation. If
720 // the context is nil a panic will occur. In the future the SDK may create
721 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
722 // for more information on using Contexts.
723 func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) {
724 req, out := c.DeleteBucketEncryptionRequest(input)
725 req.SetContext(ctx)
726 req.ApplyOptions(opts...)
727 return out, req.Send()
728 }
729
730 const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
731
732 // DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
733 // client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
734 // value will be populated with the request's response once the request completes
735 // successfuly.
736 //
737 // Use "Send" method on the returned Request to send the API call to the service.
738 // the "output" return value is not valid until after Send returns without error.
739 //
740 // See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
741 // API call, and error handling.
742 //
743 // This method is useful when you want to inject custom logic or configuration
744 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
745 //
746 //
747 // // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
748 // req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
749 //
750 // err := req.Send()
751 // if err == nil { // resp is now filled
752 // fmt.Println(resp)
753 // }
754 //
755 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
756 func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) {
757 op := &request.Operation{
758 Name: opDeleteBucketInventoryConfiguration,
759 HTTPMethod: "DELETE",
760 HTTPPath: "/{Bucket}?inventory",
761 }
762
763 if input == nil {
764 input = &DeleteBucketInventoryConfigurationInput{}
765 }
766
767 output = &DeleteBucketInventoryConfigurationOutput{}
768 req = c.newRequest(op, input, output)
769 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
770 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
771 return
772 }
773
774 // DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
775 //
776 // Deletes an inventory configuration (identified by the inventory ID) from
777 // the bucket.
778 //
779 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
780 // with awserr.Error's Code and Message methods to get detailed information about
781 // the error.
782 //
783 // See the AWS API reference guide for Amazon Simple Storage Service's
784 // API operation DeleteBucketInventoryConfiguration for usage and error information.
785 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
786 func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
787 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
788 return out, req.Send()
789 }
790
791 // DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
792 // the ability to pass a context and additional request options.
793 //
794 // See DeleteBucketInventoryConfiguration for details on how to use this API operation.
795 //
796 // The context must be non-nil and will be used for request cancellation. If
797 // the context is nil a panic will occur. In the future the SDK may create
798 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
799 // for more information on using Contexts.
800 func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) {
801 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
802 req.SetContext(ctx)
803 req.ApplyOptions(opts...)
804 return out, req.Send()
805 }
806
807 const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
808
809 // DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
810 // client's request for the DeleteBucketLifecycle operation. The "output" return
811 // value will be populated with the request's response once the request completes
812 // successfuly.
813 //
814 // Use "Send" method on the returned Request to send the API call to the service.
815 // the "output" return value is not valid until after Send returns without error.
816 //
817 // See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
818 // API call, and error handling.
819 //
820 // This method is useful when you want to inject custom logic or configuration
821 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
822 //
823 //
824 // // Example sending a request using the DeleteBucketLifecycleRequest method.
825 // req, resp := client.DeleteBucketLifecycleRequest(params)
826 //
827 // err := req.Send()
828 // if err == nil { // resp is now filled
829 // fmt.Println(resp)
830 // }
831 //
832 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
833 func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) {
834 op := &request.Operation{
835 Name: opDeleteBucketLifecycle,
836 HTTPMethod: "DELETE",
837 HTTPPath: "/{Bucket}?lifecycle",
838 }
839
840 if input == nil {
841 input = &DeleteBucketLifecycleInput{}
842 }
843
844 output = &DeleteBucketLifecycleOutput{}
845 req = c.newRequest(op, input, output)
846 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
847 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
848 return
849 }
850
851 // DeleteBucketLifecycle API operation for Amazon Simple Storage Service.
852 //
853 // Deletes the lifecycle configuration from the bucket.
854 //
855 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
856 // with awserr.Error's Code and Message methods to get detailed information about
857 // the error.
858 //
859 // See the AWS API reference guide for Amazon Simple Storage Service's
860 // API operation DeleteBucketLifecycle for usage and error information.
861 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
862 func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
863 req, out := c.DeleteBucketLifecycleRequest(input)
864 return out, req.Send()
865 }
866
867 // DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
868 // the ability to pass a context and additional request options.
869 //
870 // See DeleteBucketLifecycle for details on how to use this API operation.
871 //
872 // The context must be non-nil and will be used for request cancellation. If
873 // the context is nil a panic will occur. In the future the SDK may create
874 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
875 // for more information on using Contexts.
876 func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) {
877 req, out := c.DeleteBucketLifecycleRequest(input)
878 req.SetContext(ctx)
879 req.ApplyOptions(opts...)
880 return out, req.Send()
881 }
882
883 const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
884
885 // DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
886 // client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
887 // value will be populated with the request's response once the request completes
888 // successfuly.
889 //
890 // Use "Send" method on the returned Request to send the API call to the service.
891 // the "output" return value is not valid until after Send returns without error.
892 //
893 // See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
894 // API call, and error handling.
895 //
896 // This method is useful when you want to inject custom logic or configuration
897 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
898 //
899 //
900 // // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
901 // req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
902 //
903 // err := req.Send()
904 // if err == nil { // resp is now filled
905 // fmt.Println(resp)
906 // }
907 //
908 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
909 func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) {
910 op := &request.Operation{
911 Name: opDeleteBucketMetricsConfiguration,
912 HTTPMethod: "DELETE",
913 HTTPPath: "/{Bucket}?metrics",
914 }
915
916 if input == nil {
917 input = &DeleteBucketMetricsConfigurationInput{}
918 }
919
920 output = &DeleteBucketMetricsConfigurationOutput{}
921 req = c.newRequest(op, input, output)
922 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
923 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
924 return
925 }
926
927 // DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
928 //
929 // Deletes a metrics configuration (specified by the metrics configuration ID)
930 // from the bucket.
931 //
932 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
933 // with awserr.Error's Code and Message methods to get detailed information about
934 // the error.
935 //
936 // See the AWS API reference guide for Amazon Simple Storage Service's
937 // API operation DeleteBucketMetricsConfiguration for usage and error information.
938 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
939 func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
940 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
941 return out, req.Send()
942 }
943
944 // DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
945 // the ability to pass a context and additional request options.
946 //
947 // See DeleteBucketMetricsConfiguration for details on how to use this API operation.
948 //
949 // The context must be non-nil and will be used for request cancellation. If
950 // the context is nil a panic will occur. In the future the SDK may create
951 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
952 // for more information on using Contexts.
953 func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) {
954 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
955 req.SetContext(ctx)
956 req.ApplyOptions(opts...)
957 return out, req.Send()
958 }
959
960 const opDeleteBucketPolicy = "DeleteBucketPolicy"
961
962 // DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
963 // client's request for the DeleteBucketPolicy operation. The "output" return
964 // value will be populated with the request's response once the request completes
965 // successfuly.
966 //
967 // Use "Send" method on the returned Request to send the API call to the service.
968 // the "output" return value is not valid until after Send returns without error.
969 //
970 // See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
971 // API call, and error handling.
972 //
973 // This method is useful when you want to inject custom logic or configuration
974 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
975 //
976 //
977 // // Example sending a request using the DeleteBucketPolicyRequest method.
978 // req, resp := client.DeleteBucketPolicyRequest(params)
979 //
980 // err := req.Send()
981 // if err == nil { // resp is now filled
982 // fmt.Println(resp)
983 // }
984 //
985 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
986 func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) {
987 op := &request.Operation{
988 Name: opDeleteBucketPolicy,
989 HTTPMethod: "DELETE",
990 HTTPPath: "/{Bucket}?policy",
991 }
992
993 if input == nil {
994 input = &DeleteBucketPolicyInput{}
995 }
996
997 output = &DeleteBucketPolicyOutput{}
998 req = c.newRequest(op, input, output)
999 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
1000 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1001 return
1002 }
1003
1004 // DeleteBucketPolicy API operation for Amazon Simple Storage Service.
1005 //
1006 // Deletes the policy from the bucket.
1007 //
1008 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1009 // with awserr.Error's Code and Message methods to get detailed information about
1010 // the error.
1011 //
1012 // See the AWS API reference guide for Amazon Simple Storage Service's
1013 // API operation DeleteBucketPolicy for usage and error information.
1014 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
1015 func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
1016 req, out := c.DeleteBucketPolicyRequest(input)
1017 return out, req.Send()
1018 }
1019
1020 // DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
1021 // the ability to pass a context and additional request options.
1022 //
1023 // See DeleteBucketPolicy for details on how to use this API operation.
1024 //
1025 // The context must be non-nil and will be used for request cancellation. If
1026 // the context is nil a panic will occur. In the future the SDK may create
1027 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1028 // for more information on using Contexts.
1029 func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) {
1030 req, out := c.DeleteBucketPolicyRequest(input)
1031 req.SetContext(ctx)
1032 req.ApplyOptions(opts...)
1033 return out, req.Send()
1034 }
1035
1036 const opDeleteBucketReplication = "DeleteBucketReplication"
1037
1038 // DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
1039 // client's request for the DeleteBucketReplication operation. The "output" return
1040 // value will be populated with the request's response once the request completes
1041 // successfuly.
1042 //
1043 // Use "Send" method on the returned Request to send the API call to the service.
1044 // the "output" return value is not valid until after Send returns without error.
1045 //
1046 // See DeleteBucketReplication for more information on using the DeleteBucketReplication
1047 // API call, and error handling.
1048 //
1049 // This method is useful when you want to inject custom logic or configuration
1050 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1051 //
1052 //
1053 // // Example sending a request using the DeleteBucketReplicationRequest method.
1054 // req, resp := client.DeleteBucketReplicationRequest(params)
1055 //
1056 // err := req.Send()
1057 // if err == nil { // resp is now filled
1058 // fmt.Println(resp)
1059 // }
1060 //
1061 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
1062 func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) {
1063 op := &request.Operation{
1064 Name: opDeleteBucketReplication,
1065 HTTPMethod: "DELETE",
1066 HTTPPath: "/{Bucket}?replication",
1067 }
1068
1069 if input == nil {
1070 input = &DeleteBucketReplicationInput{}
1071 }
1072
1073 output = &DeleteBucketReplicationOutput{}
1074 req = c.newRequest(op, input, output)
1075 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
1076 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1077 return
1078 }
1079
1080 // DeleteBucketReplication API operation for Amazon Simple Storage Service.
1081 //
1082 // Deletes the replication configuration from the bucket.
1083 //
1084 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1085 // with awserr.Error's Code and Message methods to get detailed information about
1086 // the error.
1087 //
1088 // See the AWS API reference guide for Amazon Simple Storage Service's
1089 // API operation DeleteBucketReplication for usage and error information.
1090 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
1091 func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
1092 req, out := c.DeleteBucketReplicationRequest(input)
1093 return out, req.Send()
1094 }
1095
1096 // DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
1097 // the ability to pass a context and additional request options.
1098 //
1099 // See DeleteBucketReplication for details on how to use this API operation.
1100 //
1101 // The context must be non-nil and will be used for request cancellation. If
1102 // the context is nil a panic will occur. In the future the SDK may create
1103 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1104 // for more information on using Contexts.
1105 func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) {
1106 req, out := c.DeleteBucketReplicationRequest(input)
1107 req.SetContext(ctx)
1108 req.ApplyOptions(opts...)
1109 return out, req.Send()
1110 }
1111
1112 const opDeleteBucketTagging = "DeleteBucketTagging"
1113
1114 // DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
1115 // client's request for the DeleteBucketTagging operation. The "output" return
1116 // value will be populated with the request's response once the request completes
1117 // successfuly.
1118 //
1119 // Use "Send" method on the returned Request to send the API call to the service.
1120 // the "output" return value is not valid until after Send returns without error.
1121 //
1122 // See DeleteBucketTagging for more information on using the DeleteBucketTagging
1123 // API call, and error handling.
1124 //
1125 // This method is useful when you want to inject custom logic or configuration
1126 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1127 //
1128 //
1129 // // Example sending a request using the DeleteBucketTaggingRequest method.
1130 // req, resp := client.DeleteBucketTaggingRequest(params)
1131 //
1132 // err := req.Send()
1133 // if err == nil { // resp is now filled
1134 // fmt.Println(resp)
1135 // }
1136 //
1137 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1138 func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) {
1139 op := &request.Operation{
1140 Name: opDeleteBucketTagging,
1141 HTTPMethod: "DELETE",
1142 HTTPPath: "/{Bucket}?tagging",
1143 }
1144
1145 if input == nil {
1146 input = &DeleteBucketTaggingInput{}
1147 }
1148
1149 output = &DeleteBucketTaggingOutput{}
1150 req = c.newRequest(op, input, output)
1151 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
1152 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1153 return
1154 }
1155
1156 // DeleteBucketTagging API operation for Amazon Simple Storage Service.
1157 //
1158 // Deletes the tags from the bucket.
1159 //
1160 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1161 // with awserr.Error's Code and Message methods to get detailed information about
1162 // the error.
1163 //
1164 // See the AWS API reference guide for Amazon Simple Storage Service's
1165 // API operation DeleteBucketTagging for usage and error information.
1166 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1167 func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
1168 req, out := c.DeleteBucketTaggingRequest(input)
1169 return out, req.Send()
1170 }
1171
1172 // DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
1173 // the ability to pass a context and additional request options.
1174 //
1175 // See DeleteBucketTagging for details on how to use this API operation.
1176 //
1177 // The context must be non-nil and will be used for request cancellation. If
1178 // the context is nil a panic will occur. In the future the SDK may create
1179 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1180 // for more information on using Contexts.
1181 func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) {
1182 req, out := c.DeleteBucketTaggingRequest(input)
1183 req.SetContext(ctx)
1184 req.ApplyOptions(opts...)
1185 return out, req.Send()
1186 }
1187
1188 const opDeleteBucketWebsite = "DeleteBucketWebsite"
1189
1190 // DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
1191 // client's request for the DeleteBucketWebsite operation. The "output" return
1192 // value will be populated with the request's response once the request completes
1193 // successfuly.
1194 //
1195 // Use "Send" method on the returned Request to send the API call to the service.
1196 // the "output" return value is not valid until after Send returns without error.
1197 //
1198 // See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
1199 // API call, and error handling.
1200 //
1201 // This method is useful when you want to inject custom logic or configuration
1202 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1203 //
1204 //
1205 // // Example sending a request using the DeleteBucketWebsiteRequest method.
1206 // req, resp := client.DeleteBucketWebsiteRequest(params)
1207 //
1208 // err := req.Send()
1209 // if err == nil { // resp is now filled
1210 // fmt.Println(resp)
1211 // }
1212 //
1213 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1214 func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) {
1215 op := &request.Operation{
1216 Name: opDeleteBucketWebsite,
1217 HTTPMethod: "DELETE",
1218 HTTPPath: "/{Bucket}?website",
1219 }
1220
1221 if input == nil {
1222 input = &DeleteBucketWebsiteInput{}
1223 }
1224
1225 output = &DeleteBucketWebsiteOutput{}
1226 req = c.newRequest(op, input, output)
1227 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
1228 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1229 return
1230 }
1231
1232 // DeleteBucketWebsite API operation for Amazon Simple Storage Service.
1233 //
1234 // This operation removes the website configuration from the bucket.
1235 //
1236 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1237 // with awserr.Error's Code and Message methods to get detailed information about
1238 // the error.
1239 //
1240 // See the AWS API reference guide for Amazon Simple Storage Service's
1241 // API operation DeleteBucketWebsite for usage and error information.
1242 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1243 func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
1244 req, out := c.DeleteBucketWebsiteRequest(input)
1245 return out, req.Send()
1246 }
1247
1248 // DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
1249 // the ability to pass a context and additional request options.
1250 //
1251 // See DeleteBucketWebsite for details on how to use this API operation.
1252 //
1253 // The context must be non-nil and will be used for request cancellation. If
1254 // the context is nil a panic will occur. In the future the SDK may create
1255 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1256 // for more information on using Contexts.
1257 func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) {
1258 req, out := c.DeleteBucketWebsiteRequest(input)
1259 req.SetContext(ctx)
1260 req.ApplyOptions(opts...)
1261 return out, req.Send()
1262 }
1263
1264 const opDeleteObject = "DeleteObject"
1265
1266 // DeleteObjectRequest generates a "aws/request.Request" representing the
1267 // client's request for the DeleteObject operation. The "output" return
1268 // value will be populated with the request's response once the request completes
1269 // successfuly.
1270 //
1271 // Use "Send" method on the returned Request to send the API call to the service.
1272 // the "output" return value is not valid until after Send returns without error.
1273 //
1274 // See DeleteObject for more information on using the DeleteObject
1275 // API call, and error handling.
1276 //
1277 // This method is useful when you want to inject custom logic or configuration
1278 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1279 //
1280 //
1281 // // Example sending a request using the DeleteObjectRequest method.
1282 // req, resp := client.DeleteObjectRequest(params)
1283 //
1284 // err := req.Send()
1285 // if err == nil { // resp is now filled
1286 // fmt.Println(resp)
1287 // }
1288 //
1289 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1290 func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) {
1291 op := &request.Operation{
1292 Name: opDeleteObject,
1293 HTTPMethod: "DELETE",
1294 HTTPPath: "/{Bucket}/{Key+}",
1295 }
1296
1297 if input == nil {
1298 input = &DeleteObjectInput{}
1299 }
1300
1301 output = &DeleteObjectOutput{}
1302 req = c.newRequest(op, input, output)
1303 return
1304 }
1305
1306 // DeleteObject API operation for Amazon Simple Storage Service.
1307 //
1308 // Removes the null version (if there is one) of an object and inserts a delete
1309 // marker, which becomes the latest version of the object. If there isn't a
1310 // null version, Amazon S3 does not remove any objects.
1311 //
1312 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1313 // with awserr.Error's Code and Message methods to get detailed information about
1314 // the error.
1315 //
1316 // See the AWS API reference guide for Amazon Simple Storage Service's
1317 // API operation DeleteObject for usage and error information.
1318 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1319 func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) {
1320 req, out := c.DeleteObjectRequest(input)
1321 return out, req.Send()
1322 }
1323
1324 // DeleteObjectWithContext is the same as DeleteObject with the addition of
1325 // the ability to pass a context and additional request options.
1326 //
1327 // See DeleteObject for details on how to use this API operation.
1328 //
1329 // The context must be non-nil and will be used for request cancellation. If
1330 // the context is nil a panic will occur. In the future the SDK may create
1331 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1332 // for more information on using Contexts.
1333 func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) {
1334 req, out := c.DeleteObjectRequest(input)
1335 req.SetContext(ctx)
1336 req.ApplyOptions(opts...)
1337 return out, req.Send()
1338 }
1339
1340 const opDeleteObjectTagging = "DeleteObjectTagging"
1341
1342 // DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
1343 // client's request for the DeleteObjectTagging operation. The "output" return
1344 // value will be populated with the request's response once the request completes
1345 // successfuly.
1346 //
1347 // Use "Send" method on the returned Request to send the API call to the service.
1348 // the "output" return value is not valid until after Send returns without error.
1349 //
1350 // See DeleteObjectTagging for more information on using the DeleteObjectTagging
1351 // API call, and error handling.
1352 //
1353 // This method is useful when you want to inject custom logic or configuration
1354 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1355 //
1356 //
1357 // // Example sending a request using the DeleteObjectTaggingRequest method.
1358 // req, resp := client.DeleteObjectTaggingRequest(params)
1359 //
1360 // err := req.Send()
1361 // if err == nil { // resp is now filled
1362 // fmt.Println(resp)
1363 // }
1364 //
1365 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1366 func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) {
1367 op := &request.Operation{
1368 Name: opDeleteObjectTagging,
1369 HTTPMethod: "DELETE",
1370 HTTPPath: "/{Bucket}/{Key+}?tagging",
1371 }
1372
1373 if input == nil {
1374 input = &DeleteObjectTaggingInput{}
1375 }
1376
1377 output = &DeleteObjectTaggingOutput{}
1378 req = c.newRequest(op, input, output)
1379 return
1380 }
1381
1382 // DeleteObjectTagging API operation for Amazon Simple Storage Service.
1383 //
1384 // Removes the tag-set from an existing object.
1385 //
1386 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1387 // with awserr.Error's Code and Message methods to get detailed information about
1388 // the error.
1389 //
1390 // See the AWS API reference guide for Amazon Simple Storage Service's
1391 // API operation DeleteObjectTagging for usage and error information.
1392 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1393 func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
1394 req, out := c.DeleteObjectTaggingRequest(input)
1395 return out, req.Send()
1396 }
1397
1398 // DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
1399 // the ability to pass a context and additional request options.
1400 //
1401 // See DeleteObjectTagging for details on how to use this API operation.
1402 //
1403 // The context must be non-nil and will be used for request cancellation. If
1404 // the context is nil a panic will occur. In the future the SDK may create
1405 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1406 // for more information on using Contexts.
1407 func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) {
1408 req, out := c.DeleteObjectTaggingRequest(input)
1409 req.SetContext(ctx)
1410 req.ApplyOptions(opts...)
1411 return out, req.Send()
1412 }
1413
1414 const opDeleteObjects = "DeleteObjects"
1415
1416 // DeleteObjectsRequest generates a "aws/request.Request" representing the
1417 // client's request for the DeleteObjects operation. The "output" return
1418 // value will be populated with the request's response once the request completes
1419 // successfuly.
1420 //
1421 // Use "Send" method on the returned Request to send the API call to the service.
1422 // the "output" return value is not valid until after Send returns without error.
1423 //
1424 // See DeleteObjects for more information on using the DeleteObjects
1425 // API call, and error handling.
1426 //
1427 // This method is useful when you want to inject custom logic or configuration
1428 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1429 //
1430 //
1431 // // Example sending a request using the DeleteObjectsRequest method.
1432 // req, resp := client.DeleteObjectsRequest(params)
1433 //
1434 // err := req.Send()
1435 // if err == nil { // resp is now filled
1436 // fmt.Println(resp)
1437 // }
1438 //
1439 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1440 func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) {
1441 op := &request.Operation{
1442 Name: opDeleteObjects,
1443 HTTPMethod: "POST",
1444 HTTPPath: "/{Bucket}?delete",
1445 }
1446
1447 if input == nil {
1448 input = &DeleteObjectsInput{}
1449 }
1450
1451 output = &DeleteObjectsOutput{}
1452 req = c.newRequest(op, input, output)
1453 return
1454 }
1455
1456 // DeleteObjects API operation for Amazon Simple Storage Service.
1457 //
1458 // This operation enables you to delete multiple objects from a bucket using
1459 // a single HTTP request. You may specify up to 1000 keys.
1460 //
1461 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1462 // with awserr.Error's Code and Message methods to get detailed information about
1463 // the error.
1464 //
1465 // See the AWS API reference guide for Amazon Simple Storage Service's
1466 // API operation DeleteObjects for usage and error information.
1467 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1468 func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
1469 req, out := c.DeleteObjectsRequest(input)
1470 return out, req.Send()
1471 }
1472
1473 // DeleteObjectsWithContext is the same as DeleteObjects with the addition of
1474 // the ability to pass a context and additional request options.
1475 //
1476 // See DeleteObjects for details on how to use this API operation.
1477 //
1478 // The context must be non-nil and will be used for request cancellation. If
1479 // the context is nil a panic will occur. In the future the SDK may create
1480 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1481 // for more information on using Contexts.
1482 func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) {
1483 req, out := c.DeleteObjectsRequest(input)
1484 req.SetContext(ctx)
1485 req.ApplyOptions(opts...)
1486 return out, req.Send()
1487 }
1488
1489 const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
1490
1491 // GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
1492 // client's request for the GetBucketAccelerateConfiguration operation. The "output" return
1493 // value will be populated with the request's response once the request completes
1494 // successfuly.
1495 //
1496 // Use "Send" method on the returned Request to send the API call to the service.
1497 // the "output" return value is not valid until after Send returns without error.
1498 //
1499 // See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
1500 // API call, and error handling.
1501 //
1502 // This method is useful when you want to inject custom logic or configuration
1503 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1504 //
1505 //
1506 // // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
1507 // req, resp := client.GetBucketAccelerateConfigurationRequest(params)
1508 //
1509 // err := req.Send()
1510 // if err == nil { // resp is now filled
1511 // fmt.Println(resp)
1512 // }
1513 //
1514 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1515 func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) {
1516 op := &request.Operation{
1517 Name: opGetBucketAccelerateConfiguration,
1518 HTTPMethod: "GET",
1519 HTTPPath: "/{Bucket}?accelerate",
1520 }
1521
1522 if input == nil {
1523 input = &GetBucketAccelerateConfigurationInput{}
1524 }
1525
1526 output = &GetBucketAccelerateConfigurationOutput{}
1527 req = c.newRequest(op, input, output)
1528 return
1529 }
1530
1531 // GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
1532 //
1533 // Returns the accelerate configuration of a bucket.
1534 //
1535 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1536 // with awserr.Error's Code and Message methods to get detailed information about
1537 // the error.
1538 //
1539 // See the AWS API reference guide for Amazon Simple Storage Service's
1540 // API operation GetBucketAccelerateConfiguration for usage and error information.
1541 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1542 func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
1543 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1544 return out, req.Send()
1545 }
1546
1547 // GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
1548 // the ability to pass a context and additional request options.
1549 //
1550 // See GetBucketAccelerateConfiguration for details on how to use this API operation.
1551 //
1552 // The context must be non-nil and will be used for request cancellation. If
1553 // the context is nil a panic will occur. In the future the SDK may create
1554 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1555 // for more information on using Contexts.
1556 func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) {
1557 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1558 req.SetContext(ctx)
1559 req.ApplyOptions(opts...)
1560 return out, req.Send()
1561 }
1562
1563 const opGetBucketAcl = "GetBucketAcl"
1564
1565 // GetBucketAclRequest generates a "aws/request.Request" representing the
1566 // client's request for the GetBucketAcl operation. The "output" return
1567 // value will be populated with the request's response once the request completes
1568 // successfuly.
1569 //
1570 // Use "Send" method on the returned Request to send the API call to the service.
1571 // the "output" return value is not valid until after Send returns without error.
1572 //
1573 // See GetBucketAcl for more information on using the GetBucketAcl
1574 // API call, and error handling.
1575 //
1576 // This method is useful when you want to inject custom logic or configuration
1577 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1578 //
1579 //
1580 // // Example sending a request using the GetBucketAclRequest method.
1581 // req, resp := client.GetBucketAclRequest(params)
1582 //
1583 // err := req.Send()
1584 // if err == nil { // resp is now filled
1585 // fmt.Println(resp)
1586 // }
1587 //
1588 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1589 func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) {
1590 op := &request.Operation{
1591 Name: opGetBucketAcl,
1592 HTTPMethod: "GET",
1593 HTTPPath: "/{Bucket}?acl",
1594 }
1595
1596 if input == nil {
1597 input = &GetBucketAclInput{}
1598 }
1599
1600 output = &GetBucketAclOutput{}
1601 req = c.newRequest(op, input, output)
1602 return
1603 }
1604
1605 // GetBucketAcl API operation for Amazon Simple Storage Service.
1606 //
1607 // Gets the access control policy for the bucket.
1608 //
1609 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1610 // with awserr.Error's Code and Message methods to get detailed information about
1611 // the error.
1612 //
1613 // See the AWS API reference guide for Amazon Simple Storage Service's
1614 // API operation GetBucketAcl for usage and error information.
1615 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1616 func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
1617 req, out := c.GetBucketAclRequest(input)
1618 return out, req.Send()
1619 }
1620
1621 // GetBucketAclWithContext is the same as GetBucketAcl with the addition of
1622 // the ability to pass a context and additional request options.
1623 //
1624 // See GetBucketAcl for details on how to use this API operation.
1625 //
1626 // The context must be non-nil and will be used for request cancellation. If
1627 // the context is nil a panic will occur. In the future the SDK may create
1628 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1629 // for more information on using Contexts.
1630 func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) {
1631 req, out := c.GetBucketAclRequest(input)
1632 req.SetContext(ctx)
1633 req.ApplyOptions(opts...)
1634 return out, req.Send()
1635 }
1636
1637 const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
1638
1639 // GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
1640 // client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
1641 // value will be populated with the request's response once the request completes
1642 // successfuly.
1643 //
1644 // Use "Send" method on the returned Request to send the API call to the service.
1645 // the "output" return value is not valid until after Send returns without error.
1646 //
1647 // See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
1648 // API call, and error handling.
1649 //
1650 // This method is useful when you want to inject custom logic or configuration
1651 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1652 //
1653 //
1654 // // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
1655 // req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
1656 //
1657 // err := req.Send()
1658 // if err == nil { // resp is now filled
1659 // fmt.Println(resp)
1660 // }
1661 //
1662 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1663 func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) {
1664 op := &request.Operation{
1665 Name: opGetBucketAnalyticsConfiguration,
1666 HTTPMethod: "GET",
1667 HTTPPath: "/{Bucket}?analytics",
1668 }
1669
1670 if input == nil {
1671 input = &GetBucketAnalyticsConfigurationInput{}
1672 }
1673
1674 output = &GetBucketAnalyticsConfigurationOutput{}
1675 req = c.newRequest(op, input, output)
1676 return
1677 }
1678
1679 // GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
1680 //
1681 // Gets an analytics configuration for the bucket (specified by the analytics
1682 // configuration ID).
1683 //
1684 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1685 // with awserr.Error's Code and Message methods to get detailed information about
1686 // the error.
1687 //
1688 // See the AWS API reference guide for Amazon Simple Storage Service's
1689 // API operation GetBucketAnalyticsConfiguration for usage and error information.
1690 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1691 func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
1692 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1693 return out, req.Send()
1694 }
1695
1696 // GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
1697 // the ability to pass a context and additional request options.
1698 //
1699 // See GetBucketAnalyticsConfiguration for details on how to use this API operation.
1700 //
1701 // The context must be non-nil and will be used for request cancellation. If
1702 // the context is nil a panic will occur. In the future the SDK may create
1703 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1704 // for more information on using Contexts.
1705 func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) {
1706 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1707 req.SetContext(ctx)
1708 req.ApplyOptions(opts...)
1709 return out, req.Send()
1710 }
1711
1712 const opGetBucketCors = "GetBucketCors"
1713
1714 // GetBucketCorsRequest generates a "aws/request.Request" representing the
1715 // client's request for the GetBucketCors operation. The "output" return
1716 // value will be populated with the request's response once the request completes
1717 // successfuly.
1718 //
1719 // Use "Send" method on the returned Request to send the API call to the service.
1720 // the "output" return value is not valid until after Send returns without error.
1721 //
1722 // See GetBucketCors for more information on using the GetBucketCors
1723 // API call, and error handling.
1724 //
1725 // This method is useful when you want to inject custom logic or configuration
1726 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1727 //
1728 //
1729 // // Example sending a request using the GetBucketCorsRequest method.
1730 // req, resp := client.GetBucketCorsRequest(params)
1731 //
1732 // err := req.Send()
1733 // if err == nil { // resp is now filled
1734 // fmt.Println(resp)
1735 // }
1736 //
1737 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1738 func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) {
1739 op := &request.Operation{
1740 Name: opGetBucketCors,
1741 HTTPMethod: "GET",
1742 HTTPPath: "/{Bucket}?cors",
1743 }
1744
1745 if input == nil {
1746 input = &GetBucketCorsInput{}
1747 }
1748
1749 output = &GetBucketCorsOutput{}
1750 req = c.newRequest(op, input, output)
1751 return
1752 }
1753
1754 // GetBucketCors API operation for Amazon Simple Storage Service.
1755 //
1756 // Returns the cors configuration for the bucket.
1757 //
1758 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1759 // with awserr.Error's Code and Message methods to get detailed information about
1760 // the error.
1761 //
1762 // See the AWS API reference guide for Amazon Simple Storage Service's
1763 // API operation GetBucketCors for usage and error information.
1764 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1765 func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
1766 req, out := c.GetBucketCorsRequest(input)
1767 return out, req.Send()
1768 }
1769
1770 // GetBucketCorsWithContext is the same as GetBucketCors with the addition of
1771 // the ability to pass a context and additional request options.
1772 //
1773 // See GetBucketCors for details on how to use this API operation.
1774 //
1775 // The context must be non-nil and will be used for request cancellation. If
1776 // the context is nil a panic will occur. In the future the SDK may create
1777 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1778 // for more information on using Contexts.
1779 func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) {
1780 req, out := c.GetBucketCorsRequest(input)
1781 req.SetContext(ctx)
1782 req.ApplyOptions(opts...)
1783 return out, req.Send()
1784 }
1785
1786 const opGetBucketEncryption = "GetBucketEncryption"
1787
1788 // GetBucketEncryptionRequest generates a "aws/request.Request" representing the
1789 // client's request for the GetBucketEncryption operation. The "output" return
1790 // value will be populated with the request's response once the request completes
1791 // successfuly.
1792 //
1793 // Use "Send" method on the returned Request to send the API call to the service.
1794 // the "output" return value is not valid until after Send returns without error.
1795 //
1796 // See GetBucketEncryption for more information on using the GetBucketEncryption
1797 // API call, and error handling.
1798 //
1799 // This method is useful when you want to inject custom logic or configuration
1800 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1801 //
1802 //
1803 // // Example sending a request using the GetBucketEncryptionRequest method.
1804 // req, resp := client.GetBucketEncryptionRequest(params)
1805 //
1806 // err := req.Send()
1807 // if err == nil { // resp is now filled
1808 // fmt.Println(resp)
1809 // }
1810 //
1811 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1812 func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) {
1813 op := &request.Operation{
1814 Name: opGetBucketEncryption,
1815 HTTPMethod: "GET",
1816 HTTPPath: "/{Bucket}?encryption",
1817 }
1818
1819 if input == nil {
1820 input = &GetBucketEncryptionInput{}
1821 }
1822
1823 output = &GetBucketEncryptionOutput{}
1824 req = c.newRequest(op, input, output)
1825 return
1826 }
1827
1828 // GetBucketEncryption API operation for Amazon Simple Storage Service.
1829 //
1830 // Returns the server-side encryption configuration of a bucket.
1831 //
1832 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1833 // with awserr.Error's Code and Message methods to get detailed information about
1834 // the error.
1835 //
1836 // See the AWS API reference guide for Amazon Simple Storage Service's
1837 // API operation GetBucketEncryption for usage and error information.
1838 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1839 func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) {
1840 req, out := c.GetBucketEncryptionRequest(input)
1841 return out, req.Send()
1842 }
1843
1844 // GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
1845 // the ability to pass a context and additional request options.
1846 //
1847 // See GetBucketEncryption for details on how to use this API operation.
1848 //
1849 // The context must be non-nil and will be used for request cancellation. If
1850 // the context is nil a panic will occur. In the future the SDK may create
1851 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1852 // for more information on using Contexts.
1853 func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) {
1854 req, out := c.GetBucketEncryptionRequest(input)
1855 req.SetContext(ctx)
1856 req.ApplyOptions(opts...)
1857 return out, req.Send()
1858 }
1859
1860 const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
1861
1862 // GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
1863 // client's request for the GetBucketInventoryConfiguration operation. The "output" return
1864 // value will be populated with the request's response once the request completes
1865 // successfuly.
1866 //
1867 // Use "Send" method on the returned Request to send the API call to the service.
1868 // the "output" return value is not valid until after Send returns without error.
1869 //
1870 // See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
1871 // API call, and error handling.
1872 //
1873 // This method is useful when you want to inject custom logic or configuration
1874 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1875 //
1876 //
1877 // // Example sending a request using the GetBucketInventoryConfigurationRequest method.
1878 // req, resp := client.GetBucketInventoryConfigurationRequest(params)
1879 //
1880 // err := req.Send()
1881 // if err == nil { // resp is now filled
1882 // fmt.Println(resp)
1883 // }
1884 //
1885 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1886 func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) {
1887 op := &request.Operation{
1888 Name: opGetBucketInventoryConfiguration,
1889 HTTPMethod: "GET",
1890 HTTPPath: "/{Bucket}?inventory",
1891 }
1892
1893 if input == nil {
1894 input = &GetBucketInventoryConfigurationInput{}
1895 }
1896
1897 output = &GetBucketInventoryConfigurationOutput{}
1898 req = c.newRequest(op, input, output)
1899 return
1900 }
1901
1902 // GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
1903 //
1904 // Returns an inventory configuration (identified by the inventory ID) from
1905 // the bucket.
1906 //
1907 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1908 // with awserr.Error's Code and Message methods to get detailed information about
1909 // the error.
1910 //
1911 // See the AWS API reference guide for Amazon Simple Storage Service's
1912 // API operation GetBucketInventoryConfiguration for usage and error information.
1913 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1914 func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
1915 req, out := c.GetBucketInventoryConfigurationRequest(input)
1916 return out, req.Send()
1917 }
1918
1919 // GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
1920 // the ability to pass a context and additional request options.
1921 //
1922 // See GetBucketInventoryConfiguration for details on how to use this API operation.
1923 //
1924 // The context must be non-nil and will be used for request cancellation. If
1925 // the context is nil a panic will occur. In the future the SDK may create
1926 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1927 // for more information on using Contexts.
1928 func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) {
1929 req, out := c.GetBucketInventoryConfigurationRequest(input)
1930 req.SetContext(ctx)
1931 req.ApplyOptions(opts...)
1932 return out, req.Send()
1933 }
1934
1935 const opGetBucketLifecycle = "GetBucketLifecycle"
1936
1937 // GetBucketLifecycleRequest generates a "aws/request.Request" representing the
1938 // client's request for the GetBucketLifecycle operation. The "output" return
1939 // value will be populated with the request's response once the request completes
1940 // successfuly.
1941 //
1942 // Use "Send" method on the returned Request to send the API call to the service.
1943 // the "output" return value is not valid until after Send returns without error.
1944 //
1945 // See GetBucketLifecycle for more information on using the GetBucketLifecycle
1946 // API call, and error handling.
1947 //
1948 // This method is useful when you want to inject custom logic or configuration
1949 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1950 //
1951 //
1952 // // Example sending a request using the GetBucketLifecycleRequest method.
1953 // req, resp := client.GetBucketLifecycleRequest(params)
1954 //
1955 // err := req.Send()
1956 // if err == nil { // resp is now filled
1957 // fmt.Println(resp)
1958 // }
1959 //
1960 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
1961 func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) {
1962 if c.Client.Config.Logger != nil {
1963 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated")
1964 }
1965 op := &request.Operation{
1966 Name: opGetBucketLifecycle,
1967 HTTPMethod: "GET",
1968 HTTPPath: "/{Bucket}?lifecycle",
1969 }
1970
1971 if input == nil {
1972 input = &GetBucketLifecycleInput{}
1973 }
1974
1975 output = &GetBucketLifecycleOutput{}
1976 req = c.newRequest(op, input, output)
1977 return
1978 }
1979
1980 // GetBucketLifecycle API operation for Amazon Simple Storage Service.
1981 //
1982 // Deprecated, see the GetBucketLifecycleConfiguration operation.
1983 //
1984 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1985 // with awserr.Error's Code and Message methods to get detailed information about
1986 // the error.
1987 //
1988 // See the AWS API reference guide for Amazon Simple Storage Service's
1989 // API operation GetBucketLifecycle for usage and error information.
1990 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
1991 func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
1992 req, out := c.GetBucketLifecycleRequest(input)
1993 return out, req.Send()
1994 }
1995
1996 // GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
1997 // the ability to pass a context and additional request options.
1998 //
1999 // See GetBucketLifecycle for details on how to use this API operation.
2000 //
2001 // The context must be non-nil and will be used for request cancellation. If
2002 // the context is nil a panic will occur. In the future the SDK may create
2003 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2004 // for more information on using Contexts.
2005 func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) {
2006 req, out := c.GetBucketLifecycleRequest(input)
2007 req.SetContext(ctx)
2008 req.ApplyOptions(opts...)
2009 return out, req.Send()
2010 }
2011
2012 const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
2013
2014 // GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
2015 // client's request for the GetBucketLifecycleConfiguration operation. The "output" return
2016 // value will be populated with the request's response once the request completes
2017 // successfuly.
2018 //
2019 // Use "Send" method on the returned Request to send the API call to the service.
2020 // the "output" return value is not valid until after Send returns without error.
2021 //
2022 // See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
2023 // API call, and error handling.
2024 //
2025 // This method is useful when you want to inject custom logic or configuration
2026 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2027 //
2028 //
2029 // // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
2030 // req, resp := client.GetBucketLifecycleConfigurationRequest(params)
2031 //
2032 // err := req.Send()
2033 // if err == nil { // resp is now filled
2034 // fmt.Println(resp)
2035 // }
2036 //
2037 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
2038 func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) {
2039 op := &request.Operation{
2040 Name: opGetBucketLifecycleConfiguration,
2041 HTTPMethod: "GET",
2042 HTTPPath: "/{Bucket}?lifecycle",
2043 }
2044
2045 if input == nil {
2046 input = &GetBucketLifecycleConfigurationInput{}
2047 }
2048
2049 output = &GetBucketLifecycleConfigurationOutput{}
2050 req = c.newRequest(op, input, output)
2051 return
2052 }
2053
2054 // GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
2055 //
2056 // Returns the lifecycle configuration information set on the bucket.
2057 //
2058 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2059 // with awserr.Error's Code and Message methods to get detailed information about
2060 // the error.
2061 //
2062 // See the AWS API reference guide for Amazon Simple Storage Service's
2063 // API operation GetBucketLifecycleConfiguration for usage and error information.
2064 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
2065 func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
2066 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2067 return out, req.Send()
2068 }
2069
2070 // GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
2071 // the ability to pass a context and additional request options.
2072 //
2073 // See GetBucketLifecycleConfiguration for details on how to use this API operation.
2074 //
2075 // The context must be non-nil and will be used for request cancellation. If
2076 // the context is nil a panic will occur. In the future the SDK may create
2077 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2078 // for more information on using Contexts.
2079 func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) {
2080 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2081 req.SetContext(ctx)
2082 req.ApplyOptions(opts...)
2083 return out, req.Send()
2084 }
2085
2086 const opGetBucketLocation = "GetBucketLocation"
2087
2088 // GetBucketLocationRequest generates a "aws/request.Request" representing the
2089 // client's request for the GetBucketLocation operation. The "output" return
2090 // value will be populated with the request's response once the request completes
2091 // successfuly.
2092 //
2093 // Use "Send" method on the returned Request to send the API call to the service.
2094 // the "output" return value is not valid until after Send returns without error.
2095 //
2096 // See GetBucketLocation for more information on using the GetBucketLocation
2097 // API call, and error handling.
2098 //
2099 // This method is useful when you want to inject custom logic or configuration
2100 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2101 //
2102 //
2103 // // Example sending a request using the GetBucketLocationRequest method.
2104 // req, resp := client.GetBucketLocationRequest(params)
2105 //
2106 // err := req.Send()
2107 // if err == nil { // resp is now filled
2108 // fmt.Println(resp)
2109 // }
2110 //
2111 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
2112 func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) {
2113 op := &request.Operation{
2114 Name: opGetBucketLocation,
2115 HTTPMethod: "GET",
2116 HTTPPath: "/{Bucket}?location",
2117 }
2118
2119 if input == nil {
2120 input = &GetBucketLocationInput{}
2121 }
2122
2123 output = &GetBucketLocationOutput{}
2124 req = c.newRequest(op, input, output)
2125 return
2126 }
2127
2128 // GetBucketLocation API operation for Amazon Simple Storage Service.
2129 //
2130 // Returns the region the bucket resides in.
2131 //
2132 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2133 // with awserr.Error's Code and Message methods to get detailed information about
2134 // the error.
2135 //
2136 // See the AWS API reference guide for Amazon Simple Storage Service's
2137 // API operation GetBucketLocation for usage and error information.
2138 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
2139 func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
2140 req, out := c.GetBucketLocationRequest(input)
2141 return out, req.Send()
2142 }
2143
2144 // GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
2145 // the ability to pass a context and additional request options.
2146 //
2147 // See GetBucketLocation for details on how to use this API operation.
2148 //
2149 // The context must be non-nil and will be used for request cancellation. If
2150 // the context is nil a panic will occur. In the future the SDK may create
2151 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2152 // for more information on using Contexts.
2153 func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) {
2154 req, out := c.GetBucketLocationRequest(input)
2155 req.SetContext(ctx)
2156 req.ApplyOptions(opts...)
2157 return out, req.Send()
2158 }
2159
2160 const opGetBucketLogging = "GetBucketLogging"
2161
2162 // GetBucketLoggingRequest generates a "aws/request.Request" representing the
2163 // client's request for the GetBucketLogging operation. The "output" return
2164 // value will be populated with the request's response once the request completes
2165 // successfuly.
2166 //
2167 // Use "Send" method on the returned Request to send the API call to the service.
2168 // the "output" return value is not valid until after Send returns without error.
2169 //
2170 // See GetBucketLogging for more information on using the GetBucketLogging
2171 // API call, and error handling.
2172 //
2173 // This method is useful when you want to inject custom logic or configuration
2174 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2175 //
2176 //
2177 // // Example sending a request using the GetBucketLoggingRequest method.
2178 // req, resp := client.GetBucketLoggingRequest(params)
2179 //
2180 // err := req.Send()
2181 // if err == nil { // resp is now filled
2182 // fmt.Println(resp)
2183 // }
2184 //
2185 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2186 func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) {
2187 op := &request.Operation{
2188 Name: opGetBucketLogging,
2189 HTTPMethod: "GET",
2190 HTTPPath: "/{Bucket}?logging",
2191 }
2192
2193 if input == nil {
2194 input = &GetBucketLoggingInput{}
2195 }
2196
2197 output = &GetBucketLoggingOutput{}
2198 req = c.newRequest(op, input, output)
2199 return
2200 }
2201
2202 // GetBucketLogging API operation for Amazon Simple Storage Service.
2203 //
2204 // Returns the logging status of a bucket and the permissions users have to
2205 // view and modify that status. To use GET, you must be the bucket owner.
2206 //
2207 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2208 // with awserr.Error's Code and Message methods to get detailed information about
2209 // the error.
2210 //
2211 // See the AWS API reference guide for Amazon Simple Storage Service's
2212 // API operation GetBucketLogging for usage and error information.
2213 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2214 func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
2215 req, out := c.GetBucketLoggingRequest(input)
2216 return out, req.Send()
2217 }
2218
2219 // GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
2220 // the ability to pass a context and additional request options.
2221 //
2222 // See GetBucketLogging for details on how to use this API operation.
2223 //
2224 // The context must be non-nil and will be used for request cancellation. If
2225 // the context is nil a panic will occur. In the future the SDK may create
2226 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2227 // for more information on using Contexts.
2228 func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) {
2229 req, out := c.GetBucketLoggingRequest(input)
2230 req.SetContext(ctx)
2231 req.ApplyOptions(opts...)
2232 return out, req.Send()
2233 }
2234
2235 const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
2236
2237 // GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
2238 // client's request for the GetBucketMetricsConfiguration operation. The "output" return
2239 // value will be populated with the request's response once the request completes
2240 // successfuly.
2241 //
2242 // Use "Send" method on the returned Request to send the API call to the service.
2243 // the "output" return value is not valid until after Send returns without error.
2244 //
2245 // See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
2246 // API call, and error handling.
2247 //
2248 // This method is useful when you want to inject custom logic or configuration
2249 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2250 //
2251 //
2252 // // Example sending a request using the GetBucketMetricsConfigurationRequest method.
2253 // req, resp := client.GetBucketMetricsConfigurationRequest(params)
2254 //
2255 // err := req.Send()
2256 // if err == nil { // resp is now filled
2257 // fmt.Println(resp)
2258 // }
2259 //
2260 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2261 func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) {
2262 op := &request.Operation{
2263 Name: opGetBucketMetricsConfiguration,
2264 HTTPMethod: "GET",
2265 HTTPPath: "/{Bucket}?metrics",
2266 }
2267
2268 if input == nil {
2269 input = &GetBucketMetricsConfigurationInput{}
2270 }
2271
2272 output = &GetBucketMetricsConfigurationOutput{}
2273 req = c.newRequest(op, input, output)
2274 return
2275 }
2276
2277 // GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
2278 //
2279 // Gets a metrics configuration (specified by the metrics configuration ID)
2280 // from the bucket.
2281 //
2282 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2283 // with awserr.Error's Code and Message methods to get detailed information about
2284 // the error.
2285 //
2286 // See the AWS API reference guide for Amazon Simple Storage Service's
2287 // API operation GetBucketMetricsConfiguration for usage and error information.
2288 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2289 func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
2290 req, out := c.GetBucketMetricsConfigurationRequest(input)
2291 return out, req.Send()
2292 }
2293
2294 // GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
2295 // the ability to pass a context and additional request options.
2296 //
2297 // See GetBucketMetricsConfiguration for details on how to use this API operation.
2298 //
2299 // The context must be non-nil and will be used for request cancellation. If
2300 // the context is nil a panic will occur. In the future the SDK may create
2301 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2302 // for more information on using Contexts.
2303 func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) {
2304 req, out := c.GetBucketMetricsConfigurationRequest(input)
2305 req.SetContext(ctx)
2306 req.ApplyOptions(opts...)
2307 return out, req.Send()
2308 }
2309
2310 const opGetBucketNotification = "GetBucketNotification"
2311
2312 // GetBucketNotificationRequest generates a "aws/request.Request" representing the
2313 // client's request for the GetBucketNotification operation. The "output" return
2314 // value will be populated with the request's response once the request completes
2315 // successfuly.
2316 //
2317 // Use "Send" method on the returned Request to send the API call to the service.
2318 // the "output" return value is not valid until after Send returns without error.
2319 //
2320 // See GetBucketNotification for more information on using the GetBucketNotification
2321 // API call, and error handling.
2322 //
2323 // This method is useful when you want to inject custom logic or configuration
2324 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2325 //
2326 //
2327 // // Example sending a request using the GetBucketNotificationRequest method.
2328 // req, resp := client.GetBucketNotificationRequest(params)
2329 //
2330 // err := req.Send()
2331 // if err == nil { // resp is now filled
2332 // fmt.Println(resp)
2333 // }
2334 //
2335 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2336 func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) {
2337 if c.Client.Config.Logger != nil {
2338 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated")
2339 }
2340 op := &request.Operation{
2341 Name: opGetBucketNotification,
2342 HTTPMethod: "GET",
2343 HTTPPath: "/{Bucket}?notification",
2344 }
2345
2346 if input == nil {
2347 input = &GetBucketNotificationConfigurationRequest{}
2348 }
2349
2350 output = &NotificationConfigurationDeprecated{}
2351 req = c.newRequest(op, input, output)
2352 return
2353 }
2354
2355 // GetBucketNotification API operation for Amazon Simple Storage Service.
2356 //
2357 // Deprecated, see the GetBucketNotificationConfiguration operation.
2358 //
2359 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2360 // with awserr.Error's Code and Message methods to get detailed information about
2361 // the error.
2362 //
2363 // See the AWS API reference guide for Amazon Simple Storage Service's
2364 // API operation GetBucketNotification for usage and error information.
2365 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2366 func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
2367 req, out := c.GetBucketNotificationRequest(input)
2368 return out, req.Send()
2369 }
2370
2371 // GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
2372 // the ability to pass a context and additional request options.
2373 //
2374 // See GetBucketNotification for details on how to use this API operation.
2375 //
2376 // The context must be non-nil and will be used for request cancellation. If
2377 // the context is nil a panic will occur. In the future the SDK may create
2378 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2379 // for more information on using Contexts.
2380 func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) {
2381 req, out := c.GetBucketNotificationRequest(input)
2382 req.SetContext(ctx)
2383 req.ApplyOptions(opts...)
2384 return out, req.Send()
2385 }
2386
2387 const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
2388
2389 // GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
2390 // client's request for the GetBucketNotificationConfiguration operation. The "output" return
2391 // value will be populated with the request's response once the request completes
2392 // successfuly.
2393 //
2394 // Use "Send" method on the returned Request to send the API call to the service.
2395 // the "output" return value is not valid until after Send returns without error.
2396 //
2397 // See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
2398 // API call, and error handling.
2399 //
2400 // This method is useful when you want to inject custom logic or configuration
2401 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2402 //
2403 //
2404 // // Example sending a request using the GetBucketNotificationConfigurationRequest method.
2405 // req, resp := client.GetBucketNotificationConfigurationRequest(params)
2406 //
2407 // err := req.Send()
2408 // if err == nil { // resp is now filled
2409 // fmt.Println(resp)
2410 // }
2411 //
2412 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2413 func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) {
2414 op := &request.Operation{
2415 Name: opGetBucketNotificationConfiguration,
2416 HTTPMethod: "GET",
2417 HTTPPath: "/{Bucket}?notification",
2418 }
2419
2420 if input == nil {
2421 input = &GetBucketNotificationConfigurationRequest{}
2422 }
2423
2424 output = &NotificationConfiguration{}
2425 req = c.newRequest(op, input, output)
2426 return
2427 }
2428
2429 // GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
2430 //
2431 // Returns the notification configuration of a bucket.
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 GetBucketNotificationConfiguration for usage and error information.
2439 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2440 func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
2441 req, out := c.GetBucketNotificationConfigurationRequest(input)
2442 return out, req.Send()
2443 }
2444
2445 // GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
2446 // the ability to pass a context and additional request options.
2447 //
2448 // See GetBucketNotificationConfiguration for details on how to use this API operation.
2449 //
2450 // The context must be non-nil and will be used for request cancellation. If
2451 // the context is nil a panic will occur. In the future the SDK may create
2452 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2453 // for more information on using Contexts.
2454 func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) {
2455 req, out := c.GetBucketNotificationConfigurationRequest(input)
2456 req.SetContext(ctx)
2457 req.ApplyOptions(opts...)
2458 return out, req.Send()
2459 }
2460
2461 const opGetBucketPolicy = "GetBucketPolicy"
2462
2463 // GetBucketPolicyRequest generates a "aws/request.Request" representing the
2464 // client's request for the GetBucketPolicy operation. The "output" return
2465 // value will be populated with the request's response once the request completes
2466 // successfuly.
2467 //
2468 // Use "Send" method on the returned Request to send the API call to the service.
2469 // the "output" return value is not valid until after Send returns without error.
2470 //
2471 // See GetBucketPolicy for more information on using the GetBucketPolicy
2472 // API call, and error handling.
2473 //
2474 // This method is useful when you want to inject custom logic or configuration
2475 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2476 //
2477 //
2478 // // Example sending a request using the GetBucketPolicyRequest method.
2479 // req, resp := client.GetBucketPolicyRequest(params)
2480 //
2481 // err := req.Send()
2482 // if err == nil { // resp is now filled
2483 // fmt.Println(resp)
2484 // }
2485 //
2486 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2487 func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) {
2488 op := &request.Operation{
2489 Name: opGetBucketPolicy,
2490 HTTPMethod: "GET",
2491 HTTPPath: "/{Bucket}?policy",
2492 }
2493
2494 if input == nil {
2495 input = &GetBucketPolicyInput{}
2496 }
2497
2498 output = &GetBucketPolicyOutput{}
2499 req = c.newRequest(op, input, output)
2500 return
2501 }
2502
2503 // GetBucketPolicy API operation for Amazon Simple Storage Service.
2504 //
2505 // Returns the policy of a specified bucket.
2506 //
2507 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2508 // with awserr.Error's Code and Message methods to get detailed information about
2509 // the error.
2510 //
2511 // See the AWS API reference guide for Amazon Simple Storage Service's
2512 // API operation GetBucketPolicy for usage and error information.
2513 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2514 func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
2515 req, out := c.GetBucketPolicyRequest(input)
2516 return out, req.Send()
2517 }
2518
2519 // GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
2520 // the ability to pass a context and additional request options.
2521 //
2522 // See GetBucketPolicy for details on how to use this API operation.
2523 //
2524 // The context must be non-nil and will be used for request cancellation. If
2525 // the context is nil a panic will occur. In the future the SDK may create
2526 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2527 // for more information on using Contexts.
2528 func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) {
2529 req, out := c.GetBucketPolicyRequest(input)
2530 req.SetContext(ctx)
2531 req.ApplyOptions(opts...)
2532 return out, req.Send()
2533 }
2534
2535 const opGetBucketReplication = "GetBucketReplication"
2536
2537 // GetBucketReplicationRequest generates a "aws/request.Request" representing the
2538 // client's request for the GetBucketReplication operation. The "output" return
2539 // value will be populated with the request's response once the request completes
2540 // successfuly.
2541 //
2542 // Use "Send" method on the returned Request to send the API call to the service.
2543 // the "output" return value is not valid until after Send returns without error.
2544 //
2545 // See GetBucketReplication for more information on using the GetBucketReplication
2546 // API call, and error handling.
2547 //
2548 // This method is useful when you want to inject custom logic or configuration
2549 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2550 //
2551 //
2552 // // Example sending a request using the GetBucketReplicationRequest method.
2553 // req, resp := client.GetBucketReplicationRequest(params)
2554 //
2555 // err := req.Send()
2556 // if err == nil { // resp is now filled
2557 // fmt.Println(resp)
2558 // }
2559 //
2560 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2561 func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) {
2562 op := &request.Operation{
2563 Name: opGetBucketReplication,
2564 HTTPMethod: "GET",
2565 HTTPPath: "/{Bucket}?replication",
2566 }
2567
2568 if input == nil {
2569 input = &GetBucketReplicationInput{}
2570 }
2571
2572 output = &GetBucketReplicationOutput{}
2573 req = c.newRequest(op, input, output)
2574 return
2575 }
2576
2577 // GetBucketReplication API operation for Amazon Simple Storage Service.
2578 //
2579 // Returns the replication configuration of a bucket.
2580 //
2581 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2582 // with awserr.Error's Code and Message methods to get detailed information about
2583 // the error.
2584 //
2585 // See the AWS API reference guide for Amazon Simple Storage Service's
2586 // API operation GetBucketReplication for usage and error information.
2587 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2588 func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
2589 req, out := c.GetBucketReplicationRequest(input)
2590 return out, req.Send()
2591 }
2592
2593 // GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
2594 // the ability to pass a context and additional request options.
2595 //
2596 // See GetBucketReplication for details on how to use this API operation.
2597 //
2598 // The context must be non-nil and will be used for request cancellation. If
2599 // the context is nil a panic will occur. In the future the SDK may create
2600 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2601 // for more information on using Contexts.
2602 func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) {
2603 req, out := c.GetBucketReplicationRequest(input)
2604 req.SetContext(ctx)
2605 req.ApplyOptions(opts...)
2606 return out, req.Send()
2607 }
2608
2609 const opGetBucketRequestPayment = "GetBucketRequestPayment"
2610
2611 // GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
2612 // client's request for the GetBucketRequestPayment operation. The "output" return
2613 // value will be populated with the request's response once the request completes
2614 // successfuly.
2615 //
2616 // Use "Send" method on the returned Request to send the API call to the service.
2617 // the "output" return value is not valid until after Send returns without error.
2618 //
2619 // See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
2620 // API call, and error handling.
2621 //
2622 // This method is useful when you want to inject custom logic or configuration
2623 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2624 //
2625 //
2626 // // Example sending a request using the GetBucketRequestPaymentRequest method.
2627 // req, resp := client.GetBucketRequestPaymentRequest(params)
2628 //
2629 // err := req.Send()
2630 // if err == nil { // resp is now filled
2631 // fmt.Println(resp)
2632 // }
2633 //
2634 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2635 func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) {
2636 op := &request.Operation{
2637 Name: opGetBucketRequestPayment,
2638 HTTPMethod: "GET",
2639 HTTPPath: "/{Bucket}?requestPayment",
2640 }
2641
2642 if input == nil {
2643 input = &GetBucketRequestPaymentInput{}
2644 }
2645
2646 output = &GetBucketRequestPaymentOutput{}
2647 req = c.newRequest(op, input, output)
2648 return
2649 }
2650
2651 // GetBucketRequestPayment API operation for Amazon Simple Storage Service.
2652 //
2653 // Returns the request payment configuration of a bucket.
2654 //
2655 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2656 // with awserr.Error's Code and Message methods to get detailed information about
2657 // the error.
2658 //
2659 // See the AWS API reference guide for Amazon Simple Storage Service's
2660 // API operation GetBucketRequestPayment for usage and error information.
2661 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2662 func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
2663 req, out := c.GetBucketRequestPaymentRequest(input)
2664 return out, req.Send()
2665 }
2666
2667 // GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
2668 // the ability to pass a context and additional request options.
2669 //
2670 // See GetBucketRequestPayment for details on how to use this API operation.
2671 //
2672 // The context must be non-nil and will be used for request cancellation. If
2673 // the context is nil a panic will occur. In the future the SDK may create
2674 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2675 // for more information on using Contexts.
2676 func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) {
2677 req, out := c.GetBucketRequestPaymentRequest(input)
2678 req.SetContext(ctx)
2679 req.ApplyOptions(opts...)
2680 return out, req.Send()
2681 }
2682
2683 const opGetBucketTagging = "GetBucketTagging"
2684
2685 // GetBucketTaggingRequest generates a "aws/request.Request" representing the
2686 // client's request for the GetBucketTagging operation. The "output" return
2687 // value will be populated with the request's response once the request completes
2688 // successfuly.
2689 //
2690 // Use "Send" method on the returned Request to send the API call to the service.
2691 // the "output" return value is not valid until after Send returns without error.
2692 //
2693 // See GetBucketTagging for more information on using the GetBucketTagging
2694 // API call, and error handling.
2695 //
2696 // This method is useful when you want to inject custom logic or configuration
2697 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2698 //
2699 //
2700 // // Example sending a request using the GetBucketTaggingRequest method.
2701 // req, resp := client.GetBucketTaggingRequest(params)
2702 //
2703 // err := req.Send()
2704 // if err == nil { // resp is now filled
2705 // fmt.Println(resp)
2706 // }
2707 //
2708 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2709 func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) {
2710 op := &request.Operation{
2711 Name: opGetBucketTagging,
2712 HTTPMethod: "GET",
2713 HTTPPath: "/{Bucket}?tagging",
2714 }
2715
2716 if input == nil {
2717 input = &GetBucketTaggingInput{}
2718 }
2719
2720 output = &GetBucketTaggingOutput{}
2721 req = c.newRequest(op, input, output)
2722 return
2723 }
2724
2725 // GetBucketTagging API operation for Amazon Simple Storage Service.
2726 //
2727 // Returns the tag set associated with the bucket.
2728 //
2729 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2730 // with awserr.Error's Code and Message methods to get detailed information about
2731 // the error.
2732 //
2733 // See the AWS API reference guide for Amazon Simple Storage Service's
2734 // API operation GetBucketTagging for usage and error information.
2735 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2736 func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
2737 req, out := c.GetBucketTaggingRequest(input)
2738 return out, req.Send()
2739 }
2740
2741 // GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
2742 // the ability to pass a context and additional request options.
2743 //
2744 // See GetBucketTagging for details on how to use this API operation.
2745 //
2746 // The context must be non-nil and will be used for request cancellation. If
2747 // the context is nil a panic will occur. In the future the SDK may create
2748 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2749 // for more information on using Contexts.
2750 func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) {
2751 req, out := c.GetBucketTaggingRequest(input)
2752 req.SetContext(ctx)
2753 req.ApplyOptions(opts...)
2754 return out, req.Send()
2755 }
2756
2757 const opGetBucketVersioning = "GetBucketVersioning"
2758
2759 // GetBucketVersioningRequest generates a "aws/request.Request" representing the
2760 // client's request for the GetBucketVersioning operation. The "output" return
2761 // value will be populated with the request's response once the request completes
2762 // successfuly.
2763 //
2764 // Use "Send" method on the returned Request to send the API call to the service.
2765 // the "output" return value is not valid until after Send returns without error.
2766 //
2767 // See GetBucketVersioning for more information on using the GetBucketVersioning
2768 // API call, and error handling.
2769 //
2770 // This method is useful when you want to inject custom logic or configuration
2771 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2772 //
2773 //
2774 // // Example sending a request using the GetBucketVersioningRequest method.
2775 // req, resp := client.GetBucketVersioningRequest(params)
2776 //
2777 // err := req.Send()
2778 // if err == nil { // resp is now filled
2779 // fmt.Println(resp)
2780 // }
2781 //
2782 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2783 func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) {
2784 op := &request.Operation{
2785 Name: opGetBucketVersioning,
2786 HTTPMethod: "GET",
2787 HTTPPath: "/{Bucket}?versioning",
2788 }
2789
2790 if input == nil {
2791 input = &GetBucketVersioningInput{}
2792 }
2793
2794 output = &GetBucketVersioningOutput{}
2795 req = c.newRequest(op, input, output)
2796 return
2797 }
2798
2799 // GetBucketVersioning API operation for Amazon Simple Storage Service.
2800 //
2801 // Returns the versioning state of a bucket.
2802 //
2803 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2804 // with awserr.Error's Code and Message methods to get detailed information about
2805 // the error.
2806 //
2807 // See the AWS API reference guide for Amazon Simple Storage Service's
2808 // API operation GetBucketVersioning for usage and error information.
2809 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2810 func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
2811 req, out := c.GetBucketVersioningRequest(input)
2812 return out, req.Send()
2813 }
2814
2815 // GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
2816 // the ability to pass a context and additional request options.
2817 //
2818 // See GetBucketVersioning for details on how to use this API operation.
2819 //
2820 // The context must be non-nil and will be used for request cancellation. If
2821 // the context is nil a panic will occur. In the future the SDK may create
2822 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2823 // for more information on using Contexts.
2824 func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) {
2825 req, out := c.GetBucketVersioningRequest(input)
2826 req.SetContext(ctx)
2827 req.ApplyOptions(opts...)
2828 return out, req.Send()
2829 }
2830
2831 const opGetBucketWebsite = "GetBucketWebsite"
2832
2833 // GetBucketWebsiteRequest generates a "aws/request.Request" representing the
2834 // client's request for the GetBucketWebsite operation. The "output" return
2835 // value will be populated with the request's response once the request completes
2836 // successfuly.
2837 //
2838 // Use "Send" method on the returned Request to send the API call to the service.
2839 // the "output" return value is not valid until after Send returns without error.
2840 //
2841 // See GetBucketWebsite for more information on using the GetBucketWebsite
2842 // API call, and error handling.
2843 //
2844 // This method is useful when you want to inject custom logic or configuration
2845 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2846 //
2847 //
2848 // // Example sending a request using the GetBucketWebsiteRequest method.
2849 // req, resp := client.GetBucketWebsiteRequest(params)
2850 //
2851 // err := req.Send()
2852 // if err == nil { // resp is now filled
2853 // fmt.Println(resp)
2854 // }
2855 //
2856 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
2857 func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) {
2858 op := &request.Operation{
2859 Name: opGetBucketWebsite,
2860 HTTPMethod: "GET",
2861 HTTPPath: "/{Bucket}?website",
2862 }
2863
2864 if input == nil {
2865 input = &GetBucketWebsiteInput{}
2866 }
2867
2868 output = &GetBucketWebsiteOutput{}
2869 req = c.newRequest(op, input, output)
2870 return
2871 }
2872
2873 // GetBucketWebsite API operation for Amazon Simple Storage Service.
2874 //
2875 // Returns the website configuration for a bucket.
2876 //
2877 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2878 // with awserr.Error's Code and Message methods to get detailed information about
2879 // the error.
2880 //
2881 // See the AWS API reference guide for Amazon Simple Storage Service's
2882 // API operation GetBucketWebsite for usage and error information.
2883 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
2884 func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
2885 req, out := c.GetBucketWebsiteRequest(input)
2886 return out, req.Send()
2887 }
2888
2889 // GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
2890 // the ability to pass a context and additional request options.
2891 //
2892 // See GetBucketWebsite for details on how to use this API operation.
2893 //
2894 // The context must be non-nil and will be used for request cancellation. If
2895 // the context is nil a panic will occur. In the future the SDK may create
2896 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2897 // for more information on using Contexts.
2898 func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) {
2899 req, out := c.GetBucketWebsiteRequest(input)
2900 req.SetContext(ctx)
2901 req.ApplyOptions(opts...)
2902 return out, req.Send()
2903 }
2904
2905 const opGetObject = "GetObject"
2906
2907 // GetObjectRequest generates a "aws/request.Request" representing the
2908 // client's request for the GetObject operation. The "output" return
2909 // value will be populated with the request's response once the request completes
2910 // successfuly.
2911 //
2912 // Use "Send" method on the returned Request to send the API call to the service.
2913 // the "output" return value is not valid until after Send returns without error.
2914 //
2915 // See GetObject for more information on using the GetObject
2916 // API call, and error handling.
2917 //
2918 // This method is useful when you want to inject custom logic or configuration
2919 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2920 //
2921 //
2922 // // Example sending a request using the GetObjectRequest method.
2923 // req, resp := client.GetObjectRequest(params)
2924 //
2925 // err := req.Send()
2926 // if err == nil { // resp is now filled
2927 // fmt.Println(resp)
2928 // }
2929 //
2930 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
2931 func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) {
2932 op := &request.Operation{
2933 Name: opGetObject,
2934 HTTPMethod: "GET",
2935 HTTPPath: "/{Bucket}/{Key+}",
2936 }
2937
2938 if input == nil {
2939 input = &GetObjectInput{}
2940 }
2941
2942 output = &GetObjectOutput{}
2943 req = c.newRequest(op, input, output)
2944 return
2945 }
2946
2947 // GetObject API operation for Amazon Simple Storage Service.
2948 //
2949 // Retrieves objects from Amazon S3.
2950 //
2951 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2952 // with awserr.Error's Code and Message methods to get detailed information about
2953 // the error.
2954 //
2955 // See the AWS API reference guide for Amazon Simple Storage Service's
2956 // API operation GetObject for usage and error information.
2957 //
2958 // Returned Error Codes:
2959 // * ErrCodeNoSuchKey "NoSuchKey"
2960 // The specified key does not exist.
2961 //
2962 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
2963 func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
2964 req, out := c.GetObjectRequest(input)
2965 return out, req.Send()
2966 }
2967
2968 // GetObjectWithContext is the same as GetObject with the addition of
2969 // the ability to pass a context and additional request options.
2970 //
2971 // See GetObject for details on how to use this API operation.
2972 //
2973 // The context must be non-nil and will be used for request cancellation. If
2974 // the context is nil a panic will occur. In the future the SDK may create
2975 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2976 // for more information on using Contexts.
2977 func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) {
2978 req, out := c.GetObjectRequest(input)
2979 req.SetContext(ctx)
2980 req.ApplyOptions(opts...)
2981 return out, req.Send()
2982 }
2983
2984 const opGetObjectAcl = "GetObjectAcl"
2985
2986 // GetObjectAclRequest generates a "aws/request.Request" representing the
2987 // client's request for the GetObjectAcl operation. The "output" return
2988 // value will be populated with the request's response once the request completes
2989 // successfuly.
2990 //
2991 // Use "Send" method on the returned Request to send the API call to the service.
2992 // the "output" return value is not valid until after Send returns without error.
2993 //
2994 // See GetObjectAcl for more information on using the GetObjectAcl
2995 // API call, and error handling.
2996 //
2997 // This method is useful when you want to inject custom logic or configuration
2998 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2999 //
3000 //
3001 // // Example sending a request using the GetObjectAclRequest method.
3002 // req, resp := client.GetObjectAclRequest(params)
3003 //
3004 // err := req.Send()
3005 // if err == nil { // resp is now filled
3006 // fmt.Println(resp)
3007 // }
3008 //
3009 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
3010 func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) {
3011 op := &request.Operation{
3012 Name: opGetObjectAcl,
3013 HTTPMethod: "GET",
3014 HTTPPath: "/{Bucket}/{Key+}?acl",
3015 }
3016
3017 if input == nil {
3018 input = &GetObjectAclInput{}
3019 }
3020
3021 output = &GetObjectAclOutput{}
3022 req = c.newRequest(op, input, output)
3023 return
3024 }
3025
3026 // GetObjectAcl API operation for Amazon Simple Storage Service.
3027 //
3028 // Returns the access control list (ACL) of an object.
3029 //
3030 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3031 // with awserr.Error's Code and Message methods to get detailed information about
3032 // the error.
3033 //
3034 // See the AWS API reference guide for Amazon Simple Storage Service's
3035 // API operation GetObjectAcl for usage and error information.
3036 //
3037 // Returned Error Codes:
3038 // * ErrCodeNoSuchKey "NoSuchKey"
3039 // The specified key does not exist.
3040 //
3041 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
3042 func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
3043 req, out := c.GetObjectAclRequest(input)
3044 return out, req.Send()
3045 }
3046
3047 // GetObjectAclWithContext is the same as GetObjectAcl with the addition of
3048 // the ability to pass a context and additional request options.
3049 //
3050 // See GetObjectAcl for details on how to use this API operation.
3051 //
3052 // The context must be non-nil and will be used for request cancellation. If
3053 // the context is nil a panic will occur. In the future the SDK may create
3054 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3055 // for more information on using Contexts.
3056 func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) {
3057 req, out := c.GetObjectAclRequest(input)
3058 req.SetContext(ctx)
3059 req.ApplyOptions(opts...)
3060 return out, req.Send()
3061 }
3062
3063 const opGetObjectTagging = "GetObjectTagging"
3064
3065 // GetObjectTaggingRequest generates a "aws/request.Request" representing the
3066 // client's request for the GetObjectTagging operation. The "output" return
3067 // value will be populated with the request's response once the request completes
3068 // successfuly.
3069 //
3070 // Use "Send" method on the returned Request to send the API call to the service.
3071 // the "output" return value is not valid until after Send returns without error.
3072 //
3073 // See GetObjectTagging for more information on using the GetObjectTagging
3074 // API call, and error handling.
3075 //
3076 // This method is useful when you want to inject custom logic or configuration
3077 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3078 //
3079 //
3080 // // Example sending a request using the GetObjectTaggingRequest method.
3081 // req, resp := client.GetObjectTaggingRequest(params)
3082 //
3083 // err := req.Send()
3084 // if err == nil { // resp is now filled
3085 // fmt.Println(resp)
3086 // }
3087 //
3088 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3089 func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) {
3090 op := &request.Operation{
3091 Name: opGetObjectTagging,
3092 HTTPMethod: "GET",
3093 HTTPPath: "/{Bucket}/{Key+}?tagging",
3094 }
3095
3096 if input == nil {
3097 input = &GetObjectTaggingInput{}
3098 }
3099
3100 output = &GetObjectTaggingOutput{}
3101 req = c.newRequest(op, input, output)
3102 return
3103 }
3104
3105 // GetObjectTagging API operation for Amazon Simple Storage Service.
3106 //
3107 // Returns the tag-set of an object.
3108 //
3109 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3110 // with awserr.Error's Code and Message methods to get detailed information about
3111 // the error.
3112 //
3113 // See the AWS API reference guide for Amazon Simple Storage Service's
3114 // API operation GetObjectTagging for usage and error information.
3115 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3116 func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
3117 req, out := c.GetObjectTaggingRequest(input)
3118 return out, req.Send()
3119 }
3120
3121 // GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
3122 // the ability to pass a context and additional request options.
3123 //
3124 // See GetObjectTagging for details on how to use this API operation.
3125 //
3126 // The context must be non-nil and will be used for request cancellation. If
3127 // the context is nil a panic will occur. In the future the SDK may create
3128 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3129 // for more information on using Contexts.
3130 func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) {
3131 req, out := c.GetObjectTaggingRequest(input)
3132 req.SetContext(ctx)
3133 req.ApplyOptions(opts...)
3134 return out, req.Send()
3135 }
3136
3137 const opGetObjectTorrent = "GetObjectTorrent"
3138
3139 // GetObjectTorrentRequest generates a "aws/request.Request" representing the
3140 // client's request for the GetObjectTorrent operation. The "output" return
3141 // value will be populated with the request's response once the request completes
3142 // successfuly.
3143 //
3144 // Use "Send" method on the returned Request to send the API call to the service.
3145 // the "output" return value is not valid until after Send returns without error.
3146 //
3147 // See GetObjectTorrent for more information on using the GetObjectTorrent
3148 // API call, and error handling.
3149 //
3150 // This method is useful when you want to inject custom logic or configuration
3151 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3152 //
3153 //
3154 // // Example sending a request using the GetObjectTorrentRequest method.
3155 // req, resp := client.GetObjectTorrentRequest(params)
3156 //
3157 // err := req.Send()
3158 // if err == nil { // resp is now filled
3159 // fmt.Println(resp)
3160 // }
3161 //
3162 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3163 func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) {
3164 op := &request.Operation{
3165 Name: opGetObjectTorrent,
3166 HTTPMethod: "GET",
3167 HTTPPath: "/{Bucket}/{Key+}?torrent",
3168 }
3169
3170 if input == nil {
3171 input = &GetObjectTorrentInput{}
3172 }
3173
3174 output = &GetObjectTorrentOutput{}
3175 req = c.newRequest(op, input, output)
3176 return
3177 }
3178
3179 // GetObjectTorrent API operation for Amazon Simple Storage Service.
3180 //
3181 // Return torrent files from a bucket.
3182 //
3183 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3184 // with awserr.Error's Code and Message methods to get detailed information about
3185 // the error.
3186 //
3187 // See the AWS API reference guide for Amazon Simple Storage Service's
3188 // API operation GetObjectTorrent for usage and error information.
3189 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3190 func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
3191 req, out := c.GetObjectTorrentRequest(input)
3192 return out, req.Send()
3193 }
3194
3195 // GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
3196 // the ability to pass a context and additional request options.
3197 //
3198 // See GetObjectTorrent for details on how to use this API operation.
3199 //
3200 // The context must be non-nil and will be used for request cancellation. If
3201 // the context is nil a panic will occur. In the future the SDK may create
3202 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3203 // for more information on using Contexts.
3204 func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) {
3205 req, out := c.GetObjectTorrentRequest(input)
3206 req.SetContext(ctx)
3207 req.ApplyOptions(opts...)
3208 return out, req.Send()
3209 }
3210
3211 const opHeadBucket = "HeadBucket"
3212
3213 // HeadBucketRequest generates a "aws/request.Request" representing the
3214 // client's request for the HeadBucket operation. The "output" return
3215 // value will be populated with the request's response once the request completes
3216 // successfuly.
3217 //
3218 // Use "Send" method on the returned Request to send the API call to the service.
3219 // the "output" return value is not valid until after Send returns without error.
3220 //
3221 // See HeadBucket for more information on using the HeadBucket
3222 // API call, and error handling.
3223 //
3224 // This method is useful when you want to inject custom logic or configuration
3225 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3226 //
3227 //
3228 // // Example sending a request using the HeadBucketRequest method.
3229 // req, resp := client.HeadBucketRequest(params)
3230 //
3231 // err := req.Send()
3232 // if err == nil { // resp is now filled
3233 // fmt.Println(resp)
3234 // }
3235 //
3236 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3237 func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) {
3238 op := &request.Operation{
3239 Name: opHeadBucket,
3240 HTTPMethod: "HEAD",
3241 HTTPPath: "/{Bucket}",
3242 }
3243
3244 if input == nil {
3245 input = &HeadBucketInput{}
3246 }
3247
3248 output = &HeadBucketOutput{}
3249 req = c.newRequest(op, input, output)
3250 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
3251 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3252 return
3253 }
3254
3255 // HeadBucket API operation for Amazon Simple Storage Service.
3256 //
3257 // This operation is useful to determine if a bucket exists and you have permission
3258 // to access it.
3259 //
3260 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3261 // with awserr.Error's Code and Message methods to get detailed information about
3262 // the error.
3263 //
3264 // See the AWS API reference guide for Amazon Simple Storage Service's
3265 // API operation HeadBucket for usage and error information.
3266 //
3267 // Returned Error Codes:
3268 // * ErrCodeNoSuchBucket "NoSuchBucket"
3269 // The specified bucket does not exist.
3270 //
3271 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3272 func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
3273 req, out := c.HeadBucketRequest(input)
3274 return out, req.Send()
3275 }
3276
3277 // HeadBucketWithContext is the same as HeadBucket with the addition of
3278 // the ability to pass a context and additional request options.
3279 //
3280 // See HeadBucket for details on how to use this API operation.
3281 //
3282 // The context must be non-nil and will be used for request cancellation. If
3283 // the context is nil a panic will occur. In the future the SDK may create
3284 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3285 // for more information on using Contexts.
3286 func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) {
3287 req, out := c.HeadBucketRequest(input)
3288 req.SetContext(ctx)
3289 req.ApplyOptions(opts...)
3290 return out, req.Send()
3291 }
3292
3293 const opHeadObject = "HeadObject"
3294
3295 // HeadObjectRequest generates a "aws/request.Request" representing the
3296 // client's request for the HeadObject operation. The "output" return
3297 // value will be populated with the request's response once the request completes
3298 // successfuly.
3299 //
3300 // Use "Send" method on the returned Request to send the API call to the service.
3301 // the "output" return value is not valid until after Send returns without error.
3302 //
3303 // See HeadObject for more information on using the HeadObject
3304 // API call, and error handling.
3305 //
3306 // This method is useful when you want to inject custom logic or configuration
3307 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3308 //
3309 //
3310 // // Example sending a request using the HeadObjectRequest method.
3311 // req, resp := client.HeadObjectRequest(params)
3312 //
3313 // err := req.Send()
3314 // if err == nil { // resp is now filled
3315 // fmt.Println(resp)
3316 // }
3317 //
3318 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3319 func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) {
3320 op := &request.Operation{
3321 Name: opHeadObject,
3322 HTTPMethod: "HEAD",
3323 HTTPPath: "/{Bucket}/{Key+}",
3324 }
3325
3326 if input == nil {
3327 input = &HeadObjectInput{}
3328 }
3329
3330 output = &HeadObjectOutput{}
3331 req = c.newRequest(op, input, output)
3332 return
3333 }
3334
3335 // HeadObject API operation for Amazon Simple Storage Service.
3336 //
3337 // The HEAD operation retrieves metadata from an object without returning the
3338 // object itself. This operation is useful if you're only interested in an object's
3339 // metadata. To use HEAD, you must have READ access to the object.
3340 //
3341 // See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
3342 // for more information on returned errors.
3343 //
3344 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3345 // with awserr.Error's Code and Message methods to get detailed information about
3346 // the error.
3347 //
3348 // See the AWS API reference guide for Amazon Simple Storage Service's
3349 // API operation HeadObject for usage and error information.
3350 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3351 func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
3352 req, out := c.HeadObjectRequest(input)
3353 return out, req.Send()
3354 }
3355
3356 // HeadObjectWithContext is the same as HeadObject with the addition of
3357 // the ability to pass a context and additional request options.
3358 //
3359 // See HeadObject for details on how to use this API operation.
3360 //
3361 // The context must be non-nil and will be used for request cancellation. If
3362 // the context is nil a panic will occur. In the future the SDK may create
3363 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3364 // for more information on using Contexts.
3365 func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) {
3366 req, out := c.HeadObjectRequest(input)
3367 req.SetContext(ctx)
3368 req.ApplyOptions(opts...)
3369 return out, req.Send()
3370 }
3371
3372 const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
3373
3374 // ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
3375 // client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
3376 // value will be populated with the request's response once the request completes
3377 // successfuly.
3378 //
3379 // Use "Send" method on the returned Request to send the API call to the service.
3380 // the "output" return value is not valid until after Send returns without error.
3381 //
3382 // See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
3383 // API call, and error handling.
3384 //
3385 // This method is useful when you want to inject custom logic or configuration
3386 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3387 //
3388 //
3389 // // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
3390 // req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
3391 //
3392 // err := req.Send()
3393 // if err == nil { // resp is now filled
3394 // fmt.Println(resp)
3395 // }
3396 //
3397 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3398 func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) {
3399 op := &request.Operation{
3400 Name: opListBucketAnalyticsConfigurations,
3401 HTTPMethod: "GET",
3402 HTTPPath: "/{Bucket}?analytics",
3403 }
3404
3405 if input == nil {
3406 input = &ListBucketAnalyticsConfigurationsInput{}
3407 }
3408
3409 output = &ListBucketAnalyticsConfigurationsOutput{}
3410 req = c.newRequest(op, input, output)
3411 return
3412 }
3413
3414 // ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service.
3415 //
3416 // Lists the analytics configurations for the bucket.
3417 //
3418 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3419 // with awserr.Error's Code and Message methods to get detailed information about
3420 // the error.
3421 //
3422 // See the AWS API reference guide for Amazon Simple Storage Service's
3423 // API operation ListBucketAnalyticsConfigurations for usage and error information.
3424 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3425 func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
3426 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
3427 return out, req.Send()
3428 }
3429
3430 // ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
3431 // the ability to pass a context and additional request options.
3432 //
3433 // See ListBucketAnalyticsConfigurations for details on how to use this API operation.
3434 //
3435 // The context must be non-nil and will be used for request cancellation. If
3436 // the context is nil a panic will occur. In the future the SDK may create
3437 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3438 // for more information on using Contexts.
3439 func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) {
3440 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
3441 req.SetContext(ctx)
3442 req.ApplyOptions(opts...)
3443 return out, req.Send()
3444 }
3445
3446 const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
3447
3448 // ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
3449 // client's request for the ListBucketInventoryConfigurations operation. The "output" return
3450 // value will be populated with the request's response once the request completes
3451 // successfuly.
3452 //
3453 // Use "Send" method on the returned Request to send the API call to the service.
3454 // the "output" return value is not valid until after Send returns without error.
3455 //
3456 // See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
3457 // API call, and error handling.
3458 //
3459 // This method is useful when you want to inject custom logic or configuration
3460 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3461 //
3462 //
3463 // // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
3464 // req, resp := client.ListBucketInventoryConfigurationsRequest(params)
3465 //
3466 // err := req.Send()
3467 // if err == nil { // resp is now filled
3468 // fmt.Println(resp)
3469 // }
3470 //
3471 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3472 func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) {
3473 op := &request.Operation{
3474 Name: opListBucketInventoryConfigurations,
3475 HTTPMethod: "GET",
3476 HTTPPath: "/{Bucket}?inventory",
3477 }
3478
3479 if input == nil {
3480 input = &ListBucketInventoryConfigurationsInput{}
3481 }
3482
3483 output = &ListBucketInventoryConfigurationsOutput{}
3484 req = c.newRequest(op, input, output)
3485 return
3486 }
3487
3488 // ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service.
3489 //
3490 // Returns a list of inventory configurations for the bucket.
3491 //
3492 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3493 // with awserr.Error's Code and Message methods to get detailed information about
3494 // the error.
3495 //
3496 // See the AWS API reference guide for Amazon Simple Storage Service's
3497 // API operation ListBucketInventoryConfigurations for usage and error information.
3498 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3499 func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
3500 req, out := c.ListBucketInventoryConfigurationsRequest(input)
3501 return out, req.Send()
3502 }
3503
3504 // ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
3505 // the ability to pass a context and additional request options.
3506 //
3507 // See ListBucketInventoryConfigurations for details on how to use this API operation.
3508 //
3509 // The context must be non-nil and will be used for request cancellation. If
3510 // the context is nil a panic will occur. In the future the SDK may create
3511 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3512 // for more information on using Contexts.
3513 func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) {
3514 req, out := c.ListBucketInventoryConfigurationsRequest(input)
3515 req.SetContext(ctx)
3516 req.ApplyOptions(opts...)
3517 return out, req.Send()
3518 }
3519
3520 const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
3521
3522 // ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
3523 // client's request for the ListBucketMetricsConfigurations operation. The "output" return
3524 // value will be populated with the request's response once the request completes
3525 // successfuly.
3526 //
3527 // Use "Send" method on the returned Request to send the API call to the service.
3528 // the "output" return value is not valid until after Send returns without error.
3529 //
3530 // See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
3531 // API call, and error handling.
3532 //
3533 // This method is useful when you want to inject custom logic or configuration
3534 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3535 //
3536 //
3537 // // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
3538 // req, resp := client.ListBucketMetricsConfigurationsRequest(params)
3539 //
3540 // err := req.Send()
3541 // if err == nil { // resp is now filled
3542 // fmt.Println(resp)
3543 // }
3544 //
3545 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
3546 func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) {
3547 op := &request.Operation{
3548 Name: opListBucketMetricsConfigurations,
3549 HTTPMethod: "GET",
3550 HTTPPath: "/{Bucket}?metrics",
3551 }
3552
3553 if input == nil {
3554 input = &ListBucketMetricsConfigurationsInput{}
3555 }
3556
3557 output = &ListBucketMetricsConfigurationsOutput{}
3558 req = c.newRequest(op, input, output)
3559 return
3560 }
3561
3562 // ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service.
3563 //
3564 // Lists the metrics configurations for the bucket.
3565 //
3566 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3567 // with awserr.Error's Code and Message methods to get detailed information about
3568 // the error.
3569 //
3570 // See the AWS API reference guide for Amazon Simple Storage Service's
3571 // API operation ListBucketMetricsConfigurations for usage and error information.
3572 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
3573 func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
3574 req, out := c.ListBucketMetricsConfigurationsRequest(input)
3575 return out, req.Send()
3576 }
3577
3578 // ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
3579 // the ability to pass a context and additional request options.
3580 //
3581 // See ListBucketMetricsConfigurations for details on how to use this API operation.
3582 //
3583 // The context must be non-nil and will be used for request cancellation. If
3584 // the context is nil a panic will occur. In the future the SDK may create
3585 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3586 // for more information on using Contexts.
3587 func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) {
3588 req, out := c.ListBucketMetricsConfigurationsRequest(input)
3589 req.SetContext(ctx)
3590 req.ApplyOptions(opts...)
3591 return out, req.Send()
3592 }
3593
3594 const opListBuckets = "ListBuckets"
3595
3596 // ListBucketsRequest generates a "aws/request.Request" representing the
3597 // client's request for the ListBuckets operation. The "output" return
3598 // value will be populated with the request's response once the request completes
3599 // successfuly.
3600 //
3601 // Use "Send" method on the returned Request to send the API call to the service.
3602 // the "output" return value is not valid until after Send returns without error.
3603 //
3604 // See ListBuckets for more information on using the ListBuckets
3605 // API call, and error handling.
3606 //
3607 // This method is useful when you want to inject custom logic or configuration
3608 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3609 //
3610 //
3611 // // Example sending a request using the ListBucketsRequest method.
3612 // req, resp := client.ListBucketsRequest(params)
3613 //
3614 // err := req.Send()
3615 // if err == nil { // resp is now filled
3616 // fmt.Println(resp)
3617 // }
3618 //
3619 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
3620 func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) {
3621 op := &request.Operation{
3622 Name: opListBuckets,
3623 HTTPMethod: "GET",
3624 HTTPPath: "/",
3625 }
3626
3627 if input == nil {
3628 input = &ListBucketsInput{}
3629 }
3630
3631 output = &ListBucketsOutput{}
3632 req = c.newRequest(op, input, output)
3633 return
3634 }
3635
3636 // ListBuckets API operation for Amazon Simple Storage Service.
3637 //
3638 // Returns a list of all buckets owned by the authenticated sender of the request.
3639 //
3640 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3641 // with awserr.Error's Code and Message methods to get detailed information about
3642 // the error.
3643 //
3644 // See the AWS API reference guide for Amazon Simple Storage Service's
3645 // API operation ListBuckets for usage and error information.
3646 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
3647 func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
3648 req, out := c.ListBucketsRequest(input)
3649 return out, req.Send()
3650 }
3651
3652 // ListBucketsWithContext is the same as ListBuckets with the addition of
3653 // the ability to pass a context and additional request options.
3654 //
3655 // See ListBuckets for details on how to use this API operation.
3656 //
3657 // The context must be non-nil and will be used for request cancellation. If
3658 // the context is nil a panic will occur. In the future the SDK may create
3659 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3660 // for more information on using Contexts.
3661 func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) {
3662 req, out := c.ListBucketsRequest(input)
3663 req.SetContext(ctx)
3664 req.ApplyOptions(opts...)
3665 return out, req.Send()
3666 }
3667
3668 const opListMultipartUploads = "ListMultipartUploads"
3669
3670 // ListMultipartUploadsRequest generates a "aws/request.Request" representing the
3671 // client's request for the ListMultipartUploads operation. The "output" return
3672 // value will be populated with the request's response once the request completes
3673 // successfuly.
3674 //
3675 // Use "Send" method on the returned Request to send the API call to the service.
3676 // the "output" return value is not valid until after Send returns without error.
3677 //
3678 // See ListMultipartUploads for more information on using the ListMultipartUploads
3679 // API call, and error handling.
3680 //
3681 // This method is useful when you want to inject custom logic or configuration
3682 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3683 //
3684 //
3685 // // Example sending a request using the ListMultipartUploadsRequest method.
3686 // req, resp := client.ListMultipartUploadsRequest(params)
3687 //
3688 // err := req.Send()
3689 // if err == nil { // resp is now filled
3690 // fmt.Println(resp)
3691 // }
3692 //
3693 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
3694 func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
3695 op := &request.Operation{
3696 Name: opListMultipartUploads,
3697 HTTPMethod: "GET",
3698 HTTPPath: "/{Bucket}?uploads",
3699 Paginator: &request.Paginator{
3700 InputTokens: []string{"KeyMarker", "UploadIdMarker"},
3701 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"},
3702 LimitToken: "MaxUploads",
3703 TruncationToken: "IsTruncated",
3704 },
3705 }
3706
3707 if input == nil {
3708 input = &ListMultipartUploadsInput{}
3709 }
3710
3711 output = &ListMultipartUploadsOutput{}
3712 req = c.newRequest(op, input, output)
3713 return
3714 }
3715
3716 // ListMultipartUploads API operation for Amazon Simple Storage Service.
3717 //
3718 // This operation lists in-progress multipart uploads.
3719 //
3720 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3721 // with awserr.Error's Code and Message methods to get detailed information about
3722 // the error.
3723 //
3724 // See the AWS API reference guide for Amazon Simple Storage Service's
3725 // API operation ListMultipartUploads for usage and error information.
3726 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
3727 func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
3728 req, out := c.ListMultipartUploadsRequest(input)
3729 return out, req.Send()
3730 }
3731
3732 // ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
3733 // the ability to pass a context and additional request options.
3734 //
3735 // See ListMultipartUploads for details on how to use this API operation.
3736 //
3737 // The context must be non-nil and will be used for request cancellation. If
3738 // the context is nil a panic will occur. In the future the SDK may create
3739 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3740 // for more information on using Contexts.
3741 func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) {
3742 req, out := c.ListMultipartUploadsRequest(input)
3743 req.SetContext(ctx)
3744 req.ApplyOptions(opts...)
3745 return out, req.Send()
3746 }
3747
3748 // ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation,
3749 // calling the "fn" function with the response data for each page. To stop
3750 // iterating, return false from the fn function.
3751 //
3752 // See ListMultipartUploads method for more information on how to use this operation.
3753 //
3754 // Note: This operation can generate multiple requests to a service.
3755 //
3756 // // Example iterating over at most 3 pages of a ListMultipartUploads operation.
3757 // pageNum := 0
3758 // err := client.ListMultipartUploadsPages(params,
3759 // func(page *ListMultipartUploadsOutput, lastPage bool) bool {
3760 // pageNum++
3761 // fmt.Println(page)
3762 // return pageNum <= 3
3763 // })
3764 //
3765 func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
3766 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
3767 }
3768
3769 // ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except
3770 // it takes a Context and allows setting request options on the pages.
3771 //
3772 // The context must be non-nil and will be used for request cancellation. If
3773 // the context is nil a panic will occur. In the future the SDK may create
3774 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3775 // for more information on using Contexts.
3776 func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error {
3777 p := request.Pagination{
3778 NewRequest: func() (*request.Request, error) {
3779 var inCpy *ListMultipartUploadsInput
3780 if input != nil {
3781 tmp := *input
3782 inCpy = &tmp
3783 }
3784 req, _ := c.ListMultipartUploadsRequest(inCpy)
3785 req.SetContext(ctx)
3786 req.ApplyOptions(opts...)
3787 return req, nil
3788 },
3789 }
3790
3791 cont := true
3792 for p.Next() && cont {
3793 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
3794 }
3795 return p.Err()
3796 }
3797
3798 const opListObjectVersions = "ListObjectVersions"
3799
3800 // ListObjectVersionsRequest generates a "aws/request.Request" representing the
3801 // client's request for the ListObjectVersions operation. The "output" return
3802 // value will be populated with the request's response once the request completes
3803 // successfuly.
3804 //
3805 // Use "Send" method on the returned Request to send the API call to the service.
3806 // the "output" return value is not valid until after Send returns without error.
3807 //
3808 // See ListObjectVersions for more information on using the ListObjectVersions
3809 // API call, and error handling.
3810 //
3811 // This method is useful when you want to inject custom logic or configuration
3812 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3813 //
3814 //
3815 // // Example sending a request using the ListObjectVersionsRequest method.
3816 // req, resp := client.ListObjectVersionsRequest(params)
3817 //
3818 // err := req.Send()
3819 // if err == nil { // resp is now filled
3820 // fmt.Println(resp)
3821 // }
3822 //
3823 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
3824 func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) {
3825 op := &request.Operation{
3826 Name: opListObjectVersions,
3827 HTTPMethod: "GET",
3828 HTTPPath: "/{Bucket}?versions",
3829 Paginator: &request.Paginator{
3830 InputTokens: []string{"KeyMarker", "VersionIdMarker"},
3831 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"},
3832 LimitToken: "MaxKeys",
3833 TruncationToken: "IsTruncated",
3834 },
3835 }
3836
3837 if input == nil {
3838 input = &ListObjectVersionsInput{}
3839 }
3840
3841 output = &ListObjectVersionsOutput{}
3842 req = c.newRequest(op, input, output)
3843 return
3844 }
3845
3846 // ListObjectVersions API operation for Amazon Simple Storage Service.
3847 //
3848 // Returns metadata about all of the versions of objects in a bucket.
3849 //
3850 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3851 // with awserr.Error's Code and Message methods to get detailed information about
3852 // the error.
3853 //
3854 // See the AWS API reference guide for Amazon Simple Storage Service's
3855 // API operation ListObjectVersions for usage and error information.
3856 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
3857 func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
3858 req, out := c.ListObjectVersionsRequest(input)
3859 return out, req.Send()
3860 }
3861
3862 // ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
3863 // the ability to pass a context and additional request options.
3864 //
3865 // See ListObjectVersions for details on how to use this API operation.
3866 //
3867 // The context must be non-nil and will be used for request cancellation. If
3868 // the context is nil a panic will occur. In the future the SDK may create
3869 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3870 // for more information on using Contexts.
3871 func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) {
3872 req, out := c.ListObjectVersionsRequest(input)
3873 req.SetContext(ctx)
3874 req.ApplyOptions(opts...)
3875 return out, req.Send()
3876 }
3877
3878 // ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation,
3879 // calling the "fn" function with the response data for each page. To stop
3880 // iterating, return false from the fn function.
3881 //
3882 // See ListObjectVersions method for more information on how to use this operation.
3883 //
3884 // Note: This operation can generate multiple requests to a service.
3885 //
3886 // // Example iterating over at most 3 pages of a ListObjectVersions operation.
3887 // pageNum := 0
3888 // err := client.ListObjectVersionsPages(params,
3889 // func(page *ListObjectVersionsOutput, lastPage bool) bool {
3890 // pageNum++
3891 // fmt.Println(page)
3892 // return pageNum <= 3
3893 // })
3894 //
3895 func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
3896 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3897 }
3898
3899 // ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except
3900 // it takes a Context and allows setting request options on the pages.
3901 //
3902 // The context must be non-nil and will be used for request cancellation. If
3903 // the context is nil a panic will occur. In the future the SDK may create
3904 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3905 // for more information on using Contexts.
3906 func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error {
3907 p := request.Pagination{
3908 NewRequest: func() (*request.Request, error) {
3909 var inCpy *ListObjectVersionsInput
3910 if input != nil {
3911 tmp := *input
3912 inCpy = &tmp
3913 }
3914 req, _ := c.ListObjectVersionsRequest(inCpy)
3915 req.SetContext(ctx)
3916 req.ApplyOptions(opts...)
3917 return req, nil
3918 },
3919 }
3920
3921 cont := true
3922 for p.Next() && cont {
3923 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
3924 }
3925 return p.Err()
3926 }
3927
3928 const opListObjects = "ListObjects"
3929
3930 // ListObjectsRequest generates a "aws/request.Request" representing the
3931 // client's request for the ListObjects operation. The "output" return
3932 // value will be populated with the request's response once the request completes
3933 // successfuly.
3934 //
3935 // Use "Send" method on the returned Request to send the API call to the service.
3936 // the "output" return value is not valid until after Send returns without error.
3937 //
3938 // See ListObjects for more information on using the ListObjects
3939 // API call, and error handling.
3940 //
3941 // This method is useful when you want to inject custom logic or configuration
3942 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3943 //
3944 //
3945 // // Example sending a request using the ListObjectsRequest method.
3946 // req, resp := client.ListObjectsRequest(params)
3947 //
3948 // err := req.Send()
3949 // if err == nil { // resp is now filled
3950 // fmt.Println(resp)
3951 // }
3952 //
3953 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
3954 func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) {
3955 op := &request.Operation{
3956 Name: opListObjects,
3957 HTTPMethod: "GET",
3958 HTTPPath: "/{Bucket}",
3959 Paginator: &request.Paginator{
3960 InputTokens: []string{"Marker"},
3961 OutputTokens: []string{"NextMarker || Contents[-1].Key"},
3962 LimitToken: "MaxKeys",
3963 TruncationToken: "IsTruncated",
3964 },
3965 }
3966
3967 if input == nil {
3968 input = &ListObjectsInput{}
3969 }
3970
3971 output = &ListObjectsOutput{}
3972 req = c.newRequest(op, input, output)
3973 return
3974 }
3975
3976 // ListObjects API operation for Amazon Simple Storage Service.
3977 //
3978 // Returns some or all (up to 1000) of the objects in a bucket. You can use
3979 // the request parameters as selection criteria to return a subset of the objects
3980 // in a bucket.
3981 //
3982 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3983 // with awserr.Error's Code and Message methods to get detailed information about
3984 // the error.
3985 //
3986 // See the AWS API reference guide for Amazon Simple Storage Service's
3987 // API operation ListObjects for usage and error information.
3988 //
3989 // Returned Error Codes:
3990 // * ErrCodeNoSuchBucket "NoSuchBucket"
3991 // The specified bucket does not exist.
3992 //
3993 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
3994 func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
3995 req, out := c.ListObjectsRequest(input)
3996 return out, req.Send()
3997 }
3998
3999 // ListObjectsWithContext is the same as ListObjects with the addition of
4000 // the ability to pass a context and additional request options.
4001 //
4002 // See ListObjects for details on how to use this API operation.
4003 //
4004 // The context must be non-nil and will be used for request cancellation. If
4005 // the context is nil a panic will occur. In the future the SDK may create
4006 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4007 // for more information on using Contexts.
4008 func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) {
4009 req, out := c.ListObjectsRequest(input)
4010 req.SetContext(ctx)
4011 req.ApplyOptions(opts...)
4012 return out, req.Send()
4013 }
4014
4015 // ListObjectsPages iterates over the pages of a ListObjects operation,
4016 // calling the "fn" function with the response data for each page. To stop
4017 // iterating, return false from the fn function.
4018 //
4019 // See ListObjects method for more information on how to use this operation.
4020 //
4021 // Note: This operation can generate multiple requests to a service.
4022 //
4023 // // Example iterating over at most 3 pages of a ListObjects operation.
4024 // pageNum := 0
4025 // err := client.ListObjectsPages(params,
4026 // func(page *ListObjectsOutput, lastPage bool) bool {
4027 // pageNum++
4028 // fmt.Println(page)
4029 // return pageNum <= 3
4030 // })
4031 //
4032 func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
4033 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4034 }
4035
4036 // ListObjectsPagesWithContext same as ListObjectsPages except
4037 // it takes a Context and allows setting request options on the pages.
4038 //
4039 // The context must be non-nil and will be used for request cancellation. If
4040 // the context is nil a panic will occur. In the future the SDK may create
4041 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4042 // for more information on using Contexts.
4043 func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error {
4044 p := request.Pagination{
4045 NewRequest: func() (*request.Request, error) {
4046 var inCpy *ListObjectsInput
4047 if input != nil {
4048 tmp := *input
4049 inCpy = &tmp
4050 }
4051 req, _ := c.ListObjectsRequest(inCpy)
4052 req.SetContext(ctx)
4053 req.ApplyOptions(opts...)
4054 return req, nil
4055 },
4056 }
4057
4058 cont := true
4059 for p.Next() && cont {
4060 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
4061 }
4062 return p.Err()
4063 }
4064
4065 const opListObjectsV2 = "ListObjectsV2"
4066
4067 // ListObjectsV2Request generates a "aws/request.Request" representing the
4068 // client's request for the ListObjectsV2 operation. The "output" return
4069 // value will be populated with the request's response once the request completes
4070 // successfuly.
4071 //
4072 // Use "Send" method on the returned Request to send the API call to the service.
4073 // the "output" return value is not valid until after Send returns without error.
4074 //
4075 // See ListObjectsV2 for more information on using the ListObjectsV2
4076 // API call, and error handling.
4077 //
4078 // This method is useful when you want to inject custom logic or configuration
4079 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4080 //
4081 //
4082 // // Example sending a request using the ListObjectsV2Request method.
4083 // req, resp := client.ListObjectsV2Request(params)
4084 //
4085 // err := req.Send()
4086 // if err == nil { // resp is now filled
4087 // fmt.Println(resp)
4088 // }
4089 //
4090 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4091 func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) {
4092 op := &request.Operation{
4093 Name: opListObjectsV2,
4094 HTTPMethod: "GET",
4095 HTTPPath: "/{Bucket}?list-type=2",
4096 Paginator: &request.Paginator{
4097 InputTokens: []string{"ContinuationToken"},
4098 OutputTokens: []string{"NextContinuationToken"},
4099 LimitToken: "MaxKeys",
4100 TruncationToken: "",
4101 },
4102 }
4103
4104 if input == nil {
4105 input = &ListObjectsV2Input{}
4106 }
4107
4108 output = &ListObjectsV2Output{}
4109 req = c.newRequest(op, input, output)
4110 return
4111 }
4112
4113 // ListObjectsV2 API operation for Amazon Simple Storage Service.
4114 //
4115 // Returns some or all (up to 1000) of the objects in a bucket. You can use
4116 // the request parameters as selection criteria to return a subset of the objects
4117 // in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend
4118 // you use this revised API for new application development.
4119 //
4120 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4121 // with awserr.Error's Code and Message methods to get detailed information about
4122 // the error.
4123 //
4124 // See the AWS API reference guide for Amazon Simple Storage Service's
4125 // API operation ListObjectsV2 for usage and error information.
4126 //
4127 // Returned Error Codes:
4128 // * ErrCodeNoSuchBucket "NoSuchBucket"
4129 // The specified bucket does not exist.
4130 //
4131 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4132 func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
4133 req, out := c.ListObjectsV2Request(input)
4134 return out, req.Send()
4135 }
4136
4137 // ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
4138 // the ability to pass a context and additional request options.
4139 //
4140 // See ListObjectsV2 for details on how to use this API operation.
4141 //
4142 // The context must be non-nil and will be used for request cancellation. If
4143 // the context is nil a panic will occur. In the future the SDK may create
4144 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4145 // for more information on using Contexts.
4146 func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) {
4147 req, out := c.ListObjectsV2Request(input)
4148 req.SetContext(ctx)
4149 req.ApplyOptions(opts...)
4150 return out, req.Send()
4151 }
4152
4153 // ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation,
4154 // calling the "fn" function with the response data for each page. To stop
4155 // iterating, return false from the fn function.
4156 //
4157 // See ListObjectsV2 method for more information on how to use this operation.
4158 //
4159 // Note: This operation can generate multiple requests to a service.
4160 //
4161 // // Example iterating over at most 3 pages of a ListObjectsV2 operation.
4162 // pageNum := 0
4163 // err := client.ListObjectsV2Pages(params,
4164 // func(page *ListObjectsV2Output, lastPage bool) bool {
4165 // pageNum++
4166 // fmt.Println(page)
4167 // return pageNum <= 3
4168 // })
4169 //
4170 func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
4171 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
4172 }
4173
4174 // ListObjectsV2PagesWithContext same as ListObjectsV2Pages except
4175 // it takes a Context and allows setting request options on the pages.
4176 //
4177 // The context must be non-nil and will be used for request cancellation. If
4178 // the context is nil a panic will occur. In the future the SDK may create
4179 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4180 // for more information on using Contexts.
4181 func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error {
4182 p := request.Pagination{
4183 NewRequest: func() (*request.Request, error) {
4184 var inCpy *ListObjectsV2Input
4185 if input != nil {
4186 tmp := *input
4187 inCpy = &tmp
4188 }
4189 req, _ := c.ListObjectsV2Request(inCpy)
4190 req.SetContext(ctx)
4191 req.ApplyOptions(opts...)
4192 return req, nil
4193 },
4194 }
4195
4196 cont := true
4197 for p.Next() && cont {
4198 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
4199 }
4200 return p.Err()
4201 }
4202
4203 const opListParts = "ListParts"
4204
4205 // ListPartsRequest generates a "aws/request.Request" representing the
4206 // client's request for the ListParts operation. The "output" return
4207 // value will be populated with the request's response once the request completes
4208 // successfuly.
4209 //
4210 // Use "Send" method on the returned Request to send the API call to the service.
4211 // the "output" return value is not valid until after Send returns without error.
4212 //
4213 // See ListParts for more information on using the ListParts
4214 // API call, and error handling.
4215 //
4216 // This method is useful when you want to inject custom logic or configuration
4217 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4218 //
4219 //
4220 // // Example sending a request using the ListPartsRequest method.
4221 // req, resp := client.ListPartsRequest(params)
4222 //
4223 // err := req.Send()
4224 // if err == nil { // resp is now filled
4225 // fmt.Println(resp)
4226 // }
4227 //
4228 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4229 func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
4230 op := &request.Operation{
4231 Name: opListParts,
4232 HTTPMethod: "GET",
4233 HTTPPath: "/{Bucket}/{Key+}",
4234 Paginator: &request.Paginator{
4235 InputTokens: []string{"PartNumberMarker"},
4236 OutputTokens: []string{"NextPartNumberMarker"},
4237 LimitToken: "MaxParts",
4238 TruncationToken: "IsTruncated",
4239 },
4240 }
4241
4242 if input == nil {
4243 input = &ListPartsInput{}
4244 }
4245
4246 output = &ListPartsOutput{}
4247 req = c.newRequest(op, input, output)
4248 return
4249 }
4250
4251 // ListParts API operation for Amazon Simple Storage Service.
4252 //
4253 // Lists the parts that have been uploaded for a specific multipart upload.
4254 //
4255 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4256 // with awserr.Error's Code and Message methods to get detailed information about
4257 // the error.
4258 //
4259 // See the AWS API reference guide for Amazon Simple Storage Service's
4260 // API operation ListParts for usage and error information.
4261 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4262 func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
4263 req, out := c.ListPartsRequest(input)
4264 return out, req.Send()
4265 }
4266
4267 // ListPartsWithContext is the same as ListParts with the addition of
4268 // the ability to pass a context and additional request options.
4269 //
4270 // See ListParts for details on how to use this API operation.
4271 //
4272 // The context must be non-nil and will be used for request cancellation. If
4273 // the context is nil a panic will occur. In the future the SDK may create
4274 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4275 // for more information on using Contexts.
4276 func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) {
4277 req, out := c.ListPartsRequest(input)
4278 req.SetContext(ctx)
4279 req.ApplyOptions(opts...)
4280 return out, req.Send()
4281 }
4282
4283 // ListPartsPages iterates over the pages of a ListParts operation,
4284 // calling the "fn" function with the response data for each page. To stop
4285 // iterating, return false from the fn function.
4286 //
4287 // See ListParts method for more information on how to use this operation.
4288 //
4289 // Note: This operation can generate multiple requests to a service.
4290 //
4291 // // Example iterating over at most 3 pages of a ListParts operation.
4292 // pageNum := 0
4293 // err := client.ListPartsPages(params,
4294 // func(page *ListPartsOutput, lastPage bool) bool {
4295 // pageNum++
4296 // fmt.Println(page)
4297 // return pageNum <= 3
4298 // })
4299 //
4300 func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
4301 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
4302 }
4303
4304 // ListPartsPagesWithContext same as ListPartsPages except
4305 // it takes a Context and allows setting request options on the pages.
4306 //
4307 // The context must be non-nil and will be used for request cancellation. If
4308 // the context is nil a panic will occur. In the future the SDK may create
4309 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4310 // for more information on using Contexts.
4311 func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error {
4312 p := request.Pagination{
4313 NewRequest: func() (*request.Request, error) {
4314 var inCpy *ListPartsInput
4315 if input != nil {
4316 tmp := *input
4317 inCpy = &tmp
4318 }
4319 req, _ := c.ListPartsRequest(inCpy)
4320 req.SetContext(ctx)
4321 req.ApplyOptions(opts...)
4322 return req, nil
4323 },
4324 }
4325
4326 cont := true
4327 for p.Next() && cont {
4328 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
4329 }
4330 return p.Err()
4331 }
4332
4333 const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
4334
4335 // PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
4336 // client's request for the PutBucketAccelerateConfiguration operation. The "output" return
4337 // value will be populated with the request's response once the request completes
4338 // successfuly.
4339 //
4340 // Use "Send" method on the returned Request to send the API call to the service.
4341 // the "output" return value is not valid until after Send returns without error.
4342 //
4343 // See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
4344 // API call, and error handling.
4345 //
4346 // This method is useful when you want to inject custom logic or configuration
4347 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4348 //
4349 //
4350 // // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
4351 // req, resp := client.PutBucketAccelerateConfigurationRequest(params)
4352 //
4353 // err := req.Send()
4354 // if err == nil { // resp is now filled
4355 // fmt.Println(resp)
4356 // }
4357 //
4358 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4359 func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) {
4360 op := &request.Operation{
4361 Name: opPutBucketAccelerateConfiguration,
4362 HTTPMethod: "PUT",
4363 HTTPPath: "/{Bucket}?accelerate",
4364 }
4365
4366 if input == nil {
4367 input = &PutBucketAccelerateConfigurationInput{}
4368 }
4369
4370 output = &PutBucketAccelerateConfigurationOutput{}
4371 req = c.newRequest(op, input, output)
4372 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4373 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4374 return
4375 }
4376
4377 // PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
4378 //
4379 // Sets the accelerate configuration of an existing bucket.
4380 //
4381 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4382 // with awserr.Error's Code and Message methods to get detailed information about
4383 // the error.
4384 //
4385 // See the AWS API reference guide for Amazon Simple Storage Service's
4386 // API operation PutBucketAccelerateConfiguration for usage and error information.
4387 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4388 func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
4389 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4390 return out, req.Send()
4391 }
4392
4393 // PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
4394 // the ability to pass a context and additional request options.
4395 //
4396 // See PutBucketAccelerateConfiguration for details on how to use this API operation.
4397 //
4398 // The context must be non-nil and will be used for request cancellation. If
4399 // the context is nil a panic will occur. In the future the SDK may create
4400 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4401 // for more information on using Contexts.
4402 func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) {
4403 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4404 req.SetContext(ctx)
4405 req.ApplyOptions(opts...)
4406 return out, req.Send()
4407 }
4408
4409 const opPutBucketAcl = "PutBucketAcl"
4410
4411 // PutBucketAclRequest generates a "aws/request.Request" representing the
4412 // client's request for the PutBucketAcl operation. The "output" return
4413 // value will be populated with the request's response once the request completes
4414 // successfuly.
4415 //
4416 // Use "Send" method on the returned Request to send the API call to the service.
4417 // the "output" return value is not valid until after Send returns without error.
4418 //
4419 // See PutBucketAcl for more information on using the PutBucketAcl
4420 // API call, and error handling.
4421 //
4422 // This method is useful when you want to inject custom logic or configuration
4423 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4424 //
4425 //
4426 // // Example sending a request using the PutBucketAclRequest method.
4427 // req, resp := client.PutBucketAclRequest(params)
4428 //
4429 // err := req.Send()
4430 // if err == nil { // resp is now filled
4431 // fmt.Println(resp)
4432 // }
4433 //
4434 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4435 func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) {
4436 op := &request.Operation{
4437 Name: opPutBucketAcl,
4438 HTTPMethod: "PUT",
4439 HTTPPath: "/{Bucket}?acl",
4440 }
4441
4442 if input == nil {
4443 input = &PutBucketAclInput{}
4444 }
4445
4446 output = &PutBucketAclOutput{}
4447 req = c.newRequest(op, input, output)
4448 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4449 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4450 return
4451 }
4452
4453 // PutBucketAcl API operation for Amazon Simple Storage Service.
4454 //
4455 // Sets the permissions on a bucket using access control lists (ACL).
4456 //
4457 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4458 // with awserr.Error's Code and Message methods to get detailed information about
4459 // the error.
4460 //
4461 // See the AWS API reference guide for Amazon Simple Storage Service's
4462 // API operation PutBucketAcl for usage and error information.
4463 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4464 func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
4465 req, out := c.PutBucketAclRequest(input)
4466 return out, req.Send()
4467 }
4468
4469 // PutBucketAclWithContext is the same as PutBucketAcl with the addition of
4470 // the ability to pass a context and additional request options.
4471 //
4472 // See PutBucketAcl for details on how to use this API operation.
4473 //
4474 // The context must be non-nil and will be used for request cancellation. If
4475 // the context is nil a panic will occur. In the future the SDK may create
4476 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4477 // for more information on using Contexts.
4478 func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) {
4479 req, out := c.PutBucketAclRequest(input)
4480 req.SetContext(ctx)
4481 req.ApplyOptions(opts...)
4482 return out, req.Send()
4483 }
4484
4485 const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
4486
4487 // PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
4488 // client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
4489 // value will be populated with the request's response once the request completes
4490 // successfuly.
4491 //
4492 // Use "Send" method on the returned Request to send the API call to the service.
4493 // the "output" return value is not valid until after Send returns without error.
4494 //
4495 // See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
4496 // API call, and error handling.
4497 //
4498 // This method is useful when you want to inject custom logic or configuration
4499 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4500 //
4501 //
4502 // // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
4503 // req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
4504 //
4505 // err := req.Send()
4506 // if err == nil { // resp is now filled
4507 // fmt.Println(resp)
4508 // }
4509 //
4510 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4511 func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) {
4512 op := &request.Operation{
4513 Name: opPutBucketAnalyticsConfiguration,
4514 HTTPMethod: "PUT",
4515 HTTPPath: "/{Bucket}?analytics",
4516 }
4517
4518 if input == nil {
4519 input = &PutBucketAnalyticsConfigurationInput{}
4520 }
4521
4522 output = &PutBucketAnalyticsConfigurationOutput{}
4523 req = c.newRequest(op, input, output)
4524 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4525 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4526 return
4527 }
4528
4529 // PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
4530 //
4531 // Sets an analytics configuration for the bucket (specified by the analytics
4532 // configuration ID).
4533 //
4534 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4535 // with awserr.Error's Code and Message methods to get detailed information about
4536 // the error.
4537 //
4538 // See the AWS API reference guide for Amazon Simple Storage Service's
4539 // API operation PutBucketAnalyticsConfiguration for usage and error information.
4540 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4541 func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
4542 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
4543 return out, req.Send()
4544 }
4545
4546 // PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
4547 // the ability to pass a context and additional request options.
4548 //
4549 // See PutBucketAnalyticsConfiguration for details on how to use this API operation.
4550 //
4551 // The context must be non-nil and will be used for request cancellation. If
4552 // the context is nil a panic will occur. In the future the SDK may create
4553 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4554 // for more information on using Contexts.
4555 func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) {
4556 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
4557 req.SetContext(ctx)
4558 req.ApplyOptions(opts...)
4559 return out, req.Send()
4560 }
4561
4562 const opPutBucketCors = "PutBucketCors"
4563
4564 // PutBucketCorsRequest generates a "aws/request.Request" representing the
4565 // client's request for the PutBucketCors operation. The "output" return
4566 // value will be populated with the request's response once the request completes
4567 // successfuly.
4568 //
4569 // Use "Send" method on the returned Request to send the API call to the service.
4570 // the "output" return value is not valid until after Send returns without error.
4571 //
4572 // See PutBucketCors for more information on using the PutBucketCors
4573 // API call, and error handling.
4574 //
4575 // This method is useful when you want to inject custom logic or configuration
4576 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4577 //
4578 //
4579 // // Example sending a request using the PutBucketCorsRequest method.
4580 // req, resp := client.PutBucketCorsRequest(params)
4581 //
4582 // err := req.Send()
4583 // if err == nil { // resp is now filled
4584 // fmt.Println(resp)
4585 // }
4586 //
4587 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
4588 func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) {
4589 op := &request.Operation{
4590 Name: opPutBucketCors,
4591 HTTPMethod: "PUT",
4592 HTTPPath: "/{Bucket}?cors",
4593 }
4594
4595 if input == nil {
4596 input = &PutBucketCorsInput{}
4597 }
4598
4599 output = &PutBucketCorsOutput{}
4600 req = c.newRequest(op, input, output)
4601 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4602 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4603 return
4604 }
4605
4606 // PutBucketCors API operation for Amazon Simple Storage Service.
4607 //
4608 // Sets the cors configuration for a bucket.
4609 //
4610 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4611 // with awserr.Error's Code and Message methods to get detailed information about
4612 // the error.
4613 //
4614 // See the AWS API reference guide for Amazon Simple Storage Service's
4615 // API operation PutBucketCors for usage and error information.
4616 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
4617 func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
4618 req, out := c.PutBucketCorsRequest(input)
4619 return out, req.Send()
4620 }
4621
4622 // PutBucketCorsWithContext is the same as PutBucketCors with the addition of
4623 // the ability to pass a context and additional request options.
4624 //
4625 // See PutBucketCors for details on how to use this API operation.
4626 //
4627 // The context must be non-nil and will be used for request cancellation. If
4628 // the context is nil a panic will occur. In the future the SDK may create
4629 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4630 // for more information on using Contexts.
4631 func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) {
4632 req, out := c.PutBucketCorsRequest(input)
4633 req.SetContext(ctx)
4634 req.ApplyOptions(opts...)
4635 return out, req.Send()
4636 }
4637
4638 const opPutBucketEncryption = "PutBucketEncryption"
4639
4640 // PutBucketEncryptionRequest generates a "aws/request.Request" representing the
4641 // client's request for the PutBucketEncryption operation. The "output" return
4642 // value will be populated with the request's response once the request completes
4643 // successfuly.
4644 //
4645 // Use "Send" method on the returned Request to send the API call to the service.
4646 // the "output" return value is not valid until after Send returns without error.
4647 //
4648 // See PutBucketEncryption for more information on using the PutBucketEncryption
4649 // API call, and error handling.
4650 //
4651 // This method is useful when you want to inject custom logic or configuration
4652 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4653 //
4654 //
4655 // // Example sending a request using the PutBucketEncryptionRequest method.
4656 // req, resp := client.PutBucketEncryptionRequest(params)
4657 //
4658 // err := req.Send()
4659 // if err == nil { // resp is now filled
4660 // fmt.Println(resp)
4661 // }
4662 //
4663 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
4664 func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) {
4665 op := &request.Operation{
4666 Name: opPutBucketEncryption,
4667 HTTPMethod: "PUT",
4668 HTTPPath: "/{Bucket}?encryption",
4669 }
4670
4671 if input == nil {
4672 input = &PutBucketEncryptionInput{}
4673 }
4674
4675 output = &PutBucketEncryptionOutput{}
4676 req = c.newRequest(op, input, output)
4677 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4678 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4679 return
4680 }
4681
4682 // PutBucketEncryption API operation for Amazon Simple Storage Service.
4683 //
4684 // Creates a new server-side encryption configuration (or replaces an existing
4685 // one, if present).
4686 //
4687 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4688 // with awserr.Error's Code and Message methods to get detailed information about
4689 // the error.
4690 //
4691 // See the AWS API reference guide for Amazon Simple Storage Service's
4692 // API operation PutBucketEncryption for usage and error information.
4693 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
4694 func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) {
4695 req, out := c.PutBucketEncryptionRequest(input)
4696 return out, req.Send()
4697 }
4698
4699 // PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
4700 // the ability to pass a context and additional request options.
4701 //
4702 // See PutBucketEncryption for details on how to use this API operation.
4703 //
4704 // The context must be non-nil and will be used for request cancellation. If
4705 // the context is nil a panic will occur. In the future the SDK may create
4706 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4707 // for more information on using Contexts.
4708 func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) {
4709 req, out := c.PutBucketEncryptionRequest(input)
4710 req.SetContext(ctx)
4711 req.ApplyOptions(opts...)
4712 return out, req.Send()
4713 }
4714
4715 const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
4716
4717 // PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
4718 // client's request for the PutBucketInventoryConfiguration operation. The "output" return
4719 // value will be populated with the request's response once the request completes
4720 // successfuly.
4721 //
4722 // Use "Send" method on the returned Request to send the API call to the service.
4723 // the "output" return value is not valid until after Send returns without error.
4724 //
4725 // See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
4726 // API call, and error handling.
4727 //
4728 // This method is useful when you want to inject custom logic or configuration
4729 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4730 //
4731 //
4732 // // Example sending a request using the PutBucketInventoryConfigurationRequest method.
4733 // req, resp := client.PutBucketInventoryConfigurationRequest(params)
4734 //
4735 // err := req.Send()
4736 // if err == nil { // resp is now filled
4737 // fmt.Println(resp)
4738 // }
4739 //
4740 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
4741 func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) {
4742 op := &request.Operation{
4743 Name: opPutBucketInventoryConfiguration,
4744 HTTPMethod: "PUT",
4745 HTTPPath: "/{Bucket}?inventory",
4746 }
4747
4748 if input == nil {
4749 input = &PutBucketInventoryConfigurationInput{}
4750 }
4751
4752 output = &PutBucketInventoryConfigurationOutput{}
4753 req = c.newRequest(op, input, output)
4754 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4755 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4756 return
4757 }
4758
4759 // PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
4760 //
4761 // Adds an inventory configuration (identified by the inventory ID) from the
4762 // bucket.
4763 //
4764 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4765 // with awserr.Error's Code and Message methods to get detailed information about
4766 // the error.
4767 //
4768 // See the AWS API reference guide for Amazon Simple Storage Service's
4769 // API operation PutBucketInventoryConfiguration for usage and error information.
4770 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
4771 func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
4772 req, out := c.PutBucketInventoryConfigurationRequest(input)
4773 return out, req.Send()
4774 }
4775
4776 // PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
4777 // the ability to pass a context and additional request options.
4778 //
4779 // See PutBucketInventoryConfiguration for details on how to use this API operation.
4780 //
4781 // The context must be non-nil and will be used for request cancellation. If
4782 // the context is nil a panic will occur. In the future the SDK may create
4783 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4784 // for more information on using Contexts.
4785 func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) {
4786 req, out := c.PutBucketInventoryConfigurationRequest(input)
4787 req.SetContext(ctx)
4788 req.ApplyOptions(opts...)
4789 return out, req.Send()
4790 }
4791
4792 const opPutBucketLifecycle = "PutBucketLifecycle"
4793
4794 // PutBucketLifecycleRequest generates a "aws/request.Request" representing the
4795 // client's request for the PutBucketLifecycle operation. The "output" return
4796 // value will be populated with the request's response once the request completes
4797 // successfuly.
4798 //
4799 // Use "Send" method on the returned Request to send the API call to the service.
4800 // the "output" return value is not valid until after Send returns without error.
4801 //
4802 // See PutBucketLifecycle for more information on using the PutBucketLifecycle
4803 // API call, and error handling.
4804 //
4805 // This method is useful when you want to inject custom logic or configuration
4806 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4807 //
4808 //
4809 // // Example sending a request using the PutBucketLifecycleRequest method.
4810 // req, resp := client.PutBucketLifecycleRequest(params)
4811 //
4812 // err := req.Send()
4813 // if err == nil { // resp is now filled
4814 // fmt.Println(resp)
4815 // }
4816 //
4817 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
4818 func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) {
4819 if c.Client.Config.Logger != nil {
4820 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated")
4821 }
4822 op := &request.Operation{
4823 Name: opPutBucketLifecycle,
4824 HTTPMethod: "PUT",
4825 HTTPPath: "/{Bucket}?lifecycle",
4826 }
4827
4828 if input == nil {
4829 input = &PutBucketLifecycleInput{}
4830 }
4831
4832 output = &PutBucketLifecycleOutput{}
4833 req = c.newRequest(op, input, output)
4834 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4835 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4836 return
4837 }
4838
4839 // PutBucketLifecycle API operation for Amazon Simple Storage Service.
4840 //
4841 // Deprecated, see the PutBucketLifecycleConfiguration operation.
4842 //
4843 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4844 // with awserr.Error's Code and Message methods to get detailed information about
4845 // the error.
4846 //
4847 // See the AWS API reference guide for Amazon Simple Storage Service's
4848 // API operation PutBucketLifecycle for usage and error information.
4849 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
4850 func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
4851 req, out := c.PutBucketLifecycleRequest(input)
4852 return out, req.Send()
4853 }
4854
4855 // PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
4856 // the ability to pass a context and additional request options.
4857 //
4858 // See PutBucketLifecycle for details on how to use this API operation.
4859 //
4860 // The context must be non-nil and will be used for request cancellation. If
4861 // the context is nil a panic will occur. In the future the SDK may create
4862 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4863 // for more information on using Contexts.
4864 func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) {
4865 req, out := c.PutBucketLifecycleRequest(input)
4866 req.SetContext(ctx)
4867 req.ApplyOptions(opts...)
4868 return out, req.Send()
4869 }
4870
4871 const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
4872
4873 // PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
4874 // client's request for the PutBucketLifecycleConfiguration operation. The "output" return
4875 // value will be populated with the request's response once the request completes
4876 // successfuly.
4877 //
4878 // Use "Send" method on the returned Request to send the API call to the service.
4879 // the "output" return value is not valid until after Send returns without error.
4880 //
4881 // See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
4882 // API call, and error handling.
4883 //
4884 // This method is useful when you want to inject custom logic or configuration
4885 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4886 //
4887 //
4888 // // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
4889 // req, resp := client.PutBucketLifecycleConfigurationRequest(params)
4890 //
4891 // err := req.Send()
4892 // if err == nil { // resp is now filled
4893 // fmt.Println(resp)
4894 // }
4895 //
4896 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
4897 func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) {
4898 op := &request.Operation{
4899 Name: opPutBucketLifecycleConfiguration,
4900 HTTPMethod: "PUT",
4901 HTTPPath: "/{Bucket}?lifecycle",
4902 }
4903
4904 if input == nil {
4905 input = &PutBucketLifecycleConfigurationInput{}
4906 }
4907
4908 output = &PutBucketLifecycleConfigurationOutput{}
4909 req = c.newRequest(op, input, output)
4910 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4911 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4912 return
4913 }
4914
4915 // PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
4916 //
4917 // Sets lifecycle configuration for your bucket. If a lifecycle configuration
4918 // exists, it replaces it.
4919 //
4920 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4921 // with awserr.Error's Code and Message methods to get detailed information about
4922 // the error.
4923 //
4924 // See the AWS API reference guide for Amazon Simple Storage Service's
4925 // API operation PutBucketLifecycleConfiguration for usage and error information.
4926 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
4927 func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
4928 req, out := c.PutBucketLifecycleConfigurationRequest(input)
4929 return out, req.Send()
4930 }
4931
4932 // PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
4933 // the ability to pass a context and additional request options.
4934 //
4935 // See PutBucketLifecycleConfiguration for details on how to use this API operation.
4936 //
4937 // The context must be non-nil and will be used for request cancellation. If
4938 // the context is nil a panic will occur. In the future the SDK may create
4939 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4940 // for more information on using Contexts.
4941 func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) {
4942 req, out := c.PutBucketLifecycleConfigurationRequest(input)
4943 req.SetContext(ctx)
4944 req.ApplyOptions(opts...)
4945 return out, req.Send()
4946 }
4947
4948 const opPutBucketLogging = "PutBucketLogging"
4949
4950 // PutBucketLoggingRequest generates a "aws/request.Request" representing the
4951 // client's request for the PutBucketLogging operation. The "output" return
4952 // value will be populated with the request's response once the request completes
4953 // successfuly.
4954 //
4955 // Use "Send" method on the returned Request to send the API call to the service.
4956 // the "output" return value is not valid until after Send returns without error.
4957 //
4958 // See PutBucketLogging for more information on using the PutBucketLogging
4959 // API call, and error handling.
4960 //
4961 // This method is useful when you want to inject custom logic or configuration
4962 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4963 //
4964 //
4965 // // Example sending a request using the PutBucketLoggingRequest method.
4966 // req, resp := client.PutBucketLoggingRequest(params)
4967 //
4968 // err := req.Send()
4969 // if err == nil { // resp is now filled
4970 // fmt.Println(resp)
4971 // }
4972 //
4973 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
4974 func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) {
4975 op := &request.Operation{
4976 Name: opPutBucketLogging,
4977 HTTPMethod: "PUT",
4978 HTTPPath: "/{Bucket}?logging",
4979 }
4980
4981 if input == nil {
4982 input = &PutBucketLoggingInput{}
4983 }
4984
4985 output = &PutBucketLoggingOutput{}
4986 req = c.newRequest(op, input, output)
4987 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4988 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4989 return
4990 }
4991
4992 // PutBucketLogging API operation for Amazon Simple Storage Service.
4993 //
4994 // Set the logging parameters for a bucket and to specify permissions for who
4995 // can view and modify the logging parameters. To set the logging status of
4996 // a bucket, you must be the bucket owner.
4997 //
4998 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4999 // with awserr.Error's Code and Message methods to get detailed information about
5000 // the error.
5001 //
5002 // See the AWS API reference guide for Amazon Simple Storage Service's
5003 // API operation PutBucketLogging for usage and error information.
5004 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
5005 func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
5006 req, out := c.PutBucketLoggingRequest(input)
5007 return out, req.Send()
5008 }
5009
5010 // PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
5011 // the ability to pass a context and additional request options.
5012 //
5013 // See PutBucketLogging for details on how to use this API operation.
5014 //
5015 // The context must be non-nil and will be used for request cancellation. If
5016 // the context is nil a panic will occur. In the future the SDK may create
5017 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5018 // for more information on using Contexts.
5019 func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) {
5020 req, out := c.PutBucketLoggingRequest(input)
5021 req.SetContext(ctx)
5022 req.ApplyOptions(opts...)
5023 return out, req.Send()
5024 }
5025
5026 const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
5027
5028 // PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
5029 // client's request for the PutBucketMetricsConfiguration operation. The "output" return
5030 // value will be populated with the request's response once the request completes
5031 // successfuly.
5032 //
5033 // Use "Send" method on the returned Request to send the API call to the service.
5034 // the "output" return value is not valid until after Send returns without error.
5035 //
5036 // See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
5037 // API call, and error handling.
5038 //
5039 // This method is useful when you want to inject custom logic or configuration
5040 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5041 //
5042 //
5043 // // Example sending a request using the PutBucketMetricsConfigurationRequest method.
5044 // req, resp := client.PutBucketMetricsConfigurationRequest(params)
5045 //
5046 // err := req.Send()
5047 // if err == nil { // resp is now filled
5048 // fmt.Println(resp)
5049 // }
5050 //
5051 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
5052 func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) {
5053 op := &request.Operation{
5054 Name: opPutBucketMetricsConfiguration,
5055 HTTPMethod: "PUT",
5056 HTTPPath: "/{Bucket}?metrics",
5057 }
5058
5059 if input == nil {
5060 input = &PutBucketMetricsConfigurationInput{}
5061 }
5062
5063 output = &PutBucketMetricsConfigurationOutput{}
5064 req = c.newRequest(op, input, output)
5065 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5066 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5067 return
5068 }
5069
5070 // PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
5071 //
5072 // Sets a metrics configuration (specified by the metrics configuration ID)
5073 // for the bucket.
5074 //
5075 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5076 // with awserr.Error's Code and Message methods to get detailed information about
5077 // the error.
5078 //
5079 // See the AWS API reference guide for Amazon Simple Storage Service's
5080 // API operation PutBucketMetricsConfiguration for usage and error information.
5081 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
5082 func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
5083 req, out := c.PutBucketMetricsConfigurationRequest(input)
5084 return out, req.Send()
5085 }
5086
5087 // PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
5088 // the ability to pass a context and additional request options.
5089 //
5090 // See PutBucketMetricsConfiguration for details on how to use this API operation.
5091 //
5092 // The context must be non-nil and will be used for request cancellation. If
5093 // the context is nil a panic will occur. In the future the SDK may create
5094 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5095 // for more information on using Contexts.
5096 func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) {
5097 req, out := c.PutBucketMetricsConfigurationRequest(input)
5098 req.SetContext(ctx)
5099 req.ApplyOptions(opts...)
5100 return out, req.Send()
5101 }
5102
5103 const opPutBucketNotification = "PutBucketNotification"
5104
5105 // PutBucketNotificationRequest generates a "aws/request.Request" representing the
5106 // client's request for the PutBucketNotification operation. The "output" return
5107 // value will be populated with the request's response once the request completes
5108 // successfuly.
5109 //
5110 // Use "Send" method on the returned Request to send the API call to the service.
5111 // the "output" return value is not valid until after Send returns without error.
5112 //
5113 // See PutBucketNotification for more information on using the PutBucketNotification
5114 // API call, and error handling.
5115 //
5116 // This method is useful when you want to inject custom logic or configuration
5117 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5118 //
5119 //
5120 // // Example sending a request using the PutBucketNotificationRequest method.
5121 // req, resp := client.PutBucketNotificationRequest(params)
5122 //
5123 // err := req.Send()
5124 // if err == nil { // resp is now filled
5125 // fmt.Println(resp)
5126 // }
5127 //
5128 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
5129 func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) {
5130 if c.Client.Config.Logger != nil {
5131 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated")
5132 }
5133 op := &request.Operation{
5134 Name: opPutBucketNotification,
5135 HTTPMethod: "PUT",
5136 HTTPPath: "/{Bucket}?notification",
5137 }
5138
5139 if input == nil {
5140 input = &PutBucketNotificationInput{}
5141 }
5142
5143 output = &PutBucketNotificationOutput{}
5144 req = c.newRequest(op, input, output)
5145 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5146 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5147 return
5148 }
5149
5150 // PutBucketNotification API operation for Amazon Simple Storage Service.
5151 //
5152 // Deprecated, see the PutBucketNotificationConfiguraiton operation.
5153 //
5154 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5155 // with awserr.Error's Code and Message methods to get detailed information about
5156 // the error.
5157 //
5158 // See the AWS API reference guide for Amazon Simple Storage Service's
5159 // API operation PutBucketNotification for usage and error information.
5160 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
5161 func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
5162 req, out := c.PutBucketNotificationRequest(input)
5163 return out, req.Send()
5164 }
5165
5166 // PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
5167 // the ability to pass a context and additional request options.
5168 //
5169 // See PutBucketNotification for details on how to use this API operation.
5170 //
5171 // The context must be non-nil and will be used for request cancellation. If
5172 // the context is nil a panic will occur. In the future the SDK may create
5173 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5174 // for more information on using Contexts.
5175 func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) {
5176 req, out := c.PutBucketNotificationRequest(input)
5177 req.SetContext(ctx)
5178 req.ApplyOptions(opts...)
5179 return out, req.Send()
5180 }
5181
5182 const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
5183
5184 // PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
5185 // client's request for the PutBucketNotificationConfiguration operation. The "output" return
5186 // value will be populated with the request's response once the request completes
5187 // successfuly.
5188 //
5189 // Use "Send" method on the returned Request to send the API call to the service.
5190 // the "output" return value is not valid until after Send returns without error.
5191 //
5192 // See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
5193 // API call, and error handling.
5194 //
5195 // This method is useful when you want to inject custom logic or configuration
5196 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5197 //
5198 //
5199 // // Example sending a request using the PutBucketNotificationConfigurationRequest method.
5200 // req, resp := client.PutBucketNotificationConfigurationRequest(params)
5201 //
5202 // err := req.Send()
5203 // if err == nil { // resp is now filled
5204 // fmt.Println(resp)
5205 // }
5206 //
5207 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5208 func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) {
5209 op := &request.Operation{
5210 Name: opPutBucketNotificationConfiguration,
5211 HTTPMethod: "PUT",
5212 HTTPPath: "/{Bucket}?notification",
5213 }
5214
5215 if input == nil {
5216 input = &PutBucketNotificationConfigurationInput{}
5217 }
5218
5219 output = &PutBucketNotificationConfigurationOutput{}
5220 req = c.newRequest(op, input, output)
5221 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5222 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5223 return
5224 }
5225
5226 // PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
5227 //
5228 // Enables notifications of specified events for a bucket.
5229 //
5230 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5231 // with awserr.Error's Code and Message methods to get detailed information about
5232 // the error.
5233 //
5234 // See the AWS API reference guide for Amazon Simple Storage Service's
5235 // API operation PutBucketNotificationConfiguration for usage and error information.
5236 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5237 func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
5238 req, out := c.PutBucketNotificationConfigurationRequest(input)
5239 return out, req.Send()
5240 }
5241
5242 // PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
5243 // the ability to pass a context and additional request options.
5244 //
5245 // See PutBucketNotificationConfiguration for details on how to use this API operation.
5246 //
5247 // The context must be non-nil and will be used for request cancellation. If
5248 // the context is nil a panic will occur. In the future the SDK may create
5249 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5250 // for more information on using Contexts.
5251 func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) {
5252 req, out := c.PutBucketNotificationConfigurationRequest(input)
5253 req.SetContext(ctx)
5254 req.ApplyOptions(opts...)
5255 return out, req.Send()
5256 }
5257
5258 const opPutBucketPolicy = "PutBucketPolicy"
5259
5260 // PutBucketPolicyRequest generates a "aws/request.Request" representing the
5261 // client's request for the PutBucketPolicy operation. The "output" return
5262 // value will be populated with the request's response once the request completes
5263 // successfuly.
5264 //
5265 // Use "Send" method on the returned Request to send the API call to the service.
5266 // the "output" return value is not valid until after Send returns without error.
5267 //
5268 // See PutBucketPolicy for more information on using the PutBucketPolicy
5269 // API call, and error handling.
5270 //
5271 // This method is useful when you want to inject custom logic or configuration
5272 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5273 //
5274 //
5275 // // Example sending a request using the PutBucketPolicyRequest method.
5276 // req, resp := client.PutBucketPolicyRequest(params)
5277 //
5278 // err := req.Send()
5279 // if err == nil { // resp is now filled
5280 // fmt.Println(resp)
5281 // }
5282 //
5283 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5284 func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) {
5285 op := &request.Operation{
5286 Name: opPutBucketPolicy,
5287 HTTPMethod: "PUT",
5288 HTTPPath: "/{Bucket}?policy",
5289 }
5290
5291 if input == nil {
5292 input = &PutBucketPolicyInput{}
5293 }
5294
5295 output = &PutBucketPolicyOutput{}
5296 req = c.newRequest(op, input, output)
5297 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5298 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5299 return
5300 }
5301
5302 // PutBucketPolicy API operation for Amazon Simple Storage Service.
5303 //
5304 // Replaces a policy on a bucket. If the bucket already has a policy, the one
5305 // in this request completely replaces it.
5306 //
5307 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5308 // with awserr.Error's Code and Message methods to get detailed information about
5309 // the error.
5310 //
5311 // See the AWS API reference guide for Amazon Simple Storage Service's
5312 // API operation PutBucketPolicy for usage and error information.
5313 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5314 func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
5315 req, out := c.PutBucketPolicyRequest(input)
5316 return out, req.Send()
5317 }
5318
5319 // PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
5320 // the ability to pass a context and additional request options.
5321 //
5322 // See PutBucketPolicy for details on how to use this API operation.
5323 //
5324 // The context must be non-nil and will be used for request cancellation. If
5325 // the context is nil a panic will occur. In the future the SDK may create
5326 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5327 // for more information on using Contexts.
5328 func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) {
5329 req, out := c.PutBucketPolicyRequest(input)
5330 req.SetContext(ctx)
5331 req.ApplyOptions(opts...)
5332 return out, req.Send()
5333 }
5334
5335 const opPutBucketReplication = "PutBucketReplication"
5336
5337 // PutBucketReplicationRequest generates a "aws/request.Request" representing the
5338 // client's request for the PutBucketReplication operation. The "output" return
5339 // value will be populated with the request's response once the request completes
5340 // successfuly.
5341 //
5342 // Use "Send" method on the returned Request to send the API call to the service.
5343 // the "output" return value is not valid until after Send returns without error.
5344 //
5345 // See PutBucketReplication for more information on using the PutBucketReplication
5346 // API call, and error handling.
5347 //
5348 // This method is useful when you want to inject custom logic or configuration
5349 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5350 //
5351 //
5352 // // Example sending a request using the PutBucketReplicationRequest method.
5353 // req, resp := client.PutBucketReplicationRequest(params)
5354 //
5355 // err := req.Send()
5356 // if err == nil { // resp is now filled
5357 // fmt.Println(resp)
5358 // }
5359 //
5360 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5361 func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) {
5362 op := &request.Operation{
5363 Name: opPutBucketReplication,
5364 HTTPMethod: "PUT",
5365 HTTPPath: "/{Bucket}?replication",
5366 }
5367
5368 if input == nil {
5369 input = &PutBucketReplicationInput{}
5370 }
5371
5372 output = &PutBucketReplicationOutput{}
5373 req = c.newRequest(op, input, output)
5374 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5375 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5376 return
5377 }
5378
5379 // PutBucketReplication API operation for Amazon Simple Storage Service.
5380 //
5381 // Creates a new replication configuration (or replaces an existing one, if
5382 // present).
5383 //
5384 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5385 // with awserr.Error's Code and Message methods to get detailed information about
5386 // the error.
5387 //
5388 // See the AWS API reference guide for Amazon Simple Storage Service's
5389 // API operation PutBucketReplication for usage and error information.
5390 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5391 func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
5392 req, out := c.PutBucketReplicationRequest(input)
5393 return out, req.Send()
5394 }
5395
5396 // PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
5397 // the ability to pass a context and additional request options.
5398 //
5399 // See PutBucketReplication for details on how to use this API operation.
5400 //
5401 // The context must be non-nil and will be used for request cancellation. If
5402 // the context is nil a panic will occur. In the future the SDK may create
5403 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5404 // for more information on using Contexts.
5405 func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) {
5406 req, out := c.PutBucketReplicationRequest(input)
5407 req.SetContext(ctx)
5408 req.ApplyOptions(opts...)
5409 return out, req.Send()
5410 }
5411
5412 const opPutBucketRequestPayment = "PutBucketRequestPayment"
5413
5414 // PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
5415 // client's request for the PutBucketRequestPayment operation. The "output" return
5416 // value will be populated with the request's response once the request completes
5417 // successfuly.
5418 //
5419 // Use "Send" method on the returned Request to send the API call to the service.
5420 // the "output" return value is not valid until after Send returns without error.
5421 //
5422 // See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
5423 // API call, and error handling.
5424 //
5425 // This method is useful when you want to inject custom logic or configuration
5426 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5427 //
5428 //
5429 // // Example sending a request using the PutBucketRequestPaymentRequest method.
5430 // req, resp := client.PutBucketRequestPaymentRequest(params)
5431 //
5432 // err := req.Send()
5433 // if err == nil { // resp is now filled
5434 // fmt.Println(resp)
5435 // }
5436 //
5437 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5438 func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) {
5439 op := &request.Operation{
5440 Name: opPutBucketRequestPayment,
5441 HTTPMethod: "PUT",
5442 HTTPPath: "/{Bucket}?requestPayment",
5443 }
5444
5445 if input == nil {
5446 input = &PutBucketRequestPaymentInput{}
5447 }
5448
5449 output = &PutBucketRequestPaymentOutput{}
5450 req = c.newRequest(op, input, output)
5451 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5452 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5453 return
5454 }
5455
5456 // PutBucketRequestPayment API operation for Amazon Simple Storage Service.
5457 //
5458 // Sets the request payment configuration for a bucket. By default, the bucket
5459 // owner pays for downloads from the bucket. This configuration parameter enables
5460 // the bucket owner (only) to specify that the person requesting the download
5461 // will be charged for the download. Documentation on requester pays buckets
5462 // can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
5463 //
5464 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5465 // with awserr.Error's Code and Message methods to get detailed information about
5466 // the error.
5467 //
5468 // See the AWS API reference guide for Amazon Simple Storage Service's
5469 // API operation PutBucketRequestPayment for usage and error information.
5470 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5471 func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
5472 req, out := c.PutBucketRequestPaymentRequest(input)
5473 return out, req.Send()
5474 }
5475
5476 // PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
5477 // the ability to pass a context and additional request options.
5478 //
5479 // See PutBucketRequestPayment for details on how to use this API operation.
5480 //
5481 // The context must be non-nil and will be used for request cancellation. If
5482 // the context is nil a panic will occur. In the future the SDK may create
5483 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5484 // for more information on using Contexts.
5485 func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) {
5486 req, out := c.PutBucketRequestPaymentRequest(input)
5487 req.SetContext(ctx)
5488 req.ApplyOptions(opts...)
5489 return out, req.Send()
5490 }
5491
5492 const opPutBucketTagging = "PutBucketTagging"
5493
5494 // PutBucketTaggingRequest generates a "aws/request.Request" representing the
5495 // client's request for the PutBucketTagging operation. The "output" return
5496 // value will be populated with the request's response once the request completes
5497 // successfuly.
5498 //
5499 // Use "Send" method on the returned Request to send the API call to the service.
5500 // the "output" return value is not valid until after Send returns without error.
5501 //
5502 // See PutBucketTagging for more information on using the PutBucketTagging
5503 // API call, and error handling.
5504 //
5505 // This method is useful when you want to inject custom logic or configuration
5506 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5507 //
5508 //
5509 // // Example sending a request using the PutBucketTaggingRequest method.
5510 // req, resp := client.PutBucketTaggingRequest(params)
5511 //
5512 // err := req.Send()
5513 // if err == nil { // resp is now filled
5514 // fmt.Println(resp)
5515 // }
5516 //
5517 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
5518 func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) {
5519 op := &request.Operation{
5520 Name: opPutBucketTagging,
5521 HTTPMethod: "PUT",
5522 HTTPPath: "/{Bucket}?tagging",
5523 }
5524
5525 if input == nil {
5526 input = &PutBucketTaggingInput{}
5527 }
5528
5529 output = &PutBucketTaggingOutput{}
5530 req = c.newRequest(op, input, output)
5531 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5532 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5533 return
5534 }
5535
5536 // PutBucketTagging API operation for Amazon Simple Storage Service.
5537 //
5538 // Sets the tags for a bucket.
5539 //
5540 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5541 // with awserr.Error's Code and Message methods to get detailed information about
5542 // the error.
5543 //
5544 // See the AWS API reference guide for Amazon Simple Storage Service's
5545 // API operation PutBucketTagging for usage and error information.
5546 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
5547 func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
5548 req, out := c.PutBucketTaggingRequest(input)
5549 return out, req.Send()
5550 }
5551
5552 // PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
5553 // the ability to pass a context and additional request options.
5554 //
5555 // See PutBucketTagging for details on how to use this API operation.
5556 //
5557 // The context must be non-nil and will be used for request cancellation. If
5558 // the context is nil a panic will occur. In the future the SDK may create
5559 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5560 // for more information on using Contexts.
5561 func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) {
5562 req, out := c.PutBucketTaggingRequest(input)
5563 req.SetContext(ctx)
5564 req.ApplyOptions(opts...)
5565 return out, req.Send()
5566 }
5567
5568 const opPutBucketVersioning = "PutBucketVersioning"
5569
5570 // PutBucketVersioningRequest generates a "aws/request.Request" representing the
5571 // client's request for the PutBucketVersioning operation. The "output" return
5572 // value will be populated with the request's response once the request completes
5573 // successfuly.
5574 //
5575 // Use "Send" method on the returned Request to send the API call to the service.
5576 // the "output" return value is not valid until after Send returns without error.
5577 //
5578 // See PutBucketVersioning for more information on using the PutBucketVersioning
5579 // API call, and error handling.
5580 //
5581 // This method is useful when you want to inject custom logic or configuration
5582 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5583 //
5584 //
5585 // // Example sending a request using the PutBucketVersioningRequest method.
5586 // req, resp := client.PutBucketVersioningRequest(params)
5587 //
5588 // err := req.Send()
5589 // if err == nil { // resp is now filled
5590 // fmt.Println(resp)
5591 // }
5592 //
5593 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
5594 func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) {
5595 op := &request.Operation{
5596 Name: opPutBucketVersioning,
5597 HTTPMethod: "PUT",
5598 HTTPPath: "/{Bucket}?versioning",
5599 }
5600
5601 if input == nil {
5602 input = &PutBucketVersioningInput{}
5603 }
5604
5605 output = &PutBucketVersioningOutput{}
5606 req = c.newRequest(op, input, output)
5607 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5608 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5609 return
5610 }
5611
5612 // PutBucketVersioning API operation for Amazon Simple Storage Service.
5613 //
5614 // Sets the versioning state of an existing bucket. To set the versioning state,
5615 // you must be the bucket owner.
5616 //
5617 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5618 // with awserr.Error's Code and Message methods to get detailed information about
5619 // the error.
5620 //
5621 // See the AWS API reference guide for Amazon Simple Storage Service's
5622 // API operation PutBucketVersioning for usage and error information.
5623 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
5624 func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
5625 req, out := c.PutBucketVersioningRequest(input)
5626 return out, req.Send()
5627 }
5628
5629 // PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
5630 // the ability to pass a context and additional request options.
5631 //
5632 // See PutBucketVersioning for details on how to use this API operation.
5633 //
5634 // The context must be non-nil and will be used for request cancellation. If
5635 // the context is nil a panic will occur. In the future the SDK may create
5636 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5637 // for more information on using Contexts.
5638 func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) {
5639 req, out := c.PutBucketVersioningRequest(input)
5640 req.SetContext(ctx)
5641 req.ApplyOptions(opts...)
5642 return out, req.Send()
5643 }
5644
5645 const opPutBucketWebsite = "PutBucketWebsite"
5646
5647 // PutBucketWebsiteRequest generates a "aws/request.Request" representing the
5648 // client's request for the PutBucketWebsite operation. The "output" return
5649 // value will be populated with the request's response once the request completes
5650 // successfuly.
5651 //
5652 // Use "Send" method on the returned Request to send the API call to the service.
5653 // the "output" return value is not valid until after Send returns without error.
5654 //
5655 // See PutBucketWebsite for more information on using the PutBucketWebsite
5656 // API call, and error handling.
5657 //
5658 // This method is useful when you want to inject custom logic or configuration
5659 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5660 //
5661 //
5662 // // Example sending a request using the PutBucketWebsiteRequest method.
5663 // req, resp := client.PutBucketWebsiteRequest(params)
5664 //
5665 // err := req.Send()
5666 // if err == nil { // resp is now filled
5667 // fmt.Println(resp)
5668 // }
5669 //
5670 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
5671 func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) {
5672 op := &request.Operation{
5673 Name: opPutBucketWebsite,
5674 HTTPMethod: "PUT",
5675 HTTPPath: "/{Bucket}?website",
5676 }
5677
5678 if input == nil {
5679 input = &PutBucketWebsiteInput{}
5680 }
5681
5682 output = &PutBucketWebsiteOutput{}
5683 req = c.newRequest(op, input, output)
5684 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
5685 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
5686 return
5687 }
5688
5689 // PutBucketWebsite API operation for Amazon Simple Storage Service.
5690 //
5691 // Set the website configuration for a bucket.
5692 //
5693 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5694 // with awserr.Error's Code and Message methods to get detailed information about
5695 // the error.
5696 //
5697 // See the AWS API reference guide for Amazon Simple Storage Service's
5698 // API operation PutBucketWebsite for usage and error information.
5699 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
5700 func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
5701 req, out := c.PutBucketWebsiteRequest(input)
5702 return out, req.Send()
5703 }
5704
5705 // PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
5706 // the ability to pass a context and additional request options.
5707 //
5708 // See PutBucketWebsite for details on how to use this API operation.
5709 //
5710 // The context must be non-nil and will be used for request cancellation. If
5711 // the context is nil a panic will occur. In the future the SDK may create
5712 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5713 // for more information on using Contexts.
5714 func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) {
5715 req, out := c.PutBucketWebsiteRequest(input)
5716 req.SetContext(ctx)
5717 req.ApplyOptions(opts...)
5718 return out, req.Send()
5719 }
5720
5721 const opPutObject = "PutObject"
5722
5723 // PutObjectRequest generates a "aws/request.Request" representing the
5724 // client's request for the PutObject operation. The "output" return
5725 // value will be populated with the request's response once the request completes
5726 // successfuly.
5727 //
5728 // Use "Send" method on the returned Request to send the API call to the service.
5729 // the "output" return value is not valid until after Send returns without error.
5730 //
5731 // See PutObject for more information on using the PutObject
5732 // API call, and error handling.
5733 //
5734 // This method is useful when you want to inject custom logic or configuration
5735 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5736 //
5737 //
5738 // // Example sending a request using the PutObjectRequest method.
5739 // req, resp := client.PutObjectRequest(params)
5740 //
5741 // err := req.Send()
5742 // if err == nil { // resp is now filled
5743 // fmt.Println(resp)
5744 // }
5745 //
5746 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
5747 func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) {
5748 op := &request.Operation{
5749 Name: opPutObject,
5750 HTTPMethod: "PUT",
5751 HTTPPath: "/{Bucket}/{Key+}",
5752 }
5753
5754 if input == nil {
5755 input = &PutObjectInput{}
5756 }
5757
5758 output = &PutObjectOutput{}
5759 req = c.newRequest(op, input, output)
5760 return
5761 }
5762
5763 // PutObject API operation for Amazon Simple Storage Service.
5764 //
5765 // Adds an object to a bucket.
5766 //
5767 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5768 // with awserr.Error's Code and Message methods to get detailed information about
5769 // the error.
5770 //
5771 // See the AWS API reference guide for Amazon Simple Storage Service's
5772 // API operation PutObject for usage and error information.
5773 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
5774 func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) {
5775 req, out := c.PutObjectRequest(input)
5776 return out, req.Send()
5777 }
5778
5779 // PutObjectWithContext is the same as PutObject with the addition of
5780 // the ability to pass a context and additional request options.
5781 //
5782 // See PutObject for details on how to use this API operation.
5783 //
5784 // The context must be non-nil and will be used for request cancellation. If
5785 // the context is nil a panic will occur. In the future the SDK may create
5786 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5787 // for more information on using Contexts.
5788 func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) {
5789 req, out := c.PutObjectRequest(input)
5790 req.SetContext(ctx)
5791 req.ApplyOptions(opts...)
5792 return out, req.Send()
5793 }
5794
5795 const opPutObjectAcl = "PutObjectAcl"
5796
5797 // PutObjectAclRequest generates a "aws/request.Request" representing the
5798 // client's request for the PutObjectAcl operation. The "output" return
5799 // value will be populated with the request's response once the request completes
5800 // successfuly.
5801 //
5802 // Use "Send" method on the returned Request to send the API call to the service.
5803 // the "output" return value is not valid until after Send returns without error.
5804 //
5805 // See PutObjectAcl for more information on using the PutObjectAcl
5806 // API call, and error handling.
5807 //
5808 // This method is useful when you want to inject custom logic or configuration
5809 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5810 //
5811 //
5812 // // Example sending a request using the PutObjectAclRequest method.
5813 // req, resp := client.PutObjectAclRequest(params)
5814 //
5815 // err := req.Send()
5816 // if err == nil { // resp is now filled
5817 // fmt.Println(resp)
5818 // }
5819 //
5820 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
5821 func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) {
5822 op := &request.Operation{
5823 Name: opPutObjectAcl,
5824 HTTPMethod: "PUT",
5825 HTTPPath: "/{Bucket}/{Key+}?acl",
5826 }
5827
5828 if input == nil {
5829 input = &PutObjectAclInput{}
5830 }
5831
5832 output = &PutObjectAclOutput{}
5833 req = c.newRequest(op, input, output)
5834 return
5835 }
5836
5837 // PutObjectAcl API operation for Amazon Simple Storage Service.
5838 //
5839 // uses the acl subresource to set the access control list (ACL) permissions
5840 // for an object that already exists in a bucket
5841 //
5842 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5843 // with awserr.Error's Code and Message methods to get detailed information about
5844 // the error.
5845 //
5846 // See the AWS API reference guide for Amazon Simple Storage Service's
5847 // API operation PutObjectAcl for usage and error information.
5848 //
5849 // Returned Error Codes:
5850 // * ErrCodeNoSuchKey "NoSuchKey"
5851 // The specified key does not exist.
5852 //
5853 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
5854 func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
5855 req, out := c.PutObjectAclRequest(input)
5856 return out, req.Send()
5857 }
5858
5859 // PutObjectAclWithContext is the same as PutObjectAcl with the addition of
5860 // the ability to pass a context and additional request options.
5861 //
5862 // See PutObjectAcl for details on how to use this API operation.
5863 //
5864 // The context must be non-nil and will be used for request cancellation. If
5865 // the context is nil a panic will occur. In the future the SDK may create
5866 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5867 // for more information on using Contexts.
5868 func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) {
5869 req, out := c.PutObjectAclRequest(input)
5870 req.SetContext(ctx)
5871 req.ApplyOptions(opts...)
5872 return out, req.Send()
5873 }
5874
5875 const opPutObjectTagging = "PutObjectTagging"
5876
5877 // PutObjectTaggingRequest generates a "aws/request.Request" representing the
5878 // client's request for the PutObjectTagging operation. The "output" return
5879 // value will be populated with the request's response once the request completes
5880 // successfuly.
5881 //
5882 // Use "Send" method on the returned Request to send the API call to the service.
5883 // the "output" return value is not valid until after Send returns without error.
5884 //
5885 // See PutObjectTagging for more information on using the PutObjectTagging
5886 // API call, and error handling.
5887 //
5888 // This method is useful when you want to inject custom logic or configuration
5889 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5890 //
5891 //
5892 // // Example sending a request using the PutObjectTaggingRequest method.
5893 // req, resp := client.PutObjectTaggingRequest(params)
5894 //
5895 // err := req.Send()
5896 // if err == nil { // resp is now filled
5897 // fmt.Println(resp)
5898 // }
5899 //
5900 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
5901 func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) {
5902 op := &request.Operation{
5903 Name: opPutObjectTagging,
5904 HTTPMethod: "PUT",
5905 HTTPPath: "/{Bucket}/{Key+}?tagging",
5906 }
5907
5908 if input == nil {
5909 input = &PutObjectTaggingInput{}
5910 }
5911
5912 output = &PutObjectTaggingOutput{}
5913 req = c.newRequest(op, input, output)
5914 return
5915 }
5916
5917 // PutObjectTagging API operation for Amazon Simple Storage Service.
5918 //
5919 // Sets the supplied tag-set to an object that already exists in a bucket
5920 //
5921 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5922 // with awserr.Error's Code and Message methods to get detailed information about
5923 // the error.
5924 //
5925 // See the AWS API reference guide for Amazon Simple Storage Service's
5926 // API operation PutObjectTagging for usage and error information.
5927 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
5928 func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
5929 req, out := c.PutObjectTaggingRequest(input)
5930 return out, req.Send()
5931 }
5932
5933 // PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
5934 // the ability to pass a context and additional request options.
5935 //
5936 // See PutObjectTagging for details on how to use this API operation.
5937 //
5938 // The context must be non-nil and will be used for request cancellation. If
5939 // the context is nil a panic will occur. In the future the SDK may create
5940 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5941 // for more information on using Contexts.
5942 func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) {
5943 req, out := c.PutObjectTaggingRequest(input)
5944 req.SetContext(ctx)
5945 req.ApplyOptions(opts...)
5946 return out, req.Send()
5947 }
5948
5949 const opRestoreObject = "RestoreObject"
5950
5951 // RestoreObjectRequest generates a "aws/request.Request" representing the
5952 // client's request for the RestoreObject operation. The "output" return
5953 // value will be populated with the request's response once the request completes
5954 // successfuly.
5955 //
5956 // Use "Send" method on the returned Request to send the API call to the service.
5957 // the "output" return value is not valid until after Send returns without error.
5958 //
5959 // See RestoreObject for more information on using the RestoreObject
5960 // API call, and error handling.
5961 //
5962 // This method is useful when you want to inject custom logic or configuration
5963 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5964 //
5965 //
5966 // // Example sending a request using the RestoreObjectRequest method.
5967 // req, resp := client.RestoreObjectRequest(params)
5968 //
5969 // err := req.Send()
5970 // if err == nil { // resp is now filled
5971 // fmt.Println(resp)
5972 // }
5973 //
5974 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
5975 func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) {
5976 op := &request.Operation{
5977 Name: opRestoreObject,
5978 HTTPMethod: "POST",
5979 HTTPPath: "/{Bucket}/{Key+}?restore",
5980 }
5981
5982 if input == nil {
5983 input = &RestoreObjectInput{}
5984 }
5985
5986 output = &RestoreObjectOutput{}
5987 req = c.newRequest(op, input, output)
5988 return
5989 }
5990
5991 // RestoreObject API operation for Amazon Simple Storage Service.
5992 //
5993 // Restores an archived copy of an object back into Amazon S3
5994 //
5995 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5996 // with awserr.Error's Code and Message methods to get detailed information about
5997 // the error.
5998 //
5999 // See the AWS API reference guide for Amazon Simple Storage Service's
6000 // API operation RestoreObject for usage and error information.
6001 //
6002 // Returned Error Codes:
6003 // * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
6004 // This operation is not allowed against this storage tier
6005 //
6006 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
6007 func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
6008 req, out := c.RestoreObjectRequest(input)
6009 return out, req.Send()
6010 }
6011
6012 // RestoreObjectWithContext is the same as RestoreObject with the addition of
6013 // the ability to pass a context and additional request options.
6014 //
6015 // See RestoreObject for details on how to use this API operation.
6016 //
6017 // The context must be non-nil and will be used for request cancellation. If
6018 // the context is nil a panic will occur. In the future the SDK may create
6019 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6020 // for more information on using Contexts.
6021 func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) {
6022 req, out := c.RestoreObjectRequest(input)
6023 req.SetContext(ctx)
6024 req.ApplyOptions(opts...)
6025 return out, req.Send()
6026 }
6027
6028 const opSelectObjectContent = "SelectObjectContent"
6029
6030 // SelectObjectContentRequest generates a "aws/request.Request" representing the
6031 // client's request for the SelectObjectContent operation. The "output" return
6032 // value will be populated with the request's response once the request completes
6033 // successfuly.
6034 //
6035 // Use "Send" method on the returned Request to send the API call to the service.
6036 // the "output" return value is not valid until after Send returns without error.
6037 //
6038 // See SelectObjectContent for more information on using the SelectObjectContent
6039 // API call, and error handling.
6040 //
6041 // This method is useful when you want to inject custom logic or configuration
6042 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6043 //
6044 //
6045 // // Example sending a request using the SelectObjectContentRequest method.
6046 // req, resp := client.SelectObjectContentRequest(params)
6047 //
6048 // err := req.Send()
6049 // if err == nil { // resp is now filled
6050 // fmt.Println(resp)
6051 // }
6052 //
6053 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6054 func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) {
6055 op := &request.Operation{
6056 Name: opSelectObjectContent,
6057 HTTPMethod: "POST",
6058 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
6059 }
6060
6061 if input == nil {
6062 input = &SelectObjectContentInput{}
6063 }
6064
6065 output = &SelectObjectContentOutput{}
6066 req = c.newRequest(op, input, output)
6067 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
6068 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler)
6069 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop)
6070 return
6071 }
6072
6073 // SelectObjectContent API operation for Amazon Simple Storage Service.
6074 //
6075 // This operation filters the contents of an Amazon S3 object based on a simple
6076 // Structured Query Language (SQL) statement. In the request, along with the
6077 // SQL expression, you must also specify a data serialization format (JSON or
6078 // CSV) of the object. Amazon S3 uses this to parse object data into records,
6079 // and returns only records that match the specified SQL expression. You must
6080 // also specify the data serialization format for the response.
6081 //
6082 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6083 // with awserr.Error's Code and Message methods to get detailed information about
6084 // the error.
6085 //
6086 // See the AWS API reference guide for Amazon Simple Storage Service's
6087 // API operation SelectObjectContent for usage and error information.
6088 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6089 func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) {
6090 req, out := c.SelectObjectContentRequest(input)
6091 return out, req.Send()
6092 }
6093
6094 // SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
6095 // the ability to pass a context and additional request options.
6096 //
6097 // See SelectObjectContent for details on how to use this API operation.
6098 //
6099 // The context must be non-nil and will be used for request cancellation. If
6100 // the context is nil a panic will occur. In the future the SDK may create
6101 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6102 // for more information on using Contexts.
6103 func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) {
6104 req, out := c.SelectObjectContentRequest(input)
6105 req.SetContext(ctx)
6106 req.ApplyOptions(opts...)
6107 return out, req.Send()
6108 }
6109
6110 const opUploadPart = "UploadPart"
6111
6112 // UploadPartRequest generates a "aws/request.Request" representing the
6113 // client's request for the UploadPart operation. The "output" return
6114 // value will be populated with the request's response once the request completes
6115 // successfuly.
6116 //
6117 // Use "Send" method on the returned Request to send the API call to the service.
6118 // the "output" return value is not valid until after Send returns without error.
6119 //
6120 // See UploadPart for more information on using the UploadPart
6121 // API call, and error handling.
6122 //
6123 // This method is useful when you want to inject custom logic or configuration
6124 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6125 //
6126 //
6127 // // Example sending a request using the UploadPartRequest method.
6128 // req, resp := client.UploadPartRequest(params)
6129 //
6130 // err := req.Send()
6131 // if err == nil { // resp is now filled
6132 // fmt.Println(resp)
6133 // }
6134 //
6135 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6136 func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) {
6137 op := &request.Operation{
6138 Name: opUploadPart,
6139 HTTPMethod: "PUT",
6140 HTTPPath: "/{Bucket}/{Key+}",
6141 }
6142
6143 if input == nil {
6144 input = &UploadPartInput{}
6145 }
6146
6147 output = &UploadPartOutput{}
6148 req = c.newRequest(op, input, output)
6149 return
6150 }
6151
6152 // UploadPart API operation for Amazon Simple Storage Service.
6153 //
6154 // Uploads a part in a multipart upload.
6155 //
6156 // Note: After you initiate multipart upload and upload one or more parts, you
6157 // must either complete or abort multipart upload in order to stop getting charged
6158 // for storage of the uploaded parts. Only after you either complete or abort
6159 // multipart upload, Amazon S3 frees up the parts storage and stops charging
6160 // you for the parts storage.
6161 //
6162 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6163 // with awserr.Error's Code and Message methods to get detailed information about
6164 // the error.
6165 //
6166 // See the AWS API reference guide for Amazon Simple Storage Service's
6167 // API operation UploadPart for usage and error information.
6168 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6169 func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
6170 req, out := c.UploadPartRequest(input)
6171 return out, req.Send()
6172 }
6173
6174 // UploadPartWithContext is the same as UploadPart with the addition of
6175 // the ability to pass a context and additional request options.
6176 //
6177 // See UploadPart for details on how to use this API operation.
6178 //
6179 // The context must be non-nil and will be used for request cancellation. If
6180 // the context is nil a panic will occur. In the future the SDK may create
6181 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6182 // for more information on using Contexts.
6183 func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) {
6184 req, out := c.UploadPartRequest(input)
6185 req.SetContext(ctx)
6186 req.ApplyOptions(opts...)
6187 return out, req.Send()
6188 }
6189
6190 const opUploadPartCopy = "UploadPartCopy"
6191
6192 // UploadPartCopyRequest generates a "aws/request.Request" representing the
6193 // client's request for the UploadPartCopy operation. The "output" return
6194 // value will be populated with the request's response once the request completes
6195 // successfuly.
6196 //
6197 // Use "Send" method on the returned Request to send the API call to the service.
6198 // the "output" return value is not valid until after Send returns without error.
6199 //
6200 // See UploadPartCopy for more information on using the UploadPartCopy
6201 // API call, and error handling.
6202 //
6203 // This method is useful when you want to inject custom logic or configuration
6204 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6205 //
6206 //
6207 // // Example sending a request using the UploadPartCopyRequest method.
6208 // req, resp := client.UploadPartCopyRequest(params)
6209 //
6210 // err := req.Send()
6211 // if err == nil { // resp is now filled
6212 // fmt.Println(resp)
6213 // }
6214 //
6215 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6216 func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) {
6217 op := &request.Operation{
6218 Name: opUploadPartCopy,
6219 HTTPMethod: "PUT",
6220 HTTPPath: "/{Bucket}/{Key+}",
6221 }
6222
6223 if input == nil {
6224 input = &UploadPartCopyInput{}
6225 }
6226
6227 output = &UploadPartCopyOutput{}
6228 req = c.newRequest(op, input, output)
6229 return
6230 }
6231
6232 // UploadPartCopy API operation for Amazon Simple Storage Service.
6233 //
6234 // Uploads a part by copying data from an existing object as data source.
6235 //
6236 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6237 // with awserr.Error's Code and Message methods to get detailed information about
6238 // the error.
6239 //
6240 // See the AWS API reference guide for Amazon Simple Storage Service's
6241 // API operation UploadPartCopy for usage and error information.
6242 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6243 func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
6244 req, out := c.UploadPartCopyRequest(input)
6245 return out, req.Send()
6246 }
6247
6248 // UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
6249 // the ability to pass a context and additional request options.
6250 //
6251 // See UploadPartCopy for details on how to use this API operation.
6252 //
6253 // The context must be non-nil and will be used for request cancellation. If
6254 // the context is nil a panic will occur. In the future the SDK may create
6255 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6256 // for more information on using Contexts.
6257 func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) {
6258 req, out := c.UploadPartCopyRequest(input)
6259 req.SetContext(ctx)
6260 req.ApplyOptions(opts...)
6261 return out, req.Send()
6262 }
6263
6264 // Specifies the days since the initiation of an Incomplete Multipart Upload
6265 // that Lifecycle will wait before permanently removing all parts of the upload.
6266 type AbortIncompleteMultipartUpload struct {
6267 _ struct{} `type:"structure"`
6268
6269 // Indicates the number of days that must pass since initiation for Lifecycle
6270 // to abort an Incomplete Multipart Upload.
6271 DaysAfterInitiation *int64 `type:"integer"`
6272 }
6273
6274 // String returns the string representation
6275 func (s AbortIncompleteMultipartUpload) String() string {
6276 return awsutil.Prettify(s)
6277 }
6278
6279 // GoString returns the string representation
6280 func (s AbortIncompleteMultipartUpload) GoString() string {
6281 return s.String()
6282 }
6283
6284 // SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
6285 func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload {
6286 s.DaysAfterInitiation = &v
6287 return s
6288 }
6289
6290 type AbortMultipartUploadInput struct {
6291 _ struct{} `type:"structure"`
6292
6293 // Bucket is a required field
6294 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
6295
6296 // Key is a required field
6297 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
6298
6299 // Confirms that the requester knows that she or he will be charged for the
6300 // request. Bucket owners need not specify this parameter in their requests.
6301 // Documentation on downloading objects from requester pays buckets can be found
6302 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
6303 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
6304
6305 // UploadId is a required field
6306 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
6307 }
6308
6309 // String returns the string representation
6310 func (s AbortMultipartUploadInput) String() string {
6311 return awsutil.Prettify(s)
6312 }
6313
6314 // GoString returns the string representation
6315 func (s AbortMultipartUploadInput) GoString() string {
6316 return s.String()
6317 }
6318
6319 // Validate inspects the fields of the type to determine if they are valid.
6320 func (s *AbortMultipartUploadInput) Validate() error {
6321 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"}
6322 if s.Bucket == nil {
6323 invalidParams.Add(request.NewErrParamRequired("Bucket"))
6324 }
6325 if s.Key == nil {
6326 invalidParams.Add(request.NewErrParamRequired("Key"))
6327 }
6328 if s.Key != nil && len(*s.Key) < 1 {
6329 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
6330 }
6331 if s.UploadId == nil {
6332 invalidParams.Add(request.NewErrParamRequired("UploadId"))
6333 }
6334
6335 if invalidParams.Len() > 0 {
6336 return invalidParams
6337 }
6338 return nil
6339 }
6340
6341 // SetBucket sets the Bucket field's value.
6342 func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput {
6343 s.Bucket = &v
6344 return s
6345 }
6346
6347 func (s *AbortMultipartUploadInput) getBucket() (v string) {
6348 if s.Bucket == nil {
6349 return v
6350 }
6351 return *s.Bucket
6352 }
6353
6354 // SetKey sets the Key field's value.
6355 func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
6356 s.Key = &v
6357 return s
6358 }
6359
6360 // SetRequestPayer sets the RequestPayer field's value.
6361 func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput {
6362 s.RequestPayer = &v
6363 return s
6364 }
6365
6366 // SetUploadId sets the UploadId field's value.
6367 func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput {
6368 s.UploadId = &v
6369 return s
6370 }
6371
6372 type AbortMultipartUploadOutput struct {
6373 _ struct{} `type:"structure"`
6374
6375 // If present, indicates that the requester was successfully charged for the
6376 // request.
6377 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
6378 }
6379
6380 // String returns the string representation
6381 func (s AbortMultipartUploadOutput) String() string {
6382 return awsutil.Prettify(s)
6383 }
6384
6385 // GoString returns the string representation
6386 func (s AbortMultipartUploadOutput) GoString() string {
6387 return s.String()
6388 }
6389
6390 // SetRequestCharged sets the RequestCharged field's value.
6391 func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput {
6392 s.RequestCharged = &v
6393 return s
6394 }
6395
6396 type AccelerateConfiguration struct {
6397 _ struct{} `type:"structure"`
6398
6399 // The accelerate configuration of the bucket.
6400 Status *string `type:"string" enum:"BucketAccelerateStatus"`
6401 }
6402
6403 // String returns the string representation
6404 func (s AccelerateConfiguration) String() string {
6405 return awsutil.Prettify(s)
6406 }
6407
6408 // GoString returns the string representation
6409 func (s AccelerateConfiguration) GoString() string {
6410 return s.String()
6411 }
6412
6413 // SetStatus sets the Status field's value.
6414 func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
6415 s.Status = &v
6416 return s
6417 }
6418
6419 type AccessControlPolicy struct {
6420 _ struct{} `type:"structure"`
6421
6422 // A list of grants.
6423 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
6424
6425 Owner *Owner `type:"structure"`
6426 }
6427
6428 // String returns the string representation
6429 func (s AccessControlPolicy) String() string {
6430 return awsutil.Prettify(s)
6431 }
6432
6433 // GoString returns the string representation
6434 func (s AccessControlPolicy) GoString() string {
6435 return s.String()
6436 }
6437
6438 // Validate inspects the fields of the type to determine if they are valid.
6439 func (s *AccessControlPolicy) Validate() error {
6440 invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"}
6441 if s.Grants != nil {
6442 for i, v := range s.Grants {
6443 if v == nil {
6444 continue
6445 }
6446 if err := v.Validate(); err != nil {
6447 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams))
6448 }
6449 }
6450 }
6451
6452 if invalidParams.Len() > 0 {
6453 return invalidParams
6454 }
6455 return nil
6456 }
6457
6458 // SetGrants sets the Grants field's value.
6459 func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy {
6460 s.Grants = v
6461 return s
6462 }
6463
6464 // SetOwner sets the Owner field's value.
6465 func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
6466 s.Owner = v
6467 return s
6468 }
6469
6470 // Container for information regarding the access control for replicas.
6471 type AccessControlTranslation struct {
6472 _ struct{} `type:"structure"`
6473
6474 // The override value for the owner of the replica object.
6475 //
6476 // Owner is a required field
6477 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
6478 }
6479
6480 // String returns the string representation
6481 func (s AccessControlTranslation) String() string {
6482 return awsutil.Prettify(s)
6483 }
6484
6485 // GoString returns the string representation
6486 func (s AccessControlTranslation) GoString() string {
6487 return s.String()
6488 }
6489
6490 // Validate inspects the fields of the type to determine if they are valid.
6491 func (s *AccessControlTranslation) Validate() error {
6492 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"}
6493 if s.Owner == nil {
6494 invalidParams.Add(request.NewErrParamRequired("Owner"))
6495 }
6496
6497 if invalidParams.Len() > 0 {
6498 return invalidParams
6499 }
6500 return nil
6501 }
6502
6503 // SetOwner sets the Owner field's value.
6504 func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
6505 s.Owner = &v
6506 return s
6507 }
6508
6509 type AnalyticsAndOperator struct {
6510 _ struct{} `type:"structure"`
6511
6512 // The prefix to use when evaluating an AND predicate.
6513 Prefix *string `type:"string"`
6514
6515 // The list of tags to use when evaluating an AND predicate.
6516 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
6517 }
6518
6519 // String returns the string representation
6520 func (s AnalyticsAndOperator) String() string {
6521 return awsutil.Prettify(s)
6522 }
6523
6524 // GoString returns the string representation
6525 func (s AnalyticsAndOperator) GoString() string {
6526 return s.String()
6527 }
6528
6529 // Validate inspects the fields of the type to determine if they are valid.
6530 func (s *AnalyticsAndOperator) Validate() error {
6531 invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"}
6532 if s.Tags != nil {
6533 for i, v := range s.Tags {
6534 if v == nil {
6535 continue
6536 }
6537 if err := v.Validate(); err != nil {
6538 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6539 }
6540 }
6541 }
6542
6543 if invalidParams.Len() > 0 {
6544 return invalidParams
6545 }
6546 return nil
6547 }
6548
6549 // SetPrefix sets the Prefix field's value.
6550 func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator {
6551 s.Prefix = &v
6552 return s
6553 }
6554
6555 // SetTags sets the Tags field's value.
6556 func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
6557 s.Tags = v
6558 return s
6559 }
6560
6561 type AnalyticsConfiguration struct {
6562 _ struct{} `type:"structure"`
6563
6564 // The filter used to describe a set of objects for analyses. A filter must
6565 // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator).
6566 // If no filter is provided, all objects will be considered in any analysis.
6567 Filter *AnalyticsFilter `type:"structure"`
6568
6569 // The identifier used to represent an analytics configuration.
6570 //
6571 // Id is a required field
6572 Id *string `type:"string" required:"true"`
6573
6574 // If present, it indicates that data related to access patterns will be collected
6575 // and made available to analyze the tradeoffs between different storage classes.
6576 //
6577 // StorageClassAnalysis is a required field
6578 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
6579 }
6580
6581 // String returns the string representation
6582 func (s AnalyticsConfiguration) String() string {
6583 return awsutil.Prettify(s)
6584 }
6585
6586 // GoString returns the string representation
6587 func (s AnalyticsConfiguration) GoString() string {
6588 return s.String()
6589 }
6590
6591 // Validate inspects the fields of the type to determine if they are valid.
6592 func (s *AnalyticsConfiguration) Validate() error {
6593 invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"}
6594 if s.Id == nil {
6595 invalidParams.Add(request.NewErrParamRequired("Id"))
6596 }
6597 if s.StorageClassAnalysis == nil {
6598 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis"))
6599 }
6600 if s.Filter != nil {
6601 if err := s.Filter.Validate(); err != nil {
6602 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
6603 }
6604 }
6605 if s.StorageClassAnalysis != nil {
6606 if err := s.StorageClassAnalysis.Validate(); err != nil {
6607 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams))
6608 }
6609 }
6610
6611 if invalidParams.Len() > 0 {
6612 return invalidParams
6613 }
6614 return nil
6615 }
6616
6617 // SetFilter sets the Filter field's value.
6618 func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration {
6619 s.Filter = v
6620 return s
6621 }
6622
6623 // SetId sets the Id field's value.
6624 func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration {
6625 s.Id = &v
6626 return s
6627 }
6628
6629 // SetStorageClassAnalysis sets the StorageClassAnalysis field's value.
6630 func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration {
6631 s.StorageClassAnalysis = v
6632 return s
6633 }
6634
6635 type AnalyticsExportDestination struct {
6636 _ struct{} `type:"structure"`
6637
6638 // A destination signifying output to an S3 bucket.
6639 //
6640 // S3BucketDestination is a required field
6641 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"`
6642 }
6643
6644 // String returns the string representation
6645 func (s AnalyticsExportDestination) String() string {
6646 return awsutil.Prettify(s)
6647 }
6648
6649 // GoString returns the string representation
6650 func (s AnalyticsExportDestination) GoString() string {
6651 return s.String()
6652 }
6653
6654 // Validate inspects the fields of the type to determine if they are valid.
6655 func (s *AnalyticsExportDestination) Validate() error {
6656 invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"}
6657 if s.S3BucketDestination == nil {
6658 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
6659 }
6660 if s.S3BucketDestination != nil {
6661 if err := s.S3BucketDestination.Validate(); err != nil {
6662 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
6663 }
6664 }
6665
6666 if invalidParams.Len() > 0 {
6667 return invalidParams
6668 }
6669 return nil
6670 }
6671
6672 // SetS3BucketDestination sets the S3BucketDestination field's value.
6673 func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination {
6674 s.S3BucketDestination = v
6675 return s
6676 }
6677
6678 type AnalyticsFilter struct {
6679 _ struct{} `type:"structure"`
6680
6681 // A conjunction (logical AND) of predicates, which is used in evaluating an
6682 // analytics filter. The operator must have at least two predicates.
6683 And *AnalyticsAndOperator `type:"structure"`
6684
6685 // The prefix to use when evaluating an analytics filter.
6686 Prefix *string `type:"string"`
6687
6688 // The tag to use when evaluating an analytics filter.
6689 Tag *Tag `type:"structure"`
6690 }
6691
6692 // String returns the string representation
6693 func (s AnalyticsFilter) String() string {
6694 return awsutil.Prettify(s)
6695 }
6696
6697 // GoString returns the string representation
6698 func (s AnalyticsFilter) GoString() string {
6699 return s.String()
6700 }
6701
6702 // Validate inspects the fields of the type to determine if they are valid.
6703 func (s *AnalyticsFilter) Validate() error {
6704 invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"}
6705 if s.And != nil {
6706 if err := s.And.Validate(); err != nil {
6707 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
6708 }
6709 }
6710 if s.Tag != nil {
6711 if err := s.Tag.Validate(); err != nil {
6712 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
6713 }
6714 }
6715
6716 if invalidParams.Len() > 0 {
6717 return invalidParams
6718 }
6719 return nil
6720 }
6721
6722 // SetAnd sets the And field's value.
6723 func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter {
6724 s.And = v
6725 return s
6726 }
6727
6728 // SetPrefix sets the Prefix field's value.
6729 func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter {
6730 s.Prefix = &v
6731 return s
6732 }
6733
6734 // SetTag sets the Tag field's value.
6735 func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
6736 s.Tag = v
6737 return s
6738 }
6739
6740 type AnalyticsS3BucketDestination struct {
6741 _ struct{} `type:"structure"`
6742
6743 // The Amazon resource name (ARN) of the bucket to which data is exported.
6744 //
6745 // Bucket is a required field
6746 Bucket *string `type:"string" required:"true"`
6747
6748 // The account ID that owns the destination bucket. If no account ID is provided,
6749 // the owner will not be validated prior to exporting data.
6750 BucketAccountId *string `type:"string"`
6751
6752 // The file format used when exporting data to Amazon S3.
6753 //
6754 // Format is a required field
6755 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
6756
6757 // The prefix to use when exporting data. The exported data begins with this
6758 // prefix.
6759 Prefix *string `type:"string"`
6760 }
6761
6762 // String returns the string representation
6763 func (s AnalyticsS3BucketDestination) String() string {
6764 return awsutil.Prettify(s)
6765 }
6766
6767 // GoString returns the string representation
6768 func (s AnalyticsS3BucketDestination) GoString() string {
6769 return s.String()
6770 }
6771
6772 // Validate inspects the fields of the type to determine if they are valid.
6773 func (s *AnalyticsS3BucketDestination) Validate() error {
6774 invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"}
6775 if s.Bucket == nil {
6776 invalidParams.Add(request.NewErrParamRequired("Bucket"))
6777 }
6778 if s.Format == nil {
6779 invalidParams.Add(request.NewErrParamRequired("Format"))
6780 }
6781
6782 if invalidParams.Len() > 0 {
6783 return invalidParams
6784 }
6785 return nil
6786 }
6787
6788 // SetBucket sets the Bucket field's value.
6789 func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination {
6790 s.Bucket = &v
6791 return s
6792 }
6793
6794 func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
6795 if s.Bucket == nil {
6796 return v
6797 }
6798 return *s.Bucket
6799 }
6800
6801 // SetBucketAccountId sets the BucketAccountId field's value.
6802 func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
6803 s.BucketAccountId = &v
6804 return s
6805 }
6806
6807 // SetFormat sets the Format field's value.
6808 func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination {
6809 s.Format = &v
6810 return s
6811 }
6812
6813 // SetPrefix sets the Prefix field's value.
6814 func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination {
6815 s.Prefix = &v
6816 return s
6817 }
6818
6819 type Bucket struct {
6820 _ struct{} `type:"structure"`
6821
6822 // Date the bucket was created.
6823 CreationDate *time.Time `type:"timestamp"`
6824
6825 // The name of the bucket.
6826 Name *string `type:"string"`
6827 }
6828
6829 // String returns the string representation
6830 func (s Bucket) String() string {
6831 return awsutil.Prettify(s)
6832 }
6833
6834 // GoString returns the string representation
6835 func (s Bucket) GoString() string {
6836 return s.String()
6837 }
6838
6839 // SetCreationDate sets the CreationDate field's value.
6840 func (s *Bucket) SetCreationDate(v time.Time) *Bucket {
6841 s.CreationDate = &v
6842 return s
6843 }
6844
6845 // SetName sets the Name field's value.
6846 func (s *Bucket) SetName(v string) *Bucket {
6847 s.Name = &v
6848 return s
6849 }
6850
6851 type BucketLifecycleConfiguration struct {
6852 _ struct{} `type:"structure"`
6853
6854 // Rules is a required field
6855 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
6856 }
6857
6858 // String returns the string representation
6859 func (s BucketLifecycleConfiguration) String() string {
6860 return awsutil.Prettify(s)
6861 }
6862
6863 // GoString returns the string representation
6864 func (s BucketLifecycleConfiguration) GoString() string {
6865 return s.String()
6866 }
6867
6868 // Validate inspects the fields of the type to determine if they are valid.
6869 func (s *BucketLifecycleConfiguration) Validate() error {
6870 invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"}
6871 if s.Rules == nil {
6872 invalidParams.Add(request.NewErrParamRequired("Rules"))
6873 }
6874 if s.Rules != nil {
6875 for i, v := range s.Rules {
6876 if v == nil {
6877 continue
6878 }
6879 if err := v.Validate(); err != nil {
6880 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
6881 }
6882 }
6883 }
6884
6885 if invalidParams.Len() > 0 {
6886 return invalidParams
6887 }
6888 return nil
6889 }
6890
6891 // SetRules sets the Rules field's value.
6892 func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration {
6893 s.Rules = v
6894 return s
6895 }
6896
6897 type BucketLoggingStatus struct {
6898 _ struct{} `type:"structure"`
6899
6900 // Container for logging information. Presence of this element indicates that
6901 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
6902 // in this case.
6903 LoggingEnabled *LoggingEnabled `type:"structure"`
6904 }
6905
6906 // String returns the string representation
6907 func (s BucketLoggingStatus) String() string {
6908 return awsutil.Prettify(s)
6909 }
6910
6911 // GoString returns the string representation
6912 func (s BucketLoggingStatus) GoString() string {
6913 return s.String()
6914 }
6915
6916 // Validate inspects the fields of the type to determine if they are valid.
6917 func (s *BucketLoggingStatus) Validate() error {
6918 invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"}
6919 if s.LoggingEnabled != nil {
6920 if err := s.LoggingEnabled.Validate(); err != nil {
6921 invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams))
6922 }
6923 }
6924
6925 if invalidParams.Len() > 0 {
6926 return invalidParams
6927 }
6928 return nil
6929 }
6930
6931 // SetLoggingEnabled sets the LoggingEnabled field's value.
6932 func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus {
6933 s.LoggingEnabled = v
6934 return s
6935 }
6936
6937 type CORSConfiguration struct {
6938 _ struct{} `type:"structure"`
6939
6940 // CORSRules is a required field
6941 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
6942 }
6943
6944 // String returns the string representation
6945 func (s CORSConfiguration) String() string {
6946 return awsutil.Prettify(s)
6947 }
6948
6949 // GoString returns the string representation
6950 func (s CORSConfiguration) GoString() string {
6951 return s.String()
6952 }
6953
6954 // Validate inspects the fields of the type to determine if they are valid.
6955 func (s *CORSConfiguration) Validate() error {
6956 invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"}
6957 if s.CORSRules == nil {
6958 invalidParams.Add(request.NewErrParamRequired("CORSRules"))
6959 }
6960 if s.CORSRules != nil {
6961 for i, v := range s.CORSRules {
6962 if v == nil {
6963 continue
6964 }
6965 if err := v.Validate(); err != nil {
6966 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams))
6967 }
6968 }
6969 }
6970
6971 if invalidParams.Len() > 0 {
6972 return invalidParams
6973 }
6974 return nil
6975 }
6976
6977 // SetCORSRules sets the CORSRules field's value.
6978 func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
6979 s.CORSRules = v
6980 return s
6981 }
6982
6983 type CORSRule struct {
6984 _ struct{} `type:"structure"`
6985
6986 // Specifies which headers are allowed in a pre-flight OPTIONS request.
6987 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
6988
6989 // Identifies HTTP methods that the domain/origin specified in the rule is allowed
6990 // to execute.
6991 //
6992 // AllowedMethods is a required field
6993 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
6994
6995 // One or more origins you want customers to be able to access the bucket from.
6996 //
6997 // AllowedOrigins is a required field
6998 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"`
6999
7000 // One or more headers in the response that you want customers to be able to
7001 // access from their applications (for example, from a JavaScript XMLHttpRequest
7002 // object).
7003 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"`
7004
7005 // The time in seconds that your browser is to cache the preflight response
7006 // for the specified resource.
7007 MaxAgeSeconds *int64 `type:"integer"`
7008 }
7009
7010 // String returns the string representation
7011 func (s CORSRule) String() string {
7012 return awsutil.Prettify(s)
7013 }
7014
7015 // GoString returns the string representation
7016 func (s CORSRule) GoString() string {
7017 return s.String()
7018 }
7019
7020 // Validate inspects the fields of the type to determine if they are valid.
7021 func (s *CORSRule) Validate() error {
7022 invalidParams := request.ErrInvalidParams{Context: "CORSRule"}
7023 if s.AllowedMethods == nil {
7024 invalidParams.Add(request.NewErrParamRequired("AllowedMethods"))
7025 }
7026 if s.AllowedOrigins == nil {
7027 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins"))
7028 }
7029
7030 if invalidParams.Len() > 0 {
7031 return invalidParams
7032 }
7033 return nil
7034 }
7035
7036 // SetAllowedHeaders sets the AllowedHeaders field's value.
7037 func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule {
7038 s.AllowedHeaders = v
7039 return s
7040 }
7041
7042 // SetAllowedMethods sets the AllowedMethods field's value.
7043 func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule {
7044 s.AllowedMethods = v
7045 return s
7046 }
7047
7048 // SetAllowedOrigins sets the AllowedOrigins field's value.
7049 func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule {
7050 s.AllowedOrigins = v
7051 return s
7052 }
7053
7054 // SetExposeHeaders sets the ExposeHeaders field's value.
7055 func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule {
7056 s.ExposeHeaders = v
7057 return s
7058 }
7059
7060 // SetMaxAgeSeconds sets the MaxAgeSeconds field's value.
7061 func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
7062 s.MaxAgeSeconds = &v
7063 return s
7064 }
7065
7066 // Describes how a CSV-formatted input object is formatted.
7067 type CSVInput struct {
7068 _ struct{} `type:"structure"`
7069
7070 // Specifies that CSV field values may contain quoted record delimiters and
7071 // such records should be allowed. Default value is FALSE. Setting this value
7072 // to TRUE may lower performance.
7073 AllowQuotedRecordDelimiter *bool `type:"boolean"`
7074
7075 // Single character used to indicate a row should be ignored when present at
7076 // the start of a row.
7077 Comments *string `type:"string"`
7078
7079 // Value used to separate individual fields in a record.
7080 FieldDelimiter *string `type:"string"`
7081
7082 // Describes the first line of input. Valid values: None, Ignore, Use.
7083 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
7084
7085 // Value used for escaping where the field delimiter is part of the value.
7086 QuoteCharacter *string `type:"string"`
7087
7088 // Single character used for escaping the quote character inside an already
7089 // escaped value.
7090 QuoteEscapeCharacter *string `type:"string"`
7091
7092 // Value used to separate individual records.
7093 RecordDelimiter *string `type:"string"`
7094 }
7095
7096 // String returns the string representation
7097 func (s CSVInput) String() string {
7098 return awsutil.Prettify(s)
7099 }
7100
7101 // GoString returns the string representation
7102 func (s CSVInput) GoString() string {
7103 return s.String()
7104 }
7105
7106 // SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
7107 func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
7108 s.AllowQuotedRecordDelimiter = &v
7109 return s
7110 }
7111
7112 // SetComments sets the Comments field's value.
7113 func (s *CSVInput) SetComments(v string) *CSVInput {
7114 s.Comments = &v
7115 return s
7116 }
7117
7118 // SetFieldDelimiter sets the FieldDelimiter field's value.
7119 func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
7120 s.FieldDelimiter = &v
7121 return s
7122 }
7123
7124 // SetFileHeaderInfo sets the FileHeaderInfo field's value.
7125 func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
7126 s.FileHeaderInfo = &v
7127 return s
7128 }
7129
7130 // SetQuoteCharacter sets the QuoteCharacter field's value.
7131 func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
7132 s.QuoteCharacter = &v
7133 return s
7134 }
7135
7136 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7137 func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
7138 s.QuoteEscapeCharacter = &v
7139 return s
7140 }
7141
7142 // SetRecordDelimiter sets the RecordDelimiter field's value.
7143 func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
7144 s.RecordDelimiter = &v
7145 return s
7146 }
7147
7148 // Describes how CSV-formatted results are formatted.
7149 type CSVOutput struct {
7150 _ struct{} `type:"structure"`
7151
7152 // Value used to separate individual fields in a record.
7153 FieldDelimiter *string `type:"string"`
7154
7155 // Value used for escaping where the field delimiter is part of the value.
7156 QuoteCharacter *string `type:"string"`
7157
7158 // Single character used for escaping the quote character inside an already
7159 // escaped value.
7160 QuoteEscapeCharacter *string `type:"string"`
7161
7162 // Indicates whether or not all output fields should be quoted.
7163 QuoteFields *string `type:"string" enum:"QuoteFields"`
7164
7165 // Value used to separate individual records.
7166 RecordDelimiter *string `type:"string"`
7167 }
7168
7169 // String returns the string representation
7170 func (s CSVOutput) String() string {
7171 return awsutil.Prettify(s)
7172 }
7173
7174 // GoString returns the string representation
7175 func (s CSVOutput) GoString() string {
7176 return s.String()
7177 }
7178
7179 // SetFieldDelimiter sets the FieldDelimiter field's value.
7180 func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
7181 s.FieldDelimiter = &v
7182 return s
7183 }
7184
7185 // SetQuoteCharacter sets the QuoteCharacter field's value.
7186 func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
7187 s.QuoteCharacter = &v
7188 return s
7189 }
7190
7191 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7192 func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
7193 s.QuoteEscapeCharacter = &v
7194 return s
7195 }
7196
7197 // SetQuoteFields sets the QuoteFields field's value.
7198 func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
7199 s.QuoteFields = &v
7200 return s
7201 }
7202
7203 // SetRecordDelimiter sets the RecordDelimiter field's value.
7204 func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
7205 s.RecordDelimiter = &v
7206 return s
7207 }
7208
7209 type CloudFunctionConfiguration struct {
7210 _ struct{} `type:"structure"`
7211
7212 CloudFunction *string `type:"string"`
7213
7214 // Bucket event for which to send notifications.
7215 Event *string `deprecated:"true" type:"string" enum:"Event"`
7216
7217 Events []*string `locationName:"Event" type:"list" flattened:"true"`
7218
7219 // Optional unique identifier for configurations in a notification configuration.
7220 // If you don't provide one, Amazon S3 will assign an ID.
7221 Id *string `type:"string"`
7222
7223 InvocationRole *string `type:"string"`
7224 }
7225
7226 // String returns the string representation
7227 func (s CloudFunctionConfiguration) String() string {
7228 return awsutil.Prettify(s)
7229 }
7230
7231 // GoString returns the string representation
7232 func (s CloudFunctionConfiguration) GoString() string {
7233 return s.String()
7234 }
7235
7236 // SetCloudFunction sets the CloudFunction field's value.
7237 func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration {
7238 s.CloudFunction = &v
7239 return s
7240 }
7241
7242 // SetEvent sets the Event field's value.
7243 func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration {
7244 s.Event = &v
7245 return s
7246 }
7247
7248 // SetEvents sets the Events field's value.
7249 func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration {
7250 s.Events = v
7251 return s
7252 }
7253
7254 // SetId sets the Id field's value.
7255 func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration {
7256 s.Id = &v
7257 return s
7258 }
7259
7260 // SetInvocationRole sets the InvocationRole field's value.
7261 func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration {
7262 s.InvocationRole = &v
7263 return s
7264 }
7265
7266 type CommonPrefix struct {
7267 _ struct{} `type:"structure"`
7268
7269 Prefix *string `type:"string"`
7270 }
7271
7272 // String returns the string representation
7273 func (s CommonPrefix) String() string {
7274 return awsutil.Prettify(s)
7275 }
7276
7277 // GoString returns the string representation
7278 func (s CommonPrefix) GoString() string {
7279 return s.String()
7280 }
7281
7282 // SetPrefix sets the Prefix field's value.
7283 func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
7284 s.Prefix = &v
7285 return s
7286 }
7287
7288 type CompleteMultipartUploadInput struct {
7289 _ struct{} `type:"structure" payload:"MultipartUpload"`
7290
7291 // Bucket is a required field
7292 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7293
7294 // Key is a required field
7295 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
7296
7297 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
7298
7299 // Confirms that the requester knows that she or he will be charged for the
7300 // request. Bucket owners need not specify this parameter in their requests.
7301 // Documentation on downloading objects from requester pays buckets can be found
7302 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7303 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
7304
7305 // UploadId is a required field
7306 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
7307 }
7308
7309 // String returns the string representation
7310 func (s CompleteMultipartUploadInput) String() string {
7311 return awsutil.Prettify(s)
7312 }
7313
7314 // GoString returns the string representation
7315 func (s CompleteMultipartUploadInput) GoString() string {
7316 return s.String()
7317 }
7318
7319 // Validate inspects the fields of the type to determine if they are valid.
7320 func (s *CompleteMultipartUploadInput) Validate() error {
7321 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"}
7322 if s.Bucket == nil {
7323 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7324 }
7325 if s.Key == nil {
7326 invalidParams.Add(request.NewErrParamRequired("Key"))
7327 }
7328 if s.Key != nil && len(*s.Key) < 1 {
7329 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7330 }
7331 if s.UploadId == nil {
7332 invalidParams.Add(request.NewErrParamRequired("UploadId"))
7333 }
7334
7335 if invalidParams.Len() > 0 {
7336 return invalidParams
7337 }
7338 return nil
7339 }
7340
7341 // SetBucket sets the Bucket field's value.
7342 func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput {
7343 s.Bucket = &v
7344 return s
7345 }
7346
7347 func (s *CompleteMultipartUploadInput) getBucket() (v string) {
7348 if s.Bucket == nil {
7349 return v
7350 }
7351 return *s.Bucket
7352 }
7353
7354 // SetKey sets the Key field's value.
7355 func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
7356 s.Key = &v
7357 return s
7358 }
7359
7360 // SetMultipartUpload sets the MultipartUpload field's value.
7361 func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput {
7362 s.MultipartUpload = v
7363 return s
7364 }
7365
7366 // SetRequestPayer sets the RequestPayer field's value.
7367 func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput {
7368 s.RequestPayer = &v
7369 return s
7370 }
7371
7372 // SetUploadId sets the UploadId field's value.
7373 func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
7374 s.UploadId = &v
7375 return s
7376 }
7377
7378 type CompleteMultipartUploadOutput struct {
7379 _ struct{} `type:"structure"`
7380
7381 Bucket *string `type:"string"`
7382
7383 // Entity tag of the object.
7384 ETag *string `type:"string"`
7385
7386 // If the object expiration is configured, this will contain the expiration
7387 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
7388 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
7389
7390 Key *string `min:"1" type:"string"`
7391
7392 Location *string `type:"string"`
7393
7394 // If present, indicates that the requester was successfully charged for the
7395 // request.
7396 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
7397
7398 // If present, specifies the ID of the AWS Key Management Service (KMS) master
7399 // encryption key that was used for the object.
7400 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
7401
7402 // The Server-side encryption algorithm used when storing this object in S3
7403 // (e.g., AES256, aws:kms).
7404 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
7405
7406 // Version of the object.
7407 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
7408 }
7409
7410 // String returns the string representation
7411 func (s CompleteMultipartUploadOutput) String() string {
7412 return awsutil.Prettify(s)
7413 }
7414
7415 // GoString returns the string representation
7416 func (s CompleteMultipartUploadOutput) GoString() string {
7417 return s.String()
7418 }
7419
7420 // SetBucket sets the Bucket field's value.
7421 func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput {
7422 s.Bucket = &v
7423 return s
7424 }
7425
7426 func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
7427 if s.Bucket == nil {
7428 return v
7429 }
7430 return *s.Bucket
7431 }
7432
7433 // SetETag sets the ETag field's value.
7434 func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
7435 s.ETag = &v
7436 return s
7437 }
7438
7439 // SetExpiration sets the Expiration field's value.
7440 func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput {
7441 s.Expiration = &v
7442 return s
7443 }
7444
7445 // SetKey sets the Key field's value.
7446 func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput {
7447 s.Key = &v
7448 return s
7449 }
7450
7451 // SetLocation sets the Location field's value.
7452 func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput {
7453 s.Location = &v
7454 return s
7455 }
7456
7457 // SetRequestCharged sets the RequestCharged field's value.
7458 func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput {
7459 s.RequestCharged = &v
7460 return s
7461 }
7462
7463 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
7464 func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput {
7465 s.SSEKMSKeyId = &v
7466 return s
7467 }
7468
7469 // SetServerSideEncryption sets the ServerSideEncryption field's value.
7470 func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput {
7471 s.ServerSideEncryption = &v
7472 return s
7473 }
7474
7475 // SetVersionId sets the VersionId field's value.
7476 func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput {
7477 s.VersionId = &v
7478 return s
7479 }
7480
7481 type CompletedMultipartUpload struct {
7482 _ struct{} `type:"structure"`
7483
7484 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
7485 }
7486
7487 // String returns the string representation
7488 func (s CompletedMultipartUpload) String() string {
7489 return awsutil.Prettify(s)
7490 }
7491
7492 // GoString returns the string representation
7493 func (s CompletedMultipartUpload) GoString() string {
7494 return s.String()
7495 }
7496
7497 // SetParts sets the Parts field's value.
7498 func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload {
7499 s.Parts = v
7500 return s
7501 }
7502
7503 type CompletedPart struct {
7504 _ struct{} `type:"structure"`
7505
7506 // Entity tag returned when the part was uploaded.
7507 ETag *string `type:"string"`
7508
7509 // Part number that identifies the part. This is a positive integer between
7510 // 1 and 10,000.
7511 PartNumber *int64 `type:"integer"`
7512 }
7513
7514 // String returns the string representation
7515 func (s CompletedPart) String() string {
7516 return awsutil.Prettify(s)
7517 }
7518
7519 // GoString returns the string representation
7520 func (s CompletedPart) GoString() string {
7521 return s.String()
7522 }
7523
7524 // SetETag sets the ETag field's value.
7525 func (s *CompletedPart) SetETag(v string) *CompletedPart {
7526 s.ETag = &v
7527 return s
7528 }
7529
7530 // SetPartNumber sets the PartNumber field's value.
7531 func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
7532 s.PartNumber = &v
7533 return s
7534 }
7535
7536 type Condition struct {
7537 _ struct{} `type:"structure"`
7538
7539 // The HTTP error code when the redirect is applied. In the event of an error,
7540 // if the error code equals this value, then the specified redirect is applied.
7541 // Required when parent element Condition is specified and sibling KeyPrefixEquals
7542 // is not specified. If both are specified, then both must be true for the redirect
7543 // to be applied.
7544 HttpErrorCodeReturnedEquals *string `type:"string"`
7545
7546 // The object key name prefix when the redirect is applied. For example, to
7547 // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html.
7548 // To redirect request for all pages with the prefix docs/, the key prefix will
7549 // be /docs, which identifies all objects in the docs/ folder. Required when
7550 // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals
7551 // is not specified. If both conditions are specified, both must be true for
7552 // the redirect to be applied.
7553 KeyPrefixEquals *string `type:"string"`
7554 }
7555
7556 // String returns the string representation
7557 func (s Condition) String() string {
7558 return awsutil.Prettify(s)
7559 }
7560
7561 // GoString returns the string representation
7562 func (s Condition) GoString() string {
7563 return s.String()
7564 }
7565
7566 // SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
7567 func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition {
7568 s.HttpErrorCodeReturnedEquals = &v
7569 return s
7570 }
7571
7572 // SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
7573 func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
7574 s.KeyPrefixEquals = &v
7575 return s
7576 }
7577
7578 type ContinuationEvent struct {
7579 _ struct{} `locationName:"ContinuationEvent" type:"structure"`
7580 }
7581
7582 // String returns the string representation
7583 func (s ContinuationEvent) String() string {
7584 return awsutil.Prettify(s)
7585 }
7586
7587 // GoString returns the string representation
7588 func (s ContinuationEvent) GoString() string {
7589 return s.String()
7590 }
7591
7592 // The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
7593 func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
7594
7595 // UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value.
7596 // This method is only used internally within the SDK's EventStream handling.
7597 func (s *ContinuationEvent) UnmarshalEvent(
7598 payloadUnmarshaler protocol.PayloadUnmarshaler,
7599 msg eventstream.Message,
7600 ) error {
7601 return nil
7602 }
7603
7604 type CopyObjectInput struct {
7605 _ struct{} `type:"structure"`
7606
7607 // The canned ACL to apply to the object.
7608 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
7609
7610 // Bucket is a required field
7611 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7612
7613 // Specifies caching behavior along the request/reply chain.
7614 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
7615
7616 // Specifies presentational information for the object.
7617 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
7618
7619 // Specifies what content encodings have been applied to the object and thus
7620 // what decoding mechanisms must be applied to obtain the media-type referenced
7621 // by the Content-Type header field.
7622 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
7623
7624 // The language the content is in.
7625 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
7626
7627 // A standard MIME type describing the format of the object data.
7628 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
7629
7630 // The name of the source bucket and key name of the source object, separated
7631 // by a slash (/). Must be URL-encoded.
7632 //
7633 // CopySource is a required field
7634 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
7635
7636 // Copies the object if its entity tag (ETag) matches the specified tag.
7637 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
7638
7639 // Copies the object if it has been modified since the specified time.
7640 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
7641
7642 // Copies the object if its entity tag (ETag) is different than the specified
7643 // ETag.
7644 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
7645
7646 // Copies the object if it hasn't been modified since the specified time.
7647 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
7648
7649 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
7650 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
7651
7652 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
7653 // the source object. The encryption key provided in this header must be one
7654 // that was used when the source object was created.
7655 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"`
7656
7657 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
7658 // Amazon S3 uses this header for a message integrity check to ensure the encryption
7659 // key was transmitted without error.
7660 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
7661
7662 // The date and time at which the object is no longer cacheable.
7663 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
7664
7665 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
7666 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
7667
7668 // Allows grantee to read the object data and its metadata.
7669 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
7670
7671 // Allows grantee to read the object ACL.
7672 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
7673
7674 // Allows grantee to write the ACL for the applicable object.
7675 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
7676
7677 // Key is a required field
7678 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
7679
7680 // A map of metadata to store with the object in S3.
7681 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
7682
7683 // Specifies whether the metadata is copied from the source object or replaced
7684 // with metadata provided in the request.
7685 MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"`
7686
7687 // Confirms that the requester knows that she or he will be charged for the
7688 // request. Bucket owners need not specify this parameter in their requests.
7689 // Documentation on downloading objects from requester pays buckets can be found
7690 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7691 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
7692
7693 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
7694 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
7695
7696 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
7697 // data. This value is used to store the object and then it is discarded; Amazon
7698 // does not store the encryption key. The key must be appropriate for use with
7699 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
7700 // header.
7701 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
7702
7703 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
7704 // Amazon S3 uses this header for a message integrity check to ensure the encryption
7705 // key was transmitted without error.
7706 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
7707
7708 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
7709 // requests for an object protected by AWS KMS will fail if not made via SSL
7710 // or using SigV4. Documentation on configuring any of the officially supported
7711 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
7712 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
7713
7714 // The Server-side encryption algorithm used when storing this object in S3
7715 // (e.g., AES256, aws:kms).
7716 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
7717
7718 // The type of storage to use for the object. Defaults to 'STANDARD'.
7719 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
7720
7721 // The tag-set for the object destination object this value must be used in
7722 // conjunction with the TaggingDirective. The tag-set must be encoded as URL
7723 // Query parameters
7724 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
7725
7726 // Specifies whether the object tag-set are copied from the source object or
7727 // replaced with tag-set provided in the request.
7728 TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"`
7729
7730 // If the bucket is configured as a website, redirects requests for this object
7731 // to another object in the same bucket or to an external URL. Amazon S3 stores
7732 // the value of this header in the object metadata.
7733 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
7734 }
7735
7736 // String returns the string representation
7737 func (s CopyObjectInput) String() string {
7738 return awsutil.Prettify(s)
7739 }
7740
7741 // GoString returns the string representation
7742 func (s CopyObjectInput) GoString() string {
7743 return s.String()
7744 }
7745
7746 // Validate inspects the fields of the type to determine if they are valid.
7747 func (s *CopyObjectInput) Validate() error {
7748 invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"}
7749 if s.Bucket == nil {
7750 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7751 }
7752 if s.CopySource == nil {
7753 invalidParams.Add(request.NewErrParamRequired("CopySource"))
7754 }
7755 if s.Key == nil {
7756 invalidParams.Add(request.NewErrParamRequired("Key"))
7757 }
7758 if s.Key != nil && len(*s.Key) < 1 {
7759 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7760 }
7761
7762 if invalidParams.Len() > 0 {
7763 return invalidParams
7764 }
7765 return nil
7766 }
7767
7768 // SetACL sets the ACL field's value.
7769 func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput {
7770 s.ACL = &v
7771 return s
7772 }
7773
7774 // SetBucket sets the Bucket field's value.
7775 func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
7776 s.Bucket = &v
7777 return s
7778 }
7779
7780 func (s *CopyObjectInput) getBucket() (v string) {
7781 if s.Bucket == nil {
7782 return v
7783 }
7784 return *s.Bucket
7785 }
7786
7787 // SetCacheControl sets the CacheControl field's value.
7788 func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
7789 s.CacheControl = &v
7790 return s
7791 }
7792
7793 // SetContentDisposition sets the ContentDisposition field's value.
7794 func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
7795 s.ContentDisposition = &v
7796 return s
7797 }
7798
7799 // SetContentEncoding sets the ContentEncoding field's value.
7800 func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput {
7801 s.ContentEncoding = &v
7802 return s
7803 }
7804
7805 // SetContentLanguage sets the ContentLanguage field's value.
7806 func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput {
7807 s.ContentLanguage = &v
7808 return s
7809 }
7810
7811 // SetContentType sets the ContentType field's value.
7812 func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput {
7813 s.ContentType = &v
7814 return s
7815 }
7816
7817 // SetCopySource sets the CopySource field's value.
7818 func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput {
7819 s.CopySource = &v
7820 return s
7821 }
7822
7823 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
7824 func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput {
7825 s.CopySourceIfMatch = &v
7826 return s
7827 }
7828
7829 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
7830 func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput {
7831 s.CopySourceIfModifiedSince = &v
7832 return s
7833 }
7834
7835 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
7836 func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput {
7837 s.CopySourceIfNoneMatch = &v
7838 return s
7839 }
7840
7841 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
7842 func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput {
7843 s.CopySourceIfUnmodifiedSince = &v
7844 return s
7845 }
7846
7847 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
7848 func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput {
7849 s.CopySourceSSECustomerAlgorithm = &v
7850 return s
7851 }
7852
7853 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
7854 func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput {
7855 s.CopySourceSSECustomerKey = &v
7856 return s
7857 }
7858
7859 func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
7860 if s.CopySourceSSECustomerKey == nil {
7861 return v
7862 }
7863 return *s.CopySourceSSECustomerKey
7864 }
7865
7866 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
7867 func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
7868 s.CopySourceSSECustomerKeyMD5 = &v
7869 return s
7870 }
7871
7872 // SetExpires sets the Expires field's value.
7873 func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput {
7874 s.Expires = &v
7875 return s
7876 }
7877
7878 // SetGrantFullControl sets the GrantFullControl field's value.
7879 func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput {
7880 s.GrantFullControl = &v
7881 return s
7882 }
7883
7884 // SetGrantRead sets the GrantRead field's value.
7885 func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput {
7886 s.GrantRead = &v
7887 return s
7888 }
7889
7890 // SetGrantReadACP sets the GrantReadACP field's value.
7891 func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput {
7892 s.GrantReadACP = &v
7893 return s
7894 }
7895
7896 // SetGrantWriteACP sets the GrantWriteACP field's value.
7897 func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput {
7898 s.GrantWriteACP = &v
7899 return s
7900 }
7901
7902 // SetKey sets the Key field's value.
7903 func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput {
7904 s.Key = &v
7905 return s
7906 }
7907
7908 // SetMetadata sets the Metadata field's value.
7909 func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput {
7910 s.Metadata = v
7911 return s
7912 }
7913
7914 // SetMetadataDirective sets the MetadataDirective field's value.
7915 func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput {
7916 s.MetadataDirective = &v
7917 return s
7918 }
7919
7920 // SetRequestPayer sets the RequestPayer field's value.
7921 func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput {
7922 s.RequestPayer = &v
7923 return s
7924 }
7925
7926 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
7927 func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput {
7928 s.SSECustomerAlgorithm = &v
7929 return s
7930 }
7931
7932 // SetSSECustomerKey sets the SSECustomerKey field's value.
7933 func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
7934 s.SSECustomerKey = &v
7935 return s
7936 }
7937
7938 func (s *CopyObjectInput) getSSECustomerKey() (v string) {
7939 if s.SSECustomerKey == nil {
7940 return v
7941 }
7942 return *s.SSECustomerKey
7943 }
7944
7945 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
7946 func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
7947 s.SSECustomerKeyMD5 = &v
7948 return s
7949 }
7950
7951 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
7952 func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
7953 s.SSEKMSKeyId = &v
7954 return s
7955 }
7956
7957 // SetServerSideEncryption sets the ServerSideEncryption field's value.
7958 func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput {
7959 s.ServerSideEncryption = &v
7960 return s
7961 }
7962
7963 // SetStorageClass sets the StorageClass field's value.
7964 func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput {
7965 s.StorageClass = &v
7966 return s
7967 }
7968
7969 // SetTagging sets the Tagging field's value.
7970 func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput {
7971 s.Tagging = &v
7972 return s
7973 }
7974
7975 // SetTaggingDirective sets the TaggingDirective field's value.
7976 func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput {
7977 s.TaggingDirective = &v
7978 return s
7979 }
7980
7981 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
7982 func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput {
7983 s.WebsiteRedirectLocation = &v
7984 return s
7985 }
7986
7987 type CopyObjectOutput struct {
7988 _ struct{} `type:"structure" payload:"CopyObjectResult"`
7989
7990 CopyObjectResult *CopyObjectResult `type:"structure"`
7991
7992 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
7993
7994 // If the object expiration is configured, the response includes this header.
7995 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
7996
7997 // If present, indicates that the requester was successfully charged for the
7998 // request.
7999 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8000
8001 // If server-side encryption with a customer-provided encryption key was requested,
8002 // the response will include this header confirming the encryption algorithm
8003 // used.
8004 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8005
8006 // If server-side encryption with a customer-provided encryption key was requested,
8007 // the response will include this header to provide round trip message integrity
8008 // verification of the customer-provided encryption key.
8009 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8010
8011 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8012 // encryption key that was used for the object.
8013 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
8014
8015 // The Server-side encryption algorithm used when storing this object in S3
8016 // (e.g., AES256, aws:kms).
8017 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8018
8019 // Version ID of the newly created copy.
8020 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8021 }
8022
8023 // String returns the string representation
8024 func (s CopyObjectOutput) String() string {
8025 return awsutil.Prettify(s)
8026 }
8027
8028 // GoString returns the string representation
8029 func (s CopyObjectOutput) GoString() string {
8030 return s.String()
8031 }
8032
8033 // SetCopyObjectResult sets the CopyObjectResult field's value.
8034 func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
8035 s.CopyObjectResult = v
8036 return s
8037 }
8038
8039 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
8040 func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput {
8041 s.CopySourceVersionId = &v
8042 return s
8043 }
8044
8045 // SetExpiration sets the Expiration field's value.
8046 func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput {
8047 s.Expiration = &v
8048 return s
8049 }
8050
8051 // SetRequestCharged sets the RequestCharged field's value.
8052 func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput {
8053 s.RequestCharged = &v
8054 return s
8055 }
8056
8057 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8058 func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput {
8059 s.SSECustomerAlgorithm = &v
8060 return s
8061 }
8062
8063 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8064 func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
8065 s.SSECustomerKeyMD5 = &v
8066 return s
8067 }
8068
8069 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8070 func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
8071 s.SSEKMSKeyId = &v
8072 return s
8073 }
8074
8075 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8076 func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput {
8077 s.ServerSideEncryption = &v
8078 return s
8079 }
8080
8081 // SetVersionId sets the VersionId field's value.
8082 func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
8083 s.VersionId = &v
8084 return s
8085 }
8086
8087 type CopyObjectResult struct {
8088 _ struct{} `type:"structure"`
8089
8090 ETag *string `type:"string"`
8091
8092 LastModified *time.Time `type:"timestamp"`
8093 }
8094
8095 // String returns the string representation
8096 func (s CopyObjectResult) String() string {
8097 return awsutil.Prettify(s)
8098 }
8099
8100 // GoString returns the string representation
8101 func (s CopyObjectResult) GoString() string {
8102 return s.String()
8103 }
8104
8105 // SetETag sets the ETag field's value.
8106 func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
8107 s.ETag = &v
8108 return s
8109 }
8110
8111 // SetLastModified sets the LastModified field's value.
8112 func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
8113 s.LastModified = &v
8114 return s
8115 }
8116
8117 type CopyPartResult struct {
8118 _ struct{} `type:"structure"`
8119
8120 // Entity tag of the object.
8121 ETag *string `type:"string"`
8122
8123 // Date and time at which the object was uploaded.
8124 LastModified *time.Time `type:"timestamp"`
8125 }
8126
8127 // String returns the string representation
8128 func (s CopyPartResult) String() string {
8129 return awsutil.Prettify(s)
8130 }
8131
8132 // GoString returns the string representation
8133 func (s CopyPartResult) GoString() string {
8134 return s.String()
8135 }
8136
8137 // SetETag sets the ETag field's value.
8138 func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
8139 s.ETag = &v
8140 return s
8141 }
8142
8143 // SetLastModified sets the LastModified field's value.
8144 func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
8145 s.LastModified = &v
8146 return s
8147 }
8148
8149 type CreateBucketConfiguration struct {
8150 _ struct{} `type:"structure"`
8151
8152 // Specifies the region where the bucket will be created. If you don't specify
8153 // a region, the bucket will be created in US Standard.
8154 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
8155 }
8156
8157 // String returns the string representation
8158 func (s CreateBucketConfiguration) String() string {
8159 return awsutil.Prettify(s)
8160 }
8161
8162 // GoString returns the string representation
8163 func (s CreateBucketConfiguration) GoString() string {
8164 return s.String()
8165 }
8166
8167 // SetLocationConstraint sets the LocationConstraint field's value.
8168 func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration {
8169 s.LocationConstraint = &v
8170 return s
8171 }
8172
8173 type CreateBucketInput struct {
8174 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
8175
8176 // The canned ACL to apply to the bucket.
8177 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
8178
8179 // Bucket is a required field
8180 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8181
8182 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
8183
8184 // Allows grantee the read, write, read ACP, and write ACP permissions on the
8185 // bucket.
8186 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8187
8188 // Allows grantee to list the objects in the bucket.
8189 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8190
8191 // Allows grantee to read the bucket ACL.
8192 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8193
8194 // Allows grantee to create, overwrite, and delete any object in the bucket.
8195 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
8196
8197 // Allows grantee to write the ACL for the applicable bucket.
8198 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8199 }
8200
8201 // String returns the string representation
8202 func (s CreateBucketInput) String() string {
8203 return awsutil.Prettify(s)
8204 }
8205
8206 // GoString returns the string representation
8207 func (s CreateBucketInput) GoString() string {
8208 return s.String()
8209 }
8210
8211 // Validate inspects the fields of the type to determine if they are valid.
8212 func (s *CreateBucketInput) Validate() error {
8213 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
8214 if s.Bucket == nil {
8215 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8216 }
8217
8218 if invalidParams.Len() > 0 {
8219 return invalidParams
8220 }
8221 return nil
8222 }
8223
8224 // SetACL sets the ACL field's value.
8225 func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput {
8226 s.ACL = &v
8227 return s
8228 }
8229
8230 // SetBucket sets the Bucket field's value.
8231 func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
8232 s.Bucket = &v
8233 return s
8234 }
8235
8236 func (s *CreateBucketInput) getBucket() (v string) {
8237 if s.Bucket == nil {
8238 return v
8239 }
8240 return *s.Bucket
8241 }
8242
8243 // SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
8244 func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
8245 s.CreateBucketConfiguration = v
8246 return s
8247 }
8248
8249 // SetGrantFullControl sets the GrantFullControl field's value.
8250 func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput {
8251 s.GrantFullControl = &v
8252 return s
8253 }
8254
8255 // SetGrantRead sets the GrantRead field's value.
8256 func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput {
8257 s.GrantRead = &v
8258 return s
8259 }
8260
8261 // SetGrantReadACP sets the GrantReadACP field's value.
8262 func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput {
8263 s.GrantReadACP = &v
8264 return s
8265 }
8266
8267 // SetGrantWrite sets the GrantWrite field's value.
8268 func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput {
8269 s.GrantWrite = &v
8270 return s
8271 }
8272
8273 // SetGrantWriteACP sets the GrantWriteACP field's value.
8274 func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
8275 s.GrantWriteACP = &v
8276 return s
8277 }
8278
8279 type CreateBucketOutput struct {
8280 _ struct{} `type:"structure"`
8281
8282 Location *string `location:"header" locationName:"Location" type:"string"`
8283 }
8284
8285 // String returns the string representation
8286 func (s CreateBucketOutput) String() string {
8287 return awsutil.Prettify(s)
8288 }
8289
8290 // GoString returns the string representation
8291 func (s CreateBucketOutput) GoString() string {
8292 return s.String()
8293 }
8294
8295 // SetLocation sets the Location field's value.
8296 func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
8297 s.Location = &v
8298 return s
8299 }
8300
8301 type CreateMultipartUploadInput struct {
8302 _ struct{} `type:"structure"`
8303
8304 // The canned ACL to apply to the object.
8305 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
8306
8307 // Bucket is a required field
8308 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8309
8310 // Specifies caching behavior along the request/reply chain.
8311 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
8312
8313 // Specifies presentational information for the object.
8314 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
8315
8316 // Specifies what content encodings have been applied to the object and thus
8317 // what decoding mechanisms must be applied to obtain the media-type referenced
8318 // by the Content-Type header field.
8319 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
8320
8321 // The language the content is in.
8322 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
8323
8324 // A standard MIME type describing the format of the object data.
8325 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
8326
8327 // The date and time at which the object is no longer cacheable.
8328 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
8329
8330 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
8331 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8332
8333 // Allows grantee to read the object data and its metadata.
8334 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8335
8336 // Allows grantee to read the object ACL.
8337 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8338
8339 // Allows grantee to write the ACL for the applicable object.
8340 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8341
8342 // Key is a required field
8343 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8344
8345 // A map of metadata to store with the object in S3.
8346 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
8347
8348 // Confirms that the requester knows that she or he will be charged for the
8349 // request. Bucket owners need not specify this parameter in their requests.
8350 // Documentation on downloading objects from requester pays buckets can be found
8351 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8352 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8353
8354 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
8355 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8356
8357 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
8358 // data. This value is used to store the object and then it is discarded; Amazon
8359 // does not store the encryption key. The key must be appropriate for use with
8360 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
8361 // header.
8362 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
8363
8364 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8365 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8366 // key was transmitted without error.
8367 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8368
8369 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
8370 // requests for an object protected by AWS KMS will fail if not made via SSL
8371 // or using SigV4. Documentation on configuring any of the officially supported
8372 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
8373 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
8374
8375 // The Server-side encryption algorithm used when storing this object in S3
8376 // (e.g., AES256, aws:kms).
8377 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8378
8379 // The type of storage to use for the object. Defaults to 'STANDARD'.
8380 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
8381
8382 // The tag-set for the object. The tag-set must be encoded as URL Query parameters
8383 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
8384
8385 // If the bucket is configured as a website, redirects requests for this object
8386 // to another object in the same bucket or to an external URL. Amazon S3 stores
8387 // the value of this header in the object metadata.
8388 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
8389 }
8390
8391 // String returns the string representation
8392 func (s CreateMultipartUploadInput) String() string {
8393 return awsutil.Prettify(s)
8394 }
8395
8396 // GoString returns the string representation
8397 func (s CreateMultipartUploadInput) GoString() string {
8398 return s.String()
8399 }
8400
8401 // Validate inspects the fields of the type to determine if they are valid.
8402 func (s *CreateMultipartUploadInput) Validate() error {
8403 invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"}
8404 if s.Bucket == nil {
8405 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8406 }
8407 if s.Key == nil {
8408 invalidParams.Add(request.NewErrParamRequired("Key"))
8409 }
8410 if s.Key != nil && len(*s.Key) < 1 {
8411 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8412 }
8413
8414 if invalidParams.Len() > 0 {
8415 return invalidParams
8416 }
8417 return nil
8418 }
8419
8420 // SetACL sets the ACL field's value.
8421 func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput {
8422 s.ACL = &v
8423 return s
8424 }
8425
8426 // SetBucket sets the Bucket field's value.
8427 func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput {
8428 s.Bucket = &v
8429 return s
8430 }
8431
8432 func (s *CreateMultipartUploadInput) getBucket() (v string) {
8433 if s.Bucket == nil {
8434 return v
8435 }
8436 return *s.Bucket
8437 }
8438
8439 // SetCacheControl sets the CacheControl field's value.
8440 func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
8441 s.CacheControl = &v
8442 return s
8443 }
8444
8445 // SetContentDisposition sets the ContentDisposition field's value.
8446 func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
8447 s.ContentDisposition = &v
8448 return s
8449 }
8450
8451 // SetContentEncoding sets the ContentEncoding field's value.
8452 func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput {
8453 s.ContentEncoding = &v
8454 return s
8455 }
8456
8457 // SetContentLanguage sets the ContentLanguage field's value.
8458 func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput {
8459 s.ContentLanguage = &v
8460 return s
8461 }
8462
8463 // SetContentType sets the ContentType field's value.
8464 func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput {
8465 s.ContentType = &v
8466 return s
8467 }
8468
8469 // SetExpires sets the Expires field's value.
8470 func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput {
8471 s.Expires = &v
8472 return s
8473 }
8474
8475 // SetGrantFullControl sets the GrantFullControl field's value.
8476 func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput {
8477 s.GrantFullControl = &v
8478 return s
8479 }
8480
8481 // SetGrantRead sets the GrantRead field's value.
8482 func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput {
8483 s.GrantRead = &v
8484 return s
8485 }
8486
8487 // SetGrantReadACP sets the GrantReadACP field's value.
8488 func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput {
8489 s.GrantReadACP = &v
8490 return s
8491 }
8492
8493 // SetGrantWriteACP sets the GrantWriteACP field's value.
8494 func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput {
8495 s.GrantWriteACP = &v
8496 return s
8497 }
8498
8499 // SetKey sets the Key field's value.
8500 func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput {
8501 s.Key = &v
8502 return s
8503 }
8504
8505 // SetMetadata sets the Metadata field's value.
8506 func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput {
8507 s.Metadata = v
8508 return s
8509 }
8510
8511 // SetRequestPayer sets the RequestPayer field's value.
8512 func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput {
8513 s.RequestPayer = &v
8514 return s
8515 }
8516
8517 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8518 func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput {
8519 s.SSECustomerAlgorithm = &v
8520 return s
8521 }
8522
8523 // SetSSECustomerKey sets the SSECustomerKey field's value.
8524 func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput {
8525 s.SSECustomerKey = &v
8526 return s
8527 }
8528
8529 func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
8530 if s.SSECustomerKey == nil {
8531 return v
8532 }
8533 return *s.SSECustomerKey
8534 }
8535
8536 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8537 func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
8538 s.SSECustomerKeyMD5 = &v
8539 return s
8540 }
8541
8542 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8543 func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
8544 s.SSEKMSKeyId = &v
8545 return s
8546 }
8547
8548 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8549 func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput {
8550 s.ServerSideEncryption = &v
8551 return s
8552 }
8553
8554 // SetStorageClass sets the StorageClass field's value.
8555 func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput {
8556 s.StorageClass = &v
8557 return s
8558 }
8559
8560 // SetTagging sets the Tagging field's value.
8561 func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
8562 s.Tagging = &v
8563 return s
8564 }
8565
8566 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
8567 func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
8568 s.WebsiteRedirectLocation = &v
8569 return s
8570 }
8571
8572 type CreateMultipartUploadOutput struct {
8573 _ struct{} `type:"structure"`
8574
8575 // Date when multipart upload will become eligible for abort operation by lifecycle.
8576 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
8577
8578 // Id of the lifecycle rule that makes a multipart upload eligible for abort
8579 // operation.
8580 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
8581
8582 // Name of the bucket to which the multipart upload was initiated.
8583 Bucket *string `locationName:"Bucket" type:"string"`
8584
8585 // Object key for which the multipart upload was initiated.
8586 Key *string `min:"1" type:"string"`
8587
8588 // If present, indicates that the requester was successfully charged for the
8589 // request.
8590 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8591
8592 // If server-side encryption with a customer-provided encryption key was requested,
8593 // the response will include this header confirming the encryption algorithm
8594 // used.
8595 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8596
8597 // If server-side encryption with a customer-provided encryption key was requested,
8598 // the response will include this header to provide round trip message integrity
8599 // verification of the customer-provided encryption key.
8600 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8601
8602 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8603 // encryption key that was used for the object.
8604 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
8605
8606 // The Server-side encryption algorithm used when storing this object in S3
8607 // (e.g., AES256, aws:kms).
8608 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8609
8610 // ID for the initiated multipart upload.
8611 UploadId *string `type:"string"`
8612 }
8613
8614 // String returns the string representation
8615 func (s CreateMultipartUploadOutput) String() string {
8616 return awsutil.Prettify(s)
8617 }
8618
8619 // GoString returns the string representation
8620 func (s CreateMultipartUploadOutput) GoString() string {
8621 return s.String()
8622 }
8623
8624 // SetAbortDate sets the AbortDate field's value.
8625 func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput {
8626 s.AbortDate = &v
8627 return s
8628 }
8629
8630 // SetAbortRuleId sets the AbortRuleId field's value.
8631 func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput {
8632 s.AbortRuleId = &v
8633 return s
8634 }
8635
8636 // SetBucket sets the Bucket field's value.
8637 func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput {
8638 s.Bucket = &v
8639 return s
8640 }
8641
8642 func (s *CreateMultipartUploadOutput) getBucket() (v string) {
8643 if s.Bucket == nil {
8644 return v
8645 }
8646 return *s.Bucket
8647 }
8648
8649 // SetKey sets the Key field's value.
8650 func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
8651 s.Key = &v
8652 return s
8653 }
8654
8655 // SetRequestCharged sets the RequestCharged field's value.
8656 func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput {
8657 s.RequestCharged = &v
8658 return s
8659 }
8660
8661 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8662 func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput {
8663 s.SSECustomerAlgorithm = &v
8664 return s
8665 }
8666
8667 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8668 func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput {
8669 s.SSECustomerKeyMD5 = &v
8670 return s
8671 }
8672
8673 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8674 func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
8675 s.SSEKMSKeyId = &v
8676 return s
8677 }
8678
8679 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8680 func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput {
8681 s.ServerSideEncryption = &v
8682 return s
8683 }
8684
8685 // SetUploadId sets the UploadId field's value.
8686 func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput {
8687 s.UploadId = &v
8688 return s
8689 }
8690
8691 type Delete struct {
8692 _ struct{} `type:"structure"`
8693
8694 // Objects is a required field
8695 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`
8696
8697 // Element to enable quiet mode for the request. When you add this element,
8698 // you must set its value to true.
8699 Quiet *bool `type:"boolean"`
8700 }
8701
8702 // String returns the string representation
8703 func (s Delete) String() string {
8704 return awsutil.Prettify(s)
8705 }
8706
8707 // GoString returns the string representation
8708 func (s Delete) GoString() string {
8709 return s.String()
8710 }
8711
8712 // Validate inspects the fields of the type to determine if they are valid.
8713 func (s *Delete) Validate() error {
8714 invalidParams := request.ErrInvalidParams{Context: "Delete"}
8715 if s.Objects == nil {
8716 invalidParams.Add(request.NewErrParamRequired("Objects"))
8717 }
8718 if s.Objects != nil {
8719 for i, v := range s.Objects {
8720 if v == nil {
8721 continue
8722 }
8723 if err := v.Validate(); err != nil {
8724 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams))
8725 }
8726 }
8727 }
8728
8729 if invalidParams.Len() > 0 {
8730 return invalidParams
8731 }
8732 return nil
8733 }
8734
8735 // SetObjects sets the Objects field's value.
8736 func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete {
8737 s.Objects = v
8738 return s
8739 }
8740
8741 // SetQuiet sets the Quiet field's value.
8742 func (s *Delete) SetQuiet(v bool) *Delete {
8743 s.Quiet = &v
8744 return s
8745 }
8746
8747 type DeleteBucketAnalyticsConfigurationInput struct {
8748 _ struct{} `type:"structure"`
8749
8750 // The name of the bucket from which an analytics configuration is deleted.
8751 //
8752 // Bucket is a required field
8753 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8754
8755 // The identifier used to represent an analytics configuration.
8756 //
8757 // Id is a required field
8758 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
8759 }
8760
8761 // String returns the string representation
8762 func (s DeleteBucketAnalyticsConfigurationInput) String() string {
8763 return awsutil.Prettify(s)
8764 }
8765
8766 // GoString returns the string representation
8767 func (s DeleteBucketAnalyticsConfigurationInput) GoString() string {
8768 return s.String()
8769 }
8770
8771 // Validate inspects the fields of the type to determine if they are valid.
8772 func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error {
8773 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"}
8774 if s.Bucket == nil {
8775 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8776 }
8777 if s.Id == nil {
8778 invalidParams.Add(request.NewErrParamRequired("Id"))
8779 }
8780
8781 if invalidParams.Len() > 0 {
8782 return invalidParams
8783 }
8784 return nil
8785 }
8786
8787 // SetBucket sets the Bucket field's value.
8788 func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput {
8789 s.Bucket = &v
8790 return s
8791 }
8792
8793 func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
8794 if s.Bucket == nil {
8795 return v
8796 }
8797 return *s.Bucket
8798 }
8799
8800 // SetId sets the Id field's value.
8801 func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
8802 s.Id = &v
8803 return s
8804 }
8805
8806 type DeleteBucketAnalyticsConfigurationOutput struct {
8807 _ struct{} `type:"structure"`
8808 }
8809
8810 // String returns the string representation
8811 func (s DeleteBucketAnalyticsConfigurationOutput) String() string {
8812 return awsutil.Prettify(s)
8813 }
8814
8815 // GoString returns the string representation
8816 func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
8817 return s.String()
8818 }
8819
8820 type DeleteBucketCorsInput struct {
8821 _ struct{} `type:"structure"`
8822
8823 // Bucket is a required field
8824 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8825 }
8826
8827 // String returns the string representation
8828 func (s DeleteBucketCorsInput) String() string {
8829 return awsutil.Prettify(s)
8830 }
8831
8832 // GoString returns the string representation
8833 func (s DeleteBucketCorsInput) GoString() string {
8834 return s.String()
8835 }
8836
8837 // Validate inspects the fields of the type to determine if they are valid.
8838 func (s *DeleteBucketCorsInput) Validate() error {
8839 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"}
8840 if s.Bucket == nil {
8841 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8842 }
8843
8844 if invalidParams.Len() > 0 {
8845 return invalidParams
8846 }
8847 return nil
8848 }
8849
8850 // SetBucket sets the Bucket field's value.
8851 func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
8852 s.Bucket = &v
8853 return s
8854 }
8855
8856 func (s *DeleteBucketCorsInput) getBucket() (v string) {
8857 if s.Bucket == nil {
8858 return v
8859 }
8860 return *s.Bucket
8861 }
8862
8863 type DeleteBucketCorsOutput struct {
8864 _ struct{} `type:"structure"`
8865 }
8866
8867 // String returns the string representation
8868 func (s DeleteBucketCorsOutput) String() string {
8869 return awsutil.Prettify(s)
8870 }
8871
8872 // GoString returns the string representation
8873 func (s DeleteBucketCorsOutput) GoString() string {
8874 return s.String()
8875 }
8876
8877 type DeleteBucketEncryptionInput struct {
8878 _ struct{} `type:"structure"`
8879
8880 // The name of the bucket containing the server-side encryption configuration
8881 // to delete.
8882 //
8883 // Bucket is a required field
8884 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8885 }
8886
8887 // String returns the string representation
8888 func (s DeleteBucketEncryptionInput) String() string {
8889 return awsutil.Prettify(s)
8890 }
8891
8892 // GoString returns the string representation
8893 func (s DeleteBucketEncryptionInput) GoString() string {
8894 return s.String()
8895 }
8896
8897 // Validate inspects the fields of the type to determine if they are valid.
8898 func (s *DeleteBucketEncryptionInput) Validate() error {
8899 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"}
8900 if s.Bucket == nil {
8901 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8902 }
8903
8904 if invalidParams.Len() > 0 {
8905 return invalidParams
8906 }
8907 return nil
8908 }
8909
8910 // SetBucket sets the Bucket field's value.
8911 func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
8912 s.Bucket = &v
8913 return s
8914 }
8915
8916 func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
8917 if s.Bucket == nil {
8918 return v
8919 }
8920 return *s.Bucket
8921 }
8922
8923 type DeleteBucketEncryptionOutput struct {
8924 _ struct{} `type:"structure"`
8925 }
8926
8927 // String returns the string representation
8928 func (s DeleteBucketEncryptionOutput) String() string {
8929 return awsutil.Prettify(s)
8930 }
8931
8932 // GoString returns the string representation
8933 func (s DeleteBucketEncryptionOutput) GoString() string {
8934 return s.String()
8935 }
8936
8937 type DeleteBucketInput struct {
8938 _ struct{} `type:"structure"`
8939
8940 // Bucket is a required field
8941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8942 }
8943
8944 // String returns the string representation
8945 func (s DeleteBucketInput) String() string {
8946 return awsutil.Prettify(s)
8947 }
8948
8949 // GoString returns the string representation
8950 func (s DeleteBucketInput) GoString() string {
8951 return s.String()
8952 }
8953
8954 // Validate inspects the fields of the type to determine if they are valid.
8955 func (s *DeleteBucketInput) Validate() error {
8956 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
8957 if s.Bucket == nil {
8958 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8959 }
8960
8961 if invalidParams.Len() > 0 {
8962 return invalidParams
8963 }
8964 return nil
8965 }
8966
8967 // SetBucket sets the Bucket field's value.
8968 func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
8969 s.Bucket = &v
8970 return s
8971 }
8972
8973 func (s *DeleteBucketInput) getBucket() (v string) {
8974 if s.Bucket == nil {
8975 return v
8976 }
8977 return *s.Bucket
8978 }
8979
8980 type DeleteBucketInventoryConfigurationInput struct {
8981 _ struct{} `type:"structure"`
8982
8983 // The name of the bucket containing the inventory configuration to delete.
8984 //
8985 // Bucket is a required field
8986 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8987
8988 // The ID used to identify the inventory configuration.
8989 //
8990 // Id is a required field
8991 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
8992 }
8993
8994 // String returns the string representation
8995 func (s DeleteBucketInventoryConfigurationInput) String() string {
8996 return awsutil.Prettify(s)
8997 }
8998
8999 // GoString returns the string representation
9000 func (s DeleteBucketInventoryConfigurationInput) GoString() string {
9001 return s.String()
9002 }
9003
9004 // Validate inspects the fields of the type to determine if they are valid.
9005 func (s *DeleteBucketInventoryConfigurationInput) Validate() error {
9006 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"}
9007 if s.Bucket == nil {
9008 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9009 }
9010 if s.Id == nil {
9011 invalidParams.Add(request.NewErrParamRequired("Id"))
9012 }
9013
9014 if invalidParams.Len() > 0 {
9015 return invalidParams
9016 }
9017 return nil
9018 }
9019
9020 // SetBucket sets the Bucket field's value.
9021 func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput {
9022 s.Bucket = &v
9023 return s
9024 }
9025
9026 func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
9027 if s.Bucket == nil {
9028 return v
9029 }
9030 return *s.Bucket
9031 }
9032
9033 // SetId sets the Id field's value.
9034 func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
9035 s.Id = &v
9036 return s
9037 }
9038
9039 type DeleteBucketInventoryConfigurationOutput struct {
9040 _ struct{} `type:"structure"`
9041 }
9042
9043 // String returns the string representation
9044 func (s DeleteBucketInventoryConfigurationOutput) String() string {
9045 return awsutil.Prettify(s)
9046 }
9047
9048 // GoString returns the string representation
9049 func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
9050 return s.String()
9051 }
9052
9053 type DeleteBucketLifecycleInput struct {
9054 _ struct{} `type:"structure"`
9055
9056 // Bucket is a required field
9057 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9058 }
9059
9060 // String returns the string representation
9061 func (s DeleteBucketLifecycleInput) String() string {
9062 return awsutil.Prettify(s)
9063 }
9064
9065 // GoString returns the string representation
9066 func (s DeleteBucketLifecycleInput) GoString() string {
9067 return s.String()
9068 }
9069
9070 // Validate inspects the fields of the type to determine if they are valid.
9071 func (s *DeleteBucketLifecycleInput) Validate() error {
9072 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"}
9073 if s.Bucket == nil {
9074 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9075 }
9076
9077 if invalidParams.Len() > 0 {
9078 return invalidParams
9079 }
9080 return nil
9081 }
9082
9083 // SetBucket sets the Bucket field's value.
9084 func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput {
9085 s.Bucket = &v
9086 return s
9087 }
9088
9089 func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
9090 if s.Bucket == nil {
9091 return v
9092 }
9093 return *s.Bucket
9094 }
9095
9096 type DeleteBucketLifecycleOutput struct {
9097 _ struct{} `type:"structure"`
9098 }
9099
9100 // String returns the string representation
9101 func (s DeleteBucketLifecycleOutput) String() string {
9102 return awsutil.Prettify(s)
9103 }
9104
9105 // GoString returns the string representation
9106 func (s DeleteBucketLifecycleOutput) GoString() string {
9107 return s.String()
9108 }
9109
9110 type DeleteBucketMetricsConfigurationInput struct {
9111 _ struct{} `type:"structure"`
9112
9113 // The name of the bucket containing the metrics configuration to delete.
9114 //
9115 // Bucket is a required field
9116 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9117
9118 // The ID used to identify the metrics configuration.
9119 //
9120 // Id is a required field
9121 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9122 }
9123
9124 // String returns the string representation
9125 func (s DeleteBucketMetricsConfigurationInput) String() string {
9126 return awsutil.Prettify(s)
9127 }
9128
9129 // GoString returns the string representation
9130 func (s DeleteBucketMetricsConfigurationInput) GoString() string {
9131 return s.String()
9132 }
9133
9134 // Validate inspects the fields of the type to determine if they are valid.
9135 func (s *DeleteBucketMetricsConfigurationInput) Validate() error {
9136 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"}
9137 if s.Bucket == nil {
9138 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9139 }
9140 if s.Id == nil {
9141 invalidParams.Add(request.NewErrParamRequired("Id"))
9142 }
9143
9144 if invalidParams.Len() > 0 {
9145 return invalidParams
9146 }
9147 return nil
9148 }
9149
9150 // SetBucket sets the Bucket field's value.
9151 func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput {
9152 s.Bucket = &v
9153 return s
9154 }
9155
9156 func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
9157 if s.Bucket == nil {
9158 return v
9159 }
9160 return *s.Bucket
9161 }
9162
9163 // SetId sets the Id field's value.
9164 func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
9165 s.Id = &v
9166 return s
9167 }
9168
9169 type DeleteBucketMetricsConfigurationOutput struct {
9170 _ struct{} `type:"structure"`
9171 }
9172
9173 // String returns the string representation
9174 func (s DeleteBucketMetricsConfigurationOutput) String() string {
9175 return awsutil.Prettify(s)
9176 }
9177
9178 // GoString returns the string representation
9179 func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
9180 return s.String()
9181 }
9182
9183 type DeleteBucketOutput struct {
9184 _ struct{} `type:"structure"`
9185 }
9186
9187 // String returns the string representation
9188 func (s DeleteBucketOutput) String() string {
9189 return awsutil.Prettify(s)
9190 }
9191
9192 // GoString returns the string representation
9193 func (s DeleteBucketOutput) GoString() string {
9194 return s.String()
9195 }
9196
9197 type DeleteBucketPolicyInput struct {
9198 _ struct{} `type:"structure"`
9199
9200 // Bucket is a required field
9201 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9202 }
9203
9204 // String returns the string representation
9205 func (s DeleteBucketPolicyInput) String() string {
9206 return awsutil.Prettify(s)
9207 }
9208
9209 // GoString returns the string representation
9210 func (s DeleteBucketPolicyInput) GoString() string {
9211 return s.String()
9212 }
9213
9214 // Validate inspects the fields of the type to determine if they are valid.
9215 func (s *DeleteBucketPolicyInput) Validate() error {
9216 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"}
9217 if s.Bucket == nil {
9218 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9219 }
9220
9221 if invalidParams.Len() > 0 {
9222 return invalidParams
9223 }
9224 return nil
9225 }
9226
9227 // SetBucket sets the Bucket field's value.
9228 func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
9229 s.Bucket = &v
9230 return s
9231 }
9232
9233 func (s *DeleteBucketPolicyInput) getBucket() (v string) {
9234 if s.Bucket == nil {
9235 return v
9236 }
9237 return *s.Bucket
9238 }
9239
9240 type DeleteBucketPolicyOutput struct {
9241 _ struct{} `type:"structure"`
9242 }
9243
9244 // String returns the string representation
9245 func (s DeleteBucketPolicyOutput) String() string {
9246 return awsutil.Prettify(s)
9247 }
9248
9249 // GoString returns the string representation
9250 func (s DeleteBucketPolicyOutput) GoString() string {
9251 return s.String()
9252 }
9253
9254 type DeleteBucketReplicationInput struct {
9255 _ struct{} `type:"structure"`
9256
9257 // Bucket is a required field
9258 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9259 }
9260
9261 // String returns the string representation
9262 func (s DeleteBucketReplicationInput) String() string {
9263 return awsutil.Prettify(s)
9264 }
9265
9266 // GoString returns the string representation
9267 func (s DeleteBucketReplicationInput) GoString() string {
9268 return s.String()
9269 }
9270
9271 // Validate inspects the fields of the type to determine if they are valid.
9272 func (s *DeleteBucketReplicationInput) Validate() error {
9273 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"}
9274 if s.Bucket == nil {
9275 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9276 }
9277
9278 if invalidParams.Len() > 0 {
9279 return invalidParams
9280 }
9281 return nil
9282 }
9283
9284 // SetBucket sets the Bucket field's value.
9285 func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput {
9286 s.Bucket = &v
9287 return s
9288 }
9289
9290 func (s *DeleteBucketReplicationInput) getBucket() (v string) {
9291 if s.Bucket == nil {
9292 return v
9293 }
9294 return *s.Bucket
9295 }
9296
9297 type DeleteBucketReplicationOutput struct {
9298 _ struct{} `type:"structure"`
9299 }
9300
9301 // String returns the string representation
9302 func (s DeleteBucketReplicationOutput) String() string {
9303 return awsutil.Prettify(s)
9304 }
9305
9306 // GoString returns the string representation
9307 func (s DeleteBucketReplicationOutput) GoString() string {
9308 return s.String()
9309 }
9310
9311 type DeleteBucketTaggingInput struct {
9312 _ struct{} `type:"structure"`
9313
9314 // Bucket is a required field
9315 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9316 }
9317
9318 // String returns the string representation
9319 func (s DeleteBucketTaggingInput) String() string {
9320 return awsutil.Prettify(s)
9321 }
9322
9323 // GoString returns the string representation
9324 func (s DeleteBucketTaggingInput) GoString() string {
9325 return s.String()
9326 }
9327
9328 // Validate inspects the fields of the type to determine if they are valid.
9329 func (s *DeleteBucketTaggingInput) Validate() error {
9330 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"}
9331 if s.Bucket == nil {
9332 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9333 }
9334
9335 if invalidParams.Len() > 0 {
9336 return invalidParams
9337 }
9338 return nil
9339 }
9340
9341 // SetBucket sets the Bucket field's value.
9342 func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput {
9343 s.Bucket = &v
9344 return s
9345 }
9346
9347 func (s *DeleteBucketTaggingInput) getBucket() (v string) {
9348 if s.Bucket == nil {
9349 return v
9350 }
9351 return *s.Bucket
9352 }
9353
9354 type DeleteBucketTaggingOutput struct {
9355 _ struct{} `type:"structure"`
9356 }
9357
9358 // String returns the string representation
9359 func (s DeleteBucketTaggingOutput) String() string {
9360 return awsutil.Prettify(s)
9361 }
9362
9363 // GoString returns the string representation
9364 func (s DeleteBucketTaggingOutput) GoString() string {
9365 return s.String()
9366 }
9367
9368 type DeleteBucketWebsiteInput struct {
9369 _ struct{} `type:"structure"`
9370
9371 // Bucket is a required field
9372 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9373 }
9374
9375 // String returns the string representation
9376 func (s DeleteBucketWebsiteInput) String() string {
9377 return awsutil.Prettify(s)
9378 }
9379
9380 // GoString returns the string representation
9381 func (s DeleteBucketWebsiteInput) GoString() string {
9382 return s.String()
9383 }
9384
9385 // Validate inspects the fields of the type to determine if they are valid.
9386 func (s *DeleteBucketWebsiteInput) Validate() error {
9387 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"}
9388 if s.Bucket == nil {
9389 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9390 }
9391
9392 if invalidParams.Len() > 0 {
9393 return invalidParams
9394 }
9395 return nil
9396 }
9397
9398 // SetBucket sets the Bucket field's value.
9399 func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput {
9400 s.Bucket = &v
9401 return s
9402 }
9403
9404 func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
9405 if s.Bucket == nil {
9406 return v
9407 }
9408 return *s.Bucket
9409 }
9410
9411 type DeleteBucketWebsiteOutput struct {
9412 _ struct{} `type:"structure"`
9413 }
9414
9415 // String returns the string representation
9416 func (s DeleteBucketWebsiteOutput) String() string {
9417 return awsutil.Prettify(s)
9418 }
9419
9420 // GoString returns the string representation
9421 func (s DeleteBucketWebsiteOutput) GoString() string {
9422 return s.String()
9423 }
9424
9425 type DeleteMarkerEntry struct {
9426 _ struct{} `type:"structure"`
9427
9428 // Specifies whether the object is (true) or is not (false) the latest version
9429 // of an object.
9430 IsLatest *bool `type:"boolean"`
9431
9432 // The object key.
9433 Key *string `min:"1" type:"string"`
9434
9435 // Date and time the object was last modified.
9436 LastModified *time.Time `type:"timestamp"`
9437
9438 Owner *Owner `type:"structure"`
9439
9440 // Version ID of an object.
9441 VersionId *string `type:"string"`
9442 }
9443
9444 // String returns the string representation
9445 func (s DeleteMarkerEntry) String() string {
9446 return awsutil.Prettify(s)
9447 }
9448
9449 // GoString returns the string representation
9450 func (s DeleteMarkerEntry) GoString() string {
9451 return s.String()
9452 }
9453
9454 // SetIsLatest sets the IsLatest field's value.
9455 func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry {
9456 s.IsLatest = &v
9457 return s
9458 }
9459
9460 // SetKey sets the Key field's value.
9461 func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry {
9462 s.Key = &v
9463 return s
9464 }
9465
9466 // SetLastModified sets the LastModified field's value.
9467 func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry {
9468 s.LastModified = &v
9469 return s
9470 }
9471
9472 // SetOwner sets the Owner field's value.
9473 func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry {
9474 s.Owner = v
9475 return s
9476 }
9477
9478 // SetVersionId sets the VersionId field's value.
9479 func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
9480 s.VersionId = &v
9481 return s
9482 }
9483
9484 type DeleteObjectInput struct {
9485 _ struct{} `type:"structure"`
9486
9487 // Bucket is a required field
9488 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9489
9490 // Key is a required field
9491 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
9492
9493 // The concatenation of the authentication device's serial number, a space,
9494 // and the value that is displayed on your authentication device.
9495 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
9496
9497 // Confirms that the requester knows that she or he will be charged for the
9498 // request. Bucket owners need not specify this parameter in their requests.
9499 // Documentation on downloading objects from requester pays buckets can be found
9500 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
9501 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
9502
9503 // VersionId used to reference a specific version of the object.
9504 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
9505 }
9506
9507 // String returns the string representation
9508 func (s DeleteObjectInput) String() string {
9509 return awsutil.Prettify(s)
9510 }
9511
9512 // GoString returns the string representation
9513 func (s DeleteObjectInput) GoString() string {
9514 return s.String()
9515 }
9516
9517 // Validate inspects the fields of the type to determine if they are valid.
9518 func (s *DeleteObjectInput) Validate() error {
9519 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"}
9520 if s.Bucket == nil {
9521 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9522 }
9523 if s.Key == nil {
9524 invalidParams.Add(request.NewErrParamRequired("Key"))
9525 }
9526 if s.Key != nil && len(*s.Key) < 1 {
9527 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9528 }
9529
9530 if invalidParams.Len() > 0 {
9531 return invalidParams
9532 }
9533 return nil
9534 }
9535
9536 // SetBucket sets the Bucket field's value.
9537 func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
9538 s.Bucket = &v
9539 return s
9540 }
9541
9542 func (s *DeleteObjectInput) getBucket() (v string) {
9543 if s.Bucket == nil {
9544 return v
9545 }
9546 return *s.Bucket
9547 }
9548
9549 // SetKey sets the Key field's value.
9550 func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
9551 s.Key = &v
9552 return s
9553 }
9554
9555 // SetMFA sets the MFA field's value.
9556 func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput {
9557 s.MFA = &v
9558 return s
9559 }
9560
9561 // SetRequestPayer sets the RequestPayer field's value.
9562 func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput {
9563 s.RequestPayer = &v
9564 return s
9565 }
9566
9567 // SetVersionId sets the VersionId field's value.
9568 func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
9569 s.VersionId = &v
9570 return s
9571 }
9572
9573 type DeleteObjectOutput struct {
9574 _ struct{} `type:"structure"`
9575
9576 // Specifies whether the versioned object that was permanently deleted was (true)
9577 // or was not (false) a delete marker.
9578 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
9579
9580 // If present, indicates that the requester was successfully charged for the
9581 // request.
9582 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
9583
9584 // Returns the version ID of the delete marker created as a result of the DELETE
9585 // operation.
9586 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
9587 }
9588
9589 // String returns the string representation
9590 func (s DeleteObjectOutput) String() string {
9591 return awsutil.Prettify(s)
9592 }
9593
9594 // GoString returns the string representation
9595 func (s DeleteObjectOutput) GoString() string {
9596 return s.String()
9597 }
9598
9599 // SetDeleteMarker sets the DeleteMarker field's value.
9600 func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput {
9601 s.DeleteMarker = &v
9602 return s
9603 }
9604
9605 // SetRequestCharged sets the RequestCharged field's value.
9606 func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput {
9607 s.RequestCharged = &v
9608 return s
9609 }
9610
9611 // SetVersionId sets the VersionId field's value.
9612 func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
9613 s.VersionId = &v
9614 return s
9615 }
9616
9617 type DeleteObjectTaggingInput struct {
9618 _ struct{} `type:"structure"`
9619
9620 // Bucket is a required field
9621 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9622
9623 // Key is a required field
9624 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
9625
9626 // The versionId of the object that the tag-set will be removed from.
9627 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
9628 }
9629
9630 // String returns the string representation
9631 func (s DeleteObjectTaggingInput) String() string {
9632 return awsutil.Prettify(s)
9633 }
9634
9635 // GoString returns the string representation
9636 func (s DeleteObjectTaggingInput) GoString() string {
9637 return s.String()
9638 }
9639
9640 // Validate inspects the fields of the type to determine if they are valid.
9641 func (s *DeleteObjectTaggingInput) Validate() error {
9642 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"}
9643 if s.Bucket == nil {
9644 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9645 }
9646 if s.Key == nil {
9647 invalidParams.Add(request.NewErrParamRequired("Key"))
9648 }
9649 if s.Key != nil && len(*s.Key) < 1 {
9650 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9651 }
9652
9653 if invalidParams.Len() > 0 {
9654 return invalidParams
9655 }
9656 return nil
9657 }
9658
9659 // SetBucket sets the Bucket field's value.
9660 func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput {
9661 s.Bucket = &v
9662 return s
9663 }
9664
9665 func (s *DeleteObjectTaggingInput) getBucket() (v string) {
9666 if s.Bucket == nil {
9667 return v
9668 }
9669 return *s.Bucket
9670 }
9671
9672 // SetKey sets the Key field's value.
9673 func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
9674 s.Key = &v
9675 return s
9676 }
9677
9678 // SetVersionId sets the VersionId field's value.
9679 func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput {
9680 s.VersionId = &v
9681 return s
9682 }
9683
9684 type DeleteObjectTaggingOutput struct {
9685 _ struct{} `type:"structure"`
9686
9687 // The versionId of the object the tag-set was removed from.
9688 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
9689 }
9690
9691 // String returns the string representation
9692 func (s DeleteObjectTaggingOutput) String() string {
9693 return awsutil.Prettify(s)
9694 }
9695
9696 // GoString returns the string representation
9697 func (s DeleteObjectTaggingOutput) GoString() string {
9698 return s.String()
9699 }
9700
9701 // SetVersionId sets the VersionId field's value.
9702 func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput {
9703 s.VersionId = &v
9704 return s
9705 }
9706
9707 type DeleteObjectsInput struct {
9708 _ struct{} `type:"structure" payload:"Delete"`
9709
9710 // Bucket is a required field
9711 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9712
9713 // Delete is a required field
9714 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
9715
9716 // The concatenation of the authentication device's serial number, a space,
9717 // and the value that is displayed on your authentication device.
9718 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
9719
9720 // Confirms that the requester knows that she or he will be charged for the
9721 // request. Bucket owners need not specify this parameter in their requests.
9722 // Documentation on downloading objects from requester pays buckets can be found
9723 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
9724 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
9725 }
9726
9727 // String returns the string representation
9728 func (s DeleteObjectsInput) String() string {
9729 return awsutil.Prettify(s)
9730 }
9731
9732 // GoString returns the string representation
9733 func (s DeleteObjectsInput) GoString() string {
9734 return s.String()
9735 }
9736
9737 // Validate inspects the fields of the type to determine if they are valid.
9738 func (s *DeleteObjectsInput) Validate() error {
9739 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"}
9740 if s.Bucket == nil {
9741 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9742 }
9743 if s.Delete == nil {
9744 invalidParams.Add(request.NewErrParamRequired("Delete"))
9745 }
9746 if s.Delete != nil {
9747 if err := s.Delete.Validate(); err != nil {
9748 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
9749 }
9750 }
9751
9752 if invalidParams.Len() > 0 {
9753 return invalidParams
9754 }
9755 return nil
9756 }
9757
9758 // SetBucket sets the Bucket field's value.
9759 func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
9760 s.Bucket = &v
9761 return s
9762 }
9763
9764 func (s *DeleteObjectsInput) getBucket() (v string) {
9765 if s.Bucket == nil {
9766 return v
9767 }
9768 return *s.Bucket
9769 }
9770
9771 // SetDelete sets the Delete field's value.
9772 func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
9773 s.Delete = v
9774 return s
9775 }
9776
9777 // SetMFA sets the MFA field's value.
9778 func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput {
9779 s.MFA = &v
9780 return s
9781 }
9782
9783 // SetRequestPayer sets the RequestPayer field's value.
9784 func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
9785 s.RequestPayer = &v
9786 return s
9787 }
9788
9789 type DeleteObjectsOutput struct {
9790 _ struct{} `type:"structure"`
9791
9792 Deleted []*DeletedObject `type:"list" flattened:"true"`
9793
9794 Errors []*Error `locationName:"Error" type:"list" flattened:"true"`
9795
9796 // If present, indicates that the requester was successfully charged for the
9797 // request.
9798 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
9799 }
9800
9801 // String returns the string representation
9802 func (s DeleteObjectsOutput) String() string {
9803 return awsutil.Prettify(s)
9804 }
9805
9806 // GoString returns the string representation
9807 func (s DeleteObjectsOutput) GoString() string {
9808 return s.String()
9809 }
9810
9811 // SetDeleted sets the Deleted field's value.
9812 func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput {
9813 s.Deleted = v
9814 return s
9815 }
9816
9817 // SetErrors sets the Errors field's value.
9818 func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput {
9819 s.Errors = v
9820 return s
9821 }
9822
9823 // SetRequestCharged sets the RequestCharged field's value.
9824 func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
9825 s.RequestCharged = &v
9826 return s
9827 }
9828
9829 type DeletedObject struct {
9830 _ struct{} `type:"structure"`
9831
9832 DeleteMarker *bool `type:"boolean"`
9833
9834 DeleteMarkerVersionId *string `type:"string"`
9835
9836 Key *string `min:"1" type:"string"`
9837
9838 VersionId *string `type:"string"`
9839 }
9840
9841 // String returns the string representation
9842 func (s DeletedObject) String() string {
9843 return awsutil.Prettify(s)
9844 }
9845
9846 // GoString returns the string representation
9847 func (s DeletedObject) GoString() string {
9848 return s.String()
9849 }
9850
9851 // SetDeleteMarker sets the DeleteMarker field's value.
9852 func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject {
9853 s.DeleteMarker = &v
9854 return s
9855 }
9856
9857 // SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value.
9858 func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject {
9859 s.DeleteMarkerVersionId = &v
9860 return s
9861 }
9862
9863 // SetKey sets the Key field's value.
9864 func (s *DeletedObject) SetKey(v string) *DeletedObject {
9865 s.Key = &v
9866 return s
9867 }
9868
9869 // SetVersionId sets the VersionId field's value.
9870 func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
9871 s.VersionId = &v
9872 return s
9873 }
9874
9875 // Container for replication destination information.
9876 type Destination struct {
9877 _ struct{} `type:"structure"`
9878
9879 // Container for information regarding the access control for replicas.
9880 AccessControlTranslation *AccessControlTranslation `type:"structure"`
9881
9882 // Account ID of the destination bucket. Currently this is only being verified
9883 // if Access Control Translation is enabled
9884 Account *string `type:"string"`
9885
9886 // Amazon resource name (ARN) of the bucket where you want Amazon S3 to store
9887 // replicas of the object identified by the rule.
9888 //
9889 // Bucket is a required field
9890 Bucket *string `type:"string" required:"true"`
9891
9892 // Container for information regarding encryption based configuration for replicas.
9893 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
9894
9895 // The class of storage used to store the object.
9896 StorageClass *string `type:"string" enum:"StorageClass"`
9897 }
9898
9899 // String returns the string representation
9900 func (s Destination) String() string {
9901 return awsutil.Prettify(s)
9902 }
9903
9904 // GoString returns the string representation
9905 func (s Destination) GoString() string {
9906 return s.String()
9907 }
9908
9909 // Validate inspects the fields of the type to determine if they are valid.
9910 func (s *Destination) Validate() error {
9911 invalidParams := request.ErrInvalidParams{Context: "Destination"}
9912 if s.Bucket == nil {
9913 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9914 }
9915 if s.AccessControlTranslation != nil {
9916 if err := s.AccessControlTranslation.Validate(); err != nil {
9917 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
9918 }
9919 }
9920
9921 if invalidParams.Len() > 0 {
9922 return invalidParams
9923 }
9924 return nil
9925 }
9926
9927 // SetAccessControlTranslation sets the AccessControlTranslation field's value.
9928 func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
9929 s.AccessControlTranslation = v
9930 return s
9931 }
9932
9933 // SetAccount sets the Account field's value.
9934 func (s *Destination) SetAccount(v string) *Destination {
9935 s.Account = &v
9936 return s
9937 }
9938
9939 // SetBucket sets the Bucket field's value.
9940 func (s *Destination) SetBucket(v string) *Destination {
9941 s.Bucket = &v
9942 return s
9943 }
9944
9945 func (s *Destination) getBucket() (v string) {
9946 if s.Bucket == nil {
9947 return v
9948 }
9949 return *s.Bucket
9950 }
9951
9952 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
9953 func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
9954 s.EncryptionConfiguration = v
9955 return s
9956 }
9957
9958 // SetStorageClass sets the StorageClass field's value.
9959 func (s *Destination) SetStorageClass(v string) *Destination {
9960 s.StorageClass = &v
9961 return s
9962 }
9963
9964 // Describes the server-side encryption that will be applied to the restore
9965 // results.
9966 type Encryption struct {
9967 _ struct{} `type:"structure"`
9968
9969 // The server-side encryption algorithm used when storing job results in Amazon
9970 // S3 (e.g., AES256, aws:kms).
9971 //
9972 // EncryptionType is a required field
9973 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
9974
9975 // If the encryption type is aws:kms, this optional value can be used to specify
9976 // the encryption context for the restore results.
9977 KMSContext *string `type:"string"`
9978
9979 // If the encryption type is aws:kms, this optional value specifies the AWS
9980 // KMS key ID to use for encryption of job results.
9981 KMSKeyId *string `type:"string"`
9982 }
9983
9984 // String returns the string representation
9985 func (s Encryption) String() string {
9986 return awsutil.Prettify(s)
9987 }
9988
9989 // GoString returns the string representation
9990 func (s Encryption) GoString() string {
9991 return s.String()
9992 }
9993
9994 // Validate inspects the fields of the type to determine if they are valid.
9995 func (s *Encryption) Validate() error {
9996 invalidParams := request.ErrInvalidParams{Context: "Encryption"}
9997 if s.EncryptionType == nil {
9998 invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
9999 }
10000
10001 if invalidParams.Len() > 0 {
10002 return invalidParams
10003 }
10004 return nil
10005 }
10006
10007 // SetEncryptionType sets the EncryptionType field's value.
10008 func (s *Encryption) SetEncryptionType(v string) *Encryption {
10009 s.EncryptionType = &v
10010 return s
10011 }
10012
10013 // SetKMSContext sets the KMSContext field's value.
10014 func (s *Encryption) SetKMSContext(v string) *Encryption {
10015 s.KMSContext = &v
10016 return s
10017 }
10018
10019 // SetKMSKeyId sets the KMSKeyId field's value.
10020 func (s *Encryption) SetKMSKeyId(v string) *Encryption {
10021 s.KMSKeyId = &v
10022 return s
10023 }
10024
10025 // Container for information regarding encryption based configuration for replicas.
10026 type EncryptionConfiguration struct {
10027 _ struct{} `type:"structure"`
10028
10029 // The id of the KMS key used to encrypt the replica object.
10030 ReplicaKmsKeyID *string `type:"string"`
10031 }
10032
10033 // String returns the string representation
10034 func (s EncryptionConfiguration) String() string {
10035 return awsutil.Prettify(s)
10036 }
10037
10038 // GoString returns the string representation
10039 func (s EncryptionConfiguration) GoString() string {
10040 return s.String()
10041 }
10042
10043 // SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
10044 func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
10045 s.ReplicaKmsKeyID = &v
10046 return s
10047 }
10048
10049 type EndEvent struct {
10050 _ struct{} `locationName:"EndEvent" type:"structure"`
10051 }
10052
10053 // String returns the string representation
10054 func (s EndEvent) String() string {
10055 return awsutil.Prettify(s)
10056 }
10057
10058 // GoString returns the string representation
10059 func (s EndEvent) GoString() string {
10060 return s.String()
10061 }
10062
10063 // The EndEvent is and event in the SelectObjectContentEventStream group of events.
10064 func (s *EndEvent) eventSelectObjectContentEventStream() {}
10065
10066 // UnmarshalEvent unmarshals the EventStream Message into the EndEvent value.
10067 // This method is only used internally within the SDK's EventStream handling.
10068 func (s *EndEvent) UnmarshalEvent(
10069 payloadUnmarshaler protocol.PayloadUnmarshaler,
10070 msg eventstream.Message,
10071 ) error {
10072 return nil
10073 }
10074
10075 type Error struct {
10076 _ struct{} `type:"structure"`
10077
10078 Code *string `type:"string"`
10079
10080 Key *string `min:"1" type:"string"`
10081
10082 Message *string `type:"string"`
10083
10084 VersionId *string `type:"string"`
10085 }
10086
10087 // String returns the string representation
10088 func (s Error) String() string {
10089 return awsutil.Prettify(s)
10090 }
10091
10092 // GoString returns the string representation
10093 func (s Error) GoString() string {
10094 return s.String()
10095 }
10096
10097 // SetCode sets the Code field's value.
10098 func (s *Error) SetCode(v string) *Error {
10099 s.Code = &v
10100 return s
10101 }
10102
10103 // SetKey sets the Key field's value.
10104 func (s *Error) SetKey(v string) *Error {
10105 s.Key = &v
10106 return s
10107 }
10108
10109 // SetMessage sets the Message field's value.
10110 func (s *Error) SetMessage(v string) *Error {
10111 s.Message = &v
10112 return s
10113 }
10114
10115 // SetVersionId sets the VersionId field's value.
10116 func (s *Error) SetVersionId(v string) *Error {
10117 s.VersionId = &v
10118 return s
10119 }
10120
10121 type ErrorDocument struct {
10122 _ struct{} `type:"structure"`
10123
10124 // The object key name to use when a 4XX class error occurs.
10125 //
10126 // Key is a required field
10127 Key *string `min:"1" type:"string" required:"true"`
10128 }
10129
10130 // String returns the string representation
10131 func (s ErrorDocument) String() string {
10132 return awsutil.Prettify(s)
10133 }
10134
10135 // GoString returns the string representation
10136 func (s ErrorDocument) GoString() string {
10137 return s.String()
10138 }
10139
10140 // Validate inspects the fields of the type to determine if they are valid.
10141 func (s *ErrorDocument) Validate() error {
10142 invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"}
10143 if s.Key == nil {
10144 invalidParams.Add(request.NewErrParamRequired("Key"))
10145 }
10146 if s.Key != nil && len(*s.Key) < 1 {
10147 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10148 }
10149
10150 if invalidParams.Len() > 0 {
10151 return invalidParams
10152 }
10153 return nil
10154 }
10155
10156 // SetKey sets the Key field's value.
10157 func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
10158 s.Key = &v
10159 return s
10160 }
10161
10162 // Container for key value pair that defines the criteria for the filter rule.
10163 type FilterRule struct {
10164 _ struct{} `type:"structure"`
10165
10166 // Object key name prefix or suffix identifying one or more objects to which
10167 // the filtering rule applies. Maximum prefix length can be up to 1,024 characters.
10168 // Overlapping prefixes and suffixes are not supported. For more information,
10169 // go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
10170 // in the Amazon Simple Storage Service Developer Guide.
10171 Name *string `type:"string" enum:"FilterRuleName"`
10172
10173 Value *string `type:"string"`
10174 }
10175
10176 // String returns the string representation
10177 func (s FilterRule) String() string {
10178 return awsutil.Prettify(s)
10179 }
10180
10181 // GoString returns the string representation
10182 func (s FilterRule) GoString() string {
10183 return s.String()
10184 }
10185
10186 // SetName sets the Name field's value.
10187 func (s *FilterRule) SetName(v string) *FilterRule {
10188 s.Name = &v
10189 return s
10190 }
10191
10192 // SetValue sets the Value field's value.
10193 func (s *FilterRule) SetValue(v string) *FilterRule {
10194 s.Value = &v
10195 return s
10196 }
10197
10198 type GetBucketAccelerateConfigurationInput struct {
10199 _ struct{} `type:"structure"`
10200
10201 // Name of the bucket for which the accelerate configuration is retrieved.
10202 //
10203 // Bucket is a required field
10204 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10205 }
10206
10207 // String returns the string representation
10208 func (s GetBucketAccelerateConfigurationInput) String() string {
10209 return awsutil.Prettify(s)
10210 }
10211
10212 // GoString returns the string representation
10213 func (s GetBucketAccelerateConfigurationInput) GoString() string {
10214 return s.String()
10215 }
10216
10217 // Validate inspects the fields of the type to determine if they are valid.
10218 func (s *GetBucketAccelerateConfigurationInput) Validate() error {
10219 invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"}
10220 if s.Bucket == nil {
10221 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10222 }
10223
10224 if invalidParams.Len() > 0 {
10225 return invalidParams
10226 }
10227 return nil
10228 }
10229
10230 // SetBucket sets the Bucket field's value.
10231 func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput {
10232 s.Bucket = &v
10233 return s
10234 }
10235
10236 func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
10237 if s.Bucket == nil {
10238 return v
10239 }
10240 return *s.Bucket
10241 }
10242
10243 type GetBucketAccelerateConfigurationOutput struct {
10244 _ struct{} `type:"structure"`
10245
10246 // The accelerate configuration of the bucket.
10247 Status *string `type:"string" enum:"BucketAccelerateStatus"`
10248 }
10249
10250 // String returns the string representation
10251 func (s GetBucketAccelerateConfigurationOutput) String() string {
10252 return awsutil.Prettify(s)
10253 }
10254
10255 // GoString returns the string representation
10256 func (s GetBucketAccelerateConfigurationOutput) GoString() string {
10257 return s.String()
10258 }
10259
10260 // SetStatus sets the Status field's value.
10261 func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput {
10262 s.Status = &v
10263 return s
10264 }
10265
10266 type GetBucketAclInput struct {
10267 _ struct{} `type:"structure"`
10268
10269 // Bucket is a required field
10270 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10271 }
10272
10273 // String returns the string representation
10274 func (s GetBucketAclInput) String() string {
10275 return awsutil.Prettify(s)
10276 }
10277
10278 // GoString returns the string representation
10279 func (s GetBucketAclInput) GoString() string {
10280 return s.String()
10281 }
10282
10283 // Validate inspects the fields of the type to determine if they are valid.
10284 func (s *GetBucketAclInput) Validate() error {
10285 invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"}
10286 if s.Bucket == nil {
10287 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10288 }
10289
10290 if invalidParams.Len() > 0 {
10291 return invalidParams
10292 }
10293 return nil
10294 }
10295
10296 // SetBucket sets the Bucket field's value.
10297 func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
10298 s.Bucket = &v
10299 return s
10300 }
10301
10302 func (s *GetBucketAclInput) getBucket() (v string) {
10303 if s.Bucket == nil {
10304 return v
10305 }
10306 return *s.Bucket
10307 }
10308
10309 type GetBucketAclOutput struct {
10310 _ struct{} `type:"structure"`
10311
10312 // A list of grants.
10313 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
10314
10315 Owner *Owner `type:"structure"`
10316 }
10317
10318 // String returns the string representation
10319 func (s GetBucketAclOutput) String() string {
10320 return awsutil.Prettify(s)
10321 }
10322
10323 // GoString returns the string representation
10324 func (s GetBucketAclOutput) GoString() string {
10325 return s.String()
10326 }
10327
10328 // SetGrants sets the Grants field's value.
10329 func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput {
10330 s.Grants = v
10331 return s
10332 }
10333
10334 // SetOwner sets the Owner field's value.
10335 func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
10336 s.Owner = v
10337 return s
10338 }
10339
10340 type GetBucketAnalyticsConfigurationInput struct {
10341 _ struct{} `type:"structure"`
10342
10343 // The name of the bucket from which an analytics configuration is retrieved.
10344 //
10345 // Bucket is a required field
10346 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10347
10348 // The identifier used to represent an analytics configuration.
10349 //
10350 // Id is a required field
10351 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10352 }
10353
10354 // String returns the string representation
10355 func (s GetBucketAnalyticsConfigurationInput) String() string {
10356 return awsutil.Prettify(s)
10357 }
10358
10359 // GoString returns the string representation
10360 func (s GetBucketAnalyticsConfigurationInput) GoString() string {
10361 return s.String()
10362 }
10363
10364 // Validate inspects the fields of the type to determine if they are valid.
10365 func (s *GetBucketAnalyticsConfigurationInput) Validate() error {
10366 invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"}
10367 if s.Bucket == nil {
10368 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10369 }
10370 if s.Id == nil {
10371 invalidParams.Add(request.NewErrParamRequired("Id"))
10372 }
10373
10374 if invalidParams.Len() > 0 {
10375 return invalidParams
10376 }
10377 return nil
10378 }
10379
10380 // SetBucket sets the Bucket field's value.
10381 func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput {
10382 s.Bucket = &v
10383 return s
10384 }
10385
10386 func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
10387 if s.Bucket == nil {
10388 return v
10389 }
10390 return *s.Bucket
10391 }
10392
10393 // SetId sets the Id field's value.
10394 func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
10395 s.Id = &v
10396 return s
10397 }
10398
10399 type GetBucketAnalyticsConfigurationOutput struct {
10400 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
10401
10402 // The configuration and any analyses for the analytics filter.
10403 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"`
10404 }
10405
10406 // String returns the string representation
10407 func (s GetBucketAnalyticsConfigurationOutput) String() string {
10408 return awsutil.Prettify(s)
10409 }
10410
10411 // GoString returns the string representation
10412 func (s GetBucketAnalyticsConfigurationOutput) GoString() string {
10413 return s.String()
10414 }
10415
10416 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
10417 func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput {
10418 s.AnalyticsConfiguration = v
10419 return s
10420 }
10421
10422 type GetBucketCorsInput struct {
10423 _ struct{} `type:"structure"`
10424
10425 // Bucket is a required field
10426 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10427 }
10428
10429 // String returns the string representation
10430 func (s GetBucketCorsInput) String() string {
10431 return awsutil.Prettify(s)
10432 }
10433
10434 // GoString returns the string representation
10435 func (s GetBucketCorsInput) GoString() string {
10436 return s.String()
10437 }
10438
10439 // Validate inspects the fields of the type to determine if they are valid.
10440 func (s *GetBucketCorsInput) Validate() error {
10441 invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"}
10442 if s.Bucket == nil {
10443 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10444 }
10445
10446 if invalidParams.Len() > 0 {
10447 return invalidParams
10448 }
10449 return nil
10450 }
10451
10452 // SetBucket sets the Bucket field's value.
10453 func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
10454 s.Bucket = &v
10455 return s
10456 }
10457
10458 func (s *GetBucketCorsInput) getBucket() (v string) {
10459 if s.Bucket == nil {
10460 return v
10461 }
10462 return *s.Bucket
10463 }
10464
10465 type GetBucketCorsOutput struct {
10466 _ struct{} `type:"structure"`
10467
10468 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`
10469 }
10470
10471 // String returns the string representation
10472 func (s GetBucketCorsOutput) String() string {
10473 return awsutil.Prettify(s)
10474 }
10475
10476 // GoString returns the string representation
10477 func (s GetBucketCorsOutput) GoString() string {
10478 return s.String()
10479 }
10480
10481 // SetCORSRules sets the CORSRules field's value.
10482 func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
10483 s.CORSRules = v
10484 return s
10485 }
10486
10487 type GetBucketEncryptionInput struct {
10488 _ struct{} `type:"structure"`
10489
10490 // The name of the bucket from which the server-side encryption configuration
10491 // is retrieved.
10492 //
10493 // Bucket is a required field
10494 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10495 }
10496
10497 // String returns the string representation
10498 func (s GetBucketEncryptionInput) String() string {
10499 return awsutil.Prettify(s)
10500 }
10501
10502 // GoString returns the string representation
10503 func (s GetBucketEncryptionInput) GoString() string {
10504 return s.String()
10505 }
10506
10507 // Validate inspects the fields of the type to determine if they are valid.
10508 func (s *GetBucketEncryptionInput) Validate() error {
10509 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"}
10510 if s.Bucket == nil {
10511 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10512 }
10513
10514 if invalidParams.Len() > 0 {
10515 return invalidParams
10516 }
10517 return nil
10518 }
10519
10520 // SetBucket sets the Bucket field's value.
10521 func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
10522 s.Bucket = &v
10523 return s
10524 }
10525
10526 func (s *GetBucketEncryptionInput) getBucket() (v string) {
10527 if s.Bucket == nil {
10528 return v
10529 }
10530 return *s.Bucket
10531 }
10532
10533 type GetBucketEncryptionOutput struct {
10534 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
10535
10536 // Container for server-side encryption configuration rules. Currently S3 supports
10537 // one rule only.
10538 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
10539 }
10540
10541 // String returns the string representation
10542 func (s GetBucketEncryptionOutput) String() string {
10543 return awsutil.Prettify(s)
10544 }
10545
10546 // GoString returns the string representation
10547 func (s GetBucketEncryptionOutput) GoString() string {
10548 return s.String()
10549 }
10550
10551 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
10552 func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
10553 s.ServerSideEncryptionConfiguration = v
10554 return s
10555 }
10556
10557 type GetBucketInventoryConfigurationInput struct {
10558 _ struct{} `type:"structure"`
10559
10560 // The name of the bucket containing the inventory configuration to retrieve.
10561 //
10562 // Bucket is a required field
10563 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10564
10565 // The ID used to identify the inventory configuration.
10566 //
10567 // Id is a required field
10568 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10569 }
10570
10571 // String returns the string representation
10572 func (s GetBucketInventoryConfigurationInput) String() string {
10573 return awsutil.Prettify(s)
10574 }
10575
10576 // GoString returns the string representation
10577 func (s GetBucketInventoryConfigurationInput) GoString() string {
10578 return s.String()
10579 }
10580
10581 // Validate inspects the fields of the type to determine if they are valid.
10582 func (s *GetBucketInventoryConfigurationInput) Validate() error {
10583 invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"}
10584 if s.Bucket == nil {
10585 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10586 }
10587 if s.Id == nil {
10588 invalidParams.Add(request.NewErrParamRequired("Id"))
10589 }
10590
10591 if invalidParams.Len() > 0 {
10592 return invalidParams
10593 }
10594 return nil
10595 }
10596
10597 // SetBucket sets the Bucket field's value.
10598 func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput {
10599 s.Bucket = &v
10600 return s
10601 }
10602
10603 func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
10604 if s.Bucket == nil {
10605 return v
10606 }
10607 return *s.Bucket
10608 }
10609
10610 // SetId sets the Id field's value.
10611 func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
10612 s.Id = &v
10613 return s
10614 }
10615
10616 type GetBucketInventoryConfigurationOutput struct {
10617 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
10618
10619 // Specifies the inventory configuration.
10620 InventoryConfiguration *InventoryConfiguration `type:"structure"`
10621 }
10622
10623 // String returns the string representation
10624 func (s GetBucketInventoryConfigurationOutput) String() string {
10625 return awsutil.Prettify(s)
10626 }
10627
10628 // GoString returns the string representation
10629 func (s GetBucketInventoryConfigurationOutput) GoString() string {
10630 return s.String()
10631 }
10632
10633 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
10634 func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput {
10635 s.InventoryConfiguration = v
10636 return s
10637 }
10638
10639 type GetBucketLifecycleConfigurationInput struct {
10640 _ struct{} `type:"structure"`
10641
10642 // Bucket is a required field
10643 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10644 }
10645
10646 // String returns the string representation
10647 func (s GetBucketLifecycleConfigurationInput) String() string {
10648 return awsutil.Prettify(s)
10649 }
10650
10651 // GoString returns the string representation
10652 func (s GetBucketLifecycleConfigurationInput) GoString() string {
10653 return s.String()
10654 }
10655
10656 // Validate inspects the fields of the type to determine if they are valid.
10657 func (s *GetBucketLifecycleConfigurationInput) Validate() error {
10658 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"}
10659 if s.Bucket == nil {
10660 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10661 }
10662
10663 if invalidParams.Len() > 0 {
10664 return invalidParams
10665 }
10666 return nil
10667 }
10668
10669 // SetBucket sets the Bucket field's value.
10670 func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput {
10671 s.Bucket = &v
10672 return s
10673 }
10674
10675 func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
10676 if s.Bucket == nil {
10677 return v
10678 }
10679 return *s.Bucket
10680 }
10681
10682 type GetBucketLifecycleConfigurationOutput struct {
10683 _ struct{} `type:"structure"`
10684
10685 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`
10686 }
10687
10688 // String returns the string representation
10689 func (s GetBucketLifecycleConfigurationOutput) String() string {
10690 return awsutil.Prettify(s)
10691 }
10692
10693 // GoString returns the string representation
10694 func (s GetBucketLifecycleConfigurationOutput) GoString() string {
10695 return s.String()
10696 }
10697
10698 // SetRules sets the Rules field's value.
10699 func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput {
10700 s.Rules = v
10701 return s
10702 }
10703
10704 type GetBucketLifecycleInput struct {
10705 _ struct{} `type:"structure"`
10706
10707 // Bucket is a required field
10708 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10709 }
10710
10711 // String returns the string representation
10712 func (s GetBucketLifecycleInput) String() string {
10713 return awsutil.Prettify(s)
10714 }
10715
10716 // GoString returns the string representation
10717 func (s GetBucketLifecycleInput) GoString() string {
10718 return s.String()
10719 }
10720
10721 // Validate inspects the fields of the type to determine if they are valid.
10722 func (s *GetBucketLifecycleInput) Validate() error {
10723 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"}
10724 if s.Bucket == nil {
10725 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10726 }
10727
10728 if invalidParams.Len() > 0 {
10729 return invalidParams
10730 }
10731 return nil
10732 }
10733
10734 // SetBucket sets the Bucket field's value.
10735 func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
10736 s.Bucket = &v
10737 return s
10738 }
10739
10740 func (s *GetBucketLifecycleInput) getBucket() (v string) {
10741 if s.Bucket == nil {
10742 return v
10743 }
10744 return *s.Bucket
10745 }
10746
10747 type GetBucketLifecycleOutput struct {
10748 _ struct{} `type:"structure"`
10749
10750 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"`
10751 }
10752
10753 // String returns the string representation
10754 func (s GetBucketLifecycleOutput) String() string {
10755 return awsutil.Prettify(s)
10756 }
10757
10758 // GoString returns the string representation
10759 func (s GetBucketLifecycleOutput) GoString() string {
10760 return s.String()
10761 }
10762
10763 // SetRules sets the Rules field's value.
10764 func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput {
10765 s.Rules = v
10766 return s
10767 }
10768
10769 type GetBucketLocationInput struct {
10770 _ struct{} `type:"structure"`
10771
10772 // Bucket is a required field
10773 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10774 }
10775
10776 // String returns the string representation
10777 func (s GetBucketLocationInput) String() string {
10778 return awsutil.Prettify(s)
10779 }
10780
10781 // GoString returns the string representation
10782 func (s GetBucketLocationInput) GoString() string {
10783 return s.String()
10784 }
10785
10786 // Validate inspects the fields of the type to determine if they are valid.
10787 func (s *GetBucketLocationInput) Validate() error {
10788 invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"}
10789 if s.Bucket == nil {
10790 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10791 }
10792
10793 if invalidParams.Len() > 0 {
10794 return invalidParams
10795 }
10796 return nil
10797 }
10798
10799 // SetBucket sets the Bucket field's value.
10800 func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
10801 s.Bucket = &v
10802 return s
10803 }
10804
10805 func (s *GetBucketLocationInput) getBucket() (v string) {
10806 if s.Bucket == nil {
10807 return v
10808 }
10809 return *s.Bucket
10810 }
10811
10812 type GetBucketLocationOutput struct {
10813 _ struct{} `type:"structure"`
10814
10815 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
10816 }
10817
10818 // String returns the string representation
10819 func (s GetBucketLocationOutput) String() string {
10820 return awsutil.Prettify(s)
10821 }
10822
10823 // GoString returns the string representation
10824 func (s GetBucketLocationOutput) GoString() string {
10825 return s.String()
10826 }
10827
10828 // SetLocationConstraint sets the LocationConstraint field's value.
10829 func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput {
10830 s.LocationConstraint = &v
10831 return s
10832 }
10833
10834 type GetBucketLoggingInput struct {
10835 _ struct{} `type:"structure"`
10836
10837 // Bucket is a required field
10838 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10839 }
10840
10841 // String returns the string representation
10842 func (s GetBucketLoggingInput) String() string {
10843 return awsutil.Prettify(s)
10844 }
10845
10846 // GoString returns the string representation
10847 func (s GetBucketLoggingInput) GoString() string {
10848 return s.String()
10849 }
10850
10851 // Validate inspects the fields of the type to determine if they are valid.
10852 func (s *GetBucketLoggingInput) Validate() error {
10853 invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"}
10854 if s.Bucket == nil {
10855 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10856 }
10857
10858 if invalidParams.Len() > 0 {
10859 return invalidParams
10860 }
10861 return nil
10862 }
10863
10864 // SetBucket sets the Bucket field's value.
10865 func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
10866 s.Bucket = &v
10867 return s
10868 }
10869
10870 func (s *GetBucketLoggingInput) getBucket() (v string) {
10871 if s.Bucket == nil {
10872 return v
10873 }
10874 return *s.Bucket
10875 }
10876
10877 type GetBucketLoggingOutput struct {
10878 _ struct{} `type:"structure"`
10879
10880 // Container for logging information. Presence of this element indicates that
10881 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
10882 // in this case.
10883 LoggingEnabled *LoggingEnabled `type:"structure"`
10884 }
10885
10886 // String returns the string representation
10887 func (s GetBucketLoggingOutput) String() string {
10888 return awsutil.Prettify(s)
10889 }
10890
10891 // GoString returns the string representation
10892 func (s GetBucketLoggingOutput) GoString() string {
10893 return s.String()
10894 }
10895
10896 // SetLoggingEnabled sets the LoggingEnabled field's value.
10897 func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput {
10898 s.LoggingEnabled = v
10899 return s
10900 }
10901
10902 type GetBucketMetricsConfigurationInput struct {
10903 _ struct{} `type:"structure"`
10904
10905 // The name of the bucket containing the metrics configuration to retrieve.
10906 //
10907 // Bucket is a required field
10908 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10909
10910 // The ID used to identify the metrics configuration.
10911 //
10912 // Id is a required field
10913 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10914 }
10915
10916 // String returns the string representation
10917 func (s GetBucketMetricsConfigurationInput) String() string {
10918 return awsutil.Prettify(s)
10919 }
10920
10921 // GoString returns the string representation
10922 func (s GetBucketMetricsConfigurationInput) GoString() string {
10923 return s.String()
10924 }
10925
10926 // Validate inspects the fields of the type to determine if they are valid.
10927 func (s *GetBucketMetricsConfigurationInput) Validate() error {
10928 invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"}
10929 if s.Bucket == nil {
10930 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10931 }
10932 if s.Id == nil {
10933 invalidParams.Add(request.NewErrParamRequired("Id"))
10934 }
10935
10936 if invalidParams.Len() > 0 {
10937 return invalidParams
10938 }
10939 return nil
10940 }
10941
10942 // SetBucket sets the Bucket field's value.
10943 func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput {
10944 s.Bucket = &v
10945 return s
10946 }
10947
10948 func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
10949 if s.Bucket == nil {
10950 return v
10951 }
10952 return *s.Bucket
10953 }
10954
10955 // SetId sets the Id field's value.
10956 func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
10957 s.Id = &v
10958 return s
10959 }
10960
10961 type GetBucketMetricsConfigurationOutput struct {
10962 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
10963
10964 // Specifies the metrics configuration.
10965 MetricsConfiguration *MetricsConfiguration `type:"structure"`
10966 }
10967
10968 // String returns the string representation
10969 func (s GetBucketMetricsConfigurationOutput) String() string {
10970 return awsutil.Prettify(s)
10971 }
10972
10973 // GoString returns the string representation
10974 func (s GetBucketMetricsConfigurationOutput) GoString() string {
10975 return s.String()
10976 }
10977
10978 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
10979 func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput {
10980 s.MetricsConfiguration = v
10981 return s
10982 }
10983
10984 type GetBucketNotificationConfigurationRequest struct {
10985 _ struct{} `type:"structure"`
10986
10987 // Name of the bucket to get the notification configuration for.
10988 //
10989 // Bucket is a required field
10990 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10991 }
10992
10993 // String returns the string representation
10994 func (s GetBucketNotificationConfigurationRequest) String() string {
10995 return awsutil.Prettify(s)
10996 }
10997
10998 // GoString returns the string representation
10999 func (s GetBucketNotificationConfigurationRequest) GoString() string {
11000 return s.String()
11001 }
11002
11003 // Validate inspects the fields of the type to determine if they are valid.
11004 func (s *GetBucketNotificationConfigurationRequest) Validate() error {
11005 invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"}
11006 if s.Bucket == nil {
11007 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11008 }
11009
11010 if invalidParams.Len() > 0 {
11011 return invalidParams
11012 }
11013 return nil
11014 }
11015
11016 // SetBucket sets the Bucket field's value.
11017 func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest {
11018 s.Bucket = &v
11019 return s
11020 }
11021
11022 func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
11023 if s.Bucket == nil {
11024 return v
11025 }
11026 return *s.Bucket
11027 }
11028
11029 type GetBucketPolicyInput struct {
11030 _ struct{} `type:"structure"`
11031
11032 // Bucket is a required field
11033 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11034 }
11035
11036 // String returns the string representation
11037 func (s GetBucketPolicyInput) String() string {
11038 return awsutil.Prettify(s)
11039 }
11040
11041 // GoString returns the string representation
11042 func (s GetBucketPolicyInput) GoString() string {
11043 return s.String()
11044 }
11045
11046 // Validate inspects the fields of the type to determine if they are valid.
11047 func (s *GetBucketPolicyInput) Validate() error {
11048 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"}
11049 if s.Bucket == nil {
11050 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11051 }
11052
11053 if invalidParams.Len() > 0 {
11054 return invalidParams
11055 }
11056 return nil
11057 }
11058
11059 // SetBucket sets the Bucket field's value.
11060 func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
11061 s.Bucket = &v
11062 return s
11063 }
11064
11065 func (s *GetBucketPolicyInput) getBucket() (v string) {
11066 if s.Bucket == nil {
11067 return v
11068 }
11069 return *s.Bucket
11070 }
11071
11072 type GetBucketPolicyOutput struct {
11073 _ struct{} `type:"structure" payload:"Policy"`
11074
11075 // The bucket policy as a JSON document.
11076 Policy *string `type:"string"`
11077 }
11078
11079 // String returns the string representation
11080 func (s GetBucketPolicyOutput) String() string {
11081 return awsutil.Prettify(s)
11082 }
11083
11084 // GoString returns the string representation
11085 func (s GetBucketPolicyOutput) GoString() string {
11086 return s.String()
11087 }
11088
11089 // SetPolicy sets the Policy field's value.
11090 func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
11091 s.Policy = &v
11092 return s
11093 }
11094
11095 type GetBucketReplicationInput struct {
11096 _ struct{} `type:"structure"`
11097
11098 // Bucket is a required field
11099 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11100 }
11101
11102 // String returns the string representation
11103 func (s GetBucketReplicationInput) String() string {
11104 return awsutil.Prettify(s)
11105 }
11106
11107 // GoString returns the string representation
11108 func (s GetBucketReplicationInput) GoString() string {
11109 return s.String()
11110 }
11111
11112 // Validate inspects the fields of the type to determine if they are valid.
11113 func (s *GetBucketReplicationInput) Validate() error {
11114 invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"}
11115 if s.Bucket == nil {
11116 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11117 }
11118
11119 if invalidParams.Len() > 0 {
11120 return invalidParams
11121 }
11122 return nil
11123 }
11124
11125 // SetBucket sets the Bucket field's value.
11126 func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput {
11127 s.Bucket = &v
11128 return s
11129 }
11130
11131 func (s *GetBucketReplicationInput) getBucket() (v string) {
11132 if s.Bucket == nil {
11133 return v
11134 }
11135 return *s.Bucket
11136 }
11137
11138 type GetBucketReplicationOutput struct {
11139 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
11140
11141 // Container for replication rules. You can add as many as 1,000 rules. Total
11142 // replication configuration size can be up to 2 MB.
11143 ReplicationConfiguration *ReplicationConfiguration `type:"structure"`
11144 }
11145
11146 // String returns the string representation
11147 func (s GetBucketReplicationOutput) String() string {
11148 return awsutil.Prettify(s)
11149 }
11150
11151 // GoString returns the string representation
11152 func (s GetBucketReplicationOutput) GoString() string {
11153 return s.String()
11154 }
11155
11156 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
11157 func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput {
11158 s.ReplicationConfiguration = v
11159 return s
11160 }
11161
11162 type GetBucketRequestPaymentInput struct {
11163 _ struct{} `type:"structure"`
11164
11165 // Bucket is a required field
11166 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11167 }
11168
11169 // String returns the string representation
11170 func (s GetBucketRequestPaymentInput) String() string {
11171 return awsutil.Prettify(s)
11172 }
11173
11174 // GoString returns the string representation
11175 func (s GetBucketRequestPaymentInput) GoString() string {
11176 return s.String()
11177 }
11178
11179 // Validate inspects the fields of the type to determine if they are valid.
11180 func (s *GetBucketRequestPaymentInput) Validate() error {
11181 invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"}
11182 if s.Bucket == nil {
11183 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11184 }
11185
11186 if invalidParams.Len() > 0 {
11187 return invalidParams
11188 }
11189 return nil
11190 }
11191
11192 // SetBucket sets the Bucket field's value.
11193 func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput {
11194 s.Bucket = &v
11195 return s
11196 }
11197
11198 func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
11199 if s.Bucket == nil {
11200 return v
11201 }
11202 return *s.Bucket
11203 }
11204
11205 type GetBucketRequestPaymentOutput struct {
11206 _ struct{} `type:"structure"`
11207
11208 // Specifies who pays for the download and request fees.
11209 Payer *string `type:"string" enum:"Payer"`
11210 }
11211
11212 // String returns the string representation
11213 func (s GetBucketRequestPaymentOutput) String() string {
11214 return awsutil.Prettify(s)
11215 }
11216
11217 // GoString returns the string representation
11218 func (s GetBucketRequestPaymentOutput) GoString() string {
11219 return s.String()
11220 }
11221
11222 // SetPayer sets the Payer field's value.
11223 func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput {
11224 s.Payer = &v
11225 return s
11226 }
11227
11228 type GetBucketTaggingInput struct {
11229 _ struct{} `type:"structure"`
11230
11231 // Bucket is a required field
11232 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11233 }
11234
11235 // String returns the string representation
11236 func (s GetBucketTaggingInput) String() string {
11237 return awsutil.Prettify(s)
11238 }
11239
11240 // GoString returns the string representation
11241 func (s GetBucketTaggingInput) GoString() string {
11242 return s.String()
11243 }
11244
11245 // Validate inspects the fields of the type to determine if they are valid.
11246 func (s *GetBucketTaggingInput) Validate() error {
11247 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"}
11248 if s.Bucket == nil {
11249 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11250 }
11251
11252 if invalidParams.Len() > 0 {
11253 return invalidParams
11254 }
11255 return nil
11256 }
11257
11258 // SetBucket sets the Bucket field's value.
11259 func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
11260 s.Bucket = &v
11261 return s
11262 }
11263
11264 func (s *GetBucketTaggingInput) getBucket() (v string) {
11265 if s.Bucket == nil {
11266 return v
11267 }
11268 return *s.Bucket
11269 }
11270
11271 type GetBucketTaggingOutput struct {
11272 _ struct{} `type:"structure"`
11273
11274 // TagSet is a required field
11275 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
11276 }
11277
11278 // String returns the string representation
11279 func (s GetBucketTaggingOutput) String() string {
11280 return awsutil.Prettify(s)
11281 }
11282
11283 // GoString returns the string representation
11284 func (s GetBucketTaggingOutput) GoString() string {
11285 return s.String()
11286 }
11287
11288 // SetTagSet sets the TagSet field's value.
11289 func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
11290 s.TagSet = v
11291 return s
11292 }
11293
11294 type GetBucketVersioningInput struct {
11295 _ struct{} `type:"structure"`
11296
11297 // Bucket is a required field
11298 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11299 }
11300
11301 // String returns the string representation
11302 func (s GetBucketVersioningInput) String() string {
11303 return awsutil.Prettify(s)
11304 }
11305
11306 // GoString returns the string representation
11307 func (s GetBucketVersioningInput) GoString() string {
11308 return s.String()
11309 }
11310
11311 // Validate inspects the fields of the type to determine if they are valid.
11312 func (s *GetBucketVersioningInput) Validate() error {
11313 invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"}
11314 if s.Bucket == nil {
11315 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11316 }
11317
11318 if invalidParams.Len() > 0 {
11319 return invalidParams
11320 }
11321 return nil
11322 }
11323
11324 // SetBucket sets the Bucket field's value.
11325 func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput {
11326 s.Bucket = &v
11327 return s
11328 }
11329
11330 func (s *GetBucketVersioningInput) getBucket() (v string) {
11331 if s.Bucket == nil {
11332 return v
11333 }
11334 return *s.Bucket
11335 }
11336
11337 type GetBucketVersioningOutput struct {
11338 _ struct{} `type:"structure"`
11339
11340 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
11341 // This element is only returned if the bucket has been configured with MFA
11342 // delete. If the bucket has never been so configured, this element is not returned.
11343 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"`
11344
11345 // The versioning state of the bucket.
11346 Status *string `type:"string" enum:"BucketVersioningStatus"`
11347 }
11348
11349 // String returns the string representation
11350 func (s GetBucketVersioningOutput) String() string {
11351 return awsutil.Prettify(s)
11352 }
11353
11354 // GoString returns the string representation
11355 func (s GetBucketVersioningOutput) GoString() string {
11356 return s.String()
11357 }
11358
11359 // SetMFADelete sets the MFADelete field's value.
11360 func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput {
11361 s.MFADelete = &v
11362 return s
11363 }
11364
11365 // SetStatus sets the Status field's value.
11366 func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput {
11367 s.Status = &v
11368 return s
11369 }
11370
11371 type GetBucketWebsiteInput struct {
11372 _ struct{} `type:"structure"`
11373
11374 // Bucket is a required field
11375 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11376 }
11377
11378 // String returns the string representation
11379 func (s GetBucketWebsiteInput) String() string {
11380 return awsutil.Prettify(s)
11381 }
11382
11383 // GoString returns the string representation
11384 func (s GetBucketWebsiteInput) GoString() string {
11385 return s.String()
11386 }
11387
11388 // Validate inspects the fields of the type to determine if they are valid.
11389 func (s *GetBucketWebsiteInput) Validate() error {
11390 invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"}
11391 if s.Bucket == nil {
11392 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11393 }
11394
11395 if invalidParams.Len() > 0 {
11396 return invalidParams
11397 }
11398 return nil
11399 }
11400
11401 // SetBucket sets the Bucket field's value.
11402 func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
11403 s.Bucket = &v
11404 return s
11405 }
11406
11407 func (s *GetBucketWebsiteInput) getBucket() (v string) {
11408 if s.Bucket == nil {
11409 return v
11410 }
11411 return *s.Bucket
11412 }
11413
11414 type GetBucketWebsiteOutput struct {
11415 _ struct{} `type:"structure"`
11416
11417 ErrorDocument *ErrorDocument `type:"structure"`
11418
11419 IndexDocument *IndexDocument `type:"structure"`
11420
11421 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
11422
11423 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
11424 }
11425
11426 // String returns the string representation
11427 func (s GetBucketWebsiteOutput) String() string {
11428 return awsutil.Prettify(s)
11429 }
11430
11431 // GoString returns the string representation
11432 func (s GetBucketWebsiteOutput) GoString() string {
11433 return s.String()
11434 }
11435
11436 // SetErrorDocument sets the ErrorDocument field's value.
11437 func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput {
11438 s.ErrorDocument = v
11439 return s
11440 }
11441
11442 // SetIndexDocument sets the IndexDocument field's value.
11443 func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput {
11444 s.IndexDocument = v
11445 return s
11446 }
11447
11448 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
11449 func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput {
11450 s.RedirectAllRequestsTo = v
11451 return s
11452 }
11453
11454 // SetRoutingRules sets the RoutingRules field's value.
11455 func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput {
11456 s.RoutingRules = v
11457 return s
11458 }
11459
11460 type GetObjectAclInput struct {
11461 _ struct{} `type:"structure"`
11462
11463 // Bucket is a required field
11464 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11465
11466 // Key is a required field
11467 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
11468
11469 // Confirms that the requester knows that she or he will be charged for the
11470 // request. Bucket owners need not specify this parameter in their requests.
11471 // Documentation on downloading objects from requester pays buckets can be found
11472 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11473 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
11474
11475 // VersionId used to reference a specific version of the object.
11476 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
11477 }
11478
11479 // String returns the string representation
11480 func (s GetObjectAclInput) String() string {
11481 return awsutil.Prettify(s)
11482 }
11483
11484 // GoString returns the string representation
11485 func (s GetObjectAclInput) GoString() string {
11486 return s.String()
11487 }
11488
11489 // Validate inspects the fields of the type to determine if they are valid.
11490 func (s *GetObjectAclInput) Validate() error {
11491 invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"}
11492 if s.Bucket == nil {
11493 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11494 }
11495 if s.Key == nil {
11496 invalidParams.Add(request.NewErrParamRequired("Key"))
11497 }
11498 if s.Key != nil && len(*s.Key) < 1 {
11499 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11500 }
11501
11502 if invalidParams.Len() > 0 {
11503 return invalidParams
11504 }
11505 return nil
11506 }
11507
11508 // SetBucket sets the Bucket field's value.
11509 func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
11510 s.Bucket = &v
11511 return s
11512 }
11513
11514 func (s *GetObjectAclInput) getBucket() (v string) {
11515 if s.Bucket == nil {
11516 return v
11517 }
11518 return *s.Bucket
11519 }
11520
11521 // SetKey sets the Key field's value.
11522 func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
11523 s.Key = &v
11524 return s
11525 }
11526
11527 // SetRequestPayer sets the RequestPayer field's value.
11528 func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput {
11529 s.RequestPayer = &v
11530 return s
11531 }
11532
11533 // SetVersionId sets the VersionId field's value.
11534 func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
11535 s.VersionId = &v
11536 return s
11537 }
11538
11539 type GetObjectAclOutput struct {
11540 _ struct{} `type:"structure"`
11541
11542 // A list of grants.
11543 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
11544
11545 Owner *Owner `type:"structure"`
11546
11547 // If present, indicates that the requester was successfully charged for the
11548 // request.
11549 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
11550 }
11551
11552 // String returns the string representation
11553 func (s GetObjectAclOutput) String() string {
11554 return awsutil.Prettify(s)
11555 }
11556
11557 // GoString returns the string representation
11558 func (s GetObjectAclOutput) GoString() string {
11559 return s.String()
11560 }
11561
11562 // SetGrants sets the Grants field's value.
11563 func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput {
11564 s.Grants = v
11565 return s
11566 }
11567
11568 // SetOwner sets the Owner field's value.
11569 func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput {
11570 s.Owner = v
11571 return s
11572 }
11573
11574 // SetRequestCharged sets the RequestCharged field's value.
11575 func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
11576 s.RequestCharged = &v
11577 return s
11578 }
11579
11580 type GetObjectInput struct {
11581 _ struct{} `type:"structure"`
11582
11583 // Bucket is a required field
11584 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11585
11586 // Return the object only if its entity tag (ETag) is the same as the one specified,
11587 // otherwise return a 412 (precondition failed).
11588 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
11589
11590 // Return the object only if it has been modified since the specified time,
11591 // otherwise return a 304 (not modified).
11592 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
11593
11594 // Return the object only if its entity tag (ETag) is different from the one
11595 // specified, otherwise return a 304 (not modified).
11596 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
11597
11598 // Return the object only if it has not been modified since the specified time,
11599 // otherwise return a 412 (precondition failed).
11600 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
11601
11602 // Key is a required field
11603 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
11604
11605 // Part number of the object being read. This is a positive integer between
11606 // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified.
11607 // Useful for downloading just a part of an object.
11608 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
11609
11610 // Downloads the specified range bytes of an object. For more information about
11611 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
11612 Range *string `location:"header" locationName:"Range" type:"string"`
11613
11614 // Confirms that the requester knows that she or he will be charged for the
11615 // request. Bucket owners need not specify this parameter in their requests.
11616 // Documentation on downloading objects from requester pays buckets can be found
11617 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11618 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
11619
11620 // Sets the Cache-Control header of the response.
11621 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`
11622
11623 // Sets the Content-Disposition header of the response
11624 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`
11625
11626 // Sets the Content-Encoding header of the response.
11627 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`
11628
11629 // Sets the Content-Language header of the response.
11630 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`
11631
11632 // Sets the Content-Type header of the response.
11633 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
11634
11635 // Sets the Expires header of the response.
11636 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
11637
11638 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
11639 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
11640
11641 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
11642 // data. This value is used to store the object and then it is discarded; Amazon
11643 // does not store the encryption key. The key must be appropriate for use with
11644 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
11645 // header.
11646 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
11647
11648 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
11649 // Amazon S3 uses this header for a message integrity check to ensure the encryption
11650 // key was transmitted without error.
11651 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
11652
11653 // VersionId used to reference a specific version of the object.
11654 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
11655 }
11656
11657 // String returns the string representation
11658 func (s GetObjectInput) String() string {
11659 return awsutil.Prettify(s)
11660 }
11661
11662 // GoString returns the string representation
11663 func (s GetObjectInput) GoString() string {
11664 return s.String()
11665 }
11666
11667 // Validate inspects the fields of the type to determine if they are valid.
11668 func (s *GetObjectInput) Validate() error {
11669 invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"}
11670 if s.Bucket == nil {
11671 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11672 }
11673 if s.Key == nil {
11674 invalidParams.Add(request.NewErrParamRequired("Key"))
11675 }
11676 if s.Key != nil && len(*s.Key) < 1 {
11677 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11678 }
11679
11680 if invalidParams.Len() > 0 {
11681 return invalidParams
11682 }
11683 return nil
11684 }
11685
11686 // SetBucket sets the Bucket field's value.
11687 func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
11688 s.Bucket = &v
11689 return s
11690 }
11691
11692 func (s *GetObjectInput) getBucket() (v string) {
11693 if s.Bucket == nil {
11694 return v
11695 }
11696 return *s.Bucket
11697 }
11698
11699 // SetIfMatch sets the IfMatch field's value.
11700 func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
11701 s.IfMatch = &v
11702 return s
11703 }
11704
11705 // SetIfModifiedSince sets the IfModifiedSince field's value.
11706 func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput {
11707 s.IfModifiedSince = &v
11708 return s
11709 }
11710
11711 // SetIfNoneMatch sets the IfNoneMatch field's value.
11712 func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput {
11713 s.IfNoneMatch = &v
11714 return s
11715 }
11716
11717 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
11718 func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput {
11719 s.IfUnmodifiedSince = &v
11720 return s
11721 }
11722
11723 // SetKey sets the Key field's value.
11724 func (s *GetObjectInput) SetKey(v string) *GetObjectInput {
11725 s.Key = &v
11726 return s
11727 }
11728
11729 // SetPartNumber sets the PartNumber field's value.
11730 func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput {
11731 s.PartNumber = &v
11732 return s
11733 }
11734
11735 // SetRange sets the Range field's value.
11736 func (s *GetObjectInput) SetRange(v string) *GetObjectInput {
11737 s.Range = &v
11738 return s
11739 }
11740
11741 // SetRequestPayer sets the RequestPayer field's value.
11742 func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput {
11743 s.RequestPayer = &v
11744 return s
11745 }
11746
11747 // SetResponseCacheControl sets the ResponseCacheControl field's value.
11748 func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput {
11749 s.ResponseCacheControl = &v
11750 return s
11751 }
11752
11753 // SetResponseContentDisposition sets the ResponseContentDisposition field's value.
11754 func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput {
11755 s.ResponseContentDisposition = &v
11756 return s
11757 }
11758
11759 // SetResponseContentEncoding sets the ResponseContentEncoding field's value.
11760 func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput {
11761 s.ResponseContentEncoding = &v
11762 return s
11763 }
11764
11765 // SetResponseContentLanguage sets the ResponseContentLanguage field's value.
11766 func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput {
11767 s.ResponseContentLanguage = &v
11768 return s
11769 }
11770
11771 // SetResponseContentType sets the ResponseContentType field's value.
11772 func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput {
11773 s.ResponseContentType = &v
11774 return s
11775 }
11776
11777 // SetResponseExpires sets the ResponseExpires field's value.
11778 func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput {
11779 s.ResponseExpires = &v
11780 return s
11781 }
11782
11783 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
11784 func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput {
11785 s.SSECustomerAlgorithm = &v
11786 return s
11787 }
11788
11789 // SetSSECustomerKey sets the SSECustomerKey field's value.
11790 func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
11791 s.SSECustomerKey = &v
11792 return s
11793 }
11794
11795 func (s *GetObjectInput) getSSECustomerKey() (v string) {
11796 if s.SSECustomerKey == nil {
11797 return v
11798 }
11799 return *s.SSECustomerKey
11800 }
11801
11802 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
11803 func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
11804 s.SSECustomerKeyMD5 = &v
11805 return s
11806 }
11807
11808 // SetVersionId sets the VersionId field's value.
11809 func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
11810 s.VersionId = &v
11811 return s
11812 }
11813
11814 type GetObjectOutput struct {
11815 _ struct{} `type:"structure" payload:"Body"`
11816
11817 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
11818
11819 // Object data.
11820 Body io.ReadCloser `type:"blob"`
11821
11822 // Specifies caching behavior along the request/reply chain.
11823 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
11824
11825 // Specifies presentational information for the object.
11826 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
11827
11828 // Specifies what content encodings have been applied to the object and thus
11829 // what decoding mechanisms must be applied to obtain the media-type referenced
11830 // by the Content-Type header field.
11831 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
11832
11833 // The language the content is in.
11834 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
11835
11836 // Size of the body in bytes.
11837 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
11838
11839 // The portion of the object returned in the response.
11840 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
11841
11842 // A standard MIME type describing the format of the object data.
11843 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
11844
11845 // Specifies whether the object retrieved was (true) or was not (false) a Delete
11846 // Marker. If false, this response header does not appear in the response.
11847 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
11848
11849 // An ETag is an opaque identifier assigned by a web server to a specific version
11850 // of a resource found at a URL
11851 ETag *string `location:"header" locationName:"ETag" type:"string"`
11852
11853 // If the object expiration is configured (see PUT Bucket lifecycle), the response
11854 // includes this header. It includes the expiry-date and rule-id key value pairs
11855 // providing object expiration information. The value of the rule-id is URL
11856 // encoded.
11857 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
11858
11859 // The date and time at which the object is no longer cacheable.
11860 Expires *string `location:"header" locationName:"Expires" type:"string"`
11861
11862 // Last modified date of the object
11863 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
11864
11865 // A map of metadata to store with the object in S3.
11866 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
11867
11868 // This is set to the number of metadata entries not returned in x-amz-meta
11869 // headers. This can happen if you create metadata using an API like SOAP that
11870 // supports more flexible metadata than the REST API. For example, using SOAP,
11871 // you can create metadata whose values are not legal HTTP headers.
11872 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
11873
11874 // The count of parts this object has.
11875 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
11876
11877 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
11878
11879 // If present, indicates that the requester was successfully charged for the
11880 // request.
11881 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
11882
11883 // Provides information about object restoration operation and expiration time
11884 // of the restored object copy.
11885 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
11886
11887 // If server-side encryption with a customer-provided encryption key was requested,
11888 // the response will include this header confirming the encryption algorithm
11889 // used.
11890 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
11891
11892 // If server-side encryption with a customer-provided encryption key was requested,
11893 // the response will include this header to provide round trip message integrity
11894 // verification of the customer-provided encryption key.
11895 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
11896
11897 // If present, specifies the ID of the AWS Key Management Service (KMS) master
11898 // encryption key that was used for the object.
11899 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
11900
11901 // The Server-side encryption algorithm used when storing this object in S3
11902 // (e.g., AES256, aws:kms).
11903 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
11904
11905 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
11906
11907 // The number of tags, if any, on the object.
11908 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"`
11909
11910 // Version of the object.
11911 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
11912
11913 // If the bucket is configured as a website, redirects requests for this object
11914 // to another object in the same bucket or to an external URL. Amazon S3 stores
11915 // the value of this header in the object metadata.
11916 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
11917 }
11918
11919 // String returns the string representation
11920 func (s GetObjectOutput) String() string {
11921 return awsutil.Prettify(s)
11922 }
11923
11924 // GoString returns the string representation
11925 func (s GetObjectOutput) GoString() string {
11926 return s.String()
11927 }
11928
11929 // SetAcceptRanges sets the AcceptRanges field's value.
11930 func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput {
11931 s.AcceptRanges = &v
11932 return s
11933 }
11934
11935 // SetBody sets the Body field's value.
11936 func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput {
11937 s.Body = v
11938 return s
11939 }
11940
11941 // SetCacheControl sets the CacheControl field's value.
11942 func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput {
11943 s.CacheControl = &v
11944 return s
11945 }
11946
11947 // SetContentDisposition sets the ContentDisposition field's value.
11948 func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
11949 s.ContentDisposition = &v
11950 return s
11951 }
11952
11953 // SetContentEncoding sets the ContentEncoding field's value.
11954 func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput {
11955 s.ContentEncoding = &v
11956 return s
11957 }
11958
11959 // SetContentLanguage sets the ContentLanguage field's value.
11960 func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput {
11961 s.ContentLanguage = &v
11962 return s
11963 }
11964
11965 // SetContentLength sets the ContentLength field's value.
11966 func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput {
11967 s.ContentLength = &v
11968 return s
11969 }
11970
11971 // SetContentRange sets the ContentRange field's value.
11972 func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput {
11973 s.ContentRange = &v
11974 return s
11975 }
11976
11977 // SetContentType sets the ContentType field's value.
11978 func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput {
11979 s.ContentType = &v
11980 return s
11981 }
11982
11983 // SetDeleteMarker sets the DeleteMarker field's value.
11984 func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput {
11985 s.DeleteMarker = &v
11986 return s
11987 }
11988
11989 // SetETag sets the ETag field's value.
11990 func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput {
11991 s.ETag = &v
11992 return s
11993 }
11994
11995 // SetExpiration sets the Expiration field's value.
11996 func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput {
11997 s.Expiration = &v
11998 return s
11999 }
12000
12001 // SetExpires sets the Expires field's value.
12002 func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput {
12003 s.Expires = &v
12004 return s
12005 }
12006
12007 // SetLastModified sets the LastModified field's value.
12008 func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput {
12009 s.LastModified = &v
12010 return s
12011 }
12012
12013 // SetMetadata sets the Metadata field's value.
12014 func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput {
12015 s.Metadata = v
12016 return s
12017 }
12018
12019 // SetMissingMeta sets the MissingMeta field's value.
12020 func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput {
12021 s.MissingMeta = &v
12022 return s
12023 }
12024
12025 // SetPartsCount sets the PartsCount field's value.
12026 func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput {
12027 s.PartsCount = &v
12028 return s
12029 }
12030
12031 // SetReplicationStatus sets the ReplicationStatus field's value.
12032 func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput {
12033 s.ReplicationStatus = &v
12034 return s
12035 }
12036
12037 // SetRequestCharged sets the RequestCharged field's value.
12038 func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput {
12039 s.RequestCharged = &v
12040 return s
12041 }
12042
12043 // SetRestore sets the Restore field's value.
12044 func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput {
12045 s.Restore = &v
12046 return s
12047 }
12048
12049 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
12050 func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput {
12051 s.SSECustomerAlgorithm = &v
12052 return s
12053 }
12054
12055 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
12056 func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput {
12057 s.SSECustomerKeyMD5 = &v
12058 return s
12059 }
12060
12061 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
12062 func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput {
12063 s.SSEKMSKeyId = &v
12064 return s
12065 }
12066
12067 // SetServerSideEncryption sets the ServerSideEncryption field's value.
12068 func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput {
12069 s.ServerSideEncryption = &v
12070 return s
12071 }
12072
12073 // SetStorageClass sets the StorageClass field's value.
12074 func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput {
12075 s.StorageClass = &v
12076 return s
12077 }
12078
12079 // SetTagCount sets the TagCount field's value.
12080 func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput {
12081 s.TagCount = &v
12082 return s
12083 }
12084
12085 // SetVersionId sets the VersionId field's value.
12086 func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput {
12087 s.VersionId = &v
12088 return s
12089 }
12090
12091 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
12092 func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput {
12093 s.WebsiteRedirectLocation = &v
12094 return s
12095 }
12096
12097 type GetObjectTaggingInput struct {
12098 _ struct{} `type:"structure"`
12099
12100 // Bucket is a required field
12101 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12102
12103 // Key is a required field
12104 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12105
12106 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12107 }
12108
12109 // String returns the string representation
12110 func (s GetObjectTaggingInput) String() string {
12111 return awsutil.Prettify(s)
12112 }
12113
12114 // GoString returns the string representation
12115 func (s GetObjectTaggingInput) GoString() string {
12116 return s.String()
12117 }
12118
12119 // Validate inspects the fields of the type to determine if they are valid.
12120 func (s *GetObjectTaggingInput) Validate() error {
12121 invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"}
12122 if s.Bucket == nil {
12123 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12124 }
12125 if s.Key == nil {
12126 invalidParams.Add(request.NewErrParamRequired("Key"))
12127 }
12128 if s.Key != nil && len(*s.Key) < 1 {
12129 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12130 }
12131
12132 if invalidParams.Len() > 0 {
12133 return invalidParams
12134 }
12135 return nil
12136 }
12137
12138 // SetBucket sets the Bucket field's value.
12139 func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
12140 s.Bucket = &v
12141 return s
12142 }
12143
12144 func (s *GetObjectTaggingInput) getBucket() (v string) {
12145 if s.Bucket == nil {
12146 return v
12147 }
12148 return *s.Bucket
12149 }
12150
12151 // SetKey sets the Key field's value.
12152 func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
12153 s.Key = &v
12154 return s
12155 }
12156
12157 // SetVersionId sets the VersionId field's value.
12158 func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
12159 s.VersionId = &v
12160 return s
12161 }
12162
12163 type GetObjectTaggingOutput struct {
12164 _ struct{} `type:"structure"`
12165
12166 // TagSet is a required field
12167 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
12168
12169 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
12170 }
12171
12172 // String returns the string representation
12173 func (s GetObjectTaggingOutput) String() string {
12174 return awsutil.Prettify(s)
12175 }
12176
12177 // GoString returns the string representation
12178 func (s GetObjectTaggingOutput) GoString() string {
12179 return s.String()
12180 }
12181
12182 // SetTagSet sets the TagSet field's value.
12183 func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput {
12184 s.TagSet = v
12185 return s
12186 }
12187
12188 // SetVersionId sets the VersionId field's value.
12189 func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput {
12190 s.VersionId = &v
12191 return s
12192 }
12193
12194 type GetObjectTorrentInput struct {
12195 _ struct{} `type:"structure"`
12196
12197 // Bucket is a required field
12198 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12199
12200 // Key is a required field
12201 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12202
12203 // Confirms that the requester knows that she or he will be charged for the
12204 // request. Bucket owners need not specify this parameter in their requests.
12205 // Documentation on downloading objects from requester pays buckets can be found
12206 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12207 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12208 }
12209
12210 // String returns the string representation
12211 func (s GetObjectTorrentInput) String() string {
12212 return awsutil.Prettify(s)
12213 }
12214
12215 // GoString returns the string representation
12216 func (s GetObjectTorrentInput) GoString() string {
12217 return s.String()
12218 }
12219
12220 // Validate inspects the fields of the type to determine if they are valid.
12221 func (s *GetObjectTorrentInput) Validate() error {
12222 invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"}
12223 if s.Bucket == nil {
12224 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12225 }
12226 if s.Key == nil {
12227 invalidParams.Add(request.NewErrParamRequired("Key"))
12228 }
12229 if s.Key != nil && len(*s.Key) < 1 {
12230 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12231 }
12232
12233 if invalidParams.Len() > 0 {
12234 return invalidParams
12235 }
12236 return nil
12237 }
12238
12239 // SetBucket sets the Bucket field's value.
12240 func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
12241 s.Bucket = &v
12242 return s
12243 }
12244
12245 func (s *GetObjectTorrentInput) getBucket() (v string) {
12246 if s.Bucket == nil {
12247 return v
12248 }
12249 return *s.Bucket
12250 }
12251
12252 // SetKey sets the Key field's value.
12253 func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
12254 s.Key = &v
12255 return s
12256 }
12257
12258 // SetRequestPayer sets the RequestPayer field's value.
12259 func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput {
12260 s.RequestPayer = &v
12261 return s
12262 }
12263
12264 type GetObjectTorrentOutput struct {
12265 _ struct{} `type:"structure" payload:"Body"`
12266
12267 Body io.ReadCloser `type:"blob"`
12268
12269 // If present, indicates that the requester was successfully charged for the
12270 // request.
12271 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
12272 }
12273
12274 // String returns the string representation
12275 func (s GetObjectTorrentOutput) String() string {
12276 return awsutil.Prettify(s)
12277 }
12278
12279 // GoString returns the string representation
12280 func (s GetObjectTorrentOutput) GoString() string {
12281 return s.String()
12282 }
12283
12284 // SetBody sets the Body field's value.
12285 func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput {
12286 s.Body = v
12287 return s
12288 }
12289
12290 // SetRequestCharged sets the RequestCharged field's value.
12291 func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput {
12292 s.RequestCharged = &v
12293 return s
12294 }
12295
12296 type GlacierJobParameters struct {
12297 _ struct{} `type:"structure"`
12298
12299 // Glacier retrieval tier at which the restore will be processed.
12300 //
12301 // Tier is a required field
12302 Tier *string `type:"string" required:"true" enum:"Tier"`
12303 }
12304
12305 // String returns the string representation
12306 func (s GlacierJobParameters) String() string {
12307 return awsutil.Prettify(s)
12308 }
12309
12310 // GoString returns the string representation
12311 func (s GlacierJobParameters) GoString() string {
12312 return s.String()
12313 }
12314
12315 // Validate inspects the fields of the type to determine if they are valid.
12316 func (s *GlacierJobParameters) Validate() error {
12317 invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"}
12318 if s.Tier == nil {
12319 invalidParams.Add(request.NewErrParamRequired("Tier"))
12320 }
12321
12322 if invalidParams.Len() > 0 {
12323 return invalidParams
12324 }
12325 return nil
12326 }
12327
12328 // SetTier sets the Tier field's value.
12329 func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
12330 s.Tier = &v
12331 return s
12332 }
12333
12334 type Grant struct {
12335 _ struct{} `type:"structure"`
12336
12337 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
12338
12339 // Specifies the permission given to the grantee.
12340 Permission *string `type:"string" enum:"Permission"`
12341 }
12342
12343 // String returns the string representation
12344 func (s Grant) String() string {
12345 return awsutil.Prettify(s)
12346 }
12347
12348 // GoString returns the string representation
12349 func (s Grant) GoString() string {
12350 return s.String()
12351 }
12352
12353 // Validate inspects the fields of the type to determine if they are valid.
12354 func (s *Grant) Validate() error {
12355 invalidParams := request.ErrInvalidParams{Context: "Grant"}
12356 if s.Grantee != nil {
12357 if err := s.Grantee.Validate(); err != nil {
12358 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
12359 }
12360 }
12361
12362 if invalidParams.Len() > 0 {
12363 return invalidParams
12364 }
12365 return nil
12366 }
12367
12368 // SetGrantee sets the Grantee field's value.
12369 func (s *Grant) SetGrantee(v *Grantee) *Grant {
12370 s.Grantee = v
12371 return s
12372 }
12373
12374 // SetPermission sets the Permission field's value.
12375 func (s *Grant) SetPermission(v string) *Grant {
12376 s.Permission = &v
12377 return s
12378 }
12379
12380 type Grantee struct {
12381 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
12382
12383 // Screen name of the grantee.
12384 DisplayName *string `type:"string"`
12385
12386 // Email address of the grantee.
12387 EmailAddress *string `type:"string"`
12388
12389 // The canonical user ID of the grantee.
12390 ID *string `type:"string"`
12391
12392 // Type of grantee
12393 //
12394 // Type is a required field
12395 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"`
12396
12397 // URI of the grantee group.
12398 URI *string `type:"string"`
12399 }
12400
12401 // String returns the string representation
12402 func (s Grantee) String() string {
12403 return awsutil.Prettify(s)
12404 }
12405
12406 // GoString returns the string representation
12407 func (s Grantee) GoString() string {
12408 return s.String()
12409 }
12410
12411 // Validate inspects the fields of the type to determine if they are valid.
12412 func (s *Grantee) Validate() error {
12413 invalidParams := request.ErrInvalidParams{Context: "Grantee"}
12414 if s.Type == nil {
12415 invalidParams.Add(request.NewErrParamRequired("Type"))
12416 }
12417
12418 if invalidParams.Len() > 0 {
12419 return invalidParams
12420 }
12421 return nil
12422 }
12423
12424 // SetDisplayName sets the DisplayName field's value.
12425 func (s *Grantee) SetDisplayName(v string) *Grantee {
12426 s.DisplayName = &v
12427 return s
12428 }
12429
12430 // SetEmailAddress sets the EmailAddress field's value.
12431 func (s *Grantee) SetEmailAddress(v string) *Grantee {
12432 s.EmailAddress = &v
12433 return s
12434 }
12435
12436 // SetID sets the ID field's value.
12437 func (s *Grantee) SetID(v string) *Grantee {
12438 s.ID = &v
12439 return s
12440 }
12441
12442 // SetType sets the Type field's value.
12443 func (s *Grantee) SetType(v string) *Grantee {
12444 s.Type = &v
12445 return s
12446 }
12447
12448 // SetURI sets the URI field's value.
12449 func (s *Grantee) SetURI(v string) *Grantee {
12450 s.URI = &v
12451 return s
12452 }
12453
12454 type HeadBucketInput struct {
12455 _ struct{} `type:"structure"`
12456
12457 // Bucket is a required field
12458 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12459 }
12460
12461 // String returns the string representation
12462 func (s HeadBucketInput) String() string {
12463 return awsutil.Prettify(s)
12464 }
12465
12466 // GoString returns the string representation
12467 func (s HeadBucketInput) GoString() string {
12468 return s.String()
12469 }
12470
12471 // Validate inspects the fields of the type to determine if they are valid.
12472 func (s *HeadBucketInput) Validate() error {
12473 invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"}
12474 if s.Bucket == nil {
12475 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12476 }
12477
12478 if invalidParams.Len() > 0 {
12479 return invalidParams
12480 }
12481 return nil
12482 }
12483
12484 // SetBucket sets the Bucket field's value.
12485 func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
12486 s.Bucket = &v
12487 return s
12488 }
12489
12490 func (s *HeadBucketInput) getBucket() (v string) {
12491 if s.Bucket == nil {
12492 return v
12493 }
12494 return *s.Bucket
12495 }
12496
12497 type HeadBucketOutput struct {
12498 _ struct{} `type:"structure"`
12499 }
12500
12501 // String returns the string representation
12502 func (s HeadBucketOutput) String() string {
12503 return awsutil.Prettify(s)
12504 }
12505
12506 // GoString returns the string representation
12507 func (s HeadBucketOutput) GoString() string {
12508 return s.String()
12509 }
12510
12511 type HeadObjectInput struct {
12512 _ struct{} `type:"structure"`
12513
12514 // Bucket is a required field
12515 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12516
12517 // Return the object only if its entity tag (ETag) is the same as the one specified,
12518 // otherwise return a 412 (precondition failed).
12519 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
12520
12521 // Return the object only if it has been modified since the specified time,
12522 // otherwise return a 304 (not modified).
12523 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
12524
12525 // Return the object only if its entity tag (ETag) is different from the one
12526 // specified, otherwise return a 304 (not modified).
12527 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
12528
12529 // Return the object only if it has not been modified since the specified time,
12530 // otherwise return a 412 (precondition failed).
12531 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
12532
12533 // Key is a required field
12534 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12535
12536 // Part number of the object being read. This is a positive integer between
12537 // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified.
12538 // Useful querying about the size of the part and the number of parts in this
12539 // object.
12540 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
12541
12542 // Downloads the specified range bytes of an object. For more information about
12543 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
12544 Range *string `location:"header" locationName:"Range" type:"string"`
12545
12546 // Confirms that the requester knows that she or he will be charged for the
12547 // request. Bucket owners need not specify this parameter in their requests.
12548 // Documentation on downloading objects from requester pays buckets can be found
12549 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12550 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12551
12552 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
12553 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
12554
12555 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
12556 // data. This value is used to store the object and then it is discarded; Amazon
12557 // does not store the encryption key. The key must be appropriate for use with
12558 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
12559 // header.
12560 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
12561
12562 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
12563 // Amazon S3 uses this header for a message integrity check to ensure the encryption
12564 // key was transmitted without error.
12565 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
12566
12567 // VersionId used to reference a specific version of the object.
12568 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12569 }
12570
12571 // String returns the string representation
12572 func (s HeadObjectInput) String() string {
12573 return awsutil.Prettify(s)
12574 }
12575
12576 // GoString returns the string representation
12577 func (s HeadObjectInput) GoString() string {
12578 return s.String()
12579 }
12580
12581 // Validate inspects the fields of the type to determine if they are valid.
12582 func (s *HeadObjectInput) Validate() error {
12583 invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"}
12584 if s.Bucket == nil {
12585 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12586 }
12587 if s.Key == nil {
12588 invalidParams.Add(request.NewErrParamRequired("Key"))
12589 }
12590 if s.Key != nil && len(*s.Key) < 1 {
12591 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12592 }
12593
12594 if invalidParams.Len() > 0 {
12595 return invalidParams
12596 }
12597 return nil
12598 }
12599
12600 // SetBucket sets the Bucket field's value.
12601 func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
12602 s.Bucket = &v
12603 return s
12604 }
12605
12606 func (s *HeadObjectInput) getBucket() (v string) {
12607 if s.Bucket == nil {
12608 return v
12609 }
12610 return *s.Bucket
12611 }
12612
12613 // SetIfMatch sets the IfMatch field's value.
12614 func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
12615 s.IfMatch = &v
12616 return s
12617 }
12618
12619 // SetIfModifiedSince sets the IfModifiedSince field's value.
12620 func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput {
12621 s.IfModifiedSince = &v
12622 return s
12623 }
12624
12625 // SetIfNoneMatch sets the IfNoneMatch field's value.
12626 func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput {
12627 s.IfNoneMatch = &v
12628 return s
12629 }
12630
12631 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
12632 func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput {
12633 s.IfUnmodifiedSince = &v
12634 return s
12635 }
12636
12637 // SetKey sets the Key field's value.
12638 func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput {
12639 s.Key = &v
12640 return s
12641 }
12642
12643 // SetPartNumber sets the PartNumber field's value.
12644 func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput {
12645 s.PartNumber = &v
12646 return s
12647 }
12648
12649 // SetRange sets the Range field's value.
12650 func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput {
12651 s.Range = &v
12652 return s
12653 }
12654
12655 // SetRequestPayer sets the RequestPayer field's value.
12656 func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput {
12657 s.RequestPayer = &v
12658 return s
12659 }
12660
12661 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
12662 func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput {
12663 s.SSECustomerAlgorithm = &v
12664 return s
12665 }
12666
12667 // SetSSECustomerKey sets the SSECustomerKey field's value.
12668 func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
12669 s.SSECustomerKey = &v
12670 return s
12671 }
12672
12673 func (s *HeadObjectInput) getSSECustomerKey() (v string) {
12674 if s.SSECustomerKey == nil {
12675 return v
12676 }
12677 return *s.SSECustomerKey
12678 }
12679
12680 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
12681 func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
12682 s.SSECustomerKeyMD5 = &v
12683 return s
12684 }
12685
12686 // SetVersionId sets the VersionId field's value.
12687 func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
12688 s.VersionId = &v
12689 return s
12690 }
12691
12692 type HeadObjectOutput struct {
12693 _ struct{} `type:"structure"`
12694
12695 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
12696
12697 // Specifies caching behavior along the request/reply chain.
12698 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
12699
12700 // Specifies presentational information for the object.
12701 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
12702
12703 // Specifies what content encodings have been applied to the object and thus
12704 // what decoding mechanisms must be applied to obtain the media-type referenced
12705 // by the Content-Type header field.
12706 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
12707
12708 // The language the content is in.
12709 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
12710
12711 // Size of the body in bytes.
12712 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
12713
12714 // A standard MIME type describing the format of the object data.
12715 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
12716
12717 // Specifies whether the object retrieved was (true) or was not (false) a Delete
12718 // Marker. If false, this response header does not appear in the response.
12719 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
12720
12721 // An ETag is an opaque identifier assigned by a web server to a specific version
12722 // of a resource found at a URL
12723 ETag *string `location:"header" locationName:"ETag" type:"string"`
12724
12725 // If the object expiration is configured (see PUT Bucket lifecycle), the response
12726 // includes this header. It includes the expiry-date and rule-id key value pairs
12727 // providing object expiration information. The value of the rule-id is URL
12728 // encoded.
12729 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
12730
12731 // The date and time at which the object is no longer cacheable.
12732 Expires *string `location:"header" locationName:"Expires" type:"string"`
12733
12734 // Last modified date of the object
12735 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
12736
12737 // A map of metadata to store with the object in S3.
12738 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
12739
12740 // This is set to the number of metadata entries not returned in x-amz-meta
12741 // headers. This can happen if you create metadata using an API like SOAP that
12742 // supports more flexible metadata than the REST API. For example, using SOAP,
12743 // you can create metadata whose values are not legal HTTP headers.
12744 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
12745
12746 // The count of parts this object has.
12747 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
12748
12749 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
12750
12751 // If present, indicates that the requester was successfully charged for the
12752 // request.
12753 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
12754
12755 // Provides information about object restoration operation and expiration time
12756 // of the restored object copy.
12757 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
12758
12759 // If server-side encryption with a customer-provided encryption key was requested,
12760 // the response will include this header confirming the encryption algorithm
12761 // used.
12762 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
12763
12764 // If server-side encryption with a customer-provided encryption key was requested,
12765 // the response will include this header to provide round trip message integrity
12766 // verification of the customer-provided encryption key.
12767 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
12768
12769 // If present, specifies the ID of the AWS Key Management Service (KMS) master
12770 // encryption key that was used for the object.
12771 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
12772
12773 // The Server-side encryption algorithm used when storing this object in S3
12774 // (e.g., AES256, aws:kms).
12775 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
12776
12777 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
12778
12779 // Version of the object.
12780 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
12781
12782 // If the bucket is configured as a website, redirects requests for this object
12783 // to another object in the same bucket or to an external URL. Amazon S3 stores
12784 // the value of this header in the object metadata.
12785 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
12786 }
12787
12788 // String returns the string representation
12789 func (s HeadObjectOutput) String() string {
12790 return awsutil.Prettify(s)
12791 }
12792
12793 // GoString returns the string representation
12794 func (s HeadObjectOutput) GoString() string {
12795 return s.String()
12796 }
12797
12798 // SetAcceptRanges sets the AcceptRanges field's value.
12799 func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
12800 s.AcceptRanges = &v
12801 return s
12802 }
12803
12804 // SetCacheControl sets the CacheControl field's value.
12805 func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
12806 s.CacheControl = &v
12807 return s
12808 }
12809
12810 // SetContentDisposition sets the ContentDisposition field's value.
12811 func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
12812 s.ContentDisposition = &v
12813 return s
12814 }
12815
12816 // SetContentEncoding sets the ContentEncoding field's value.
12817 func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput {
12818 s.ContentEncoding = &v
12819 return s
12820 }
12821
12822 // SetContentLanguage sets the ContentLanguage field's value.
12823 func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput {
12824 s.ContentLanguage = &v
12825 return s
12826 }
12827
12828 // SetContentLength sets the ContentLength field's value.
12829 func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput {
12830 s.ContentLength = &v
12831 return s
12832 }
12833
12834 // SetContentType sets the ContentType field's value.
12835 func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput {
12836 s.ContentType = &v
12837 return s
12838 }
12839
12840 // SetDeleteMarker sets the DeleteMarker field's value.
12841 func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput {
12842 s.DeleteMarker = &v
12843 return s
12844 }
12845
12846 // SetETag sets the ETag field's value.
12847 func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput {
12848 s.ETag = &v
12849 return s
12850 }
12851
12852 // SetExpiration sets the Expiration field's value.
12853 func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput {
12854 s.Expiration = &v
12855 return s
12856 }
12857
12858 // SetExpires sets the Expires field's value.
12859 func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput {
12860 s.Expires = &v
12861 return s
12862 }
12863
12864 // SetLastModified sets the LastModified field's value.
12865 func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput {
12866 s.LastModified = &v
12867 return s
12868 }
12869
12870 // SetMetadata sets the Metadata field's value.
12871 func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput {
12872 s.Metadata = v
12873 return s
12874 }
12875
12876 // SetMissingMeta sets the MissingMeta field's value.
12877 func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput {
12878 s.MissingMeta = &v
12879 return s
12880 }
12881
12882 // SetPartsCount sets the PartsCount field's value.
12883 func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput {
12884 s.PartsCount = &v
12885 return s
12886 }
12887
12888 // SetReplicationStatus sets the ReplicationStatus field's value.
12889 func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput {
12890 s.ReplicationStatus = &v
12891 return s
12892 }
12893
12894 // SetRequestCharged sets the RequestCharged field's value.
12895 func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput {
12896 s.RequestCharged = &v
12897 return s
12898 }
12899
12900 // SetRestore sets the Restore field's value.
12901 func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput {
12902 s.Restore = &v
12903 return s
12904 }
12905
12906 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
12907 func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput {
12908 s.SSECustomerAlgorithm = &v
12909 return s
12910 }
12911
12912 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
12913 func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput {
12914 s.SSECustomerKeyMD5 = &v
12915 return s
12916 }
12917
12918 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
12919 func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput {
12920 s.SSEKMSKeyId = &v
12921 return s
12922 }
12923
12924 // SetServerSideEncryption sets the ServerSideEncryption field's value.
12925 func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput {
12926 s.ServerSideEncryption = &v
12927 return s
12928 }
12929
12930 // SetStorageClass sets the StorageClass field's value.
12931 func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput {
12932 s.StorageClass = &v
12933 return s
12934 }
12935
12936 // SetVersionId sets the VersionId field's value.
12937 func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput {
12938 s.VersionId = &v
12939 return s
12940 }
12941
12942 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
12943 func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput {
12944 s.WebsiteRedirectLocation = &v
12945 return s
12946 }
12947
12948 type IndexDocument struct {
12949 _ struct{} `type:"structure"`
12950
12951 // A suffix that is appended to a request that is for a directory on the website
12952 // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
12953 // the data that is returned will be for the object with the key name images/index.html)
12954 // The suffix must not be empty and must not include a slash character.
12955 //
12956 // Suffix is a required field
12957 Suffix *string `type:"string" required:"true"`
12958 }
12959
12960 // String returns the string representation
12961 func (s IndexDocument) String() string {
12962 return awsutil.Prettify(s)
12963 }
12964
12965 // GoString returns the string representation
12966 func (s IndexDocument) GoString() string {
12967 return s.String()
12968 }
12969
12970 // Validate inspects the fields of the type to determine if they are valid.
12971 func (s *IndexDocument) Validate() error {
12972 invalidParams := request.ErrInvalidParams{Context: "IndexDocument"}
12973 if s.Suffix == nil {
12974 invalidParams.Add(request.NewErrParamRequired("Suffix"))
12975 }
12976
12977 if invalidParams.Len() > 0 {
12978 return invalidParams
12979 }
12980 return nil
12981 }
12982
12983 // SetSuffix sets the Suffix field's value.
12984 func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
12985 s.Suffix = &v
12986 return s
12987 }
12988
12989 type Initiator struct {
12990 _ struct{} `type:"structure"`
12991
12992 // Name of the Principal.
12993 DisplayName *string `type:"string"`
12994
12995 // If the principal is an AWS account, it provides the Canonical User ID. If
12996 // the principal is an IAM User, it provides a user ARN value.
12997 ID *string `type:"string"`
12998 }
12999
13000 // String returns the string representation
13001 func (s Initiator) String() string {
13002 return awsutil.Prettify(s)
13003 }
13004
13005 // GoString returns the string representation
13006 func (s Initiator) GoString() string {
13007 return s.String()
13008 }
13009
13010 // SetDisplayName sets the DisplayName field's value.
13011 func (s *Initiator) SetDisplayName(v string) *Initiator {
13012 s.DisplayName = &v
13013 return s
13014 }
13015
13016 // SetID sets the ID field's value.
13017 func (s *Initiator) SetID(v string) *Initiator {
13018 s.ID = &v
13019 return s
13020 }
13021
13022 // Describes the serialization format of the object.
13023 type InputSerialization struct {
13024 _ struct{} `type:"structure"`
13025
13026 // Describes the serialization of a CSV-encoded object.
13027 CSV *CSVInput `type:"structure"`
13028
13029 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default
13030 // Value: NONE.
13031 CompressionType *string `type:"string" enum:"CompressionType"`
13032
13033 // Specifies JSON as object's input serialization format.
13034 JSON *JSONInput `type:"structure"`
13035 }
13036
13037 // String returns the string representation
13038 func (s InputSerialization) String() string {
13039 return awsutil.Prettify(s)
13040 }
13041
13042 // GoString returns the string representation
13043 func (s InputSerialization) GoString() string {
13044 return s.String()
13045 }
13046
13047 // SetCSV sets the CSV field's value.
13048 func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
13049 s.CSV = v
13050 return s
13051 }
13052
13053 // SetCompressionType sets the CompressionType field's value.
13054 func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
13055 s.CompressionType = &v
13056 return s
13057 }
13058
13059 // SetJSON sets the JSON field's value.
13060 func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
13061 s.JSON = v
13062 return s
13063 }
13064
13065 type InventoryConfiguration struct {
13066 _ struct{} `type:"structure"`
13067
13068 // Contains information about where to publish the inventory results.
13069 //
13070 // Destination is a required field
13071 Destination *InventoryDestination `type:"structure" required:"true"`
13072
13073 // Specifies an inventory filter. The inventory only includes objects that meet
13074 // the filter's criteria.
13075 Filter *InventoryFilter `type:"structure"`
13076
13077 // The ID used to identify the inventory configuration.
13078 //
13079 // Id is a required field
13080 Id *string `type:"string" required:"true"`
13081
13082 // Specifies which object version(s) to included in the inventory results.
13083 //
13084 // IncludedObjectVersions is a required field
13085 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
13086
13087 // Specifies whether the inventory is enabled or disabled.
13088 //
13089 // IsEnabled is a required field
13090 IsEnabled *bool `type:"boolean" required:"true"`
13091
13092 // Contains the optional fields that are included in the inventory results.
13093 OptionalFields []*string `locationNameList:"Field" type:"list"`
13094
13095 // Specifies the schedule for generating inventory results.
13096 //
13097 // Schedule is a required field
13098 Schedule *InventorySchedule `type:"structure" required:"true"`
13099 }
13100
13101 // String returns the string representation
13102 func (s InventoryConfiguration) String() string {
13103 return awsutil.Prettify(s)
13104 }
13105
13106 // GoString returns the string representation
13107 func (s InventoryConfiguration) GoString() string {
13108 return s.String()
13109 }
13110
13111 // Validate inspects the fields of the type to determine if they are valid.
13112 func (s *InventoryConfiguration) Validate() error {
13113 invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"}
13114 if s.Destination == nil {
13115 invalidParams.Add(request.NewErrParamRequired("Destination"))
13116 }
13117 if s.Id == nil {
13118 invalidParams.Add(request.NewErrParamRequired("Id"))
13119 }
13120 if s.IncludedObjectVersions == nil {
13121 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions"))
13122 }
13123 if s.IsEnabled == nil {
13124 invalidParams.Add(request.NewErrParamRequired("IsEnabled"))
13125 }
13126 if s.Schedule == nil {
13127 invalidParams.Add(request.NewErrParamRequired("Schedule"))
13128 }
13129 if s.Destination != nil {
13130 if err := s.Destination.Validate(); err != nil {
13131 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
13132 }
13133 }
13134 if s.Filter != nil {
13135 if err := s.Filter.Validate(); err != nil {
13136 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
13137 }
13138 }
13139 if s.Schedule != nil {
13140 if err := s.Schedule.Validate(); err != nil {
13141 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
13142 }
13143 }
13144
13145 if invalidParams.Len() > 0 {
13146 return invalidParams
13147 }
13148 return nil
13149 }
13150
13151 // SetDestination sets the Destination field's value.
13152 func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration {
13153 s.Destination = v
13154 return s
13155 }
13156
13157 // SetFilter sets the Filter field's value.
13158 func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration {
13159 s.Filter = v
13160 return s
13161 }
13162
13163 // SetId sets the Id field's value.
13164 func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration {
13165 s.Id = &v
13166 return s
13167 }
13168
13169 // SetIncludedObjectVersions sets the IncludedObjectVersions field's value.
13170 func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration {
13171 s.IncludedObjectVersions = &v
13172 return s
13173 }
13174
13175 // SetIsEnabled sets the IsEnabled field's value.
13176 func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration {
13177 s.IsEnabled = &v
13178 return s
13179 }
13180
13181 // SetOptionalFields sets the OptionalFields field's value.
13182 func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration {
13183 s.OptionalFields = v
13184 return s
13185 }
13186
13187 // SetSchedule sets the Schedule field's value.
13188 func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration {
13189 s.Schedule = v
13190 return s
13191 }
13192
13193 type InventoryDestination struct {
13194 _ struct{} `type:"structure"`
13195
13196 // Contains the bucket name, file format, bucket owner (optional), and prefix
13197 // (optional) where inventory results are published.
13198 //
13199 // S3BucketDestination is a required field
13200 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"`
13201 }
13202
13203 // String returns the string representation
13204 func (s InventoryDestination) String() string {
13205 return awsutil.Prettify(s)
13206 }
13207
13208 // GoString returns the string representation
13209 func (s InventoryDestination) GoString() string {
13210 return s.String()
13211 }
13212
13213 // Validate inspects the fields of the type to determine if they are valid.
13214 func (s *InventoryDestination) Validate() error {
13215 invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"}
13216 if s.S3BucketDestination == nil {
13217 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
13218 }
13219 if s.S3BucketDestination != nil {
13220 if err := s.S3BucketDestination.Validate(); err != nil {
13221 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
13222 }
13223 }
13224
13225 if invalidParams.Len() > 0 {
13226 return invalidParams
13227 }
13228 return nil
13229 }
13230
13231 // SetS3BucketDestination sets the S3BucketDestination field's value.
13232 func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination {
13233 s.S3BucketDestination = v
13234 return s
13235 }
13236
13237 // Contains the type of server-side encryption used to encrypt the inventory
13238 // results.
13239 type InventoryEncryption struct {
13240 _ struct{} `type:"structure"`
13241
13242 // Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
13243 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
13244
13245 // Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
13246 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
13247 }
13248
13249 // String returns the string representation
13250 func (s InventoryEncryption) String() string {
13251 return awsutil.Prettify(s)
13252 }
13253
13254 // GoString returns the string representation
13255 func (s InventoryEncryption) GoString() string {
13256 return s.String()
13257 }
13258
13259 // Validate inspects the fields of the type to determine if they are valid.
13260 func (s *InventoryEncryption) Validate() error {
13261 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"}
13262 if s.SSEKMS != nil {
13263 if err := s.SSEKMS.Validate(); err != nil {
13264 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams))
13265 }
13266 }
13267
13268 if invalidParams.Len() > 0 {
13269 return invalidParams
13270 }
13271 return nil
13272 }
13273
13274 // SetSSEKMS sets the SSEKMS field's value.
13275 func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
13276 s.SSEKMS = v
13277 return s
13278 }
13279
13280 // SetSSES3 sets the SSES3 field's value.
13281 func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
13282 s.SSES3 = v
13283 return s
13284 }
13285
13286 type InventoryFilter struct {
13287 _ struct{} `type:"structure"`
13288
13289 // The prefix that an object must have to be included in the inventory results.
13290 //
13291 // Prefix is a required field
13292 Prefix *string `type:"string" required:"true"`
13293 }
13294
13295 // String returns the string representation
13296 func (s InventoryFilter) String() string {
13297 return awsutil.Prettify(s)
13298 }
13299
13300 // GoString returns the string representation
13301 func (s InventoryFilter) GoString() string {
13302 return s.String()
13303 }
13304
13305 // Validate inspects the fields of the type to determine if they are valid.
13306 func (s *InventoryFilter) Validate() error {
13307 invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
13308 if s.Prefix == nil {
13309 invalidParams.Add(request.NewErrParamRequired("Prefix"))
13310 }
13311
13312 if invalidParams.Len() > 0 {
13313 return invalidParams
13314 }
13315 return nil
13316 }
13317
13318 // SetPrefix sets the Prefix field's value.
13319 func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
13320 s.Prefix = &v
13321 return s
13322 }
13323
13324 type InventoryS3BucketDestination struct {
13325 _ struct{} `type:"structure"`
13326
13327 // The ID of the account that owns the destination bucket.
13328 AccountId *string `type:"string"`
13329
13330 // The Amazon resource name (ARN) of the bucket where inventory results will
13331 // be published.
13332 //
13333 // Bucket is a required field
13334 Bucket *string `type:"string" required:"true"`
13335
13336 // Contains the type of server-side encryption used to encrypt the inventory
13337 // results.
13338 Encryption *InventoryEncryption `type:"structure"`
13339
13340 // Specifies the output format of the inventory results.
13341 //
13342 // Format is a required field
13343 Format *string `type:"string" required:"true" enum:"InventoryFormat"`
13344
13345 // The prefix that is prepended to all inventory results.
13346 Prefix *string `type:"string"`
13347 }
13348
13349 // String returns the string representation
13350 func (s InventoryS3BucketDestination) String() string {
13351 return awsutil.Prettify(s)
13352 }
13353
13354 // GoString returns the string representation
13355 func (s InventoryS3BucketDestination) GoString() string {
13356 return s.String()
13357 }
13358
13359 // Validate inspects the fields of the type to determine if they are valid.
13360 func (s *InventoryS3BucketDestination) Validate() error {
13361 invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"}
13362 if s.Bucket == nil {
13363 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13364 }
13365 if s.Format == nil {
13366 invalidParams.Add(request.NewErrParamRequired("Format"))
13367 }
13368 if s.Encryption != nil {
13369 if err := s.Encryption.Validate(); err != nil {
13370 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
13371 }
13372 }
13373
13374 if invalidParams.Len() > 0 {
13375 return invalidParams
13376 }
13377 return nil
13378 }
13379
13380 // SetAccountId sets the AccountId field's value.
13381 func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination {
13382 s.AccountId = &v
13383 return s
13384 }
13385
13386 // SetBucket sets the Bucket field's value.
13387 func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination {
13388 s.Bucket = &v
13389 return s
13390 }
13391
13392 func (s *InventoryS3BucketDestination) getBucket() (v string) {
13393 if s.Bucket == nil {
13394 return v
13395 }
13396 return *s.Bucket
13397 }
13398
13399 // SetEncryption sets the Encryption field's value.
13400 func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
13401 s.Encryption = v
13402 return s
13403 }
13404
13405 // SetFormat sets the Format field's value.
13406 func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
13407 s.Format = &v
13408 return s
13409 }
13410
13411 // SetPrefix sets the Prefix field's value.
13412 func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination {
13413 s.Prefix = &v
13414 return s
13415 }
13416
13417 type InventorySchedule struct {
13418 _ struct{} `type:"structure"`
13419
13420 // Specifies how frequently inventory results are produced.
13421 //
13422 // Frequency is a required field
13423 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"`
13424 }
13425
13426 // String returns the string representation
13427 func (s InventorySchedule) String() string {
13428 return awsutil.Prettify(s)
13429 }
13430
13431 // GoString returns the string representation
13432 func (s InventorySchedule) GoString() string {
13433 return s.String()
13434 }
13435
13436 // Validate inspects the fields of the type to determine if they are valid.
13437 func (s *InventorySchedule) Validate() error {
13438 invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"}
13439 if s.Frequency == nil {
13440 invalidParams.Add(request.NewErrParamRequired("Frequency"))
13441 }
13442
13443 if invalidParams.Len() > 0 {
13444 return invalidParams
13445 }
13446 return nil
13447 }
13448
13449 // SetFrequency sets the Frequency field's value.
13450 func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
13451 s.Frequency = &v
13452 return s
13453 }
13454
13455 type JSONInput struct {
13456 _ struct{} `type:"structure"`
13457
13458 // The type of JSON. Valid values: Document, Lines.
13459 Type *string `type:"string" enum:"JSONType"`
13460 }
13461
13462 // String returns the string representation
13463 func (s JSONInput) String() string {
13464 return awsutil.Prettify(s)
13465 }
13466
13467 // GoString returns the string representation
13468 func (s JSONInput) GoString() string {
13469 return s.String()
13470 }
13471
13472 // SetType sets the Type field's value.
13473 func (s *JSONInput) SetType(v string) *JSONInput {
13474 s.Type = &v
13475 return s
13476 }
13477
13478 type JSONOutput struct {
13479 _ struct{} `type:"structure"`
13480
13481 // The value used to separate individual records in the output.
13482 RecordDelimiter *string `type:"string"`
13483 }
13484
13485 // String returns the string representation
13486 func (s JSONOutput) String() string {
13487 return awsutil.Prettify(s)
13488 }
13489
13490 // GoString returns the string representation
13491 func (s JSONOutput) GoString() string {
13492 return s.String()
13493 }
13494
13495 // SetRecordDelimiter sets the RecordDelimiter field's value.
13496 func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
13497 s.RecordDelimiter = &v
13498 return s
13499 }
13500
13501 // Container for object key name prefix and suffix filtering rules.
13502 type KeyFilter struct {
13503 _ struct{} `type:"structure"`
13504
13505 // A list of containers for key value pair that defines the criteria for the
13506 // filter rule.
13507 FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"`
13508 }
13509
13510 // String returns the string representation
13511 func (s KeyFilter) String() string {
13512 return awsutil.Prettify(s)
13513 }
13514
13515 // GoString returns the string representation
13516 func (s KeyFilter) GoString() string {
13517 return s.String()
13518 }
13519
13520 // SetFilterRules sets the FilterRules field's value.
13521 func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
13522 s.FilterRules = v
13523 return s
13524 }
13525
13526 // Container for specifying the AWS Lambda notification configuration.
13527 type LambdaFunctionConfiguration struct {
13528 _ struct{} `type:"structure"`
13529
13530 // Events is a required field
13531 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
13532
13533 // Container for object key name filtering rules. For information about key
13534 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
13535 // in the Amazon Simple Storage Service Developer Guide.
13536 Filter *NotificationConfigurationFilter `type:"structure"`
13537
13538 // Optional unique identifier for configurations in a notification configuration.
13539 // If you don't provide one, Amazon S3 will assign an ID.
13540 Id *string `type:"string"`
13541
13542 // Lambda cloud function ARN that Amazon S3 can invoke when it detects events
13543 // of the specified type.
13544 //
13545 // LambdaFunctionArn is a required field
13546 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
13547 }
13548
13549 // String returns the string representation
13550 func (s LambdaFunctionConfiguration) String() string {
13551 return awsutil.Prettify(s)
13552 }
13553
13554 // GoString returns the string representation
13555 func (s LambdaFunctionConfiguration) GoString() string {
13556 return s.String()
13557 }
13558
13559 // Validate inspects the fields of the type to determine if they are valid.
13560 func (s *LambdaFunctionConfiguration) Validate() error {
13561 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"}
13562 if s.Events == nil {
13563 invalidParams.Add(request.NewErrParamRequired("Events"))
13564 }
13565 if s.LambdaFunctionArn == nil {
13566 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
13567 }
13568
13569 if invalidParams.Len() > 0 {
13570 return invalidParams
13571 }
13572 return nil
13573 }
13574
13575 // SetEvents sets the Events field's value.
13576 func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration {
13577 s.Events = v
13578 return s
13579 }
13580
13581 // SetFilter sets the Filter field's value.
13582 func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration {
13583 s.Filter = v
13584 return s
13585 }
13586
13587 // SetId sets the Id field's value.
13588 func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration {
13589 s.Id = &v
13590 return s
13591 }
13592
13593 // SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
13594 func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration {
13595 s.LambdaFunctionArn = &v
13596 return s
13597 }
13598
13599 type LifecycleConfiguration struct {
13600 _ struct{} `type:"structure"`
13601
13602 // Rules is a required field
13603 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
13604 }
13605
13606 // String returns the string representation
13607 func (s LifecycleConfiguration) String() string {
13608 return awsutil.Prettify(s)
13609 }
13610
13611 // GoString returns the string representation
13612 func (s LifecycleConfiguration) GoString() string {
13613 return s.String()
13614 }
13615
13616 // Validate inspects the fields of the type to determine if they are valid.
13617 func (s *LifecycleConfiguration) Validate() error {
13618 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"}
13619 if s.Rules == nil {
13620 invalidParams.Add(request.NewErrParamRequired("Rules"))
13621 }
13622 if s.Rules != nil {
13623 for i, v := range s.Rules {
13624 if v == nil {
13625 continue
13626 }
13627 if err := v.Validate(); err != nil {
13628 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
13629 }
13630 }
13631 }
13632
13633 if invalidParams.Len() > 0 {
13634 return invalidParams
13635 }
13636 return nil
13637 }
13638
13639 // SetRules sets the Rules field's value.
13640 func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
13641 s.Rules = v
13642 return s
13643 }
13644
13645 type LifecycleExpiration struct {
13646 _ struct{} `type:"structure"`
13647
13648 // Indicates at what date the object is to be moved or deleted. Should be in
13649 // GMT ISO 8601 Format.
13650 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
13651
13652 // Indicates the lifetime, in days, of the objects that are subject to the rule.
13653 // The value must be a non-zero positive integer.
13654 Days *int64 `type:"integer"`
13655
13656 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent
13657 // versions. If set to true, the delete marker will be expired; if set to false
13658 // the policy takes no action. This cannot be specified with Days or Date in
13659 // a Lifecycle Expiration Policy.
13660 ExpiredObjectDeleteMarker *bool `type:"boolean"`
13661 }
13662
13663 // String returns the string representation
13664 func (s LifecycleExpiration) String() string {
13665 return awsutil.Prettify(s)
13666 }
13667
13668 // GoString returns the string representation
13669 func (s LifecycleExpiration) GoString() string {
13670 return s.String()
13671 }
13672
13673 // SetDate sets the Date field's value.
13674 func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration {
13675 s.Date = &v
13676 return s
13677 }
13678
13679 // SetDays sets the Days field's value.
13680 func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration {
13681 s.Days = &v
13682 return s
13683 }
13684
13685 // SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
13686 func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration {
13687 s.ExpiredObjectDeleteMarker = &v
13688 return s
13689 }
13690
13691 type LifecycleRule struct {
13692 _ struct{} `type:"structure"`
13693
13694 // Specifies the days since the initiation of an Incomplete Multipart Upload
13695 // that Lifecycle will wait before permanently removing all parts of the upload.
13696 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
13697
13698 Expiration *LifecycleExpiration `type:"structure"`
13699
13700 // The Filter is used to identify objects that a Lifecycle Rule applies to.
13701 // A Filter must have exactly one of Prefix, Tag, or And specified.
13702 Filter *LifecycleRuleFilter `type:"structure"`
13703
13704 // Unique identifier for the rule. The value cannot be longer than 255 characters.
13705 ID *string `type:"string"`
13706
13707 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
13708 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
13709 // configuration action on a bucket that has versioning enabled (or suspended)
13710 // to request that Amazon S3 delete noncurrent object versions at a specific
13711 // period in the object's lifetime.
13712 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
13713
13714 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
13715
13716 // Prefix identifying one or more objects to which the rule applies. This is
13717 // deprecated; use Filter instead.
13718 Prefix *string `deprecated:"true" type:"string"`
13719
13720 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
13721 // is not currently being applied.
13722 //
13723 // Status is a required field
13724 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
13725
13726 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`
13727 }
13728
13729 // String returns the string representation
13730 func (s LifecycleRule) String() string {
13731 return awsutil.Prettify(s)
13732 }
13733
13734 // GoString returns the string representation
13735 func (s LifecycleRule) GoString() string {
13736 return s.String()
13737 }
13738
13739 // Validate inspects the fields of the type to determine if they are valid.
13740 func (s *LifecycleRule) Validate() error {
13741 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"}
13742 if s.Status == nil {
13743 invalidParams.Add(request.NewErrParamRequired("Status"))
13744 }
13745 if s.Filter != nil {
13746 if err := s.Filter.Validate(); err != nil {
13747 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
13748 }
13749 }
13750
13751 if invalidParams.Len() > 0 {
13752 return invalidParams
13753 }
13754 return nil
13755 }
13756
13757 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
13758 func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule {
13759 s.AbortIncompleteMultipartUpload = v
13760 return s
13761 }
13762
13763 // SetExpiration sets the Expiration field's value.
13764 func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule {
13765 s.Expiration = v
13766 return s
13767 }
13768
13769 // SetFilter sets the Filter field's value.
13770 func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule {
13771 s.Filter = v
13772 return s
13773 }
13774
13775 // SetID sets the ID field's value.
13776 func (s *LifecycleRule) SetID(v string) *LifecycleRule {
13777 s.ID = &v
13778 return s
13779 }
13780
13781 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
13782 func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule {
13783 s.NoncurrentVersionExpiration = v
13784 return s
13785 }
13786
13787 // SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
13788 func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule {
13789 s.NoncurrentVersionTransitions = v
13790 return s
13791 }
13792
13793 // SetPrefix sets the Prefix field's value.
13794 func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule {
13795 s.Prefix = &v
13796 return s
13797 }
13798
13799 // SetStatus sets the Status field's value.
13800 func (s *LifecycleRule) SetStatus(v string) *LifecycleRule {
13801 s.Status = &v
13802 return s
13803 }
13804
13805 // SetTransitions sets the Transitions field's value.
13806 func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
13807 s.Transitions = v
13808 return s
13809 }
13810
13811 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
13812 // more predicates. The Lifecycle Rule will apply to any object matching all
13813 // of the predicates configured inside the And operator.
13814 type LifecycleRuleAndOperator struct {
13815 _ struct{} `type:"structure"`
13816
13817 Prefix *string `type:"string"`
13818
13819 // All of these tags must exist in the object's tag set in order for the rule
13820 // to apply.
13821 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
13822 }
13823
13824 // String returns the string representation
13825 func (s LifecycleRuleAndOperator) String() string {
13826 return awsutil.Prettify(s)
13827 }
13828
13829 // GoString returns the string representation
13830 func (s LifecycleRuleAndOperator) GoString() string {
13831 return s.String()
13832 }
13833
13834 // Validate inspects the fields of the type to determine if they are valid.
13835 func (s *LifecycleRuleAndOperator) Validate() error {
13836 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"}
13837 if s.Tags != nil {
13838 for i, v := range s.Tags {
13839 if v == nil {
13840 continue
13841 }
13842 if err := v.Validate(); err != nil {
13843 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
13844 }
13845 }
13846 }
13847
13848 if invalidParams.Len() > 0 {
13849 return invalidParams
13850 }
13851 return nil
13852 }
13853
13854 // SetPrefix sets the Prefix field's value.
13855 func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
13856 s.Prefix = &v
13857 return s
13858 }
13859
13860 // SetTags sets the Tags field's value.
13861 func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
13862 s.Tags = v
13863 return s
13864 }
13865
13866 // The Filter is used to identify objects that a Lifecycle Rule applies to.
13867 // A Filter must have exactly one of Prefix, Tag, or And specified.
13868 type LifecycleRuleFilter struct {
13869 _ struct{} `type:"structure"`
13870
13871 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
13872 // more predicates. The Lifecycle Rule will apply to any object matching all
13873 // of the predicates configured inside the And operator.
13874 And *LifecycleRuleAndOperator `type:"structure"`
13875
13876 // Prefix identifying one or more objects to which the rule applies.
13877 Prefix *string `type:"string"`
13878
13879 // This tag must exist in the object's tag set in order for the rule to apply.
13880 Tag *Tag `type:"structure"`
13881 }
13882
13883 // String returns the string representation
13884 func (s LifecycleRuleFilter) String() string {
13885 return awsutil.Prettify(s)
13886 }
13887
13888 // GoString returns the string representation
13889 func (s LifecycleRuleFilter) GoString() string {
13890 return s.String()
13891 }
13892
13893 // Validate inspects the fields of the type to determine if they are valid.
13894 func (s *LifecycleRuleFilter) Validate() error {
13895 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"}
13896 if s.And != nil {
13897 if err := s.And.Validate(); err != nil {
13898 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
13899 }
13900 }
13901 if s.Tag != nil {
13902 if err := s.Tag.Validate(); err != nil {
13903 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
13904 }
13905 }
13906
13907 if invalidParams.Len() > 0 {
13908 return invalidParams
13909 }
13910 return nil
13911 }
13912
13913 // SetAnd sets the And field's value.
13914 func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter {
13915 s.And = v
13916 return s
13917 }
13918
13919 // SetPrefix sets the Prefix field's value.
13920 func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
13921 s.Prefix = &v
13922 return s
13923 }
13924
13925 // SetTag sets the Tag field's value.
13926 func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
13927 s.Tag = v
13928 return s
13929 }
13930
13931 type ListBucketAnalyticsConfigurationsInput struct {
13932 _ struct{} `type:"structure"`
13933
13934 // The name of the bucket from which analytics configurations are retrieved.
13935 //
13936 // Bucket is a required field
13937 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13938
13939 // The ContinuationToken that represents a placeholder from where this request
13940 // should begin.
13941 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
13942 }
13943
13944 // String returns the string representation
13945 func (s ListBucketAnalyticsConfigurationsInput) String() string {
13946 return awsutil.Prettify(s)
13947 }
13948
13949 // GoString returns the string representation
13950 func (s ListBucketAnalyticsConfigurationsInput) GoString() string {
13951 return s.String()
13952 }
13953
13954 // Validate inspects the fields of the type to determine if they are valid.
13955 func (s *ListBucketAnalyticsConfigurationsInput) Validate() error {
13956 invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"}
13957 if s.Bucket == nil {
13958 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13959 }
13960
13961 if invalidParams.Len() > 0 {
13962 return invalidParams
13963 }
13964 return nil
13965 }
13966
13967 // SetBucket sets the Bucket field's value.
13968 func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput {
13969 s.Bucket = &v
13970 return s
13971 }
13972
13973 func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
13974 if s.Bucket == nil {
13975 return v
13976 }
13977 return *s.Bucket
13978 }
13979
13980 // SetContinuationToken sets the ContinuationToken field's value.
13981 func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
13982 s.ContinuationToken = &v
13983 return s
13984 }
13985
13986 type ListBucketAnalyticsConfigurationsOutput struct {
13987 _ struct{} `type:"structure"`
13988
13989 // The list of analytics configurations for a bucket.
13990 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"`
13991
13992 // The ContinuationToken that represents where this request began.
13993 ContinuationToken *string `type:"string"`
13994
13995 // Indicates whether the returned list of analytics configurations is complete.
13996 // A value of true indicates that the list is not complete and the NextContinuationToken
13997 // will be provided for a subsequent request.
13998 IsTruncated *bool `type:"boolean"`
13999
14000 // NextContinuationToken is sent when isTruncated is true, which indicates that
14001 // there are more analytics configurations to list. The next request must include
14002 // this NextContinuationToken. The token is obfuscated and is not a usable value.
14003 NextContinuationToken *string `type:"string"`
14004 }
14005
14006 // String returns the string representation
14007 func (s ListBucketAnalyticsConfigurationsOutput) String() string {
14008 return awsutil.Prettify(s)
14009 }
14010
14011 // GoString returns the string representation
14012 func (s ListBucketAnalyticsConfigurationsOutput) GoString() string {
14013 return s.String()
14014 }
14015
14016 // SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value.
14017 func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput {
14018 s.AnalyticsConfigurationList = v
14019 return s
14020 }
14021
14022 // SetContinuationToken sets the ContinuationToken field's value.
14023 func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
14024 s.ContinuationToken = &v
14025 return s
14026 }
14027
14028 // SetIsTruncated sets the IsTruncated field's value.
14029 func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput {
14030 s.IsTruncated = &v
14031 return s
14032 }
14033
14034 // SetNextContinuationToken sets the NextContinuationToken field's value.
14035 func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
14036 s.NextContinuationToken = &v
14037 return s
14038 }
14039
14040 type ListBucketInventoryConfigurationsInput struct {
14041 _ struct{} `type:"structure"`
14042
14043 // The name of the bucket containing the inventory configurations to retrieve.
14044 //
14045 // Bucket is a required field
14046 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14047
14048 // The marker used to continue an inventory configuration listing that has been
14049 // truncated. Use the NextContinuationToken from a previously truncated list
14050 // response to continue the listing. The continuation token is an opaque value
14051 // that Amazon S3 understands.
14052 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
14053 }
14054
14055 // String returns the string representation
14056 func (s ListBucketInventoryConfigurationsInput) String() string {
14057 return awsutil.Prettify(s)
14058 }
14059
14060 // GoString returns the string representation
14061 func (s ListBucketInventoryConfigurationsInput) GoString() string {
14062 return s.String()
14063 }
14064
14065 // Validate inspects the fields of the type to determine if they are valid.
14066 func (s *ListBucketInventoryConfigurationsInput) Validate() error {
14067 invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"}
14068 if s.Bucket == nil {
14069 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14070 }
14071
14072 if invalidParams.Len() > 0 {
14073 return invalidParams
14074 }
14075 return nil
14076 }
14077
14078 // SetBucket sets the Bucket field's value.
14079 func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput {
14080 s.Bucket = &v
14081 return s
14082 }
14083
14084 func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
14085 if s.Bucket == nil {
14086 return v
14087 }
14088 return *s.Bucket
14089 }
14090
14091 // SetContinuationToken sets the ContinuationToken field's value.
14092 func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
14093 s.ContinuationToken = &v
14094 return s
14095 }
14096
14097 type ListBucketInventoryConfigurationsOutput struct {
14098 _ struct{} `type:"structure"`
14099
14100 // If sent in the request, the marker that is used as a starting point for this
14101 // inventory configuration list response.
14102 ContinuationToken *string `type:"string"`
14103
14104 // The list of inventory configurations for a bucket.
14105 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`
14106
14107 // Indicates whether the returned list of inventory configurations is truncated
14108 // in this response. A value of true indicates that the list is truncated.
14109 IsTruncated *bool `type:"boolean"`
14110
14111 // The marker used to continue this inventory configuration listing. Use the
14112 // NextContinuationToken from this response to continue the listing in a subsequent
14113 // request. The continuation token is an opaque value that Amazon S3 understands.
14114 NextContinuationToken *string `type:"string"`
14115 }
14116
14117 // String returns the string representation
14118 func (s ListBucketInventoryConfigurationsOutput) String() string {
14119 return awsutil.Prettify(s)
14120 }
14121
14122 // GoString returns the string representation
14123 func (s ListBucketInventoryConfigurationsOutput) GoString() string {
14124 return s.String()
14125 }
14126
14127 // SetContinuationToken sets the ContinuationToken field's value.
14128 func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
14129 s.ContinuationToken = &v
14130 return s
14131 }
14132
14133 // SetInventoryConfigurationList sets the InventoryConfigurationList field's value.
14134 func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput {
14135 s.InventoryConfigurationList = v
14136 return s
14137 }
14138
14139 // SetIsTruncated sets the IsTruncated field's value.
14140 func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput {
14141 s.IsTruncated = &v
14142 return s
14143 }
14144
14145 // SetNextContinuationToken sets the NextContinuationToken field's value.
14146 func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
14147 s.NextContinuationToken = &v
14148 return s
14149 }
14150
14151 type ListBucketMetricsConfigurationsInput struct {
14152 _ struct{} `type:"structure"`
14153
14154 // The name of the bucket containing the metrics configurations to retrieve.
14155 //
14156 // Bucket is a required field
14157 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14158
14159 // The marker that is used to continue a metrics configuration listing that
14160 // has been truncated. Use the NextContinuationToken from a previously truncated
14161 // list response to continue the listing. The continuation token is an opaque
14162 // value that Amazon S3 understands.
14163 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
14164 }
14165
14166 // String returns the string representation
14167 func (s ListBucketMetricsConfigurationsInput) String() string {
14168 return awsutil.Prettify(s)
14169 }
14170
14171 // GoString returns the string representation
14172 func (s ListBucketMetricsConfigurationsInput) GoString() string {
14173 return s.String()
14174 }
14175
14176 // Validate inspects the fields of the type to determine if they are valid.
14177 func (s *ListBucketMetricsConfigurationsInput) Validate() error {
14178 invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"}
14179 if s.Bucket == nil {
14180 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14181 }
14182
14183 if invalidParams.Len() > 0 {
14184 return invalidParams
14185 }
14186 return nil
14187 }
14188
14189 // SetBucket sets the Bucket field's value.
14190 func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput {
14191 s.Bucket = &v
14192 return s
14193 }
14194
14195 func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
14196 if s.Bucket == nil {
14197 return v
14198 }
14199 return *s.Bucket
14200 }
14201
14202 // SetContinuationToken sets the ContinuationToken field's value.
14203 func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
14204 s.ContinuationToken = &v
14205 return s
14206 }
14207
14208 type ListBucketMetricsConfigurationsOutput struct {
14209 _ struct{} `type:"structure"`
14210
14211 // The marker that is used as a starting point for this metrics configuration
14212 // list response. This value is present if it was sent in the request.
14213 ContinuationToken *string `type:"string"`
14214
14215 // Indicates whether the returned list of metrics configurations is complete.
14216 // A value of true indicates that the list is not complete and the NextContinuationToken
14217 // will be provided for a subsequent request.
14218 IsTruncated *bool `type:"boolean"`
14219
14220 // The list of metrics configurations for a bucket.
14221 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"`
14222
14223 // The marker used to continue a metrics configuration listing that has been
14224 // truncated. Use the NextContinuationToken from a previously truncated list
14225 // response to continue the listing. The continuation token is an opaque value
14226 // that Amazon S3 understands.
14227 NextContinuationToken *string `type:"string"`
14228 }
14229
14230 // String returns the string representation
14231 func (s ListBucketMetricsConfigurationsOutput) String() string {
14232 return awsutil.Prettify(s)
14233 }
14234
14235 // GoString returns the string representation
14236 func (s ListBucketMetricsConfigurationsOutput) GoString() string {
14237 return s.String()
14238 }
14239
14240 // SetContinuationToken sets the ContinuationToken field's value.
14241 func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
14242 s.ContinuationToken = &v
14243 return s
14244 }
14245
14246 // SetIsTruncated sets the IsTruncated field's value.
14247 func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput {
14248 s.IsTruncated = &v
14249 return s
14250 }
14251
14252 // SetMetricsConfigurationList sets the MetricsConfigurationList field's value.
14253 func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput {
14254 s.MetricsConfigurationList = v
14255 return s
14256 }
14257
14258 // SetNextContinuationToken sets the NextContinuationToken field's value.
14259 func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
14260 s.NextContinuationToken = &v
14261 return s
14262 }
14263
14264 type ListBucketsInput struct {
14265 _ struct{} `type:"structure"`
14266 }
14267
14268 // String returns the string representation
14269 func (s ListBucketsInput) String() string {
14270 return awsutil.Prettify(s)
14271 }
14272
14273 // GoString returns the string representation
14274 func (s ListBucketsInput) GoString() string {
14275 return s.String()
14276 }
14277
14278 type ListBucketsOutput struct {
14279 _ struct{} `type:"structure"`
14280
14281 Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
14282
14283 Owner *Owner `type:"structure"`
14284 }
14285
14286 // String returns the string representation
14287 func (s ListBucketsOutput) String() string {
14288 return awsutil.Prettify(s)
14289 }
14290
14291 // GoString returns the string representation
14292 func (s ListBucketsOutput) GoString() string {
14293 return s.String()
14294 }
14295
14296 // SetBuckets sets the Buckets field's value.
14297 func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput {
14298 s.Buckets = v
14299 return s
14300 }
14301
14302 // SetOwner sets the Owner field's value.
14303 func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
14304 s.Owner = v
14305 return s
14306 }
14307
14308 type ListMultipartUploadsInput struct {
14309 _ struct{} `type:"structure"`
14310
14311 // Bucket is a required field
14312 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14313
14314 // Character you use to group keys.
14315 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
14316
14317 // Requests Amazon S3 to encode the object keys in the response and specifies
14318 // the encoding method to use. An object key may contain any Unicode character;
14319 // however, XML 1.0 parser cannot parse some characters, such as characters
14320 // with an ASCII value from 0 to 10. For characters that are not supported in
14321 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
14322 // keys in the response.
14323 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
14324
14325 // Together with upload-id-marker, this parameter specifies the multipart upload
14326 // after which listing should begin.
14327 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
14328
14329 // Sets the maximum number of multipart uploads, from 1 to 1,000, to return
14330 // in the response body. 1,000 is the maximum number of uploads that can be
14331 // returned in a response.
14332 MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"`
14333
14334 // Lists in-progress uploads only for those keys that begin with the specified
14335 // prefix.
14336 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
14337
14338 // Together with key-marker, specifies the multipart upload after which listing
14339 // should begin. If key-marker is not specified, the upload-id-marker parameter
14340 // is ignored.
14341 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`
14342 }
14343
14344 // String returns the string representation
14345 func (s ListMultipartUploadsInput) String() string {
14346 return awsutil.Prettify(s)
14347 }
14348
14349 // GoString returns the string representation
14350 func (s ListMultipartUploadsInput) GoString() string {
14351 return s.String()
14352 }
14353
14354 // Validate inspects the fields of the type to determine if they are valid.
14355 func (s *ListMultipartUploadsInput) Validate() error {
14356 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"}
14357 if s.Bucket == nil {
14358 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14359 }
14360
14361 if invalidParams.Len() > 0 {
14362 return invalidParams
14363 }
14364 return nil
14365 }
14366
14367 // SetBucket sets the Bucket field's value.
14368 func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput {
14369 s.Bucket = &v
14370 return s
14371 }
14372
14373 func (s *ListMultipartUploadsInput) getBucket() (v string) {
14374 if s.Bucket == nil {
14375 return v
14376 }
14377 return *s.Bucket
14378 }
14379
14380 // SetDelimiter sets the Delimiter field's value.
14381 func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
14382 s.Delimiter = &v
14383 return s
14384 }
14385
14386 // SetEncodingType sets the EncodingType field's value.
14387 func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput {
14388 s.EncodingType = &v
14389 return s
14390 }
14391
14392 // SetKeyMarker sets the KeyMarker field's value.
14393 func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput {
14394 s.KeyMarker = &v
14395 return s
14396 }
14397
14398 // SetMaxUploads sets the MaxUploads field's value.
14399 func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput {
14400 s.MaxUploads = &v
14401 return s
14402 }
14403
14404 // SetPrefix sets the Prefix field's value.
14405 func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput {
14406 s.Prefix = &v
14407 return s
14408 }
14409
14410 // SetUploadIdMarker sets the UploadIdMarker field's value.
14411 func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput {
14412 s.UploadIdMarker = &v
14413 return s
14414 }
14415
14416 type ListMultipartUploadsOutput struct {
14417 _ struct{} `type:"structure"`
14418
14419 // Name of the bucket to which the multipart upload was initiated.
14420 Bucket *string `type:"string"`
14421
14422 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
14423
14424 Delimiter *string `type:"string"`
14425
14426 // Encoding type used by Amazon S3 to encode object keys in the response.
14427 EncodingType *string `type:"string" enum:"EncodingType"`
14428
14429 // Indicates whether the returned list of multipart uploads is truncated. A
14430 // value of true indicates that the list was truncated. The list can be truncated
14431 // if the number of multipart uploads exceeds the limit allowed or specified
14432 // by max uploads.
14433 IsTruncated *bool `type:"boolean"`
14434
14435 // The key at or after which the listing began.
14436 KeyMarker *string `type:"string"`
14437
14438 // Maximum number of multipart uploads that could have been included in the
14439 // response.
14440 MaxUploads *int64 `type:"integer"`
14441
14442 // When a list is truncated, this element specifies the value that should be
14443 // used for the key-marker request parameter in a subsequent request.
14444 NextKeyMarker *string `type:"string"`
14445
14446 // When a list is truncated, this element specifies the value that should be
14447 // used for the upload-id-marker request parameter in a subsequent request.
14448 NextUploadIdMarker *string `type:"string"`
14449
14450 // When a prefix is provided in the request, this field contains the specified
14451 // prefix. The result contains only keys starting with the specified prefix.
14452 Prefix *string `type:"string"`
14453
14454 // Upload ID after which listing began.
14455 UploadIdMarker *string `type:"string"`
14456
14457 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`
14458 }
14459
14460 // String returns the string representation
14461 func (s ListMultipartUploadsOutput) String() string {
14462 return awsutil.Prettify(s)
14463 }
14464
14465 // GoString returns the string representation
14466 func (s ListMultipartUploadsOutput) GoString() string {
14467 return s.String()
14468 }
14469
14470 // SetBucket sets the Bucket field's value.
14471 func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput {
14472 s.Bucket = &v
14473 return s
14474 }
14475
14476 func (s *ListMultipartUploadsOutput) getBucket() (v string) {
14477 if s.Bucket == nil {
14478 return v
14479 }
14480 return *s.Bucket
14481 }
14482
14483 // SetCommonPrefixes sets the CommonPrefixes field's value.
14484 func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
14485 s.CommonPrefixes = v
14486 return s
14487 }
14488
14489 // SetDelimiter sets the Delimiter field's value.
14490 func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput {
14491 s.Delimiter = &v
14492 return s
14493 }
14494
14495 // SetEncodingType sets the EncodingType field's value.
14496 func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput {
14497 s.EncodingType = &v
14498 return s
14499 }
14500
14501 // SetIsTruncated sets the IsTruncated field's value.
14502 func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput {
14503 s.IsTruncated = &v
14504 return s
14505 }
14506
14507 // SetKeyMarker sets the KeyMarker field's value.
14508 func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput {
14509 s.KeyMarker = &v
14510 return s
14511 }
14512
14513 // SetMaxUploads sets the MaxUploads field's value.
14514 func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput {
14515 s.MaxUploads = &v
14516 return s
14517 }
14518
14519 // SetNextKeyMarker sets the NextKeyMarker field's value.
14520 func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput {
14521 s.NextKeyMarker = &v
14522 return s
14523 }
14524
14525 // SetNextUploadIdMarker sets the NextUploadIdMarker field's value.
14526 func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput {
14527 s.NextUploadIdMarker = &v
14528 return s
14529 }
14530
14531 // SetPrefix sets the Prefix field's value.
14532 func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput {
14533 s.Prefix = &v
14534 return s
14535 }
14536
14537 // SetUploadIdMarker sets the UploadIdMarker field's value.
14538 func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput {
14539 s.UploadIdMarker = &v
14540 return s
14541 }
14542
14543 // SetUploads sets the Uploads field's value.
14544 func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput {
14545 s.Uploads = v
14546 return s
14547 }
14548
14549 type ListObjectVersionsInput struct {
14550 _ struct{} `type:"structure"`
14551
14552 // Bucket is a required field
14553 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14554
14555 // A delimiter is a character you use to group keys.
14556 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
14557
14558 // Requests Amazon S3 to encode the object keys in the response and specifies
14559 // the encoding method to use. An object key may contain any Unicode character;
14560 // however, XML 1.0 parser cannot parse some characters, such as characters
14561 // with an ASCII value from 0 to 10. For characters that are not supported in
14562 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
14563 // keys in the response.
14564 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
14565
14566 // Specifies the key to start with when listing objects in a bucket.
14567 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
14568
14569 // Sets the maximum number of keys returned in the response. The response might
14570 // contain fewer keys but will never contain more.
14571 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
14572
14573 // Limits the response to keys that begin with the specified prefix.
14574 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
14575
14576 // Specifies the object version you want to start listing from.
14577 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`
14578 }
14579
14580 // String returns the string representation
14581 func (s ListObjectVersionsInput) String() string {
14582 return awsutil.Prettify(s)
14583 }
14584
14585 // GoString returns the string representation
14586 func (s ListObjectVersionsInput) GoString() string {
14587 return s.String()
14588 }
14589
14590 // Validate inspects the fields of the type to determine if they are valid.
14591 func (s *ListObjectVersionsInput) Validate() error {
14592 invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"}
14593 if s.Bucket == nil {
14594 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14595 }
14596
14597 if invalidParams.Len() > 0 {
14598 return invalidParams
14599 }
14600 return nil
14601 }
14602
14603 // SetBucket sets the Bucket field's value.
14604 func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
14605 s.Bucket = &v
14606 return s
14607 }
14608
14609 func (s *ListObjectVersionsInput) getBucket() (v string) {
14610 if s.Bucket == nil {
14611 return v
14612 }
14613 return *s.Bucket
14614 }
14615
14616 // SetDelimiter sets the Delimiter field's value.
14617 func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
14618 s.Delimiter = &v
14619 return s
14620 }
14621
14622 // SetEncodingType sets the EncodingType field's value.
14623 func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput {
14624 s.EncodingType = &v
14625 return s
14626 }
14627
14628 // SetKeyMarker sets the KeyMarker field's value.
14629 func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput {
14630 s.KeyMarker = &v
14631 return s
14632 }
14633
14634 // SetMaxKeys sets the MaxKeys field's value.
14635 func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput {
14636 s.MaxKeys = &v
14637 return s
14638 }
14639
14640 // SetPrefix sets the Prefix field's value.
14641 func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput {
14642 s.Prefix = &v
14643 return s
14644 }
14645
14646 // SetVersionIdMarker sets the VersionIdMarker field's value.
14647 func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput {
14648 s.VersionIdMarker = &v
14649 return s
14650 }
14651
14652 type ListObjectVersionsOutput struct {
14653 _ struct{} `type:"structure"`
14654
14655 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
14656
14657 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
14658
14659 Delimiter *string `type:"string"`
14660
14661 // Encoding type used by Amazon S3 to encode object keys in the response.
14662 EncodingType *string `type:"string" enum:"EncodingType"`
14663
14664 // A flag that indicates whether or not Amazon S3 returned all of the results
14665 // that satisfied the search criteria. If your results were truncated, you can
14666 // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
14667 // response parameters as a starting place in another request to return the
14668 // rest of the results.
14669 IsTruncated *bool `type:"boolean"`
14670
14671 // Marks the last Key returned in a truncated response.
14672 KeyMarker *string `type:"string"`
14673
14674 MaxKeys *int64 `type:"integer"`
14675
14676 Name *string `type:"string"`
14677
14678 // Use this value for the key marker request parameter in a subsequent request.
14679 NextKeyMarker *string `type:"string"`
14680
14681 // Use this value for the next version id marker parameter in a subsequent request.
14682 NextVersionIdMarker *string `type:"string"`
14683
14684 Prefix *string `type:"string"`
14685
14686 VersionIdMarker *string `type:"string"`
14687
14688 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`
14689 }
14690
14691 // String returns the string representation
14692 func (s ListObjectVersionsOutput) String() string {
14693 return awsutil.Prettify(s)
14694 }
14695
14696 // GoString returns the string representation
14697 func (s ListObjectVersionsOutput) GoString() string {
14698 return s.String()
14699 }
14700
14701 // SetCommonPrefixes sets the CommonPrefixes field's value.
14702 func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput {
14703 s.CommonPrefixes = v
14704 return s
14705 }
14706
14707 // SetDeleteMarkers sets the DeleteMarkers field's value.
14708 func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput {
14709 s.DeleteMarkers = v
14710 return s
14711 }
14712
14713 // SetDelimiter sets the Delimiter field's value.
14714 func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput {
14715 s.Delimiter = &v
14716 return s
14717 }
14718
14719 // SetEncodingType sets the EncodingType field's value.
14720 func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput {
14721 s.EncodingType = &v
14722 return s
14723 }
14724
14725 // SetIsTruncated sets the IsTruncated field's value.
14726 func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput {
14727 s.IsTruncated = &v
14728 return s
14729 }
14730
14731 // SetKeyMarker sets the KeyMarker field's value.
14732 func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput {
14733 s.KeyMarker = &v
14734 return s
14735 }
14736
14737 // SetMaxKeys sets the MaxKeys field's value.
14738 func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput {
14739 s.MaxKeys = &v
14740 return s
14741 }
14742
14743 // SetName sets the Name field's value.
14744 func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput {
14745 s.Name = &v
14746 return s
14747 }
14748
14749 // SetNextKeyMarker sets the NextKeyMarker field's value.
14750 func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput {
14751 s.NextKeyMarker = &v
14752 return s
14753 }
14754
14755 // SetNextVersionIdMarker sets the NextVersionIdMarker field's value.
14756 func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput {
14757 s.NextVersionIdMarker = &v
14758 return s
14759 }
14760
14761 // SetPrefix sets the Prefix field's value.
14762 func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput {
14763 s.Prefix = &v
14764 return s
14765 }
14766
14767 // SetVersionIdMarker sets the VersionIdMarker field's value.
14768 func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput {
14769 s.VersionIdMarker = &v
14770 return s
14771 }
14772
14773 // SetVersions sets the Versions field's value.
14774 func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput {
14775 s.Versions = v
14776 return s
14777 }
14778
14779 type ListObjectsInput struct {
14780 _ struct{} `type:"structure"`
14781
14782 // Bucket is a required field
14783 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14784
14785 // A delimiter is a character you use to group keys.
14786 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
14787
14788 // Requests Amazon S3 to encode the object keys in the response and specifies
14789 // the encoding method to use. An object key may contain any Unicode character;
14790 // however, XML 1.0 parser cannot parse some characters, such as characters
14791 // with an ASCII value from 0 to 10. For characters that are not supported in
14792 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
14793 // keys in the response.
14794 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
14795
14796 // Specifies the key to start with when listing objects in a bucket.
14797 Marker *string `location:"querystring" locationName:"marker" type:"string"`
14798
14799 // Sets the maximum number of keys returned in the response. The response might
14800 // contain fewer keys but will never contain more.
14801 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
14802
14803 // Limits the response to keys that begin with the specified prefix.
14804 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
14805
14806 // Confirms that the requester knows that she or he will be charged for the
14807 // list objects request. Bucket owners need not specify this parameter in their
14808 // requests.
14809 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
14810 }
14811
14812 // String returns the string representation
14813 func (s ListObjectsInput) String() string {
14814 return awsutil.Prettify(s)
14815 }
14816
14817 // GoString returns the string representation
14818 func (s ListObjectsInput) GoString() string {
14819 return s.String()
14820 }
14821
14822 // Validate inspects the fields of the type to determine if they are valid.
14823 func (s *ListObjectsInput) Validate() error {
14824 invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"}
14825 if s.Bucket == nil {
14826 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14827 }
14828
14829 if invalidParams.Len() > 0 {
14830 return invalidParams
14831 }
14832 return nil
14833 }
14834
14835 // SetBucket sets the Bucket field's value.
14836 func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
14837 s.Bucket = &v
14838 return s
14839 }
14840
14841 func (s *ListObjectsInput) getBucket() (v string) {
14842 if s.Bucket == nil {
14843 return v
14844 }
14845 return *s.Bucket
14846 }
14847
14848 // SetDelimiter sets the Delimiter field's value.
14849 func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
14850 s.Delimiter = &v
14851 return s
14852 }
14853
14854 // SetEncodingType sets the EncodingType field's value.
14855 func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput {
14856 s.EncodingType = &v
14857 return s
14858 }
14859
14860 // SetMarker sets the Marker field's value.
14861 func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput {
14862 s.Marker = &v
14863 return s
14864 }
14865
14866 // SetMaxKeys sets the MaxKeys field's value.
14867 func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput {
14868 s.MaxKeys = &v
14869 return s
14870 }
14871
14872 // SetPrefix sets the Prefix field's value.
14873 func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput {
14874 s.Prefix = &v
14875 return s
14876 }
14877
14878 // SetRequestPayer sets the RequestPayer field's value.
14879 func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
14880 s.RequestPayer = &v
14881 return s
14882 }
14883
14884 type ListObjectsOutput struct {
14885 _ struct{} `type:"structure"`
14886
14887 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
14888
14889 Contents []*Object `type:"list" flattened:"true"`
14890
14891 Delimiter *string `type:"string"`
14892
14893 // Encoding type used by Amazon S3 to encode object keys in the response.
14894 EncodingType *string `type:"string" enum:"EncodingType"`
14895
14896 // A flag that indicates whether or not Amazon S3 returned all of the results
14897 // that satisfied the search criteria.
14898 IsTruncated *bool `type:"boolean"`
14899
14900 Marker *string `type:"string"`
14901
14902 MaxKeys *int64 `type:"integer"`
14903
14904 Name *string `type:"string"`
14905
14906 // When response is truncated (the IsTruncated element value in the response
14907 // is true), you can use the key name in this field as marker in the subsequent
14908 // request to get next set of objects. Amazon S3 lists objects in alphabetical
14909 // order Note: This element is returned only if you have delimiter request parameter
14910 // specified. If response does not include the NextMaker and it is truncated,
14911 // you can use the value of the last Key in the response as the marker in the
14912 // subsequent request to get the next set of object keys.
14913 NextMarker *string `type:"string"`
14914
14915 Prefix *string `type:"string"`
14916 }
14917
14918 // String returns the string representation
14919 func (s ListObjectsOutput) String() string {
14920 return awsutil.Prettify(s)
14921 }
14922
14923 // GoString returns the string representation
14924 func (s ListObjectsOutput) GoString() string {
14925 return s.String()
14926 }
14927
14928 // SetCommonPrefixes sets the CommonPrefixes field's value.
14929 func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput {
14930 s.CommonPrefixes = v
14931 return s
14932 }
14933
14934 // SetContents sets the Contents field's value.
14935 func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput {
14936 s.Contents = v
14937 return s
14938 }
14939
14940 // SetDelimiter sets the Delimiter field's value.
14941 func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput {
14942 s.Delimiter = &v
14943 return s
14944 }
14945
14946 // SetEncodingType sets the EncodingType field's value.
14947 func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput {
14948 s.EncodingType = &v
14949 return s
14950 }
14951
14952 // SetIsTruncated sets the IsTruncated field's value.
14953 func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput {
14954 s.IsTruncated = &v
14955 return s
14956 }
14957
14958 // SetMarker sets the Marker field's value.
14959 func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput {
14960 s.Marker = &v
14961 return s
14962 }
14963
14964 // SetMaxKeys sets the MaxKeys field's value.
14965 func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput {
14966 s.MaxKeys = &v
14967 return s
14968 }
14969
14970 // SetName sets the Name field's value.
14971 func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput {
14972 s.Name = &v
14973 return s
14974 }
14975
14976 // SetNextMarker sets the NextMarker field's value.
14977 func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput {
14978 s.NextMarker = &v
14979 return s
14980 }
14981
14982 // SetPrefix sets the Prefix field's value.
14983 func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
14984 s.Prefix = &v
14985 return s
14986 }
14987
14988 type ListObjectsV2Input struct {
14989 _ struct{} `type:"structure"`
14990
14991 // Name of the bucket to list.
14992 //
14993 // Bucket is a required field
14994 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14995
14996 // ContinuationToken indicates Amazon S3 that the list is being continued on
14997 // this bucket with a token. ContinuationToken is obfuscated and is not a real
14998 // key
14999 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15000
15001 // A delimiter is a character you use to group keys.
15002 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
15003
15004 // Encoding type used by Amazon S3 to encode object keys in the response.
15005 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
15006
15007 // The owner field is not present in listV2 by default, if you want to return
15008 // owner field with each key in the result then set the fetch owner field to
15009 // true
15010 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
15011
15012 // Sets the maximum number of keys returned in the response. The response might
15013 // contain fewer keys but will never contain more.
15014 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
15015
15016 // Limits the response to keys that begin with the specified prefix.
15017 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
15018
15019 // Confirms that the requester knows that she or he will be charged for the
15020 // list objects request in V2 style. Bucket owners need not specify this parameter
15021 // in their requests.
15022 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
15023
15024 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
15025 // listing after this specified key. StartAfter can be any key in the bucket
15026 StartAfter *string `location:"querystring" locationName:"start-after" type:"string"`
15027 }
15028
15029 // String returns the string representation
15030 func (s ListObjectsV2Input) String() string {
15031 return awsutil.Prettify(s)
15032 }
15033
15034 // GoString returns the string representation
15035 func (s ListObjectsV2Input) GoString() string {
15036 return s.String()
15037 }
15038
15039 // Validate inspects the fields of the type to determine if they are valid.
15040 func (s *ListObjectsV2Input) Validate() error {
15041 invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"}
15042 if s.Bucket == nil {
15043 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15044 }
15045
15046 if invalidParams.Len() > 0 {
15047 return invalidParams
15048 }
15049 return nil
15050 }
15051
15052 // SetBucket sets the Bucket field's value.
15053 func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
15054 s.Bucket = &v
15055 return s
15056 }
15057
15058 func (s *ListObjectsV2Input) getBucket() (v string) {
15059 if s.Bucket == nil {
15060 return v
15061 }
15062 return *s.Bucket
15063 }
15064
15065 // SetContinuationToken sets the ContinuationToken field's value.
15066 func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
15067 s.ContinuationToken = &v
15068 return s
15069 }
15070
15071 // SetDelimiter sets the Delimiter field's value.
15072 func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input {
15073 s.Delimiter = &v
15074 return s
15075 }
15076
15077 // SetEncodingType sets the EncodingType field's value.
15078 func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input {
15079 s.EncodingType = &v
15080 return s
15081 }
15082
15083 // SetFetchOwner sets the FetchOwner field's value.
15084 func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input {
15085 s.FetchOwner = &v
15086 return s
15087 }
15088
15089 // SetMaxKeys sets the MaxKeys field's value.
15090 func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input {
15091 s.MaxKeys = &v
15092 return s
15093 }
15094
15095 // SetPrefix sets the Prefix field's value.
15096 func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input {
15097 s.Prefix = &v
15098 return s
15099 }
15100
15101 // SetRequestPayer sets the RequestPayer field's value.
15102 func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input {
15103 s.RequestPayer = &v
15104 return s
15105 }
15106
15107 // SetStartAfter sets the StartAfter field's value.
15108 func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
15109 s.StartAfter = &v
15110 return s
15111 }
15112
15113 type ListObjectsV2Output struct {
15114 _ struct{} `type:"structure"`
15115
15116 // CommonPrefixes contains all (if there are any) keys between Prefix and the
15117 // next occurrence of the string specified by delimiter
15118 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
15119
15120 // Metadata about each object returned.
15121 Contents []*Object `type:"list" flattened:"true"`
15122
15123 // ContinuationToken indicates Amazon S3 that the list is being continued on
15124 // this bucket with a token. ContinuationToken is obfuscated and is not a real
15125 // key
15126 ContinuationToken *string `type:"string"`
15127
15128 // A delimiter is a character you use to group keys.
15129 Delimiter *string `type:"string"`
15130
15131 // Encoding type used by Amazon S3 to encode object keys in the response.
15132 EncodingType *string `type:"string" enum:"EncodingType"`
15133
15134 // A flag that indicates whether or not Amazon S3 returned all of the results
15135 // that satisfied the search criteria.
15136 IsTruncated *bool `type:"boolean"`
15137
15138 // KeyCount is the number of keys returned with this request. KeyCount will
15139 // always be less than equals to MaxKeys field. Say you ask for 50 keys, your
15140 // result will include less than equals 50 keys
15141 KeyCount *int64 `type:"integer"`
15142
15143 // Sets the maximum number of keys returned in the response. The response might
15144 // contain fewer keys but will never contain more.
15145 MaxKeys *int64 `type:"integer"`
15146
15147 // Name of the bucket to list.
15148 Name *string `type:"string"`
15149
15150 // NextContinuationToken is sent when isTruncated is true which means there
15151 // are more keys in the bucket that can be listed. The next list requests to
15152 // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken
15153 // is obfuscated and is not a real key
15154 NextContinuationToken *string `type:"string"`
15155
15156 // Limits the response to keys that begin with the specified prefix.
15157 Prefix *string `type:"string"`
15158
15159 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
15160 // listing after this specified key. StartAfter can be any key in the bucket
15161 StartAfter *string `type:"string"`
15162 }
15163
15164 // String returns the string representation
15165 func (s ListObjectsV2Output) String() string {
15166 return awsutil.Prettify(s)
15167 }
15168
15169 // GoString returns the string representation
15170 func (s ListObjectsV2Output) GoString() string {
15171 return s.String()
15172 }
15173
15174 // SetCommonPrefixes sets the CommonPrefixes field's value.
15175 func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output {
15176 s.CommonPrefixes = v
15177 return s
15178 }
15179
15180 // SetContents sets the Contents field's value.
15181 func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output {
15182 s.Contents = v
15183 return s
15184 }
15185
15186 // SetContinuationToken sets the ContinuationToken field's value.
15187 func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output {
15188 s.ContinuationToken = &v
15189 return s
15190 }
15191
15192 // SetDelimiter sets the Delimiter field's value.
15193 func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output {
15194 s.Delimiter = &v
15195 return s
15196 }
15197
15198 // SetEncodingType sets the EncodingType field's value.
15199 func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output {
15200 s.EncodingType = &v
15201 return s
15202 }
15203
15204 // SetIsTruncated sets the IsTruncated field's value.
15205 func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output {
15206 s.IsTruncated = &v
15207 return s
15208 }
15209
15210 // SetKeyCount sets the KeyCount field's value.
15211 func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output {
15212 s.KeyCount = &v
15213 return s
15214 }
15215
15216 // SetMaxKeys sets the MaxKeys field's value.
15217 func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output {
15218 s.MaxKeys = &v
15219 return s
15220 }
15221
15222 // SetName sets the Name field's value.
15223 func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output {
15224 s.Name = &v
15225 return s
15226 }
15227
15228 // SetNextContinuationToken sets the NextContinuationToken field's value.
15229 func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output {
15230 s.NextContinuationToken = &v
15231 return s
15232 }
15233
15234 // SetPrefix sets the Prefix field's value.
15235 func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output {
15236 s.Prefix = &v
15237 return s
15238 }
15239
15240 // SetStartAfter sets the StartAfter field's value.
15241 func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
15242 s.StartAfter = &v
15243 return s
15244 }
15245
15246 type ListPartsInput struct {
15247 _ struct{} `type:"structure"`
15248
15249 // Bucket is a required field
15250 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15251
15252 // Key is a required field
15253 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
15254
15255 // Sets the maximum number of parts to return.
15256 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`
15257
15258 // Specifies the part after which listing should begin. Only parts with higher
15259 // part numbers will be listed.
15260 PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"`
15261
15262 // Confirms that the requester knows that she or he will be charged for the
15263 // request. Bucket owners need not specify this parameter in their requests.
15264 // Documentation on downloading objects from requester pays buckets can be found
15265 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
15266 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
15267
15268 // Upload ID identifying the multipart upload whose parts are being listed.
15269 //
15270 // UploadId is a required field
15271 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
15272 }
15273
15274 // String returns the string representation
15275 func (s ListPartsInput) String() string {
15276 return awsutil.Prettify(s)
15277 }
15278
15279 // GoString returns the string representation
15280 func (s ListPartsInput) GoString() string {
15281 return s.String()
15282 }
15283
15284 // Validate inspects the fields of the type to determine if they are valid.
15285 func (s *ListPartsInput) Validate() error {
15286 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"}
15287 if s.Bucket == nil {
15288 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15289 }
15290 if s.Key == nil {
15291 invalidParams.Add(request.NewErrParamRequired("Key"))
15292 }
15293 if s.Key != nil && len(*s.Key) < 1 {
15294 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
15295 }
15296 if s.UploadId == nil {
15297 invalidParams.Add(request.NewErrParamRequired("UploadId"))
15298 }
15299
15300 if invalidParams.Len() > 0 {
15301 return invalidParams
15302 }
15303 return nil
15304 }
15305
15306 // SetBucket sets the Bucket field's value.
15307 func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
15308 s.Bucket = &v
15309 return s
15310 }
15311
15312 func (s *ListPartsInput) getBucket() (v string) {
15313 if s.Bucket == nil {
15314 return v
15315 }
15316 return *s.Bucket
15317 }
15318
15319 // SetKey sets the Key field's value.
15320 func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
15321 s.Key = &v
15322 return s
15323 }
15324
15325 // SetMaxParts sets the MaxParts field's value.
15326 func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput {
15327 s.MaxParts = &v
15328 return s
15329 }
15330
15331 // SetPartNumberMarker sets the PartNumberMarker field's value.
15332 func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput {
15333 s.PartNumberMarker = &v
15334 return s
15335 }
15336
15337 // SetRequestPayer sets the RequestPayer field's value.
15338 func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
15339 s.RequestPayer = &v
15340 return s
15341 }
15342
15343 // SetUploadId sets the UploadId field's value.
15344 func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
15345 s.UploadId = &v
15346 return s
15347 }
15348
15349 type ListPartsOutput struct {
15350 _ struct{} `type:"structure"`
15351
15352 // Date when multipart upload will become eligible for abort operation by lifecycle.
15353 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
15354
15355 // Id of the lifecycle rule that makes a multipart upload eligible for abort
15356 // operation.
15357 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
15358
15359 // Name of the bucket to which the multipart upload was initiated.
15360 Bucket *string `type:"string"`
15361
15362 // Identifies who initiated the multipart upload.
15363 Initiator *Initiator `type:"structure"`
15364
15365 // Indicates whether the returned list of parts is truncated.
15366 IsTruncated *bool `type:"boolean"`
15367
15368 // Object key for which the multipart upload was initiated.
15369 Key *string `min:"1" type:"string"`
15370
15371 // Maximum number of parts that were allowed in the response.
15372 MaxParts *int64 `type:"integer"`
15373
15374 // When a list is truncated, this element specifies the last part in the list,
15375 // as well as the value to use for the part-number-marker request parameter
15376 // in a subsequent request.
15377 NextPartNumberMarker *int64 `type:"integer"`
15378
15379 Owner *Owner `type:"structure"`
15380
15381 // Part number after which listing begins.
15382 PartNumberMarker *int64 `type:"integer"`
15383
15384 Parts []*Part `locationName:"Part" type:"list" flattened:"true"`
15385
15386 // If present, indicates that the requester was successfully charged for the
15387 // request.
15388 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
15389
15390 // The class of storage used to store the object.
15391 StorageClass *string `type:"string" enum:"StorageClass"`
15392
15393 // Upload ID identifying the multipart upload whose parts are being listed.
15394 UploadId *string `type:"string"`
15395 }
15396
15397 // String returns the string representation
15398 func (s ListPartsOutput) String() string {
15399 return awsutil.Prettify(s)
15400 }
15401
15402 // GoString returns the string representation
15403 func (s ListPartsOutput) GoString() string {
15404 return s.String()
15405 }
15406
15407 // SetAbortDate sets the AbortDate field's value.
15408 func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput {
15409 s.AbortDate = &v
15410 return s
15411 }
15412
15413 // SetAbortRuleId sets the AbortRuleId field's value.
15414 func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput {
15415 s.AbortRuleId = &v
15416 return s
15417 }
15418
15419 // SetBucket sets the Bucket field's value.
15420 func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
15421 s.Bucket = &v
15422 return s
15423 }
15424
15425 func (s *ListPartsOutput) getBucket() (v string) {
15426 if s.Bucket == nil {
15427 return v
15428 }
15429 return *s.Bucket
15430 }
15431
15432 // SetInitiator sets the Initiator field's value.
15433 func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
15434 s.Initiator = v
15435 return s
15436 }
15437
15438 // SetIsTruncated sets the IsTruncated field's value.
15439 func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput {
15440 s.IsTruncated = &v
15441 return s
15442 }
15443
15444 // SetKey sets the Key field's value.
15445 func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput {
15446 s.Key = &v
15447 return s
15448 }
15449
15450 // SetMaxParts sets the MaxParts field's value.
15451 func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput {
15452 s.MaxParts = &v
15453 return s
15454 }
15455
15456 // SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
15457 func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput {
15458 s.NextPartNumberMarker = &v
15459 return s
15460 }
15461
15462 // SetOwner sets the Owner field's value.
15463 func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput {
15464 s.Owner = v
15465 return s
15466 }
15467
15468 // SetPartNumberMarker sets the PartNumberMarker field's value.
15469 func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput {
15470 s.PartNumberMarker = &v
15471 return s
15472 }
15473
15474 // SetParts sets the Parts field's value.
15475 func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput {
15476 s.Parts = v
15477 return s
15478 }
15479
15480 // SetRequestCharged sets the RequestCharged field's value.
15481 func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput {
15482 s.RequestCharged = &v
15483 return s
15484 }
15485
15486 // SetStorageClass sets the StorageClass field's value.
15487 func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput {
15488 s.StorageClass = &v
15489 return s
15490 }
15491
15492 // SetUploadId sets the UploadId field's value.
15493 func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
15494 s.UploadId = &v
15495 return s
15496 }
15497
15498 // Describes an S3 location that will receive the results of the restore request.
15499 type Location struct {
15500 _ struct{} `type:"structure"`
15501
15502 // A list of grants that control access to the staged results.
15503 AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
15504
15505 // The name of the bucket where the restore results will be placed.
15506 //
15507 // BucketName is a required field
15508 BucketName *string `type:"string" required:"true"`
15509
15510 // The canned ACL to apply to the restore results.
15511 CannedACL *string `type:"string" enum:"ObjectCannedACL"`
15512
15513 // Describes the server-side encryption that will be applied to the restore
15514 // results.
15515 Encryption *Encryption `type:"structure"`
15516
15517 // The prefix that is prepended to the restore results for this request.
15518 //
15519 // Prefix is a required field
15520 Prefix *string `type:"string" required:"true"`
15521
15522 // The class of storage used to store the restore results.
15523 StorageClass *string `type:"string" enum:"StorageClass"`
15524
15525 // The tag-set that is applied to the restore results.
15526 Tagging *Tagging `type:"structure"`
15527
15528 // A list of metadata to store with the restore results in S3.
15529 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
15530 }
15531
15532 // String returns the string representation
15533 func (s Location) String() string {
15534 return awsutil.Prettify(s)
15535 }
15536
15537 // GoString returns the string representation
15538 func (s Location) GoString() string {
15539 return s.String()
15540 }
15541
15542 // Validate inspects the fields of the type to determine if they are valid.
15543 func (s *Location) Validate() error {
15544 invalidParams := request.ErrInvalidParams{Context: "Location"}
15545 if s.BucketName == nil {
15546 invalidParams.Add(request.NewErrParamRequired("BucketName"))
15547 }
15548 if s.Prefix == nil {
15549 invalidParams.Add(request.NewErrParamRequired("Prefix"))
15550 }
15551 if s.AccessControlList != nil {
15552 for i, v := range s.AccessControlList {
15553 if v == nil {
15554 continue
15555 }
15556 if err := v.Validate(); err != nil {
15557 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
15558 }
15559 }
15560 }
15561 if s.Encryption != nil {
15562 if err := s.Encryption.Validate(); err != nil {
15563 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
15564 }
15565 }
15566 if s.Tagging != nil {
15567 if err := s.Tagging.Validate(); err != nil {
15568 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
15569 }
15570 }
15571
15572 if invalidParams.Len() > 0 {
15573 return invalidParams
15574 }
15575 return nil
15576 }
15577
15578 // SetAccessControlList sets the AccessControlList field's value.
15579 func (s *Location) SetAccessControlList(v []*Grant) *Location {
15580 s.AccessControlList = v
15581 return s
15582 }
15583
15584 // SetBucketName sets the BucketName field's value.
15585 func (s *Location) SetBucketName(v string) *Location {
15586 s.BucketName = &v
15587 return s
15588 }
15589
15590 // SetCannedACL sets the CannedACL field's value.
15591 func (s *Location) SetCannedACL(v string) *Location {
15592 s.CannedACL = &v
15593 return s
15594 }
15595
15596 // SetEncryption sets the Encryption field's value.
15597 func (s *Location) SetEncryption(v *Encryption) *Location {
15598 s.Encryption = v
15599 return s
15600 }
15601
15602 // SetPrefix sets the Prefix field's value.
15603 func (s *Location) SetPrefix(v string) *Location {
15604 s.Prefix = &v
15605 return s
15606 }
15607
15608 // SetStorageClass sets the StorageClass field's value.
15609 func (s *Location) SetStorageClass(v string) *Location {
15610 s.StorageClass = &v
15611 return s
15612 }
15613
15614 // SetTagging sets the Tagging field's value.
15615 func (s *Location) SetTagging(v *Tagging) *Location {
15616 s.Tagging = v
15617 return s
15618 }
15619
15620 // SetUserMetadata sets the UserMetadata field's value.
15621 func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
15622 s.UserMetadata = v
15623 return s
15624 }
15625
15626 // Container for logging information. Presence of this element indicates that
15627 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
15628 // in this case.
15629 type LoggingEnabled struct {
15630 _ struct{} `type:"structure"`
15631
15632 // Specifies the bucket where you want Amazon S3 to store server access logs.
15633 // You can have your logs delivered to any bucket that you own, including the
15634 // same bucket that is being logged. You can also configure multiple buckets
15635 // to deliver their logs to the same target bucket. In this case you should
15636 // choose a different TargetPrefix for each source bucket so that the delivered
15637 // log files can be distinguished by key.
15638 //
15639 // TargetBucket is a required field
15640 TargetBucket *string `type:"string" required:"true"`
15641
15642 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
15643
15644 // This element lets you specify a prefix for the keys that the log files will
15645 // be stored under.
15646 //
15647 // TargetPrefix is a required field
15648 TargetPrefix *string `type:"string" required:"true"`
15649 }
15650
15651 // String returns the string representation
15652 func (s LoggingEnabled) String() string {
15653 return awsutil.Prettify(s)
15654 }
15655
15656 // GoString returns the string representation
15657 func (s LoggingEnabled) GoString() string {
15658 return s.String()
15659 }
15660
15661 // Validate inspects the fields of the type to determine if they are valid.
15662 func (s *LoggingEnabled) Validate() error {
15663 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"}
15664 if s.TargetBucket == nil {
15665 invalidParams.Add(request.NewErrParamRequired("TargetBucket"))
15666 }
15667 if s.TargetPrefix == nil {
15668 invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
15669 }
15670 if s.TargetGrants != nil {
15671 for i, v := range s.TargetGrants {
15672 if v == nil {
15673 continue
15674 }
15675 if err := v.Validate(); err != nil {
15676 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams))
15677 }
15678 }
15679 }
15680
15681 if invalidParams.Len() > 0 {
15682 return invalidParams
15683 }
15684 return nil
15685 }
15686
15687 // SetTargetBucket sets the TargetBucket field's value.
15688 func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled {
15689 s.TargetBucket = &v
15690 return s
15691 }
15692
15693 // SetTargetGrants sets the TargetGrants field's value.
15694 func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled {
15695 s.TargetGrants = v
15696 return s
15697 }
15698
15699 // SetTargetPrefix sets the TargetPrefix field's value.
15700 func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
15701 s.TargetPrefix = &v
15702 return s
15703 }
15704
15705 // A metadata key-value pair to store with an object.
15706 type MetadataEntry struct {
15707 _ struct{} `type:"structure"`
15708
15709 Name *string `type:"string"`
15710
15711 Value *string `type:"string"`
15712 }
15713
15714 // String returns the string representation
15715 func (s MetadataEntry) String() string {
15716 return awsutil.Prettify(s)
15717 }
15718
15719 // GoString returns the string representation
15720 func (s MetadataEntry) GoString() string {
15721 return s.String()
15722 }
15723
15724 // SetName sets the Name field's value.
15725 func (s *MetadataEntry) SetName(v string) *MetadataEntry {
15726 s.Name = &v
15727 return s
15728 }
15729
15730 // SetValue sets the Value field's value.
15731 func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
15732 s.Value = &v
15733 return s
15734 }
15735
15736 type MetricsAndOperator struct {
15737 _ struct{} `type:"structure"`
15738
15739 // The prefix used when evaluating an AND predicate.
15740 Prefix *string `type:"string"`
15741
15742 // The list of tags used when evaluating an AND predicate.
15743 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
15744 }
15745
15746 // String returns the string representation
15747 func (s MetricsAndOperator) String() string {
15748 return awsutil.Prettify(s)
15749 }
15750
15751 // GoString returns the string representation
15752 func (s MetricsAndOperator) GoString() string {
15753 return s.String()
15754 }
15755
15756 // Validate inspects the fields of the type to determine if they are valid.
15757 func (s *MetricsAndOperator) Validate() error {
15758 invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"}
15759 if s.Tags != nil {
15760 for i, v := range s.Tags {
15761 if v == nil {
15762 continue
15763 }
15764 if err := v.Validate(); err != nil {
15765 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15766 }
15767 }
15768 }
15769
15770 if invalidParams.Len() > 0 {
15771 return invalidParams
15772 }
15773 return nil
15774 }
15775
15776 // SetPrefix sets the Prefix field's value.
15777 func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator {
15778 s.Prefix = &v
15779 return s
15780 }
15781
15782 // SetTags sets the Tags field's value.
15783 func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
15784 s.Tags = v
15785 return s
15786 }
15787
15788 type MetricsConfiguration struct {
15789 _ struct{} `type:"structure"`
15790
15791 // Specifies a metrics configuration filter. The metrics configuration will
15792 // only include objects that meet the filter's criteria. A filter must be a
15793 // prefix, a tag, or a conjunction (MetricsAndOperator).
15794 Filter *MetricsFilter `type:"structure"`
15795
15796 // The ID used to identify the metrics configuration.
15797 //
15798 // Id is a required field
15799 Id *string `type:"string" required:"true"`
15800 }
15801
15802 // String returns the string representation
15803 func (s MetricsConfiguration) String() string {
15804 return awsutil.Prettify(s)
15805 }
15806
15807 // GoString returns the string representation
15808 func (s MetricsConfiguration) GoString() string {
15809 return s.String()
15810 }
15811
15812 // Validate inspects the fields of the type to determine if they are valid.
15813 func (s *MetricsConfiguration) Validate() error {
15814 invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"}
15815 if s.Id == nil {
15816 invalidParams.Add(request.NewErrParamRequired("Id"))
15817 }
15818 if s.Filter != nil {
15819 if err := s.Filter.Validate(); err != nil {
15820 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
15821 }
15822 }
15823
15824 if invalidParams.Len() > 0 {
15825 return invalidParams
15826 }
15827 return nil
15828 }
15829
15830 // SetFilter sets the Filter field's value.
15831 func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration {
15832 s.Filter = v
15833 return s
15834 }
15835
15836 // SetId sets the Id field's value.
15837 func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
15838 s.Id = &v
15839 return s
15840 }
15841
15842 type MetricsFilter struct {
15843 _ struct{} `type:"structure"`
15844
15845 // A conjunction (logical AND) of predicates, which is used in evaluating a
15846 // metrics filter. The operator must have at least two predicates, and an object
15847 // must match all of the predicates in order for the filter to apply.
15848 And *MetricsAndOperator `type:"structure"`
15849
15850 // The prefix used when evaluating a metrics filter.
15851 Prefix *string `type:"string"`
15852
15853 // The tag used when evaluating a metrics filter.
15854 Tag *Tag `type:"structure"`
15855 }
15856
15857 // String returns the string representation
15858 func (s MetricsFilter) String() string {
15859 return awsutil.Prettify(s)
15860 }
15861
15862 // GoString returns the string representation
15863 func (s MetricsFilter) GoString() string {
15864 return s.String()
15865 }
15866
15867 // Validate inspects the fields of the type to determine if they are valid.
15868 func (s *MetricsFilter) Validate() error {
15869 invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"}
15870 if s.And != nil {
15871 if err := s.And.Validate(); err != nil {
15872 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
15873 }
15874 }
15875 if s.Tag != nil {
15876 if err := s.Tag.Validate(); err != nil {
15877 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
15878 }
15879 }
15880
15881 if invalidParams.Len() > 0 {
15882 return invalidParams
15883 }
15884 return nil
15885 }
15886
15887 // SetAnd sets the And field's value.
15888 func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter {
15889 s.And = v
15890 return s
15891 }
15892
15893 // SetPrefix sets the Prefix field's value.
15894 func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter {
15895 s.Prefix = &v
15896 return s
15897 }
15898
15899 // SetTag sets the Tag field's value.
15900 func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
15901 s.Tag = v
15902 return s
15903 }
15904
15905 type MultipartUpload struct {
15906 _ struct{} `type:"structure"`
15907
15908 // Date and time at which the multipart upload was initiated.
15909 Initiated *time.Time `type:"timestamp"`
15910
15911 // Identifies who initiated the multipart upload.
15912 Initiator *Initiator `type:"structure"`
15913
15914 // Key of the object for which the multipart upload was initiated.
15915 Key *string `min:"1" type:"string"`
15916
15917 Owner *Owner `type:"structure"`
15918
15919 // The class of storage used to store the object.
15920 StorageClass *string `type:"string" enum:"StorageClass"`
15921
15922 // Upload ID that identifies the multipart upload.
15923 UploadId *string `type:"string"`
15924 }
15925
15926 // String returns the string representation
15927 func (s MultipartUpload) String() string {
15928 return awsutil.Prettify(s)
15929 }
15930
15931 // GoString returns the string representation
15932 func (s MultipartUpload) GoString() string {
15933 return s.String()
15934 }
15935
15936 // SetInitiated sets the Initiated field's value.
15937 func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
15938 s.Initiated = &v
15939 return s
15940 }
15941
15942 // SetInitiator sets the Initiator field's value.
15943 func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload {
15944 s.Initiator = v
15945 return s
15946 }
15947
15948 // SetKey sets the Key field's value.
15949 func (s *MultipartUpload) SetKey(v string) *MultipartUpload {
15950 s.Key = &v
15951 return s
15952 }
15953
15954 // SetOwner sets the Owner field's value.
15955 func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload {
15956 s.Owner = v
15957 return s
15958 }
15959
15960 // SetStorageClass sets the StorageClass field's value.
15961 func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload {
15962 s.StorageClass = &v
15963 return s
15964 }
15965
15966 // SetUploadId sets the UploadId field's value.
15967 func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
15968 s.UploadId = &v
15969 return s
15970 }
15971
15972 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
15973 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
15974 // configuration action on a bucket that has versioning enabled (or suspended)
15975 // to request that Amazon S3 delete noncurrent object versions at a specific
15976 // period in the object's lifetime.
15977 type NoncurrentVersionExpiration struct {
15978 _ struct{} `type:"structure"`
15979
15980 // Specifies the number of days an object is noncurrent before Amazon S3 can
15981 // perform the associated action. For information about the noncurrent days
15982 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
15983 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in
15984 // the Amazon Simple Storage Service Developer Guide.
15985 NoncurrentDays *int64 `type:"integer"`
15986 }
15987
15988 // String returns the string representation
15989 func (s NoncurrentVersionExpiration) String() string {
15990 return awsutil.Prettify(s)
15991 }
15992
15993 // GoString returns the string representation
15994 func (s NoncurrentVersionExpiration) GoString() string {
15995 return s.String()
15996 }
15997
15998 // SetNoncurrentDays sets the NoncurrentDays field's value.
15999 func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
16000 s.NoncurrentDays = &v
16001 return s
16002 }
16003
16004 // Container for the transition rule that describes when noncurrent objects
16005 // transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your
16006 // bucket is versioning-enabled (or versioning is suspended), you can set this
16007 // action to request that Amazon S3 transition noncurrent object versions to
16008 // the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period
16009 // in the object's lifetime.
16010 type NoncurrentVersionTransition struct {
16011 _ struct{} `type:"structure"`
16012
16013 // Specifies the number of days an object is noncurrent before Amazon S3 can
16014 // perform the associated action. For information about the noncurrent days
16015 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
16016 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in
16017 // the Amazon Simple Storage Service Developer Guide.
16018 NoncurrentDays *int64 `type:"integer"`
16019
16020 // The class of storage used to store the object.
16021 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
16022 }
16023
16024 // String returns the string representation
16025 func (s NoncurrentVersionTransition) String() string {
16026 return awsutil.Prettify(s)
16027 }
16028
16029 // GoString returns the string representation
16030 func (s NoncurrentVersionTransition) GoString() string {
16031 return s.String()
16032 }
16033
16034 // SetNoncurrentDays sets the NoncurrentDays field's value.
16035 func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
16036 s.NoncurrentDays = &v
16037 return s
16038 }
16039
16040 // SetStorageClass sets the StorageClass field's value.
16041 func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition {
16042 s.StorageClass = &v
16043 return s
16044 }
16045
16046 // Container for specifying the notification configuration of the bucket. If
16047 // this element is empty, notifications are turned off on the bucket.
16048 type NotificationConfiguration struct {
16049 _ struct{} `type:"structure"`
16050
16051 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
16052
16053 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`
16054
16055 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
16056 }
16057
16058 // String returns the string representation
16059 func (s NotificationConfiguration) String() string {
16060 return awsutil.Prettify(s)
16061 }
16062
16063 // GoString returns the string representation
16064 func (s NotificationConfiguration) GoString() string {
16065 return s.String()
16066 }
16067
16068 // Validate inspects the fields of the type to determine if they are valid.
16069 func (s *NotificationConfiguration) Validate() error {
16070 invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"}
16071 if s.LambdaFunctionConfigurations != nil {
16072 for i, v := range s.LambdaFunctionConfigurations {
16073 if v == nil {
16074 continue
16075 }
16076 if err := v.Validate(); err != nil {
16077 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams))
16078 }
16079 }
16080 }
16081 if s.QueueConfigurations != nil {
16082 for i, v := range s.QueueConfigurations {
16083 if v == nil {
16084 continue
16085 }
16086 if err := v.Validate(); err != nil {
16087 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams))
16088 }
16089 }
16090 }
16091 if s.TopicConfigurations != nil {
16092 for i, v := range s.TopicConfigurations {
16093 if v == nil {
16094 continue
16095 }
16096 if err := v.Validate(); err != nil {
16097 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams))
16098 }
16099 }
16100 }
16101
16102 if invalidParams.Len() > 0 {
16103 return invalidParams
16104 }
16105 return nil
16106 }
16107
16108 // SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
16109 func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
16110 s.LambdaFunctionConfigurations = v
16111 return s
16112 }
16113
16114 // SetQueueConfigurations sets the QueueConfigurations field's value.
16115 func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration {
16116 s.QueueConfigurations = v
16117 return s
16118 }
16119
16120 // SetTopicConfigurations sets the TopicConfigurations field's value.
16121 func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration {
16122 s.TopicConfigurations = v
16123 return s
16124 }
16125
16126 type NotificationConfigurationDeprecated struct {
16127 _ struct{} `type:"structure"`
16128
16129 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`
16130
16131 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
16132
16133 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
16134 }
16135
16136 // String returns the string representation
16137 func (s NotificationConfigurationDeprecated) String() string {
16138 return awsutil.Prettify(s)
16139 }
16140
16141 // GoString returns the string representation
16142 func (s NotificationConfigurationDeprecated) GoString() string {
16143 return s.String()
16144 }
16145
16146 // SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value.
16147 func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated {
16148 s.CloudFunctionConfiguration = v
16149 return s
16150 }
16151
16152 // SetQueueConfiguration sets the QueueConfiguration field's value.
16153 func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated {
16154 s.QueueConfiguration = v
16155 return s
16156 }
16157
16158 // SetTopicConfiguration sets the TopicConfiguration field's value.
16159 func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated {
16160 s.TopicConfiguration = v
16161 return s
16162 }
16163
16164 // Container for object key name filtering rules. For information about key
16165 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
16166 // in the Amazon Simple Storage Service Developer Guide.
16167 type NotificationConfigurationFilter struct {
16168 _ struct{} `type:"structure"`
16169
16170 // Container for object key name prefix and suffix filtering rules.
16171 Key *KeyFilter `locationName:"S3Key" type:"structure"`
16172 }
16173
16174 // String returns the string representation
16175 func (s NotificationConfigurationFilter) String() string {
16176 return awsutil.Prettify(s)
16177 }
16178
16179 // GoString returns the string representation
16180 func (s NotificationConfigurationFilter) GoString() string {
16181 return s.String()
16182 }
16183
16184 // SetKey sets the Key field's value.
16185 func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter {
16186 s.Key = v
16187 return s
16188 }
16189
16190 type Object struct {
16191 _ struct{} `type:"structure"`
16192
16193 ETag *string `type:"string"`
16194
16195 Key *string `min:"1" type:"string"`
16196
16197 LastModified *time.Time `type:"timestamp"`
16198
16199 Owner *Owner `type:"structure"`
16200
16201 Size *int64 `type:"integer"`
16202
16203 // The class of storage used to store the object.
16204 StorageClass *string `type:"string" enum:"ObjectStorageClass"`
16205 }
16206
16207 // String returns the string representation
16208 func (s Object) String() string {
16209 return awsutil.Prettify(s)
16210 }
16211
16212 // GoString returns the string representation
16213 func (s Object) GoString() string {
16214 return s.String()
16215 }
16216
16217 // SetETag sets the ETag field's value.
16218 func (s *Object) SetETag(v string) *Object {
16219 s.ETag = &v
16220 return s
16221 }
16222
16223 // SetKey sets the Key field's value.
16224 func (s *Object) SetKey(v string) *Object {
16225 s.Key = &v
16226 return s
16227 }
16228
16229 // SetLastModified sets the LastModified field's value.
16230 func (s *Object) SetLastModified(v time.Time) *Object {
16231 s.LastModified = &v
16232 return s
16233 }
16234
16235 // SetOwner sets the Owner field's value.
16236 func (s *Object) SetOwner(v *Owner) *Object {
16237 s.Owner = v
16238 return s
16239 }
16240
16241 // SetSize sets the Size field's value.
16242 func (s *Object) SetSize(v int64) *Object {
16243 s.Size = &v
16244 return s
16245 }
16246
16247 // SetStorageClass sets the StorageClass field's value.
16248 func (s *Object) SetStorageClass(v string) *Object {
16249 s.StorageClass = &v
16250 return s
16251 }
16252
16253 type ObjectIdentifier struct {
16254 _ struct{} `type:"structure"`
16255
16256 // Key name of the object to delete.
16257 //
16258 // Key is a required field
16259 Key *string `min:"1" type:"string" required:"true"`
16260
16261 // VersionId for the specific version of the object to delete.
16262 VersionId *string `type:"string"`
16263 }
16264
16265 // String returns the string representation
16266 func (s ObjectIdentifier) String() string {
16267 return awsutil.Prettify(s)
16268 }
16269
16270 // GoString returns the string representation
16271 func (s ObjectIdentifier) GoString() string {
16272 return s.String()
16273 }
16274
16275 // Validate inspects the fields of the type to determine if they are valid.
16276 func (s *ObjectIdentifier) Validate() error {
16277 invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"}
16278 if s.Key == nil {
16279 invalidParams.Add(request.NewErrParamRequired("Key"))
16280 }
16281 if s.Key != nil && len(*s.Key) < 1 {
16282 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16283 }
16284
16285 if invalidParams.Len() > 0 {
16286 return invalidParams
16287 }
16288 return nil
16289 }
16290
16291 // SetKey sets the Key field's value.
16292 func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier {
16293 s.Key = &v
16294 return s
16295 }
16296
16297 // SetVersionId sets the VersionId field's value.
16298 func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
16299 s.VersionId = &v
16300 return s
16301 }
16302
16303 type ObjectVersion struct {
16304 _ struct{} `type:"structure"`
16305
16306 ETag *string `type:"string"`
16307
16308 // Specifies whether the object is (true) or is not (false) the latest version
16309 // of an object.
16310 IsLatest *bool `type:"boolean"`
16311
16312 // The object key.
16313 Key *string `min:"1" type:"string"`
16314
16315 // Date and time the object was last modified.
16316 LastModified *time.Time `type:"timestamp"`
16317
16318 Owner *Owner `type:"structure"`
16319
16320 // Size in bytes of the object.
16321 Size *int64 `type:"integer"`
16322
16323 // The class of storage used to store the object.
16324 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"`
16325
16326 // Version ID of an object.
16327 VersionId *string `type:"string"`
16328 }
16329
16330 // String returns the string representation
16331 func (s ObjectVersion) String() string {
16332 return awsutil.Prettify(s)
16333 }
16334
16335 // GoString returns the string representation
16336 func (s ObjectVersion) GoString() string {
16337 return s.String()
16338 }
16339
16340 // SetETag sets the ETag field's value.
16341 func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
16342 s.ETag = &v
16343 return s
16344 }
16345
16346 // SetIsLatest sets the IsLatest field's value.
16347 func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion {
16348 s.IsLatest = &v
16349 return s
16350 }
16351
16352 // SetKey sets the Key field's value.
16353 func (s *ObjectVersion) SetKey(v string) *ObjectVersion {
16354 s.Key = &v
16355 return s
16356 }
16357
16358 // SetLastModified sets the LastModified field's value.
16359 func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion {
16360 s.LastModified = &v
16361 return s
16362 }
16363
16364 // SetOwner sets the Owner field's value.
16365 func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion {
16366 s.Owner = v
16367 return s
16368 }
16369
16370 // SetSize sets the Size field's value.
16371 func (s *ObjectVersion) SetSize(v int64) *ObjectVersion {
16372 s.Size = &v
16373 return s
16374 }
16375
16376 // SetStorageClass sets the StorageClass field's value.
16377 func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion {
16378 s.StorageClass = &v
16379 return s
16380 }
16381
16382 // SetVersionId sets the VersionId field's value.
16383 func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
16384 s.VersionId = &v
16385 return s
16386 }
16387
16388 // Describes the location where the restore job's output is stored.
16389 type OutputLocation struct {
16390 _ struct{} `type:"structure"`
16391
16392 // Describes an S3 location that will receive the results of the restore request.
16393 S3 *Location `type:"structure"`
16394 }
16395
16396 // String returns the string representation
16397 func (s OutputLocation) String() string {
16398 return awsutil.Prettify(s)
16399 }
16400
16401 // GoString returns the string representation
16402 func (s OutputLocation) GoString() string {
16403 return s.String()
16404 }
16405
16406 // Validate inspects the fields of the type to determine if they are valid.
16407 func (s *OutputLocation) Validate() error {
16408 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
16409 if s.S3 != nil {
16410 if err := s.S3.Validate(); err != nil {
16411 invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
16412 }
16413 }
16414
16415 if invalidParams.Len() > 0 {
16416 return invalidParams
16417 }
16418 return nil
16419 }
16420
16421 // SetS3 sets the S3 field's value.
16422 func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
16423 s.S3 = v
16424 return s
16425 }
16426
16427 // Describes how results of the Select job are serialized.
16428 type OutputSerialization struct {
16429 _ struct{} `type:"structure"`
16430
16431 // Describes the serialization of CSV-encoded Select results.
16432 CSV *CSVOutput `type:"structure"`
16433
16434 // Specifies JSON as request's output serialization format.
16435 JSON *JSONOutput `type:"structure"`
16436 }
16437
16438 // String returns the string representation
16439 func (s OutputSerialization) String() string {
16440 return awsutil.Prettify(s)
16441 }
16442
16443 // GoString returns the string representation
16444 func (s OutputSerialization) GoString() string {
16445 return s.String()
16446 }
16447
16448 // SetCSV sets the CSV field's value.
16449 func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
16450 s.CSV = v
16451 return s
16452 }
16453
16454 // SetJSON sets the JSON field's value.
16455 func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
16456 s.JSON = v
16457 return s
16458 }
16459
16460 type Owner struct {
16461 _ struct{} `type:"structure"`
16462
16463 DisplayName *string `type:"string"`
16464
16465 ID *string `type:"string"`
16466 }
16467
16468 // String returns the string representation
16469 func (s Owner) String() string {
16470 return awsutil.Prettify(s)
16471 }
16472
16473 // GoString returns the string representation
16474 func (s Owner) GoString() string {
16475 return s.String()
16476 }
16477
16478 // SetDisplayName sets the DisplayName field's value.
16479 func (s *Owner) SetDisplayName(v string) *Owner {
16480 s.DisplayName = &v
16481 return s
16482 }
16483
16484 // SetID sets the ID field's value.
16485 func (s *Owner) SetID(v string) *Owner {
16486 s.ID = &v
16487 return s
16488 }
16489
16490 type Part struct {
16491 _ struct{} `type:"structure"`
16492
16493 // Entity tag returned when the part was uploaded.
16494 ETag *string `type:"string"`
16495
16496 // Date and time at which the part was uploaded.
16497 LastModified *time.Time `type:"timestamp"`
16498
16499 // Part number identifying the part. This is a positive integer between 1 and
16500 // 10,000.
16501 PartNumber *int64 `type:"integer"`
16502
16503 // Size of the uploaded part data.
16504 Size *int64 `type:"integer"`
16505 }
16506
16507 // String returns the string representation
16508 func (s Part) String() string {
16509 return awsutil.Prettify(s)
16510 }
16511
16512 // GoString returns the string representation
16513 func (s Part) GoString() string {
16514 return s.String()
16515 }
16516
16517 // SetETag sets the ETag field's value.
16518 func (s *Part) SetETag(v string) *Part {
16519 s.ETag = &v
16520 return s
16521 }
16522
16523 // SetLastModified sets the LastModified field's value.
16524 func (s *Part) SetLastModified(v time.Time) *Part {
16525 s.LastModified = &v
16526 return s
16527 }
16528
16529 // SetPartNumber sets the PartNumber field's value.
16530 func (s *Part) SetPartNumber(v int64) *Part {
16531 s.PartNumber = &v
16532 return s
16533 }
16534
16535 // SetSize sets the Size field's value.
16536 func (s *Part) SetSize(v int64) *Part {
16537 s.Size = &v
16538 return s
16539 }
16540
16541 type Progress struct {
16542 _ struct{} `type:"structure"`
16543
16544 // Current number of uncompressed object bytes processed.
16545 BytesProcessed *int64 `type:"long"`
16546
16547 // Current number of bytes of records payload data returned.
16548 BytesReturned *int64 `type:"long"`
16549
16550 // Current number of object bytes scanned.
16551 BytesScanned *int64 `type:"long"`
16552 }
16553
16554 // String returns the string representation
16555 func (s Progress) String() string {
16556 return awsutil.Prettify(s)
16557 }
16558
16559 // GoString returns the string representation
16560 func (s Progress) GoString() string {
16561 return s.String()
16562 }
16563
16564 // SetBytesProcessed sets the BytesProcessed field's value.
16565 func (s *Progress) SetBytesProcessed(v int64) *Progress {
16566 s.BytesProcessed = &v
16567 return s
16568 }
16569
16570 // SetBytesReturned sets the BytesReturned field's value.
16571 func (s *Progress) SetBytesReturned(v int64) *Progress {
16572 s.BytesReturned = &v
16573 return s
16574 }
16575
16576 // SetBytesScanned sets the BytesScanned field's value.
16577 func (s *Progress) SetBytesScanned(v int64) *Progress {
16578 s.BytesScanned = &v
16579 return s
16580 }
16581
16582 type ProgressEvent struct {
16583 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
16584
16585 // The Progress event details.
16586 Details *Progress `locationName:"Details" type:"structure"`
16587 }
16588
16589 // String returns the string representation
16590 func (s ProgressEvent) String() string {
16591 return awsutil.Prettify(s)
16592 }
16593
16594 // GoString returns the string representation
16595 func (s ProgressEvent) GoString() string {
16596 return s.String()
16597 }
16598
16599 // SetDetails sets the Details field's value.
16600 func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
16601 s.Details = v
16602 return s
16603 }
16604
16605 // The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
16606 func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
16607
16608 // UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value.
16609 // This method is only used internally within the SDK's EventStream handling.
16610 func (s *ProgressEvent) UnmarshalEvent(
16611 payloadUnmarshaler protocol.PayloadUnmarshaler,
16612 msg eventstream.Message,
16613 ) error {
16614 if err := payloadUnmarshaler.UnmarshalPayload(
16615 bytes.NewReader(msg.Payload), s,
16616 ); err != nil {
16617 return err
16618 }
16619 return nil
16620 }
16621
16622 type PutBucketAccelerateConfigurationInput struct {
16623 _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
16624
16625 // Specifies the Accelerate Configuration you want to set for the bucket.
16626 //
16627 // AccelerateConfiguration is a required field
16628 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16629
16630 // Name of the bucket for which the accelerate configuration is set.
16631 //
16632 // Bucket is a required field
16633 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16634 }
16635
16636 // String returns the string representation
16637 func (s PutBucketAccelerateConfigurationInput) String() string {
16638 return awsutil.Prettify(s)
16639 }
16640
16641 // GoString returns the string representation
16642 func (s PutBucketAccelerateConfigurationInput) GoString() string {
16643 return s.String()
16644 }
16645
16646 // Validate inspects the fields of the type to determine if they are valid.
16647 func (s *PutBucketAccelerateConfigurationInput) Validate() error {
16648 invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"}
16649 if s.AccelerateConfiguration == nil {
16650 invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration"))
16651 }
16652 if s.Bucket == nil {
16653 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16654 }
16655
16656 if invalidParams.Len() > 0 {
16657 return invalidParams
16658 }
16659 return nil
16660 }
16661
16662 // SetAccelerateConfiguration sets the AccelerateConfiguration field's value.
16663 func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput {
16664 s.AccelerateConfiguration = v
16665 return s
16666 }
16667
16668 // SetBucket sets the Bucket field's value.
16669 func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput {
16670 s.Bucket = &v
16671 return s
16672 }
16673
16674 func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
16675 if s.Bucket == nil {
16676 return v
16677 }
16678 return *s.Bucket
16679 }
16680
16681 type PutBucketAccelerateConfigurationOutput struct {
16682 _ struct{} `type:"structure"`
16683 }
16684
16685 // String returns the string representation
16686 func (s PutBucketAccelerateConfigurationOutput) String() string {
16687 return awsutil.Prettify(s)
16688 }
16689
16690 // GoString returns the string representation
16691 func (s PutBucketAccelerateConfigurationOutput) GoString() string {
16692 return s.String()
16693 }
16694
16695 type PutBucketAclInput struct {
16696 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
16697
16698 // The canned ACL to apply to the bucket.
16699 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
16700
16701 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16702
16703 // Bucket is a required field
16704 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16705
16706 // Allows grantee the read, write, read ACP, and write ACP permissions on the
16707 // bucket.
16708 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
16709
16710 // Allows grantee to list the objects in the bucket.
16711 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
16712
16713 // Allows grantee to read the bucket ACL.
16714 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
16715
16716 // Allows grantee to create, overwrite, and delete any object in the bucket.
16717 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
16718
16719 // Allows grantee to write the ACL for the applicable bucket.
16720 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
16721 }
16722
16723 // String returns the string representation
16724 func (s PutBucketAclInput) String() string {
16725 return awsutil.Prettify(s)
16726 }
16727
16728 // GoString returns the string representation
16729 func (s PutBucketAclInput) GoString() string {
16730 return s.String()
16731 }
16732
16733 // Validate inspects the fields of the type to determine if they are valid.
16734 func (s *PutBucketAclInput) Validate() error {
16735 invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"}
16736 if s.Bucket == nil {
16737 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16738 }
16739 if s.AccessControlPolicy != nil {
16740 if err := s.AccessControlPolicy.Validate(); err != nil {
16741 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
16742 }
16743 }
16744
16745 if invalidParams.Len() > 0 {
16746 return invalidParams
16747 }
16748 return nil
16749 }
16750
16751 // SetACL sets the ACL field's value.
16752 func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput {
16753 s.ACL = &v
16754 return s
16755 }
16756
16757 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
16758 func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput {
16759 s.AccessControlPolicy = v
16760 return s
16761 }
16762
16763 // SetBucket sets the Bucket field's value.
16764 func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
16765 s.Bucket = &v
16766 return s
16767 }
16768
16769 func (s *PutBucketAclInput) getBucket() (v string) {
16770 if s.Bucket == nil {
16771 return v
16772 }
16773 return *s.Bucket
16774 }
16775
16776 // SetGrantFullControl sets the GrantFullControl field's value.
16777 func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
16778 s.GrantFullControl = &v
16779 return s
16780 }
16781
16782 // SetGrantRead sets the GrantRead field's value.
16783 func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput {
16784 s.GrantRead = &v
16785 return s
16786 }
16787
16788 // SetGrantReadACP sets the GrantReadACP field's value.
16789 func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput {
16790 s.GrantReadACP = &v
16791 return s
16792 }
16793
16794 // SetGrantWrite sets the GrantWrite field's value.
16795 func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput {
16796 s.GrantWrite = &v
16797 return s
16798 }
16799
16800 // SetGrantWriteACP sets the GrantWriteACP field's value.
16801 func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
16802 s.GrantWriteACP = &v
16803 return s
16804 }
16805
16806 type PutBucketAclOutput struct {
16807 _ struct{} `type:"structure"`
16808 }
16809
16810 // String returns the string representation
16811 func (s PutBucketAclOutput) String() string {
16812 return awsutil.Prettify(s)
16813 }
16814
16815 // GoString returns the string representation
16816 func (s PutBucketAclOutput) GoString() string {
16817 return s.String()
16818 }
16819
16820 type PutBucketAnalyticsConfigurationInput struct {
16821 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
16822
16823 // The configuration and any analyses for the analytics filter.
16824 //
16825 // AnalyticsConfiguration is a required field
16826 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16827
16828 // The name of the bucket to which an analytics configuration is stored.
16829 //
16830 // Bucket is a required field
16831 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16832
16833 // The identifier used to represent an analytics configuration.
16834 //
16835 // Id is a required field
16836 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
16837 }
16838
16839 // String returns the string representation
16840 func (s PutBucketAnalyticsConfigurationInput) String() string {
16841 return awsutil.Prettify(s)
16842 }
16843
16844 // GoString returns the string representation
16845 func (s PutBucketAnalyticsConfigurationInput) GoString() string {
16846 return s.String()
16847 }
16848
16849 // Validate inspects the fields of the type to determine if they are valid.
16850 func (s *PutBucketAnalyticsConfigurationInput) Validate() error {
16851 invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"}
16852 if s.AnalyticsConfiguration == nil {
16853 invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration"))
16854 }
16855 if s.Bucket == nil {
16856 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16857 }
16858 if s.Id == nil {
16859 invalidParams.Add(request.NewErrParamRequired("Id"))
16860 }
16861 if s.AnalyticsConfiguration != nil {
16862 if err := s.AnalyticsConfiguration.Validate(); err != nil {
16863 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
16864 }
16865 }
16866
16867 if invalidParams.Len() > 0 {
16868 return invalidParams
16869 }
16870 return nil
16871 }
16872
16873 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
16874 func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput {
16875 s.AnalyticsConfiguration = v
16876 return s
16877 }
16878
16879 // SetBucket sets the Bucket field's value.
16880 func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput {
16881 s.Bucket = &v
16882 return s
16883 }
16884
16885 func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
16886 if s.Bucket == nil {
16887 return v
16888 }
16889 return *s.Bucket
16890 }
16891
16892 // SetId sets the Id field's value.
16893 func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
16894 s.Id = &v
16895 return s
16896 }
16897
16898 type PutBucketAnalyticsConfigurationOutput struct {
16899 _ struct{} `type:"structure"`
16900 }
16901
16902 // String returns the string representation
16903 func (s PutBucketAnalyticsConfigurationOutput) String() string {
16904 return awsutil.Prettify(s)
16905 }
16906
16907 // GoString returns the string representation
16908 func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
16909 return s.String()
16910 }
16911
16912 type PutBucketCorsInput struct {
16913 _ struct{} `type:"structure" payload:"CORSConfiguration"`
16914
16915 // Bucket is a required field
16916 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16917
16918 // CORSConfiguration is a required field
16919 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16920 }
16921
16922 // String returns the string representation
16923 func (s PutBucketCorsInput) String() string {
16924 return awsutil.Prettify(s)
16925 }
16926
16927 // GoString returns the string representation
16928 func (s PutBucketCorsInput) GoString() string {
16929 return s.String()
16930 }
16931
16932 // Validate inspects the fields of the type to determine if they are valid.
16933 func (s *PutBucketCorsInput) Validate() error {
16934 invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"}
16935 if s.Bucket == nil {
16936 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16937 }
16938 if s.CORSConfiguration == nil {
16939 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration"))
16940 }
16941 if s.CORSConfiguration != nil {
16942 if err := s.CORSConfiguration.Validate(); err != nil {
16943 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams))
16944 }
16945 }
16946
16947 if invalidParams.Len() > 0 {
16948 return invalidParams
16949 }
16950 return nil
16951 }
16952
16953 // SetBucket sets the Bucket field's value.
16954 func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
16955 s.Bucket = &v
16956 return s
16957 }
16958
16959 func (s *PutBucketCorsInput) getBucket() (v string) {
16960 if s.Bucket == nil {
16961 return v
16962 }
16963 return *s.Bucket
16964 }
16965
16966 // SetCORSConfiguration sets the CORSConfiguration field's value.
16967 func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
16968 s.CORSConfiguration = v
16969 return s
16970 }
16971
16972 type PutBucketCorsOutput struct {
16973 _ struct{} `type:"structure"`
16974 }
16975
16976 // String returns the string representation
16977 func (s PutBucketCorsOutput) String() string {
16978 return awsutil.Prettify(s)
16979 }
16980
16981 // GoString returns the string representation
16982 func (s PutBucketCorsOutput) GoString() string {
16983 return s.String()
16984 }
16985
16986 type PutBucketEncryptionInput struct {
16987 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
16988
16989 // The name of the bucket for which the server-side encryption configuration
16990 // is set.
16991 //
16992 // Bucket is a required field
16993 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16994
16995 // Container for server-side encryption configuration rules. Currently S3 supports
16996 // one rule only.
16997 //
16998 // ServerSideEncryptionConfiguration is a required field
16999 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17000 }
17001
17002 // String returns the string representation
17003 func (s PutBucketEncryptionInput) String() string {
17004 return awsutil.Prettify(s)
17005 }
17006
17007 // GoString returns the string representation
17008 func (s PutBucketEncryptionInput) GoString() string {
17009 return s.String()
17010 }
17011
17012 // Validate inspects the fields of the type to determine if they are valid.
17013 func (s *PutBucketEncryptionInput) Validate() error {
17014 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"}
17015 if s.Bucket == nil {
17016 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17017 }
17018 if s.ServerSideEncryptionConfiguration == nil {
17019 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
17020 }
17021 if s.ServerSideEncryptionConfiguration != nil {
17022 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
17023 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
17024 }
17025 }
17026
17027 if invalidParams.Len() > 0 {
17028 return invalidParams
17029 }
17030 return nil
17031 }
17032
17033 // SetBucket sets the Bucket field's value.
17034 func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
17035 s.Bucket = &v
17036 return s
17037 }
17038
17039 func (s *PutBucketEncryptionInput) getBucket() (v string) {
17040 if s.Bucket == nil {
17041 return v
17042 }
17043 return *s.Bucket
17044 }
17045
17046 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
17047 func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
17048 s.ServerSideEncryptionConfiguration = v
17049 return s
17050 }
17051
17052 type PutBucketEncryptionOutput struct {
17053 _ struct{} `type:"structure"`
17054 }
17055
17056 // String returns the string representation
17057 func (s PutBucketEncryptionOutput) String() string {
17058 return awsutil.Prettify(s)
17059 }
17060
17061 // GoString returns the string representation
17062 func (s PutBucketEncryptionOutput) GoString() string {
17063 return s.String()
17064 }
17065
17066 type PutBucketInventoryConfigurationInput struct {
17067 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
17068
17069 // The name of the bucket where the inventory configuration will be stored.
17070 //
17071 // Bucket is a required field
17072 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17073
17074 // The ID used to identify the inventory configuration.
17075 //
17076 // Id is a required field
17077 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
17078
17079 // Specifies the inventory configuration.
17080 //
17081 // InventoryConfiguration is a required field
17082 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17083 }
17084
17085 // String returns the string representation
17086 func (s PutBucketInventoryConfigurationInput) String() string {
17087 return awsutil.Prettify(s)
17088 }
17089
17090 // GoString returns the string representation
17091 func (s PutBucketInventoryConfigurationInput) GoString() string {
17092 return s.String()
17093 }
17094
17095 // Validate inspects the fields of the type to determine if they are valid.
17096 func (s *PutBucketInventoryConfigurationInput) Validate() error {
17097 invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"}
17098 if s.Bucket == nil {
17099 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17100 }
17101 if s.Id == nil {
17102 invalidParams.Add(request.NewErrParamRequired("Id"))
17103 }
17104 if s.InventoryConfiguration == nil {
17105 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration"))
17106 }
17107 if s.InventoryConfiguration != nil {
17108 if err := s.InventoryConfiguration.Validate(); err != nil {
17109 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams))
17110 }
17111 }
17112
17113 if invalidParams.Len() > 0 {
17114 return invalidParams
17115 }
17116 return nil
17117 }
17118
17119 // SetBucket sets the Bucket field's value.
17120 func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput {
17121 s.Bucket = &v
17122 return s
17123 }
17124
17125 func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
17126 if s.Bucket == nil {
17127 return v
17128 }
17129 return *s.Bucket
17130 }
17131
17132 // SetId sets the Id field's value.
17133 func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
17134 s.Id = &v
17135 return s
17136 }
17137
17138 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
17139 func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput {
17140 s.InventoryConfiguration = v
17141 return s
17142 }
17143
17144 type PutBucketInventoryConfigurationOutput struct {
17145 _ struct{} `type:"structure"`
17146 }
17147
17148 // String returns the string representation
17149 func (s PutBucketInventoryConfigurationOutput) String() string {
17150 return awsutil.Prettify(s)
17151 }
17152
17153 // GoString returns the string representation
17154 func (s PutBucketInventoryConfigurationOutput) GoString() string {
17155 return s.String()
17156 }
17157
17158 type PutBucketLifecycleConfigurationInput struct {
17159 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
17160
17161 // Bucket is a required field
17162 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17163
17164 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17165 }
17166
17167 // String returns the string representation
17168 func (s PutBucketLifecycleConfigurationInput) String() string {
17169 return awsutil.Prettify(s)
17170 }
17171
17172 // GoString returns the string representation
17173 func (s PutBucketLifecycleConfigurationInput) GoString() string {
17174 return s.String()
17175 }
17176
17177 // Validate inspects the fields of the type to determine if they are valid.
17178 func (s *PutBucketLifecycleConfigurationInput) Validate() error {
17179 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"}
17180 if s.Bucket == nil {
17181 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17182 }
17183 if s.LifecycleConfiguration != nil {
17184 if err := s.LifecycleConfiguration.Validate(); err != nil {
17185 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
17186 }
17187 }
17188
17189 if invalidParams.Len() > 0 {
17190 return invalidParams
17191 }
17192 return nil
17193 }
17194
17195 // SetBucket sets the Bucket field's value.
17196 func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput {
17197 s.Bucket = &v
17198 return s
17199 }
17200
17201 func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
17202 if s.Bucket == nil {
17203 return v
17204 }
17205 return *s.Bucket
17206 }
17207
17208 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
17209 func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
17210 s.LifecycleConfiguration = v
17211 return s
17212 }
17213
17214 type PutBucketLifecycleConfigurationOutput struct {
17215 _ struct{} `type:"structure"`
17216 }
17217
17218 // String returns the string representation
17219 func (s PutBucketLifecycleConfigurationOutput) String() string {
17220 return awsutil.Prettify(s)
17221 }
17222
17223 // GoString returns the string representation
17224 func (s PutBucketLifecycleConfigurationOutput) GoString() string {
17225 return s.String()
17226 }
17227
17228 type PutBucketLifecycleInput struct {
17229 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
17230
17231 // Bucket is a required field
17232 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17233
17234 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17235 }
17236
17237 // String returns the string representation
17238 func (s PutBucketLifecycleInput) String() string {
17239 return awsutil.Prettify(s)
17240 }
17241
17242 // GoString returns the string representation
17243 func (s PutBucketLifecycleInput) GoString() string {
17244 return s.String()
17245 }
17246
17247 // Validate inspects the fields of the type to determine if they are valid.
17248 func (s *PutBucketLifecycleInput) Validate() error {
17249 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"}
17250 if s.Bucket == nil {
17251 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17252 }
17253 if s.LifecycleConfiguration != nil {
17254 if err := s.LifecycleConfiguration.Validate(); err != nil {
17255 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
17256 }
17257 }
17258
17259 if invalidParams.Len() > 0 {
17260 return invalidParams
17261 }
17262 return nil
17263 }
17264
17265 // SetBucket sets the Bucket field's value.
17266 func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
17267 s.Bucket = &v
17268 return s
17269 }
17270
17271 func (s *PutBucketLifecycleInput) getBucket() (v string) {
17272 if s.Bucket == nil {
17273 return v
17274 }
17275 return *s.Bucket
17276 }
17277
17278 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
17279 func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
17280 s.LifecycleConfiguration = v
17281 return s
17282 }
17283
17284 type PutBucketLifecycleOutput struct {
17285 _ struct{} `type:"structure"`
17286 }
17287
17288 // String returns the string representation
17289 func (s PutBucketLifecycleOutput) String() string {
17290 return awsutil.Prettify(s)
17291 }
17292
17293 // GoString returns the string representation
17294 func (s PutBucketLifecycleOutput) GoString() string {
17295 return s.String()
17296 }
17297
17298 type PutBucketLoggingInput struct {
17299 _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
17300
17301 // Bucket is a required field
17302 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17303
17304 // BucketLoggingStatus is a required field
17305 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17306 }
17307
17308 // String returns the string representation
17309 func (s PutBucketLoggingInput) String() string {
17310 return awsutil.Prettify(s)
17311 }
17312
17313 // GoString returns the string representation
17314 func (s PutBucketLoggingInput) GoString() string {
17315 return s.String()
17316 }
17317
17318 // Validate inspects the fields of the type to determine if they are valid.
17319 func (s *PutBucketLoggingInput) Validate() error {
17320 invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"}
17321 if s.Bucket == nil {
17322 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17323 }
17324 if s.BucketLoggingStatus == nil {
17325 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus"))
17326 }
17327 if s.BucketLoggingStatus != nil {
17328 if err := s.BucketLoggingStatus.Validate(); err != nil {
17329 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams))
17330 }
17331 }
17332
17333 if invalidParams.Len() > 0 {
17334 return invalidParams
17335 }
17336 return nil
17337 }
17338
17339 // SetBucket sets the Bucket field's value.
17340 func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
17341 s.Bucket = &v
17342 return s
17343 }
17344
17345 func (s *PutBucketLoggingInput) getBucket() (v string) {
17346 if s.Bucket == nil {
17347 return v
17348 }
17349 return *s.Bucket
17350 }
17351
17352 // SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
17353 func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
17354 s.BucketLoggingStatus = v
17355 return s
17356 }
17357
17358 type PutBucketLoggingOutput struct {
17359 _ struct{} `type:"structure"`
17360 }
17361
17362 // String returns the string representation
17363 func (s PutBucketLoggingOutput) String() string {
17364 return awsutil.Prettify(s)
17365 }
17366
17367 // GoString returns the string representation
17368 func (s PutBucketLoggingOutput) GoString() string {
17369 return s.String()
17370 }
17371
17372 type PutBucketMetricsConfigurationInput struct {
17373 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
17374
17375 // The name of the bucket for which the metrics configuration is set.
17376 //
17377 // Bucket is a required field
17378 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17379
17380 // The ID used to identify the metrics configuration.
17381 //
17382 // Id is a required field
17383 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
17384
17385 // Specifies the metrics configuration.
17386 //
17387 // MetricsConfiguration is a required field
17388 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17389 }
17390
17391 // String returns the string representation
17392 func (s PutBucketMetricsConfigurationInput) String() string {
17393 return awsutil.Prettify(s)
17394 }
17395
17396 // GoString returns the string representation
17397 func (s PutBucketMetricsConfigurationInput) GoString() string {
17398 return s.String()
17399 }
17400
17401 // Validate inspects the fields of the type to determine if they are valid.
17402 func (s *PutBucketMetricsConfigurationInput) Validate() error {
17403 invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"}
17404 if s.Bucket == nil {
17405 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17406 }
17407 if s.Id == nil {
17408 invalidParams.Add(request.NewErrParamRequired("Id"))
17409 }
17410 if s.MetricsConfiguration == nil {
17411 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration"))
17412 }
17413 if s.MetricsConfiguration != nil {
17414 if err := s.MetricsConfiguration.Validate(); err != nil {
17415 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
17416 }
17417 }
17418
17419 if invalidParams.Len() > 0 {
17420 return invalidParams
17421 }
17422 return nil
17423 }
17424
17425 // SetBucket sets the Bucket field's value.
17426 func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput {
17427 s.Bucket = &v
17428 return s
17429 }
17430
17431 func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
17432 if s.Bucket == nil {
17433 return v
17434 }
17435 return *s.Bucket
17436 }
17437
17438 // SetId sets the Id field's value.
17439 func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
17440 s.Id = &v
17441 return s
17442 }
17443
17444 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
17445 func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput {
17446 s.MetricsConfiguration = v
17447 return s
17448 }
17449
17450 type PutBucketMetricsConfigurationOutput struct {
17451 _ struct{} `type:"structure"`
17452 }
17453
17454 // String returns the string representation
17455 func (s PutBucketMetricsConfigurationOutput) String() string {
17456 return awsutil.Prettify(s)
17457 }
17458
17459 // GoString returns the string representation
17460 func (s PutBucketMetricsConfigurationOutput) GoString() string {
17461 return s.String()
17462 }
17463
17464 type PutBucketNotificationConfigurationInput struct {
17465 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
17466
17467 // Bucket is a required field
17468 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17469
17470 // Container for specifying the notification configuration of the bucket. If
17471 // this element is empty, notifications are turned off on the bucket.
17472 //
17473 // NotificationConfiguration is a required field
17474 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17475 }
17476
17477 // String returns the string representation
17478 func (s PutBucketNotificationConfigurationInput) String() string {
17479 return awsutil.Prettify(s)
17480 }
17481
17482 // GoString returns the string representation
17483 func (s PutBucketNotificationConfigurationInput) GoString() string {
17484 return s.String()
17485 }
17486
17487 // Validate inspects the fields of the type to determine if they are valid.
17488 func (s *PutBucketNotificationConfigurationInput) Validate() error {
17489 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"}
17490 if s.Bucket == nil {
17491 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17492 }
17493 if s.NotificationConfiguration == nil {
17494 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
17495 }
17496 if s.NotificationConfiguration != nil {
17497 if err := s.NotificationConfiguration.Validate(); err != nil {
17498 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams))
17499 }
17500 }
17501
17502 if invalidParams.Len() > 0 {
17503 return invalidParams
17504 }
17505 return nil
17506 }
17507
17508 // SetBucket sets the Bucket field's value.
17509 func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput {
17510 s.Bucket = &v
17511 return s
17512 }
17513
17514 func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
17515 if s.Bucket == nil {
17516 return v
17517 }
17518 return *s.Bucket
17519 }
17520
17521 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
17522 func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
17523 s.NotificationConfiguration = v
17524 return s
17525 }
17526
17527 type PutBucketNotificationConfigurationOutput struct {
17528 _ struct{} `type:"structure"`
17529 }
17530
17531 // String returns the string representation
17532 func (s PutBucketNotificationConfigurationOutput) String() string {
17533 return awsutil.Prettify(s)
17534 }
17535
17536 // GoString returns the string representation
17537 func (s PutBucketNotificationConfigurationOutput) GoString() string {
17538 return s.String()
17539 }
17540
17541 type PutBucketNotificationInput struct {
17542 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
17543
17544 // Bucket is a required field
17545 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17546
17547 // NotificationConfiguration is a required field
17548 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17549 }
17550
17551 // String returns the string representation
17552 func (s PutBucketNotificationInput) String() string {
17553 return awsutil.Prettify(s)
17554 }
17555
17556 // GoString returns the string representation
17557 func (s PutBucketNotificationInput) GoString() string {
17558 return s.String()
17559 }
17560
17561 // Validate inspects the fields of the type to determine if they are valid.
17562 func (s *PutBucketNotificationInput) Validate() error {
17563 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"}
17564 if s.Bucket == nil {
17565 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17566 }
17567 if s.NotificationConfiguration == nil {
17568 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
17569 }
17570
17571 if invalidParams.Len() > 0 {
17572 return invalidParams
17573 }
17574 return nil
17575 }
17576
17577 // SetBucket sets the Bucket field's value.
17578 func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput {
17579 s.Bucket = &v
17580 return s
17581 }
17582
17583 func (s *PutBucketNotificationInput) getBucket() (v string) {
17584 if s.Bucket == nil {
17585 return v
17586 }
17587 return *s.Bucket
17588 }
17589
17590 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
17591 func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
17592 s.NotificationConfiguration = v
17593 return s
17594 }
17595
17596 type PutBucketNotificationOutput struct {
17597 _ struct{} `type:"structure"`
17598 }
17599
17600 // String returns the string representation
17601 func (s PutBucketNotificationOutput) String() string {
17602 return awsutil.Prettify(s)
17603 }
17604
17605 // GoString returns the string representation
17606 func (s PutBucketNotificationOutput) GoString() string {
17607 return s.String()
17608 }
17609
17610 type PutBucketPolicyInput struct {
17611 _ struct{} `type:"structure" payload:"Policy"`
17612
17613 // Bucket is a required field
17614 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17615
17616 // Set this parameter to true to confirm that you want to remove your permissions
17617 // to change this bucket policy in the future.
17618 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
17619
17620 // The bucket policy as a JSON document.
17621 //
17622 // Policy is a required field
17623 Policy *string `type:"string" required:"true"`
17624 }
17625
17626 // String returns the string representation
17627 func (s PutBucketPolicyInput) String() string {
17628 return awsutil.Prettify(s)
17629 }
17630
17631 // GoString returns the string representation
17632 func (s PutBucketPolicyInput) GoString() string {
17633 return s.String()
17634 }
17635
17636 // Validate inspects the fields of the type to determine if they are valid.
17637 func (s *PutBucketPolicyInput) Validate() error {
17638 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"}
17639 if s.Bucket == nil {
17640 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17641 }
17642 if s.Policy == nil {
17643 invalidParams.Add(request.NewErrParamRequired("Policy"))
17644 }
17645
17646 if invalidParams.Len() > 0 {
17647 return invalidParams
17648 }
17649 return nil
17650 }
17651
17652 // SetBucket sets the Bucket field's value.
17653 func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
17654 s.Bucket = &v
17655 return s
17656 }
17657
17658 func (s *PutBucketPolicyInput) getBucket() (v string) {
17659 if s.Bucket == nil {
17660 return v
17661 }
17662 return *s.Bucket
17663 }
17664
17665 // SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
17666 func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
17667 s.ConfirmRemoveSelfBucketAccess = &v
17668 return s
17669 }
17670
17671 // SetPolicy sets the Policy field's value.
17672 func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
17673 s.Policy = &v
17674 return s
17675 }
17676
17677 type PutBucketPolicyOutput struct {
17678 _ struct{} `type:"structure"`
17679 }
17680
17681 // String returns the string representation
17682 func (s PutBucketPolicyOutput) String() string {
17683 return awsutil.Prettify(s)
17684 }
17685
17686 // GoString returns the string representation
17687 func (s PutBucketPolicyOutput) GoString() string {
17688 return s.String()
17689 }
17690
17691 type PutBucketReplicationInput struct {
17692 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
17693
17694 // Bucket is a required field
17695 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17696
17697 // Container for replication rules. You can add as many as 1,000 rules. Total
17698 // replication configuration size can be up to 2 MB.
17699 //
17700 // ReplicationConfiguration is a required field
17701 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17702 }
17703
17704 // String returns the string representation
17705 func (s PutBucketReplicationInput) String() string {
17706 return awsutil.Prettify(s)
17707 }
17708
17709 // GoString returns the string representation
17710 func (s PutBucketReplicationInput) GoString() string {
17711 return s.String()
17712 }
17713
17714 // Validate inspects the fields of the type to determine if they are valid.
17715 func (s *PutBucketReplicationInput) Validate() error {
17716 invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"}
17717 if s.Bucket == nil {
17718 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17719 }
17720 if s.ReplicationConfiguration == nil {
17721 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
17722 }
17723 if s.ReplicationConfiguration != nil {
17724 if err := s.ReplicationConfiguration.Validate(); err != nil {
17725 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
17726 }
17727 }
17728
17729 if invalidParams.Len() > 0 {
17730 return invalidParams
17731 }
17732 return nil
17733 }
17734
17735 // SetBucket sets the Bucket field's value.
17736 func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput {
17737 s.Bucket = &v
17738 return s
17739 }
17740
17741 func (s *PutBucketReplicationInput) getBucket() (v string) {
17742 if s.Bucket == nil {
17743 return v
17744 }
17745 return *s.Bucket
17746 }
17747
17748 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
17749 func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
17750 s.ReplicationConfiguration = v
17751 return s
17752 }
17753
17754 type PutBucketReplicationOutput struct {
17755 _ struct{} `type:"structure"`
17756 }
17757
17758 // String returns the string representation
17759 func (s PutBucketReplicationOutput) String() string {
17760 return awsutil.Prettify(s)
17761 }
17762
17763 // GoString returns the string representation
17764 func (s PutBucketReplicationOutput) GoString() string {
17765 return s.String()
17766 }
17767
17768 type PutBucketRequestPaymentInput struct {
17769 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
17770
17771 // Bucket is a required field
17772 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17773
17774 // RequestPaymentConfiguration is a required field
17775 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17776 }
17777
17778 // String returns the string representation
17779 func (s PutBucketRequestPaymentInput) String() string {
17780 return awsutil.Prettify(s)
17781 }
17782
17783 // GoString returns the string representation
17784 func (s PutBucketRequestPaymentInput) GoString() string {
17785 return s.String()
17786 }
17787
17788 // Validate inspects the fields of the type to determine if they are valid.
17789 func (s *PutBucketRequestPaymentInput) Validate() error {
17790 invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"}
17791 if s.Bucket == nil {
17792 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17793 }
17794 if s.RequestPaymentConfiguration == nil {
17795 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration"))
17796 }
17797 if s.RequestPaymentConfiguration != nil {
17798 if err := s.RequestPaymentConfiguration.Validate(); err != nil {
17799 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams))
17800 }
17801 }
17802
17803 if invalidParams.Len() > 0 {
17804 return invalidParams
17805 }
17806 return nil
17807 }
17808
17809 // SetBucket sets the Bucket field's value.
17810 func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput {
17811 s.Bucket = &v
17812 return s
17813 }
17814
17815 func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
17816 if s.Bucket == nil {
17817 return v
17818 }
17819 return *s.Bucket
17820 }
17821
17822 // SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
17823 func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
17824 s.RequestPaymentConfiguration = v
17825 return s
17826 }
17827
17828 type PutBucketRequestPaymentOutput struct {
17829 _ struct{} `type:"structure"`
17830 }
17831
17832 // String returns the string representation
17833 func (s PutBucketRequestPaymentOutput) String() string {
17834 return awsutil.Prettify(s)
17835 }
17836
17837 // GoString returns the string representation
17838 func (s PutBucketRequestPaymentOutput) GoString() string {
17839 return s.String()
17840 }
17841
17842 type PutBucketTaggingInput struct {
17843 _ struct{} `type:"structure" payload:"Tagging"`
17844
17845 // Bucket is a required field
17846 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17847
17848 // Tagging is a required field
17849 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17850 }
17851
17852 // String returns the string representation
17853 func (s PutBucketTaggingInput) String() string {
17854 return awsutil.Prettify(s)
17855 }
17856
17857 // GoString returns the string representation
17858 func (s PutBucketTaggingInput) GoString() string {
17859 return s.String()
17860 }
17861
17862 // Validate inspects the fields of the type to determine if they are valid.
17863 func (s *PutBucketTaggingInput) Validate() error {
17864 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"}
17865 if s.Bucket == nil {
17866 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17867 }
17868 if s.Tagging == nil {
17869 invalidParams.Add(request.NewErrParamRequired("Tagging"))
17870 }
17871 if s.Tagging != nil {
17872 if err := s.Tagging.Validate(); err != nil {
17873 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
17874 }
17875 }
17876
17877 if invalidParams.Len() > 0 {
17878 return invalidParams
17879 }
17880 return nil
17881 }
17882
17883 // SetBucket sets the Bucket field's value.
17884 func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
17885 s.Bucket = &v
17886 return s
17887 }
17888
17889 func (s *PutBucketTaggingInput) getBucket() (v string) {
17890 if s.Bucket == nil {
17891 return v
17892 }
17893 return *s.Bucket
17894 }
17895
17896 // SetTagging sets the Tagging field's value.
17897 func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
17898 s.Tagging = v
17899 return s
17900 }
17901
17902 type PutBucketTaggingOutput struct {
17903 _ struct{} `type:"structure"`
17904 }
17905
17906 // String returns the string representation
17907 func (s PutBucketTaggingOutput) String() string {
17908 return awsutil.Prettify(s)
17909 }
17910
17911 // GoString returns the string representation
17912 func (s PutBucketTaggingOutput) GoString() string {
17913 return s.String()
17914 }
17915
17916 type PutBucketVersioningInput struct {
17917 _ struct{} `type:"structure" payload:"VersioningConfiguration"`
17918
17919 // Bucket is a required field
17920 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17921
17922 // The concatenation of the authentication device's serial number, a space,
17923 // and the value that is displayed on your authentication device.
17924 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
17925
17926 // VersioningConfiguration is a required field
17927 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17928 }
17929
17930 // String returns the string representation
17931 func (s PutBucketVersioningInput) String() string {
17932 return awsutil.Prettify(s)
17933 }
17934
17935 // GoString returns the string representation
17936 func (s PutBucketVersioningInput) GoString() string {
17937 return s.String()
17938 }
17939
17940 // Validate inspects the fields of the type to determine if they are valid.
17941 func (s *PutBucketVersioningInput) Validate() error {
17942 invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"}
17943 if s.Bucket == nil {
17944 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17945 }
17946 if s.VersioningConfiguration == nil {
17947 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration"))
17948 }
17949
17950 if invalidParams.Len() > 0 {
17951 return invalidParams
17952 }
17953 return nil
17954 }
17955
17956 // SetBucket sets the Bucket field's value.
17957 func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput {
17958 s.Bucket = &v
17959 return s
17960 }
17961
17962 func (s *PutBucketVersioningInput) getBucket() (v string) {
17963 if s.Bucket == nil {
17964 return v
17965 }
17966 return *s.Bucket
17967 }
17968
17969 // SetMFA sets the MFA field's value.
17970 func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
17971 s.MFA = &v
17972 return s
17973 }
17974
17975 // SetVersioningConfiguration sets the VersioningConfiguration field's value.
17976 func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput {
17977 s.VersioningConfiguration = v
17978 return s
17979 }
17980
17981 type PutBucketVersioningOutput struct {
17982 _ struct{} `type:"structure"`
17983 }
17984
17985 // String returns the string representation
17986 func (s PutBucketVersioningOutput) String() string {
17987 return awsutil.Prettify(s)
17988 }
17989
17990 // GoString returns the string representation
17991 func (s PutBucketVersioningOutput) GoString() string {
17992 return s.String()
17993 }
17994
17995 type PutBucketWebsiteInput struct {
17996 _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
17997
17998 // Bucket is a required field
17999 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18000
18001 // WebsiteConfiguration is a required field
18002 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18003 }
18004
18005 // String returns the string representation
18006 func (s PutBucketWebsiteInput) String() string {
18007 return awsutil.Prettify(s)
18008 }
18009
18010 // GoString returns the string representation
18011 func (s PutBucketWebsiteInput) GoString() string {
18012 return s.String()
18013 }
18014
18015 // Validate inspects the fields of the type to determine if they are valid.
18016 func (s *PutBucketWebsiteInput) Validate() error {
18017 invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"}
18018 if s.Bucket == nil {
18019 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18020 }
18021 if s.WebsiteConfiguration == nil {
18022 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration"))
18023 }
18024 if s.WebsiteConfiguration != nil {
18025 if err := s.WebsiteConfiguration.Validate(); err != nil {
18026 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams))
18027 }
18028 }
18029
18030 if invalidParams.Len() > 0 {
18031 return invalidParams
18032 }
18033 return nil
18034 }
18035
18036 // SetBucket sets the Bucket field's value.
18037 func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
18038 s.Bucket = &v
18039 return s
18040 }
18041
18042 func (s *PutBucketWebsiteInput) getBucket() (v string) {
18043 if s.Bucket == nil {
18044 return v
18045 }
18046 return *s.Bucket
18047 }
18048
18049 // SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
18050 func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
18051 s.WebsiteConfiguration = v
18052 return s
18053 }
18054
18055 type PutBucketWebsiteOutput struct {
18056 _ struct{} `type:"structure"`
18057 }
18058
18059 // String returns the string representation
18060 func (s PutBucketWebsiteOutput) String() string {
18061 return awsutil.Prettify(s)
18062 }
18063
18064 // GoString returns the string representation
18065 func (s PutBucketWebsiteOutput) GoString() string {
18066 return s.String()
18067 }
18068
18069 type PutObjectAclInput struct {
18070 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
18071
18072 // The canned ACL to apply to the object.
18073 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
18074
18075 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18076
18077 // Bucket is a required field
18078 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18079
18080 // Allows grantee the read, write, read ACP, and write ACP permissions on the
18081 // bucket.
18082 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
18083
18084 // Allows grantee to list the objects in the bucket.
18085 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
18086
18087 // Allows grantee to read the bucket ACL.
18088 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
18089
18090 // Allows grantee to create, overwrite, and delete any object in the bucket.
18091 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
18092
18093 // Allows grantee to write the ACL for the applicable bucket.
18094 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
18095
18096 // Key is a required field
18097 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
18098
18099 // Confirms that the requester knows that she or he will be charged for the
18100 // request. Bucket owners need not specify this parameter in their requests.
18101 // Documentation on downloading objects from requester pays buckets can be found
18102 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
18103 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
18104
18105 // VersionId used to reference a specific version of the object.
18106 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
18107 }
18108
18109 // String returns the string representation
18110 func (s PutObjectAclInput) String() string {
18111 return awsutil.Prettify(s)
18112 }
18113
18114 // GoString returns the string representation
18115 func (s PutObjectAclInput) GoString() string {
18116 return s.String()
18117 }
18118
18119 // Validate inspects the fields of the type to determine if they are valid.
18120 func (s *PutObjectAclInput) Validate() error {
18121 invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"}
18122 if s.Bucket == nil {
18123 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18124 }
18125 if s.Key == nil {
18126 invalidParams.Add(request.NewErrParamRequired("Key"))
18127 }
18128 if s.Key != nil && len(*s.Key) < 1 {
18129 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18130 }
18131 if s.AccessControlPolicy != nil {
18132 if err := s.AccessControlPolicy.Validate(); err != nil {
18133 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
18134 }
18135 }
18136
18137 if invalidParams.Len() > 0 {
18138 return invalidParams
18139 }
18140 return nil
18141 }
18142
18143 // SetACL sets the ACL field's value.
18144 func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput {
18145 s.ACL = &v
18146 return s
18147 }
18148
18149 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
18150 func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput {
18151 s.AccessControlPolicy = v
18152 return s
18153 }
18154
18155 // SetBucket sets the Bucket field's value.
18156 func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
18157 s.Bucket = &v
18158 return s
18159 }
18160
18161 func (s *PutObjectAclInput) getBucket() (v string) {
18162 if s.Bucket == nil {
18163 return v
18164 }
18165 return *s.Bucket
18166 }
18167
18168 // SetGrantFullControl sets the GrantFullControl field's value.
18169 func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
18170 s.GrantFullControl = &v
18171 return s
18172 }
18173
18174 // SetGrantRead sets the GrantRead field's value.
18175 func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput {
18176 s.GrantRead = &v
18177 return s
18178 }
18179
18180 // SetGrantReadACP sets the GrantReadACP field's value.
18181 func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput {
18182 s.GrantReadACP = &v
18183 return s
18184 }
18185
18186 // SetGrantWrite sets the GrantWrite field's value.
18187 func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput {
18188 s.GrantWrite = &v
18189 return s
18190 }
18191
18192 // SetGrantWriteACP sets the GrantWriteACP field's value.
18193 func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput {
18194 s.GrantWriteACP = &v
18195 return s
18196 }
18197
18198 // SetKey sets the Key field's value.
18199 func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput {
18200 s.Key = &v
18201 return s
18202 }
18203
18204 // SetRequestPayer sets the RequestPayer field's value.
18205 func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput {
18206 s.RequestPayer = &v
18207 return s
18208 }
18209
18210 // SetVersionId sets the VersionId field's value.
18211 func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
18212 s.VersionId = &v
18213 return s
18214 }
18215
18216 type PutObjectAclOutput struct {
18217 _ struct{} `type:"structure"`
18218
18219 // If present, indicates that the requester was successfully charged for the
18220 // request.
18221 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
18222 }
18223
18224 // String returns the string representation
18225 func (s PutObjectAclOutput) String() string {
18226 return awsutil.Prettify(s)
18227 }
18228
18229 // GoString returns the string representation
18230 func (s PutObjectAclOutput) GoString() string {
18231 return s.String()
18232 }
18233
18234 // SetRequestCharged sets the RequestCharged field's value.
18235 func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
18236 s.RequestCharged = &v
18237 return s
18238 }
18239
18240 type PutObjectInput struct {
18241 _ struct{} `type:"structure" payload:"Body"`
18242
18243 // The canned ACL to apply to the object.
18244 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
18245
18246 // Object data.
18247 Body io.ReadSeeker `type:"blob"`
18248
18249 // Name of the bucket to which the PUT operation was initiated.
18250 //
18251 // Bucket is a required field
18252 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18253
18254 // Specifies caching behavior along the request/reply chain.
18255 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
18256
18257 // Specifies presentational information for the object.
18258 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
18259
18260 // Specifies what content encodings have been applied to the object and thus
18261 // what decoding mechanisms must be applied to obtain the media-type referenced
18262 // by the Content-Type header field.
18263 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
18264
18265 // The language the content is in.
18266 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
18267
18268 // Size of the body in bytes. This parameter is useful when the size of the
18269 // body cannot be determined automatically.
18270 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
18271
18272 // The base64-encoded 128-bit MD5 digest of the part data.
18273 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
18274
18275 // A standard MIME type describing the format of the object data.
18276 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
18277
18278 // The date and time at which the object is no longer cacheable.
18279 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
18280
18281 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
18282 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
18283
18284 // Allows grantee to read the object data and its metadata.
18285 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
18286
18287 // Allows grantee to read the object ACL.
18288 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
18289
18290 // Allows grantee to write the ACL for the applicable object.
18291 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
18292
18293 // Object key for which the PUT operation was initiated.
18294 //
18295 // Key is a required field
18296 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
18297
18298 // A map of metadata to store with the object in S3.
18299 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
18300
18301 // Confirms that the requester knows that she or he will be charged for the
18302 // request. Bucket owners need not specify this parameter in their requests.
18303 // Documentation on downloading objects from requester pays buckets can be found
18304 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
18305 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
18306
18307 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
18308 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
18309
18310 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
18311 // data. This value is used to store the object and then it is discarded; Amazon
18312 // does not store the encryption key. The key must be appropriate for use with
18313 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
18314 // header.
18315 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
18316
18317 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
18318 // Amazon S3 uses this header for a message integrity check to ensure the encryption
18319 // key was transmitted without error.
18320 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
18321
18322 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
18323 // requests for an object protected by AWS KMS will fail if not made via SSL
18324 // or using SigV4. Documentation on configuring any of the officially supported
18325 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
18326 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
18327
18328 // The Server-side encryption algorithm used when storing this object in S3
18329 // (e.g., AES256, aws:kms).
18330 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
18331
18332 // The type of storage to use for the object. Defaults to 'STANDARD'.
18333 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
18334
18335 // The tag-set for the object. The tag-set must be encoded as URL Query parameters
18336 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
18337
18338 // If the bucket is configured as a website, redirects requests for this object
18339 // to another object in the same bucket or to an external URL. Amazon S3 stores
18340 // the value of this header in the object metadata.
18341 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
18342 }
18343
18344 // String returns the string representation
18345 func (s PutObjectInput) String() string {
18346 return awsutil.Prettify(s)
18347 }
18348
18349 // GoString returns the string representation
18350 func (s PutObjectInput) GoString() string {
18351 return s.String()
18352 }
18353
18354 // Validate inspects the fields of the type to determine if they are valid.
18355 func (s *PutObjectInput) Validate() error {
18356 invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"}
18357 if s.Bucket == nil {
18358 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18359 }
18360 if s.Key == nil {
18361 invalidParams.Add(request.NewErrParamRequired("Key"))
18362 }
18363 if s.Key != nil && len(*s.Key) < 1 {
18364 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18365 }
18366
18367 if invalidParams.Len() > 0 {
18368 return invalidParams
18369 }
18370 return nil
18371 }
18372
18373 // SetACL sets the ACL field's value.
18374 func (s *PutObjectInput) SetACL(v string) *PutObjectInput {
18375 s.ACL = &v
18376 return s
18377 }
18378
18379 // SetBody sets the Body field's value.
18380 func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput {
18381 s.Body = v
18382 return s
18383 }
18384
18385 // SetBucket sets the Bucket field's value.
18386 func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
18387 s.Bucket = &v
18388 return s
18389 }
18390
18391 func (s *PutObjectInput) getBucket() (v string) {
18392 if s.Bucket == nil {
18393 return v
18394 }
18395 return *s.Bucket
18396 }
18397
18398 // SetCacheControl sets the CacheControl field's value.
18399 func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
18400 s.CacheControl = &v
18401 return s
18402 }
18403
18404 // SetContentDisposition sets the ContentDisposition field's value.
18405 func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
18406 s.ContentDisposition = &v
18407 return s
18408 }
18409
18410 // SetContentEncoding sets the ContentEncoding field's value.
18411 func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput {
18412 s.ContentEncoding = &v
18413 return s
18414 }
18415
18416 // SetContentLanguage sets the ContentLanguage field's value.
18417 func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput {
18418 s.ContentLanguage = &v
18419 return s
18420 }
18421
18422 // SetContentLength sets the ContentLength field's value.
18423 func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
18424 s.ContentLength = &v
18425 return s
18426 }
18427
18428 // SetContentMD5 sets the ContentMD5 field's value.
18429 func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
18430 s.ContentMD5 = &v
18431 return s
18432 }
18433
18434 // SetContentType sets the ContentType field's value.
18435 func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
18436 s.ContentType = &v
18437 return s
18438 }
18439
18440 // SetExpires sets the Expires field's value.
18441 func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput {
18442 s.Expires = &v
18443 return s
18444 }
18445
18446 // SetGrantFullControl sets the GrantFullControl field's value.
18447 func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput {
18448 s.GrantFullControl = &v
18449 return s
18450 }
18451
18452 // SetGrantRead sets the GrantRead field's value.
18453 func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput {
18454 s.GrantRead = &v
18455 return s
18456 }
18457
18458 // SetGrantReadACP sets the GrantReadACP field's value.
18459 func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput {
18460 s.GrantReadACP = &v
18461 return s
18462 }
18463
18464 // SetGrantWriteACP sets the GrantWriteACP field's value.
18465 func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput {
18466 s.GrantWriteACP = &v
18467 return s
18468 }
18469
18470 // SetKey sets the Key field's value.
18471 func (s *PutObjectInput) SetKey(v string) *PutObjectInput {
18472 s.Key = &v
18473 return s
18474 }
18475
18476 // SetMetadata sets the Metadata field's value.
18477 func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput {
18478 s.Metadata = v
18479 return s
18480 }
18481
18482 // SetRequestPayer sets the RequestPayer field's value.
18483 func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput {
18484 s.RequestPayer = &v
18485 return s
18486 }
18487
18488 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
18489 func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput {
18490 s.SSECustomerAlgorithm = &v
18491 return s
18492 }
18493
18494 // SetSSECustomerKey sets the SSECustomerKey field's value.
18495 func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
18496 s.SSECustomerKey = &v
18497 return s
18498 }
18499
18500 func (s *PutObjectInput) getSSECustomerKey() (v string) {
18501 if s.SSECustomerKey == nil {
18502 return v
18503 }
18504 return *s.SSECustomerKey
18505 }
18506
18507 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
18508 func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
18509 s.SSECustomerKeyMD5 = &v
18510 return s
18511 }
18512
18513 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
18514 func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
18515 s.SSEKMSKeyId = &v
18516 return s
18517 }
18518
18519 // SetServerSideEncryption sets the ServerSideEncryption field's value.
18520 func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput {
18521 s.ServerSideEncryption = &v
18522 return s
18523 }
18524
18525 // SetStorageClass sets the StorageClass field's value.
18526 func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput {
18527 s.StorageClass = &v
18528 return s
18529 }
18530
18531 // SetTagging sets the Tagging field's value.
18532 func (s *PutObjectInput) SetTagging(v string) *PutObjectInput {
18533 s.Tagging = &v
18534 return s
18535 }
18536
18537 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
18538 func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
18539 s.WebsiteRedirectLocation = &v
18540 return s
18541 }
18542
18543 type PutObjectOutput struct {
18544 _ struct{} `type:"structure"`
18545
18546 // Entity tag for the uploaded object.
18547 ETag *string `location:"header" locationName:"ETag" type:"string"`
18548
18549 // If the object expiration is configured, this will contain the expiration
18550 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
18551 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
18552
18553 // If present, indicates that the requester was successfully charged for the
18554 // request.
18555 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
18556
18557 // If server-side encryption with a customer-provided encryption key was requested,
18558 // the response will include this header confirming the encryption algorithm
18559 // used.
18560 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
18561
18562 // If server-side encryption with a customer-provided encryption key was requested,
18563 // the response will include this header to provide round trip message integrity
18564 // verification of the customer-provided encryption key.
18565 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
18566
18567 // If present, specifies the ID of the AWS Key Management Service (KMS) master
18568 // encryption key that was used for the object.
18569 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
18570
18571 // The Server-side encryption algorithm used when storing this object in S3
18572 // (e.g., AES256, aws:kms).
18573 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
18574
18575 // Version of the object.
18576 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
18577 }
18578
18579 // String returns the string representation
18580 func (s PutObjectOutput) String() string {
18581 return awsutil.Prettify(s)
18582 }
18583
18584 // GoString returns the string representation
18585 func (s PutObjectOutput) GoString() string {
18586 return s.String()
18587 }
18588
18589 // SetETag sets the ETag field's value.
18590 func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
18591 s.ETag = &v
18592 return s
18593 }
18594
18595 // SetExpiration sets the Expiration field's value.
18596 func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput {
18597 s.Expiration = &v
18598 return s
18599 }
18600
18601 // SetRequestCharged sets the RequestCharged field's value.
18602 func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput {
18603 s.RequestCharged = &v
18604 return s
18605 }
18606
18607 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
18608 func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput {
18609 s.SSECustomerAlgorithm = &v
18610 return s
18611 }
18612
18613 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
18614 func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
18615 s.SSECustomerKeyMD5 = &v
18616 return s
18617 }
18618
18619 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
18620 func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
18621 s.SSEKMSKeyId = &v
18622 return s
18623 }
18624
18625 // SetServerSideEncryption sets the ServerSideEncryption field's value.
18626 func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput {
18627 s.ServerSideEncryption = &v
18628 return s
18629 }
18630
18631 // SetVersionId sets the VersionId field's value.
18632 func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
18633 s.VersionId = &v
18634 return s
18635 }
18636
18637 type PutObjectTaggingInput struct {
18638 _ struct{} `type:"structure" payload:"Tagging"`
18639
18640 // Bucket is a required field
18641 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18642
18643 // Key is a required field
18644 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
18645
18646 // Tagging is a required field
18647 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18648
18649 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
18650 }
18651
18652 // String returns the string representation
18653 func (s PutObjectTaggingInput) String() string {
18654 return awsutil.Prettify(s)
18655 }
18656
18657 // GoString returns the string representation
18658 func (s PutObjectTaggingInput) GoString() string {
18659 return s.String()
18660 }
18661
18662 // Validate inspects the fields of the type to determine if they are valid.
18663 func (s *PutObjectTaggingInput) Validate() error {
18664 invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"}
18665 if s.Bucket == nil {
18666 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18667 }
18668 if s.Key == nil {
18669 invalidParams.Add(request.NewErrParamRequired("Key"))
18670 }
18671 if s.Key != nil && len(*s.Key) < 1 {
18672 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18673 }
18674 if s.Tagging == nil {
18675 invalidParams.Add(request.NewErrParamRequired("Tagging"))
18676 }
18677 if s.Tagging != nil {
18678 if err := s.Tagging.Validate(); err != nil {
18679 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
18680 }
18681 }
18682
18683 if invalidParams.Len() > 0 {
18684 return invalidParams
18685 }
18686 return nil
18687 }
18688
18689 // SetBucket sets the Bucket field's value.
18690 func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
18691 s.Bucket = &v
18692 return s
18693 }
18694
18695 func (s *PutObjectTaggingInput) getBucket() (v string) {
18696 if s.Bucket == nil {
18697 return v
18698 }
18699 return *s.Bucket
18700 }
18701
18702 // SetKey sets the Key field's value.
18703 func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
18704 s.Key = &v
18705 return s
18706 }
18707
18708 // SetTagging sets the Tagging field's value.
18709 func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput {
18710 s.Tagging = v
18711 return s
18712 }
18713
18714 // SetVersionId sets the VersionId field's value.
18715 func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
18716 s.VersionId = &v
18717 return s
18718 }
18719
18720 type PutObjectTaggingOutput struct {
18721 _ struct{} `type:"structure"`
18722
18723 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
18724 }
18725
18726 // String returns the string representation
18727 func (s PutObjectTaggingOutput) String() string {
18728 return awsutil.Prettify(s)
18729 }
18730
18731 // GoString returns the string representation
18732 func (s PutObjectTaggingOutput) GoString() string {
18733 return s.String()
18734 }
18735
18736 // SetVersionId sets the VersionId field's value.
18737 func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput {
18738 s.VersionId = &v
18739 return s
18740 }
18741
18742 // Container for specifying an configuration when you want Amazon S3 to publish
18743 // events to an Amazon Simple Queue Service (Amazon SQS) queue.
18744 type QueueConfiguration struct {
18745 _ struct{} `type:"structure"`
18746
18747 // Events is a required field
18748 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
18749
18750 // Container for object key name filtering rules. For information about key
18751 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
18752 // in the Amazon Simple Storage Service Developer Guide.
18753 Filter *NotificationConfigurationFilter `type:"structure"`
18754
18755 // Optional unique identifier for configurations in a notification configuration.
18756 // If you don't provide one, Amazon S3 will assign an ID.
18757 Id *string `type:"string"`
18758
18759 // Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects
18760 // events of specified type.
18761 //
18762 // QueueArn is a required field
18763 QueueArn *string `locationName:"Queue" type:"string" required:"true"`
18764 }
18765
18766 // String returns the string representation
18767 func (s QueueConfiguration) String() string {
18768 return awsutil.Prettify(s)
18769 }
18770
18771 // GoString returns the string representation
18772 func (s QueueConfiguration) GoString() string {
18773 return s.String()
18774 }
18775
18776 // Validate inspects the fields of the type to determine if they are valid.
18777 func (s *QueueConfiguration) Validate() error {
18778 invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"}
18779 if s.Events == nil {
18780 invalidParams.Add(request.NewErrParamRequired("Events"))
18781 }
18782 if s.QueueArn == nil {
18783 invalidParams.Add(request.NewErrParamRequired("QueueArn"))
18784 }
18785
18786 if invalidParams.Len() > 0 {
18787 return invalidParams
18788 }
18789 return nil
18790 }
18791
18792 // SetEvents sets the Events field's value.
18793 func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration {
18794 s.Events = v
18795 return s
18796 }
18797
18798 // SetFilter sets the Filter field's value.
18799 func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration {
18800 s.Filter = v
18801 return s
18802 }
18803
18804 // SetId sets the Id field's value.
18805 func (s *QueueConfiguration) SetId(v string) *QueueConfiguration {
18806 s.Id = &v
18807 return s
18808 }
18809
18810 // SetQueueArn sets the QueueArn field's value.
18811 func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
18812 s.QueueArn = &v
18813 return s
18814 }
18815
18816 type QueueConfigurationDeprecated struct {
18817 _ struct{} `type:"structure"`
18818
18819 // Bucket event for which to send notifications.
18820 Event *string `deprecated:"true" type:"string" enum:"Event"`
18821
18822 Events []*string `locationName:"Event" type:"list" flattened:"true"`
18823
18824 // Optional unique identifier for configurations in a notification configuration.
18825 // If you don't provide one, Amazon S3 will assign an ID.
18826 Id *string `type:"string"`
18827
18828 Queue *string `type:"string"`
18829 }
18830
18831 // String returns the string representation
18832 func (s QueueConfigurationDeprecated) String() string {
18833 return awsutil.Prettify(s)
18834 }
18835
18836 // GoString returns the string representation
18837 func (s QueueConfigurationDeprecated) GoString() string {
18838 return s.String()
18839 }
18840
18841 // SetEvent sets the Event field's value.
18842 func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated {
18843 s.Event = &v
18844 return s
18845 }
18846
18847 // SetEvents sets the Events field's value.
18848 func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated {
18849 s.Events = v
18850 return s
18851 }
18852
18853 // SetId sets the Id field's value.
18854 func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated {
18855 s.Id = &v
18856 return s
18857 }
18858
18859 // SetQueue sets the Queue field's value.
18860 func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated {
18861 s.Queue = &v
18862 return s
18863 }
18864
18865 type RecordsEvent struct {
18866 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
18867
18868 // The byte array of partial, one or more result records.
18869 //
18870 // Payload is automatically base64 encoded/decoded by the SDK.
18871 Payload []byte `type:"blob"`
18872 }
18873
18874 // String returns the string representation
18875 func (s RecordsEvent) String() string {
18876 return awsutil.Prettify(s)
18877 }
18878
18879 // GoString returns the string representation
18880 func (s RecordsEvent) GoString() string {
18881 return s.String()
18882 }
18883
18884 // SetPayload sets the Payload field's value.
18885 func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
18886 s.Payload = v
18887 return s
18888 }
18889
18890 // The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
18891 func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
18892
18893 // UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value.
18894 // This method is only used internally within the SDK's EventStream handling.
18895 func (s *RecordsEvent) UnmarshalEvent(
18896 payloadUnmarshaler protocol.PayloadUnmarshaler,
18897 msg eventstream.Message,
18898 ) error {
18899 s.Payload = make([]byte, len(msg.Payload))
18900 copy(s.Payload, msg.Payload)
18901 return nil
18902 }
18903
18904 type Redirect struct {
18905 _ struct{} `type:"structure"`
18906
18907 // The host name to use in the redirect request.
18908 HostName *string `type:"string"`
18909
18910 // The HTTP redirect code to use on the response. Not required if one of the
18911 // siblings is present.
18912 HttpRedirectCode *string `type:"string"`
18913
18914 // Protocol to use (http, https) when redirecting requests. The default is the
18915 // protocol that is used in the original request.
18916 Protocol *string `type:"string" enum:"Protocol"`
18917
18918 // The object key prefix to use in the redirect request. For example, to redirect
18919 // requests for all pages with prefix docs/ (objects in the docs/ folder) to
18920 // documents/, you can set a condition block with KeyPrefixEquals set to docs/
18921 // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required
18922 // if one of the siblings is present. Can be present only if ReplaceKeyWith
18923 // is not provided.
18924 ReplaceKeyPrefixWith *string `type:"string"`
18925
18926 // The specific object key to use in the redirect request. For example, redirect
18927 // request to error.html. Not required if one of the sibling is present. Can
18928 // be present only if ReplaceKeyPrefixWith is not provided.
18929 ReplaceKeyWith *string `type:"string"`
18930 }
18931
18932 // String returns the string representation
18933 func (s Redirect) String() string {
18934 return awsutil.Prettify(s)
18935 }
18936
18937 // GoString returns the string representation
18938 func (s Redirect) GoString() string {
18939 return s.String()
18940 }
18941
18942 // SetHostName sets the HostName field's value.
18943 func (s *Redirect) SetHostName(v string) *Redirect {
18944 s.HostName = &v
18945 return s
18946 }
18947
18948 // SetHttpRedirectCode sets the HttpRedirectCode field's value.
18949 func (s *Redirect) SetHttpRedirectCode(v string) *Redirect {
18950 s.HttpRedirectCode = &v
18951 return s
18952 }
18953
18954 // SetProtocol sets the Protocol field's value.
18955 func (s *Redirect) SetProtocol(v string) *Redirect {
18956 s.Protocol = &v
18957 return s
18958 }
18959
18960 // SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
18961 func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect {
18962 s.ReplaceKeyPrefixWith = &v
18963 return s
18964 }
18965
18966 // SetReplaceKeyWith sets the ReplaceKeyWith field's value.
18967 func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
18968 s.ReplaceKeyWith = &v
18969 return s
18970 }
18971
18972 type RedirectAllRequestsTo struct {
18973 _ struct{} `type:"structure"`
18974
18975 // Name of the host where requests will be redirected.
18976 //
18977 // HostName is a required field
18978 HostName *string `type:"string" required:"true"`
18979
18980 // Protocol to use (http, https) when redirecting requests. The default is the
18981 // protocol that is used in the original request.
18982 Protocol *string `type:"string" enum:"Protocol"`
18983 }
18984
18985 // String returns the string representation
18986 func (s RedirectAllRequestsTo) String() string {
18987 return awsutil.Prettify(s)
18988 }
18989
18990 // GoString returns the string representation
18991 func (s RedirectAllRequestsTo) GoString() string {
18992 return s.String()
18993 }
18994
18995 // Validate inspects the fields of the type to determine if they are valid.
18996 func (s *RedirectAllRequestsTo) Validate() error {
18997 invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"}
18998 if s.HostName == nil {
18999 invalidParams.Add(request.NewErrParamRequired("HostName"))
19000 }
19001
19002 if invalidParams.Len() > 0 {
19003 return invalidParams
19004 }
19005 return nil
19006 }
19007
19008 // SetHostName sets the HostName field's value.
19009 func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo {
19010 s.HostName = &v
19011 return s
19012 }
19013
19014 // SetProtocol sets the Protocol field's value.
19015 func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
19016 s.Protocol = &v
19017 return s
19018 }
19019
19020 // Container for replication rules. You can add as many as 1,000 rules. Total
19021 // replication configuration size can be up to 2 MB.
19022 type ReplicationConfiguration struct {
19023 _ struct{} `type:"structure"`
19024
19025 // Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating
19026 // the objects.
19027 //
19028 // Role is a required field
19029 Role *string `type:"string" required:"true"`
19030
19031 // Container for information about a particular replication rule. Replication
19032 // configuration must have at least one rule and can contain up to 1,000 rules.
19033 //
19034 // Rules is a required field
19035 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
19036 }
19037
19038 // String returns the string representation
19039 func (s ReplicationConfiguration) String() string {
19040 return awsutil.Prettify(s)
19041 }
19042
19043 // GoString returns the string representation
19044 func (s ReplicationConfiguration) GoString() string {
19045 return s.String()
19046 }
19047
19048 // Validate inspects the fields of the type to determine if they are valid.
19049 func (s *ReplicationConfiguration) Validate() error {
19050 invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"}
19051 if s.Role == nil {
19052 invalidParams.Add(request.NewErrParamRequired("Role"))
19053 }
19054 if s.Rules == nil {
19055 invalidParams.Add(request.NewErrParamRequired("Rules"))
19056 }
19057 if s.Rules != nil {
19058 for i, v := range s.Rules {
19059 if v == nil {
19060 continue
19061 }
19062 if err := v.Validate(); err != nil {
19063 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
19064 }
19065 }
19066 }
19067
19068 if invalidParams.Len() > 0 {
19069 return invalidParams
19070 }
19071 return nil
19072 }
19073
19074 // SetRole sets the Role field's value.
19075 func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration {
19076 s.Role = &v
19077 return s
19078 }
19079
19080 // SetRules sets the Rules field's value.
19081 func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
19082 s.Rules = v
19083 return s
19084 }
19085
19086 // Container for information about a particular replication rule.
19087 type ReplicationRule struct {
19088 _ struct{} `type:"structure"`
19089
19090 // Container for replication destination information.
19091 //
19092 // Destination is a required field
19093 Destination *Destination `type:"structure" required:"true"`
19094
19095 // Unique identifier for the rule. The value cannot be longer than 255 characters.
19096 ID *string `type:"string"`
19097
19098 // Object keyname prefix identifying one or more objects to which the rule applies.
19099 // Maximum prefix length can be up to 1,024 characters. Overlapping prefixes
19100 // are not supported.
19101 //
19102 // Prefix is a required field
19103 Prefix *string `type:"string" required:"true"`
19104
19105 // Container for filters that define which source objects should be replicated.
19106 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
19107
19108 // The rule is ignored if status is not Enabled.
19109 //
19110 // Status is a required field
19111 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
19112 }
19113
19114 // String returns the string representation
19115 func (s ReplicationRule) String() string {
19116 return awsutil.Prettify(s)
19117 }
19118
19119 // GoString returns the string representation
19120 func (s ReplicationRule) GoString() string {
19121 return s.String()
19122 }
19123
19124 // Validate inspects the fields of the type to determine if they are valid.
19125 func (s *ReplicationRule) Validate() error {
19126 invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"}
19127 if s.Destination == nil {
19128 invalidParams.Add(request.NewErrParamRequired("Destination"))
19129 }
19130 if s.Prefix == nil {
19131 invalidParams.Add(request.NewErrParamRequired("Prefix"))
19132 }
19133 if s.Status == nil {
19134 invalidParams.Add(request.NewErrParamRequired("Status"))
19135 }
19136 if s.Destination != nil {
19137 if err := s.Destination.Validate(); err != nil {
19138 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
19139 }
19140 }
19141 if s.SourceSelectionCriteria != nil {
19142 if err := s.SourceSelectionCriteria.Validate(); err != nil {
19143 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
19144 }
19145 }
19146
19147 if invalidParams.Len() > 0 {
19148 return invalidParams
19149 }
19150 return nil
19151 }
19152
19153 // SetDestination sets the Destination field's value.
19154 func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule {
19155 s.Destination = v
19156 return s
19157 }
19158
19159 // SetID sets the ID field's value.
19160 func (s *ReplicationRule) SetID(v string) *ReplicationRule {
19161 s.ID = &v
19162 return s
19163 }
19164
19165 // SetPrefix sets the Prefix field's value.
19166 func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
19167 s.Prefix = &v
19168 return s
19169 }
19170
19171 // SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
19172 func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
19173 s.SourceSelectionCriteria = v
19174 return s
19175 }
19176
19177 // SetStatus sets the Status field's value.
19178 func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
19179 s.Status = &v
19180 return s
19181 }
19182
19183 type RequestPaymentConfiguration struct {
19184 _ struct{} `type:"structure"`
19185
19186 // Specifies who pays for the download and request fees.
19187 //
19188 // Payer is a required field
19189 Payer *string `type:"string" required:"true" enum:"Payer"`
19190 }
19191
19192 // String returns the string representation
19193 func (s RequestPaymentConfiguration) String() string {
19194 return awsutil.Prettify(s)
19195 }
19196
19197 // GoString returns the string representation
19198 func (s RequestPaymentConfiguration) GoString() string {
19199 return s.String()
19200 }
19201
19202 // Validate inspects the fields of the type to determine if they are valid.
19203 func (s *RequestPaymentConfiguration) Validate() error {
19204 invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"}
19205 if s.Payer == nil {
19206 invalidParams.Add(request.NewErrParamRequired("Payer"))
19207 }
19208
19209 if invalidParams.Len() > 0 {
19210 return invalidParams
19211 }
19212 return nil
19213 }
19214
19215 // SetPayer sets the Payer field's value.
19216 func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration {
19217 s.Payer = &v
19218 return s
19219 }
19220
19221 type RequestProgress struct {
19222 _ struct{} `type:"structure"`
19223
19224 // Specifies whether periodic QueryProgress frames should be sent. Valid values:
19225 // TRUE, FALSE. Default value: FALSE.
19226 Enabled *bool `type:"boolean"`
19227 }
19228
19229 // String returns the string representation
19230 func (s RequestProgress) String() string {
19231 return awsutil.Prettify(s)
19232 }
19233
19234 // GoString returns the string representation
19235 func (s RequestProgress) GoString() string {
19236 return s.String()
19237 }
19238
19239 // SetEnabled sets the Enabled field's value.
19240 func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
19241 s.Enabled = &v
19242 return s
19243 }
19244
19245 type RestoreObjectInput struct {
19246 _ struct{} `type:"structure" payload:"RestoreRequest"`
19247
19248 // Bucket is a required field
19249 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19250
19251 // Key is a required field
19252 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
19253
19254 // Confirms that the requester knows that she or he will be charged for the
19255 // request. Bucket owners need not specify this parameter in their requests.
19256 // Documentation on downloading objects from requester pays buckets can be found
19257 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
19258 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
19259
19260 // Container for restore job parameters.
19261 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19262
19263 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
19264 }
19265
19266 // String returns the string representation
19267 func (s RestoreObjectInput) String() string {
19268 return awsutil.Prettify(s)
19269 }
19270
19271 // GoString returns the string representation
19272 func (s RestoreObjectInput) GoString() string {
19273 return s.String()
19274 }
19275
19276 // Validate inspects the fields of the type to determine if they are valid.
19277 func (s *RestoreObjectInput) Validate() error {
19278 invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"}
19279 if s.Bucket == nil {
19280 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19281 }
19282 if s.Key == nil {
19283 invalidParams.Add(request.NewErrParamRequired("Key"))
19284 }
19285 if s.Key != nil && len(*s.Key) < 1 {
19286 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
19287 }
19288 if s.RestoreRequest != nil {
19289 if err := s.RestoreRequest.Validate(); err != nil {
19290 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams))
19291 }
19292 }
19293
19294 if invalidParams.Len() > 0 {
19295 return invalidParams
19296 }
19297 return nil
19298 }
19299
19300 // SetBucket sets the Bucket field's value.
19301 func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
19302 s.Bucket = &v
19303 return s
19304 }
19305
19306 func (s *RestoreObjectInput) getBucket() (v string) {
19307 if s.Bucket == nil {
19308 return v
19309 }
19310 return *s.Bucket
19311 }
19312
19313 // SetKey sets the Key field's value.
19314 func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
19315 s.Key = &v
19316 return s
19317 }
19318
19319 // SetRequestPayer sets the RequestPayer field's value.
19320 func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput {
19321 s.RequestPayer = &v
19322 return s
19323 }
19324
19325 // SetRestoreRequest sets the RestoreRequest field's value.
19326 func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput {
19327 s.RestoreRequest = v
19328 return s
19329 }
19330
19331 // SetVersionId sets the VersionId field's value.
19332 func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
19333 s.VersionId = &v
19334 return s
19335 }
19336
19337 type RestoreObjectOutput struct {
19338 _ struct{} `type:"structure"`
19339
19340 // If present, indicates that the requester was successfully charged for the
19341 // request.
19342 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
19343
19344 // Indicates the path in the provided S3 output location where Select results
19345 // will be restored to.
19346 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"`
19347 }
19348
19349 // String returns the string representation
19350 func (s RestoreObjectOutput) String() string {
19351 return awsutil.Prettify(s)
19352 }
19353
19354 // GoString returns the string representation
19355 func (s RestoreObjectOutput) GoString() string {
19356 return s.String()
19357 }
19358
19359 // SetRequestCharged sets the RequestCharged field's value.
19360 func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
19361 s.RequestCharged = &v
19362 return s
19363 }
19364
19365 // SetRestoreOutputPath sets the RestoreOutputPath field's value.
19366 func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
19367 s.RestoreOutputPath = &v
19368 return s
19369 }
19370
19371 // Container for restore job parameters.
19372 type RestoreRequest struct {
19373 _ struct{} `type:"structure"`
19374
19375 // Lifetime of the active copy in days. Do not use with restores that specify
19376 // OutputLocation.
19377 Days *int64 `type:"integer"`
19378
19379 // The optional description for the job.
19380 Description *string `type:"string"`
19381
19382 // Glacier related parameters pertaining to this job. Do not use with restores
19383 // that specify OutputLocation.
19384 GlacierJobParameters *GlacierJobParameters `type:"structure"`
19385
19386 // Describes the location where the restore job's output is stored.
19387 OutputLocation *OutputLocation `type:"structure"`
19388
19389 // Describes the parameters for Select job types.
19390 SelectParameters *SelectParameters `type:"structure"`
19391
19392 // Glacier retrieval tier at which the restore will be processed.
19393 Tier *string `type:"string" enum:"Tier"`
19394
19395 // Type of restore request.
19396 Type *string `type:"string" enum:"RestoreRequestType"`
19397 }
19398
19399 // String returns the string representation
19400 func (s RestoreRequest) String() string {
19401 return awsutil.Prettify(s)
19402 }
19403
19404 // GoString returns the string representation
19405 func (s RestoreRequest) GoString() string {
19406 return s.String()
19407 }
19408
19409 // Validate inspects the fields of the type to determine if they are valid.
19410 func (s *RestoreRequest) Validate() error {
19411 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"}
19412 if s.GlacierJobParameters != nil {
19413 if err := s.GlacierJobParameters.Validate(); err != nil {
19414 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams))
19415 }
19416 }
19417 if s.OutputLocation != nil {
19418 if err := s.OutputLocation.Validate(); err != nil {
19419 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
19420 }
19421 }
19422 if s.SelectParameters != nil {
19423 if err := s.SelectParameters.Validate(); err != nil {
19424 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
19425 }
19426 }
19427
19428 if invalidParams.Len() > 0 {
19429 return invalidParams
19430 }
19431 return nil
19432 }
19433
19434 // SetDays sets the Days field's value.
19435 func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
19436 s.Days = &v
19437 return s
19438 }
19439
19440 // SetDescription sets the Description field's value.
19441 func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
19442 s.Description = &v
19443 return s
19444 }
19445
19446 // SetGlacierJobParameters sets the GlacierJobParameters field's value.
19447 func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
19448 s.GlacierJobParameters = v
19449 return s
19450 }
19451
19452 // SetOutputLocation sets the OutputLocation field's value.
19453 func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
19454 s.OutputLocation = v
19455 return s
19456 }
19457
19458 // SetSelectParameters sets the SelectParameters field's value.
19459 func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
19460 s.SelectParameters = v
19461 return s
19462 }
19463
19464 // SetTier sets the Tier field's value.
19465 func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
19466 s.Tier = &v
19467 return s
19468 }
19469
19470 // SetType sets the Type field's value.
19471 func (s *RestoreRequest) SetType(v string) *RestoreRequest {
19472 s.Type = &v
19473 return s
19474 }
19475
19476 type RoutingRule struct {
19477 _ struct{} `type:"structure"`
19478
19479 // A container for describing a condition that must be met for the specified
19480 // redirect to apply. For example, 1. If request is for pages in the /docs folder,
19481 // redirect to the /documents folder. 2. If request results in HTTP error 4xx,
19482 // redirect request to another host where you might process the error.
19483 Condition *Condition `type:"structure"`
19484
19485 // Container for redirect information. You can redirect requests to another
19486 // host, to another page, or with another protocol. In the event of an error,
19487 // you can can specify a different error code to return.
19488 //
19489 // Redirect is a required field
19490 Redirect *Redirect `type:"structure" required:"true"`
19491 }
19492
19493 // String returns the string representation
19494 func (s RoutingRule) String() string {
19495 return awsutil.Prettify(s)
19496 }
19497
19498 // GoString returns the string representation
19499 func (s RoutingRule) GoString() string {
19500 return s.String()
19501 }
19502
19503 // Validate inspects the fields of the type to determine if they are valid.
19504 func (s *RoutingRule) Validate() error {
19505 invalidParams := request.ErrInvalidParams{Context: "RoutingRule"}
19506 if s.Redirect == nil {
19507 invalidParams.Add(request.NewErrParamRequired("Redirect"))
19508 }
19509
19510 if invalidParams.Len() > 0 {
19511 return invalidParams
19512 }
19513 return nil
19514 }
19515
19516 // SetCondition sets the Condition field's value.
19517 func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule {
19518 s.Condition = v
19519 return s
19520 }
19521
19522 // SetRedirect sets the Redirect field's value.
19523 func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
19524 s.Redirect = v
19525 return s
19526 }
19527
19528 type Rule struct {
19529 _ struct{} `type:"structure"`
19530
19531 // Specifies the days since the initiation of an Incomplete Multipart Upload
19532 // that Lifecycle will wait before permanently removing all parts of the upload.
19533 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
19534
19535 Expiration *LifecycleExpiration `type:"structure"`
19536
19537 // Unique identifier for the rule. The value cannot be longer than 255 characters.
19538 ID *string `type:"string"`
19539
19540 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
19541 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
19542 // configuration action on a bucket that has versioning enabled (or suspended)
19543 // to request that Amazon S3 delete noncurrent object versions at a specific
19544 // period in the object's lifetime.
19545 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
19546
19547 // Container for the transition rule that describes when noncurrent objects
19548 // transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your
19549 // bucket is versioning-enabled (or versioning is suspended), you can set this
19550 // action to request that Amazon S3 transition noncurrent object versions to
19551 // the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period
19552 // in the object's lifetime.
19553 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
19554
19555 // Prefix identifying one or more objects to which the rule applies.
19556 //
19557 // Prefix is a required field
19558 Prefix *string `type:"string" required:"true"`
19559
19560 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
19561 // is not currently being applied.
19562 //
19563 // Status is a required field
19564 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
19565
19566 Transition *Transition `type:"structure"`
19567 }
19568
19569 // String returns the string representation
19570 func (s Rule) String() string {
19571 return awsutil.Prettify(s)
19572 }
19573
19574 // GoString returns the string representation
19575 func (s Rule) GoString() string {
19576 return s.String()
19577 }
19578
19579 // Validate inspects the fields of the type to determine if they are valid.
19580 func (s *Rule) Validate() error {
19581 invalidParams := request.ErrInvalidParams{Context: "Rule"}
19582 if s.Prefix == nil {
19583 invalidParams.Add(request.NewErrParamRequired("Prefix"))
19584 }
19585 if s.Status == nil {
19586 invalidParams.Add(request.NewErrParamRequired("Status"))
19587 }
19588
19589 if invalidParams.Len() > 0 {
19590 return invalidParams
19591 }
19592 return nil
19593 }
19594
19595 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
19596 func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule {
19597 s.AbortIncompleteMultipartUpload = v
19598 return s
19599 }
19600
19601 // SetExpiration sets the Expiration field's value.
19602 func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule {
19603 s.Expiration = v
19604 return s
19605 }
19606
19607 // SetID sets the ID field's value.
19608 func (s *Rule) SetID(v string) *Rule {
19609 s.ID = &v
19610 return s
19611 }
19612
19613 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
19614 func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule {
19615 s.NoncurrentVersionExpiration = v
19616 return s
19617 }
19618
19619 // SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value.
19620 func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule {
19621 s.NoncurrentVersionTransition = v
19622 return s
19623 }
19624
19625 // SetPrefix sets the Prefix field's value.
19626 func (s *Rule) SetPrefix(v string) *Rule {
19627 s.Prefix = &v
19628 return s
19629 }
19630
19631 // SetStatus sets the Status field's value.
19632 func (s *Rule) SetStatus(v string) *Rule {
19633 s.Status = &v
19634 return s
19635 }
19636
19637 // SetTransition sets the Transition field's value.
19638 func (s *Rule) SetTransition(v *Transition) *Rule {
19639 s.Transition = v
19640 return s
19641 }
19642
19643 // Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
19644 type SSEKMS struct {
19645 _ struct{} `locationName:"SSE-KMS" type:"structure"`
19646
19647 // Specifies the ID of the AWS Key Management Service (KMS) master encryption
19648 // key to use for encrypting Inventory reports.
19649 //
19650 // KeyId is a required field
19651 KeyId *string `type:"string" required:"true"`
19652 }
19653
19654 // String returns the string representation
19655 func (s SSEKMS) String() string {
19656 return awsutil.Prettify(s)
19657 }
19658
19659 // GoString returns the string representation
19660 func (s SSEKMS) GoString() string {
19661 return s.String()
19662 }
19663
19664 // Validate inspects the fields of the type to determine if they are valid.
19665 func (s *SSEKMS) Validate() error {
19666 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"}
19667 if s.KeyId == nil {
19668 invalidParams.Add(request.NewErrParamRequired("KeyId"))
19669 }
19670
19671 if invalidParams.Len() > 0 {
19672 return invalidParams
19673 }
19674 return nil
19675 }
19676
19677 // SetKeyId sets the KeyId field's value.
19678 func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
19679 s.KeyId = &v
19680 return s
19681 }
19682
19683 // Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
19684 type SSES3 struct {
19685 _ struct{} `locationName:"SSE-S3" type:"structure"`
19686 }
19687
19688 // String returns the string representation
19689 func (s SSES3) String() string {
19690 return awsutil.Prettify(s)
19691 }
19692
19693 // GoString returns the string representation
19694 func (s SSES3) GoString() string {
19695 return s.String()
19696 }
19697
19698 // SelectObjectContentEventStream provides handling of EventStreams for
19699 // the SelectObjectContent API.
19700 //
19701 // Use this type to receive SelectObjectContentEventStream events. The events
19702 // can be read from the Events channel member.
19703 //
19704 // The events that can be received are:
19705 //
19706 // * ContinuationEvent
19707 // * EndEvent
19708 // * ProgressEvent
19709 // * RecordsEvent
19710 // * StatsEvent
19711 type SelectObjectContentEventStream struct {
19712 // Reader is the EventStream reader for the SelectObjectContentEventStream
19713 // events. This value is automatically set by the SDK when the API call is made
19714 // Use this member when unit testing your code with the SDK to mock out the
19715 // EventStream Reader.
19716 //
19717 // Must not be nil.
19718 Reader SelectObjectContentEventStreamReader
19719
19720 // StreamCloser is the io.Closer for the EventStream connection. For HTTP
19721 // EventStream this is the response Body. The stream will be closed when
19722 // the Close method of the EventStream is called.
19723 StreamCloser io.Closer
19724 }
19725
19726 // Close closes the EventStream. This will also cause the Events channel to be
19727 // closed. You can use the closing of the Events channel to terminate your
19728 // application's read from the API's EventStream.
19729 //
19730 // Will close the underlying EventStream reader. For EventStream over HTTP
19731 // connection this will also close the HTTP connection.
19732 //
19733 // Close must be called when done using the EventStream API. Not calling Close
19734 // may result in resource leaks.
19735 func (es *SelectObjectContentEventStream) Close() (err error) {
19736 es.Reader.Close()
19737 return es.Err()
19738 }
19739
19740 // Err returns any error that occurred while reading EventStream Events from
19741 // the service API's response. Returns nil if there were no errors.
19742 func (es *SelectObjectContentEventStream) Err() error {
19743 if err := es.Reader.Err(); err != nil {
19744 return err
19745 }
19746 es.StreamCloser.Close()
19747
19748 return nil
19749 }
19750
19751 // Events returns a channel to read EventStream Events from the
19752 // SelectObjectContent API.
19753 //
19754 // These events are:
19755 //
19756 // * ContinuationEvent
19757 // * EndEvent
19758 // * ProgressEvent
19759 // * RecordsEvent
19760 // * StatsEvent
19761 func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
19762 return es.Reader.Events()
19763 }
19764
19765 // SelectObjectContentEventStreamEvent groups together all EventStream
19766 // events read from the SelectObjectContent API.
19767 //
19768 // These events are:
19769 //
19770 // * ContinuationEvent
19771 // * EndEvent
19772 // * ProgressEvent
19773 // * RecordsEvent
19774 // * StatsEvent
19775 type SelectObjectContentEventStreamEvent interface {
19776 eventSelectObjectContentEventStream()
19777 }
19778
19779 // SelectObjectContentEventStreamReader provides the interface for reading EventStream
19780 // Events from the SelectObjectContent API. The
19781 // default implementation for this interface will be SelectObjectContentEventStream.
19782 //
19783 // The reader's Close method must allow multiple concurrent calls.
19784 //
19785 // These events are:
19786 //
19787 // * ContinuationEvent
19788 // * EndEvent
19789 // * ProgressEvent
19790 // * RecordsEvent
19791 // * StatsEvent
19792 type SelectObjectContentEventStreamReader interface {
19793 // Returns a channel of events as they are read from the event stream.
19794 Events() <-chan SelectObjectContentEventStreamEvent
19795
19796 // Close will close the underlying event stream reader. For event stream over
19797 // HTTP this will also close the HTTP connection.
19798 Close() error
19799
19800 // Returns any error that has occured while reading from the event stream.
19801 Err() error
19802 }
19803
19804 type readSelectObjectContentEventStream struct {
19805 eventReader *eventstreamapi.EventReader
19806 stream chan SelectObjectContentEventStreamEvent
19807 errVal atomic.Value
19808
19809 done chan struct{}
19810 closeOnce sync.Once
19811 }
19812
19813 func newReadSelectObjectContentEventStream(
19814 reader io.ReadCloser,
19815 unmarshalers request.HandlerList,
19816 logger aws.Logger,
19817 logLevel aws.LogLevelType,
19818 ) *readSelectObjectContentEventStream {
19819 r := &readSelectObjectContentEventStream{
19820 stream: make(chan SelectObjectContentEventStreamEvent),
19821 done: make(chan struct{}),
19822 }
19823
19824 r.eventReader = eventstreamapi.NewEventReader(
19825 reader,
19826 protocol.HandlerPayloadUnmarshal{
19827 Unmarshalers: unmarshalers,
19828 },
19829 r.unmarshalerForEventType,
19830 )
19831 r.eventReader.UseLogger(logger, logLevel)
19832
19833 return r
19834 }
19835
19836 // Close will close the underlying event stream reader. For EventStream over
19837 // HTTP this will also close the HTTP connection.
19838 func (r *readSelectObjectContentEventStream) Close() error {
19839 r.closeOnce.Do(r.safeClose)
19840
19841 return r.Err()
19842 }
19843
19844 func (r *readSelectObjectContentEventStream) safeClose() {
19845 close(r.done)
19846 err := r.eventReader.Close()
19847 if err != nil {
19848 r.errVal.Store(err)
19849 }
19850 }
19851
19852 func (r *readSelectObjectContentEventStream) Err() error {
19853 if v := r.errVal.Load(); v != nil {
19854 return v.(error)
19855 }
19856
19857 return nil
19858 }
19859
19860 func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
19861 return r.stream
19862 }
19863
19864 func (r *readSelectObjectContentEventStream) readEventStream() {
19865 defer close(r.stream)
19866
19867 for {
19868 event, err := r.eventReader.ReadEvent()
19869 if err != nil {
19870 if err == io.EOF {
19871 return
19872 }
19873 select {
19874 case <-r.done:
19875 // If closed already ignore the error
19876 return
19877 default:
19878 }
19879 r.errVal.Store(err)
19880 return
19881 }
19882
19883 select {
19884 case r.stream <- event.(SelectObjectContentEventStreamEvent):
19885 case <-r.done:
19886 return
19887 }
19888 }
19889 }
19890
19891 func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
19892 eventType string,
19893 ) (eventstreamapi.Unmarshaler, error) {
19894 switch eventType {
19895 case "Cont":
19896 return &ContinuationEvent{}, nil
19897
19898 case "End":
19899 return &EndEvent{}, nil
19900
19901 case "Progress":
19902 return &ProgressEvent{}, nil
19903
19904 case "Records":
19905 return &RecordsEvent{}, nil
19906
19907 case "Stats":
19908 return &StatsEvent{}, nil
19909 default:
19910 return nil, awserr.New(
19911 request.ErrCodeSerialization,
19912 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
19913 nil,
19914 )
19915 }
19916 }
19917
19918 // Request to filter the contents of an Amazon S3 object based on a simple Structured
19919 // Query Language (SQL) statement. In the request, along with the SQL expression,
19920 // you must also specify a data serialization format (JSON or CSV) of the object.
19921 // Amazon S3 uses this to parse object data into records, and returns only records
19922 // that match the specified SQL expression. You must also specify the data serialization
19923 // format for the response. For more information, go to S3Select API Documentation
19924 // (http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html).
19925 type SelectObjectContentInput struct {
19926 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19927
19928 // The S3 Bucket.
19929 //
19930 // Bucket is a required field
19931 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19932
19933 // The expression that is used to query the object.
19934 //
19935 // Expression is a required field
19936 Expression *string `type:"string" required:"true"`
19937
19938 // The type of the provided expression (e.g., SQL).
19939 //
19940 // ExpressionType is a required field
19941 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
19942
19943 // Describes the format of the data in the object that is being queried.
19944 //
19945 // InputSerialization is a required field
19946 InputSerialization *InputSerialization `type:"structure" required:"true"`
19947
19948 // The Object Key.
19949 //
19950 // Key is a required field
19951 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
19952
19953 // Describes the format of the data that you want Amazon S3 to return in response.
19954 //
19955 // OutputSerialization is a required field
19956 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
19957
19958 // Specifies if periodic request progress information should be enabled.
19959 RequestProgress *RequestProgress `type:"structure"`
19960
19961 // The SSE Algorithm used to encrypt the object. For more information, go to
19962 // Server-Side Encryption (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
19963 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
19964
19965 // The SSE Customer Key. For more information, go to Server-Side Encryption
19966 // (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
19967 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
19968
19969 // The SSE Customer Key MD5. For more information, go to Server-Side Encryption
19970 // (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
19971 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
19972 }
19973
19974 // String returns the string representation
19975 func (s SelectObjectContentInput) String() string {
19976 return awsutil.Prettify(s)
19977 }
19978
19979 // GoString returns the string representation
19980 func (s SelectObjectContentInput) GoString() string {
19981 return s.String()
19982 }
19983
19984 // Validate inspects the fields of the type to determine if they are valid.
19985 func (s *SelectObjectContentInput) Validate() error {
19986 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"}
19987 if s.Bucket == nil {
19988 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19989 }
19990 if s.Expression == nil {
19991 invalidParams.Add(request.NewErrParamRequired("Expression"))
19992 }
19993 if s.ExpressionType == nil {
19994 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
19995 }
19996 if s.InputSerialization == nil {
19997 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
19998 }
19999 if s.Key == nil {
20000 invalidParams.Add(request.NewErrParamRequired("Key"))
20001 }
20002 if s.Key != nil && len(*s.Key) < 1 {
20003 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20004 }
20005 if s.OutputSerialization == nil {
20006 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
20007 }
20008
20009 if invalidParams.Len() > 0 {
20010 return invalidParams
20011 }
20012 return nil
20013 }
20014
20015 // SetBucket sets the Bucket field's value.
20016 func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
20017 s.Bucket = &v
20018 return s
20019 }
20020
20021 func (s *SelectObjectContentInput) getBucket() (v string) {
20022 if s.Bucket == nil {
20023 return v
20024 }
20025 return *s.Bucket
20026 }
20027
20028 // SetExpression sets the Expression field's value.
20029 func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
20030 s.Expression = &v
20031 return s
20032 }
20033
20034 // SetExpressionType sets the ExpressionType field's value.
20035 func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
20036 s.ExpressionType = &v
20037 return s
20038 }
20039
20040 // SetInputSerialization sets the InputSerialization field's value.
20041 func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
20042 s.InputSerialization = v
20043 return s
20044 }
20045
20046 // SetKey sets the Key field's value.
20047 func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
20048 s.Key = &v
20049 return s
20050 }
20051
20052 // SetOutputSerialization sets the OutputSerialization field's value.
20053 func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
20054 s.OutputSerialization = v
20055 return s
20056 }
20057
20058 // SetRequestProgress sets the RequestProgress field's value.
20059 func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
20060 s.RequestProgress = v
20061 return s
20062 }
20063
20064 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20065 func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
20066 s.SSECustomerAlgorithm = &v
20067 return s
20068 }
20069
20070 // SetSSECustomerKey sets the SSECustomerKey field's value.
20071 func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
20072 s.SSECustomerKey = &v
20073 return s
20074 }
20075
20076 func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
20077 if s.SSECustomerKey == nil {
20078 return v
20079 }
20080 return *s.SSECustomerKey
20081 }
20082
20083 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20084 func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
20085 s.SSECustomerKeyMD5 = &v
20086 return s
20087 }
20088
20089 type SelectObjectContentOutput struct {
20090 _ struct{} `type:"structure" payload:"Payload"`
20091
20092 // Use EventStream to use the API's stream.
20093 EventStream *SelectObjectContentEventStream `type:"structure"`
20094 }
20095
20096 // String returns the string representation
20097 func (s SelectObjectContentOutput) String() string {
20098 return awsutil.Prettify(s)
20099 }
20100
20101 // GoString returns the string representation
20102 func (s SelectObjectContentOutput) GoString() string {
20103 return s.String()
20104 }
20105
20106 // SetEventStream sets the EventStream field's value.
20107 func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
20108 s.EventStream = v
20109 return s
20110 }
20111
20112 func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
20113 if r.Error != nil {
20114 return
20115 }
20116 reader := newReadSelectObjectContentEventStream(
20117 r.HTTPResponse.Body,
20118 r.Handlers.UnmarshalStream,
20119 r.Config.Logger,
20120 r.Config.LogLevel.Value(),
20121 )
20122 go reader.readEventStream()
20123
20124 eventStream := &SelectObjectContentEventStream{
20125 StreamCloser: r.HTTPResponse.Body,
20126 Reader: reader,
20127 }
20128 s.EventStream = eventStream
20129 }
20130
20131 // Describes the parameters for Select job types.
20132 type SelectParameters struct {
20133 _ struct{} `type:"structure"`
20134
20135 // The expression that is used to query the object.
20136 //
20137 // Expression is a required field
20138 Expression *string `type:"string" required:"true"`
20139
20140 // The type of the provided expression (e.g., SQL).
20141 //
20142 // ExpressionType is a required field
20143 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
20144
20145 // Describes the serialization format of the object.
20146 //
20147 // InputSerialization is a required field
20148 InputSerialization *InputSerialization `type:"structure" required:"true"`
20149
20150 // Describes how the results of the Select job are serialized.
20151 //
20152 // OutputSerialization is a required field
20153 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
20154 }
20155
20156 // String returns the string representation
20157 func (s SelectParameters) String() string {
20158 return awsutil.Prettify(s)
20159 }
20160
20161 // GoString returns the string representation
20162 func (s SelectParameters) GoString() string {
20163 return s.String()
20164 }
20165
20166 // Validate inspects the fields of the type to determine if they are valid.
20167 func (s *SelectParameters) Validate() error {
20168 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"}
20169 if s.Expression == nil {
20170 invalidParams.Add(request.NewErrParamRequired("Expression"))
20171 }
20172 if s.ExpressionType == nil {
20173 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
20174 }
20175 if s.InputSerialization == nil {
20176 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
20177 }
20178 if s.OutputSerialization == nil {
20179 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
20180 }
20181
20182 if invalidParams.Len() > 0 {
20183 return invalidParams
20184 }
20185 return nil
20186 }
20187
20188 // SetExpression sets the Expression field's value.
20189 func (s *SelectParameters) SetExpression(v string) *SelectParameters {
20190 s.Expression = &v
20191 return s
20192 }
20193
20194 // SetExpressionType sets the ExpressionType field's value.
20195 func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
20196 s.ExpressionType = &v
20197 return s
20198 }
20199
20200 // SetInputSerialization sets the InputSerialization field's value.
20201 func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
20202 s.InputSerialization = v
20203 return s
20204 }
20205
20206 // SetOutputSerialization sets the OutputSerialization field's value.
20207 func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
20208 s.OutputSerialization = v
20209 return s
20210 }
20211
20212 // Describes the default server-side encryption to apply to new objects in the
20213 // bucket. If Put Object request does not specify any server-side encryption,
20214 // this default encryption will be applied.
20215 type ServerSideEncryptionByDefault struct {
20216 _ struct{} `type:"structure"`
20217
20218 // KMS master key ID to use for the default encryption. This parameter is allowed
20219 // if SSEAlgorithm is aws:kms.
20220 KMSMasterKeyID *string `type:"string"`
20221
20222 // Server-side encryption algorithm to use for the default encryption.
20223 //
20224 // SSEAlgorithm is a required field
20225 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
20226 }
20227
20228 // String returns the string representation
20229 func (s ServerSideEncryptionByDefault) String() string {
20230 return awsutil.Prettify(s)
20231 }
20232
20233 // GoString returns the string representation
20234 func (s ServerSideEncryptionByDefault) GoString() string {
20235 return s.String()
20236 }
20237
20238 // Validate inspects the fields of the type to determine if they are valid.
20239 func (s *ServerSideEncryptionByDefault) Validate() error {
20240 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"}
20241 if s.SSEAlgorithm == nil {
20242 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm"))
20243 }
20244
20245 if invalidParams.Len() > 0 {
20246 return invalidParams
20247 }
20248 return nil
20249 }
20250
20251 // SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
20252 func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
20253 s.KMSMasterKeyID = &v
20254 return s
20255 }
20256
20257 // SetSSEAlgorithm sets the SSEAlgorithm field's value.
20258 func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
20259 s.SSEAlgorithm = &v
20260 return s
20261 }
20262
20263 // Container for server-side encryption configuration rules. Currently S3 supports
20264 // one rule only.
20265 type ServerSideEncryptionConfiguration struct {
20266 _ struct{} `type:"structure"`
20267
20268 // Container for information about a particular server-side encryption configuration
20269 // rule.
20270 //
20271 // Rules is a required field
20272 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
20273 }
20274
20275 // String returns the string representation
20276 func (s ServerSideEncryptionConfiguration) String() string {
20277 return awsutil.Prettify(s)
20278 }
20279
20280 // GoString returns the string representation
20281 func (s ServerSideEncryptionConfiguration) GoString() string {
20282 return s.String()
20283 }
20284
20285 // Validate inspects the fields of the type to determine if they are valid.
20286 func (s *ServerSideEncryptionConfiguration) Validate() error {
20287 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
20288 if s.Rules == nil {
20289 invalidParams.Add(request.NewErrParamRequired("Rules"))
20290 }
20291 if s.Rules != nil {
20292 for i, v := range s.Rules {
20293 if v == nil {
20294 continue
20295 }
20296 if err := v.Validate(); err != nil {
20297 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
20298 }
20299 }
20300 }
20301
20302 if invalidParams.Len() > 0 {
20303 return invalidParams
20304 }
20305 return nil
20306 }
20307
20308 // SetRules sets the Rules field's value.
20309 func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
20310 s.Rules = v
20311 return s
20312 }
20313
20314 // Container for information about a particular server-side encryption configuration
20315 // rule.
20316 type ServerSideEncryptionRule struct {
20317 _ struct{} `type:"structure"`
20318
20319 // Describes the default server-side encryption to apply to new objects in the
20320 // bucket. If Put Object request does not specify any server-side encryption,
20321 // this default encryption will be applied.
20322 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
20323 }
20324
20325 // String returns the string representation
20326 func (s ServerSideEncryptionRule) String() string {
20327 return awsutil.Prettify(s)
20328 }
20329
20330 // GoString returns the string representation
20331 func (s ServerSideEncryptionRule) GoString() string {
20332 return s.String()
20333 }
20334
20335 // Validate inspects the fields of the type to determine if they are valid.
20336 func (s *ServerSideEncryptionRule) Validate() error {
20337 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"}
20338 if s.ApplyServerSideEncryptionByDefault != nil {
20339 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil {
20340 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams))
20341 }
20342 }
20343
20344 if invalidParams.Len() > 0 {
20345 return invalidParams
20346 }
20347 return nil
20348 }
20349
20350 // SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
20351 func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
20352 s.ApplyServerSideEncryptionByDefault = v
20353 return s
20354 }
20355
20356 // Container for filters that define which source objects should be replicated.
20357 type SourceSelectionCriteria struct {
20358 _ struct{} `type:"structure"`
20359
20360 // Container for filter information of selection of KMS Encrypted S3 objects.
20361 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
20362 }
20363
20364 // String returns the string representation
20365 func (s SourceSelectionCriteria) String() string {
20366 return awsutil.Prettify(s)
20367 }
20368
20369 // GoString returns the string representation
20370 func (s SourceSelectionCriteria) GoString() string {
20371 return s.String()
20372 }
20373
20374 // Validate inspects the fields of the type to determine if they are valid.
20375 func (s *SourceSelectionCriteria) Validate() error {
20376 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"}
20377 if s.SseKmsEncryptedObjects != nil {
20378 if err := s.SseKmsEncryptedObjects.Validate(); err != nil {
20379 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams))
20380 }
20381 }
20382
20383 if invalidParams.Len() > 0 {
20384 return invalidParams
20385 }
20386 return nil
20387 }
20388
20389 // SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
20390 func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
20391 s.SseKmsEncryptedObjects = v
20392 return s
20393 }
20394
20395 // Container for filter information of selection of KMS Encrypted S3 objects.
20396 type SseKmsEncryptedObjects struct {
20397 _ struct{} `type:"structure"`
20398
20399 // The replication for KMS encrypted S3 objects is disabled if status is not
20400 // Enabled.
20401 //
20402 // Status is a required field
20403 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
20404 }
20405
20406 // String returns the string representation
20407 func (s SseKmsEncryptedObjects) String() string {
20408 return awsutil.Prettify(s)
20409 }
20410
20411 // GoString returns the string representation
20412 func (s SseKmsEncryptedObjects) GoString() string {
20413 return s.String()
20414 }
20415
20416 // Validate inspects the fields of the type to determine if they are valid.
20417 func (s *SseKmsEncryptedObjects) Validate() error {
20418 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"}
20419 if s.Status == nil {
20420 invalidParams.Add(request.NewErrParamRequired("Status"))
20421 }
20422
20423 if invalidParams.Len() > 0 {
20424 return invalidParams
20425 }
20426 return nil
20427 }
20428
20429 // SetStatus sets the Status field's value.
20430 func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
20431 s.Status = &v
20432 return s
20433 }
20434
20435 type Stats struct {
20436 _ struct{} `type:"structure"`
20437
20438 // Total number of uncompressed object bytes processed.
20439 BytesProcessed *int64 `type:"long"`
20440
20441 // Total number of bytes of records payload data returned.
20442 BytesReturned *int64 `type:"long"`
20443
20444 // Total number of object bytes scanned.
20445 BytesScanned *int64 `type:"long"`
20446 }
20447
20448 // String returns the string representation
20449 func (s Stats) String() string {
20450 return awsutil.Prettify(s)
20451 }
20452
20453 // GoString returns the string representation
20454 func (s Stats) GoString() string {
20455 return s.String()
20456 }
20457
20458 // SetBytesProcessed sets the BytesProcessed field's value.
20459 func (s *Stats) SetBytesProcessed(v int64) *Stats {
20460 s.BytesProcessed = &v
20461 return s
20462 }
20463
20464 // SetBytesReturned sets the BytesReturned field's value.
20465 func (s *Stats) SetBytesReturned(v int64) *Stats {
20466 s.BytesReturned = &v
20467 return s
20468 }
20469
20470 // SetBytesScanned sets the BytesScanned field's value.
20471 func (s *Stats) SetBytesScanned(v int64) *Stats {
20472 s.BytesScanned = &v
20473 return s
20474 }
20475
20476 type StatsEvent struct {
20477 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
20478
20479 // The Stats event details.
20480 Details *Stats `locationName:"Details" type:"structure"`
20481 }
20482
20483 // String returns the string representation
20484 func (s StatsEvent) String() string {
20485 return awsutil.Prettify(s)
20486 }
20487
20488 // GoString returns the string representation
20489 func (s StatsEvent) GoString() string {
20490 return s.String()
20491 }
20492
20493 // SetDetails sets the Details field's value.
20494 func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
20495 s.Details = v
20496 return s
20497 }
20498
20499 // The StatsEvent is and event in the SelectObjectContentEventStream group of events.
20500 func (s *StatsEvent) eventSelectObjectContentEventStream() {}
20501
20502 // UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value.
20503 // This method is only used internally within the SDK's EventStream handling.
20504 func (s *StatsEvent) UnmarshalEvent(
20505 payloadUnmarshaler protocol.PayloadUnmarshaler,
20506 msg eventstream.Message,
20507 ) error {
20508 if err := payloadUnmarshaler.UnmarshalPayload(
20509 bytes.NewReader(msg.Payload), s,
20510 ); err != nil {
20511 return err
20512 }
20513 return nil
20514 }
20515
20516 type StorageClassAnalysis struct {
20517 _ struct{} `type:"structure"`
20518
20519 // A container used to describe how data related to the storage class analysis
20520 // should be exported.
20521 DataExport *StorageClassAnalysisDataExport `type:"structure"`
20522 }
20523
20524 // String returns the string representation
20525 func (s StorageClassAnalysis) String() string {
20526 return awsutil.Prettify(s)
20527 }
20528
20529 // GoString returns the string representation
20530 func (s StorageClassAnalysis) GoString() string {
20531 return s.String()
20532 }
20533
20534 // Validate inspects the fields of the type to determine if they are valid.
20535 func (s *StorageClassAnalysis) Validate() error {
20536 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"}
20537 if s.DataExport != nil {
20538 if err := s.DataExport.Validate(); err != nil {
20539 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams))
20540 }
20541 }
20542
20543 if invalidParams.Len() > 0 {
20544 return invalidParams
20545 }
20546 return nil
20547 }
20548
20549 // SetDataExport sets the DataExport field's value.
20550 func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis {
20551 s.DataExport = v
20552 return s
20553 }
20554
20555 type StorageClassAnalysisDataExport struct {
20556 _ struct{} `type:"structure"`
20557
20558 // The place to store the data for an analysis.
20559 //
20560 // Destination is a required field
20561 Destination *AnalyticsExportDestination `type:"structure" required:"true"`
20562
20563 // The version of the output schema to use when exporting data. Must be V_1.
20564 //
20565 // OutputSchemaVersion is a required field
20566 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"`
20567 }
20568
20569 // String returns the string representation
20570 func (s StorageClassAnalysisDataExport) String() string {
20571 return awsutil.Prettify(s)
20572 }
20573
20574 // GoString returns the string representation
20575 func (s StorageClassAnalysisDataExport) GoString() string {
20576 return s.String()
20577 }
20578
20579 // Validate inspects the fields of the type to determine if they are valid.
20580 func (s *StorageClassAnalysisDataExport) Validate() error {
20581 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"}
20582 if s.Destination == nil {
20583 invalidParams.Add(request.NewErrParamRequired("Destination"))
20584 }
20585 if s.OutputSchemaVersion == nil {
20586 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion"))
20587 }
20588 if s.Destination != nil {
20589 if err := s.Destination.Validate(); err != nil {
20590 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
20591 }
20592 }
20593
20594 if invalidParams.Len() > 0 {
20595 return invalidParams
20596 }
20597 return nil
20598 }
20599
20600 // SetDestination sets the Destination field's value.
20601 func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport {
20602 s.Destination = v
20603 return s
20604 }
20605
20606 // SetOutputSchemaVersion sets the OutputSchemaVersion field's value.
20607 func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport {
20608 s.OutputSchemaVersion = &v
20609 return s
20610 }
20611
20612 type Tag struct {
20613 _ struct{} `type:"structure"`
20614
20615 // Name of the tag.
20616 //
20617 // Key is a required field
20618 Key *string `min:"1" type:"string" required:"true"`
20619
20620 // Value of the tag.
20621 //
20622 // Value is a required field
20623 Value *string `type:"string" required:"true"`
20624 }
20625
20626 // String returns the string representation
20627 func (s Tag) String() string {
20628 return awsutil.Prettify(s)
20629 }
20630
20631 // GoString returns the string representation
20632 func (s Tag) GoString() string {
20633 return s.String()
20634 }
20635
20636 // Validate inspects the fields of the type to determine if they are valid.
20637 func (s *Tag) Validate() error {
20638 invalidParams := request.ErrInvalidParams{Context: "Tag"}
20639 if s.Key == nil {
20640 invalidParams.Add(request.NewErrParamRequired("Key"))
20641 }
20642 if s.Key != nil && len(*s.Key) < 1 {
20643 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20644 }
20645 if s.Value == nil {
20646 invalidParams.Add(request.NewErrParamRequired("Value"))
20647 }
20648
20649 if invalidParams.Len() > 0 {
20650 return invalidParams
20651 }
20652 return nil
20653 }
20654
20655 // SetKey sets the Key field's value.
20656 func (s *Tag) SetKey(v string) *Tag {
20657 s.Key = &v
20658 return s
20659 }
20660
20661 // SetValue sets the Value field's value.
20662 func (s *Tag) SetValue(v string) *Tag {
20663 s.Value = &v
20664 return s
20665 }
20666
20667 type Tagging struct {
20668 _ struct{} `type:"structure"`
20669
20670 // TagSet is a required field
20671 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
20672 }
20673
20674 // String returns the string representation
20675 func (s Tagging) String() string {
20676 return awsutil.Prettify(s)
20677 }
20678
20679 // GoString returns the string representation
20680 func (s Tagging) GoString() string {
20681 return s.String()
20682 }
20683
20684 // Validate inspects the fields of the type to determine if they are valid.
20685 func (s *Tagging) Validate() error {
20686 invalidParams := request.ErrInvalidParams{Context: "Tagging"}
20687 if s.TagSet == nil {
20688 invalidParams.Add(request.NewErrParamRequired("TagSet"))
20689 }
20690 if s.TagSet != nil {
20691 for i, v := range s.TagSet {
20692 if v == nil {
20693 continue
20694 }
20695 if err := v.Validate(); err != nil {
20696 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams))
20697 }
20698 }
20699 }
20700
20701 if invalidParams.Len() > 0 {
20702 return invalidParams
20703 }
20704 return nil
20705 }
20706
20707 // SetTagSet sets the TagSet field's value.
20708 func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
20709 s.TagSet = v
20710 return s
20711 }
20712
20713 type TargetGrant struct {
20714 _ struct{} `type:"structure"`
20715
20716 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
20717
20718 // Logging permissions assigned to the Grantee for the bucket.
20719 Permission *string `type:"string" enum:"BucketLogsPermission"`
20720 }
20721
20722 // String returns the string representation
20723 func (s TargetGrant) String() string {
20724 return awsutil.Prettify(s)
20725 }
20726
20727 // GoString returns the string representation
20728 func (s TargetGrant) GoString() string {
20729 return s.String()
20730 }
20731
20732 // Validate inspects the fields of the type to determine if they are valid.
20733 func (s *TargetGrant) Validate() error {
20734 invalidParams := request.ErrInvalidParams{Context: "TargetGrant"}
20735 if s.Grantee != nil {
20736 if err := s.Grantee.Validate(); err != nil {
20737 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
20738 }
20739 }
20740
20741 if invalidParams.Len() > 0 {
20742 return invalidParams
20743 }
20744 return nil
20745 }
20746
20747 // SetGrantee sets the Grantee field's value.
20748 func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant {
20749 s.Grantee = v
20750 return s
20751 }
20752
20753 // SetPermission sets the Permission field's value.
20754 func (s *TargetGrant) SetPermission(v string) *TargetGrant {
20755 s.Permission = &v
20756 return s
20757 }
20758
20759 // Container for specifying the configuration when you want Amazon S3 to publish
20760 // events to an Amazon Simple Notification Service (Amazon SNS) topic.
20761 type TopicConfiguration struct {
20762 _ struct{} `type:"structure"`
20763
20764 // Events is a required field
20765 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
20766
20767 // Container for object key name filtering rules. For information about key
20768 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
20769 // in the Amazon Simple Storage Service Developer Guide.
20770 Filter *NotificationConfigurationFilter `type:"structure"`
20771
20772 // Optional unique identifier for configurations in a notification configuration.
20773 // If you don't provide one, Amazon S3 will assign an ID.
20774 Id *string `type:"string"`
20775
20776 // Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects
20777 // events of specified type.
20778 //
20779 // TopicArn is a required field
20780 TopicArn *string `locationName:"Topic" type:"string" required:"true"`
20781 }
20782
20783 // String returns the string representation
20784 func (s TopicConfiguration) String() string {
20785 return awsutil.Prettify(s)
20786 }
20787
20788 // GoString returns the string representation
20789 func (s TopicConfiguration) GoString() string {
20790 return s.String()
20791 }
20792
20793 // Validate inspects the fields of the type to determine if they are valid.
20794 func (s *TopicConfiguration) Validate() error {
20795 invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"}
20796 if s.Events == nil {
20797 invalidParams.Add(request.NewErrParamRequired("Events"))
20798 }
20799 if s.TopicArn == nil {
20800 invalidParams.Add(request.NewErrParamRequired("TopicArn"))
20801 }
20802
20803 if invalidParams.Len() > 0 {
20804 return invalidParams
20805 }
20806 return nil
20807 }
20808
20809 // SetEvents sets the Events field's value.
20810 func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration {
20811 s.Events = v
20812 return s
20813 }
20814
20815 // SetFilter sets the Filter field's value.
20816 func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration {
20817 s.Filter = v
20818 return s
20819 }
20820
20821 // SetId sets the Id field's value.
20822 func (s *TopicConfiguration) SetId(v string) *TopicConfiguration {
20823 s.Id = &v
20824 return s
20825 }
20826
20827 // SetTopicArn sets the TopicArn field's value.
20828 func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
20829 s.TopicArn = &v
20830 return s
20831 }
20832
20833 type TopicConfigurationDeprecated struct {
20834 _ struct{} `type:"structure"`
20835
20836 // Bucket event for which to send notifications.
20837 Event *string `deprecated:"true" type:"string" enum:"Event"`
20838
20839 Events []*string `locationName:"Event" type:"list" flattened:"true"`
20840
20841 // Optional unique identifier for configurations in a notification configuration.
20842 // If you don't provide one, Amazon S3 will assign an ID.
20843 Id *string `type:"string"`
20844
20845 // Amazon SNS topic to which Amazon S3 will publish a message to report the
20846 // specified events for the bucket.
20847 Topic *string `type:"string"`
20848 }
20849
20850 // String returns the string representation
20851 func (s TopicConfigurationDeprecated) String() string {
20852 return awsutil.Prettify(s)
20853 }
20854
20855 // GoString returns the string representation
20856 func (s TopicConfigurationDeprecated) GoString() string {
20857 return s.String()
20858 }
20859
20860 // SetEvent sets the Event field's value.
20861 func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated {
20862 s.Event = &v
20863 return s
20864 }
20865
20866 // SetEvents sets the Events field's value.
20867 func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated {
20868 s.Events = v
20869 return s
20870 }
20871
20872 // SetId sets the Id field's value.
20873 func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated {
20874 s.Id = &v
20875 return s
20876 }
20877
20878 // SetTopic sets the Topic field's value.
20879 func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated {
20880 s.Topic = &v
20881 return s
20882 }
20883
20884 type Transition struct {
20885 _ struct{} `type:"structure"`
20886
20887 // Indicates at what date the object is to be moved or deleted. Should be in
20888 // GMT ISO 8601 Format.
20889 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
20890
20891 // Indicates the lifetime, in days, of the objects that are subject to the rule.
20892 // The value must be a non-zero positive integer.
20893 Days *int64 `type:"integer"`
20894
20895 // The class of storage used to store the object.
20896 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
20897 }
20898
20899 // String returns the string representation
20900 func (s Transition) String() string {
20901 return awsutil.Prettify(s)
20902 }
20903
20904 // GoString returns the string representation
20905 func (s Transition) GoString() string {
20906 return s.String()
20907 }
20908
20909 // SetDate sets the Date field's value.
20910 func (s *Transition) SetDate(v time.Time) *Transition {
20911 s.Date = &v
20912 return s
20913 }
20914
20915 // SetDays sets the Days field's value.
20916 func (s *Transition) SetDays(v int64) *Transition {
20917 s.Days = &v
20918 return s
20919 }
20920
20921 // SetStorageClass sets the StorageClass field's value.
20922 func (s *Transition) SetStorageClass(v string) *Transition {
20923 s.StorageClass = &v
20924 return s
20925 }
20926
20927 type UploadPartCopyInput struct {
20928 _ struct{} `type:"structure"`
20929
20930 // Bucket is a required field
20931 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20932
20933 // The name of the source bucket and key name of the source object, separated
20934 // by a slash (/). Must be URL-encoded.
20935 //
20936 // CopySource is a required field
20937 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
20938
20939 // Copies the object if its entity tag (ETag) matches the specified tag.
20940 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
20941
20942 // Copies the object if it has been modified since the specified time.
20943 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
20944
20945 // Copies the object if its entity tag (ETag) is different than the specified
20946 // ETag.
20947 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
20948
20949 // Copies the object if it hasn't been modified since the specified time.
20950 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
20951
20952 // The range of bytes to copy from the source object. The range value must use
20953 // the form bytes=first-last, where the first and last are the zero-based byte
20954 // offsets to copy. For example, bytes=0-9 indicates that you want to copy the
20955 // first ten bytes of the source. You can copy a range only if the source object
20956 // is greater than 5 GB.
20957 CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`
20958
20959 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
20960 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
20961
20962 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
20963 // the source object. The encryption key provided in this header must be one
20964 // that was used when the source object was created.
20965 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"`
20966
20967 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
20968 // Amazon S3 uses this header for a message integrity check to ensure the encryption
20969 // key was transmitted without error.
20970 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
20971
20972 // Key is a required field
20973 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20974
20975 // Part number of part being copied. This is a positive integer between 1 and
20976 // 10,000.
20977 //
20978 // PartNumber is a required field
20979 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
20980
20981 // Confirms that the requester knows that she or he will be charged for the
20982 // request. Bucket owners need not specify this parameter in their requests.
20983 // Documentation on downloading objects from requester pays buckets can be found
20984 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20985 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20986
20987 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
20988 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20989
20990 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
20991 // data. This value is used to store the object and then it is discarded; Amazon
20992 // does not store the encryption key. The key must be appropriate for use with
20993 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
20994 // header. This must be the same encryption key specified in the initiate multipart
20995 // upload request.
20996 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
20997
20998 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
20999 // Amazon S3 uses this header for a message integrity check to ensure the encryption
21000 // key was transmitted without error.
21001 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
21002
21003 // Upload ID identifying the multipart upload whose part is being copied.
21004 //
21005 // UploadId is a required field
21006 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
21007 }
21008
21009 // String returns the string representation
21010 func (s UploadPartCopyInput) String() string {
21011 return awsutil.Prettify(s)
21012 }
21013
21014 // GoString returns the string representation
21015 func (s UploadPartCopyInput) GoString() string {
21016 return s.String()
21017 }
21018
21019 // Validate inspects the fields of the type to determine if they are valid.
21020 func (s *UploadPartCopyInput) Validate() error {
21021 invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"}
21022 if s.Bucket == nil {
21023 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21024 }
21025 if s.CopySource == nil {
21026 invalidParams.Add(request.NewErrParamRequired("CopySource"))
21027 }
21028 if s.Key == nil {
21029 invalidParams.Add(request.NewErrParamRequired("Key"))
21030 }
21031 if s.Key != nil && len(*s.Key) < 1 {
21032 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21033 }
21034 if s.PartNumber == nil {
21035 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
21036 }
21037 if s.UploadId == nil {
21038 invalidParams.Add(request.NewErrParamRequired("UploadId"))
21039 }
21040
21041 if invalidParams.Len() > 0 {
21042 return invalidParams
21043 }
21044 return nil
21045 }
21046
21047 // SetBucket sets the Bucket field's value.
21048 func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
21049 s.Bucket = &v
21050 return s
21051 }
21052
21053 func (s *UploadPartCopyInput) getBucket() (v string) {
21054 if s.Bucket == nil {
21055 return v
21056 }
21057 return *s.Bucket
21058 }
21059
21060 // SetCopySource sets the CopySource field's value.
21061 func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
21062 s.CopySource = &v
21063 return s
21064 }
21065
21066 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
21067 func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
21068 s.CopySourceIfMatch = &v
21069 return s
21070 }
21071
21072 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
21073 func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput {
21074 s.CopySourceIfModifiedSince = &v
21075 return s
21076 }
21077
21078 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
21079 func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput {
21080 s.CopySourceIfNoneMatch = &v
21081 return s
21082 }
21083
21084 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
21085 func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput {
21086 s.CopySourceIfUnmodifiedSince = &v
21087 return s
21088 }
21089
21090 // SetCopySourceRange sets the CopySourceRange field's value.
21091 func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput {
21092 s.CopySourceRange = &v
21093 return s
21094 }
21095
21096 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
21097 func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput {
21098 s.CopySourceSSECustomerAlgorithm = &v
21099 return s
21100 }
21101
21102 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
21103 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput {
21104 s.CopySourceSSECustomerKey = &v
21105 return s
21106 }
21107
21108 func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
21109 if s.CopySourceSSECustomerKey == nil {
21110 return v
21111 }
21112 return *s.CopySourceSSECustomerKey
21113 }
21114
21115 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
21116 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
21117 s.CopySourceSSECustomerKeyMD5 = &v
21118 return s
21119 }
21120
21121 // SetKey sets the Key field's value.
21122 func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput {
21123 s.Key = &v
21124 return s
21125 }
21126
21127 // SetPartNumber sets the PartNumber field's value.
21128 func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput {
21129 s.PartNumber = &v
21130 return s
21131 }
21132
21133 // SetRequestPayer sets the RequestPayer field's value.
21134 func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput {
21135 s.RequestPayer = &v
21136 return s
21137 }
21138
21139 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
21140 func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput {
21141 s.SSECustomerAlgorithm = &v
21142 return s
21143 }
21144
21145 // SetSSECustomerKey sets the SSECustomerKey field's value.
21146 func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
21147 s.SSECustomerKey = &v
21148 return s
21149 }
21150
21151 func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
21152 if s.SSECustomerKey == nil {
21153 return v
21154 }
21155 return *s.SSECustomerKey
21156 }
21157
21158 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
21159 func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
21160 s.SSECustomerKeyMD5 = &v
21161 return s
21162 }
21163
21164 // SetUploadId sets the UploadId field's value.
21165 func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
21166 s.UploadId = &v
21167 return s
21168 }
21169
21170 type UploadPartCopyOutput struct {
21171 _ struct{} `type:"structure" payload:"CopyPartResult"`
21172
21173 CopyPartResult *CopyPartResult `type:"structure"`
21174
21175 // The version of the source object that was copied, if you have enabled versioning
21176 // on the source bucket.
21177 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
21178
21179 // If present, indicates that the requester was successfully charged for the
21180 // request.
21181 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
21182
21183 // If server-side encryption with a customer-provided encryption key was requested,
21184 // the response will include this header confirming the encryption algorithm
21185 // used.
21186 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
21187
21188 // If server-side encryption with a customer-provided encryption key was requested,
21189 // the response will include this header to provide round trip message integrity
21190 // verification of the customer-provided encryption key.
21191 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
21192
21193 // If present, specifies the ID of the AWS Key Management Service (KMS) master
21194 // encryption key that was used for the object.
21195 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
21196
21197 // The Server-side encryption algorithm used when storing this object in S3
21198 // (e.g., AES256, aws:kms).
21199 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
21200 }
21201
21202 // String returns the string representation
21203 func (s UploadPartCopyOutput) String() string {
21204 return awsutil.Prettify(s)
21205 }
21206
21207 // GoString returns the string representation
21208 func (s UploadPartCopyOutput) GoString() string {
21209 return s.String()
21210 }
21211
21212 // SetCopyPartResult sets the CopyPartResult field's value.
21213 func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput {
21214 s.CopyPartResult = v
21215 return s
21216 }
21217
21218 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
21219 func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput {
21220 s.CopySourceVersionId = &v
21221 return s
21222 }
21223
21224 // SetRequestCharged sets the RequestCharged field's value.
21225 func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput {
21226 s.RequestCharged = &v
21227 return s
21228 }
21229
21230 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
21231 func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput {
21232 s.SSECustomerAlgorithm = &v
21233 return s
21234 }
21235
21236 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
21237 func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput {
21238 s.SSECustomerKeyMD5 = &v
21239 return s
21240 }
21241
21242 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
21243 func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput {
21244 s.SSEKMSKeyId = &v
21245 return s
21246 }
21247
21248 // SetServerSideEncryption sets the ServerSideEncryption field's value.
21249 func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput {
21250 s.ServerSideEncryption = &v
21251 return s
21252 }
21253
21254 type UploadPartInput struct {
21255 _ struct{} `type:"structure" payload:"Body"`
21256
21257 // Object data.
21258 Body io.ReadSeeker `type:"blob"`
21259
21260 // Name of the bucket to which the multipart upload was initiated.
21261 //
21262 // Bucket is a required field
21263 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21264
21265 // Size of the body in bytes. This parameter is useful when the size of the
21266 // body cannot be determined automatically.
21267 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
21268
21269 // The base64-encoded 128-bit MD5 digest of the part data.
21270 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
21271
21272 // Object key for which the multipart upload was initiated.
21273 //
21274 // Key is a required field
21275 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21276
21277 // Part number of part being uploaded. This is a positive integer between 1
21278 // and 10,000.
21279 //
21280 // PartNumber is a required field
21281 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
21282
21283 // Confirms that the requester knows that she or he will be charged for the
21284 // request. Bucket owners need not specify this parameter in their requests.
21285 // Documentation on downloading objects from requester pays buckets can be found
21286 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
21287 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
21288
21289 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
21290 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
21291
21292 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
21293 // data. This value is used to store the object and then it is discarded; Amazon
21294 // does not store the encryption key. The key must be appropriate for use with
21295 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
21296 // header. This must be the same encryption key specified in the initiate multipart
21297 // upload request.
21298 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
21299
21300 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
21301 // Amazon S3 uses this header for a message integrity check to ensure the encryption
21302 // key was transmitted without error.
21303 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
21304
21305 // Upload ID identifying the multipart upload whose part is being uploaded.
21306 //
21307 // UploadId is a required field
21308 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
21309 }
21310
21311 // String returns the string representation
21312 func (s UploadPartInput) String() string {
21313 return awsutil.Prettify(s)
21314 }
21315
21316 // GoString returns the string representation
21317 func (s UploadPartInput) GoString() string {
21318 return s.String()
21319 }
21320
21321 // Validate inspects the fields of the type to determine if they are valid.
21322 func (s *UploadPartInput) Validate() error {
21323 invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"}
21324 if s.Bucket == nil {
21325 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21326 }
21327 if s.Key == nil {
21328 invalidParams.Add(request.NewErrParamRequired("Key"))
21329 }
21330 if s.Key != nil && len(*s.Key) < 1 {
21331 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21332 }
21333 if s.PartNumber == nil {
21334 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
21335 }
21336 if s.UploadId == nil {
21337 invalidParams.Add(request.NewErrParamRequired("UploadId"))
21338 }
21339
21340 if invalidParams.Len() > 0 {
21341 return invalidParams
21342 }
21343 return nil
21344 }
21345
21346 // SetBody sets the Body field's value.
21347 func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput {
21348 s.Body = v
21349 return s
21350 }
21351
21352 // SetBucket sets the Bucket field's value.
21353 func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
21354 s.Bucket = &v
21355 return s
21356 }
21357
21358 func (s *UploadPartInput) getBucket() (v string) {
21359 if s.Bucket == nil {
21360 return v
21361 }
21362 return *s.Bucket
21363 }
21364
21365 // SetContentLength sets the ContentLength field's value.
21366 func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
21367 s.ContentLength = &v
21368 return s
21369 }
21370
21371 // SetContentMD5 sets the ContentMD5 field's value.
21372 func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
21373 s.ContentMD5 = &v
21374 return s
21375 }
21376
21377 // SetKey sets the Key field's value.
21378 func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
21379 s.Key = &v
21380 return s
21381 }
21382
21383 // SetPartNumber sets the PartNumber field's value.
21384 func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput {
21385 s.PartNumber = &v
21386 return s
21387 }
21388
21389 // SetRequestPayer sets the RequestPayer field's value.
21390 func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput {
21391 s.RequestPayer = &v
21392 return s
21393 }
21394
21395 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
21396 func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput {
21397 s.SSECustomerAlgorithm = &v
21398 return s
21399 }
21400
21401 // SetSSECustomerKey sets the SSECustomerKey field's value.
21402 func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
21403 s.SSECustomerKey = &v
21404 return s
21405 }
21406
21407 func (s *UploadPartInput) getSSECustomerKey() (v string) {
21408 if s.SSECustomerKey == nil {
21409 return v
21410 }
21411 return *s.SSECustomerKey
21412 }
21413
21414 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
21415 func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
21416 s.SSECustomerKeyMD5 = &v
21417 return s
21418 }
21419
21420 // SetUploadId sets the UploadId field's value.
21421 func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
21422 s.UploadId = &v
21423 return s
21424 }
21425
21426 type UploadPartOutput struct {
21427 _ struct{} `type:"structure"`
21428
21429 // Entity tag for the uploaded object.
21430 ETag *string `location:"header" locationName:"ETag" type:"string"`
21431
21432 // If present, indicates that the requester was successfully charged for the
21433 // request.
21434 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
21435
21436 // If server-side encryption with a customer-provided encryption key was requested,
21437 // the response will include this header confirming the encryption algorithm
21438 // used.
21439 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
21440
21441 // If server-side encryption with a customer-provided encryption key was requested,
21442 // the response will include this header to provide round trip message integrity
21443 // verification of the customer-provided encryption key.
21444 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
21445
21446 // If present, specifies the ID of the AWS Key Management Service (KMS) master
21447 // encryption key that was used for the object.
21448 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
21449
21450 // The Server-side encryption algorithm used when storing this object in S3
21451 // (e.g., AES256, aws:kms).
21452 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
21453 }
21454
21455 // String returns the string representation
21456 func (s UploadPartOutput) String() string {
21457 return awsutil.Prettify(s)
21458 }
21459
21460 // GoString returns the string representation
21461 func (s UploadPartOutput) GoString() string {
21462 return s.String()
21463 }
21464
21465 // SetETag sets the ETag field's value.
21466 func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
21467 s.ETag = &v
21468 return s
21469 }
21470
21471 // SetRequestCharged sets the RequestCharged field's value.
21472 func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput {
21473 s.RequestCharged = &v
21474 return s
21475 }
21476
21477 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
21478 func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput {
21479 s.SSECustomerAlgorithm = &v
21480 return s
21481 }
21482
21483 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
21484 func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput {
21485 s.SSECustomerKeyMD5 = &v
21486 return s
21487 }
21488
21489 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
21490 func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput {
21491 s.SSEKMSKeyId = &v
21492 return s
21493 }
21494
21495 // SetServerSideEncryption sets the ServerSideEncryption field's value.
21496 func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
21497 s.ServerSideEncryption = &v
21498 return s
21499 }
21500
21501 type VersioningConfiguration struct {
21502 _ struct{} `type:"structure"`
21503
21504 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
21505 // This element is only returned if the bucket has been configured with MFA
21506 // delete. If the bucket has never been so configured, this element is not returned.
21507 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"`
21508
21509 // The versioning state of the bucket.
21510 Status *string `type:"string" enum:"BucketVersioningStatus"`
21511 }
21512
21513 // String returns the string representation
21514 func (s VersioningConfiguration) String() string {
21515 return awsutil.Prettify(s)
21516 }
21517
21518 // GoString returns the string representation
21519 func (s VersioningConfiguration) GoString() string {
21520 return s.String()
21521 }
21522
21523 // SetMFADelete sets the MFADelete field's value.
21524 func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration {
21525 s.MFADelete = &v
21526 return s
21527 }
21528
21529 // SetStatus sets the Status field's value.
21530 func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
21531 s.Status = &v
21532 return s
21533 }
21534
21535 type WebsiteConfiguration struct {
21536 _ struct{} `type:"structure"`
21537
21538 ErrorDocument *ErrorDocument `type:"structure"`
21539
21540 IndexDocument *IndexDocument `type:"structure"`
21541
21542 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
21543
21544 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
21545 }
21546
21547 // String returns the string representation
21548 func (s WebsiteConfiguration) String() string {
21549 return awsutil.Prettify(s)
21550 }
21551
21552 // GoString returns the string representation
21553 func (s WebsiteConfiguration) GoString() string {
21554 return s.String()
21555 }
21556
21557 // Validate inspects the fields of the type to determine if they are valid.
21558 func (s *WebsiteConfiguration) Validate() error {
21559 invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"}
21560 if s.ErrorDocument != nil {
21561 if err := s.ErrorDocument.Validate(); err != nil {
21562 invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams))
21563 }
21564 }
21565 if s.IndexDocument != nil {
21566 if err := s.IndexDocument.Validate(); err != nil {
21567 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams))
21568 }
21569 }
21570 if s.RedirectAllRequestsTo != nil {
21571 if err := s.RedirectAllRequestsTo.Validate(); err != nil {
21572 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams))
21573 }
21574 }
21575 if s.RoutingRules != nil {
21576 for i, v := range s.RoutingRules {
21577 if v == nil {
21578 continue
21579 }
21580 if err := v.Validate(); err != nil {
21581 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams))
21582 }
21583 }
21584 }
21585
21586 if invalidParams.Len() > 0 {
21587 return invalidParams
21588 }
21589 return nil
21590 }
21591
21592 // SetErrorDocument sets the ErrorDocument field's value.
21593 func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration {
21594 s.ErrorDocument = v
21595 return s
21596 }
21597
21598 // SetIndexDocument sets the IndexDocument field's value.
21599 func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration {
21600 s.IndexDocument = v
21601 return s
21602 }
21603
21604 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
21605 func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration {
21606 s.RedirectAllRequestsTo = v
21607 return s
21608 }
21609
21610 // SetRoutingRules sets the RoutingRules field's value.
21611 func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration {
21612 s.RoutingRules = v
21613 return s
21614 }
21615
21616 const (
21617 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value
21618 AnalyticsS3ExportFileFormatCsv = "CSV"
21619 )
21620
21621 const (
21622 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
21623 BucketAccelerateStatusEnabled = "Enabled"
21624
21625 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value
21626 BucketAccelerateStatusSuspended = "Suspended"
21627 )
21628
21629 const (
21630 // BucketCannedACLPrivate is a BucketCannedACL enum value
21631 BucketCannedACLPrivate = "private"
21632
21633 // BucketCannedACLPublicRead is a BucketCannedACL enum value
21634 BucketCannedACLPublicRead = "public-read"
21635
21636 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
21637 BucketCannedACLPublicReadWrite = "public-read-write"
21638
21639 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
21640 BucketCannedACLAuthenticatedRead = "authenticated-read"
21641 )
21642
21643 const (
21644 // BucketLocationConstraintEu is a BucketLocationConstraint enum value
21645 BucketLocationConstraintEu = "EU"
21646
21647 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value
21648 BucketLocationConstraintEuWest1 = "eu-west-1"
21649
21650 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value
21651 BucketLocationConstraintUsWest1 = "us-west-1"
21652
21653 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value
21654 BucketLocationConstraintUsWest2 = "us-west-2"
21655
21656 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value
21657 BucketLocationConstraintApSouth1 = "ap-south-1"
21658
21659 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value
21660 BucketLocationConstraintApSoutheast1 = "ap-southeast-1"
21661
21662 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value
21663 BucketLocationConstraintApSoutheast2 = "ap-southeast-2"
21664
21665 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value
21666 BucketLocationConstraintApNortheast1 = "ap-northeast-1"
21667
21668 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value
21669 BucketLocationConstraintSaEast1 = "sa-east-1"
21670
21671 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value
21672 BucketLocationConstraintCnNorth1 = "cn-north-1"
21673
21674 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value
21675 BucketLocationConstraintEuCentral1 = "eu-central-1"
21676 )
21677
21678 const (
21679 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value
21680 BucketLogsPermissionFullControl = "FULL_CONTROL"
21681
21682 // BucketLogsPermissionRead is a BucketLogsPermission enum value
21683 BucketLogsPermissionRead = "READ"
21684
21685 // BucketLogsPermissionWrite is a BucketLogsPermission enum value
21686 BucketLogsPermissionWrite = "WRITE"
21687 )
21688
21689 const (
21690 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value
21691 BucketVersioningStatusEnabled = "Enabled"
21692
21693 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value
21694 BucketVersioningStatusSuspended = "Suspended"
21695 )
21696
21697 const (
21698 // CompressionTypeNone is a CompressionType enum value
21699 CompressionTypeNone = "NONE"
21700
21701 // CompressionTypeGzip is a CompressionType enum value
21702 CompressionTypeGzip = "GZIP"
21703
21704 // CompressionTypeBzip2 is a CompressionType enum value
21705 CompressionTypeBzip2 = "BZIP2"
21706 )
21707
21708 // Requests Amazon S3 to encode the object keys in the response and specifies
21709 // the encoding method to use. An object key may contain any Unicode character;
21710 // however, XML 1.0 parser cannot parse some characters, such as characters
21711 // with an ASCII value from 0 to 10. For characters that are not supported in
21712 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
21713 // keys in the response.
21714 const (
21715 // EncodingTypeUrl is a EncodingType enum value
21716 EncodingTypeUrl = "url"
21717 )
21718
21719 // Bucket event for which to send notifications.
21720 const (
21721 // EventS3ReducedRedundancyLostObject is a Event enum value
21722 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"
21723
21724 // EventS3ObjectCreated is a Event enum value
21725 EventS3ObjectCreated = "s3:ObjectCreated:*"
21726
21727 // EventS3ObjectCreatedPut is a Event enum value
21728 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put"
21729
21730 // EventS3ObjectCreatedPost is a Event enum value
21731 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"
21732
21733 // EventS3ObjectCreatedCopy is a Event enum value
21734 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"
21735
21736 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value
21737 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"
21738
21739 // EventS3ObjectRemoved is a Event enum value
21740 EventS3ObjectRemoved = "s3:ObjectRemoved:*"
21741
21742 // EventS3ObjectRemovedDelete is a Event enum value
21743 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"
21744
21745 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value
21746 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"
21747 )
21748
21749 const (
21750 // ExpirationStatusEnabled is a ExpirationStatus enum value
21751 ExpirationStatusEnabled = "Enabled"
21752
21753 // ExpirationStatusDisabled is a ExpirationStatus enum value
21754 ExpirationStatusDisabled = "Disabled"
21755 )
21756
21757 const (
21758 // ExpressionTypeSql is a ExpressionType enum value
21759 ExpressionTypeSql = "SQL"
21760 )
21761
21762 const (
21763 // FileHeaderInfoUse is a FileHeaderInfo enum value
21764 FileHeaderInfoUse = "USE"
21765
21766 // FileHeaderInfoIgnore is a FileHeaderInfo enum value
21767 FileHeaderInfoIgnore = "IGNORE"
21768
21769 // FileHeaderInfoNone is a FileHeaderInfo enum value
21770 FileHeaderInfoNone = "NONE"
21771 )
21772
21773 const (
21774 // FilterRuleNamePrefix is a FilterRuleName enum value
21775 FilterRuleNamePrefix = "prefix"
21776
21777 // FilterRuleNameSuffix is a FilterRuleName enum value
21778 FilterRuleNameSuffix = "suffix"
21779 )
21780
21781 const (
21782 // InventoryFormatCsv is a InventoryFormat enum value
21783 InventoryFormatCsv = "CSV"
21784
21785 // InventoryFormatOrc is a InventoryFormat enum value
21786 InventoryFormatOrc = "ORC"
21787 )
21788
21789 const (
21790 // InventoryFrequencyDaily is a InventoryFrequency enum value
21791 InventoryFrequencyDaily = "Daily"
21792
21793 // InventoryFrequencyWeekly is a InventoryFrequency enum value
21794 InventoryFrequencyWeekly = "Weekly"
21795 )
21796
21797 const (
21798 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value
21799 InventoryIncludedObjectVersionsAll = "All"
21800
21801 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value
21802 InventoryIncludedObjectVersionsCurrent = "Current"
21803 )
21804
21805 const (
21806 // InventoryOptionalFieldSize is a InventoryOptionalField enum value
21807 InventoryOptionalFieldSize = "Size"
21808
21809 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value
21810 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"
21811
21812 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value
21813 InventoryOptionalFieldStorageClass = "StorageClass"
21814
21815 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value
21816 InventoryOptionalFieldEtag = "ETag"
21817
21818 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value
21819 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"
21820
21821 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
21822 InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
21823
21824 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
21825 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
21826 )
21827
21828 const (
21829 // JSONTypeDocument is a JSONType enum value
21830 JSONTypeDocument = "DOCUMENT"
21831
21832 // JSONTypeLines is a JSONType enum value
21833 JSONTypeLines = "LINES"
21834 )
21835
21836 const (
21837 // MFADeleteEnabled is a MFADelete enum value
21838 MFADeleteEnabled = "Enabled"
21839
21840 // MFADeleteDisabled is a MFADelete enum value
21841 MFADeleteDisabled = "Disabled"
21842 )
21843
21844 const (
21845 // MFADeleteStatusEnabled is a MFADeleteStatus enum value
21846 MFADeleteStatusEnabled = "Enabled"
21847
21848 // MFADeleteStatusDisabled is a MFADeleteStatus enum value
21849 MFADeleteStatusDisabled = "Disabled"
21850 )
21851
21852 const (
21853 // MetadataDirectiveCopy is a MetadataDirective enum value
21854 MetadataDirectiveCopy = "COPY"
21855
21856 // MetadataDirectiveReplace is a MetadataDirective enum value
21857 MetadataDirectiveReplace = "REPLACE"
21858 )
21859
21860 const (
21861 // ObjectCannedACLPrivate is a ObjectCannedACL enum value
21862 ObjectCannedACLPrivate = "private"
21863
21864 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value
21865 ObjectCannedACLPublicRead = "public-read"
21866
21867 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
21868 ObjectCannedACLPublicReadWrite = "public-read-write"
21869
21870 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
21871 ObjectCannedACLAuthenticatedRead = "authenticated-read"
21872
21873 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
21874 ObjectCannedACLAwsExecRead = "aws-exec-read"
21875
21876 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
21877 ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
21878
21879 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
21880 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
21881 )
21882
21883 const (
21884 // ObjectStorageClassStandard is a ObjectStorageClass enum value
21885 ObjectStorageClassStandard = "STANDARD"
21886
21887 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value
21888 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
21889
21890 // ObjectStorageClassGlacier is a ObjectStorageClass enum value
21891 ObjectStorageClassGlacier = "GLACIER"
21892
21893 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
21894 ObjectStorageClassStandardIa = "STANDARD_IA"
21895
21896 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
21897 ObjectStorageClassOnezoneIa = "ONEZONE_IA"
21898 )
21899
21900 const (
21901 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value
21902 ObjectVersionStorageClassStandard = "STANDARD"
21903 )
21904
21905 const (
21906 // OwnerOverrideDestination is a OwnerOverride enum value
21907 OwnerOverrideDestination = "Destination"
21908 )
21909
21910 const (
21911 // PayerRequester is a Payer enum value
21912 PayerRequester = "Requester"
21913
21914 // PayerBucketOwner is a Payer enum value
21915 PayerBucketOwner = "BucketOwner"
21916 )
21917
21918 const (
21919 // PermissionFullControl is a Permission enum value
21920 PermissionFullControl = "FULL_CONTROL"
21921
21922 // PermissionWrite is a Permission enum value
21923 PermissionWrite = "WRITE"
21924
21925 // PermissionWriteAcp is a Permission enum value
21926 PermissionWriteAcp = "WRITE_ACP"
21927
21928 // PermissionRead is a Permission enum value
21929 PermissionRead = "READ"
21930
21931 // PermissionReadAcp is a Permission enum value
21932 PermissionReadAcp = "READ_ACP"
21933 )
21934
21935 const (
21936 // ProtocolHttp is a Protocol enum value
21937 ProtocolHttp = "http"
21938
21939 // ProtocolHttps is a Protocol enum value
21940 ProtocolHttps = "https"
21941 )
21942
21943 const (
21944 // QuoteFieldsAlways is a QuoteFields enum value
21945 QuoteFieldsAlways = "ALWAYS"
21946
21947 // QuoteFieldsAsneeded is a QuoteFields enum value
21948 QuoteFieldsAsneeded = "ASNEEDED"
21949 )
21950
21951 const (
21952 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
21953 ReplicationRuleStatusEnabled = "Enabled"
21954
21955 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value
21956 ReplicationRuleStatusDisabled = "Disabled"
21957 )
21958
21959 const (
21960 // ReplicationStatusComplete is a ReplicationStatus enum value
21961 ReplicationStatusComplete = "COMPLETE"
21962
21963 // ReplicationStatusPending is a ReplicationStatus enum value
21964 ReplicationStatusPending = "PENDING"
21965
21966 // ReplicationStatusFailed is a ReplicationStatus enum value
21967 ReplicationStatusFailed = "FAILED"
21968
21969 // ReplicationStatusReplica is a ReplicationStatus enum value
21970 ReplicationStatusReplica = "REPLICA"
21971 )
21972
21973 // If present, indicates that the requester was successfully charged for the
21974 // request.
21975 const (
21976 // RequestChargedRequester is a RequestCharged enum value
21977 RequestChargedRequester = "requester"
21978 )
21979
21980 // Confirms that the requester knows that she or he will be charged for the
21981 // request. Bucket owners need not specify this parameter in their requests.
21982 // Documentation on downloading objects from requester pays buckets can be found
21983 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
21984 const (
21985 // RequestPayerRequester is a RequestPayer enum value
21986 RequestPayerRequester = "requester"
21987 )
21988
21989 const (
21990 // RestoreRequestTypeSelect is a RestoreRequestType enum value
21991 RestoreRequestTypeSelect = "SELECT"
21992 )
21993
21994 const (
21995 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
21996 ServerSideEncryptionAes256 = "AES256"
21997
21998 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value
21999 ServerSideEncryptionAwsKms = "aws:kms"
22000 )
22001
22002 const (
22003 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
22004 SseKmsEncryptedObjectsStatusEnabled = "Enabled"
22005
22006 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
22007 SseKmsEncryptedObjectsStatusDisabled = "Disabled"
22008 )
22009
22010 const (
22011 // StorageClassStandard is a StorageClass enum value
22012 StorageClassStandard = "STANDARD"
22013
22014 // StorageClassReducedRedundancy is a StorageClass enum value
22015 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
22016
22017 // StorageClassStandardIa is a StorageClass enum value
22018 StorageClassStandardIa = "STANDARD_IA"
22019
22020 // StorageClassOnezoneIa is a StorageClass enum value
22021 StorageClassOnezoneIa = "ONEZONE_IA"
22022 )
22023
22024 const (
22025 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value
22026 StorageClassAnalysisSchemaVersionV1 = "V_1"
22027 )
22028
22029 const (
22030 // TaggingDirectiveCopy is a TaggingDirective enum value
22031 TaggingDirectiveCopy = "COPY"
22032
22033 // TaggingDirectiveReplace is a TaggingDirective enum value
22034 TaggingDirectiveReplace = "REPLACE"
22035 )
22036
22037 const (
22038 // TierStandard is a Tier enum value
22039 TierStandard = "Standard"
22040
22041 // TierBulk is a Tier enum value
22042 TierBulk = "Bulk"
22043
22044 // TierExpedited is a Tier enum value
22045 TierExpedited = "Expedited"
22046 )
22047
22048 const (
22049 // TransitionStorageClassGlacier is a TransitionStorageClass enum value
22050 TransitionStorageClassGlacier = "GLACIER"
22051
22052 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
22053 TransitionStorageClassStandardIa = "STANDARD_IA"
22054
22055 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
22056 TransitionStorageClassOnezoneIa = "ONEZONE_IA"
22057 )
22058
22059 const (
22060 // TypeCanonicalUser is a Type enum value
22061 TypeCanonicalUser = "CanonicalUser"
22062
22063 // TypeAmazonCustomerByEmail is a Type enum value
22064 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
22065
22066 // TypeGroup is a Type enum value
22067 TypeGroup = "Group"
22068 )