]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/aws/aws-sdk-go/service/s3/api.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / service / s3 / api.go
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 // successfully.
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 // successfully.
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 // successfully.
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 // successfully.
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 // successfully.
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 // successfully.
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.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
464 return
465 }
466
467 // DeleteBucket API operation for Amazon Simple Storage Service.
468 //
469 // Deletes the bucket. All objects (including all object versions and Delete
470 // Markers) in the bucket must be deleted before the bucket itself can be deleted.
471 //
472 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
473 // with awserr.Error's Code and Message methods to get detailed information about
474 // the error.
475 //
476 // See the AWS API reference guide for Amazon Simple Storage Service's
477 // API operation DeleteBucket for usage and error information.
478 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
479 func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
480 req, out := c.DeleteBucketRequest(input)
481 return out, req.Send()
482 }
483
484 // DeleteBucketWithContext is the same as DeleteBucket with the addition of
485 // the ability to pass a context and additional request options.
486 //
487 // See DeleteBucket for details on how to use this API operation.
488 //
489 // The context must be non-nil and will be used for request cancellation. If
490 // the context is nil a panic will occur. In the future the SDK may create
491 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
492 // for more information on using Contexts.
493 func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) {
494 req, out := c.DeleteBucketRequest(input)
495 req.SetContext(ctx)
496 req.ApplyOptions(opts...)
497 return out, req.Send()
498 }
499
500 const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration"
501
502 // DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
503 // client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return
504 // value will be populated with the request's response once the request completes
505 // successfully.
506 //
507 // Use "Send" method on the returned Request to send the API call to the service.
508 // the "output" return value is not valid until after Send returns without error.
509 //
510 // See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration
511 // API call, and error handling.
512 //
513 // This method is useful when you want to inject custom logic or configuration
514 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
515 //
516 //
517 // // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method.
518 // req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params)
519 //
520 // err := req.Send()
521 // if err == nil { // resp is now filled
522 // fmt.Println(resp)
523 // }
524 //
525 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
526 func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) {
527 op := &request.Operation{
528 Name: opDeleteBucketAnalyticsConfiguration,
529 HTTPMethod: "DELETE",
530 HTTPPath: "/{Bucket}?analytics",
531 }
532
533 if input == nil {
534 input = &DeleteBucketAnalyticsConfigurationInput{}
535 }
536
537 output = &DeleteBucketAnalyticsConfigurationOutput{}
538 req = c.newRequest(op, input, output)
539 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
540 return
541 }
542
543 // DeleteBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
544 //
545 // Deletes an analytics configuration for the bucket (specified by the analytics
546 // configuration ID).
547 //
548 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
549 // with awserr.Error's Code and Message methods to get detailed information about
550 // the error.
551 //
552 // See the AWS API reference guide for Amazon Simple Storage Service's
553 // API operation DeleteBucketAnalyticsConfiguration for usage and error information.
554 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
555 func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
556 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
557 return out, req.Send()
558 }
559
560 // DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
561 // the ability to pass a context and additional request options.
562 //
563 // See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
564 //
565 // The context must be non-nil and will be used for request cancellation. If
566 // the context is nil a panic will occur. In the future the SDK may create
567 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
568 // for more information on using Contexts.
569 func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) {
570 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
571 req.SetContext(ctx)
572 req.ApplyOptions(opts...)
573 return out, req.Send()
574 }
575
576 const opDeleteBucketCors = "DeleteBucketCors"
577
578 // DeleteBucketCorsRequest generates a "aws/request.Request" representing the
579 // client's request for the DeleteBucketCors operation. The "output" return
580 // value will be populated with the request's response once the request completes
581 // successfully.
582 //
583 // Use "Send" method on the returned Request to send the API call to the service.
584 // the "output" return value is not valid until after Send returns without error.
585 //
586 // See DeleteBucketCors for more information on using the DeleteBucketCors
587 // API call, and error handling.
588 //
589 // This method is useful when you want to inject custom logic or configuration
590 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
591 //
592 //
593 // // Example sending a request using the DeleteBucketCorsRequest method.
594 // req, resp := client.DeleteBucketCorsRequest(params)
595 //
596 // err := req.Send()
597 // if err == nil { // resp is now filled
598 // fmt.Println(resp)
599 // }
600 //
601 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
602 func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) {
603 op := &request.Operation{
604 Name: opDeleteBucketCors,
605 HTTPMethod: "DELETE",
606 HTTPPath: "/{Bucket}?cors",
607 }
608
609 if input == nil {
610 input = &DeleteBucketCorsInput{}
611 }
612
613 output = &DeleteBucketCorsOutput{}
614 req = c.newRequest(op, input, output)
615 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
616 return
617 }
618
619 // DeleteBucketCors API operation for Amazon Simple Storage Service.
620 //
621 // Deletes the CORS configuration information set for the bucket.
622 //
623 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
624 // with awserr.Error's Code and Message methods to get detailed information about
625 // the error.
626 //
627 // See the AWS API reference guide for Amazon Simple Storage Service's
628 // API operation DeleteBucketCors for usage and error information.
629 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
630 func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
631 req, out := c.DeleteBucketCorsRequest(input)
632 return out, req.Send()
633 }
634
635 // DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
636 // the ability to pass a context and additional request options.
637 //
638 // See DeleteBucketCors for details on how to use this API operation.
639 //
640 // The context must be non-nil and will be used for request cancellation. If
641 // the context is nil a panic will occur. In the future the SDK may create
642 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
643 // for more information on using Contexts.
644 func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) {
645 req, out := c.DeleteBucketCorsRequest(input)
646 req.SetContext(ctx)
647 req.ApplyOptions(opts...)
648 return out, req.Send()
649 }
650
651 const opDeleteBucketEncryption = "DeleteBucketEncryption"
652
653 // DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the
654 // client's request for the DeleteBucketEncryption operation. The "output" return
655 // value will be populated with the request's response once the request completes
656 // successfully.
657 //
658 // Use "Send" method on the returned Request to send the API call to the service.
659 // the "output" return value is not valid until after Send returns without error.
660 //
661 // See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
662 // API call, and error handling.
663 //
664 // This method is useful when you want to inject custom logic or configuration
665 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
666 //
667 //
668 // // Example sending a request using the DeleteBucketEncryptionRequest method.
669 // req, resp := client.DeleteBucketEncryptionRequest(params)
670 //
671 // err := req.Send()
672 // if err == nil { // resp is now filled
673 // fmt.Println(resp)
674 // }
675 //
676 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
677 func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) {
678 op := &request.Operation{
679 Name: opDeleteBucketEncryption,
680 HTTPMethod: "DELETE",
681 HTTPPath: "/{Bucket}?encryption",
682 }
683
684 if input == nil {
685 input = &DeleteBucketEncryptionInput{}
686 }
687
688 output = &DeleteBucketEncryptionOutput{}
689 req = c.newRequest(op, input, output)
690 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
691 return
692 }
693
694 // DeleteBucketEncryption API operation for Amazon Simple Storage Service.
695 //
696 // Deletes the server-side encryption configuration from the bucket.
697 //
698 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
699 // with awserr.Error's Code and Message methods to get detailed information about
700 // the error.
701 //
702 // See the AWS API reference guide for Amazon Simple Storage Service's
703 // API operation DeleteBucketEncryption for usage and error information.
704 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
705 func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) {
706 req, out := c.DeleteBucketEncryptionRequest(input)
707 return out, req.Send()
708 }
709
710 // DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
711 // the ability to pass a context and additional request options.
712 //
713 // See DeleteBucketEncryption for details on how to use this API operation.
714 //
715 // The context must be non-nil and will be used for request cancellation. If
716 // the context is nil a panic will occur. In the future the SDK may create
717 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
718 // for more information on using Contexts.
719 func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) {
720 req, out := c.DeleteBucketEncryptionRequest(input)
721 req.SetContext(ctx)
722 req.ApplyOptions(opts...)
723 return out, req.Send()
724 }
725
726 const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
727
728 // DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
729 // client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
730 // value will be populated with the request's response once the request completes
731 // successfully.
732 //
733 // Use "Send" method on the returned Request to send the API call to the service.
734 // the "output" return value is not valid until after Send returns without error.
735 //
736 // See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
737 // API call, and error handling.
738 //
739 // This method is useful when you want to inject custom logic or configuration
740 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
741 //
742 //
743 // // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
744 // req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
745 //
746 // err := req.Send()
747 // if err == nil { // resp is now filled
748 // fmt.Println(resp)
749 // }
750 //
751 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
752 func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) {
753 op := &request.Operation{
754 Name: opDeleteBucketInventoryConfiguration,
755 HTTPMethod: "DELETE",
756 HTTPPath: "/{Bucket}?inventory",
757 }
758
759 if input == nil {
760 input = &DeleteBucketInventoryConfigurationInput{}
761 }
762
763 output = &DeleteBucketInventoryConfigurationOutput{}
764 req = c.newRequest(op, input, output)
765 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
766 return
767 }
768
769 // DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
770 //
771 // Deletes an inventory configuration (identified by the inventory ID) from
772 // the bucket.
773 //
774 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
775 // with awserr.Error's Code and Message methods to get detailed information about
776 // the error.
777 //
778 // See the AWS API reference guide for Amazon Simple Storage Service's
779 // API operation DeleteBucketInventoryConfiguration for usage and error information.
780 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
781 func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
782 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
783 return out, req.Send()
784 }
785
786 // DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
787 // the ability to pass a context and additional request options.
788 //
789 // See DeleteBucketInventoryConfiguration for details on how to use this API operation.
790 //
791 // The context must be non-nil and will be used for request cancellation. If
792 // the context is nil a panic will occur. In the future the SDK may create
793 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
794 // for more information on using Contexts.
795 func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) {
796 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
797 req.SetContext(ctx)
798 req.ApplyOptions(opts...)
799 return out, req.Send()
800 }
801
802 const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
803
804 // DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
805 // client's request for the DeleteBucketLifecycle operation. The "output" return
806 // value will be populated with the request's response once the request completes
807 // successfully.
808 //
809 // Use "Send" method on the returned Request to send the API call to the service.
810 // the "output" return value is not valid until after Send returns without error.
811 //
812 // See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
813 // API call, and error handling.
814 //
815 // This method is useful when you want to inject custom logic or configuration
816 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
817 //
818 //
819 // // Example sending a request using the DeleteBucketLifecycleRequest method.
820 // req, resp := client.DeleteBucketLifecycleRequest(params)
821 //
822 // err := req.Send()
823 // if err == nil { // resp is now filled
824 // fmt.Println(resp)
825 // }
826 //
827 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
828 func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) {
829 op := &request.Operation{
830 Name: opDeleteBucketLifecycle,
831 HTTPMethod: "DELETE",
832 HTTPPath: "/{Bucket}?lifecycle",
833 }
834
835 if input == nil {
836 input = &DeleteBucketLifecycleInput{}
837 }
838
839 output = &DeleteBucketLifecycleOutput{}
840 req = c.newRequest(op, input, output)
841 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
842 return
843 }
844
845 // DeleteBucketLifecycle API operation for Amazon Simple Storage Service.
846 //
847 // Deletes the lifecycle configuration from the bucket.
848 //
849 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
850 // with awserr.Error's Code and Message methods to get detailed information about
851 // the error.
852 //
853 // See the AWS API reference guide for Amazon Simple Storage Service's
854 // API operation DeleteBucketLifecycle for usage and error information.
855 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
856 func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
857 req, out := c.DeleteBucketLifecycleRequest(input)
858 return out, req.Send()
859 }
860
861 // DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
862 // the ability to pass a context and additional request options.
863 //
864 // See DeleteBucketLifecycle for details on how to use this API operation.
865 //
866 // The context must be non-nil and will be used for request cancellation. If
867 // the context is nil a panic will occur. In the future the SDK may create
868 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
869 // for more information on using Contexts.
870 func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) {
871 req, out := c.DeleteBucketLifecycleRequest(input)
872 req.SetContext(ctx)
873 req.ApplyOptions(opts...)
874 return out, req.Send()
875 }
876
877 const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
878
879 // DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
880 // client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
881 // value will be populated with the request's response once the request completes
882 // successfully.
883 //
884 // Use "Send" method on the returned Request to send the API call to the service.
885 // the "output" return value is not valid until after Send returns without error.
886 //
887 // See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
888 // API call, and error handling.
889 //
890 // This method is useful when you want to inject custom logic or configuration
891 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
892 //
893 //
894 // // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
895 // req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
896 //
897 // err := req.Send()
898 // if err == nil { // resp is now filled
899 // fmt.Println(resp)
900 // }
901 //
902 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
903 func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) {
904 op := &request.Operation{
905 Name: opDeleteBucketMetricsConfiguration,
906 HTTPMethod: "DELETE",
907 HTTPPath: "/{Bucket}?metrics",
908 }
909
910 if input == nil {
911 input = &DeleteBucketMetricsConfigurationInput{}
912 }
913
914 output = &DeleteBucketMetricsConfigurationOutput{}
915 req = c.newRequest(op, input, output)
916 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
917 return
918 }
919
920 // DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
921 //
922 // Deletes a metrics configuration (specified by the metrics configuration ID)
923 // from the bucket.
924 //
925 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
926 // with awserr.Error's Code and Message methods to get detailed information about
927 // the error.
928 //
929 // See the AWS API reference guide for Amazon Simple Storage Service's
930 // API operation DeleteBucketMetricsConfiguration for usage and error information.
931 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
932 func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
933 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
934 return out, req.Send()
935 }
936
937 // DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
938 // the ability to pass a context and additional request options.
939 //
940 // See DeleteBucketMetricsConfiguration for details on how to use this API operation.
941 //
942 // The context must be non-nil and will be used for request cancellation. If
943 // the context is nil a panic will occur. In the future the SDK may create
944 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
945 // for more information on using Contexts.
946 func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) {
947 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
948 req.SetContext(ctx)
949 req.ApplyOptions(opts...)
950 return out, req.Send()
951 }
952
953 const opDeleteBucketPolicy = "DeleteBucketPolicy"
954
955 // DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
956 // client's request for the DeleteBucketPolicy operation. The "output" return
957 // value will be populated with the request's response once the request completes
958 // successfully.
959 //
960 // Use "Send" method on the returned Request to send the API call to the service.
961 // the "output" return value is not valid until after Send returns without error.
962 //
963 // See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
964 // API call, and error handling.
965 //
966 // This method is useful when you want to inject custom logic or configuration
967 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
968 //
969 //
970 // // Example sending a request using the DeleteBucketPolicyRequest method.
971 // req, resp := client.DeleteBucketPolicyRequest(params)
972 //
973 // err := req.Send()
974 // if err == nil { // resp is now filled
975 // fmt.Println(resp)
976 // }
977 //
978 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
979 func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) {
980 op := &request.Operation{
981 Name: opDeleteBucketPolicy,
982 HTTPMethod: "DELETE",
983 HTTPPath: "/{Bucket}?policy",
984 }
985
986 if input == nil {
987 input = &DeleteBucketPolicyInput{}
988 }
989
990 output = &DeleteBucketPolicyOutput{}
991 req = c.newRequest(op, input, output)
992 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
993 return
994 }
995
996 // DeleteBucketPolicy API operation for Amazon Simple Storage Service.
997 //
998 // Deletes the policy from the bucket.
999 //
1000 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1001 // with awserr.Error's Code and Message methods to get detailed information about
1002 // the error.
1003 //
1004 // See the AWS API reference guide for Amazon Simple Storage Service's
1005 // API operation DeleteBucketPolicy for usage and error information.
1006 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
1007 func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
1008 req, out := c.DeleteBucketPolicyRequest(input)
1009 return out, req.Send()
1010 }
1011
1012 // DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
1013 // the ability to pass a context and additional request options.
1014 //
1015 // See DeleteBucketPolicy for details on how to use this API operation.
1016 //
1017 // The context must be non-nil and will be used for request cancellation. If
1018 // the context is nil a panic will occur. In the future the SDK may create
1019 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1020 // for more information on using Contexts.
1021 func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) {
1022 req, out := c.DeleteBucketPolicyRequest(input)
1023 req.SetContext(ctx)
1024 req.ApplyOptions(opts...)
1025 return out, req.Send()
1026 }
1027
1028 const opDeleteBucketReplication = "DeleteBucketReplication"
1029
1030 // DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
1031 // client's request for the DeleteBucketReplication operation. The "output" return
1032 // value will be populated with the request's response once the request completes
1033 // successfully.
1034 //
1035 // Use "Send" method on the returned Request to send the API call to the service.
1036 // the "output" return value is not valid until after Send returns without error.
1037 //
1038 // See DeleteBucketReplication for more information on using the DeleteBucketReplication
1039 // API call, and error handling.
1040 //
1041 // This method is useful when you want to inject custom logic or configuration
1042 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1043 //
1044 //
1045 // // Example sending a request using the DeleteBucketReplicationRequest method.
1046 // req, resp := client.DeleteBucketReplicationRequest(params)
1047 //
1048 // err := req.Send()
1049 // if err == nil { // resp is now filled
1050 // fmt.Println(resp)
1051 // }
1052 //
1053 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
1054 func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) {
1055 op := &request.Operation{
1056 Name: opDeleteBucketReplication,
1057 HTTPMethod: "DELETE",
1058 HTTPPath: "/{Bucket}?replication",
1059 }
1060
1061 if input == nil {
1062 input = &DeleteBucketReplicationInput{}
1063 }
1064
1065 output = &DeleteBucketReplicationOutput{}
1066 req = c.newRequest(op, input, output)
1067 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1068 return
1069 }
1070
1071 // DeleteBucketReplication API operation for Amazon Simple Storage Service.
1072 //
1073 // Deletes the replication configuration from the bucket. For information about
1074 // replication configuration, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
1075 // in the Amazon S3 Developer Guide.
1076 //
1077 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1078 // with awserr.Error's Code and Message methods to get detailed information about
1079 // the error.
1080 //
1081 // See the AWS API reference guide for Amazon Simple Storage Service's
1082 // API operation DeleteBucketReplication for usage and error information.
1083 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
1084 func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
1085 req, out := c.DeleteBucketReplicationRequest(input)
1086 return out, req.Send()
1087 }
1088
1089 // DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
1090 // the ability to pass a context and additional request options.
1091 //
1092 // See DeleteBucketReplication for details on how to use this API operation.
1093 //
1094 // The context must be non-nil and will be used for request cancellation. If
1095 // the context is nil a panic will occur. In the future the SDK may create
1096 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1097 // for more information on using Contexts.
1098 func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) {
1099 req, out := c.DeleteBucketReplicationRequest(input)
1100 req.SetContext(ctx)
1101 req.ApplyOptions(opts...)
1102 return out, req.Send()
1103 }
1104
1105 const opDeleteBucketTagging = "DeleteBucketTagging"
1106
1107 // DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
1108 // client's request for the DeleteBucketTagging operation. The "output" return
1109 // value will be populated with the request's response once the request completes
1110 // successfully.
1111 //
1112 // Use "Send" method on the returned Request to send the API call to the service.
1113 // the "output" return value is not valid until after Send returns without error.
1114 //
1115 // See DeleteBucketTagging for more information on using the DeleteBucketTagging
1116 // API call, and error handling.
1117 //
1118 // This method is useful when you want to inject custom logic or configuration
1119 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1120 //
1121 //
1122 // // Example sending a request using the DeleteBucketTaggingRequest method.
1123 // req, resp := client.DeleteBucketTaggingRequest(params)
1124 //
1125 // err := req.Send()
1126 // if err == nil { // resp is now filled
1127 // fmt.Println(resp)
1128 // }
1129 //
1130 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1131 func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) {
1132 op := &request.Operation{
1133 Name: opDeleteBucketTagging,
1134 HTTPMethod: "DELETE",
1135 HTTPPath: "/{Bucket}?tagging",
1136 }
1137
1138 if input == nil {
1139 input = &DeleteBucketTaggingInput{}
1140 }
1141
1142 output = &DeleteBucketTaggingOutput{}
1143 req = c.newRequest(op, input, output)
1144 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1145 return
1146 }
1147
1148 // DeleteBucketTagging API operation for Amazon Simple Storage Service.
1149 //
1150 // Deletes the tags from the bucket.
1151 //
1152 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1153 // with awserr.Error's Code and Message methods to get detailed information about
1154 // the error.
1155 //
1156 // See the AWS API reference guide for Amazon Simple Storage Service's
1157 // API operation DeleteBucketTagging for usage and error information.
1158 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1159 func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
1160 req, out := c.DeleteBucketTaggingRequest(input)
1161 return out, req.Send()
1162 }
1163
1164 // DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
1165 // the ability to pass a context and additional request options.
1166 //
1167 // See DeleteBucketTagging for details on how to use this API operation.
1168 //
1169 // The context must be non-nil and will be used for request cancellation. If
1170 // the context is nil a panic will occur. In the future the SDK may create
1171 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1172 // for more information on using Contexts.
1173 func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) {
1174 req, out := c.DeleteBucketTaggingRequest(input)
1175 req.SetContext(ctx)
1176 req.ApplyOptions(opts...)
1177 return out, req.Send()
1178 }
1179
1180 const opDeleteBucketWebsite = "DeleteBucketWebsite"
1181
1182 // DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
1183 // client's request for the DeleteBucketWebsite operation. The "output" return
1184 // value will be populated with the request's response once the request completes
1185 // successfully.
1186 //
1187 // Use "Send" method on the returned Request to send the API call to the service.
1188 // the "output" return value is not valid until after Send returns without error.
1189 //
1190 // See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
1191 // API call, and error handling.
1192 //
1193 // This method is useful when you want to inject custom logic or configuration
1194 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1195 //
1196 //
1197 // // Example sending a request using the DeleteBucketWebsiteRequest method.
1198 // req, resp := client.DeleteBucketWebsiteRequest(params)
1199 //
1200 // err := req.Send()
1201 // if err == nil { // resp is now filled
1202 // fmt.Println(resp)
1203 // }
1204 //
1205 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1206 func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) {
1207 op := &request.Operation{
1208 Name: opDeleteBucketWebsite,
1209 HTTPMethod: "DELETE",
1210 HTTPPath: "/{Bucket}?website",
1211 }
1212
1213 if input == nil {
1214 input = &DeleteBucketWebsiteInput{}
1215 }
1216
1217 output = &DeleteBucketWebsiteOutput{}
1218 req = c.newRequest(op, input, output)
1219 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1220 return
1221 }
1222
1223 // DeleteBucketWebsite API operation for Amazon Simple Storage Service.
1224 //
1225 // This operation removes the website configuration from the bucket.
1226 //
1227 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1228 // with awserr.Error's Code and Message methods to get detailed information about
1229 // the error.
1230 //
1231 // See the AWS API reference guide for Amazon Simple Storage Service's
1232 // API operation DeleteBucketWebsite for usage and error information.
1233 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1234 func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
1235 req, out := c.DeleteBucketWebsiteRequest(input)
1236 return out, req.Send()
1237 }
1238
1239 // DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
1240 // the ability to pass a context and additional request options.
1241 //
1242 // See DeleteBucketWebsite for details on how to use this API operation.
1243 //
1244 // The context must be non-nil and will be used for request cancellation. If
1245 // the context is nil a panic will occur. In the future the SDK may create
1246 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1247 // for more information on using Contexts.
1248 func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) {
1249 req, out := c.DeleteBucketWebsiteRequest(input)
1250 req.SetContext(ctx)
1251 req.ApplyOptions(opts...)
1252 return out, req.Send()
1253 }
1254
1255 const opDeleteObject = "DeleteObject"
1256
1257 // DeleteObjectRequest generates a "aws/request.Request" representing the
1258 // client's request for the DeleteObject operation. The "output" return
1259 // value will be populated with the request's response once the request completes
1260 // successfully.
1261 //
1262 // Use "Send" method on the returned Request to send the API call to the service.
1263 // the "output" return value is not valid until after Send returns without error.
1264 //
1265 // See DeleteObject for more information on using the DeleteObject
1266 // API call, and error handling.
1267 //
1268 // This method is useful when you want to inject custom logic or configuration
1269 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1270 //
1271 //
1272 // // Example sending a request using the DeleteObjectRequest method.
1273 // req, resp := client.DeleteObjectRequest(params)
1274 //
1275 // err := req.Send()
1276 // if err == nil { // resp is now filled
1277 // fmt.Println(resp)
1278 // }
1279 //
1280 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1281 func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) {
1282 op := &request.Operation{
1283 Name: opDeleteObject,
1284 HTTPMethod: "DELETE",
1285 HTTPPath: "/{Bucket}/{Key+}",
1286 }
1287
1288 if input == nil {
1289 input = &DeleteObjectInput{}
1290 }
1291
1292 output = &DeleteObjectOutput{}
1293 req = c.newRequest(op, input, output)
1294 return
1295 }
1296
1297 // DeleteObject API operation for Amazon Simple Storage Service.
1298 //
1299 // Removes the null version (if there is one) of an object and inserts a delete
1300 // marker, which becomes the latest version of the object. If there isn't a
1301 // null version, Amazon S3 does not remove any objects.
1302 //
1303 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1304 // with awserr.Error's Code and Message methods to get detailed information about
1305 // the error.
1306 //
1307 // See the AWS API reference guide for Amazon Simple Storage Service's
1308 // API operation DeleteObject for usage and error information.
1309 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1310 func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) {
1311 req, out := c.DeleteObjectRequest(input)
1312 return out, req.Send()
1313 }
1314
1315 // DeleteObjectWithContext is the same as DeleteObject with the addition of
1316 // the ability to pass a context and additional request options.
1317 //
1318 // See DeleteObject for details on how to use this API operation.
1319 //
1320 // The context must be non-nil and will be used for request cancellation. If
1321 // the context is nil a panic will occur. In the future the SDK may create
1322 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1323 // for more information on using Contexts.
1324 func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) {
1325 req, out := c.DeleteObjectRequest(input)
1326 req.SetContext(ctx)
1327 req.ApplyOptions(opts...)
1328 return out, req.Send()
1329 }
1330
1331 const opDeleteObjectTagging = "DeleteObjectTagging"
1332
1333 // DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
1334 // client's request for the DeleteObjectTagging operation. The "output" return
1335 // value will be populated with the request's response once the request completes
1336 // successfully.
1337 //
1338 // Use "Send" method on the returned Request to send the API call to the service.
1339 // the "output" return value is not valid until after Send returns without error.
1340 //
1341 // See DeleteObjectTagging for more information on using the DeleteObjectTagging
1342 // API call, and error handling.
1343 //
1344 // This method is useful when you want to inject custom logic or configuration
1345 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1346 //
1347 //
1348 // // Example sending a request using the DeleteObjectTaggingRequest method.
1349 // req, resp := client.DeleteObjectTaggingRequest(params)
1350 //
1351 // err := req.Send()
1352 // if err == nil { // resp is now filled
1353 // fmt.Println(resp)
1354 // }
1355 //
1356 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1357 func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) {
1358 op := &request.Operation{
1359 Name: opDeleteObjectTagging,
1360 HTTPMethod: "DELETE",
1361 HTTPPath: "/{Bucket}/{Key+}?tagging",
1362 }
1363
1364 if input == nil {
1365 input = &DeleteObjectTaggingInput{}
1366 }
1367
1368 output = &DeleteObjectTaggingOutput{}
1369 req = c.newRequest(op, input, output)
1370 return
1371 }
1372
1373 // DeleteObjectTagging API operation for Amazon Simple Storage Service.
1374 //
1375 // Removes the tag-set from an existing object.
1376 //
1377 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1378 // with awserr.Error's Code and Message methods to get detailed information about
1379 // the error.
1380 //
1381 // See the AWS API reference guide for Amazon Simple Storage Service's
1382 // API operation DeleteObjectTagging for usage and error information.
1383 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1384 func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
1385 req, out := c.DeleteObjectTaggingRequest(input)
1386 return out, req.Send()
1387 }
1388
1389 // DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
1390 // the ability to pass a context and additional request options.
1391 //
1392 // See DeleteObjectTagging for details on how to use this API operation.
1393 //
1394 // The context must be non-nil and will be used for request cancellation. If
1395 // the context is nil a panic will occur. In the future the SDK may create
1396 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1397 // for more information on using Contexts.
1398 func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) {
1399 req, out := c.DeleteObjectTaggingRequest(input)
1400 req.SetContext(ctx)
1401 req.ApplyOptions(opts...)
1402 return out, req.Send()
1403 }
1404
1405 const opDeleteObjects = "DeleteObjects"
1406
1407 // DeleteObjectsRequest generates a "aws/request.Request" representing the
1408 // client's request for the DeleteObjects operation. The "output" return
1409 // value will be populated with the request's response once the request completes
1410 // successfully.
1411 //
1412 // Use "Send" method on the returned Request to send the API call to the service.
1413 // the "output" return value is not valid until after Send returns without error.
1414 //
1415 // See DeleteObjects for more information on using the DeleteObjects
1416 // API call, and error handling.
1417 //
1418 // This method is useful when you want to inject custom logic or configuration
1419 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1420 //
1421 //
1422 // // Example sending a request using the DeleteObjectsRequest method.
1423 // req, resp := client.DeleteObjectsRequest(params)
1424 //
1425 // err := req.Send()
1426 // if err == nil { // resp is now filled
1427 // fmt.Println(resp)
1428 // }
1429 //
1430 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1431 func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) {
1432 op := &request.Operation{
1433 Name: opDeleteObjects,
1434 HTTPMethod: "POST",
1435 HTTPPath: "/{Bucket}?delete",
1436 }
1437
1438 if input == nil {
1439 input = &DeleteObjectsInput{}
1440 }
1441
1442 output = &DeleteObjectsOutput{}
1443 req = c.newRequest(op, input, output)
1444 return
1445 }
1446
1447 // DeleteObjects API operation for Amazon Simple Storage Service.
1448 //
1449 // This operation enables you to delete multiple objects from a bucket using
1450 // a single HTTP request. You may specify up to 1000 keys.
1451 //
1452 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1453 // with awserr.Error's Code and Message methods to get detailed information about
1454 // the error.
1455 //
1456 // See the AWS API reference guide for Amazon Simple Storage Service's
1457 // API operation DeleteObjects for usage and error information.
1458 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1459 func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
1460 req, out := c.DeleteObjectsRequest(input)
1461 return out, req.Send()
1462 }
1463
1464 // DeleteObjectsWithContext is the same as DeleteObjects with the addition of
1465 // the ability to pass a context and additional request options.
1466 //
1467 // See DeleteObjects for details on how to use this API operation.
1468 //
1469 // The context must be non-nil and will be used for request cancellation. If
1470 // the context is nil a panic will occur. In the future the SDK may create
1471 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1472 // for more information on using Contexts.
1473 func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) {
1474 req, out := c.DeleteObjectsRequest(input)
1475 req.SetContext(ctx)
1476 req.ApplyOptions(opts...)
1477 return out, req.Send()
1478 }
1479
1480 const opDeletePublicAccessBlock = "DeletePublicAccessBlock"
1481
1482 // DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the
1483 // client's request for the DeletePublicAccessBlock operation. The "output" return
1484 // value will be populated with the request's response once the request completes
1485 // successfully.
1486 //
1487 // Use "Send" method on the returned Request to send the API call to the service.
1488 // the "output" return value is not valid until after Send returns without error.
1489 //
1490 // See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock
1491 // API call, and error handling.
1492 //
1493 // This method is useful when you want to inject custom logic or configuration
1494 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1495 //
1496 //
1497 // // Example sending a request using the DeletePublicAccessBlockRequest method.
1498 // req, resp := client.DeletePublicAccessBlockRequest(params)
1499 //
1500 // err := req.Send()
1501 // if err == nil { // resp is now filled
1502 // fmt.Println(resp)
1503 // }
1504 //
1505 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1506 func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) {
1507 op := &request.Operation{
1508 Name: opDeletePublicAccessBlock,
1509 HTTPMethod: "DELETE",
1510 HTTPPath: "/{Bucket}?publicAccessBlock",
1511 }
1512
1513 if input == nil {
1514 input = &DeletePublicAccessBlockInput{}
1515 }
1516
1517 output = &DeletePublicAccessBlockOutput{}
1518 req = c.newRequest(op, input, output)
1519 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1520 return
1521 }
1522
1523 // DeletePublicAccessBlock API operation for Amazon Simple Storage Service.
1524 //
1525 // Removes the PublicAccessBlock configuration from an Amazon S3 bucket.
1526 //
1527 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1528 // with awserr.Error's Code and Message methods to get detailed information about
1529 // the error.
1530 //
1531 // See the AWS API reference guide for Amazon Simple Storage Service's
1532 // API operation DeletePublicAccessBlock for usage and error information.
1533 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1534 func (c *S3) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) {
1535 req, out := c.DeletePublicAccessBlockRequest(input)
1536 return out, req.Send()
1537 }
1538
1539 // DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of
1540 // the ability to pass a context and additional request options.
1541 //
1542 // See DeletePublicAccessBlock for details on how to use this API operation.
1543 //
1544 // The context must be non-nil and will be used for request cancellation. If
1545 // the context is nil a panic will occur. In the future the SDK may create
1546 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1547 // for more information on using Contexts.
1548 func (c *S3) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) {
1549 req, out := c.DeletePublicAccessBlockRequest(input)
1550 req.SetContext(ctx)
1551 req.ApplyOptions(opts...)
1552 return out, req.Send()
1553 }
1554
1555 const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
1556
1557 // GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
1558 // client's request for the GetBucketAccelerateConfiguration operation. The "output" return
1559 // value will be populated with the request's response once the request completes
1560 // successfully.
1561 //
1562 // Use "Send" method on the returned Request to send the API call to the service.
1563 // the "output" return value is not valid until after Send returns without error.
1564 //
1565 // See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
1566 // API call, and error handling.
1567 //
1568 // This method is useful when you want to inject custom logic or configuration
1569 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1570 //
1571 //
1572 // // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
1573 // req, resp := client.GetBucketAccelerateConfigurationRequest(params)
1574 //
1575 // err := req.Send()
1576 // if err == nil { // resp is now filled
1577 // fmt.Println(resp)
1578 // }
1579 //
1580 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1581 func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) {
1582 op := &request.Operation{
1583 Name: opGetBucketAccelerateConfiguration,
1584 HTTPMethod: "GET",
1585 HTTPPath: "/{Bucket}?accelerate",
1586 }
1587
1588 if input == nil {
1589 input = &GetBucketAccelerateConfigurationInput{}
1590 }
1591
1592 output = &GetBucketAccelerateConfigurationOutput{}
1593 req = c.newRequest(op, input, output)
1594 return
1595 }
1596
1597 // GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
1598 //
1599 // Returns the accelerate configuration of a bucket.
1600 //
1601 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1602 // with awserr.Error's Code and Message methods to get detailed information about
1603 // the error.
1604 //
1605 // See the AWS API reference guide for Amazon Simple Storage Service's
1606 // API operation GetBucketAccelerateConfiguration for usage and error information.
1607 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1608 func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
1609 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1610 return out, req.Send()
1611 }
1612
1613 // GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
1614 // the ability to pass a context and additional request options.
1615 //
1616 // See GetBucketAccelerateConfiguration for details on how to use this API operation.
1617 //
1618 // The context must be non-nil and will be used for request cancellation. If
1619 // the context is nil a panic will occur. In the future the SDK may create
1620 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1621 // for more information on using Contexts.
1622 func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) {
1623 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1624 req.SetContext(ctx)
1625 req.ApplyOptions(opts...)
1626 return out, req.Send()
1627 }
1628
1629 const opGetBucketAcl = "GetBucketAcl"
1630
1631 // GetBucketAclRequest generates a "aws/request.Request" representing the
1632 // client's request for the GetBucketAcl operation. The "output" return
1633 // value will be populated with the request's response once the request completes
1634 // successfully.
1635 //
1636 // Use "Send" method on the returned Request to send the API call to the service.
1637 // the "output" return value is not valid until after Send returns without error.
1638 //
1639 // See GetBucketAcl for more information on using the GetBucketAcl
1640 // API call, and error handling.
1641 //
1642 // This method is useful when you want to inject custom logic or configuration
1643 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1644 //
1645 //
1646 // // Example sending a request using the GetBucketAclRequest method.
1647 // req, resp := client.GetBucketAclRequest(params)
1648 //
1649 // err := req.Send()
1650 // if err == nil { // resp is now filled
1651 // fmt.Println(resp)
1652 // }
1653 //
1654 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1655 func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) {
1656 op := &request.Operation{
1657 Name: opGetBucketAcl,
1658 HTTPMethod: "GET",
1659 HTTPPath: "/{Bucket}?acl",
1660 }
1661
1662 if input == nil {
1663 input = &GetBucketAclInput{}
1664 }
1665
1666 output = &GetBucketAclOutput{}
1667 req = c.newRequest(op, input, output)
1668 return
1669 }
1670
1671 // GetBucketAcl API operation for Amazon Simple Storage Service.
1672 //
1673 // Gets the access control policy for the bucket.
1674 //
1675 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1676 // with awserr.Error's Code and Message methods to get detailed information about
1677 // the error.
1678 //
1679 // See the AWS API reference guide for Amazon Simple Storage Service's
1680 // API operation GetBucketAcl for usage and error information.
1681 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1682 func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
1683 req, out := c.GetBucketAclRequest(input)
1684 return out, req.Send()
1685 }
1686
1687 // GetBucketAclWithContext is the same as GetBucketAcl with the addition of
1688 // the ability to pass a context and additional request options.
1689 //
1690 // See GetBucketAcl for details on how to use this API operation.
1691 //
1692 // The context must be non-nil and will be used for request cancellation. If
1693 // the context is nil a panic will occur. In the future the SDK may create
1694 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1695 // for more information on using Contexts.
1696 func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) {
1697 req, out := c.GetBucketAclRequest(input)
1698 req.SetContext(ctx)
1699 req.ApplyOptions(opts...)
1700 return out, req.Send()
1701 }
1702
1703 const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
1704
1705 // GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
1706 // client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
1707 // value will be populated with the request's response once the request completes
1708 // successfully.
1709 //
1710 // Use "Send" method on the returned Request to send the API call to the service.
1711 // the "output" return value is not valid until after Send returns without error.
1712 //
1713 // See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
1714 // API call, and error handling.
1715 //
1716 // This method is useful when you want to inject custom logic or configuration
1717 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1718 //
1719 //
1720 // // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
1721 // req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
1722 //
1723 // err := req.Send()
1724 // if err == nil { // resp is now filled
1725 // fmt.Println(resp)
1726 // }
1727 //
1728 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1729 func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) {
1730 op := &request.Operation{
1731 Name: opGetBucketAnalyticsConfiguration,
1732 HTTPMethod: "GET",
1733 HTTPPath: "/{Bucket}?analytics",
1734 }
1735
1736 if input == nil {
1737 input = &GetBucketAnalyticsConfigurationInput{}
1738 }
1739
1740 output = &GetBucketAnalyticsConfigurationOutput{}
1741 req = c.newRequest(op, input, output)
1742 return
1743 }
1744
1745 // GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
1746 //
1747 // Gets an analytics configuration for the bucket (specified by the analytics
1748 // configuration ID).
1749 //
1750 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1751 // with awserr.Error's Code and Message methods to get detailed information about
1752 // the error.
1753 //
1754 // See the AWS API reference guide for Amazon Simple Storage Service's
1755 // API operation GetBucketAnalyticsConfiguration for usage and error information.
1756 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1757 func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
1758 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1759 return out, req.Send()
1760 }
1761
1762 // GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
1763 // the ability to pass a context and additional request options.
1764 //
1765 // See GetBucketAnalyticsConfiguration for details on how to use this API operation.
1766 //
1767 // The context must be non-nil and will be used for request cancellation. If
1768 // the context is nil a panic will occur. In the future the SDK may create
1769 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1770 // for more information on using Contexts.
1771 func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) {
1772 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1773 req.SetContext(ctx)
1774 req.ApplyOptions(opts...)
1775 return out, req.Send()
1776 }
1777
1778 const opGetBucketCors = "GetBucketCors"
1779
1780 // GetBucketCorsRequest generates a "aws/request.Request" representing the
1781 // client's request for the GetBucketCors operation. The "output" return
1782 // value will be populated with the request's response once the request completes
1783 // successfully.
1784 //
1785 // Use "Send" method on the returned Request to send the API call to the service.
1786 // the "output" return value is not valid until after Send returns without error.
1787 //
1788 // See GetBucketCors for more information on using the GetBucketCors
1789 // API call, and error handling.
1790 //
1791 // This method is useful when you want to inject custom logic or configuration
1792 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1793 //
1794 //
1795 // // Example sending a request using the GetBucketCorsRequest method.
1796 // req, resp := client.GetBucketCorsRequest(params)
1797 //
1798 // err := req.Send()
1799 // if err == nil { // resp is now filled
1800 // fmt.Println(resp)
1801 // }
1802 //
1803 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1804 func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) {
1805 op := &request.Operation{
1806 Name: opGetBucketCors,
1807 HTTPMethod: "GET",
1808 HTTPPath: "/{Bucket}?cors",
1809 }
1810
1811 if input == nil {
1812 input = &GetBucketCorsInput{}
1813 }
1814
1815 output = &GetBucketCorsOutput{}
1816 req = c.newRequest(op, input, output)
1817 return
1818 }
1819
1820 // GetBucketCors API operation for Amazon Simple Storage Service.
1821 //
1822 // Returns the CORS configuration for the bucket.
1823 //
1824 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1825 // with awserr.Error's Code and Message methods to get detailed information about
1826 // the error.
1827 //
1828 // See the AWS API reference guide for Amazon Simple Storage Service's
1829 // API operation GetBucketCors for usage and error information.
1830 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1831 func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
1832 req, out := c.GetBucketCorsRequest(input)
1833 return out, req.Send()
1834 }
1835
1836 // GetBucketCorsWithContext is the same as GetBucketCors with the addition of
1837 // the ability to pass a context and additional request options.
1838 //
1839 // See GetBucketCors for details on how to use this API operation.
1840 //
1841 // The context must be non-nil and will be used for request cancellation. If
1842 // the context is nil a panic will occur. In the future the SDK may create
1843 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1844 // for more information on using Contexts.
1845 func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) {
1846 req, out := c.GetBucketCorsRequest(input)
1847 req.SetContext(ctx)
1848 req.ApplyOptions(opts...)
1849 return out, req.Send()
1850 }
1851
1852 const opGetBucketEncryption = "GetBucketEncryption"
1853
1854 // GetBucketEncryptionRequest generates a "aws/request.Request" representing the
1855 // client's request for the GetBucketEncryption operation. The "output" return
1856 // value will be populated with the request's response once the request completes
1857 // successfully.
1858 //
1859 // Use "Send" method on the returned Request to send the API call to the service.
1860 // the "output" return value is not valid until after Send returns without error.
1861 //
1862 // See GetBucketEncryption for more information on using the GetBucketEncryption
1863 // API call, and error handling.
1864 //
1865 // This method is useful when you want to inject custom logic or configuration
1866 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1867 //
1868 //
1869 // // Example sending a request using the GetBucketEncryptionRequest method.
1870 // req, resp := client.GetBucketEncryptionRequest(params)
1871 //
1872 // err := req.Send()
1873 // if err == nil { // resp is now filled
1874 // fmt.Println(resp)
1875 // }
1876 //
1877 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1878 func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) {
1879 op := &request.Operation{
1880 Name: opGetBucketEncryption,
1881 HTTPMethod: "GET",
1882 HTTPPath: "/{Bucket}?encryption",
1883 }
1884
1885 if input == nil {
1886 input = &GetBucketEncryptionInput{}
1887 }
1888
1889 output = &GetBucketEncryptionOutput{}
1890 req = c.newRequest(op, input, output)
1891 return
1892 }
1893
1894 // GetBucketEncryption API operation for Amazon Simple Storage Service.
1895 //
1896 // Returns the server-side encryption configuration of a bucket.
1897 //
1898 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1899 // with awserr.Error's Code and Message methods to get detailed information about
1900 // the error.
1901 //
1902 // See the AWS API reference guide for Amazon Simple Storage Service's
1903 // API operation GetBucketEncryption for usage and error information.
1904 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1905 func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) {
1906 req, out := c.GetBucketEncryptionRequest(input)
1907 return out, req.Send()
1908 }
1909
1910 // GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
1911 // the ability to pass a context and additional request options.
1912 //
1913 // See GetBucketEncryption for details on how to use this API operation.
1914 //
1915 // The context must be non-nil and will be used for request cancellation. If
1916 // the context is nil a panic will occur. In the future the SDK may create
1917 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1918 // for more information on using Contexts.
1919 func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) {
1920 req, out := c.GetBucketEncryptionRequest(input)
1921 req.SetContext(ctx)
1922 req.ApplyOptions(opts...)
1923 return out, req.Send()
1924 }
1925
1926 const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
1927
1928 // GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
1929 // client's request for the GetBucketInventoryConfiguration operation. The "output" return
1930 // value will be populated with the request's response once the request completes
1931 // successfully.
1932 //
1933 // Use "Send" method on the returned Request to send the API call to the service.
1934 // the "output" return value is not valid until after Send returns without error.
1935 //
1936 // See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
1937 // API call, and error handling.
1938 //
1939 // This method is useful when you want to inject custom logic or configuration
1940 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1941 //
1942 //
1943 // // Example sending a request using the GetBucketInventoryConfigurationRequest method.
1944 // req, resp := client.GetBucketInventoryConfigurationRequest(params)
1945 //
1946 // err := req.Send()
1947 // if err == nil { // resp is now filled
1948 // fmt.Println(resp)
1949 // }
1950 //
1951 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1952 func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) {
1953 op := &request.Operation{
1954 Name: opGetBucketInventoryConfiguration,
1955 HTTPMethod: "GET",
1956 HTTPPath: "/{Bucket}?inventory",
1957 }
1958
1959 if input == nil {
1960 input = &GetBucketInventoryConfigurationInput{}
1961 }
1962
1963 output = &GetBucketInventoryConfigurationOutput{}
1964 req = c.newRequest(op, input, output)
1965 return
1966 }
1967
1968 // GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
1969 //
1970 // Returns an inventory configuration (identified by the inventory ID) from
1971 // the bucket.
1972 //
1973 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1974 // with awserr.Error's Code and Message methods to get detailed information about
1975 // the error.
1976 //
1977 // See the AWS API reference guide for Amazon Simple Storage Service's
1978 // API operation GetBucketInventoryConfiguration for usage and error information.
1979 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1980 func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
1981 req, out := c.GetBucketInventoryConfigurationRequest(input)
1982 return out, req.Send()
1983 }
1984
1985 // GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
1986 // the ability to pass a context and additional request options.
1987 //
1988 // See GetBucketInventoryConfiguration for details on how to use this API operation.
1989 //
1990 // The context must be non-nil and will be used for request cancellation. If
1991 // the context is nil a panic will occur. In the future the SDK may create
1992 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1993 // for more information on using Contexts.
1994 func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) {
1995 req, out := c.GetBucketInventoryConfigurationRequest(input)
1996 req.SetContext(ctx)
1997 req.ApplyOptions(opts...)
1998 return out, req.Send()
1999 }
2000
2001 const opGetBucketLifecycle = "GetBucketLifecycle"
2002
2003 // GetBucketLifecycleRequest generates a "aws/request.Request" representing the
2004 // client's request for the GetBucketLifecycle operation. The "output" return
2005 // value will be populated with the request's response once the request completes
2006 // successfully.
2007 //
2008 // Use "Send" method on the returned Request to send the API call to the service.
2009 // the "output" return value is not valid until after Send returns without error.
2010 //
2011 // See GetBucketLifecycle for more information on using the GetBucketLifecycle
2012 // API call, and error handling.
2013 //
2014 // This method is useful when you want to inject custom logic or configuration
2015 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2016 //
2017 //
2018 // // Example sending a request using the GetBucketLifecycleRequest method.
2019 // req, resp := client.GetBucketLifecycleRequest(params)
2020 //
2021 // err := req.Send()
2022 // if err == nil { // resp is now filled
2023 // fmt.Println(resp)
2024 // }
2025 //
2026 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
2027 //
2028 // Deprecated: GetBucketLifecycle has been deprecated
2029 func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) {
2030 if c.Client.Config.Logger != nil {
2031 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated")
2032 }
2033 op := &request.Operation{
2034 Name: opGetBucketLifecycle,
2035 HTTPMethod: "GET",
2036 HTTPPath: "/{Bucket}?lifecycle",
2037 }
2038
2039 if input == nil {
2040 input = &GetBucketLifecycleInput{}
2041 }
2042
2043 output = &GetBucketLifecycleOutput{}
2044 req = c.newRequest(op, input, output)
2045 return
2046 }
2047
2048 // GetBucketLifecycle API operation for Amazon Simple Storage Service.
2049 //
2050 // No longer used, see the GetBucketLifecycleConfiguration operation.
2051 //
2052 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2053 // with awserr.Error's Code and Message methods to get detailed information about
2054 // the error.
2055 //
2056 // See the AWS API reference guide for Amazon Simple Storage Service's
2057 // API operation GetBucketLifecycle for usage and error information.
2058 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
2059 //
2060 // Deprecated: GetBucketLifecycle has been deprecated
2061 func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
2062 req, out := c.GetBucketLifecycleRequest(input)
2063 return out, req.Send()
2064 }
2065
2066 // GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
2067 // the ability to pass a context and additional request options.
2068 //
2069 // See GetBucketLifecycle for details on how to use this API operation.
2070 //
2071 // The context must be non-nil and will be used for request cancellation. If
2072 // the context is nil a panic will occur. In the future the SDK may create
2073 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2074 // for more information on using Contexts.
2075 //
2076 // Deprecated: GetBucketLifecycleWithContext has been deprecated
2077 func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) {
2078 req, out := c.GetBucketLifecycleRequest(input)
2079 req.SetContext(ctx)
2080 req.ApplyOptions(opts...)
2081 return out, req.Send()
2082 }
2083
2084 const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
2085
2086 // GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
2087 // client's request for the GetBucketLifecycleConfiguration operation. The "output" return
2088 // value will be populated with the request's response once the request completes
2089 // successfully.
2090 //
2091 // Use "Send" method on the returned Request to send the API call to the service.
2092 // the "output" return value is not valid until after Send returns without error.
2093 //
2094 // See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
2095 // API call, and error handling.
2096 //
2097 // This method is useful when you want to inject custom logic or configuration
2098 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2099 //
2100 //
2101 // // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
2102 // req, resp := client.GetBucketLifecycleConfigurationRequest(params)
2103 //
2104 // err := req.Send()
2105 // if err == nil { // resp is now filled
2106 // fmt.Println(resp)
2107 // }
2108 //
2109 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
2110 func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) {
2111 op := &request.Operation{
2112 Name: opGetBucketLifecycleConfiguration,
2113 HTTPMethod: "GET",
2114 HTTPPath: "/{Bucket}?lifecycle",
2115 }
2116
2117 if input == nil {
2118 input = &GetBucketLifecycleConfigurationInput{}
2119 }
2120
2121 output = &GetBucketLifecycleConfigurationOutput{}
2122 req = c.newRequest(op, input, output)
2123 return
2124 }
2125
2126 // GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
2127 //
2128 // Returns the lifecycle configuration information set on the bucket.
2129 //
2130 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2131 // with awserr.Error's Code and Message methods to get detailed information about
2132 // the error.
2133 //
2134 // See the AWS API reference guide for Amazon Simple Storage Service's
2135 // API operation GetBucketLifecycleConfiguration for usage and error information.
2136 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
2137 func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
2138 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2139 return out, req.Send()
2140 }
2141
2142 // GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
2143 // the ability to pass a context and additional request options.
2144 //
2145 // See GetBucketLifecycleConfiguration for details on how to use this API operation.
2146 //
2147 // The context must be non-nil and will be used for request cancellation. If
2148 // the context is nil a panic will occur. In the future the SDK may create
2149 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2150 // for more information on using Contexts.
2151 func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) {
2152 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2153 req.SetContext(ctx)
2154 req.ApplyOptions(opts...)
2155 return out, req.Send()
2156 }
2157
2158 const opGetBucketLocation = "GetBucketLocation"
2159
2160 // GetBucketLocationRequest generates a "aws/request.Request" representing the
2161 // client's request for the GetBucketLocation operation. The "output" return
2162 // value will be populated with the request's response once the request completes
2163 // successfully.
2164 //
2165 // Use "Send" method on the returned Request to send the API call to the service.
2166 // the "output" return value is not valid until after Send returns without error.
2167 //
2168 // See GetBucketLocation for more information on using the GetBucketLocation
2169 // API call, and error handling.
2170 //
2171 // This method is useful when you want to inject custom logic or configuration
2172 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2173 //
2174 //
2175 // // Example sending a request using the GetBucketLocationRequest method.
2176 // req, resp := client.GetBucketLocationRequest(params)
2177 //
2178 // err := req.Send()
2179 // if err == nil { // resp is now filled
2180 // fmt.Println(resp)
2181 // }
2182 //
2183 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
2184 func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) {
2185 op := &request.Operation{
2186 Name: opGetBucketLocation,
2187 HTTPMethod: "GET",
2188 HTTPPath: "/{Bucket}?location",
2189 }
2190
2191 if input == nil {
2192 input = &GetBucketLocationInput{}
2193 }
2194
2195 output = &GetBucketLocationOutput{}
2196 req = c.newRequest(op, input, output)
2197 return
2198 }
2199
2200 // GetBucketLocation API operation for Amazon Simple Storage Service.
2201 //
2202 // Returns the region the bucket resides in.
2203 //
2204 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2205 // with awserr.Error's Code and Message methods to get detailed information about
2206 // the error.
2207 //
2208 // See the AWS API reference guide for Amazon Simple Storage Service's
2209 // API operation GetBucketLocation for usage and error information.
2210 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
2211 func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
2212 req, out := c.GetBucketLocationRequest(input)
2213 return out, req.Send()
2214 }
2215
2216 // GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
2217 // the ability to pass a context and additional request options.
2218 //
2219 // See GetBucketLocation for details on how to use this API operation.
2220 //
2221 // The context must be non-nil and will be used for request cancellation. If
2222 // the context is nil a panic will occur. In the future the SDK may create
2223 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2224 // for more information on using Contexts.
2225 func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) {
2226 req, out := c.GetBucketLocationRequest(input)
2227 req.SetContext(ctx)
2228 req.ApplyOptions(opts...)
2229 return out, req.Send()
2230 }
2231
2232 const opGetBucketLogging = "GetBucketLogging"
2233
2234 // GetBucketLoggingRequest generates a "aws/request.Request" representing the
2235 // client's request for the GetBucketLogging operation. The "output" return
2236 // value will be populated with the request's response once the request completes
2237 // successfully.
2238 //
2239 // Use "Send" method on the returned Request to send the API call to the service.
2240 // the "output" return value is not valid until after Send returns without error.
2241 //
2242 // See GetBucketLogging for more information on using the GetBucketLogging
2243 // API call, and error handling.
2244 //
2245 // This method is useful when you want to inject custom logic or configuration
2246 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2247 //
2248 //
2249 // // Example sending a request using the GetBucketLoggingRequest method.
2250 // req, resp := client.GetBucketLoggingRequest(params)
2251 //
2252 // err := req.Send()
2253 // if err == nil { // resp is now filled
2254 // fmt.Println(resp)
2255 // }
2256 //
2257 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2258 func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) {
2259 op := &request.Operation{
2260 Name: opGetBucketLogging,
2261 HTTPMethod: "GET",
2262 HTTPPath: "/{Bucket}?logging",
2263 }
2264
2265 if input == nil {
2266 input = &GetBucketLoggingInput{}
2267 }
2268
2269 output = &GetBucketLoggingOutput{}
2270 req = c.newRequest(op, input, output)
2271 return
2272 }
2273
2274 // GetBucketLogging API operation for Amazon Simple Storage Service.
2275 //
2276 // Returns the logging status of a bucket and the permissions users have to
2277 // view and modify that status. To use GET, you must be the bucket owner.
2278 //
2279 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2280 // with awserr.Error's Code and Message methods to get detailed information about
2281 // the error.
2282 //
2283 // See the AWS API reference guide for Amazon Simple Storage Service's
2284 // API operation GetBucketLogging for usage and error information.
2285 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2286 func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
2287 req, out := c.GetBucketLoggingRequest(input)
2288 return out, req.Send()
2289 }
2290
2291 // GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
2292 // the ability to pass a context and additional request options.
2293 //
2294 // See GetBucketLogging for details on how to use this API operation.
2295 //
2296 // The context must be non-nil and will be used for request cancellation. If
2297 // the context is nil a panic will occur. In the future the SDK may create
2298 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2299 // for more information on using Contexts.
2300 func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) {
2301 req, out := c.GetBucketLoggingRequest(input)
2302 req.SetContext(ctx)
2303 req.ApplyOptions(opts...)
2304 return out, req.Send()
2305 }
2306
2307 const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
2308
2309 // GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
2310 // client's request for the GetBucketMetricsConfiguration operation. The "output" return
2311 // value will be populated with the request's response once the request completes
2312 // successfully.
2313 //
2314 // Use "Send" method on the returned Request to send the API call to the service.
2315 // the "output" return value is not valid until after Send returns without error.
2316 //
2317 // See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
2318 // API call, and error handling.
2319 //
2320 // This method is useful when you want to inject custom logic or configuration
2321 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2322 //
2323 //
2324 // // Example sending a request using the GetBucketMetricsConfigurationRequest method.
2325 // req, resp := client.GetBucketMetricsConfigurationRequest(params)
2326 //
2327 // err := req.Send()
2328 // if err == nil { // resp is now filled
2329 // fmt.Println(resp)
2330 // }
2331 //
2332 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2333 func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) {
2334 op := &request.Operation{
2335 Name: opGetBucketMetricsConfiguration,
2336 HTTPMethod: "GET",
2337 HTTPPath: "/{Bucket}?metrics",
2338 }
2339
2340 if input == nil {
2341 input = &GetBucketMetricsConfigurationInput{}
2342 }
2343
2344 output = &GetBucketMetricsConfigurationOutput{}
2345 req = c.newRequest(op, input, output)
2346 return
2347 }
2348
2349 // GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
2350 //
2351 // Gets a metrics configuration (specified by the metrics configuration ID)
2352 // from the bucket.
2353 //
2354 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2355 // with awserr.Error's Code and Message methods to get detailed information about
2356 // the error.
2357 //
2358 // See the AWS API reference guide for Amazon Simple Storage Service's
2359 // API operation GetBucketMetricsConfiguration for usage and error information.
2360 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2361 func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
2362 req, out := c.GetBucketMetricsConfigurationRequest(input)
2363 return out, req.Send()
2364 }
2365
2366 // GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
2367 // the ability to pass a context and additional request options.
2368 //
2369 // See GetBucketMetricsConfiguration for details on how to use this API operation.
2370 //
2371 // The context must be non-nil and will be used for request cancellation. If
2372 // the context is nil a panic will occur. In the future the SDK may create
2373 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2374 // for more information on using Contexts.
2375 func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) {
2376 req, out := c.GetBucketMetricsConfigurationRequest(input)
2377 req.SetContext(ctx)
2378 req.ApplyOptions(opts...)
2379 return out, req.Send()
2380 }
2381
2382 const opGetBucketNotification = "GetBucketNotification"
2383
2384 // GetBucketNotificationRequest generates a "aws/request.Request" representing the
2385 // client's request for the GetBucketNotification operation. The "output" return
2386 // value will be populated with the request's response once the request completes
2387 // successfully.
2388 //
2389 // Use "Send" method on the returned Request to send the API call to the service.
2390 // the "output" return value is not valid until after Send returns without error.
2391 //
2392 // See GetBucketNotification for more information on using the GetBucketNotification
2393 // API call, and error handling.
2394 //
2395 // This method is useful when you want to inject custom logic or configuration
2396 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2397 //
2398 //
2399 // // Example sending a request using the GetBucketNotificationRequest method.
2400 // req, resp := client.GetBucketNotificationRequest(params)
2401 //
2402 // err := req.Send()
2403 // if err == nil { // resp is now filled
2404 // fmt.Println(resp)
2405 // }
2406 //
2407 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2408 //
2409 // Deprecated: GetBucketNotification has been deprecated
2410 func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) {
2411 if c.Client.Config.Logger != nil {
2412 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated")
2413 }
2414 op := &request.Operation{
2415 Name: opGetBucketNotification,
2416 HTTPMethod: "GET",
2417 HTTPPath: "/{Bucket}?notification",
2418 }
2419
2420 if input == nil {
2421 input = &GetBucketNotificationConfigurationRequest{}
2422 }
2423
2424 output = &NotificationConfigurationDeprecated{}
2425 req = c.newRequest(op, input, output)
2426 return
2427 }
2428
2429 // GetBucketNotification API operation for Amazon Simple Storage Service.
2430 //
2431 // No longer used, see the GetBucketNotificationConfiguration operation.
2432 //
2433 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2434 // with awserr.Error's Code and Message methods to get detailed information about
2435 // the error.
2436 //
2437 // See the AWS API reference guide for Amazon Simple Storage Service's
2438 // API operation GetBucketNotification for usage and error information.
2439 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2440 //
2441 // Deprecated: GetBucketNotification has been deprecated
2442 func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
2443 req, out := c.GetBucketNotificationRequest(input)
2444 return out, req.Send()
2445 }
2446
2447 // GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
2448 // the ability to pass a context and additional request options.
2449 //
2450 // See GetBucketNotification for details on how to use this API operation.
2451 //
2452 // The context must be non-nil and will be used for request cancellation. If
2453 // the context is nil a panic will occur. In the future the SDK may create
2454 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2455 // for more information on using Contexts.
2456 //
2457 // Deprecated: GetBucketNotificationWithContext has been deprecated
2458 func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) {
2459 req, out := c.GetBucketNotificationRequest(input)
2460 req.SetContext(ctx)
2461 req.ApplyOptions(opts...)
2462 return out, req.Send()
2463 }
2464
2465 const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
2466
2467 // GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
2468 // client's request for the GetBucketNotificationConfiguration operation. The "output" return
2469 // value will be populated with the request's response once the request completes
2470 // successfully.
2471 //
2472 // Use "Send" method on the returned Request to send the API call to the service.
2473 // the "output" return value is not valid until after Send returns without error.
2474 //
2475 // See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
2476 // API call, and error handling.
2477 //
2478 // This method is useful when you want to inject custom logic or configuration
2479 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2480 //
2481 //
2482 // // Example sending a request using the GetBucketNotificationConfigurationRequest method.
2483 // req, resp := client.GetBucketNotificationConfigurationRequest(params)
2484 //
2485 // err := req.Send()
2486 // if err == nil { // resp is now filled
2487 // fmt.Println(resp)
2488 // }
2489 //
2490 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2491 func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) {
2492 op := &request.Operation{
2493 Name: opGetBucketNotificationConfiguration,
2494 HTTPMethod: "GET",
2495 HTTPPath: "/{Bucket}?notification",
2496 }
2497
2498 if input == nil {
2499 input = &GetBucketNotificationConfigurationRequest{}
2500 }
2501
2502 output = &NotificationConfiguration{}
2503 req = c.newRequest(op, input, output)
2504 return
2505 }
2506
2507 // GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
2508 //
2509 // Returns the notification configuration of a bucket.
2510 //
2511 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2512 // with awserr.Error's Code and Message methods to get detailed information about
2513 // the error.
2514 //
2515 // See the AWS API reference guide for Amazon Simple Storage Service's
2516 // API operation GetBucketNotificationConfiguration for usage and error information.
2517 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2518 func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
2519 req, out := c.GetBucketNotificationConfigurationRequest(input)
2520 return out, req.Send()
2521 }
2522
2523 // GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
2524 // the ability to pass a context and additional request options.
2525 //
2526 // See GetBucketNotificationConfiguration for details on how to use this API operation.
2527 //
2528 // The context must be non-nil and will be used for request cancellation. If
2529 // the context is nil a panic will occur. In the future the SDK may create
2530 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2531 // for more information on using Contexts.
2532 func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) {
2533 req, out := c.GetBucketNotificationConfigurationRequest(input)
2534 req.SetContext(ctx)
2535 req.ApplyOptions(opts...)
2536 return out, req.Send()
2537 }
2538
2539 const opGetBucketPolicy = "GetBucketPolicy"
2540
2541 // GetBucketPolicyRequest generates a "aws/request.Request" representing the
2542 // client's request for the GetBucketPolicy operation. The "output" return
2543 // value will be populated with the request's response once the request completes
2544 // successfully.
2545 //
2546 // Use "Send" method on the returned Request to send the API call to the service.
2547 // the "output" return value is not valid until after Send returns without error.
2548 //
2549 // See GetBucketPolicy for more information on using the GetBucketPolicy
2550 // API call, and error handling.
2551 //
2552 // This method is useful when you want to inject custom logic or configuration
2553 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2554 //
2555 //
2556 // // Example sending a request using the GetBucketPolicyRequest method.
2557 // req, resp := client.GetBucketPolicyRequest(params)
2558 //
2559 // err := req.Send()
2560 // if err == nil { // resp is now filled
2561 // fmt.Println(resp)
2562 // }
2563 //
2564 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2565 func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) {
2566 op := &request.Operation{
2567 Name: opGetBucketPolicy,
2568 HTTPMethod: "GET",
2569 HTTPPath: "/{Bucket}?policy",
2570 }
2571
2572 if input == nil {
2573 input = &GetBucketPolicyInput{}
2574 }
2575
2576 output = &GetBucketPolicyOutput{}
2577 req = c.newRequest(op, input, output)
2578 return
2579 }
2580
2581 // GetBucketPolicy API operation for Amazon Simple Storage Service.
2582 //
2583 // Returns the policy of a specified bucket.
2584 //
2585 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2586 // with awserr.Error's Code and Message methods to get detailed information about
2587 // the error.
2588 //
2589 // See the AWS API reference guide for Amazon Simple Storage Service's
2590 // API operation GetBucketPolicy for usage and error information.
2591 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2592 func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
2593 req, out := c.GetBucketPolicyRequest(input)
2594 return out, req.Send()
2595 }
2596
2597 // GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
2598 // the ability to pass a context and additional request options.
2599 //
2600 // See GetBucketPolicy for details on how to use this API operation.
2601 //
2602 // The context must be non-nil and will be used for request cancellation. If
2603 // the context is nil a panic will occur. In the future the SDK may create
2604 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2605 // for more information on using Contexts.
2606 func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) {
2607 req, out := c.GetBucketPolicyRequest(input)
2608 req.SetContext(ctx)
2609 req.ApplyOptions(opts...)
2610 return out, req.Send()
2611 }
2612
2613 const opGetBucketPolicyStatus = "GetBucketPolicyStatus"
2614
2615 // GetBucketPolicyStatusRequest generates a "aws/request.Request" representing the
2616 // client's request for the GetBucketPolicyStatus operation. The "output" return
2617 // value will be populated with the request's response once the request completes
2618 // successfully.
2619 //
2620 // Use "Send" method on the returned Request to send the API call to the service.
2621 // the "output" return value is not valid until after Send returns without error.
2622 //
2623 // See GetBucketPolicyStatus for more information on using the GetBucketPolicyStatus
2624 // API call, and error handling.
2625 //
2626 // This method is useful when you want to inject custom logic or configuration
2627 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2628 //
2629 //
2630 // // Example sending a request using the GetBucketPolicyStatusRequest method.
2631 // req, resp := client.GetBucketPolicyStatusRequest(params)
2632 //
2633 // err := req.Send()
2634 // if err == nil { // resp is now filled
2635 // fmt.Println(resp)
2636 // }
2637 //
2638 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2639 func (c *S3) GetBucketPolicyStatusRequest(input *GetBucketPolicyStatusInput) (req *request.Request, output *GetBucketPolicyStatusOutput) {
2640 op := &request.Operation{
2641 Name: opGetBucketPolicyStatus,
2642 HTTPMethod: "GET",
2643 HTTPPath: "/{Bucket}?policyStatus",
2644 }
2645
2646 if input == nil {
2647 input = &GetBucketPolicyStatusInput{}
2648 }
2649
2650 output = &GetBucketPolicyStatusOutput{}
2651 req = c.newRequest(op, input, output)
2652 return
2653 }
2654
2655 // GetBucketPolicyStatus API operation for Amazon Simple Storage Service.
2656 //
2657 // Retrieves the policy status for an Amazon S3 bucket, indicating whether the
2658 // bucket is public.
2659 //
2660 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2661 // with awserr.Error's Code and Message methods to get detailed information about
2662 // the error.
2663 //
2664 // See the AWS API reference guide for Amazon Simple Storage Service's
2665 // API operation GetBucketPolicyStatus for usage and error information.
2666 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2667 func (c *S3) GetBucketPolicyStatus(input *GetBucketPolicyStatusInput) (*GetBucketPolicyStatusOutput, error) {
2668 req, out := c.GetBucketPolicyStatusRequest(input)
2669 return out, req.Send()
2670 }
2671
2672 // GetBucketPolicyStatusWithContext is the same as GetBucketPolicyStatus with the addition of
2673 // the ability to pass a context and additional request options.
2674 //
2675 // See GetBucketPolicyStatus for details on how to use this API operation.
2676 //
2677 // The context must be non-nil and will be used for request cancellation. If
2678 // the context is nil a panic will occur. In the future the SDK may create
2679 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2680 // for more information on using Contexts.
2681 func (c *S3) GetBucketPolicyStatusWithContext(ctx aws.Context, input *GetBucketPolicyStatusInput, opts ...request.Option) (*GetBucketPolicyStatusOutput, error) {
2682 req, out := c.GetBucketPolicyStatusRequest(input)
2683 req.SetContext(ctx)
2684 req.ApplyOptions(opts...)
2685 return out, req.Send()
2686 }
2687
2688 const opGetBucketReplication = "GetBucketReplication"
2689
2690 // GetBucketReplicationRequest generates a "aws/request.Request" representing the
2691 // client's request for the GetBucketReplication operation. The "output" return
2692 // value will be populated with the request's response once the request completes
2693 // successfully.
2694 //
2695 // Use "Send" method on the returned Request to send the API call to the service.
2696 // the "output" return value is not valid until after Send returns without error.
2697 //
2698 // See GetBucketReplication for more information on using the GetBucketReplication
2699 // API call, and error handling.
2700 //
2701 // This method is useful when you want to inject custom logic or configuration
2702 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2703 //
2704 //
2705 // // Example sending a request using the GetBucketReplicationRequest method.
2706 // req, resp := client.GetBucketReplicationRequest(params)
2707 //
2708 // err := req.Send()
2709 // if err == nil { // resp is now filled
2710 // fmt.Println(resp)
2711 // }
2712 //
2713 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2714 func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) {
2715 op := &request.Operation{
2716 Name: opGetBucketReplication,
2717 HTTPMethod: "GET",
2718 HTTPPath: "/{Bucket}?replication",
2719 }
2720
2721 if input == nil {
2722 input = &GetBucketReplicationInput{}
2723 }
2724
2725 output = &GetBucketReplicationOutput{}
2726 req = c.newRequest(op, input, output)
2727 return
2728 }
2729
2730 // GetBucketReplication API operation for Amazon Simple Storage Service.
2731 //
2732 // Returns the replication configuration of a bucket.
2733 //
2734 // It can take a while to propagate the put or delete a replication configuration
2735 // to all Amazon S3 systems. Therefore, a get request soon after put or delete
2736 // can return a wrong result.
2737 //
2738 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2739 // with awserr.Error's Code and Message methods to get detailed information about
2740 // the error.
2741 //
2742 // See the AWS API reference guide for Amazon Simple Storage Service's
2743 // API operation GetBucketReplication for usage and error information.
2744 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2745 func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
2746 req, out := c.GetBucketReplicationRequest(input)
2747 return out, req.Send()
2748 }
2749
2750 // GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
2751 // the ability to pass a context and additional request options.
2752 //
2753 // See GetBucketReplication for details on how to use this API operation.
2754 //
2755 // The context must be non-nil and will be used for request cancellation. If
2756 // the context is nil a panic will occur. In the future the SDK may create
2757 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2758 // for more information on using Contexts.
2759 func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) {
2760 req, out := c.GetBucketReplicationRequest(input)
2761 req.SetContext(ctx)
2762 req.ApplyOptions(opts...)
2763 return out, req.Send()
2764 }
2765
2766 const opGetBucketRequestPayment = "GetBucketRequestPayment"
2767
2768 // GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
2769 // client's request for the GetBucketRequestPayment operation. The "output" return
2770 // value will be populated with the request's response once the request completes
2771 // successfully.
2772 //
2773 // Use "Send" method on the returned Request to send the API call to the service.
2774 // the "output" return value is not valid until after Send returns without error.
2775 //
2776 // See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
2777 // API call, and error handling.
2778 //
2779 // This method is useful when you want to inject custom logic or configuration
2780 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2781 //
2782 //
2783 // // Example sending a request using the GetBucketRequestPaymentRequest method.
2784 // req, resp := client.GetBucketRequestPaymentRequest(params)
2785 //
2786 // err := req.Send()
2787 // if err == nil { // resp is now filled
2788 // fmt.Println(resp)
2789 // }
2790 //
2791 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2792 func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) {
2793 op := &request.Operation{
2794 Name: opGetBucketRequestPayment,
2795 HTTPMethod: "GET",
2796 HTTPPath: "/{Bucket}?requestPayment",
2797 }
2798
2799 if input == nil {
2800 input = &GetBucketRequestPaymentInput{}
2801 }
2802
2803 output = &GetBucketRequestPaymentOutput{}
2804 req = c.newRequest(op, input, output)
2805 return
2806 }
2807
2808 // GetBucketRequestPayment API operation for Amazon Simple Storage Service.
2809 //
2810 // Returns the request payment configuration of a bucket.
2811 //
2812 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2813 // with awserr.Error's Code and Message methods to get detailed information about
2814 // the error.
2815 //
2816 // See the AWS API reference guide for Amazon Simple Storage Service's
2817 // API operation GetBucketRequestPayment for usage and error information.
2818 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2819 func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
2820 req, out := c.GetBucketRequestPaymentRequest(input)
2821 return out, req.Send()
2822 }
2823
2824 // GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
2825 // the ability to pass a context and additional request options.
2826 //
2827 // See GetBucketRequestPayment for details on how to use this API operation.
2828 //
2829 // The context must be non-nil and will be used for request cancellation. If
2830 // the context is nil a panic will occur. In the future the SDK may create
2831 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2832 // for more information on using Contexts.
2833 func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) {
2834 req, out := c.GetBucketRequestPaymentRequest(input)
2835 req.SetContext(ctx)
2836 req.ApplyOptions(opts...)
2837 return out, req.Send()
2838 }
2839
2840 const opGetBucketTagging = "GetBucketTagging"
2841
2842 // GetBucketTaggingRequest generates a "aws/request.Request" representing the
2843 // client's request for the GetBucketTagging operation. The "output" return
2844 // value will be populated with the request's response once the request completes
2845 // successfully.
2846 //
2847 // Use "Send" method on the returned Request to send the API call to the service.
2848 // the "output" return value is not valid until after Send returns without error.
2849 //
2850 // See GetBucketTagging for more information on using the GetBucketTagging
2851 // API call, and error handling.
2852 //
2853 // This method is useful when you want to inject custom logic or configuration
2854 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2855 //
2856 //
2857 // // Example sending a request using the GetBucketTaggingRequest method.
2858 // req, resp := client.GetBucketTaggingRequest(params)
2859 //
2860 // err := req.Send()
2861 // if err == nil { // resp is now filled
2862 // fmt.Println(resp)
2863 // }
2864 //
2865 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2866 func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) {
2867 op := &request.Operation{
2868 Name: opGetBucketTagging,
2869 HTTPMethod: "GET",
2870 HTTPPath: "/{Bucket}?tagging",
2871 }
2872
2873 if input == nil {
2874 input = &GetBucketTaggingInput{}
2875 }
2876
2877 output = &GetBucketTaggingOutput{}
2878 req = c.newRequest(op, input, output)
2879 return
2880 }
2881
2882 // GetBucketTagging API operation for Amazon Simple Storage Service.
2883 //
2884 // Returns the tag set associated with the bucket.
2885 //
2886 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2887 // with awserr.Error's Code and Message methods to get detailed information about
2888 // the error.
2889 //
2890 // See the AWS API reference guide for Amazon Simple Storage Service's
2891 // API operation GetBucketTagging for usage and error information.
2892 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2893 func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
2894 req, out := c.GetBucketTaggingRequest(input)
2895 return out, req.Send()
2896 }
2897
2898 // GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
2899 // the ability to pass a context and additional request options.
2900 //
2901 // See GetBucketTagging for details on how to use this API operation.
2902 //
2903 // The context must be non-nil and will be used for request cancellation. If
2904 // the context is nil a panic will occur. In the future the SDK may create
2905 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2906 // for more information on using Contexts.
2907 func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) {
2908 req, out := c.GetBucketTaggingRequest(input)
2909 req.SetContext(ctx)
2910 req.ApplyOptions(opts...)
2911 return out, req.Send()
2912 }
2913
2914 const opGetBucketVersioning = "GetBucketVersioning"
2915
2916 // GetBucketVersioningRequest generates a "aws/request.Request" representing the
2917 // client's request for the GetBucketVersioning operation. The "output" return
2918 // value will be populated with the request's response once the request completes
2919 // successfully.
2920 //
2921 // Use "Send" method on the returned Request to send the API call to the service.
2922 // the "output" return value is not valid until after Send returns without error.
2923 //
2924 // See GetBucketVersioning for more information on using the GetBucketVersioning
2925 // API call, and error handling.
2926 //
2927 // This method is useful when you want to inject custom logic or configuration
2928 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2929 //
2930 //
2931 // // Example sending a request using the GetBucketVersioningRequest method.
2932 // req, resp := client.GetBucketVersioningRequest(params)
2933 //
2934 // err := req.Send()
2935 // if err == nil { // resp is now filled
2936 // fmt.Println(resp)
2937 // }
2938 //
2939 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2940 func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) {
2941 op := &request.Operation{
2942 Name: opGetBucketVersioning,
2943 HTTPMethod: "GET",
2944 HTTPPath: "/{Bucket}?versioning",
2945 }
2946
2947 if input == nil {
2948 input = &GetBucketVersioningInput{}
2949 }
2950
2951 output = &GetBucketVersioningOutput{}
2952 req = c.newRequest(op, input, output)
2953 return
2954 }
2955
2956 // GetBucketVersioning API operation for Amazon Simple Storage Service.
2957 //
2958 // Returns the versioning state of a bucket.
2959 //
2960 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2961 // with awserr.Error's Code and Message methods to get detailed information about
2962 // the error.
2963 //
2964 // See the AWS API reference guide for Amazon Simple Storage Service's
2965 // API operation GetBucketVersioning for usage and error information.
2966 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2967 func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
2968 req, out := c.GetBucketVersioningRequest(input)
2969 return out, req.Send()
2970 }
2971
2972 // GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
2973 // the ability to pass a context and additional request options.
2974 //
2975 // See GetBucketVersioning for details on how to use this API operation.
2976 //
2977 // The context must be non-nil and will be used for request cancellation. If
2978 // the context is nil a panic will occur. In the future the SDK may create
2979 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2980 // for more information on using Contexts.
2981 func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) {
2982 req, out := c.GetBucketVersioningRequest(input)
2983 req.SetContext(ctx)
2984 req.ApplyOptions(opts...)
2985 return out, req.Send()
2986 }
2987
2988 const opGetBucketWebsite = "GetBucketWebsite"
2989
2990 // GetBucketWebsiteRequest generates a "aws/request.Request" representing the
2991 // client's request for the GetBucketWebsite operation. The "output" return
2992 // value will be populated with the request's response once the request completes
2993 // successfully.
2994 //
2995 // Use "Send" method on the returned Request to send the API call to the service.
2996 // the "output" return value is not valid until after Send returns without error.
2997 //
2998 // See GetBucketWebsite for more information on using the GetBucketWebsite
2999 // API call, and error handling.
3000 //
3001 // This method is useful when you want to inject custom logic or configuration
3002 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3003 //
3004 //
3005 // // Example sending a request using the GetBucketWebsiteRequest method.
3006 // req, resp := client.GetBucketWebsiteRequest(params)
3007 //
3008 // err := req.Send()
3009 // if err == nil { // resp is now filled
3010 // fmt.Println(resp)
3011 // }
3012 //
3013 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
3014 func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) {
3015 op := &request.Operation{
3016 Name: opGetBucketWebsite,
3017 HTTPMethod: "GET",
3018 HTTPPath: "/{Bucket}?website",
3019 }
3020
3021 if input == nil {
3022 input = &GetBucketWebsiteInput{}
3023 }
3024
3025 output = &GetBucketWebsiteOutput{}
3026 req = c.newRequest(op, input, output)
3027 return
3028 }
3029
3030 // GetBucketWebsite API operation for Amazon Simple Storage Service.
3031 //
3032 // Returns the website configuration for a bucket.
3033 //
3034 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3035 // with awserr.Error's Code and Message methods to get detailed information about
3036 // the error.
3037 //
3038 // See the AWS API reference guide for Amazon Simple Storage Service's
3039 // API operation GetBucketWebsite for usage and error information.
3040 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
3041 func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
3042 req, out := c.GetBucketWebsiteRequest(input)
3043 return out, req.Send()
3044 }
3045
3046 // GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
3047 // the ability to pass a context and additional request options.
3048 //
3049 // See GetBucketWebsite for details on how to use this API operation.
3050 //
3051 // The context must be non-nil and will be used for request cancellation. If
3052 // the context is nil a panic will occur. In the future the SDK may create
3053 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3054 // for more information on using Contexts.
3055 func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) {
3056 req, out := c.GetBucketWebsiteRequest(input)
3057 req.SetContext(ctx)
3058 req.ApplyOptions(opts...)
3059 return out, req.Send()
3060 }
3061
3062 const opGetObject = "GetObject"
3063
3064 // GetObjectRequest generates a "aws/request.Request" representing the
3065 // client's request for the GetObject operation. The "output" return
3066 // value will be populated with the request's response once the request completes
3067 // successfully.
3068 //
3069 // Use "Send" method on the returned Request to send the API call to the service.
3070 // the "output" return value is not valid until after Send returns without error.
3071 //
3072 // See GetObject for more information on using the GetObject
3073 // API call, and error handling.
3074 //
3075 // This method is useful when you want to inject custom logic or configuration
3076 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3077 //
3078 //
3079 // // Example sending a request using the GetObjectRequest method.
3080 // req, resp := client.GetObjectRequest(params)
3081 //
3082 // err := req.Send()
3083 // if err == nil { // resp is now filled
3084 // fmt.Println(resp)
3085 // }
3086 //
3087 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
3088 func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) {
3089 op := &request.Operation{
3090 Name: opGetObject,
3091 HTTPMethod: "GET",
3092 HTTPPath: "/{Bucket}/{Key+}",
3093 }
3094
3095 if input == nil {
3096 input = &GetObjectInput{}
3097 }
3098
3099 output = &GetObjectOutput{}
3100 req = c.newRequest(op, input, output)
3101 return
3102 }
3103
3104 // GetObject API operation for Amazon Simple Storage Service.
3105 //
3106 // Retrieves objects from Amazon S3.
3107 //
3108 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3109 // with awserr.Error's Code and Message methods to get detailed information about
3110 // the error.
3111 //
3112 // See the AWS API reference guide for Amazon Simple Storage Service's
3113 // API operation GetObject for usage and error information.
3114 //
3115 // Returned Error Codes:
3116 // * ErrCodeNoSuchKey "NoSuchKey"
3117 // The specified key does not exist.
3118 //
3119 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
3120 func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
3121 req, out := c.GetObjectRequest(input)
3122 return out, req.Send()
3123 }
3124
3125 // GetObjectWithContext is the same as GetObject with the addition of
3126 // the ability to pass a context and additional request options.
3127 //
3128 // See GetObject for details on how to use this API operation.
3129 //
3130 // The context must be non-nil and will be used for request cancellation. If
3131 // the context is nil a panic will occur. In the future the SDK may create
3132 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3133 // for more information on using Contexts.
3134 func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) {
3135 req, out := c.GetObjectRequest(input)
3136 req.SetContext(ctx)
3137 req.ApplyOptions(opts...)
3138 return out, req.Send()
3139 }
3140
3141 const opGetObjectAcl = "GetObjectAcl"
3142
3143 // GetObjectAclRequest generates a "aws/request.Request" representing the
3144 // client's request for the GetObjectAcl operation. The "output" return
3145 // value will be populated with the request's response once the request completes
3146 // successfully.
3147 //
3148 // Use "Send" method on the returned Request to send the API call to the service.
3149 // the "output" return value is not valid until after Send returns without error.
3150 //
3151 // See GetObjectAcl for more information on using the GetObjectAcl
3152 // API call, and error handling.
3153 //
3154 // This method is useful when you want to inject custom logic or configuration
3155 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3156 //
3157 //
3158 // // Example sending a request using the GetObjectAclRequest method.
3159 // req, resp := client.GetObjectAclRequest(params)
3160 //
3161 // err := req.Send()
3162 // if err == nil { // resp is now filled
3163 // fmt.Println(resp)
3164 // }
3165 //
3166 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
3167 func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) {
3168 op := &request.Operation{
3169 Name: opGetObjectAcl,
3170 HTTPMethod: "GET",
3171 HTTPPath: "/{Bucket}/{Key+}?acl",
3172 }
3173
3174 if input == nil {
3175 input = &GetObjectAclInput{}
3176 }
3177
3178 output = &GetObjectAclOutput{}
3179 req = c.newRequest(op, input, output)
3180 return
3181 }
3182
3183 // GetObjectAcl API operation for Amazon Simple Storage Service.
3184 //
3185 // Returns the access control list (ACL) of an object.
3186 //
3187 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3188 // with awserr.Error's Code and Message methods to get detailed information about
3189 // the error.
3190 //
3191 // See the AWS API reference guide for Amazon Simple Storage Service's
3192 // API operation GetObjectAcl for usage and error information.
3193 //
3194 // Returned Error Codes:
3195 // * ErrCodeNoSuchKey "NoSuchKey"
3196 // The specified key does not exist.
3197 //
3198 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
3199 func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
3200 req, out := c.GetObjectAclRequest(input)
3201 return out, req.Send()
3202 }
3203
3204 // GetObjectAclWithContext is the same as GetObjectAcl with the addition of
3205 // the ability to pass a context and additional request options.
3206 //
3207 // See GetObjectAcl for details on how to use this API operation.
3208 //
3209 // The context must be non-nil and will be used for request cancellation. If
3210 // the context is nil a panic will occur. In the future the SDK may create
3211 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3212 // for more information on using Contexts.
3213 func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) {
3214 req, out := c.GetObjectAclRequest(input)
3215 req.SetContext(ctx)
3216 req.ApplyOptions(opts...)
3217 return out, req.Send()
3218 }
3219
3220 const opGetObjectLegalHold = "GetObjectLegalHold"
3221
3222 // GetObjectLegalHoldRequest generates a "aws/request.Request" representing the
3223 // client's request for the GetObjectLegalHold operation. The "output" return
3224 // value will be populated with the request's response once the request completes
3225 // successfully.
3226 //
3227 // Use "Send" method on the returned Request to send the API call to the service.
3228 // the "output" return value is not valid until after Send returns without error.
3229 //
3230 // See GetObjectLegalHold for more information on using the GetObjectLegalHold
3231 // API call, and error handling.
3232 //
3233 // This method is useful when you want to inject custom logic or configuration
3234 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3235 //
3236 //
3237 // // Example sending a request using the GetObjectLegalHoldRequest method.
3238 // req, resp := client.GetObjectLegalHoldRequest(params)
3239 //
3240 // err := req.Send()
3241 // if err == nil { // resp is now filled
3242 // fmt.Println(resp)
3243 // }
3244 //
3245 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3246 func (c *S3) GetObjectLegalHoldRequest(input *GetObjectLegalHoldInput) (req *request.Request, output *GetObjectLegalHoldOutput) {
3247 op := &request.Operation{
3248 Name: opGetObjectLegalHold,
3249 HTTPMethod: "GET",
3250 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
3251 }
3252
3253 if input == nil {
3254 input = &GetObjectLegalHoldInput{}
3255 }
3256
3257 output = &GetObjectLegalHoldOutput{}
3258 req = c.newRequest(op, input, output)
3259 return
3260 }
3261
3262 // GetObjectLegalHold API operation for Amazon Simple Storage Service.
3263 //
3264 // Gets an object's current Legal Hold status.
3265 //
3266 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3267 // with awserr.Error's Code and Message methods to get detailed information about
3268 // the error.
3269 //
3270 // See the AWS API reference guide for Amazon Simple Storage Service's
3271 // API operation GetObjectLegalHold for usage and error information.
3272 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3273 func (c *S3) GetObjectLegalHold(input *GetObjectLegalHoldInput) (*GetObjectLegalHoldOutput, error) {
3274 req, out := c.GetObjectLegalHoldRequest(input)
3275 return out, req.Send()
3276 }
3277
3278 // GetObjectLegalHoldWithContext is the same as GetObjectLegalHold with the addition of
3279 // the ability to pass a context and additional request options.
3280 //
3281 // See GetObjectLegalHold for details on how to use this API operation.
3282 //
3283 // The context must be non-nil and will be used for request cancellation. If
3284 // the context is nil a panic will occur. In the future the SDK may create
3285 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3286 // for more information on using Contexts.
3287 func (c *S3) GetObjectLegalHoldWithContext(ctx aws.Context, input *GetObjectLegalHoldInput, opts ...request.Option) (*GetObjectLegalHoldOutput, error) {
3288 req, out := c.GetObjectLegalHoldRequest(input)
3289 req.SetContext(ctx)
3290 req.ApplyOptions(opts...)
3291 return out, req.Send()
3292 }
3293
3294 const opGetObjectLockConfiguration = "GetObjectLockConfiguration"
3295
3296 // GetObjectLockConfigurationRequest generates a "aws/request.Request" representing the
3297 // client's request for the GetObjectLockConfiguration operation. The "output" return
3298 // value will be populated with the request's response once the request completes
3299 // successfully.
3300 //
3301 // Use "Send" method on the returned Request to send the API call to the service.
3302 // the "output" return value is not valid until after Send returns without error.
3303 //
3304 // See GetObjectLockConfiguration for more information on using the GetObjectLockConfiguration
3305 // API call, and error handling.
3306 //
3307 // This method is useful when you want to inject custom logic or configuration
3308 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3309 //
3310 //
3311 // // Example sending a request using the GetObjectLockConfigurationRequest method.
3312 // req, resp := client.GetObjectLockConfigurationRequest(params)
3313 //
3314 // err := req.Send()
3315 // if err == nil { // resp is now filled
3316 // fmt.Println(resp)
3317 // }
3318 //
3319 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3320 func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfigurationInput) (req *request.Request, output *GetObjectLockConfigurationOutput) {
3321 op := &request.Operation{
3322 Name: opGetObjectLockConfiguration,
3323 HTTPMethod: "GET",
3324 HTTPPath: "/{Bucket}?object-lock",
3325 }
3326
3327 if input == nil {
3328 input = &GetObjectLockConfigurationInput{}
3329 }
3330
3331 output = &GetObjectLockConfigurationOutput{}
3332 req = c.newRequest(op, input, output)
3333 return
3334 }
3335
3336 // GetObjectLockConfiguration API operation for Amazon Simple Storage Service.
3337 //
3338 // Gets the Object Lock configuration for a bucket. The rule specified in the
3339 // Object Lock configuration will be applied by default to every new object
3340 // placed in the specified bucket.
3341 //
3342 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3343 // with awserr.Error's Code and Message methods to get detailed information about
3344 // the error.
3345 //
3346 // See the AWS API reference guide for Amazon Simple Storage Service's
3347 // API operation GetObjectLockConfiguration for usage and error information.
3348 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3349 func (c *S3) GetObjectLockConfiguration(input *GetObjectLockConfigurationInput) (*GetObjectLockConfigurationOutput, error) {
3350 req, out := c.GetObjectLockConfigurationRequest(input)
3351 return out, req.Send()
3352 }
3353
3354 // GetObjectLockConfigurationWithContext is the same as GetObjectLockConfiguration with the addition of
3355 // the ability to pass a context and additional request options.
3356 //
3357 // See GetObjectLockConfiguration for details on how to use this API operation.
3358 //
3359 // The context must be non-nil and will be used for request cancellation. If
3360 // the context is nil a panic will occur. In the future the SDK may create
3361 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3362 // for more information on using Contexts.
3363 func (c *S3) GetObjectLockConfigurationWithContext(ctx aws.Context, input *GetObjectLockConfigurationInput, opts ...request.Option) (*GetObjectLockConfigurationOutput, error) {
3364 req, out := c.GetObjectLockConfigurationRequest(input)
3365 req.SetContext(ctx)
3366 req.ApplyOptions(opts...)
3367 return out, req.Send()
3368 }
3369
3370 const opGetObjectRetention = "GetObjectRetention"
3371
3372 // GetObjectRetentionRequest generates a "aws/request.Request" representing the
3373 // client's request for the GetObjectRetention operation. The "output" return
3374 // value will be populated with the request's response once the request completes
3375 // successfully.
3376 //
3377 // Use "Send" method on the returned Request to send the API call to the service.
3378 // the "output" return value is not valid until after Send returns without error.
3379 //
3380 // See GetObjectRetention for more information on using the GetObjectRetention
3381 // API call, and error handling.
3382 //
3383 // This method is useful when you want to inject custom logic or configuration
3384 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3385 //
3386 //
3387 // // Example sending a request using the GetObjectRetentionRequest method.
3388 // req, resp := client.GetObjectRetentionRequest(params)
3389 //
3390 // err := req.Send()
3391 // if err == nil { // resp is now filled
3392 // fmt.Println(resp)
3393 // }
3394 //
3395 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3396 func (c *S3) GetObjectRetentionRequest(input *GetObjectRetentionInput) (req *request.Request, output *GetObjectRetentionOutput) {
3397 op := &request.Operation{
3398 Name: opGetObjectRetention,
3399 HTTPMethod: "GET",
3400 HTTPPath: "/{Bucket}/{Key+}?retention",
3401 }
3402
3403 if input == nil {
3404 input = &GetObjectRetentionInput{}
3405 }
3406
3407 output = &GetObjectRetentionOutput{}
3408 req = c.newRequest(op, input, output)
3409 return
3410 }
3411
3412 // GetObjectRetention API operation for Amazon Simple Storage Service.
3413 //
3414 // Retrieves an object's retention settings.
3415 //
3416 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3417 // with awserr.Error's Code and Message methods to get detailed information about
3418 // the error.
3419 //
3420 // See the AWS API reference guide for Amazon Simple Storage Service's
3421 // API operation GetObjectRetention for usage and error information.
3422 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3423 func (c *S3) GetObjectRetention(input *GetObjectRetentionInput) (*GetObjectRetentionOutput, error) {
3424 req, out := c.GetObjectRetentionRequest(input)
3425 return out, req.Send()
3426 }
3427
3428 // GetObjectRetentionWithContext is the same as GetObjectRetention with the addition of
3429 // the ability to pass a context and additional request options.
3430 //
3431 // See GetObjectRetention for details on how to use this API operation.
3432 //
3433 // The context must be non-nil and will be used for request cancellation. If
3434 // the context is nil a panic will occur. In the future the SDK may create
3435 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3436 // for more information on using Contexts.
3437 func (c *S3) GetObjectRetentionWithContext(ctx aws.Context, input *GetObjectRetentionInput, opts ...request.Option) (*GetObjectRetentionOutput, error) {
3438 req, out := c.GetObjectRetentionRequest(input)
3439 req.SetContext(ctx)
3440 req.ApplyOptions(opts...)
3441 return out, req.Send()
3442 }
3443
3444 const opGetObjectTagging = "GetObjectTagging"
3445
3446 // GetObjectTaggingRequest generates a "aws/request.Request" representing the
3447 // client's request for the GetObjectTagging operation. The "output" return
3448 // value will be populated with the request's response once the request completes
3449 // successfully.
3450 //
3451 // Use "Send" method on the returned Request to send the API call to the service.
3452 // the "output" return value is not valid until after Send returns without error.
3453 //
3454 // See GetObjectTagging for more information on using the GetObjectTagging
3455 // API call, and error handling.
3456 //
3457 // This method is useful when you want to inject custom logic or configuration
3458 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3459 //
3460 //
3461 // // Example sending a request using the GetObjectTaggingRequest method.
3462 // req, resp := client.GetObjectTaggingRequest(params)
3463 //
3464 // err := req.Send()
3465 // if err == nil { // resp is now filled
3466 // fmt.Println(resp)
3467 // }
3468 //
3469 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3470 func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) {
3471 op := &request.Operation{
3472 Name: opGetObjectTagging,
3473 HTTPMethod: "GET",
3474 HTTPPath: "/{Bucket}/{Key+}?tagging",
3475 }
3476
3477 if input == nil {
3478 input = &GetObjectTaggingInput{}
3479 }
3480
3481 output = &GetObjectTaggingOutput{}
3482 req = c.newRequest(op, input, output)
3483 return
3484 }
3485
3486 // GetObjectTagging API operation for Amazon Simple Storage Service.
3487 //
3488 // Returns the tag-set of an object.
3489 //
3490 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3491 // with awserr.Error's Code and Message methods to get detailed information about
3492 // the error.
3493 //
3494 // See the AWS API reference guide for Amazon Simple Storage Service's
3495 // API operation GetObjectTagging for usage and error information.
3496 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3497 func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
3498 req, out := c.GetObjectTaggingRequest(input)
3499 return out, req.Send()
3500 }
3501
3502 // GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
3503 // the ability to pass a context and additional request options.
3504 //
3505 // See GetObjectTagging for details on how to use this API operation.
3506 //
3507 // The context must be non-nil and will be used for request cancellation. If
3508 // the context is nil a panic will occur. In the future the SDK may create
3509 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3510 // for more information on using Contexts.
3511 func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) {
3512 req, out := c.GetObjectTaggingRequest(input)
3513 req.SetContext(ctx)
3514 req.ApplyOptions(opts...)
3515 return out, req.Send()
3516 }
3517
3518 const opGetObjectTorrent = "GetObjectTorrent"
3519
3520 // GetObjectTorrentRequest generates a "aws/request.Request" representing the
3521 // client's request for the GetObjectTorrent operation. The "output" return
3522 // value will be populated with the request's response once the request completes
3523 // successfully.
3524 //
3525 // Use "Send" method on the returned Request to send the API call to the service.
3526 // the "output" return value is not valid until after Send returns without error.
3527 //
3528 // See GetObjectTorrent for more information on using the GetObjectTorrent
3529 // API call, and error handling.
3530 //
3531 // This method is useful when you want to inject custom logic or configuration
3532 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3533 //
3534 //
3535 // // Example sending a request using the GetObjectTorrentRequest method.
3536 // req, resp := client.GetObjectTorrentRequest(params)
3537 //
3538 // err := req.Send()
3539 // if err == nil { // resp is now filled
3540 // fmt.Println(resp)
3541 // }
3542 //
3543 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3544 func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) {
3545 op := &request.Operation{
3546 Name: opGetObjectTorrent,
3547 HTTPMethod: "GET",
3548 HTTPPath: "/{Bucket}/{Key+}?torrent",
3549 }
3550
3551 if input == nil {
3552 input = &GetObjectTorrentInput{}
3553 }
3554
3555 output = &GetObjectTorrentOutput{}
3556 req = c.newRequest(op, input, output)
3557 return
3558 }
3559
3560 // GetObjectTorrent API operation for Amazon Simple Storage Service.
3561 //
3562 // Return torrent files from a bucket.
3563 //
3564 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3565 // with awserr.Error's Code and Message methods to get detailed information about
3566 // the error.
3567 //
3568 // See the AWS API reference guide for Amazon Simple Storage Service's
3569 // API operation GetObjectTorrent for usage and error information.
3570 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3571 func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
3572 req, out := c.GetObjectTorrentRequest(input)
3573 return out, req.Send()
3574 }
3575
3576 // GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
3577 // the ability to pass a context and additional request options.
3578 //
3579 // See GetObjectTorrent for details on how to use this API operation.
3580 //
3581 // The context must be non-nil and will be used for request cancellation. If
3582 // the context is nil a panic will occur. In the future the SDK may create
3583 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3584 // for more information on using Contexts.
3585 func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) {
3586 req, out := c.GetObjectTorrentRequest(input)
3587 req.SetContext(ctx)
3588 req.ApplyOptions(opts...)
3589 return out, req.Send()
3590 }
3591
3592 const opGetPublicAccessBlock = "GetPublicAccessBlock"
3593
3594 // GetPublicAccessBlockRequest generates a "aws/request.Request" representing the
3595 // client's request for the GetPublicAccessBlock operation. The "output" return
3596 // value will be populated with the request's response once the request completes
3597 // successfully.
3598 //
3599 // Use "Send" method on the returned Request to send the API call to the service.
3600 // the "output" return value is not valid until after Send returns without error.
3601 //
3602 // See GetPublicAccessBlock for more information on using the GetPublicAccessBlock
3603 // API call, and error handling.
3604 //
3605 // This method is useful when you want to inject custom logic or configuration
3606 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3607 //
3608 //
3609 // // Example sending a request using the GetPublicAccessBlockRequest method.
3610 // req, resp := client.GetPublicAccessBlockRequest(params)
3611 //
3612 // err := req.Send()
3613 // if err == nil { // resp is now filled
3614 // fmt.Println(resp)
3615 // }
3616 //
3617 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3618 func (c *S3) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) {
3619 op := &request.Operation{
3620 Name: opGetPublicAccessBlock,
3621 HTTPMethod: "GET",
3622 HTTPPath: "/{Bucket}?publicAccessBlock",
3623 }
3624
3625 if input == nil {
3626 input = &GetPublicAccessBlockInput{}
3627 }
3628
3629 output = &GetPublicAccessBlockOutput{}
3630 req = c.newRequest(op, input, output)
3631 return
3632 }
3633
3634 // GetPublicAccessBlock API operation for Amazon Simple Storage Service.
3635 //
3636 // Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
3637 //
3638 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3639 // with awserr.Error's Code and Message methods to get detailed information about
3640 // the error.
3641 //
3642 // See the AWS API reference guide for Amazon Simple Storage Service's
3643 // API operation GetPublicAccessBlock for usage and error information.
3644 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3645 func (c *S3) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) {
3646 req, out := c.GetPublicAccessBlockRequest(input)
3647 return out, req.Send()
3648 }
3649
3650 // GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of
3651 // the ability to pass a context and additional request options.
3652 //
3653 // See GetPublicAccessBlock for details on how to use this API operation.
3654 //
3655 // The context must be non-nil and will be used for request cancellation. If
3656 // the context is nil a panic will occur. In the future the SDK may create
3657 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3658 // for more information on using Contexts.
3659 func (c *S3) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) {
3660 req, out := c.GetPublicAccessBlockRequest(input)
3661 req.SetContext(ctx)
3662 req.ApplyOptions(opts...)
3663 return out, req.Send()
3664 }
3665
3666 const opHeadBucket = "HeadBucket"
3667
3668 // HeadBucketRequest generates a "aws/request.Request" representing the
3669 // client's request for the HeadBucket operation. The "output" return
3670 // value will be populated with the request's response once the request completes
3671 // successfully.
3672 //
3673 // Use "Send" method on the returned Request to send the API call to the service.
3674 // the "output" return value is not valid until after Send returns without error.
3675 //
3676 // See HeadBucket for more information on using the HeadBucket
3677 // API call, and error handling.
3678 //
3679 // This method is useful when you want to inject custom logic or configuration
3680 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3681 //
3682 //
3683 // // Example sending a request using the HeadBucketRequest method.
3684 // req, resp := client.HeadBucketRequest(params)
3685 //
3686 // err := req.Send()
3687 // if err == nil { // resp is now filled
3688 // fmt.Println(resp)
3689 // }
3690 //
3691 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3692 func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) {
3693 op := &request.Operation{
3694 Name: opHeadBucket,
3695 HTTPMethod: "HEAD",
3696 HTTPPath: "/{Bucket}",
3697 }
3698
3699 if input == nil {
3700 input = &HeadBucketInput{}
3701 }
3702
3703 output = &HeadBucketOutput{}
3704 req = c.newRequest(op, input, output)
3705 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3706 return
3707 }
3708
3709 // HeadBucket API operation for Amazon Simple Storage Service.
3710 //
3711 // This operation is useful to determine if a bucket exists and you have permission
3712 // to access it.
3713 //
3714 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3715 // with awserr.Error's Code and Message methods to get detailed information about
3716 // the error.
3717 //
3718 // See the AWS API reference guide for Amazon Simple Storage Service's
3719 // API operation HeadBucket for usage and error information.
3720 //
3721 // Returned Error Codes:
3722 // * ErrCodeNoSuchBucket "NoSuchBucket"
3723 // The specified bucket does not exist.
3724 //
3725 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3726 func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
3727 req, out := c.HeadBucketRequest(input)
3728 return out, req.Send()
3729 }
3730
3731 // HeadBucketWithContext is the same as HeadBucket with the addition of
3732 // the ability to pass a context and additional request options.
3733 //
3734 // See HeadBucket for details on how to use this API operation.
3735 //
3736 // The context must be non-nil and will be used for request cancellation. If
3737 // the context is nil a panic will occur. In the future the SDK may create
3738 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3739 // for more information on using Contexts.
3740 func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) {
3741 req, out := c.HeadBucketRequest(input)
3742 req.SetContext(ctx)
3743 req.ApplyOptions(opts...)
3744 return out, req.Send()
3745 }
3746
3747 const opHeadObject = "HeadObject"
3748
3749 // HeadObjectRequest generates a "aws/request.Request" representing the
3750 // client's request for the HeadObject operation. The "output" return
3751 // value will be populated with the request's response once the request completes
3752 // successfully.
3753 //
3754 // Use "Send" method on the returned Request to send the API call to the service.
3755 // the "output" return value is not valid until after Send returns without error.
3756 //
3757 // See HeadObject for more information on using the HeadObject
3758 // API call, and error handling.
3759 //
3760 // This method is useful when you want to inject custom logic or configuration
3761 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3762 //
3763 //
3764 // // Example sending a request using the HeadObjectRequest method.
3765 // req, resp := client.HeadObjectRequest(params)
3766 //
3767 // err := req.Send()
3768 // if err == nil { // resp is now filled
3769 // fmt.Println(resp)
3770 // }
3771 //
3772 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3773 func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) {
3774 op := &request.Operation{
3775 Name: opHeadObject,
3776 HTTPMethod: "HEAD",
3777 HTTPPath: "/{Bucket}/{Key+}",
3778 }
3779
3780 if input == nil {
3781 input = &HeadObjectInput{}
3782 }
3783
3784 output = &HeadObjectOutput{}
3785 req = c.newRequest(op, input, output)
3786 return
3787 }
3788
3789 // HeadObject API operation for Amazon Simple Storage Service.
3790 //
3791 // The HEAD operation retrieves metadata from an object without returning the
3792 // object itself. This operation is useful if you're only interested in an object's
3793 // metadata. To use HEAD, you must have READ access to the object.
3794 //
3795 // See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
3796 // for more information on returned errors.
3797 //
3798 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3799 // with awserr.Error's Code and Message methods to get detailed information about
3800 // the error.
3801 //
3802 // See the AWS API reference guide for Amazon Simple Storage Service's
3803 // API operation HeadObject for usage and error information.
3804 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3805 func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
3806 req, out := c.HeadObjectRequest(input)
3807 return out, req.Send()
3808 }
3809
3810 // HeadObjectWithContext is the same as HeadObject with the addition of
3811 // the ability to pass a context and additional request options.
3812 //
3813 // See HeadObject for details on how to use this API operation.
3814 //
3815 // The context must be non-nil and will be used for request cancellation. If
3816 // the context is nil a panic will occur. In the future the SDK may create
3817 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3818 // for more information on using Contexts.
3819 func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) {
3820 req, out := c.HeadObjectRequest(input)
3821 req.SetContext(ctx)
3822 req.ApplyOptions(opts...)
3823 return out, req.Send()
3824 }
3825
3826 const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
3827
3828 // ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
3829 // client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
3830 // value will be populated with the request's response once the request completes
3831 // successfully.
3832 //
3833 // Use "Send" method on the returned Request to send the API call to the service.
3834 // the "output" return value is not valid until after Send returns without error.
3835 //
3836 // See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
3837 // API call, and error handling.
3838 //
3839 // This method is useful when you want to inject custom logic or configuration
3840 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3841 //
3842 //
3843 // // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
3844 // req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
3845 //
3846 // err := req.Send()
3847 // if err == nil { // resp is now filled
3848 // fmt.Println(resp)
3849 // }
3850 //
3851 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3852 func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) {
3853 op := &request.Operation{
3854 Name: opListBucketAnalyticsConfigurations,
3855 HTTPMethod: "GET",
3856 HTTPPath: "/{Bucket}?analytics",
3857 }
3858
3859 if input == nil {
3860 input = &ListBucketAnalyticsConfigurationsInput{}
3861 }
3862
3863 output = &ListBucketAnalyticsConfigurationsOutput{}
3864 req = c.newRequest(op, input, output)
3865 return
3866 }
3867
3868 // ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service.
3869 //
3870 // Lists the analytics configurations for the bucket.
3871 //
3872 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3873 // with awserr.Error's Code and Message methods to get detailed information about
3874 // the error.
3875 //
3876 // See the AWS API reference guide for Amazon Simple Storage Service's
3877 // API operation ListBucketAnalyticsConfigurations for usage and error information.
3878 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3879 func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
3880 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
3881 return out, req.Send()
3882 }
3883
3884 // ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
3885 // the ability to pass a context and additional request options.
3886 //
3887 // See ListBucketAnalyticsConfigurations for details on how to use this API operation.
3888 //
3889 // The context must be non-nil and will be used for request cancellation. If
3890 // the context is nil a panic will occur. In the future the SDK may create
3891 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3892 // for more information on using Contexts.
3893 func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) {
3894 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
3895 req.SetContext(ctx)
3896 req.ApplyOptions(opts...)
3897 return out, req.Send()
3898 }
3899
3900 const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
3901
3902 // ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
3903 // client's request for the ListBucketInventoryConfigurations operation. The "output" return
3904 // value will be populated with the request's response once the request completes
3905 // successfully.
3906 //
3907 // Use "Send" method on the returned Request to send the API call to the service.
3908 // the "output" return value is not valid until after Send returns without error.
3909 //
3910 // See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
3911 // API call, and error handling.
3912 //
3913 // This method is useful when you want to inject custom logic or configuration
3914 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3915 //
3916 //
3917 // // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
3918 // req, resp := client.ListBucketInventoryConfigurationsRequest(params)
3919 //
3920 // err := req.Send()
3921 // if err == nil { // resp is now filled
3922 // fmt.Println(resp)
3923 // }
3924 //
3925 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3926 func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) {
3927 op := &request.Operation{
3928 Name: opListBucketInventoryConfigurations,
3929 HTTPMethod: "GET",
3930 HTTPPath: "/{Bucket}?inventory",
3931 }
3932
3933 if input == nil {
3934 input = &ListBucketInventoryConfigurationsInput{}
3935 }
3936
3937 output = &ListBucketInventoryConfigurationsOutput{}
3938 req = c.newRequest(op, input, output)
3939 return
3940 }
3941
3942 // ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service.
3943 //
3944 // Returns a list of inventory configurations for the bucket.
3945 //
3946 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3947 // with awserr.Error's Code and Message methods to get detailed information about
3948 // the error.
3949 //
3950 // See the AWS API reference guide for Amazon Simple Storage Service's
3951 // API operation ListBucketInventoryConfigurations for usage and error information.
3952 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3953 func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
3954 req, out := c.ListBucketInventoryConfigurationsRequest(input)
3955 return out, req.Send()
3956 }
3957
3958 // ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
3959 // the ability to pass a context and additional request options.
3960 //
3961 // See ListBucketInventoryConfigurations for details on how to use this API operation.
3962 //
3963 // The context must be non-nil and will be used for request cancellation. If
3964 // the context is nil a panic will occur. In the future the SDK may create
3965 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3966 // for more information on using Contexts.
3967 func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) {
3968 req, out := c.ListBucketInventoryConfigurationsRequest(input)
3969 req.SetContext(ctx)
3970 req.ApplyOptions(opts...)
3971 return out, req.Send()
3972 }
3973
3974 const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
3975
3976 // ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
3977 // client's request for the ListBucketMetricsConfigurations operation. The "output" return
3978 // value will be populated with the request's response once the request completes
3979 // successfully.
3980 //
3981 // Use "Send" method on the returned Request to send the API call to the service.
3982 // the "output" return value is not valid until after Send returns without error.
3983 //
3984 // See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
3985 // API call, and error handling.
3986 //
3987 // This method is useful when you want to inject custom logic or configuration
3988 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3989 //
3990 //
3991 // // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
3992 // req, resp := client.ListBucketMetricsConfigurationsRequest(params)
3993 //
3994 // err := req.Send()
3995 // if err == nil { // resp is now filled
3996 // fmt.Println(resp)
3997 // }
3998 //
3999 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4000 func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) {
4001 op := &request.Operation{
4002 Name: opListBucketMetricsConfigurations,
4003 HTTPMethod: "GET",
4004 HTTPPath: "/{Bucket}?metrics",
4005 }
4006
4007 if input == nil {
4008 input = &ListBucketMetricsConfigurationsInput{}
4009 }
4010
4011 output = &ListBucketMetricsConfigurationsOutput{}
4012 req = c.newRequest(op, input, output)
4013 return
4014 }
4015
4016 // ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service.
4017 //
4018 // Lists the metrics configurations for the bucket.
4019 //
4020 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4021 // with awserr.Error's Code and Message methods to get detailed information about
4022 // the error.
4023 //
4024 // See the AWS API reference guide for Amazon Simple Storage Service's
4025 // API operation ListBucketMetricsConfigurations for usage and error information.
4026 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4027 func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
4028 req, out := c.ListBucketMetricsConfigurationsRequest(input)
4029 return out, req.Send()
4030 }
4031
4032 // ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
4033 // the ability to pass a context and additional request options.
4034 //
4035 // See ListBucketMetricsConfigurations for details on how to use this API operation.
4036 //
4037 // The context must be non-nil and will be used for request cancellation. If
4038 // the context is nil a panic will occur. In the future the SDK may create
4039 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4040 // for more information on using Contexts.
4041 func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) {
4042 req, out := c.ListBucketMetricsConfigurationsRequest(input)
4043 req.SetContext(ctx)
4044 req.ApplyOptions(opts...)
4045 return out, req.Send()
4046 }
4047
4048 const opListBuckets = "ListBuckets"
4049
4050 // ListBucketsRequest generates a "aws/request.Request" representing the
4051 // client's request for the ListBuckets operation. The "output" return
4052 // value will be populated with the request's response once the request completes
4053 // successfully.
4054 //
4055 // Use "Send" method on the returned Request to send the API call to the service.
4056 // the "output" return value is not valid until after Send returns without error.
4057 //
4058 // See ListBuckets for more information on using the ListBuckets
4059 // API call, and error handling.
4060 //
4061 // This method is useful when you want to inject custom logic or configuration
4062 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4063 //
4064 //
4065 // // Example sending a request using the ListBucketsRequest method.
4066 // req, resp := client.ListBucketsRequest(params)
4067 //
4068 // err := req.Send()
4069 // if err == nil { // resp is now filled
4070 // fmt.Println(resp)
4071 // }
4072 //
4073 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4074 func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) {
4075 op := &request.Operation{
4076 Name: opListBuckets,
4077 HTTPMethod: "GET",
4078 HTTPPath: "/",
4079 }
4080
4081 if input == nil {
4082 input = &ListBucketsInput{}
4083 }
4084
4085 output = &ListBucketsOutput{}
4086 req = c.newRequest(op, input, output)
4087 return
4088 }
4089
4090 // ListBuckets API operation for Amazon Simple Storage Service.
4091 //
4092 // Returns a list of all buckets owned by the authenticated sender of the request.
4093 //
4094 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4095 // with awserr.Error's Code and Message methods to get detailed information about
4096 // the error.
4097 //
4098 // See the AWS API reference guide for Amazon Simple Storage Service's
4099 // API operation ListBuckets for usage and error information.
4100 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4101 func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
4102 req, out := c.ListBucketsRequest(input)
4103 return out, req.Send()
4104 }
4105
4106 // ListBucketsWithContext is the same as ListBuckets with the addition of
4107 // the ability to pass a context and additional request options.
4108 //
4109 // See ListBuckets for details on how to use this API operation.
4110 //
4111 // The context must be non-nil and will be used for request cancellation. If
4112 // the context is nil a panic will occur. In the future the SDK may create
4113 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4114 // for more information on using Contexts.
4115 func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) {
4116 req, out := c.ListBucketsRequest(input)
4117 req.SetContext(ctx)
4118 req.ApplyOptions(opts...)
4119 return out, req.Send()
4120 }
4121
4122 const opListMultipartUploads = "ListMultipartUploads"
4123
4124 // ListMultipartUploadsRequest generates a "aws/request.Request" representing the
4125 // client's request for the ListMultipartUploads operation. The "output" return
4126 // value will be populated with the request's response once the request completes
4127 // successfully.
4128 //
4129 // Use "Send" method on the returned Request to send the API call to the service.
4130 // the "output" return value is not valid until after Send returns without error.
4131 //
4132 // See ListMultipartUploads for more information on using the ListMultipartUploads
4133 // API call, and error handling.
4134 //
4135 // This method is useful when you want to inject custom logic or configuration
4136 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4137 //
4138 //
4139 // // Example sending a request using the ListMultipartUploadsRequest method.
4140 // req, resp := client.ListMultipartUploadsRequest(params)
4141 //
4142 // err := req.Send()
4143 // if err == nil { // resp is now filled
4144 // fmt.Println(resp)
4145 // }
4146 //
4147 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4148 func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
4149 op := &request.Operation{
4150 Name: opListMultipartUploads,
4151 HTTPMethod: "GET",
4152 HTTPPath: "/{Bucket}?uploads",
4153 Paginator: &request.Paginator{
4154 InputTokens: []string{"KeyMarker", "UploadIdMarker"},
4155 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"},
4156 LimitToken: "MaxUploads",
4157 TruncationToken: "IsTruncated",
4158 },
4159 }
4160
4161 if input == nil {
4162 input = &ListMultipartUploadsInput{}
4163 }
4164
4165 output = &ListMultipartUploadsOutput{}
4166 req = c.newRequest(op, input, output)
4167 return
4168 }
4169
4170 // ListMultipartUploads API operation for Amazon Simple Storage Service.
4171 //
4172 // This operation lists in-progress multipart uploads.
4173 //
4174 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4175 // with awserr.Error's Code and Message methods to get detailed information about
4176 // the error.
4177 //
4178 // See the AWS API reference guide for Amazon Simple Storage Service's
4179 // API operation ListMultipartUploads for usage and error information.
4180 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4181 func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
4182 req, out := c.ListMultipartUploadsRequest(input)
4183 return out, req.Send()
4184 }
4185
4186 // ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
4187 // the ability to pass a context and additional request options.
4188 //
4189 // See ListMultipartUploads for details on how to use this API operation.
4190 //
4191 // The context must be non-nil and will be used for request cancellation. If
4192 // the context is nil a panic will occur. In the future the SDK may create
4193 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4194 // for more information on using Contexts.
4195 func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) {
4196 req, out := c.ListMultipartUploadsRequest(input)
4197 req.SetContext(ctx)
4198 req.ApplyOptions(opts...)
4199 return out, req.Send()
4200 }
4201
4202 // ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation,
4203 // calling the "fn" function with the response data for each page. To stop
4204 // iterating, return false from the fn function.
4205 //
4206 // See ListMultipartUploads method for more information on how to use this operation.
4207 //
4208 // Note: This operation can generate multiple requests to a service.
4209 //
4210 // // Example iterating over at most 3 pages of a ListMultipartUploads operation.
4211 // pageNum := 0
4212 // err := client.ListMultipartUploadsPages(params,
4213 // func(page *ListMultipartUploadsOutput, lastPage bool) bool {
4214 // pageNum++
4215 // fmt.Println(page)
4216 // return pageNum <= 3
4217 // })
4218 //
4219 func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
4220 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
4221 }
4222
4223 // ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except
4224 // it takes a Context and allows setting request options on the pages.
4225 //
4226 // The context must be non-nil and will be used for request cancellation. If
4227 // the context is nil a panic will occur. In the future the SDK may create
4228 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4229 // for more information on using Contexts.
4230 func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error {
4231 p := request.Pagination{
4232 NewRequest: func() (*request.Request, error) {
4233 var inCpy *ListMultipartUploadsInput
4234 if input != nil {
4235 tmp := *input
4236 inCpy = &tmp
4237 }
4238 req, _ := c.ListMultipartUploadsRequest(inCpy)
4239 req.SetContext(ctx)
4240 req.ApplyOptions(opts...)
4241 return req, nil
4242 },
4243 }
4244
4245 cont := true
4246 for p.Next() && cont {
4247 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
4248 }
4249 return p.Err()
4250 }
4251
4252 const opListObjectVersions = "ListObjectVersions"
4253
4254 // ListObjectVersionsRequest generates a "aws/request.Request" representing the
4255 // client's request for the ListObjectVersions operation. The "output" return
4256 // value will be populated with the request's response once the request completes
4257 // successfully.
4258 //
4259 // Use "Send" method on the returned Request to send the API call to the service.
4260 // the "output" return value is not valid until after Send returns without error.
4261 //
4262 // See ListObjectVersions for more information on using the ListObjectVersions
4263 // API call, and error handling.
4264 //
4265 // This method is useful when you want to inject custom logic or configuration
4266 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4267 //
4268 //
4269 // // Example sending a request using the ListObjectVersionsRequest method.
4270 // req, resp := client.ListObjectVersionsRequest(params)
4271 //
4272 // err := req.Send()
4273 // if err == nil { // resp is now filled
4274 // fmt.Println(resp)
4275 // }
4276 //
4277 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4278 func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) {
4279 op := &request.Operation{
4280 Name: opListObjectVersions,
4281 HTTPMethod: "GET",
4282 HTTPPath: "/{Bucket}?versions",
4283 Paginator: &request.Paginator{
4284 InputTokens: []string{"KeyMarker", "VersionIdMarker"},
4285 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"},
4286 LimitToken: "MaxKeys",
4287 TruncationToken: "IsTruncated",
4288 },
4289 }
4290
4291 if input == nil {
4292 input = &ListObjectVersionsInput{}
4293 }
4294
4295 output = &ListObjectVersionsOutput{}
4296 req = c.newRequest(op, input, output)
4297 return
4298 }
4299
4300 // ListObjectVersions API operation for Amazon Simple Storage Service.
4301 //
4302 // Returns metadata about all of the versions of objects in a bucket.
4303 //
4304 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4305 // with awserr.Error's Code and Message methods to get detailed information about
4306 // the error.
4307 //
4308 // See the AWS API reference guide for Amazon Simple Storage Service's
4309 // API operation ListObjectVersions for usage and error information.
4310 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4311 func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
4312 req, out := c.ListObjectVersionsRequest(input)
4313 return out, req.Send()
4314 }
4315
4316 // ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
4317 // the ability to pass a context and additional request options.
4318 //
4319 // See ListObjectVersions for details on how to use this API operation.
4320 //
4321 // The context must be non-nil and will be used for request cancellation. If
4322 // the context is nil a panic will occur. In the future the SDK may create
4323 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4324 // for more information on using Contexts.
4325 func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) {
4326 req, out := c.ListObjectVersionsRequest(input)
4327 req.SetContext(ctx)
4328 req.ApplyOptions(opts...)
4329 return out, req.Send()
4330 }
4331
4332 // ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation,
4333 // calling the "fn" function with the response data for each page. To stop
4334 // iterating, return false from the fn function.
4335 //
4336 // See ListObjectVersions method for more information on how to use this operation.
4337 //
4338 // Note: This operation can generate multiple requests to a service.
4339 //
4340 // // Example iterating over at most 3 pages of a ListObjectVersions operation.
4341 // pageNum := 0
4342 // err := client.ListObjectVersionsPages(params,
4343 // func(page *ListObjectVersionsOutput, lastPage bool) bool {
4344 // pageNum++
4345 // fmt.Println(page)
4346 // return pageNum <= 3
4347 // })
4348 //
4349 func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
4350 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
4351 }
4352
4353 // ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except
4354 // it takes a Context and allows setting request options on the pages.
4355 //
4356 // The context must be non-nil and will be used for request cancellation. If
4357 // the context is nil a panic will occur. In the future the SDK may create
4358 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4359 // for more information on using Contexts.
4360 func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error {
4361 p := request.Pagination{
4362 NewRequest: func() (*request.Request, error) {
4363 var inCpy *ListObjectVersionsInput
4364 if input != nil {
4365 tmp := *input
4366 inCpy = &tmp
4367 }
4368 req, _ := c.ListObjectVersionsRequest(inCpy)
4369 req.SetContext(ctx)
4370 req.ApplyOptions(opts...)
4371 return req, nil
4372 },
4373 }
4374
4375 cont := true
4376 for p.Next() && cont {
4377 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
4378 }
4379 return p.Err()
4380 }
4381
4382 const opListObjects = "ListObjects"
4383
4384 // ListObjectsRequest generates a "aws/request.Request" representing the
4385 // client's request for the ListObjects operation. The "output" return
4386 // value will be populated with the request's response once the request completes
4387 // successfully.
4388 //
4389 // Use "Send" method on the returned Request to send the API call to the service.
4390 // the "output" return value is not valid until after Send returns without error.
4391 //
4392 // See ListObjects for more information on using the ListObjects
4393 // API call, and error handling.
4394 //
4395 // This method is useful when you want to inject custom logic or configuration
4396 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4397 //
4398 //
4399 // // Example sending a request using the ListObjectsRequest method.
4400 // req, resp := client.ListObjectsRequest(params)
4401 //
4402 // err := req.Send()
4403 // if err == nil { // resp is now filled
4404 // fmt.Println(resp)
4405 // }
4406 //
4407 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4408 func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) {
4409 op := &request.Operation{
4410 Name: opListObjects,
4411 HTTPMethod: "GET",
4412 HTTPPath: "/{Bucket}",
4413 Paginator: &request.Paginator{
4414 InputTokens: []string{"Marker"},
4415 OutputTokens: []string{"NextMarker || Contents[-1].Key"},
4416 LimitToken: "MaxKeys",
4417 TruncationToken: "IsTruncated",
4418 },
4419 }
4420
4421 if input == nil {
4422 input = &ListObjectsInput{}
4423 }
4424
4425 output = &ListObjectsOutput{}
4426 req = c.newRequest(op, input, output)
4427 return
4428 }
4429
4430 // ListObjects API operation for Amazon Simple Storage Service.
4431 //
4432 // Returns some or all (up to 1000) of the objects in a bucket. You can use
4433 // the request parameters as selection criteria to return a subset of the objects
4434 // in a bucket.
4435 //
4436 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4437 // with awserr.Error's Code and Message methods to get detailed information about
4438 // the error.
4439 //
4440 // See the AWS API reference guide for Amazon Simple Storage Service's
4441 // API operation ListObjects for usage and error information.
4442 //
4443 // Returned Error Codes:
4444 // * ErrCodeNoSuchBucket "NoSuchBucket"
4445 // The specified bucket does not exist.
4446 //
4447 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4448 func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
4449 req, out := c.ListObjectsRequest(input)
4450 return out, req.Send()
4451 }
4452
4453 // ListObjectsWithContext is the same as ListObjects with the addition of
4454 // the ability to pass a context and additional request options.
4455 //
4456 // See ListObjects for details on how to use this API operation.
4457 //
4458 // The context must be non-nil and will be used for request cancellation. If
4459 // the context is nil a panic will occur. In the future the SDK may create
4460 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4461 // for more information on using Contexts.
4462 func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) {
4463 req, out := c.ListObjectsRequest(input)
4464 req.SetContext(ctx)
4465 req.ApplyOptions(opts...)
4466 return out, req.Send()
4467 }
4468
4469 // ListObjectsPages iterates over the pages of a ListObjects operation,
4470 // calling the "fn" function with the response data for each page. To stop
4471 // iterating, return false from the fn function.
4472 //
4473 // See ListObjects method for more information on how to use this operation.
4474 //
4475 // Note: This operation can generate multiple requests to a service.
4476 //
4477 // // Example iterating over at most 3 pages of a ListObjects operation.
4478 // pageNum := 0
4479 // err := client.ListObjectsPages(params,
4480 // func(page *ListObjectsOutput, lastPage bool) bool {
4481 // pageNum++
4482 // fmt.Println(page)
4483 // return pageNum <= 3
4484 // })
4485 //
4486 func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
4487 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4488 }
4489
4490 // ListObjectsPagesWithContext same as ListObjectsPages except
4491 // it takes a Context and allows setting request options on the pages.
4492 //
4493 // The context must be non-nil and will be used for request cancellation. If
4494 // the context is nil a panic will occur. In the future the SDK may create
4495 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4496 // for more information on using Contexts.
4497 func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error {
4498 p := request.Pagination{
4499 NewRequest: func() (*request.Request, error) {
4500 var inCpy *ListObjectsInput
4501 if input != nil {
4502 tmp := *input
4503 inCpy = &tmp
4504 }
4505 req, _ := c.ListObjectsRequest(inCpy)
4506 req.SetContext(ctx)
4507 req.ApplyOptions(opts...)
4508 return req, nil
4509 },
4510 }
4511
4512 cont := true
4513 for p.Next() && cont {
4514 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
4515 }
4516 return p.Err()
4517 }
4518
4519 const opListObjectsV2 = "ListObjectsV2"
4520
4521 // ListObjectsV2Request generates a "aws/request.Request" representing the
4522 // client's request for the ListObjectsV2 operation. The "output" return
4523 // value will be populated with the request's response once the request completes
4524 // successfully.
4525 //
4526 // Use "Send" method on the returned Request to send the API call to the service.
4527 // the "output" return value is not valid until after Send returns without error.
4528 //
4529 // See ListObjectsV2 for more information on using the ListObjectsV2
4530 // API call, and error handling.
4531 //
4532 // This method is useful when you want to inject custom logic or configuration
4533 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4534 //
4535 //
4536 // // Example sending a request using the ListObjectsV2Request method.
4537 // req, resp := client.ListObjectsV2Request(params)
4538 //
4539 // err := req.Send()
4540 // if err == nil { // resp is now filled
4541 // fmt.Println(resp)
4542 // }
4543 //
4544 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4545 func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) {
4546 op := &request.Operation{
4547 Name: opListObjectsV2,
4548 HTTPMethod: "GET",
4549 HTTPPath: "/{Bucket}?list-type=2",
4550 Paginator: &request.Paginator{
4551 InputTokens: []string{"ContinuationToken"},
4552 OutputTokens: []string{"NextContinuationToken"},
4553 LimitToken: "MaxKeys",
4554 TruncationToken: "",
4555 },
4556 }
4557
4558 if input == nil {
4559 input = &ListObjectsV2Input{}
4560 }
4561
4562 output = &ListObjectsV2Output{}
4563 req = c.newRequest(op, input, output)
4564 return
4565 }
4566
4567 // ListObjectsV2 API operation for Amazon Simple Storage Service.
4568 //
4569 // Returns some or all (up to 1000) of the objects in a bucket. You can use
4570 // the request parameters as selection criteria to return a subset of the objects
4571 // in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend
4572 // you use this revised API for new application development.
4573 //
4574 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4575 // with awserr.Error's Code and Message methods to get detailed information about
4576 // the error.
4577 //
4578 // See the AWS API reference guide for Amazon Simple Storage Service's
4579 // API operation ListObjectsV2 for usage and error information.
4580 //
4581 // Returned Error Codes:
4582 // * ErrCodeNoSuchBucket "NoSuchBucket"
4583 // The specified bucket does not exist.
4584 //
4585 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4586 func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
4587 req, out := c.ListObjectsV2Request(input)
4588 return out, req.Send()
4589 }
4590
4591 // ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
4592 // the ability to pass a context and additional request options.
4593 //
4594 // See ListObjectsV2 for details on how to use this API operation.
4595 //
4596 // The context must be non-nil and will be used for request cancellation. If
4597 // the context is nil a panic will occur. In the future the SDK may create
4598 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4599 // for more information on using Contexts.
4600 func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) {
4601 req, out := c.ListObjectsV2Request(input)
4602 req.SetContext(ctx)
4603 req.ApplyOptions(opts...)
4604 return out, req.Send()
4605 }
4606
4607 // ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation,
4608 // calling the "fn" function with the response data for each page. To stop
4609 // iterating, return false from the fn function.
4610 //
4611 // See ListObjectsV2 method for more information on how to use this operation.
4612 //
4613 // Note: This operation can generate multiple requests to a service.
4614 //
4615 // // Example iterating over at most 3 pages of a ListObjectsV2 operation.
4616 // pageNum := 0
4617 // err := client.ListObjectsV2Pages(params,
4618 // func(page *ListObjectsV2Output, lastPage bool) bool {
4619 // pageNum++
4620 // fmt.Println(page)
4621 // return pageNum <= 3
4622 // })
4623 //
4624 func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
4625 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
4626 }
4627
4628 // ListObjectsV2PagesWithContext same as ListObjectsV2Pages except
4629 // it takes a Context and allows setting request options on the pages.
4630 //
4631 // The context must be non-nil and will be used for request cancellation. If
4632 // the context is nil a panic will occur. In the future the SDK may create
4633 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4634 // for more information on using Contexts.
4635 func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error {
4636 p := request.Pagination{
4637 NewRequest: func() (*request.Request, error) {
4638 var inCpy *ListObjectsV2Input
4639 if input != nil {
4640 tmp := *input
4641 inCpy = &tmp
4642 }
4643 req, _ := c.ListObjectsV2Request(inCpy)
4644 req.SetContext(ctx)
4645 req.ApplyOptions(opts...)
4646 return req, nil
4647 },
4648 }
4649
4650 cont := true
4651 for p.Next() && cont {
4652 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
4653 }
4654 return p.Err()
4655 }
4656
4657 const opListParts = "ListParts"
4658
4659 // ListPartsRequest generates a "aws/request.Request" representing the
4660 // client's request for the ListParts operation. The "output" return
4661 // value will be populated with the request's response once the request completes
4662 // successfully.
4663 //
4664 // Use "Send" method on the returned Request to send the API call to the service.
4665 // the "output" return value is not valid until after Send returns without error.
4666 //
4667 // See ListParts for more information on using the ListParts
4668 // API call, and error handling.
4669 //
4670 // This method is useful when you want to inject custom logic or configuration
4671 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4672 //
4673 //
4674 // // Example sending a request using the ListPartsRequest method.
4675 // req, resp := client.ListPartsRequest(params)
4676 //
4677 // err := req.Send()
4678 // if err == nil { // resp is now filled
4679 // fmt.Println(resp)
4680 // }
4681 //
4682 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4683 func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
4684 op := &request.Operation{
4685 Name: opListParts,
4686 HTTPMethod: "GET",
4687 HTTPPath: "/{Bucket}/{Key+}",
4688 Paginator: &request.Paginator{
4689 InputTokens: []string{"PartNumberMarker"},
4690 OutputTokens: []string{"NextPartNumberMarker"},
4691 LimitToken: "MaxParts",
4692 TruncationToken: "IsTruncated",
4693 },
4694 }
4695
4696 if input == nil {
4697 input = &ListPartsInput{}
4698 }
4699
4700 output = &ListPartsOutput{}
4701 req = c.newRequest(op, input, output)
4702 return
4703 }
4704
4705 // ListParts API operation for Amazon Simple Storage Service.
4706 //
4707 // Lists the parts that have been uploaded for a specific multipart upload.
4708 //
4709 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4710 // with awserr.Error's Code and Message methods to get detailed information about
4711 // the error.
4712 //
4713 // See the AWS API reference guide for Amazon Simple Storage Service's
4714 // API operation ListParts for usage and error information.
4715 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4716 func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
4717 req, out := c.ListPartsRequest(input)
4718 return out, req.Send()
4719 }
4720
4721 // ListPartsWithContext is the same as ListParts with the addition of
4722 // the ability to pass a context and additional request options.
4723 //
4724 // See ListParts for details on how to use this API operation.
4725 //
4726 // The context must be non-nil and will be used for request cancellation. If
4727 // the context is nil a panic will occur. In the future the SDK may create
4728 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4729 // for more information on using Contexts.
4730 func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) {
4731 req, out := c.ListPartsRequest(input)
4732 req.SetContext(ctx)
4733 req.ApplyOptions(opts...)
4734 return out, req.Send()
4735 }
4736
4737 // ListPartsPages iterates over the pages of a ListParts operation,
4738 // calling the "fn" function with the response data for each page. To stop
4739 // iterating, return false from the fn function.
4740 //
4741 // See ListParts method for more information on how to use this operation.
4742 //
4743 // Note: This operation can generate multiple requests to a service.
4744 //
4745 // // Example iterating over at most 3 pages of a ListParts operation.
4746 // pageNum := 0
4747 // err := client.ListPartsPages(params,
4748 // func(page *ListPartsOutput, lastPage bool) bool {
4749 // pageNum++
4750 // fmt.Println(page)
4751 // return pageNum <= 3
4752 // })
4753 //
4754 func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
4755 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
4756 }
4757
4758 // ListPartsPagesWithContext same as ListPartsPages except
4759 // it takes a Context and allows setting request options on the pages.
4760 //
4761 // The context must be non-nil and will be used for request cancellation. If
4762 // the context is nil a panic will occur. In the future the SDK may create
4763 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4764 // for more information on using Contexts.
4765 func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error {
4766 p := request.Pagination{
4767 NewRequest: func() (*request.Request, error) {
4768 var inCpy *ListPartsInput
4769 if input != nil {
4770 tmp := *input
4771 inCpy = &tmp
4772 }
4773 req, _ := c.ListPartsRequest(inCpy)
4774 req.SetContext(ctx)
4775 req.ApplyOptions(opts...)
4776 return req, nil
4777 },
4778 }
4779
4780 cont := true
4781 for p.Next() && cont {
4782 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
4783 }
4784 return p.Err()
4785 }
4786
4787 const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
4788
4789 // PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
4790 // client's request for the PutBucketAccelerateConfiguration operation. The "output" return
4791 // value will be populated with the request's response once the request completes
4792 // successfully.
4793 //
4794 // Use "Send" method on the returned Request to send the API call to the service.
4795 // the "output" return value is not valid until after Send returns without error.
4796 //
4797 // See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
4798 // API call, and error handling.
4799 //
4800 // This method is useful when you want to inject custom logic or configuration
4801 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4802 //
4803 //
4804 // // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
4805 // req, resp := client.PutBucketAccelerateConfigurationRequest(params)
4806 //
4807 // err := req.Send()
4808 // if err == nil { // resp is now filled
4809 // fmt.Println(resp)
4810 // }
4811 //
4812 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4813 func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) {
4814 op := &request.Operation{
4815 Name: opPutBucketAccelerateConfiguration,
4816 HTTPMethod: "PUT",
4817 HTTPPath: "/{Bucket}?accelerate",
4818 }
4819
4820 if input == nil {
4821 input = &PutBucketAccelerateConfigurationInput{}
4822 }
4823
4824 output = &PutBucketAccelerateConfigurationOutput{}
4825 req = c.newRequest(op, input, output)
4826 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4827 return
4828 }
4829
4830 // PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
4831 //
4832 // Sets the accelerate configuration of an existing bucket.
4833 //
4834 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4835 // with awserr.Error's Code and Message methods to get detailed information about
4836 // the error.
4837 //
4838 // See the AWS API reference guide for Amazon Simple Storage Service's
4839 // API operation PutBucketAccelerateConfiguration for usage and error information.
4840 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4841 func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
4842 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4843 return out, req.Send()
4844 }
4845
4846 // PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
4847 // the ability to pass a context and additional request options.
4848 //
4849 // See PutBucketAccelerateConfiguration for details on how to use this API operation.
4850 //
4851 // The context must be non-nil and will be used for request cancellation. If
4852 // the context is nil a panic will occur. In the future the SDK may create
4853 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4854 // for more information on using Contexts.
4855 func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) {
4856 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4857 req.SetContext(ctx)
4858 req.ApplyOptions(opts...)
4859 return out, req.Send()
4860 }
4861
4862 const opPutBucketAcl = "PutBucketAcl"
4863
4864 // PutBucketAclRequest generates a "aws/request.Request" representing the
4865 // client's request for the PutBucketAcl operation. The "output" return
4866 // value will be populated with the request's response once the request completes
4867 // successfully.
4868 //
4869 // Use "Send" method on the returned Request to send the API call to the service.
4870 // the "output" return value is not valid until after Send returns without error.
4871 //
4872 // See PutBucketAcl for more information on using the PutBucketAcl
4873 // API call, and error handling.
4874 //
4875 // This method is useful when you want to inject custom logic or configuration
4876 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4877 //
4878 //
4879 // // Example sending a request using the PutBucketAclRequest method.
4880 // req, resp := client.PutBucketAclRequest(params)
4881 //
4882 // err := req.Send()
4883 // if err == nil { // resp is now filled
4884 // fmt.Println(resp)
4885 // }
4886 //
4887 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4888 func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) {
4889 op := &request.Operation{
4890 Name: opPutBucketAcl,
4891 HTTPMethod: "PUT",
4892 HTTPPath: "/{Bucket}?acl",
4893 }
4894
4895 if input == nil {
4896 input = &PutBucketAclInput{}
4897 }
4898
4899 output = &PutBucketAclOutput{}
4900 req = c.newRequest(op, input, output)
4901 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4902 return
4903 }
4904
4905 // PutBucketAcl API operation for Amazon Simple Storage Service.
4906 //
4907 // Sets the permissions on a bucket using access control lists (ACL).
4908 //
4909 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4910 // with awserr.Error's Code and Message methods to get detailed information about
4911 // the error.
4912 //
4913 // See the AWS API reference guide for Amazon Simple Storage Service's
4914 // API operation PutBucketAcl for usage and error information.
4915 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4916 func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
4917 req, out := c.PutBucketAclRequest(input)
4918 return out, req.Send()
4919 }
4920
4921 // PutBucketAclWithContext is the same as PutBucketAcl with the addition of
4922 // the ability to pass a context and additional request options.
4923 //
4924 // See PutBucketAcl for details on how to use this API operation.
4925 //
4926 // The context must be non-nil and will be used for request cancellation. If
4927 // the context is nil a panic will occur. In the future the SDK may create
4928 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4929 // for more information on using Contexts.
4930 func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) {
4931 req, out := c.PutBucketAclRequest(input)
4932 req.SetContext(ctx)
4933 req.ApplyOptions(opts...)
4934 return out, req.Send()
4935 }
4936
4937 const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
4938
4939 // PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
4940 // client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
4941 // value will be populated with the request's response once the request completes
4942 // successfully.
4943 //
4944 // Use "Send" method on the returned Request to send the API call to the service.
4945 // the "output" return value is not valid until after Send returns without error.
4946 //
4947 // See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
4948 // API call, and error handling.
4949 //
4950 // This method is useful when you want to inject custom logic or configuration
4951 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4952 //
4953 //
4954 // // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
4955 // req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
4956 //
4957 // err := req.Send()
4958 // if err == nil { // resp is now filled
4959 // fmt.Println(resp)
4960 // }
4961 //
4962 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4963 func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) {
4964 op := &request.Operation{
4965 Name: opPutBucketAnalyticsConfiguration,
4966 HTTPMethod: "PUT",
4967 HTTPPath: "/{Bucket}?analytics",
4968 }
4969
4970 if input == nil {
4971 input = &PutBucketAnalyticsConfigurationInput{}
4972 }
4973
4974 output = &PutBucketAnalyticsConfigurationOutput{}
4975 req = c.newRequest(op, input, output)
4976 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4977 return
4978 }
4979
4980 // PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
4981 //
4982 // Sets an analytics configuration for the bucket (specified by the analytics
4983 // configuration ID).
4984 //
4985 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4986 // with awserr.Error's Code and Message methods to get detailed information about
4987 // the error.
4988 //
4989 // See the AWS API reference guide for Amazon Simple Storage Service's
4990 // API operation PutBucketAnalyticsConfiguration for usage and error information.
4991 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4992 func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
4993 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
4994 return out, req.Send()
4995 }
4996
4997 // PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
4998 // the ability to pass a context and additional request options.
4999 //
5000 // See PutBucketAnalyticsConfiguration for details on how to use this API operation.
5001 //
5002 // The context must be non-nil and will be used for request cancellation. If
5003 // the context is nil a panic will occur. In the future the SDK may create
5004 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5005 // for more information on using Contexts.
5006 func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) {
5007 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
5008 req.SetContext(ctx)
5009 req.ApplyOptions(opts...)
5010 return out, req.Send()
5011 }
5012
5013 const opPutBucketCors = "PutBucketCors"
5014
5015 // PutBucketCorsRequest generates a "aws/request.Request" representing the
5016 // client's request for the PutBucketCors operation. The "output" return
5017 // value will be populated with the request's response once the request completes
5018 // successfully.
5019 //
5020 // Use "Send" method on the returned Request to send the API call to the service.
5021 // the "output" return value is not valid until after Send returns without error.
5022 //
5023 // See PutBucketCors for more information on using the PutBucketCors
5024 // API call, and error handling.
5025 //
5026 // This method is useful when you want to inject custom logic or configuration
5027 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5028 //
5029 //
5030 // // Example sending a request using the PutBucketCorsRequest method.
5031 // req, resp := client.PutBucketCorsRequest(params)
5032 //
5033 // err := req.Send()
5034 // if err == nil { // resp is now filled
5035 // fmt.Println(resp)
5036 // }
5037 //
5038 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
5039 func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) {
5040 op := &request.Operation{
5041 Name: opPutBucketCors,
5042 HTTPMethod: "PUT",
5043 HTTPPath: "/{Bucket}?cors",
5044 }
5045
5046 if input == nil {
5047 input = &PutBucketCorsInput{}
5048 }
5049
5050 output = &PutBucketCorsOutput{}
5051 req = c.newRequest(op, input, output)
5052 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5053 return
5054 }
5055
5056 // PutBucketCors API operation for Amazon Simple Storage Service.
5057 //
5058 // Sets the CORS configuration for a bucket.
5059 //
5060 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5061 // with awserr.Error's Code and Message methods to get detailed information about
5062 // the error.
5063 //
5064 // See the AWS API reference guide for Amazon Simple Storage Service's
5065 // API operation PutBucketCors for usage and error information.
5066 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
5067 func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
5068 req, out := c.PutBucketCorsRequest(input)
5069 return out, req.Send()
5070 }
5071
5072 // PutBucketCorsWithContext is the same as PutBucketCors with the addition of
5073 // the ability to pass a context and additional request options.
5074 //
5075 // See PutBucketCors for details on how to use this API operation.
5076 //
5077 // The context must be non-nil and will be used for request cancellation. If
5078 // the context is nil a panic will occur. In the future the SDK may create
5079 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5080 // for more information on using Contexts.
5081 func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) {
5082 req, out := c.PutBucketCorsRequest(input)
5083 req.SetContext(ctx)
5084 req.ApplyOptions(opts...)
5085 return out, req.Send()
5086 }
5087
5088 const opPutBucketEncryption = "PutBucketEncryption"
5089
5090 // PutBucketEncryptionRequest generates a "aws/request.Request" representing the
5091 // client's request for the PutBucketEncryption operation. The "output" return
5092 // value will be populated with the request's response once the request completes
5093 // successfully.
5094 //
5095 // Use "Send" method on the returned Request to send the API call to the service.
5096 // the "output" return value is not valid until after Send returns without error.
5097 //
5098 // See PutBucketEncryption for more information on using the PutBucketEncryption
5099 // API call, and error handling.
5100 //
5101 // This method is useful when you want to inject custom logic or configuration
5102 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5103 //
5104 //
5105 // // Example sending a request using the PutBucketEncryptionRequest method.
5106 // req, resp := client.PutBucketEncryptionRequest(params)
5107 //
5108 // err := req.Send()
5109 // if err == nil { // resp is now filled
5110 // fmt.Println(resp)
5111 // }
5112 //
5113 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5114 func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) {
5115 op := &request.Operation{
5116 Name: opPutBucketEncryption,
5117 HTTPMethod: "PUT",
5118 HTTPPath: "/{Bucket}?encryption",
5119 }
5120
5121 if input == nil {
5122 input = &PutBucketEncryptionInput{}
5123 }
5124
5125 output = &PutBucketEncryptionOutput{}
5126 req = c.newRequest(op, input, output)
5127 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5128 return
5129 }
5130
5131 // PutBucketEncryption API operation for Amazon Simple Storage Service.
5132 //
5133 // Creates a new server-side encryption configuration (or replaces an existing
5134 // one, if present).
5135 //
5136 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5137 // with awserr.Error's Code and Message methods to get detailed information about
5138 // the error.
5139 //
5140 // See the AWS API reference guide for Amazon Simple Storage Service's
5141 // API operation PutBucketEncryption for usage and error information.
5142 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5143 func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) {
5144 req, out := c.PutBucketEncryptionRequest(input)
5145 return out, req.Send()
5146 }
5147
5148 // PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
5149 // the ability to pass a context and additional request options.
5150 //
5151 // See PutBucketEncryption for details on how to use this API operation.
5152 //
5153 // The context must be non-nil and will be used for request cancellation. If
5154 // the context is nil a panic will occur. In the future the SDK may create
5155 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5156 // for more information on using Contexts.
5157 func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) {
5158 req, out := c.PutBucketEncryptionRequest(input)
5159 req.SetContext(ctx)
5160 req.ApplyOptions(opts...)
5161 return out, req.Send()
5162 }
5163
5164 const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
5165
5166 // PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
5167 // client's request for the PutBucketInventoryConfiguration operation. The "output" return
5168 // value will be populated with the request's response once the request completes
5169 // successfully.
5170 //
5171 // Use "Send" method on the returned Request to send the API call to the service.
5172 // the "output" return value is not valid until after Send returns without error.
5173 //
5174 // See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
5175 // API call, and error handling.
5176 //
5177 // This method is useful when you want to inject custom logic or configuration
5178 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5179 //
5180 //
5181 // // Example sending a request using the PutBucketInventoryConfigurationRequest method.
5182 // req, resp := client.PutBucketInventoryConfigurationRequest(params)
5183 //
5184 // err := req.Send()
5185 // if err == nil { // resp is now filled
5186 // fmt.Println(resp)
5187 // }
5188 //
5189 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
5190 func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) {
5191 op := &request.Operation{
5192 Name: opPutBucketInventoryConfiguration,
5193 HTTPMethod: "PUT",
5194 HTTPPath: "/{Bucket}?inventory",
5195 }
5196
5197 if input == nil {
5198 input = &PutBucketInventoryConfigurationInput{}
5199 }
5200
5201 output = &PutBucketInventoryConfigurationOutput{}
5202 req = c.newRequest(op, input, output)
5203 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5204 return
5205 }
5206
5207 // PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
5208 //
5209 // Adds an inventory configuration (identified by the inventory ID) from the
5210 // bucket.
5211 //
5212 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5213 // with awserr.Error's Code and Message methods to get detailed information about
5214 // the error.
5215 //
5216 // See the AWS API reference guide for Amazon Simple Storage Service's
5217 // API operation PutBucketInventoryConfiguration for usage and error information.
5218 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
5219 func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
5220 req, out := c.PutBucketInventoryConfigurationRequest(input)
5221 return out, req.Send()
5222 }
5223
5224 // PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
5225 // the ability to pass a context and additional request options.
5226 //
5227 // See PutBucketInventoryConfiguration for details on how to use this API operation.
5228 //
5229 // The context must be non-nil and will be used for request cancellation. If
5230 // the context is nil a panic will occur. In the future the SDK may create
5231 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5232 // for more information on using Contexts.
5233 func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) {
5234 req, out := c.PutBucketInventoryConfigurationRequest(input)
5235 req.SetContext(ctx)
5236 req.ApplyOptions(opts...)
5237 return out, req.Send()
5238 }
5239
5240 const opPutBucketLifecycle = "PutBucketLifecycle"
5241
5242 // PutBucketLifecycleRequest generates a "aws/request.Request" representing the
5243 // client's request for the PutBucketLifecycle operation. The "output" return
5244 // value will be populated with the request's response once the request completes
5245 // successfully.
5246 //
5247 // Use "Send" method on the returned Request to send the API call to the service.
5248 // the "output" return value is not valid until after Send returns without error.
5249 //
5250 // See PutBucketLifecycle for more information on using the PutBucketLifecycle
5251 // API call, and error handling.
5252 //
5253 // This method is useful when you want to inject custom logic or configuration
5254 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5255 //
5256 //
5257 // // Example sending a request using the PutBucketLifecycleRequest method.
5258 // req, resp := client.PutBucketLifecycleRequest(params)
5259 //
5260 // err := req.Send()
5261 // if err == nil { // resp is now filled
5262 // fmt.Println(resp)
5263 // }
5264 //
5265 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
5266 //
5267 // Deprecated: PutBucketLifecycle has been deprecated
5268 func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) {
5269 if c.Client.Config.Logger != nil {
5270 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated")
5271 }
5272 op := &request.Operation{
5273 Name: opPutBucketLifecycle,
5274 HTTPMethod: "PUT",
5275 HTTPPath: "/{Bucket}?lifecycle",
5276 }
5277
5278 if input == nil {
5279 input = &PutBucketLifecycleInput{}
5280 }
5281
5282 output = &PutBucketLifecycleOutput{}
5283 req = c.newRequest(op, input, output)
5284 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5285 return
5286 }
5287
5288 // PutBucketLifecycle API operation for Amazon Simple Storage Service.
5289 //
5290 // No longer used, see the PutBucketLifecycleConfiguration operation.
5291 //
5292 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5293 // with awserr.Error's Code and Message methods to get detailed information about
5294 // the error.
5295 //
5296 // See the AWS API reference guide for Amazon Simple Storage Service's
5297 // API operation PutBucketLifecycle for usage and error information.
5298 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
5299 //
5300 // Deprecated: PutBucketLifecycle has been deprecated
5301 func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
5302 req, out := c.PutBucketLifecycleRequest(input)
5303 return out, req.Send()
5304 }
5305
5306 // PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
5307 // the ability to pass a context and additional request options.
5308 //
5309 // See PutBucketLifecycle for details on how to use this API operation.
5310 //
5311 // The context must be non-nil and will be used for request cancellation. If
5312 // the context is nil a panic will occur. In the future the SDK may create
5313 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5314 // for more information on using Contexts.
5315 //
5316 // Deprecated: PutBucketLifecycleWithContext has been deprecated
5317 func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) {
5318 req, out := c.PutBucketLifecycleRequest(input)
5319 req.SetContext(ctx)
5320 req.ApplyOptions(opts...)
5321 return out, req.Send()
5322 }
5323
5324 const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
5325
5326 // PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
5327 // client's request for the PutBucketLifecycleConfiguration operation. The "output" return
5328 // value will be populated with the request's response once the request completes
5329 // successfully.
5330 //
5331 // Use "Send" method on the returned Request to send the API call to the service.
5332 // the "output" return value is not valid until after Send returns without error.
5333 //
5334 // See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
5335 // API call, and error handling.
5336 //
5337 // This method is useful when you want to inject custom logic or configuration
5338 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5339 //
5340 //
5341 // // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
5342 // req, resp := client.PutBucketLifecycleConfigurationRequest(params)
5343 //
5344 // err := req.Send()
5345 // if err == nil { // resp is now filled
5346 // fmt.Println(resp)
5347 // }
5348 //
5349 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
5350 func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) {
5351 op := &request.Operation{
5352 Name: opPutBucketLifecycleConfiguration,
5353 HTTPMethod: "PUT",
5354 HTTPPath: "/{Bucket}?lifecycle",
5355 }
5356
5357 if input == nil {
5358 input = &PutBucketLifecycleConfigurationInput{}
5359 }
5360
5361 output = &PutBucketLifecycleConfigurationOutput{}
5362 req = c.newRequest(op, input, output)
5363 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5364 return
5365 }
5366
5367 // PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
5368 //
5369 // Sets lifecycle configuration for your bucket. If a lifecycle configuration
5370 // exists, it replaces it.
5371 //
5372 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5373 // with awserr.Error's Code and Message methods to get detailed information about
5374 // the error.
5375 //
5376 // See the AWS API reference guide for Amazon Simple Storage Service's
5377 // API operation PutBucketLifecycleConfiguration for usage and error information.
5378 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
5379 func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
5380 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5381 return out, req.Send()
5382 }
5383
5384 // PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
5385 // the ability to pass a context and additional request options.
5386 //
5387 // See PutBucketLifecycleConfiguration for details on how to use this API operation.
5388 //
5389 // The context must be non-nil and will be used for request cancellation. If
5390 // the context is nil a panic will occur. In the future the SDK may create
5391 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5392 // for more information on using Contexts.
5393 func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) {
5394 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5395 req.SetContext(ctx)
5396 req.ApplyOptions(opts...)
5397 return out, req.Send()
5398 }
5399
5400 const opPutBucketLogging = "PutBucketLogging"
5401
5402 // PutBucketLoggingRequest generates a "aws/request.Request" representing the
5403 // client's request for the PutBucketLogging operation. The "output" return
5404 // value will be populated with the request's response once the request completes
5405 // successfully.
5406 //
5407 // Use "Send" method on the returned Request to send the API call to the service.
5408 // the "output" return value is not valid until after Send returns without error.
5409 //
5410 // See PutBucketLogging for more information on using the PutBucketLogging
5411 // API call, and error handling.
5412 //
5413 // This method is useful when you want to inject custom logic or configuration
5414 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5415 //
5416 //
5417 // // Example sending a request using the PutBucketLoggingRequest method.
5418 // req, resp := client.PutBucketLoggingRequest(params)
5419 //
5420 // err := req.Send()
5421 // if err == nil { // resp is now filled
5422 // fmt.Println(resp)
5423 // }
5424 //
5425 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
5426 func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) {
5427 op := &request.Operation{
5428 Name: opPutBucketLogging,
5429 HTTPMethod: "PUT",
5430 HTTPPath: "/{Bucket}?logging",
5431 }
5432
5433 if input == nil {
5434 input = &PutBucketLoggingInput{}
5435 }
5436
5437 output = &PutBucketLoggingOutput{}
5438 req = c.newRequest(op, input, output)
5439 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5440 return
5441 }
5442
5443 // PutBucketLogging API operation for Amazon Simple Storage Service.
5444 //
5445 // Set the logging parameters for a bucket and to specify permissions for who
5446 // can view and modify the logging parameters. To set the logging status of
5447 // a bucket, you must be the bucket owner.
5448 //
5449 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5450 // with awserr.Error's Code and Message methods to get detailed information about
5451 // the error.
5452 //
5453 // See the AWS API reference guide for Amazon Simple Storage Service's
5454 // API operation PutBucketLogging for usage and error information.
5455 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
5456 func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
5457 req, out := c.PutBucketLoggingRequest(input)
5458 return out, req.Send()
5459 }
5460
5461 // PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
5462 // the ability to pass a context and additional request options.
5463 //
5464 // See PutBucketLogging for details on how to use this API operation.
5465 //
5466 // The context must be non-nil and will be used for request cancellation. If
5467 // the context is nil a panic will occur. In the future the SDK may create
5468 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5469 // for more information on using Contexts.
5470 func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) {
5471 req, out := c.PutBucketLoggingRequest(input)
5472 req.SetContext(ctx)
5473 req.ApplyOptions(opts...)
5474 return out, req.Send()
5475 }
5476
5477 const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
5478
5479 // PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
5480 // client's request for the PutBucketMetricsConfiguration operation. The "output" return
5481 // value will be populated with the request's response once the request completes
5482 // successfully.
5483 //
5484 // Use "Send" method on the returned Request to send the API call to the service.
5485 // the "output" return value is not valid until after Send returns without error.
5486 //
5487 // See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
5488 // API call, and error handling.
5489 //
5490 // This method is useful when you want to inject custom logic or configuration
5491 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5492 //
5493 //
5494 // // Example sending a request using the PutBucketMetricsConfigurationRequest method.
5495 // req, resp := client.PutBucketMetricsConfigurationRequest(params)
5496 //
5497 // err := req.Send()
5498 // if err == nil { // resp is now filled
5499 // fmt.Println(resp)
5500 // }
5501 //
5502 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
5503 func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) {
5504 op := &request.Operation{
5505 Name: opPutBucketMetricsConfiguration,
5506 HTTPMethod: "PUT",
5507 HTTPPath: "/{Bucket}?metrics",
5508 }
5509
5510 if input == nil {
5511 input = &PutBucketMetricsConfigurationInput{}
5512 }
5513
5514 output = &PutBucketMetricsConfigurationOutput{}
5515 req = c.newRequest(op, input, output)
5516 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5517 return
5518 }
5519
5520 // PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
5521 //
5522 // Sets a metrics configuration (specified by the metrics configuration ID)
5523 // for the bucket.
5524 //
5525 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5526 // with awserr.Error's Code and Message methods to get detailed information about
5527 // the error.
5528 //
5529 // See the AWS API reference guide for Amazon Simple Storage Service's
5530 // API operation PutBucketMetricsConfiguration for usage and error information.
5531 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
5532 func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
5533 req, out := c.PutBucketMetricsConfigurationRequest(input)
5534 return out, req.Send()
5535 }
5536
5537 // PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
5538 // the ability to pass a context and additional request options.
5539 //
5540 // See PutBucketMetricsConfiguration for details on how to use this API operation.
5541 //
5542 // The context must be non-nil and will be used for request cancellation. If
5543 // the context is nil a panic will occur. In the future the SDK may create
5544 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5545 // for more information on using Contexts.
5546 func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) {
5547 req, out := c.PutBucketMetricsConfigurationRequest(input)
5548 req.SetContext(ctx)
5549 req.ApplyOptions(opts...)
5550 return out, req.Send()
5551 }
5552
5553 const opPutBucketNotification = "PutBucketNotification"
5554
5555 // PutBucketNotificationRequest generates a "aws/request.Request" representing the
5556 // client's request for the PutBucketNotification operation. The "output" return
5557 // value will be populated with the request's response once the request completes
5558 // successfully.
5559 //
5560 // Use "Send" method on the returned Request to send the API call to the service.
5561 // the "output" return value is not valid until after Send returns without error.
5562 //
5563 // See PutBucketNotification for more information on using the PutBucketNotification
5564 // API call, and error handling.
5565 //
5566 // This method is useful when you want to inject custom logic or configuration
5567 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5568 //
5569 //
5570 // // Example sending a request using the PutBucketNotificationRequest method.
5571 // req, resp := client.PutBucketNotificationRequest(params)
5572 //
5573 // err := req.Send()
5574 // if err == nil { // resp is now filled
5575 // fmt.Println(resp)
5576 // }
5577 //
5578 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
5579 //
5580 // Deprecated: PutBucketNotification has been deprecated
5581 func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) {
5582 if c.Client.Config.Logger != nil {
5583 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated")
5584 }
5585 op := &request.Operation{
5586 Name: opPutBucketNotification,
5587 HTTPMethod: "PUT",
5588 HTTPPath: "/{Bucket}?notification",
5589 }
5590
5591 if input == nil {
5592 input = &PutBucketNotificationInput{}
5593 }
5594
5595 output = &PutBucketNotificationOutput{}
5596 req = c.newRequest(op, input, output)
5597 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5598 return
5599 }
5600
5601 // PutBucketNotification API operation for Amazon Simple Storage Service.
5602 //
5603 // No longer used, see the PutBucketNotificationConfiguration operation.
5604 //
5605 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5606 // with awserr.Error's Code and Message methods to get detailed information about
5607 // the error.
5608 //
5609 // See the AWS API reference guide for Amazon Simple Storage Service's
5610 // API operation PutBucketNotification for usage and error information.
5611 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
5612 //
5613 // Deprecated: PutBucketNotification has been deprecated
5614 func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
5615 req, out := c.PutBucketNotificationRequest(input)
5616 return out, req.Send()
5617 }
5618
5619 // PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
5620 // the ability to pass a context and additional request options.
5621 //
5622 // See PutBucketNotification for details on how to use this API operation.
5623 //
5624 // The context must be non-nil and will be used for request cancellation. If
5625 // the context is nil a panic will occur. In the future the SDK may create
5626 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5627 // for more information on using Contexts.
5628 //
5629 // Deprecated: PutBucketNotificationWithContext has been deprecated
5630 func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) {
5631 req, out := c.PutBucketNotificationRequest(input)
5632 req.SetContext(ctx)
5633 req.ApplyOptions(opts...)
5634 return out, req.Send()
5635 }
5636
5637 const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
5638
5639 // PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
5640 // client's request for the PutBucketNotificationConfiguration operation. The "output" return
5641 // value will be populated with the request's response once the request completes
5642 // successfully.
5643 //
5644 // Use "Send" method on the returned Request to send the API call to the service.
5645 // the "output" return value is not valid until after Send returns without error.
5646 //
5647 // See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
5648 // API call, and error handling.
5649 //
5650 // This method is useful when you want to inject custom logic or configuration
5651 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5652 //
5653 //
5654 // // Example sending a request using the PutBucketNotificationConfigurationRequest method.
5655 // req, resp := client.PutBucketNotificationConfigurationRequest(params)
5656 //
5657 // err := req.Send()
5658 // if err == nil { // resp is now filled
5659 // fmt.Println(resp)
5660 // }
5661 //
5662 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5663 func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) {
5664 op := &request.Operation{
5665 Name: opPutBucketNotificationConfiguration,
5666 HTTPMethod: "PUT",
5667 HTTPPath: "/{Bucket}?notification",
5668 }
5669
5670 if input == nil {
5671 input = &PutBucketNotificationConfigurationInput{}
5672 }
5673
5674 output = &PutBucketNotificationConfigurationOutput{}
5675 req = c.newRequest(op, input, output)
5676 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5677 return
5678 }
5679
5680 // PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
5681 //
5682 // Enables notifications of specified events for a bucket.
5683 //
5684 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5685 // with awserr.Error's Code and Message methods to get detailed information about
5686 // the error.
5687 //
5688 // See the AWS API reference guide for Amazon Simple Storage Service's
5689 // API operation PutBucketNotificationConfiguration for usage and error information.
5690 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5691 func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
5692 req, out := c.PutBucketNotificationConfigurationRequest(input)
5693 return out, req.Send()
5694 }
5695
5696 // PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
5697 // the ability to pass a context and additional request options.
5698 //
5699 // See PutBucketNotificationConfiguration for details on how to use this API operation.
5700 //
5701 // The context must be non-nil and will be used for request cancellation. If
5702 // the context is nil a panic will occur. In the future the SDK may create
5703 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5704 // for more information on using Contexts.
5705 func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) {
5706 req, out := c.PutBucketNotificationConfigurationRequest(input)
5707 req.SetContext(ctx)
5708 req.ApplyOptions(opts...)
5709 return out, req.Send()
5710 }
5711
5712 const opPutBucketPolicy = "PutBucketPolicy"
5713
5714 // PutBucketPolicyRequest generates a "aws/request.Request" representing the
5715 // client's request for the PutBucketPolicy operation. The "output" return
5716 // value will be populated with the request's response once the request completes
5717 // successfully.
5718 //
5719 // Use "Send" method on the returned Request to send the API call to the service.
5720 // the "output" return value is not valid until after Send returns without error.
5721 //
5722 // See PutBucketPolicy for more information on using the PutBucketPolicy
5723 // API call, and error handling.
5724 //
5725 // This method is useful when you want to inject custom logic or configuration
5726 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5727 //
5728 //
5729 // // Example sending a request using the PutBucketPolicyRequest method.
5730 // req, resp := client.PutBucketPolicyRequest(params)
5731 //
5732 // err := req.Send()
5733 // if err == nil { // resp is now filled
5734 // fmt.Println(resp)
5735 // }
5736 //
5737 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5738 func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) {
5739 op := &request.Operation{
5740 Name: opPutBucketPolicy,
5741 HTTPMethod: "PUT",
5742 HTTPPath: "/{Bucket}?policy",
5743 }
5744
5745 if input == nil {
5746 input = &PutBucketPolicyInput{}
5747 }
5748
5749 output = &PutBucketPolicyOutput{}
5750 req = c.newRequest(op, input, output)
5751 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5752 return
5753 }
5754
5755 // PutBucketPolicy API operation for Amazon Simple Storage Service.
5756 //
5757 // Replaces a policy on a bucket. If the bucket already has a policy, the one
5758 // in this request completely replaces it.
5759 //
5760 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5761 // with awserr.Error's Code and Message methods to get detailed information about
5762 // the error.
5763 //
5764 // See the AWS API reference guide for Amazon Simple Storage Service's
5765 // API operation PutBucketPolicy for usage and error information.
5766 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5767 func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
5768 req, out := c.PutBucketPolicyRequest(input)
5769 return out, req.Send()
5770 }
5771
5772 // PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
5773 // the ability to pass a context and additional request options.
5774 //
5775 // See PutBucketPolicy for details on how to use this API operation.
5776 //
5777 // The context must be non-nil and will be used for request cancellation. If
5778 // the context is nil a panic will occur. In the future the SDK may create
5779 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5780 // for more information on using Contexts.
5781 func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) {
5782 req, out := c.PutBucketPolicyRequest(input)
5783 req.SetContext(ctx)
5784 req.ApplyOptions(opts...)
5785 return out, req.Send()
5786 }
5787
5788 const opPutBucketReplication = "PutBucketReplication"
5789
5790 // PutBucketReplicationRequest generates a "aws/request.Request" representing the
5791 // client's request for the PutBucketReplication operation. The "output" return
5792 // value will be populated with the request's response once the request completes
5793 // successfully.
5794 //
5795 // Use "Send" method on the returned Request to send the API call to the service.
5796 // the "output" return value is not valid until after Send returns without error.
5797 //
5798 // See PutBucketReplication for more information on using the PutBucketReplication
5799 // API call, and error handling.
5800 //
5801 // This method is useful when you want to inject custom logic or configuration
5802 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5803 //
5804 //
5805 // // Example sending a request using the PutBucketReplicationRequest method.
5806 // req, resp := client.PutBucketReplicationRequest(params)
5807 //
5808 // err := req.Send()
5809 // if err == nil { // resp is now filled
5810 // fmt.Println(resp)
5811 // }
5812 //
5813 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5814 func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) {
5815 op := &request.Operation{
5816 Name: opPutBucketReplication,
5817 HTTPMethod: "PUT",
5818 HTTPPath: "/{Bucket}?replication",
5819 }
5820
5821 if input == nil {
5822 input = &PutBucketReplicationInput{}
5823 }
5824
5825 output = &PutBucketReplicationOutput{}
5826 req = c.newRequest(op, input, output)
5827 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5828 return
5829 }
5830
5831 // PutBucketReplication API operation for Amazon Simple Storage Service.
5832 //
5833 // Creates a replication configuration or replaces an existing one. For more
5834 // information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
5835 // in the Amazon S3 Developer Guide.
5836 //
5837 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5838 // with awserr.Error's Code and Message methods to get detailed information about
5839 // the error.
5840 //
5841 // See the AWS API reference guide for Amazon Simple Storage Service's
5842 // API operation PutBucketReplication for usage and error information.
5843 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5844 func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
5845 req, out := c.PutBucketReplicationRequest(input)
5846 return out, req.Send()
5847 }
5848
5849 // PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
5850 // the ability to pass a context and additional request options.
5851 //
5852 // See PutBucketReplication for details on how to use this API operation.
5853 //
5854 // The context must be non-nil and will be used for request cancellation. If
5855 // the context is nil a panic will occur. In the future the SDK may create
5856 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5857 // for more information on using Contexts.
5858 func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) {
5859 req, out := c.PutBucketReplicationRequest(input)
5860 req.SetContext(ctx)
5861 req.ApplyOptions(opts...)
5862 return out, req.Send()
5863 }
5864
5865 const opPutBucketRequestPayment = "PutBucketRequestPayment"
5866
5867 // PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
5868 // client's request for the PutBucketRequestPayment operation. The "output" return
5869 // value will be populated with the request's response once the request completes
5870 // successfully.
5871 //
5872 // Use "Send" method on the returned Request to send the API call to the service.
5873 // the "output" return value is not valid until after Send returns without error.
5874 //
5875 // See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
5876 // API call, and error handling.
5877 //
5878 // This method is useful when you want to inject custom logic or configuration
5879 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5880 //
5881 //
5882 // // Example sending a request using the PutBucketRequestPaymentRequest method.
5883 // req, resp := client.PutBucketRequestPaymentRequest(params)
5884 //
5885 // err := req.Send()
5886 // if err == nil { // resp is now filled
5887 // fmt.Println(resp)
5888 // }
5889 //
5890 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5891 func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) {
5892 op := &request.Operation{
5893 Name: opPutBucketRequestPayment,
5894 HTTPMethod: "PUT",
5895 HTTPPath: "/{Bucket}?requestPayment",
5896 }
5897
5898 if input == nil {
5899 input = &PutBucketRequestPaymentInput{}
5900 }
5901
5902 output = &PutBucketRequestPaymentOutput{}
5903 req = c.newRequest(op, input, output)
5904 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5905 return
5906 }
5907
5908 // PutBucketRequestPayment API operation for Amazon Simple Storage Service.
5909 //
5910 // Sets the request payment configuration for a bucket. By default, the bucket
5911 // owner pays for downloads from the bucket. This configuration parameter enables
5912 // the bucket owner (only) to specify that the person requesting the download
5913 // will be charged for the download. Documentation on requester pays buckets
5914 // can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
5915 //
5916 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5917 // with awserr.Error's Code and Message methods to get detailed information about
5918 // the error.
5919 //
5920 // See the AWS API reference guide for Amazon Simple Storage Service's
5921 // API operation PutBucketRequestPayment for usage and error information.
5922 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5923 func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
5924 req, out := c.PutBucketRequestPaymentRequest(input)
5925 return out, req.Send()
5926 }
5927
5928 // PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
5929 // the ability to pass a context and additional request options.
5930 //
5931 // See PutBucketRequestPayment for details on how to use this API operation.
5932 //
5933 // The context must be non-nil and will be used for request cancellation. If
5934 // the context is nil a panic will occur. In the future the SDK may create
5935 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5936 // for more information on using Contexts.
5937 func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) {
5938 req, out := c.PutBucketRequestPaymentRequest(input)
5939 req.SetContext(ctx)
5940 req.ApplyOptions(opts...)
5941 return out, req.Send()
5942 }
5943
5944 const opPutBucketTagging = "PutBucketTagging"
5945
5946 // PutBucketTaggingRequest generates a "aws/request.Request" representing the
5947 // client's request for the PutBucketTagging operation. The "output" return
5948 // value will be populated with the request's response once the request completes
5949 // successfully.
5950 //
5951 // Use "Send" method on the returned Request to send the API call to the service.
5952 // the "output" return value is not valid until after Send returns without error.
5953 //
5954 // See PutBucketTagging for more information on using the PutBucketTagging
5955 // API call, and error handling.
5956 //
5957 // This method is useful when you want to inject custom logic or configuration
5958 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5959 //
5960 //
5961 // // Example sending a request using the PutBucketTaggingRequest method.
5962 // req, resp := client.PutBucketTaggingRequest(params)
5963 //
5964 // err := req.Send()
5965 // if err == nil { // resp is now filled
5966 // fmt.Println(resp)
5967 // }
5968 //
5969 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
5970 func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) {
5971 op := &request.Operation{
5972 Name: opPutBucketTagging,
5973 HTTPMethod: "PUT",
5974 HTTPPath: "/{Bucket}?tagging",
5975 }
5976
5977 if input == nil {
5978 input = &PutBucketTaggingInput{}
5979 }
5980
5981 output = &PutBucketTaggingOutput{}
5982 req = c.newRequest(op, input, output)
5983 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5984 return
5985 }
5986
5987 // PutBucketTagging API operation for Amazon Simple Storage Service.
5988 //
5989 // Sets the tags for a bucket.
5990 //
5991 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5992 // with awserr.Error's Code and Message methods to get detailed information about
5993 // the error.
5994 //
5995 // See the AWS API reference guide for Amazon Simple Storage Service's
5996 // API operation PutBucketTagging for usage and error information.
5997 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
5998 func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
5999 req, out := c.PutBucketTaggingRequest(input)
6000 return out, req.Send()
6001 }
6002
6003 // PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
6004 // the ability to pass a context and additional request options.
6005 //
6006 // See PutBucketTagging for details on how to use this API operation.
6007 //
6008 // The context must be non-nil and will be used for request cancellation. If
6009 // the context is nil a panic will occur. In the future the SDK may create
6010 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6011 // for more information on using Contexts.
6012 func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) {
6013 req, out := c.PutBucketTaggingRequest(input)
6014 req.SetContext(ctx)
6015 req.ApplyOptions(opts...)
6016 return out, req.Send()
6017 }
6018
6019 const opPutBucketVersioning = "PutBucketVersioning"
6020
6021 // PutBucketVersioningRequest generates a "aws/request.Request" representing the
6022 // client's request for the PutBucketVersioning operation. The "output" return
6023 // value will be populated with the request's response once the request completes
6024 // successfully.
6025 //
6026 // Use "Send" method on the returned Request to send the API call to the service.
6027 // the "output" return value is not valid until after Send returns without error.
6028 //
6029 // See PutBucketVersioning for more information on using the PutBucketVersioning
6030 // API call, and error handling.
6031 //
6032 // This method is useful when you want to inject custom logic or configuration
6033 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6034 //
6035 //
6036 // // Example sending a request using the PutBucketVersioningRequest method.
6037 // req, resp := client.PutBucketVersioningRequest(params)
6038 //
6039 // err := req.Send()
6040 // if err == nil { // resp is now filled
6041 // fmt.Println(resp)
6042 // }
6043 //
6044 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
6045 func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) {
6046 op := &request.Operation{
6047 Name: opPutBucketVersioning,
6048 HTTPMethod: "PUT",
6049 HTTPPath: "/{Bucket}?versioning",
6050 }
6051
6052 if input == nil {
6053 input = &PutBucketVersioningInput{}
6054 }
6055
6056 output = &PutBucketVersioningOutput{}
6057 req = c.newRequest(op, input, output)
6058 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6059 return
6060 }
6061
6062 // PutBucketVersioning API operation for Amazon Simple Storage Service.
6063 //
6064 // Sets the versioning state of an existing bucket. To set the versioning state,
6065 // you must be the bucket owner.
6066 //
6067 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6068 // with awserr.Error's Code and Message methods to get detailed information about
6069 // the error.
6070 //
6071 // See the AWS API reference guide for Amazon Simple Storage Service's
6072 // API operation PutBucketVersioning for usage and error information.
6073 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
6074 func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
6075 req, out := c.PutBucketVersioningRequest(input)
6076 return out, req.Send()
6077 }
6078
6079 // PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
6080 // the ability to pass a context and additional request options.
6081 //
6082 // See PutBucketVersioning for details on how to use this API operation.
6083 //
6084 // The context must be non-nil and will be used for request cancellation. If
6085 // the context is nil a panic will occur. In the future the SDK may create
6086 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6087 // for more information on using Contexts.
6088 func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) {
6089 req, out := c.PutBucketVersioningRequest(input)
6090 req.SetContext(ctx)
6091 req.ApplyOptions(opts...)
6092 return out, req.Send()
6093 }
6094
6095 const opPutBucketWebsite = "PutBucketWebsite"
6096
6097 // PutBucketWebsiteRequest generates a "aws/request.Request" representing the
6098 // client's request for the PutBucketWebsite operation. The "output" return
6099 // value will be populated with the request's response once the request completes
6100 // successfully.
6101 //
6102 // Use "Send" method on the returned Request to send the API call to the service.
6103 // the "output" return value is not valid until after Send returns without error.
6104 //
6105 // See PutBucketWebsite for more information on using the PutBucketWebsite
6106 // API call, and error handling.
6107 //
6108 // This method is useful when you want to inject custom logic or configuration
6109 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6110 //
6111 //
6112 // // Example sending a request using the PutBucketWebsiteRequest method.
6113 // req, resp := client.PutBucketWebsiteRequest(params)
6114 //
6115 // err := req.Send()
6116 // if err == nil { // resp is now filled
6117 // fmt.Println(resp)
6118 // }
6119 //
6120 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
6121 func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) {
6122 op := &request.Operation{
6123 Name: opPutBucketWebsite,
6124 HTTPMethod: "PUT",
6125 HTTPPath: "/{Bucket}?website",
6126 }
6127
6128 if input == nil {
6129 input = &PutBucketWebsiteInput{}
6130 }
6131
6132 output = &PutBucketWebsiteOutput{}
6133 req = c.newRequest(op, input, output)
6134 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6135 return
6136 }
6137
6138 // PutBucketWebsite API operation for Amazon Simple Storage Service.
6139 //
6140 // Set the website configuration for a bucket.
6141 //
6142 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6143 // with awserr.Error's Code and Message methods to get detailed information about
6144 // the error.
6145 //
6146 // See the AWS API reference guide for Amazon Simple Storage Service's
6147 // API operation PutBucketWebsite for usage and error information.
6148 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
6149 func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
6150 req, out := c.PutBucketWebsiteRequest(input)
6151 return out, req.Send()
6152 }
6153
6154 // PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
6155 // the ability to pass a context and additional request options.
6156 //
6157 // See PutBucketWebsite for details on how to use this API operation.
6158 //
6159 // The context must be non-nil and will be used for request cancellation. If
6160 // the context is nil a panic will occur. In the future the SDK may create
6161 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6162 // for more information on using Contexts.
6163 func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) {
6164 req, out := c.PutBucketWebsiteRequest(input)
6165 req.SetContext(ctx)
6166 req.ApplyOptions(opts...)
6167 return out, req.Send()
6168 }
6169
6170 const opPutObject = "PutObject"
6171
6172 // PutObjectRequest generates a "aws/request.Request" representing the
6173 // client's request for the PutObject operation. The "output" return
6174 // value will be populated with the request's response once the request completes
6175 // successfully.
6176 //
6177 // Use "Send" method on the returned Request to send the API call to the service.
6178 // the "output" return value is not valid until after Send returns without error.
6179 //
6180 // See PutObject for more information on using the PutObject
6181 // API call, and error handling.
6182 //
6183 // This method is useful when you want to inject custom logic or configuration
6184 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6185 //
6186 //
6187 // // Example sending a request using the PutObjectRequest method.
6188 // req, resp := client.PutObjectRequest(params)
6189 //
6190 // err := req.Send()
6191 // if err == nil { // resp is now filled
6192 // fmt.Println(resp)
6193 // }
6194 //
6195 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
6196 func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) {
6197 op := &request.Operation{
6198 Name: opPutObject,
6199 HTTPMethod: "PUT",
6200 HTTPPath: "/{Bucket}/{Key+}",
6201 }
6202
6203 if input == nil {
6204 input = &PutObjectInput{}
6205 }
6206
6207 output = &PutObjectOutput{}
6208 req = c.newRequest(op, input, output)
6209 return
6210 }
6211
6212 // PutObject API operation for Amazon Simple Storage Service.
6213 //
6214 // Adds an object to a bucket.
6215 //
6216 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6217 // with awserr.Error's Code and Message methods to get detailed information about
6218 // the error.
6219 //
6220 // See the AWS API reference guide for Amazon Simple Storage Service's
6221 // API operation PutObject for usage and error information.
6222 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
6223 func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) {
6224 req, out := c.PutObjectRequest(input)
6225 return out, req.Send()
6226 }
6227
6228 // PutObjectWithContext is the same as PutObject with the addition of
6229 // the ability to pass a context and additional request options.
6230 //
6231 // See PutObject for details on how to use this API operation.
6232 //
6233 // The context must be non-nil and will be used for request cancellation. If
6234 // the context is nil a panic will occur. In the future the SDK may create
6235 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6236 // for more information on using Contexts.
6237 func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) {
6238 req, out := c.PutObjectRequest(input)
6239 req.SetContext(ctx)
6240 req.ApplyOptions(opts...)
6241 return out, req.Send()
6242 }
6243
6244 const opPutObjectAcl = "PutObjectAcl"
6245
6246 // PutObjectAclRequest generates a "aws/request.Request" representing the
6247 // client's request for the PutObjectAcl operation. The "output" return
6248 // value will be populated with the request's response once the request completes
6249 // successfully.
6250 //
6251 // Use "Send" method on the returned Request to send the API call to the service.
6252 // the "output" return value is not valid until after Send returns without error.
6253 //
6254 // See PutObjectAcl for more information on using the PutObjectAcl
6255 // API call, and error handling.
6256 //
6257 // This method is useful when you want to inject custom logic or configuration
6258 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6259 //
6260 //
6261 // // Example sending a request using the PutObjectAclRequest method.
6262 // req, resp := client.PutObjectAclRequest(params)
6263 //
6264 // err := req.Send()
6265 // if err == nil { // resp is now filled
6266 // fmt.Println(resp)
6267 // }
6268 //
6269 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
6270 func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) {
6271 op := &request.Operation{
6272 Name: opPutObjectAcl,
6273 HTTPMethod: "PUT",
6274 HTTPPath: "/{Bucket}/{Key+}?acl",
6275 }
6276
6277 if input == nil {
6278 input = &PutObjectAclInput{}
6279 }
6280
6281 output = &PutObjectAclOutput{}
6282 req = c.newRequest(op, input, output)
6283 return
6284 }
6285
6286 // PutObjectAcl API operation for Amazon Simple Storage Service.
6287 //
6288 // uses the acl subresource to set the access control list (ACL) permissions
6289 // for an object that already exists in a bucket
6290 //
6291 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6292 // with awserr.Error's Code and Message methods to get detailed information about
6293 // the error.
6294 //
6295 // See the AWS API reference guide for Amazon Simple Storage Service's
6296 // API operation PutObjectAcl for usage and error information.
6297 //
6298 // Returned Error Codes:
6299 // * ErrCodeNoSuchKey "NoSuchKey"
6300 // The specified key does not exist.
6301 //
6302 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
6303 func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
6304 req, out := c.PutObjectAclRequest(input)
6305 return out, req.Send()
6306 }
6307
6308 // PutObjectAclWithContext is the same as PutObjectAcl with the addition of
6309 // the ability to pass a context and additional request options.
6310 //
6311 // See PutObjectAcl for details on how to use this API operation.
6312 //
6313 // The context must be non-nil and will be used for request cancellation. If
6314 // the context is nil a panic will occur. In the future the SDK may create
6315 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6316 // for more information on using Contexts.
6317 func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) {
6318 req, out := c.PutObjectAclRequest(input)
6319 req.SetContext(ctx)
6320 req.ApplyOptions(opts...)
6321 return out, req.Send()
6322 }
6323
6324 const opPutObjectLegalHold = "PutObjectLegalHold"
6325
6326 // PutObjectLegalHoldRequest generates a "aws/request.Request" representing the
6327 // client's request for the PutObjectLegalHold operation. The "output" return
6328 // value will be populated with the request's response once the request completes
6329 // successfully.
6330 //
6331 // Use "Send" method on the returned Request to send the API call to the service.
6332 // the "output" return value is not valid until after Send returns without error.
6333 //
6334 // See PutObjectLegalHold for more information on using the PutObjectLegalHold
6335 // API call, and error handling.
6336 //
6337 // This method is useful when you want to inject custom logic or configuration
6338 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6339 //
6340 //
6341 // // Example sending a request using the PutObjectLegalHoldRequest method.
6342 // req, resp := client.PutObjectLegalHoldRequest(params)
6343 //
6344 // err := req.Send()
6345 // if err == nil { // resp is now filled
6346 // fmt.Println(resp)
6347 // }
6348 //
6349 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6350 func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *request.Request, output *PutObjectLegalHoldOutput) {
6351 op := &request.Operation{
6352 Name: opPutObjectLegalHold,
6353 HTTPMethod: "PUT",
6354 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
6355 }
6356
6357 if input == nil {
6358 input = &PutObjectLegalHoldInput{}
6359 }
6360
6361 output = &PutObjectLegalHoldOutput{}
6362 req = c.newRequest(op, input, output)
6363 return
6364 }
6365
6366 // PutObjectLegalHold API operation for Amazon Simple Storage Service.
6367 //
6368 // Applies a Legal Hold configuration to the specified object.
6369 //
6370 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6371 // with awserr.Error's Code and Message methods to get detailed information about
6372 // the error.
6373 //
6374 // See the AWS API reference guide for Amazon Simple Storage Service's
6375 // API operation PutObjectLegalHold for usage and error information.
6376 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6377 func (c *S3) PutObjectLegalHold(input *PutObjectLegalHoldInput) (*PutObjectLegalHoldOutput, error) {
6378 req, out := c.PutObjectLegalHoldRequest(input)
6379 return out, req.Send()
6380 }
6381
6382 // PutObjectLegalHoldWithContext is the same as PutObjectLegalHold with the addition of
6383 // the ability to pass a context and additional request options.
6384 //
6385 // See PutObjectLegalHold for details on how to use this API operation.
6386 //
6387 // The context must be non-nil and will be used for request cancellation. If
6388 // the context is nil a panic will occur. In the future the SDK may create
6389 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6390 // for more information on using Contexts.
6391 func (c *S3) PutObjectLegalHoldWithContext(ctx aws.Context, input *PutObjectLegalHoldInput, opts ...request.Option) (*PutObjectLegalHoldOutput, error) {
6392 req, out := c.PutObjectLegalHoldRequest(input)
6393 req.SetContext(ctx)
6394 req.ApplyOptions(opts...)
6395 return out, req.Send()
6396 }
6397
6398 const opPutObjectLockConfiguration = "PutObjectLockConfiguration"
6399
6400 // PutObjectLockConfigurationRequest generates a "aws/request.Request" representing the
6401 // client's request for the PutObjectLockConfiguration operation. The "output" return
6402 // value will be populated with the request's response once the request completes
6403 // successfully.
6404 //
6405 // Use "Send" method on the returned Request to send the API call to the service.
6406 // the "output" return value is not valid until after Send returns without error.
6407 //
6408 // See PutObjectLockConfiguration for more information on using the PutObjectLockConfiguration
6409 // API call, and error handling.
6410 //
6411 // This method is useful when you want to inject custom logic or configuration
6412 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6413 //
6414 //
6415 // // Example sending a request using the PutObjectLockConfigurationRequest method.
6416 // req, resp := client.PutObjectLockConfigurationRequest(params)
6417 //
6418 // err := req.Send()
6419 // if err == nil { // resp is now filled
6420 // fmt.Println(resp)
6421 // }
6422 //
6423 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6424 func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfigurationInput) (req *request.Request, output *PutObjectLockConfigurationOutput) {
6425 op := &request.Operation{
6426 Name: opPutObjectLockConfiguration,
6427 HTTPMethod: "PUT",
6428 HTTPPath: "/{Bucket}?object-lock",
6429 }
6430
6431 if input == nil {
6432 input = &PutObjectLockConfigurationInput{}
6433 }
6434
6435 output = &PutObjectLockConfigurationOutput{}
6436 req = c.newRequest(op, input, output)
6437 return
6438 }
6439
6440 // PutObjectLockConfiguration API operation for Amazon Simple Storage Service.
6441 //
6442 // Places an Object Lock configuration on the specified bucket. The rule specified
6443 // in the Object Lock configuration will be applied by default to every new
6444 // object placed in the specified bucket.
6445 //
6446 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6447 // with awserr.Error's Code and Message methods to get detailed information about
6448 // the error.
6449 //
6450 // See the AWS API reference guide for Amazon Simple Storage Service's
6451 // API operation PutObjectLockConfiguration for usage and error information.
6452 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6453 func (c *S3) PutObjectLockConfiguration(input *PutObjectLockConfigurationInput) (*PutObjectLockConfigurationOutput, error) {
6454 req, out := c.PutObjectLockConfigurationRequest(input)
6455 return out, req.Send()
6456 }
6457
6458 // PutObjectLockConfigurationWithContext is the same as PutObjectLockConfiguration with the addition of
6459 // the ability to pass a context and additional request options.
6460 //
6461 // See PutObjectLockConfiguration for details on how to use this API operation.
6462 //
6463 // The context must be non-nil and will be used for request cancellation. If
6464 // the context is nil a panic will occur. In the future the SDK may create
6465 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6466 // for more information on using Contexts.
6467 func (c *S3) PutObjectLockConfigurationWithContext(ctx aws.Context, input *PutObjectLockConfigurationInput, opts ...request.Option) (*PutObjectLockConfigurationOutput, error) {
6468 req, out := c.PutObjectLockConfigurationRequest(input)
6469 req.SetContext(ctx)
6470 req.ApplyOptions(opts...)
6471 return out, req.Send()
6472 }
6473
6474 const opPutObjectRetention = "PutObjectRetention"
6475
6476 // PutObjectRetentionRequest generates a "aws/request.Request" representing the
6477 // client's request for the PutObjectRetention operation. The "output" return
6478 // value will be populated with the request's response once the request completes
6479 // successfully.
6480 //
6481 // Use "Send" method on the returned Request to send the API call to the service.
6482 // the "output" return value is not valid until after Send returns without error.
6483 //
6484 // See PutObjectRetention for more information on using the PutObjectRetention
6485 // API call, and error handling.
6486 //
6487 // This method is useful when you want to inject custom logic or configuration
6488 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6489 //
6490 //
6491 // // Example sending a request using the PutObjectRetentionRequest method.
6492 // req, resp := client.PutObjectRetentionRequest(params)
6493 //
6494 // err := req.Send()
6495 // if err == nil { // resp is now filled
6496 // fmt.Println(resp)
6497 // }
6498 //
6499 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6500 func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *request.Request, output *PutObjectRetentionOutput) {
6501 op := &request.Operation{
6502 Name: opPutObjectRetention,
6503 HTTPMethod: "PUT",
6504 HTTPPath: "/{Bucket}/{Key+}?retention",
6505 }
6506
6507 if input == nil {
6508 input = &PutObjectRetentionInput{}
6509 }
6510
6511 output = &PutObjectRetentionOutput{}
6512 req = c.newRequest(op, input, output)
6513 return
6514 }
6515
6516 // PutObjectRetention API operation for Amazon Simple Storage Service.
6517 //
6518 // Places an Object Retention configuration on an object.
6519 //
6520 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6521 // with awserr.Error's Code and Message methods to get detailed information about
6522 // the error.
6523 //
6524 // See the AWS API reference guide for Amazon Simple Storage Service's
6525 // API operation PutObjectRetention for usage and error information.
6526 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6527 func (c *S3) PutObjectRetention(input *PutObjectRetentionInput) (*PutObjectRetentionOutput, error) {
6528 req, out := c.PutObjectRetentionRequest(input)
6529 return out, req.Send()
6530 }
6531
6532 // PutObjectRetentionWithContext is the same as PutObjectRetention with the addition of
6533 // the ability to pass a context and additional request options.
6534 //
6535 // See PutObjectRetention for details on how to use this API operation.
6536 //
6537 // The context must be non-nil and will be used for request cancellation. If
6538 // the context is nil a panic will occur. In the future the SDK may create
6539 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6540 // for more information on using Contexts.
6541 func (c *S3) PutObjectRetentionWithContext(ctx aws.Context, input *PutObjectRetentionInput, opts ...request.Option) (*PutObjectRetentionOutput, error) {
6542 req, out := c.PutObjectRetentionRequest(input)
6543 req.SetContext(ctx)
6544 req.ApplyOptions(opts...)
6545 return out, req.Send()
6546 }
6547
6548 const opPutObjectTagging = "PutObjectTagging"
6549
6550 // PutObjectTaggingRequest generates a "aws/request.Request" representing the
6551 // client's request for the PutObjectTagging operation. The "output" return
6552 // value will be populated with the request's response once the request completes
6553 // successfully.
6554 //
6555 // Use "Send" method on the returned Request to send the API call to the service.
6556 // the "output" return value is not valid until after Send returns without error.
6557 //
6558 // See PutObjectTagging for more information on using the PutObjectTagging
6559 // API call, and error handling.
6560 //
6561 // This method is useful when you want to inject custom logic or configuration
6562 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6563 //
6564 //
6565 // // Example sending a request using the PutObjectTaggingRequest method.
6566 // req, resp := client.PutObjectTaggingRequest(params)
6567 //
6568 // err := req.Send()
6569 // if err == nil { // resp is now filled
6570 // fmt.Println(resp)
6571 // }
6572 //
6573 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6574 func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) {
6575 op := &request.Operation{
6576 Name: opPutObjectTagging,
6577 HTTPMethod: "PUT",
6578 HTTPPath: "/{Bucket}/{Key+}?tagging",
6579 }
6580
6581 if input == nil {
6582 input = &PutObjectTaggingInput{}
6583 }
6584
6585 output = &PutObjectTaggingOutput{}
6586 req = c.newRequest(op, input, output)
6587 return
6588 }
6589
6590 // PutObjectTagging API operation for Amazon Simple Storage Service.
6591 //
6592 // Sets the supplied tag-set to an object that already exists in a bucket
6593 //
6594 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6595 // with awserr.Error's Code and Message methods to get detailed information about
6596 // the error.
6597 //
6598 // See the AWS API reference guide for Amazon Simple Storage Service's
6599 // API operation PutObjectTagging for usage and error information.
6600 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6601 func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
6602 req, out := c.PutObjectTaggingRequest(input)
6603 return out, req.Send()
6604 }
6605
6606 // PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
6607 // the ability to pass a context and additional request options.
6608 //
6609 // See PutObjectTagging for details on how to use this API operation.
6610 //
6611 // The context must be non-nil and will be used for request cancellation. If
6612 // the context is nil a panic will occur. In the future the SDK may create
6613 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6614 // for more information on using Contexts.
6615 func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) {
6616 req, out := c.PutObjectTaggingRequest(input)
6617 req.SetContext(ctx)
6618 req.ApplyOptions(opts...)
6619 return out, req.Send()
6620 }
6621
6622 const opPutPublicAccessBlock = "PutPublicAccessBlock"
6623
6624 // PutPublicAccessBlockRequest generates a "aws/request.Request" representing the
6625 // client's request for the PutPublicAccessBlock operation. The "output" return
6626 // value will be populated with the request's response once the request completes
6627 // successfully.
6628 //
6629 // Use "Send" method on the returned Request to send the API call to the service.
6630 // the "output" return value is not valid until after Send returns without error.
6631 //
6632 // See PutPublicAccessBlock for more information on using the PutPublicAccessBlock
6633 // API call, and error handling.
6634 //
6635 // This method is useful when you want to inject custom logic or configuration
6636 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6637 //
6638 //
6639 // // Example sending a request using the PutPublicAccessBlockRequest method.
6640 // req, resp := client.PutPublicAccessBlockRequest(params)
6641 //
6642 // err := req.Send()
6643 // if err == nil { // resp is now filled
6644 // fmt.Println(resp)
6645 // }
6646 //
6647 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6648 func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) {
6649 op := &request.Operation{
6650 Name: opPutPublicAccessBlock,
6651 HTTPMethod: "PUT",
6652 HTTPPath: "/{Bucket}?publicAccessBlock",
6653 }
6654
6655 if input == nil {
6656 input = &PutPublicAccessBlockInput{}
6657 }
6658
6659 output = &PutPublicAccessBlockOutput{}
6660 req = c.newRequest(op, input, output)
6661 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6662 return
6663 }
6664
6665 // PutPublicAccessBlock API operation for Amazon Simple Storage Service.
6666 //
6667 // Creates or modifies the PublicAccessBlock configuration for an Amazon S3
6668 // bucket.
6669 //
6670 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6671 // with awserr.Error's Code and Message methods to get detailed information about
6672 // the error.
6673 //
6674 // See the AWS API reference guide for Amazon Simple Storage Service's
6675 // API operation PutPublicAccessBlock for usage and error information.
6676 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6677 func (c *S3) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) {
6678 req, out := c.PutPublicAccessBlockRequest(input)
6679 return out, req.Send()
6680 }
6681
6682 // PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of
6683 // the ability to pass a context and additional request options.
6684 //
6685 // See PutPublicAccessBlock for details on how to use this API operation.
6686 //
6687 // The context must be non-nil and will be used for request cancellation. If
6688 // the context is nil a panic will occur. In the future the SDK may create
6689 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6690 // for more information on using Contexts.
6691 func (c *S3) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) {
6692 req, out := c.PutPublicAccessBlockRequest(input)
6693 req.SetContext(ctx)
6694 req.ApplyOptions(opts...)
6695 return out, req.Send()
6696 }
6697
6698 const opRestoreObject = "RestoreObject"
6699
6700 // RestoreObjectRequest generates a "aws/request.Request" representing the
6701 // client's request for the RestoreObject operation. The "output" return
6702 // value will be populated with the request's response once the request completes
6703 // successfully.
6704 //
6705 // Use "Send" method on the returned Request to send the API call to the service.
6706 // the "output" return value is not valid until after Send returns without error.
6707 //
6708 // See RestoreObject for more information on using the RestoreObject
6709 // API call, and error handling.
6710 //
6711 // This method is useful when you want to inject custom logic or configuration
6712 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6713 //
6714 //
6715 // // Example sending a request using the RestoreObjectRequest method.
6716 // req, resp := client.RestoreObjectRequest(params)
6717 //
6718 // err := req.Send()
6719 // if err == nil { // resp is now filled
6720 // fmt.Println(resp)
6721 // }
6722 //
6723 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
6724 func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) {
6725 op := &request.Operation{
6726 Name: opRestoreObject,
6727 HTTPMethod: "POST",
6728 HTTPPath: "/{Bucket}/{Key+}?restore",
6729 }
6730
6731 if input == nil {
6732 input = &RestoreObjectInput{}
6733 }
6734
6735 output = &RestoreObjectOutput{}
6736 req = c.newRequest(op, input, output)
6737 return
6738 }
6739
6740 // RestoreObject API operation for Amazon Simple Storage Service.
6741 //
6742 // Restores an archived copy of an object back into Amazon S3
6743 //
6744 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6745 // with awserr.Error's Code and Message methods to get detailed information about
6746 // the error.
6747 //
6748 // See the AWS API reference guide for Amazon Simple Storage Service's
6749 // API operation RestoreObject for usage and error information.
6750 //
6751 // Returned Error Codes:
6752 // * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
6753 // This operation is not allowed against this storage tier
6754 //
6755 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
6756 func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
6757 req, out := c.RestoreObjectRequest(input)
6758 return out, req.Send()
6759 }
6760
6761 // RestoreObjectWithContext is the same as RestoreObject with the addition of
6762 // the ability to pass a context and additional request options.
6763 //
6764 // See RestoreObject for details on how to use this API operation.
6765 //
6766 // The context must be non-nil and will be used for request cancellation. If
6767 // the context is nil a panic will occur. In the future the SDK may create
6768 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6769 // for more information on using Contexts.
6770 func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) {
6771 req, out := c.RestoreObjectRequest(input)
6772 req.SetContext(ctx)
6773 req.ApplyOptions(opts...)
6774 return out, req.Send()
6775 }
6776
6777 const opSelectObjectContent = "SelectObjectContent"
6778
6779 // SelectObjectContentRequest generates a "aws/request.Request" representing the
6780 // client's request for the SelectObjectContent operation. The "output" return
6781 // value will be populated with the request's response once the request completes
6782 // successfully.
6783 //
6784 // Use "Send" method on the returned Request to send the API call to the service.
6785 // the "output" return value is not valid until after Send returns without error.
6786 //
6787 // See SelectObjectContent for more information on using the SelectObjectContent
6788 // API call, and error handling.
6789 //
6790 // This method is useful when you want to inject custom logic or configuration
6791 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6792 //
6793 //
6794 // // Example sending a request using the SelectObjectContentRequest method.
6795 // req, resp := client.SelectObjectContentRequest(params)
6796 //
6797 // err := req.Send()
6798 // if err == nil { // resp is now filled
6799 // fmt.Println(resp)
6800 // }
6801 //
6802 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6803 func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) {
6804 op := &request.Operation{
6805 Name: opSelectObjectContent,
6806 HTTPMethod: "POST",
6807 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
6808 }
6809
6810 if input == nil {
6811 input = &SelectObjectContentInput{}
6812 }
6813
6814 output = &SelectObjectContentOutput{}
6815 req = c.newRequest(op, input, output)
6816 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
6817 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler)
6818 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop)
6819 return
6820 }
6821
6822 // SelectObjectContent API operation for Amazon Simple Storage Service.
6823 //
6824 // This operation filters the contents of an Amazon S3 object based on a simple
6825 // Structured Query Language (SQL) statement. In the request, along with the
6826 // SQL expression, you must also specify a data serialization format (JSON or
6827 // CSV) of the object. Amazon S3 uses this to parse object data into records,
6828 // and returns only records that match the specified SQL expression. You must
6829 // also specify the data serialization format for the response.
6830 //
6831 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6832 // with awserr.Error's Code and Message methods to get detailed information about
6833 // the error.
6834 //
6835 // See the AWS API reference guide for Amazon Simple Storage Service's
6836 // API operation SelectObjectContent for usage and error information.
6837 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6838 func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) {
6839 req, out := c.SelectObjectContentRequest(input)
6840 return out, req.Send()
6841 }
6842
6843 // SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
6844 // the ability to pass a context and additional request options.
6845 //
6846 // See SelectObjectContent for details on how to use this API operation.
6847 //
6848 // The context must be non-nil and will be used for request cancellation. If
6849 // the context is nil a panic will occur. In the future the SDK may create
6850 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6851 // for more information on using Contexts.
6852 func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) {
6853 req, out := c.SelectObjectContentRequest(input)
6854 req.SetContext(ctx)
6855 req.ApplyOptions(opts...)
6856 return out, req.Send()
6857 }
6858
6859 const opUploadPart = "UploadPart"
6860
6861 // UploadPartRequest generates a "aws/request.Request" representing the
6862 // client's request for the UploadPart operation. The "output" return
6863 // value will be populated with the request's response once the request completes
6864 // successfully.
6865 //
6866 // Use "Send" method on the returned Request to send the API call to the service.
6867 // the "output" return value is not valid until after Send returns without error.
6868 //
6869 // See UploadPart for more information on using the UploadPart
6870 // API call, and error handling.
6871 //
6872 // This method is useful when you want to inject custom logic or configuration
6873 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6874 //
6875 //
6876 // // Example sending a request using the UploadPartRequest method.
6877 // req, resp := client.UploadPartRequest(params)
6878 //
6879 // err := req.Send()
6880 // if err == nil { // resp is now filled
6881 // fmt.Println(resp)
6882 // }
6883 //
6884 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6885 func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) {
6886 op := &request.Operation{
6887 Name: opUploadPart,
6888 HTTPMethod: "PUT",
6889 HTTPPath: "/{Bucket}/{Key+}",
6890 }
6891
6892 if input == nil {
6893 input = &UploadPartInput{}
6894 }
6895
6896 output = &UploadPartOutput{}
6897 req = c.newRequest(op, input, output)
6898 return
6899 }
6900
6901 // UploadPart API operation for Amazon Simple Storage Service.
6902 //
6903 // Uploads a part in a multipart upload.
6904 //
6905 // Note: After you initiate multipart upload and upload one or more parts, you
6906 // must either complete or abort multipart upload in order to stop getting charged
6907 // for storage of the uploaded parts. Only after you either complete or abort
6908 // multipart upload, Amazon S3 frees up the parts storage and stops charging
6909 // you for the parts storage.
6910 //
6911 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6912 // with awserr.Error's Code and Message methods to get detailed information about
6913 // the error.
6914 //
6915 // See the AWS API reference guide for Amazon Simple Storage Service's
6916 // API operation UploadPart for usage and error information.
6917 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6918 func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
6919 req, out := c.UploadPartRequest(input)
6920 return out, req.Send()
6921 }
6922
6923 // UploadPartWithContext is the same as UploadPart with the addition of
6924 // the ability to pass a context and additional request options.
6925 //
6926 // See UploadPart for details on how to use this API operation.
6927 //
6928 // The context must be non-nil and will be used for request cancellation. If
6929 // the context is nil a panic will occur. In the future the SDK may create
6930 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6931 // for more information on using Contexts.
6932 func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) {
6933 req, out := c.UploadPartRequest(input)
6934 req.SetContext(ctx)
6935 req.ApplyOptions(opts...)
6936 return out, req.Send()
6937 }
6938
6939 const opUploadPartCopy = "UploadPartCopy"
6940
6941 // UploadPartCopyRequest generates a "aws/request.Request" representing the
6942 // client's request for the UploadPartCopy operation. The "output" return
6943 // value will be populated with the request's response once the request completes
6944 // successfully.
6945 //
6946 // Use "Send" method on the returned Request to send the API call to the service.
6947 // the "output" return value is not valid until after Send returns without error.
6948 //
6949 // See UploadPartCopy for more information on using the UploadPartCopy
6950 // API call, and error handling.
6951 //
6952 // This method is useful when you want to inject custom logic or configuration
6953 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6954 //
6955 //
6956 // // Example sending a request using the UploadPartCopyRequest method.
6957 // req, resp := client.UploadPartCopyRequest(params)
6958 //
6959 // err := req.Send()
6960 // if err == nil { // resp is now filled
6961 // fmt.Println(resp)
6962 // }
6963 //
6964 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6965 func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) {
6966 op := &request.Operation{
6967 Name: opUploadPartCopy,
6968 HTTPMethod: "PUT",
6969 HTTPPath: "/{Bucket}/{Key+}",
6970 }
6971
6972 if input == nil {
6973 input = &UploadPartCopyInput{}
6974 }
6975
6976 output = &UploadPartCopyOutput{}
6977 req = c.newRequest(op, input, output)
6978 return
6979 }
6980
6981 // UploadPartCopy API operation for Amazon Simple Storage Service.
6982 //
6983 // Uploads a part by copying data from an existing object as data source.
6984 //
6985 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6986 // with awserr.Error's Code and Message methods to get detailed information about
6987 // the error.
6988 //
6989 // See the AWS API reference guide for Amazon Simple Storage Service's
6990 // API operation UploadPartCopy for usage and error information.
6991 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6992 func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
6993 req, out := c.UploadPartCopyRequest(input)
6994 return out, req.Send()
6995 }
6996
6997 // UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
6998 // the ability to pass a context and additional request options.
6999 //
7000 // See UploadPartCopy for details on how to use this API operation.
7001 //
7002 // The context must be non-nil and will be used for request cancellation. If
7003 // the context is nil a panic will occur. In the future the SDK may create
7004 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
7005 // for more information on using Contexts.
7006 func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) {
7007 req, out := c.UploadPartCopyRequest(input)
7008 req.SetContext(ctx)
7009 req.ApplyOptions(opts...)
7010 return out, req.Send()
7011 }
7012
7013 // Specifies the days since the initiation of an Incomplete Multipart Upload
7014 // that Lifecycle will wait before permanently removing all parts of the upload.
7015 type AbortIncompleteMultipartUpload struct {
7016 _ struct{} `type:"structure"`
7017
7018 // Indicates the number of days that must pass since initiation for Lifecycle
7019 // to abort an Incomplete Multipart Upload.
7020 DaysAfterInitiation *int64 `type:"integer"`
7021 }
7022
7023 // String returns the string representation
7024 func (s AbortIncompleteMultipartUpload) String() string {
7025 return awsutil.Prettify(s)
7026 }
7027
7028 // GoString returns the string representation
7029 func (s AbortIncompleteMultipartUpload) GoString() string {
7030 return s.String()
7031 }
7032
7033 // SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
7034 func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload {
7035 s.DaysAfterInitiation = &v
7036 return s
7037 }
7038
7039 type AbortMultipartUploadInput struct {
7040 _ struct{} `type:"structure"`
7041
7042 // Bucket is a required field
7043 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7044
7045 // Key is a required field
7046 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
7047
7048 // Confirms that the requester knows that she or he will be charged for the
7049 // request. Bucket owners need not specify this parameter in their requests.
7050 // Documentation on downloading objects from requester pays buckets can be found
7051 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7052 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
7053
7054 // UploadId is a required field
7055 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
7056 }
7057
7058 // String returns the string representation
7059 func (s AbortMultipartUploadInput) String() string {
7060 return awsutil.Prettify(s)
7061 }
7062
7063 // GoString returns the string representation
7064 func (s AbortMultipartUploadInput) GoString() string {
7065 return s.String()
7066 }
7067
7068 // Validate inspects the fields of the type to determine if they are valid.
7069 func (s *AbortMultipartUploadInput) Validate() error {
7070 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"}
7071 if s.Bucket == nil {
7072 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7073 }
7074 if s.Bucket != nil && len(*s.Bucket) < 1 {
7075 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
7076 }
7077 if s.Key == nil {
7078 invalidParams.Add(request.NewErrParamRequired("Key"))
7079 }
7080 if s.Key != nil && len(*s.Key) < 1 {
7081 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7082 }
7083 if s.UploadId == nil {
7084 invalidParams.Add(request.NewErrParamRequired("UploadId"))
7085 }
7086
7087 if invalidParams.Len() > 0 {
7088 return invalidParams
7089 }
7090 return nil
7091 }
7092
7093 // SetBucket sets the Bucket field's value.
7094 func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput {
7095 s.Bucket = &v
7096 return s
7097 }
7098
7099 func (s *AbortMultipartUploadInput) getBucket() (v string) {
7100 if s.Bucket == nil {
7101 return v
7102 }
7103 return *s.Bucket
7104 }
7105
7106 // SetKey sets the Key field's value.
7107 func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
7108 s.Key = &v
7109 return s
7110 }
7111
7112 // SetRequestPayer sets the RequestPayer field's value.
7113 func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput {
7114 s.RequestPayer = &v
7115 return s
7116 }
7117
7118 // SetUploadId sets the UploadId field's value.
7119 func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput {
7120 s.UploadId = &v
7121 return s
7122 }
7123
7124 type AbortMultipartUploadOutput struct {
7125 _ struct{} `type:"structure"`
7126
7127 // If present, indicates that the requester was successfully charged for the
7128 // request.
7129 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
7130 }
7131
7132 // String returns the string representation
7133 func (s AbortMultipartUploadOutput) String() string {
7134 return awsutil.Prettify(s)
7135 }
7136
7137 // GoString returns the string representation
7138 func (s AbortMultipartUploadOutput) GoString() string {
7139 return s.String()
7140 }
7141
7142 // SetRequestCharged sets the RequestCharged field's value.
7143 func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput {
7144 s.RequestCharged = &v
7145 return s
7146 }
7147
7148 type AccelerateConfiguration struct {
7149 _ struct{} `type:"structure"`
7150
7151 // The accelerate configuration of the bucket.
7152 Status *string `type:"string" enum:"BucketAccelerateStatus"`
7153 }
7154
7155 // String returns the string representation
7156 func (s AccelerateConfiguration) String() string {
7157 return awsutil.Prettify(s)
7158 }
7159
7160 // GoString returns the string representation
7161 func (s AccelerateConfiguration) GoString() string {
7162 return s.String()
7163 }
7164
7165 // SetStatus sets the Status field's value.
7166 func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
7167 s.Status = &v
7168 return s
7169 }
7170
7171 type AccessControlPolicy struct {
7172 _ struct{} `type:"structure"`
7173
7174 // A list of grants.
7175 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
7176
7177 Owner *Owner `type:"structure"`
7178 }
7179
7180 // String returns the string representation
7181 func (s AccessControlPolicy) String() string {
7182 return awsutil.Prettify(s)
7183 }
7184
7185 // GoString returns the string representation
7186 func (s AccessControlPolicy) GoString() string {
7187 return s.String()
7188 }
7189
7190 // Validate inspects the fields of the type to determine if they are valid.
7191 func (s *AccessControlPolicy) Validate() error {
7192 invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"}
7193 if s.Grants != nil {
7194 for i, v := range s.Grants {
7195 if v == nil {
7196 continue
7197 }
7198 if err := v.Validate(); err != nil {
7199 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams))
7200 }
7201 }
7202 }
7203
7204 if invalidParams.Len() > 0 {
7205 return invalidParams
7206 }
7207 return nil
7208 }
7209
7210 // SetGrants sets the Grants field's value.
7211 func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy {
7212 s.Grants = v
7213 return s
7214 }
7215
7216 // SetOwner sets the Owner field's value.
7217 func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
7218 s.Owner = v
7219 return s
7220 }
7221
7222 // A container for information about access control for replicas.
7223 type AccessControlTranslation struct {
7224 _ struct{} `type:"structure"`
7225
7226 // The override value for the owner of the replica object.
7227 //
7228 // Owner is a required field
7229 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
7230 }
7231
7232 // String returns the string representation
7233 func (s AccessControlTranslation) String() string {
7234 return awsutil.Prettify(s)
7235 }
7236
7237 // GoString returns the string representation
7238 func (s AccessControlTranslation) GoString() string {
7239 return s.String()
7240 }
7241
7242 // Validate inspects the fields of the type to determine if they are valid.
7243 func (s *AccessControlTranslation) Validate() error {
7244 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"}
7245 if s.Owner == nil {
7246 invalidParams.Add(request.NewErrParamRequired("Owner"))
7247 }
7248
7249 if invalidParams.Len() > 0 {
7250 return invalidParams
7251 }
7252 return nil
7253 }
7254
7255 // SetOwner sets the Owner field's value.
7256 func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
7257 s.Owner = &v
7258 return s
7259 }
7260
7261 type AnalyticsAndOperator struct {
7262 _ struct{} `type:"structure"`
7263
7264 // The prefix to use when evaluating an AND predicate.
7265 Prefix *string `type:"string"`
7266
7267 // The list of tags to use when evaluating an AND predicate.
7268 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
7269 }
7270
7271 // String returns the string representation
7272 func (s AnalyticsAndOperator) String() string {
7273 return awsutil.Prettify(s)
7274 }
7275
7276 // GoString returns the string representation
7277 func (s AnalyticsAndOperator) GoString() string {
7278 return s.String()
7279 }
7280
7281 // Validate inspects the fields of the type to determine if they are valid.
7282 func (s *AnalyticsAndOperator) Validate() error {
7283 invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"}
7284 if s.Tags != nil {
7285 for i, v := range s.Tags {
7286 if v == nil {
7287 continue
7288 }
7289 if err := v.Validate(); err != nil {
7290 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7291 }
7292 }
7293 }
7294
7295 if invalidParams.Len() > 0 {
7296 return invalidParams
7297 }
7298 return nil
7299 }
7300
7301 // SetPrefix sets the Prefix field's value.
7302 func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator {
7303 s.Prefix = &v
7304 return s
7305 }
7306
7307 // SetTags sets the Tags field's value.
7308 func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
7309 s.Tags = v
7310 return s
7311 }
7312
7313 type AnalyticsConfiguration struct {
7314 _ struct{} `type:"structure"`
7315
7316 // The filter used to describe a set of objects for analyses. A filter must
7317 // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator).
7318 // If no filter is provided, all objects will be considered in any analysis.
7319 Filter *AnalyticsFilter `type:"structure"`
7320
7321 // The identifier used to represent an analytics configuration.
7322 //
7323 // Id is a required field
7324 Id *string `type:"string" required:"true"`
7325
7326 // If present, it indicates that data related to access patterns will be collected
7327 // and made available to analyze the tradeoffs between different storage classes.
7328 //
7329 // StorageClassAnalysis is a required field
7330 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
7331 }
7332
7333 // String returns the string representation
7334 func (s AnalyticsConfiguration) String() string {
7335 return awsutil.Prettify(s)
7336 }
7337
7338 // GoString returns the string representation
7339 func (s AnalyticsConfiguration) GoString() string {
7340 return s.String()
7341 }
7342
7343 // Validate inspects the fields of the type to determine if they are valid.
7344 func (s *AnalyticsConfiguration) Validate() error {
7345 invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"}
7346 if s.Id == nil {
7347 invalidParams.Add(request.NewErrParamRequired("Id"))
7348 }
7349 if s.StorageClassAnalysis == nil {
7350 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis"))
7351 }
7352 if s.Filter != nil {
7353 if err := s.Filter.Validate(); err != nil {
7354 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7355 }
7356 }
7357 if s.StorageClassAnalysis != nil {
7358 if err := s.StorageClassAnalysis.Validate(); err != nil {
7359 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams))
7360 }
7361 }
7362
7363 if invalidParams.Len() > 0 {
7364 return invalidParams
7365 }
7366 return nil
7367 }
7368
7369 // SetFilter sets the Filter field's value.
7370 func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration {
7371 s.Filter = v
7372 return s
7373 }
7374
7375 // SetId sets the Id field's value.
7376 func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration {
7377 s.Id = &v
7378 return s
7379 }
7380
7381 // SetStorageClassAnalysis sets the StorageClassAnalysis field's value.
7382 func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration {
7383 s.StorageClassAnalysis = v
7384 return s
7385 }
7386
7387 type AnalyticsExportDestination struct {
7388 _ struct{} `type:"structure"`
7389
7390 // A destination signifying output to an S3 bucket.
7391 //
7392 // S3BucketDestination is a required field
7393 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"`
7394 }
7395
7396 // String returns the string representation
7397 func (s AnalyticsExportDestination) String() string {
7398 return awsutil.Prettify(s)
7399 }
7400
7401 // GoString returns the string representation
7402 func (s AnalyticsExportDestination) GoString() string {
7403 return s.String()
7404 }
7405
7406 // Validate inspects the fields of the type to determine if they are valid.
7407 func (s *AnalyticsExportDestination) Validate() error {
7408 invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"}
7409 if s.S3BucketDestination == nil {
7410 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
7411 }
7412 if s.S3BucketDestination != nil {
7413 if err := s.S3BucketDestination.Validate(); err != nil {
7414 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
7415 }
7416 }
7417
7418 if invalidParams.Len() > 0 {
7419 return invalidParams
7420 }
7421 return nil
7422 }
7423
7424 // SetS3BucketDestination sets the S3BucketDestination field's value.
7425 func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination {
7426 s.S3BucketDestination = v
7427 return s
7428 }
7429
7430 type AnalyticsFilter struct {
7431 _ struct{} `type:"structure"`
7432
7433 // A conjunction (logical AND) of predicates, which is used in evaluating an
7434 // analytics filter. The operator must have at least two predicates.
7435 And *AnalyticsAndOperator `type:"structure"`
7436
7437 // The prefix to use when evaluating an analytics filter.
7438 Prefix *string `type:"string"`
7439
7440 // The tag to use when evaluating an analytics filter.
7441 Tag *Tag `type:"structure"`
7442 }
7443
7444 // String returns the string representation
7445 func (s AnalyticsFilter) String() string {
7446 return awsutil.Prettify(s)
7447 }
7448
7449 // GoString returns the string representation
7450 func (s AnalyticsFilter) GoString() string {
7451 return s.String()
7452 }
7453
7454 // Validate inspects the fields of the type to determine if they are valid.
7455 func (s *AnalyticsFilter) Validate() error {
7456 invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"}
7457 if s.And != nil {
7458 if err := s.And.Validate(); err != nil {
7459 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
7460 }
7461 }
7462 if s.Tag != nil {
7463 if err := s.Tag.Validate(); err != nil {
7464 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
7465 }
7466 }
7467
7468 if invalidParams.Len() > 0 {
7469 return invalidParams
7470 }
7471 return nil
7472 }
7473
7474 // SetAnd sets the And field's value.
7475 func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter {
7476 s.And = v
7477 return s
7478 }
7479
7480 // SetPrefix sets the Prefix field's value.
7481 func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter {
7482 s.Prefix = &v
7483 return s
7484 }
7485
7486 // SetTag sets the Tag field's value.
7487 func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
7488 s.Tag = v
7489 return s
7490 }
7491
7492 type AnalyticsS3BucketDestination struct {
7493 _ struct{} `type:"structure"`
7494
7495 // The Amazon resource name (ARN) of the bucket to which data is exported.
7496 //
7497 // Bucket is a required field
7498 Bucket *string `type:"string" required:"true"`
7499
7500 // The account ID that owns the destination bucket. If no account ID is provided,
7501 // the owner will not be validated prior to exporting data.
7502 BucketAccountId *string `type:"string"`
7503
7504 // The file format used when exporting data to Amazon S3.
7505 //
7506 // Format is a required field
7507 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
7508
7509 // The prefix to use when exporting data. The exported data begins with this
7510 // prefix.
7511 Prefix *string `type:"string"`
7512 }
7513
7514 // String returns the string representation
7515 func (s AnalyticsS3BucketDestination) String() string {
7516 return awsutil.Prettify(s)
7517 }
7518
7519 // GoString returns the string representation
7520 func (s AnalyticsS3BucketDestination) GoString() string {
7521 return s.String()
7522 }
7523
7524 // Validate inspects the fields of the type to determine if they are valid.
7525 func (s *AnalyticsS3BucketDestination) Validate() error {
7526 invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"}
7527 if s.Bucket == nil {
7528 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7529 }
7530 if s.Format == nil {
7531 invalidParams.Add(request.NewErrParamRequired("Format"))
7532 }
7533
7534 if invalidParams.Len() > 0 {
7535 return invalidParams
7536 }
7537 return nil
7538 }
7539
7540 // SetBucket sets the Bucket field's value.
7541 func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination {
7542 s.Bucket = &v
7543 return s
7544 }
7545
7546 func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
7547 if s.Bucket == nil {
7548 return v
7549 }
7550 return *s.Bucket
7551 }
7552
7553 // SetBucketAccountId sets the BucketAccountId field's value.
7554 func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
7555 s.BucketAccountId = &v
7556 return s
7557 }
7558
7559 // SetFormat sets the Format field's value.
7560 func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination {
7561 s.Format = &v
7562 return s
7563 }
7564
7565 // SetPrefix sets the Prefix field's value.
7566 func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination {
7567 s.Prefix = &v
7568 return s
7569 }
7570
7571 type Bucket struct {
7572 _ struct{} `type:"structure"`
7573
7574 // Date the bucket was created.
7575 CreationDate *time.Time `type:"timestamp"`
7576
7577 // The name of the bucket.
7578 Name *string `type:"string"`
7579 }
7580
7581 // String returns the string representation
7582 func (s Bucket) String() string {
7583 return awsutil.Prettify(s)
7584 }
7585
7586 // GoString returns the string representation
7587 func (s Bucket) GoString() string {
7588 return s.String()
7589 }
7590
7591 // SetCreationDate sets the CreationDate field's value.
7592 func (s *Bucket) SetCreationDate(v time.Time) *Bucket {
7593 s.CreationDate = &v
7594 return s
7595 }
7596
7597 // SetName sets the Name field's value.
7598 func (s *Bucket) SetName(v string) *Bucket {
7599 s.Name = &v
7600 return s
7601 }
7602
7603 type BucketLifecycleConfiguration struct {
7604 _ struct{} `type:"structure"`
7605
7606 // Rules is a required field
7607 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
7608 }
7609
7610 // String returns the string representation
7611 func (s BucketLifecycleConfiguration) String() string {
7612 return awsutil.Prettify(s)
7613 }
7614
7615 // GoString returns the string representation
7616 func (s BucketLifecycleConfiguration) GoString() string {
7617 return s.String()
7618 }
7619
7620 // Validate inspects the fields of the type to determine if they are valid.
7621 func (s *BucketLifecycleConfiguration) Validate() error {
7622 invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"}
7623 if s.Rules == nil {
7624 invalidParams.Add(request.NewErrParamRequired("Rules"))
7625 }
7626 if s.Rules != nil {
7627 for i, v := range s.Rules {
7628 if v == nil {
7629 continue
7630 }
7631 if err := v.Validate(); err != nil {
7632 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
7633 }
7634 }
7635 }
7636
7637 if invalidParams.Len() > 0 {
7638 return invalidParams
7639 }
7640 return nil
7641 }
7642
7643 // SetRules sets the Rules field's value.
7644 func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration {
7645 s.Rules = v
7646 return s
7647 }
7648
7649 type BucketLoggingStatus struct {
7650 _ struct{} `type:"structure"`
7651
7652 // Container for logging information. Presence of this element indicates that
7653 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
7654 // in this case.
7655 LoggingEnabled *LoggingEnabled `type:"structure"`
7656 }
7657
7658 // String returns the string representation
7659 func (s BucketLoggingStatus) String() string {
7660 return awsutil.Prettify(s)
7661 }
7662
7663 // GoString returns the string representation
7664 func (s BucketLoggingStatus) GoString() string {
7665 return s.String()
7666 }
7667
7668 // Validate inspects the fields of the type to determine if they are valid.
7669 func (s *BucketLoggingStatus) Validate() error {
7670 invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"}
7671 if s.LoggingEnabled != nil {
7672 if err := s.LoggingEnabled.Validate(); err != nil {
7673 invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams))
7674 }
7675 }
7676
7677 if invalidParams.Len() > 0 {
7678 return invalidParams
7679 }
7680 return nil
7681 }
7682
7683 // SetLoggingEnabled sets the LoggingEnabled field's value.
7684 func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus {
7685 s.LoggingEnabled = v
7686 return s
7687 }
7688
7689 type CORSConfiguration struct {
7690 _ struct{} `type:"structure"`
7691
7692 // CORSRules is a required field
7693 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
7694 }
7695
7696 // String returns the string representation
7697 func (s CORSConfiguration) String() string {
7698 return awsutil.Prettify(s)
7699 }
7700
7701 // GoString returns the string representation
7702 func (s CORSConfiguration) GoString() string {
7703 return s.String()
7704 }
7705
7706 // Validate inspects the fields of the type to determine if they are valid.
7707 func (s *CORSConfiguration) Validate() error {
7708 invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"}
7709 if s.CORSRules == nil {
7710 invalidParams.Add(request.NewErrParamRequired("CORSRules"))
7711 }
7712 if s.CORSRules != nil {
7713 for i, v := range s.CORSRules {
7714 if v == nil {
7715 continue
7716 }
7717 if err := v.Validate(); err != nil {
7718 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams))
7719 }
7720 }
7721 }
7722
7723 if invalidParams.Len() > 0 {
7724 return invalidParams
7725 }
7726 return nil
7727 }
7728
7729 // SetCORSRules sets the CORSRules field's value.
7730 func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
7731 s.CORSRules = v
7732 return s
7733 }
7734
7735 type CORSRule struct {
7736 _ struct{} `type:"structure"`
7737
7738 // Specifies which headers are allowed in a pre-flight OPTIONS request.
7739 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
7740
7741 // Identifies HTTP methods that the domain/origin specified in the rule is allowed
7742 // to execute.
7743 //
7744 // AllowedMethods is a required field
7745 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
7746
7747 // One or more origins you want customers to be able to access the bucket from.
7748 //
7749 // AllowedOrigins is a required field
7750 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"`
7751
7752 // One or more headers in the response that you want customers to be able to
7753 // access from their applications (for example, from a JavaScript XMLHttpRequest
7754 // object).
7755 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"`
7756
7757 // The time in seconds that your browser is to cache the preflight response
7758 // for the specified resource.
7759 MaxAgeSeconds *int64 `type:"integer"`
7760 }
7761
7762 // String returns the string representation
7763 func (s CORSRule) String() string {
7764 return awsutil.Prettify(s)
7765 }
7766
7767 // GoString returns the string representation
7768 func (s CORSRule) GoString() string {
7769 return s.String()
7770 }
7771
7772 // Validate inspects the fields of the type to determine if they are valid.
7773 func (s *CORSRule) Validate() error {
7774 invalidParams := request.ErrInvalidParams{Context: "CORSRule"}
7775 if s.AllowedMethods == nil {
7776 invalidParams.Add(request.NewErrParamRequired("AllowedMethods"))
7777 }
7778 if s.AllowedOrigins == nil {
7779 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins"))
7780 }
7781
7782 if invalidParams.Len() > 0 {
7783 return invalidParams
7784 }
7785 return nil
7786 }
7787
7788 // SetAllowedHeaders sets the AllowedHeaders field's value.
7789 func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule {
7790 s.AllowedHeaders = v
7791 return s
7792 }
7793
7794 // SetAllowedMethods sets the AllowedMethods field's value.
7795 func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule {
7796 s.AllowedMethods = v
7797 return s
7798 }
7799
7800 // SetAllowedOrigins sets the AllowedOrigins field's value.
7801 func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule {
7802 s.AllowedOrigins = v
7803 return s
7804 }
7805
7806 // SetExposeHeaders sets the ExposeHeaders field's value.
7807 func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule {
7808 s.ExposeHeaders = v
7809 return s
7810 }
7811
7812 // SetMaxAgeSeconds sets the MaxAgeSeconds field's value.
7813 func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
7814 s.MaxAgeSeconds = &v
7815 return s
7816 }
7817
7818 // Describes how a CSV-formatted input object is formatted.
7819 type CSVInput struct {
7820 _ struct{} `type:"structure"`
7821
7822 // Specifies that CSV field values may contain quoted record delimiters and
7823 // such records should be allowed. Default value is FALSE. Setting this value
7824 // to TRUE may lower performance.
7825 AllowQuotedRecordDelimiter *bool `type:"boolean"`
7826
7827 // The single character used to indicate a row should be ignored when present
7828 // at the start of a row.
7829 Comments *string `type:"string"`
7830
7831 // The value used to separate individual fields in a record.
7832 FieldDelimiter *string `type:"string"`
7833
7834 // Describes the first line of input. Valid values: None, Ignore, Use.
7835 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
7836
7837 // Value used for escaping where the field delimiter is part of the value.
7838 QuoteCharacter *string `type:"string"`
7839
7840 // The single character used for escaping the quote character inside an already
7841 // escaped value.
7842 QuoteEscapeCharacter *string `type:"string"`
7843
7844 // The value used to separate individual records.
7845 RecordDelimiter *string `type:"string"`
7846 }
7847
7848 // String returns the string representation
7849 func (s CSVInput) String() string {
7850 return awsutil.Prettify(s)
7851 }
7852
7853 // GoString returns the string representation
7854 func (s CSVInput) GoString() string {
7855 return s.String()
7856 }
7857
7858 // SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
7859 func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
7860 s.AllowQuotedRecordDelimiter = &v
7861 return s
7862 }
7863
7864 // SetComments sets the Comments field's value.
7865 func (s *CSVInput) SetComments(v string) *CSVInput {
7866 s.Comments = &v
7867 return s
7868 }
7869
7870 // SetFieldDelimiter sets the FieldDelimiter field's value.
7871 func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
7872 s.FieldDelimiter = &v
7873 return s
7874 }
7875
7876 // SetFileHeaderInfo sets the FileHeaderInfo field's value.
7877 func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
7878 s.FileHeaderInfo = &v
7879 return s
7880 }
7881
7882 // SetQuoteCharacter sets the QuoteCharacter field's value.
7883 func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
7884 s.QuoteCharacter = &v
7885 return s
7886 }
7887
7888 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7889 func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
7890 s.QuoteEscapeCharacter = &v
7891 return s
7892 }
7893
7894 // SetRecordDelimiter sets the RecordDelimiter field's value.
7895 func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
7896 s.RecordDelimiter = &v
7897 return s
7898 }
7899
7900 // Describes how CSV-formatted results are formatted.
7901 type CSVOutput struct {
7902 _ struct{} `type:"structure"`
7903
7904 // The value used to separate individual fields in a record.
7905 FieldDelimiter *string `type:"string"`
7906
7907 // The value used for escaping where the field delimiter is part of the value.
7908 QuoteCharacter *string `type:"string"`
7909
7910 // Th single character used for escaping the quote character inside an already
7911 // escaped value.
7912 QuoteEscapeCharacter *string `type:"string"`
7913
7914 // Indicates whether or not all output fields should be quoted.
7915 QuoteFields *string `type:"string" enum:"QuoteFields"`
7916
7917 // The value used to separate individual records.
7918 RecordDelimiter *string `type:"string"`
7919 }
7920
7921 // String returns the string representation
7922 func (s CSVOutput) String() string {
7923 return awsutil.Prettify(s)
7924 }
7925
7926 // GoString returns the string representation
7927 func (s CSVOutput) GoString() string {
7928 return s.String()
7929 }
7930
7931 // SetFieldDelimiter sets the FieldDelimiter field's value.
7932 func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
7933 s.FieldDelimiter = &v
7934 return s
7935 }
7936
7937 // SetQuoteCharacter sets the QuoteCharacter field's value.
7938 func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
7939 s.QuoteCharacter = &v
7940 return s
7941 }
7942
7943 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7944 func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
7945 s.QuoteEscapeCharacter = &v
7946 return s
7947 }
7948
7949 // SetQuoteFields sets the QuoteFields field's value.
7950 func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
7951 s.QuoteFields = &v
7952 return s
7953 }
7954
7955 // SetRecordDelimiter sets the RecordDelimiter field's value.
7956 func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
7957 s.RecordDelimiter = &v
7958 return s
7959 }
7960
7961 type CloudFunctionConfiguration struct {
7962 _ struct{} `type:"structure"`
7963
7964 CloudFunction *string `type:"string"`
7965
7966 // The bucket event for which to send notifications.
7967 //
7968 // Deprecated: Event has been deprecated
7969 Event *string `deprecated:"true" type:"string" enum:"Event"`
7970
7971 Events []*string `locationName:"Event" type:"list" flattened:"true"`
7972
7973 // An optional unique identifier for configurations in a notification configuration.
7974 // If you don't provide one, Amazon S3 will assign an ID.
7975 Id *string `type:"string"`
7976
7977 InvocationRole *string `type:"string"`
7978 }
7979
7980 // String returns the string representation
7981 func (s CloudFunctionConfiguration) String() string {
7982 return awsutil.Prettify(s)
7983 }
7984
7985 // GoString returns the string representation
7986 func (s CloudFunctionConfiguration) GoString() string {
7987 return s.String()
7988 }
7989
7990 // SetCloudFunction sets the CloudFunction field's value.
7991 func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration {
7992 s.CloudFunction = &v
7993 return s
7994 }
7995
7996 // SetEvent sets the Event field's value.
7997 func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration {
7998 s.Event = &v
7999 return s
8000 }
8001
8002 // SetEvents sets the Events field's value.
8003 func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration {
8004 s.Events = v
8005 return s
8006 }
8007
8008 // SetId sets the Id field's value.
8009 func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration {
8010 s.Id = &v
8011 return s
8012 }
8013
8014 // SetInvocationRole sets the InvocationRole field's value.
8015 func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration {
8016 s.InvocationRole = &v
8017 return s
8018 }
8019
8020 type CommonPrefix struct {
8021 _ struct{} `type:"structure"`
8022
8023 Prefix *string `type:"string"`
8024 }
8025
8026 // String returns the string representation
8027 func (s CommonPrefix) String() string {
8028 return awsutil.Prettify(s)
8029 }
8030
8031 // GoString returns the string representation
8032 func (s CommonPrefix) GoString() string {
8033 return s.String()
8034 }
8035
8036 // SetPrefix sets the Prefix field's value.
8037 func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
8038 s.Prefix = &v
8039 return s
8040 }
8041
8042 type CompleteMultipartUploadInput struct {
8043 _ struct{} `type:"structure" payload:"MultipartUpload"`
8044
8045 // Bucket is a required field
8046 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8047
8048 // Key is a required field
8049 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8050
8051 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
8052
8053 // Confirms that the requester knows that she or he will be charged for the
8054 // request. Bucket owners need not specify this parameter in their requests.
8055 // Documentation on downloading objects from requester pays buckets can be found
8056 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8057 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8058
8059 // UploadId is a required field
8060 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
8061 }
8062
8063 // String returns the string representation
8064 func (s CompleteMultipartUploadInput) String() string {
8065 return awsutil.Prettify(s)
8066 }
8067
8068 // GoString returns the string representation
8069 func (s CompleteMultipartUploadInput) GoString() string {
8070 return s.String()
8071 }
8072
8073 // Validate inspects the fields of the type to determine if they are valid.
8074 func (s *CompleteMultipartUploadInput) Validate() error {
8075 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"}
8076 if s.Bucket == nil {
8077 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8078 }
8079 if s.Bucket != nil && len(*s.Bucket) < 1 {
8080 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8081 }
8082 if s.Key == nil {
8083 invalidParams.Add(request.NewErrParamRequired("Key"))
8084 }
8085 if s.Key != nil && len(*s.Key) < 1 {
8086 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8087 }
8088 if s.UploadId == nil {
8089 invalidParams.Add(request.NewErrParamRequired("UploadId"))
8090 }
8091
8092 if invalidParams.Len() > 0 {
8093 return invalidParams
8094 }
8095 return nil
8096 }
8097
8098 // SetBucket sets the Bucket field's value.
8099 func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput {
8100 s.Bucket = &v
8101 return s
8102 }
8103
8104 func (s *CompleteMultipartUploadInput) getBucket() (v string) {
8105 if s.Bucket == nil {
8106 return v
8107 }
8108 return *s.Bucket
8109 }
8110
8111 // SetKey sets the Key field's value.
8112 func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
8113 s.Key = &v
8114 return s
8115 }
8116
8117 // SetMultipartUpload sets the MultipartUpload field's value.
8118 func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput {
8119 s.MultipartUpload = v
8120 return s
8121 }
8122
8123 // SetRequestPayer sets the RequestPayer field's value.
8124 func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput {
8125 s.RequestPayer = &v
8126 return s
8127 }
8128
8129 // SetUploadId sets the UploadId field's value.
8130 func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
8131 s.UploadId = &v
8132 return s
8133 }
8134
8135 type CompleteMultipartUploadOutput struct {
8136 _ struct{} `type:"structure"`
8137
8138 Bucket *string `type:"string"`
8139
8140 // Entity tag of the object.
8141 ETag *string `type:"string"`
8142
8143 // If the object expiration is configured, this will contain the expiration
8144 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
8145 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8146
8147 Key *string `min:"1" type:"string"`
8148
8149 Location *string `type:"string"`
8150
8151 // If present, indicates that the requester was successfully charged for the
8152 // request.
8153 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8154
8155 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8156 // encryption key that was used for the object.
8157 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
8158
8159 // The Server-side encryption algorithm used when storing this object in S3
8160 // (e.g., AES256, aws:kms).
8161 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8162
8163 // Version of the object.
8164 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8165 }
8166
8167 // String returns the string representation
8168 func (s CompleteMultipartUploadOutput) String() string {
8169 return awsutil.Prettify(s)
8170 }
8171
8172 // GoString returns the string representation
8173 func (s CompleteMultipartUploadOutput) GoString() string {
8174 return s.String()
8175 }
8176
8177 // SetBucket sets the Bucket field's value.
8178 func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput {
8179 s.Bucket = &v
8180 return s
8181 }
8182
8183 func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
8184 if s.Bucket == nil {
8185 return v
8186 }
8187 return *s.Bucket
8188 }
8189
8190 // SetETag sets the ETag field's value.
8191 func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
8192 s.ETag = &v
8193 return s
8194 }
8195
8196 // SetExpiration sets the Expiration field's value.
8197 func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput {
8198 s.Expiration = &v
8199 return s
8200 }
8201
8202 // SetKey sets the Key field's value.
8203 func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput {
8204 s.Key = &v
8205 return s
8206 }
8207
8208 // SetLocation sets the Location field's value.
8209 func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput {
8210 s.Location = &v
8211 return s
8212 }
8213
8214 // SetRequestCharged sets the RequestCharged field's value.
8215 func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput {
8216 s.RequestCharged = &v
8217 return s
8218 }
8219
8220 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8221 func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput {
8222 s.SSEKMSKeyId = &v
8223 return s
8224 }
8225
8226 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8227 func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput {
8228 s.ServerSideEncryption = &v
8229 return s
8230 }
8231
8232 // SetVersionId sets the VersionId field's value.
8233 func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput {
8234 s.VersionId = &v
8235 return s
8236 }
8237
8238 type CompletedMultipartUpload struct {
8239 _ struct{} `type:"structure"`
8240
8241 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
8242 }
8243
8244 // String returns the string representation
8245 func (s CompletedMultipartUpload) String() string {
8246 return awsutil.Prettify(s)
8247 }
8248
8249 // GoString returns the string representation
8250 func (s CompletedMultipartUpload) GoString() string {
8251 return s.String()
8252 }
8253
8254 // SetParts sets the Parts field's value.
8255 func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload {
8256 s.Parts = v
8257 return s
8258 }
8259
8260 type CompletedPart struct {
8261 _ struct{} `type:"structure"`
8262
8263 // Entity tag returned when the part was uploaded.
8264 ETag *string `type:"string"`
8265
8266 // Part number that identifies the part. This is a positive integer between
8267 // 1 and 10,000.
8268 PartNumber *int64 `type:"integer"`
8269 }
8270
8271 // String returns the string representation
8272 func (s CompletedPart) String() string {
8273 return awsutil.Prettify(s)
8274 }
8275
8276 // GoString returns the string representation
8277 func (s CompletedPart) GoString() string {
8278 return s.String()
8279 }
8280
8281 // SetETag sets the ETag field's value.
8282 func (s *CompletedPart) SetETag(v string) *CompletedPart {
8283 s.ETag = &v
8284 return s
8285 }
8286
8287 // SetPartNumber sets the PartNumber field's value.
8288 func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
8289 s.PartNumber = &v
8290 return s
8291 }
8292
8293 type Condition struct {
8294 _ struct{} `type:"structure"`
8295
8296 // The HTTP error code when the redirect is applied. In the event of an error,
8297 // if the error code equals this value, then the specified redirect is applied.
8298 // Required when parent element Condition is specified and sibling KeyPrefixEquals
8299 // is not specified. If both are specified, then both must be true for the redirect
8300 // to be applied.
8301 HttpErrorCodeReturnedEquals *string `type:"string"`
8302
8303 // The object key name prefix when the redirect is applied. For example, to
8304 // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html.
8305 // To redirect request for all pages with the prefix docs/, the key prefix will
8306 // be /docs, which identifies all objects in the docs/ folder. Required when
8307 // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals
8308 // is not specified. If both conditions are specified, both must be true for
8309 // the redirect to be applied.
8310 KeyPrefixEquals *string `type:"string"`
8311 }
8312
8313 // String returns the string representation
8314 func (s Condition) String() string {
8315 return awsutil.Prettify(s)
8316 }
8317
8318 // GoString returns the string representation
8319 func (s Condition) GoString() string {
8320 return s.String()
8321 }
8322
8323 // SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
8324 func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition {
8325 s.HttpErrorCodeReturnedEquals = &v
8326 return s
8327 }
8328
8329 // SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
8330 func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
8331 s.KeyPrefixEquals = &v
8332 return s
8333 }
8334
8335 type ContinuationEvent struct {
8336 _ struct{} `locationName:"ContinuationEvent" type:"structure"`
8337 }
8338
8339 // String returns the string representation
8340 func (s ContinuationEvent) String() string {
8341 return awsutil.Prettify(s)
8342 }
8343
8344 // GoString returns the string representation
8345 func (s ContinuationEvent) GoString() string {
8346 return s.String()
8347 }
8348
8349 // The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
8350 func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
8351
8352 // UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value.
8353 // This method is only used internally within the SDK's EventStream handling.
8354 func (s *ContinuationEvent) UnmarshalEvent(
8355 payloadUnmarshaler protocol.PayloadUnmarshaler,
8356 msg eventstream.Message,
8357 ) error {
8358 return nil
8359 }
8360
8361 type CopyObjectInput struct {
8362 _ struct{} `type:"structure"`
8363
8364 // The canned ACL to apply to the object.
8365 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
8366
8367 // Bucket is a required field
8368 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8369
8370 // Specifies caching behavior along the request/reply chain.
8371 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
8372
8373 // Specifies presentational information for the object.
8374 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
8375
8376 // Specifies what content encodings have been applied to the object and thus
8377 // what decoding mechanisms must be applied to obtain the media-type referenced
8378 // by the Content-Type header field.
8379 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
8380
8381 // The language the content is in.
8382 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
8383
8384 // A standard MIME type describing the format of the object data.
8385 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
8386
8387 // The name of the source bucket and key name of the source object, separated
8388 // by a slash (/). Must be URL-encoded.
8389 //
8390 // CopySource is a required field
8391 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
8392
8393 // Copies the object if its entity tag (ETag) matches the specified tag.
8394 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
8395
8396 // Copies the object if it has been modified since the specified time.
8397 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
8398
8399 // Copies the object if its entity tag (ETag) is different than the specified
8400 // ETag.
8401 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
8402
8403 // Copies the object if it hasn't been modified since the specified time.
8404 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
8405
8406 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
8407 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
8408
8409 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
8410 // the source object. The encryption key provided in this header must be one
8411 // that was used when the source object was created.
8412 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
8413
8414 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8415 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8416 // key was transmitted without error.
8417 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
8418
8419 // The date and time at which the object is no longer cacheable.
8420 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
8421
8422 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
8423 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8424
8425 // Allows grantee to read the object data and its metadata.
8426 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8427
8428 // Allows grantee to read the object ACL.
8429 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8430
8431 // Allows grantee to write the ACL for the applicable object.
8432 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8433
8434 // Key is a required field
8435 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8436
8437 // A map of metadata to store with the object in S3.
8438 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
8439
8440 // Specifies whether the metadata is copied from the source object or replaced
8441 // with metadata provided in the request.
8442 MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"`
8443
8444 // Specifies whether you want to apply a Legal Hold to the copied object.
8445 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
8446
8447 // The Object Lock mode that you want to apply to the copied object.
8448 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
8449
8450 // The date and time when you want the copied object's Object Lock to expire.
8451 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
8452
8453 // Confirms that the requester knows that she or he will be charged for the
8454 // request. Bucket owners need not specify this parameter in their requests.
8455 // Documentation on downloading objects from requester pays buckets can be found
8456 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8457 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8458
8459 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
8460 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8461
8462 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
8463 // data. This value is used to store the object and then it is discarded; Amazon
8464 // does not store the encryption key. The key must be appropriate for use with
8465 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
8466 // header.
8467 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
8468
8469 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8470 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8471 // key was transmitted without error.
8472 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8473
8474 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
8475 // requests for an object protected by AWS KMS will fail if not made via SSL
8476 // or using SigV4. Documentation on configuring any of the officially supported
8477 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
8478 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
8479
8480 // The Server-side encryption algorithm used when storing this object in S3
8481 // (e.g., AES256, aws:kms).
8482 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8483
8484 // The type of storage to use for the object. Defaults to 'STANDARD'.
8485 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
8486
8487 // The tag-set for the object destination object this value must be used in
8488 // conjunction with the TaggingDirective. The tag-set must be encoded as URL
8489 // Query parameters
8490 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
8491
8492 // Specifies whether the object tag-set are copied from the source object or
8493 // replaced with tag-set provided in the request.
8494 TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"`
8495
8496 // If the bucket is configured as a website, redirects requests for this object
8497 // to another object in the same bucket or to an external URL. Amazon S3 stores
8498 // the value of this header in the object metadata.
8499 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
8500 }
8501
8502 // String returns the string representation
8503 func (s CopyObjectInput) String() string {
8504 return awsutil.Prettify(s)
8505 }
8506
8507 // GoString returns the string representation
8508 func (s CopyObjectInput) GoString() string {
8509 return s.String()
8510 }
8511
8512 // Validate inspects the fields of the type to determine if they are valid.
8513 func (s *CopyObjectInput) Validate() error {
8514 invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"}
8515 if s.Bucket == nil {
8516 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8517 }
8518 if s.Bucket != nil && len(*s.Bucket) < 1 {
8519 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8520 }
8521 if s.CopySource == nil {
8522 invalidParams.Add(request.NewErrParamRequired("CopySource"))
8523 }
8524 if s.Key == nil {
8525 invalidParams.Add(request.NewErrParamRequired("Key"))
8526 }
8527 if s.Key != nil && len(*s.Key) < 1 {
8528 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8529 }
8530
8531 if invalidParams.Len() > 0 {
8532 return invalidParams
8533 }
8534 return nil
8535 }
8536
8537 // SetACL sets the ACL field's value.
8538 func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput {
8539 s.ACL = &v
8540 return s
8541 }
8542
8543 // SetBucket sets the Bucket field's value.
8544 func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
8545 s.Bucket = &v
8546 return s
8547 }
8548
8549 func (s *CopyObjectInput) getBucket() (v string) {
8550 if s.Bucket == nil {
8551 return v
8552 }
8553 return *s.Bucket
8554 }
8555
8556 // SetCacheControl sets the CacheControl field's value.
8557 func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
8558 s.CacheControl = &v
8559 return s
8560 }
8561
8562 // SetContentDisposition sets the ContentDisposition field's value.
8563 func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
8564 s.ContentDisposition = &v
8565 return s
8566 }
8567
8568 // SetContentEncoding sets the ContentEncoding field's value.
8569 func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput {
8570 s.ContentEncoding = &v
8571 return s
8572 }
8573
8574 // SetContentLanguage sets the ContentLanguage field's value.
8575 func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput {
8576 s.ContentLanguage = &v
8577 return s
8578 }
8579
8580 // SetContentType sets the ContentType field's value.
8581 func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput {
8582 s.ContentType = &v
8583 return s
8584 }
8585
8586 // SetCopySource sets the CopySource field's value.
8587 func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput {
8588 s.CopySource = &v
8589 return s
8590 }
8591
8592 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
8593 func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput {
8594 s.CopySourceIfMatch = &v
8595 return s
8596 }
8597
8598 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
8599 func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput {
8600 s.CopySourceIfModifiedSince = &v
8601 return s
8602 }
8603
8604 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
8605 func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput {
8606 s.CopySourceIfNoneMatch = &v
8607 return s
8608 }
8609
8610 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
8611 func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput {
8612 s.CopySourceIfUnmodifiedSince = &v
8613 return s
8614 }
8615
8616 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
8617 func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput {
8618 s.CopySourceSSECustomerAlgorithm = &v
8619 return s
8620 }
8621
8622 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
8623 func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput {
8624 s.CopySourceSSECustomerKey = &v
8625 return s
8626 }
8627
8628 func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
8629 if s.CopySourceSSECustomerKey == nil {
8630 return v
8631 }
8632 return *s.CopySourceSSECustomerKey
8633 }
8634
8635 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
8636 func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
8637 s.CopySourceSSECustomerKeyMD5 = &v
8638 return s
8639 }
8640
8641 // SetExpires sets the Expires field's value.
8642 func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput {
8643 s.Expires = &v
8644 return s
8645 }
8646
8647 // SetGrantFullControl sets the GrantFullControl field's value.
8648 func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput {
8649 s.GrantFullControl = &v
8650 return s
8651 }
8652
8653 // SetGrantRead sets the GrantRead field's value.
8654 func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput {
8655 s.GrantRead = &v
8656 return s
8657 }
8658
8659 // SetGrantReadACP sets the GrantReadACP field's value.
8660 func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput {
8661 s.GrantReadACP = &v
8662 return s
8663 }
8664
8665 // SetGrantWriteACP sets the GrantWriteACP field's value.
8666 func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput {
8667 s.GrantWriteACP = &v
8668 return s
8669 }
8670
8671 // SetKey sets the Key field's value.
8672 func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput {
8673 s.Key = &v
8674 return s
8675 }
8676
8677 // SetMetadata sets the Metadata field's value.
8678 func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput {
8679 s.Metadata = v
8680 return s
8681 }
8682
8683 // SetMetadataDirective sets the MetadataDirective field's value.
8684 func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput {
8685 s.MetadataDirective = &v
8686 return s
8687 }
8688
8689 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
8690 func (s *CopyObjectInput) SetObjectLockLegalHoldStatus(v string) *CopyObjectInput {
8691 s.ObjectLockLegalHoldStatus = &v
8692 return s
8693 }
8694
8695 // SetObjectLockMode sets the ObjectLockMode field's value.
8696 func (s *CopyObjectInput) SetObjectLockMode(v string) *CopyObjectInput {
8697 s.ObjectLockMode = &v
8698 return s
8699 }
8700
8701 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
8702 func (s *CopyObjectInput) SetObjectLockRetainUntilDate(v time.Time) *CopyObjectInput {
8703 s.ObjectLockRetainUntilDate = &v
8704 return s
8705 }
8706
8707 // SetRequestPayer sets the RequestPayer field's value.
8708 func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput {
8709 s.RequestPayer = &v
8710 return s
8711 }
8712
8713 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8714 func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput {
8715 s.SSECustomerAlgorithm = &v
8716 return s
8717 }
8718
8719 // SetSSECustomerKey sets the SSECustomerKey field's value.
8720 func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
8721 s.SSECustomerKey = &v
8722 return s
8723 }
8724
8725 func (s *CopyObjectInput) getSSECustomerKey() (v string) {
8726 if s.SSECustomerKey == nil {
8727 return v
8728 }
8729 return *s.SSECustomerKey
8730 }
8731
8732 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8733 func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
8734 s.SSECustomerKeyMD5 = &v
8735 return s
8736 }
8737
8738 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8739 func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
8740 s.SSEKMSKeyId = &v
8741 return s
8742 }
8743
8744 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8745 func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput {
8746 s.ServerSideEncryption = &v
8747 return s
8748 }
8749
8750 // SetStorageClass sets the StorageClass field's value.
8751 func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput {
8752 s.StorageClass = &v
8753 return s
8754 }
8755
8756 // SetTagging sets the Tagging field's value.
8757 func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput {
8758 s.Tagging = &v
8759 return s
8760 }
8761
8762 // SetTaggingDirective sets the TaggingDirective field's value.
8763 func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput {
8764 s.TaggingDirective = &v
8765 return s
8766 }
8767
8768 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
8769 func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput {
8770 s.WebsiteRedirectLocation = &v
8771 return s
8772 }
8773
8774 type CopyObjectOutput struct {
8775 _ struct{} `type:"structure" payload:"CopyObjectResult"`
8776
8777 CopyObjectResult *CopyObjectResult `type:"structure"`
8778
8779 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
8780
8781 // If the object expiration is configured, the response includes this header.
8782 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8783
8784 // If present, indicates that the requester was successfully charged for the
8785 // request.
8786 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8787
8788 // If server-side encryption with a customer-provided encryption key was requested,
8789 // the response will include this header confirming the encryption algorithm
8790 // used.
8791 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8792
8793 // If server-side encryption with a customer-provided encryption key was requested,
8794 // the response will include this header to provide round trip message integrity
8795 // verification of the customer-provided encryption key.
8796 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8797
8798 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8799 // encryption key that was used for the object.
8800 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
8801
8802 // The Server-side encryption algorithm used when storing this object in S3
8803 // (e.g., AES256, aws:kms).
8804 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8805
8806 // Version ID of the newly created copy.
8807 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8808 }
8809
8810 // String returns the string representation
8811 func (s CopyObjectOutput) String() string {
8812 return awsutil.Prettify(s)
8813 }
8814
8815 // GoString returns the string representation
8816 func (s CopyObjectOutput) GoString() string {
8817 return s.String()
8818 }
8819
8820 // SetCopyObjectResult sets the CopyObjectResult field's value.
8821 func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
8822 s.CopyObjectResult = v
8823 return s
8824 }
8825
8826 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
8827 func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput {
8828 s.CopySourceVersionId = &v
8829 return s
8830 }
8831
8832 // SetExpiration sets the Expiration field's value.
8833 func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput {
8834 s.Expiration = &v
8835 return s
8836 }
8837
8838 // SetRequestCharged sets the RequestCharged field's value.
8839 func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput {
8840 s.RequestCharged = &v
8841 return s
8842 }
8843
8844 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8845 func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput {
8846 s.SSECustomerAlgorithm = &v
8847 return s
8848 }
8849
8850 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8851 func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
8852 s.SSECustomerKeyMD5 = &v
8853 return s
8854 }
8855
8856 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8857 func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
8858 s.SSEKMSKeyId = &v
8859 return s
8860 }
8861
8862 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8863 func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput {
8864 s.ServerSideEncryption = &v
8865 return s
8866 }
8867
8868 // SetVersionId sets the VersionId field's value.
8869 func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
8870 s.VersionId = &v
8871 return s
8872 }
8873
8874 type CopyObjectResult struct {
8875 _ struct{} `type:"structure"`
8876
8877 ETag *string `type:"string"`
8878
8879 LastModified *time.Time `type:"timestamp"`
8880 }
8881
8882 // String returns the string representation
8883 func (s CopyObjectResult) String() string {
8884 return awsutil.Prettify(s)
8885 }
8886
8887 // GoString returns the string representation
8888 func (s CopyObjectResult) GoString() string {
8889 return s.String()
8890 }
8891
8892 // SetETag sets the ETag field's value.
8893 func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
8894 s.ETag = &v
8895 return s
8896 }
8897
8898 // SetLastModified sets the LastModified field's value.
8899 func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
8900 s.LastModified = &v
8901 return s
8902 }
8903
8904 type CopyPartResult struct {
8905 _ struct{} `type:"structure"`
8906
8907 // Entity tag of the object.
8908 ETag *string `type:"string"`
8909
8910 // Date and time at which the object was uploaded.
8911 LastModified *time.Time `type:"timestamp"`
8912 }
8913
8914 // String returns the string representation
8915 func (s CopyPartResult) String() string {
8916 return awsutil.Prettify(s)
8917 }
8918
8919 // GoString returns the string representation
8920 func (s CopyPartResult) GoString() string {
8921 return s.String()
8922 }
8923
8924 // SetETag sets the ETag field's value.
8925 func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
8926 s.ETag = &v
8927 return s
8928 }
8929
8930 // SetLastModified sets the LastModified field's value.
8931 func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
8932 s.LastModified = &v
8933 return s
8934 }
8935
8936 type CreateBucketConfiguration struct {
8937 _ struct{} `type:"structure"`
8938
8939 // Specifies the region where the bucket will be created. If you don't specify
8940 // a region, the bucket is created in US East (N. Virginia) Region (us-east-1).
8941 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
8942 }
8943
8944 // String returns the string representation
8945 func (s CreateBucketConfiguration) String() string {
8946 return awsutil.Prettify(s)
8947 }
8948
8949 // GoString returns the string representation
8950 func (s CreateBucketConfiguration) GoString() string {
8951 return s.String()
8952 }
8953
8954 // SetLocationConstraint sets the LocationConstraint field's value.
8955 func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration {
8956 s.LocationConstraint = &v
8957 return s
8958 }
8959
8960 type CreateBucketInput struct {
8961 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
8962
8963 // The canned ACL to apply to the bucket.
8964 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
8965
8966 // Bucket is a required field
8967 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8968
8969 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
8970
8971 // Allows grantee the read, write, read ACP, and write ACP permissions on the
8972 // bucket.
8973 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8974
8975 // Allows grantee to list the objects in the bucket.
8976 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8977
8978 // Allows grantee to read the bucket ACL.
8979 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8980
8981 // Allows grantee to create, overwrite, and delete any object in the bucket.
8982 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
8983
8984 // Allows grantee to write the ACL for the applicable bucket.
8985 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8986
8987 // Specifies whether you want S3 Object Lock to be enabled for the new bucket.
8988 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"`
8989 }
8990
8991 // String returns the string representation
8992 func (s CreateBucketInput) String() string {
8993 return awsutil.Prettify(s)
8994 }
8995
8996 // GoString returns the string representation
8997 func (s CreateBucketInput) GoString() string {
8998 return s.String()
8999 }
9000
9001 // Validate inspects the fields of the type to determine if they are valid.
9002 func (s *CreateBucketInput) Validate() error {
9003 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
9004 if s.Bucket == nil {
9005 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9006 }
9007 if s.Bucket != nil && len(*s.Bucket) < 1 {
9008 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9009 }
9010
9011 if invalidParams.Len() > 0 {
9012 return invalidParams
9013 }
9014 return nil
9015 }
9016
9017 // SetACL sets the ACL field's value.
9018 func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput {
9019 s.ACL = &v
9020 return s
9021 }
9022
9023 // SetBucket sets the Bucket field's value.
9024 func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
9025 s.Bucket = &v
9026 return s
9027 }
9028
9029 func (s *CreateBucketInput) getBucket() (v string) {
9030 if s.Bucket == nil {
9031 return v
9032 }
9033 return *s.Bucket
9034 }
9035
9036 // SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
9037 func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
9038 s.CreateBucketConfiguration = v
9039 return s
9040 }
9041
9042 // SetGrantFullControl sets the GrantFullControl field's value.
9043 func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput {
9044 s.GrantFullControl = &v
9045 return s
9046 }
9047
9048 // SetGrantRead sets the GrantRead field's value.
9049 func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput {
9050 s.GrantRead = &v
9051 return s
9052 }
9053
9054 // SetGrantReadACP sets the GrantReadACP field's value.
9055 func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput {
9056 s.GrantReadACP = &v
9057 return s
9058 }
9059
9060 // SetGrantWrite sets the GrantWrite field's value.
9061 func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput {
9062 s.GrantWrite = &v
9063 return s
9064 }
9065
9066 // SetGrantWriteACP sets the GrantWriteACP field's value.
9067 func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
9068 s.GrantWriteACP = &v
9069 return s
9070 }
9071
9072 // SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value.
9073 func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput {
9074 s.ObjectLockEnabledForBucket = &v
9075 return s
9076 }
9077
9078 type CreateBucketOutput struct {
9079 _ struct{} `type:"structure"`
9080
9081 Location *string `location:"header" locationName:"Location" type:"string"`
9082 }
9083
9084 // String returns the string representation
9085 func (s CreateBucketOutput) String() string {
9086 return awsutil.Prettify(s)
9087 }
9088
9089 // GoString returns the string representation
9090 func (s CreateBucketOutput) GoString() string {
9091 return s.String()
9092 }
9093
9094 // SetLocation sets the Location field's value.
9095 func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
9096 s.Location = &v
9097 return s
9098 }
9099
9100 type CreateMultipartUploadInput struct {
9101 _ struct{} `type:"structure"`
9102
9103 // The canned ACL to apply to the object.
9104 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
9105
9106 // Bucket is a required field
9107 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9108
9109 // Specifies caching behavior along the request/reply chain.
9110 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
9111
9112 // Specifies presentational information for the object.
9113 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
9114
9115 // Specifies what content encodings have been applied to the object and thus
9116 // what decoding mechanisms must be applied to obtain the media-type referenced
9117 // by the Content-Type header field.
9118 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
9119
9120 // The language the content is in.
9121 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
9122
9123 // A standard MIME type describing the format of the object data.
9124 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
9125
9126 // The date and time at which the object is no longer cacheable.
9127 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
9128
9129 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
9130 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
9131
9132 // Allows grantee to read the object data and its metadata.
9133 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9134
9135 // Allows grantee to read the object ACL.
9136 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
9137
9138 // Allows grantee to write the ACL for the applicable object.
9139 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
9140
9141 // Key is a required field
9142 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
9143
9144 // A map of metadata to store with the object in S3.
9145 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
9146
9147 // Specifies whether you want to apply a Legal Hold to the uploaded object.
9148 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
9149
9150 // Specifies the Object Lock mode that you want to apply to the uploaded object.
9151 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
9152
9153 // Specifies the date and time when you want the Object Lock to expire.
9154 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
9155
9156 // Confirms that the requester knows that she or he will be charged for the
9157 // request. Bucket owners need not specify this parameter in their requests.
9158 // Documentation on downloading objects from requester pays buckets can be found
9159 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
9160 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
9161
9162 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
9163 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9164
9165 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
9166 // data. This value is used to store the object and then it is discarded; Amazon
9167 // does not store the encryption key. The key must be appropriate for use with
9168 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
9169 // header.
9170 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
9171
9172 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
9173 // Amazon S3 uses this header for a message integrity check to ensure the encryption
9174 // key was transmitted without error.
9175 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9176
9177 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
9178 // requests for an object protected by AWS KMS will fail if not made via SSL
9179 // or using SigV4. Documentation on configuring any of the officially supported
9180 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
9181 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
9182
9183 // The Server-side encryption algorithm used when storing this object in S3
9184 // (e.g., AES256, aws:kms).
9185 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9186
9187 // The type of storage to use for the object. Defaults to 'STANDARD'.
9188 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
9189
9190 // The tag-set for the object. The tag-set must be encoded as URL Query parameters
9191 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
9192
9193 // If the bucket is configured as a website, redirects requests for this object
9194 // to another object in the same bucket or to an external URL. Amazon S3 stores
9195 // the value of this header in the object metadata.
9196 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
9197 }
9198
9199 // String returns the string representation
9200 func (s CreateMultipartUploadInput) String() string {
9201 return awsutil.Prettify(s)
9202 }
9203
9204 // GoString returns the string representation
9205 func (s CreateMultipartUploadInput) GoString() string {
9206 return s.String()
9207 }
9208
9209 // Validate inspects the fields of the type to determine if they are valid.
9210 func (s *CreateMultipartUploadInput) Validate() error {
9211 invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"}
9212 if s.Bucket == nil {
9213 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9214 }
9215 if s.Bucket != nil && len(*s.Bucket) < 1 {
9216 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9217 }
9218 if s.Key == nil {
9219 invalidParams.Add(request.NewErrParamRequired("Key"))
9220 }
9221 if s.Key != nil && len(*s.Key) < 1 {
9222 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9223 }
9224
9225 if invalidParams.Len() > 0 {
9226 return invalidParams
9227 }
9228 return nil
9229 }
9230
9231 // SetACL sets the ACL field's value.
9232 func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput {
9233 s.ACL = &v
9234 return s
9235 }
9236
9237 // SetBucket sets the Bucket field's value.
9238 func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput {
9239 s.Bucket = &v
9240 return s
9241 }
9242
9243 func (s *CreateMultipartUploadInput) getBucket() (v string) {
9244 if s.Bucket == nil {
9245 return v
9246 }
9247 return *s.Bucket
9248 }
9249
9250 // SetCacheControl sets the CacheControl field's value.
9251 func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
9252 s.CacheControl = &v
9253 return s
9254 }
9255
9256 // SetContentDisposition sets the ContentDisposition field's value.
9257 func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
9258 s.ContentDisposition = &v
9259 return s
9260 }
9261
9262 // SetContentEncoding sets the ContentEncoding field's value.
9263 func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput {
9264 s.ContentEncoding = &v
9265 return s
9266 }
9267
9268 // SetContentLanguage sets the ContentLanguage field's value.
9269 func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput {
9270 s.ContentLanguage = &v
9271 return s
9272 }
9273
9274 // SetContentType sets the ContentType field's value.
9275 func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput {
9276 s.ContentType = &v
9277 return s
9278 }
9279
9280 // SetExpires sets the Expires field's value.
9281 func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput {
9282 s.Expires = &v
9283 return s
9284 }
9285
9286 // SetGrantFullControl sets the GrantFullControl field's value.
9287 func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput {
9288 s.GrantFullControl = &v
9289 return s
9290 }
9291
9292 // SetGrantRead sets the GrantRead field's value.
9293 func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput {
9294 s.GrantRead = &v
9295 return s
9296 }
9297
9298 // SetGrantReadACP sets the GrantReadACP field's value.
9299 func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput {
9300 s.GrantReadACP = &v
9301 return s
9302 }
9303
9304 // SetGrantWriteACP sets the GrantWriteACP field's value.
9305 func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput {
9306 s.GrantWriteACP = &v
9307 return s
9308 }
9309
9310 // SetKey sets the Key field's value.
9311 func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput {
9312 s.Key = &v
9313 return s
9314 }
9315
9316 // SetMetadata sets the Metadata field's value.
9317 func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput {
9318 s.Metadata = v
9319 return s
9320 }
9321
9322 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
9323 func (s *CreateMultipartUploadInput) SetObjectLockLegalHoldStatus(v string) *CreateMultipartUploadInput {
9324 s.ObjectLockLegalHoldStatus = &v
9325 return s
9326 }
9327
9328 // SetObjectLockMode sets the ObjectLockMode field's value.
9329 func (s *CreateMultipartUploadInput) SetObjectLockMode(v string) *CreateMultipartUploadInput {
9330 s.ObjectLockMode = &v
9331 return s
9332 }
9333
9334 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
9335 func (s *CreateMultipartUploadInput) SetObjectLockRetainUntilDate(v time.Time) *CreateMultipartUploadInput {
9336 s.ObjectLockRetainUntilDate = &v
9337 return s
9338 }
9339
9340 // SetRequestPayer sets the RequestPayer field's value.
9341 func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput {
9342 s.RequestPayer = &v
9343 return s
9344 }
9345
9346 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9347 func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput {
9348 s.SSECustomerAlgorithm = &v
9349 return s
9350 }
9351
9352 // SetSSECustomerKey sets the SSECustomerKey field's value.
9353 func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput {
9354 s.SSECustomerKey = &v
9355 return s
9356 }
9357
9358 func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
9359 if s.SSECustomerKey == nil {
9360 return v
9361 }
9362 return *s.SSECustomerKey
9363 }
9364
9365 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9366 func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
9367 s.SSECustomerKeyMD5 = &v
9368 return s
9369 }
9370
9371 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9372 func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
9373 s.SSEKMSKeyId = &v
9374 return s
9375 }
9376
9377 // SetServerSideEncryption sets the ServerSideEncryption field's value.
9378 func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput {
9379 s.ServerSideEncryption = &v
9380 return s
9381 }
9382
9383 // SetStorageClass sets the StorageClass field's value.
9384 func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput {
9385 s.StorageClass = &v
9386 return s
9387 }
9388
9389 // SetTagging sets the Tagging field's value.
9390 func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
9391 s.Tagging = &v
9392 return s
9393 }
9394
9395 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
9396 func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
9397 s.WebsiteRedirectLocation = &v
9398 return s
9399 }
9400
9401 type CreateMultipartUploadOutput struct {
9402 _ struct{} `type:"structure"`
9403
9404 // Date when multipart upload will become eligible for abort operation by lifecycle.
9405 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
9406
9407 // Id of the lifecycle rule that makes a multipart upload eligible for abort
9408 // operation.
9409 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
9410
9411 // Name of the bucket to which the multipart upload was initiated.
9412 Bucket *string `locationName:"Bucket" type:"string"`
9413
9414 // Object key for which the multipart upload was initiated.
9415 Key *string `min:"1" type:"string"`
9416
9417 // If present, indicates that the requester was successfully charged for the
9418 // request.
9419 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
9420
9421 // If server-side encryption with a customer-provided encryption key was requested,
9422 // the response will include this header confirming the encryption algorithm
9423 // used.
9424 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9425
9426 // If server-side encryption with a customer-provided encryption key was requested,
9427 // the response will include this header to provide round trip message integrity
9428 // verification of the customer-provided encryption key.
9429 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9430
9431 // If present, specifies the ID of the AWS Key Management Service (KMS) master
9432 // encryption key that was used for the object.
9433 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
9434
9435 // The Server-side encryption algorithm used when storing this object in S3
9436 // (e.g., AES256, aws:kms).
9437 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9438
9439 // ID for the initiated multipart upload.
9440 UploadId *string `type:"string"`
9441 }
9442
9443 // String returns the string representation
9444 func (s CreateMultipartUploadOutput) String() string {
9445 return awsutil.Prettify(s)
9446 }
9447
9448 // GoString returns the string representation
9449 func (s CreateMultipartUploadOutput) GoString() string {
9450 return s.String()
9451 }
9452
9453 // SetAbortDate sets the AbortDate field's value.
9454 func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput {
9455 s.AbortDate = &v
9456 return s
9457 }
9458
9459 // SetAbortRuleId sets the AbortRuleId field's value.
9460 func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput {
9461 s.AbortRuleId = &v
9462 return s
9463 }
9464
9465 // SetBucket sets the Bucket field's value.
9466 func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput {
9467 s.Bucket = &v
9468 return s
9469 }
9470
9471 func (s *CreateMultipartUploadOutput) getBucket() (v string) {
9472 if s.Bucket == nil {
9473 return v
9474 }
9475 return *s.Bucket
9476 }
9477
9478 // SetKey sets the Key field's value.
9479 func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
9480 s.Key = &v
9481 return s
9482 }
9483
9484 // SetRequestCharged sets the RequestCharged field's value.
9485 func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput {
9486 s.RequestCharged = &v
9487 return s
9488 }
9489
9490 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9491 func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput {
9492 s.SSECustomerAlgorithm = &v
9493 return s
9494 }
9495
9496 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9497 func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput {
9498 s.SSECustomerKeyMD5 = &v
9499 return s
9500 }
9501
9502 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9503 func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
9504 s.SSEKMSKeyId = &v
9505 return s
9506 }
9507
9508 // SetServerSideEncryption sets the ServerSideEncryption field's value.
9509 func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput {
9510 s.ServerSideEncryption = &v
9511 return s
9512 }
9513
9514 // SetUploadId sets the UploadId field's value.
9515 func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput {
9516 s.UploadId = &v
9517 return s
9518 }
9519
9520 // The container element for specifying the default Object Lock retention settings
9521 // for new objects placed in the specified bucket.
9522 type DefaultRetention struct {
9523 _ struct{} `type:"structure"`
9524
9525 // The number of days that you want to specify for the default retention period.
9526 Days *int64 `type:"integer"`
9527
9528 // The default Object Lock retention mode you want to apply to new objects placed
9529 // in the specified bucket.
9530 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
9531
9532 // The number of years that you want to specify for the default retention period.
9533 Years *int64 `type:"integer"`
9534 }
9535
9536 // String returns the string representation
9537 func (s DefaultRetention) String() string {
9538 return awsutil.Prettify(s)
9539 }
9540
9541 // GoString returns the string representation
9542 func (s DefaultRetention) GoString() string {
9543 return s.String()
9544 }
9545
9546 // SetDays sets the Days field's value.
9547 func (s *DefaultRetention) SetDays(v int64) *DefaultRetention {
9548 s.Days = &v
9549 return s
9550 }
9551
9552 // SetMode sets the Mode field's value.
9553 func (s *DefaultRetention) SetMode(v string) *DefaultRetention {
9554 s.Mode = &v
9555 return s
9556 }
9557
9558 // SetYears sets the Years field's value.
9559 func (s *DefaultRetention) SetYears(v int64) *DefaultRetention {
9560 s.Years = &v
9561 return s
9562 }
9563
9564 type Delete struct {
9565 _ struct{} `type:"structure"`
9566
9567 // Objects is a required field
9568 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`
9569
9570 // Element to enable quiet mode for the request. When you add this element,
9571 // you must set its value to true.
9572 Quiet *bool `type:"boolean"`
9573 }
9574
9575 // String returns the string representation
9576 func (s Delete) String() string {
9577 return awsutil.Prettify(s)
9578 }
9579
9580 // GoString returns the string representation
9581 func (s Delete) GoString() string {
9582 return s.String()
9583 }
9584
9585 // Validate inspects the fields of the type to determine if they are valid.
9586 func (s *Delete) Validate() error {
9587 invalidParams := request.ErrInvalidParams{Context: "Delete"}
9588 if s.Objects == nil {
9589 invalidParams.Add(request.NewErrParamRequired("Objects"))
9590 }
9591 if s.Objects != nil {
9592 for i, v := range s.Objects {
9593 if v == nil {
9594 continue
9595 }
9596 if err := v.Validate(); err != nil {
9597 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams))
9598 }
9599 }
9600 }
9601
9602 if invalidParams.Len() > 0 {
9603 return invalidParams
9604 }
9605 return nil
9606 }
9607
9608 // SetObjects sets the Objects field's value.
9609 func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete {
9610 s.Objects = v
9611 return s
9612 }
9613
9614 // SetQuiet sets the Quiet field's value.
9615 func (s *Delete) SetQuiet(v bool) *Delete {
9616 s.Quiet = &v
9617 return s
9618 }
9619
9620 type DeleteBucketAnalyticsConfigurationInput struct {
9621 _ struct{} `type:"structure"`
9622
9623 // The name of the bucket from which an analytics configuration is deleted.
9624 //
9625 // Bucket is a required field
9626 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9627
9628 // The identifier used to represent an analytics configuration.
9629 //
9630 // Id is a required field
9631 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9632 }
9633
9634 // String returns the string representation
9635 func (s DeleteBucketAnalyticsConfigurationInput) String() string {
9636 return awsutil.Prettify(s)
9637 }
9638
9639 // GoString returns the string representation
9640 func (s DeleteBucketAnalyticsConfigurationInput) GoString() string {
9641 return s.String()
9642 }
9643
9644 // Validate inspects the fields of the type to determine if they are valid.
9645 func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error {
9646 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"}
9647 if s.Bucket == nil {
9648 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9649 }
9650 if s.Bucket != nil && len(*s.Bucket) < 1 {
9651 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9652 }
9653 if s.Id == nil {
9654 invalidParams.Add(request.NewErrParamRequired("Id"))
9655 }
9656
9657 if invalidParams.Len() > 0 {
9658 return invalidParams
9659 }
9660 return nil
9661 }
9662
9663 // SetBucket sets the Bucket field's value.
9664 func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput {
9665 s.Bucket = &v
9666 return s
9667 }
9668
9669 func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
9670 if s.Bucket == nil {
9671 return v
9672 }
9673 return *s.Bucket
9674 }
9675
9676 // SetId sets the Id field's value.
9677 func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
9678 s.Id = &v
9679 return s
9680 }
9681
9682 type DeleteBucketAnalyticsConfigurationOutput struct {
9683 _ struct{} `type:"structure"`
9684 }
9685
9686 // String returns the string representation
9687 func (s DeleteBucketAnalyticsConfigurationOutput) String() string {
9688 return awsutil.Prettify(s)
9689 }
9690
9691 // GoString returns the string representation
9692 func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
9693 return s.String()
9694 }
9695
9696 type DeleteBucketCorsInput struct {
9697 _ struct{} `type:"structure"`
9698
9699 // Bucket is a required field
9700 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9701 }
9702
9703 // String returns the string representation
9704 func (s DeleteBucketCorsInput) String() string {
9705 return awsutil.Prettify(s)
9706 }
9707
9708 // GoString returns the string representation
9709 func (s DeleteBucketCorsInput) GoString() string {
9710 return s.String()
9711 }
9712
9713 // Validate inspects the fields of the type to determine if they are valid.
9714 func (s *DeleteBucketCorsInput) Validate() error {
9715 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"}
9716 if s.Bucket == nil {
9717 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9718 }
9719 if s.Bucket != nil && len(*s.Bucket) < 1 {
9720 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9721 }
9722
9723 if invalidParams.Len() > 0 {
9724 return invalidParams
9725 }
9726 return nil
9727 }
9728
9729 // SetBucket sets the Bucket field's value.
9730 func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
9731 s.Bucket = &v
9732 return s
9733 }
9734
9735 func (s *DeleteBucketCorsInput) getBucket() (v string) {
9736 if s.Bucket == nil {
9737 return v
9738 }
9739 return *s.Bucket
9740 }
9741
9742 type DeleteBucketCorsOutput struct {
9743 _ struct{} `type:"structure"`
9744 }
9745
9746 // String returns the string representation
9747 func (s DeleteBucketCorsOutput) String() string {
9748 return awsutil.Prettify(s)
9749 }
9750
9751 // GoString returns the string representation
9752 func (s DeleteBucketCorsOutput) GoString() string {
9753 return s.String()
9754 }
9755
9756 type DeleteBucketEncryptionInput struct {
9757 _ struct{} `type:"structure"`
9758
9759 // The name of the bucket containing the server-side encryption configuration
9760 // to delete.
9761 //
9762 // Bucket is a required field
9763 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9764 }
9765
9766 // String returns the string representation
9767 func (s DeleteBucketEncryptionInput) String() string {
9768 return awsutil.Prettify(s)
9769 }
9770
9771 // GoString returns the string representation
9772 func (s DeleteBucketEncryptionInput) GoString() string {
9773 return s.String()
9774 }
9775
9776 // Validate inspects the fields of the type to determine if they are valid.
9777 func (s *DeleteBucketEncryptionInput) Validate() error {
9778 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"}
9779 if s.Bucket == nil {
9780 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9781 }
9782 if s.Bucket != nil && len(*s.Bucket) < 1 {
9783 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9784 }
9785
9786 if invalidParams.Len() > 0 {
9787 return invalidParams
9788 }
9789 return nil
9790 }
9791
9792 // SetBucket sets the Bucket field's value.
9793 func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
9794 s.Bucket = &v
9795 return s
9796 }
9797
9798 func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
9799 if s.Bucket == nil {
9800 return v
9801 }
9802 return *s.Bucket
9803 }
9804
9805 type DeleteBucketEncryptionOutput struct {
9806 _ struct{} `type:"structure"`
9807 }
9808
9809 // String returns the string representation
9810 func (s DeleteBucketEncryptionOutput) String() string {
9811 return awsutil.Prettify(s)
9812 }
9813
9814 // GoString returns the string representation
9815 func (s DeleteBucketEncryptionOutput) GoString() string {
9816 return s.String()
9817 }
9818
9819 type DeleteBucketInput struct {
9820 _ struct{} `type:"structure"`
9821
9822 // Bucket is a required field
9823 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9824 }
9825
9826 // String returns the string representation
9827 func (s DeleteBucketInput) String() string {
9828 return awsutil.Prettify(s)
9829 }
9830
9831 // GoString returns the string representation
9832 func (s DeleteBucketInput) GoString() string {
9833 return s.String()
9834 }
9835
9836 // Validate inspects the fields of the type to determine if they are valid.
9837 func (s *DeleteBucketInput) Validate() error {
9838 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
9839 if s.Bucket == nil {
9840 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9841 }
9842 if s.Bucket != nil && len(*s.Bucket) < 1 {
9843 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9844 }
9845
9846 if invalidParams.Len() > 0 {
9847 return invalidParams
9848 }
9849 return nil
9850 }
9851
9852 // SetBucket sets the Bucket field's value.
9853 func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
9854 s.Bucket = &v
9855 return s
9856 }
9857
9858 func (s *DeleteBucketInput) getBucket() (v string) {
9859 if s.Bucket == nil {
9860 return v
9861 }
9862 return *s.Bucket
9863 }
9864
9865 type DeleteBucketInventoryConfigurationInput struct {
9866 _ struct{} `type:"structure"`
9867
9868 // The name of the bucket containing the inventory configuration to delete.
9869 //
9870 // Bucket is a required field
9871 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9872
9873 // The ID used to identify the inventory configuration.
9874 //
9875 // Id is a required field
9876 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9877 }
9878
9879 // String returns the string representation
9880 func (s DeleteBucketInventoryConfigurationInput) String() string {
9881 return awsutil.Prettify(s)
9882 }
9883
9884 // GoString returns the string representation
9885 func (s DeleteBucketInventoryConfigurationInput) GoString() string {
9886 return s.String()
9887 }
9888
9889 // Validate inspects the fields of the type to determine if they are valid.
9890 func (s *DeleteBucketInventoryConfigurationInput) Validate() error {
9891 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"}
9892 if s.Bucket == nil {
9893 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9894 }
9895 if s.Bucket != nil && len(*s.Bucket) < 1 {
9896 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9897 }
9898 if s.Id == nil {
9899 invalidParams.Add(request.NewErrParamRequired("Id"))
9900 }
9901
9902 if invalidParams.Len() > 0 {
9903 return invalidParams
9904 }
9905 return nil
9906 }
9907
9908 // SetBucket sets the Bucket field's value.
9909 func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput {
9910 s.Bucket = &v
9911 return s
9912 }
9913
9914 func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
9915 if s.Bucket == nil {
9916 return v
9917 }
9918 return *s.Bucket
9919 }
9920
9921 // SetId sets the Id field's value.
9922 func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
9923 s.Id = &v
9924 return s
9925 }
9926
9927 type DeleteBucketInventoryConfigurationOutput struct {
9928 _ struct{} `type:"structure"`
9929 }
9930
9931 // String returns the string representation
9932 func (s DeleteBucketInventoryConfigurationOutput) String() string {
9933 return awsutil.Prettify(s)
9934 }
9935
9936 // GoString returns the string representation
9937 func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
9938 return s.String()
9939 }
9940
9941 type DeleteBucketLifecycleInput struct {
9942 _ struct{} `type:"structure"`
9943
9944 // Bucket is a required field
9945 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9946 }
9947
9948 // String returns the string representation
9949 func (s DeleteBucketLifecycleInput) String() string {
9950 return awsutil.Prettify(s)
9951 }
9952
9953 // GoString returns the string representation
9954 func (s DeleteBucketLifecycleInput) GoString() string {
9955 return s.String()
9956 }
9957
9958 // Validate inspects the fields of the type to determine if they are valid.
9959 func (s *DeleteBucketLifecycleInput) Validate() error {
9960 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"}
9961 if s.Bucket == nil {
9962 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9963 }
9964 if s.Bucket != nil && len(*s.Bucket) < 1 {
9965 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9966 }
9967
9968 if invalidParams.Len() > 0 {
9969 return invalidParams
9970 }
9971 return nil
9972 }
9973
9974 // SetBucket sets the Bucket field's value.
9975 func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput {
9976 s.Bucket = &v
9977 return s
9978 }
9979
9980 func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
9981 if s.Bucket == nil {
9982 return v
9983 }
9984 return *s.Bucket
9985 }
9986
9987 type DeleteBucketLifecycleOutput struct {
9988 _ struct{} `type:"structure"`
9989 }
9990
9991 // String returns the string representation
9992 func (s DeleteBucketLifecycleOutput) String() string {
9993 return awsutil.Prettify(s)
9994 }
9995
9996 // GoString returns the string representation
9997 func (s DeleteBucketLifecycleOutput) GoString() string {
9998 return s.String()
9999 }
10000
10001 type DeleteBucketMetricsConfigurationInput struct {
10002 _ struct{} `type:"structure"`
10003
10004 // The name of the bucket containing the metrics configuration to delete.
10005 //
10006 // Bucket is a required field
10007 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10008
10009 // The ID used to identify the metrics configuration.
10010 //
10011 // Id is a required field
10012 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10013 }
10014
10015 // String returns the string representation
10016 func (s DeleteBucketMetricsConfigurationInput) String() string {
10017 return awsutil.Prettify(s)
10018 }
10019
10020 // GoString returns the string representation
10021 func (s DeleteBucketMetricsConfigurationInput) GoString() string {
10022 return s.String()
10023 }
10024
10025 // Validate inspects the fields of the type to determine if they are valid.
10026 func (s *DeleteBucketMetricsConfigurationInput) Validate() error {
10027 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"}
10028 if s.Bucket == nil {
10029 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10030 }
10031 if s.Bucket != nil && len(*s.Bucket) < 1 {
10032 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10033 }
10034 if s.Id == nil {
10035 invalidParams.Add(request.NewErrParamRequired("Id"))
10036 }
10037
10038 if invalidParams.Len() > 0 {
10039 return invalidParams
10040 }
10041 return nil
10042 }
10043
10044 // SetBucket sets the Bucket field's value.
10045 func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput {
10046 s.Bucket = &v
10047 return s
10048 }
10049
10050 func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
10051 if s.Bucket == nil {
10052 return v
10053 }
10054 return *s.Bucket
10055 }
10056
10057 // SetId sets the Id field's value.
10058 func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
10059 s.Id = &v
10060 return s
10061 }
10062
10063 type DeleteBucketMetricsConfigurationOutput struct {
10064 _ struct{} `type:"structure"`
10065 }
10066
10067 // String returns the string representation
10068 func (s DeleteBucketMetricsConfigurationOutput) String() string {
10069 return awsutil.Prettify(s)
10070 }
10071
10072 // GoString returns the string representation
10073 func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
10074 return s.String()
10075 }
10076
10077 type DeleteBucketOutput struct {
10078 _ struct{} `type:"structure"`
10079 }
10080
10081 // String returns the string representation
10082 func (s DeleteBucketOutput) String() string {
10083 return awsutil.Prettify(s)
10084 }
10085
10086 // GoString returns the string representation
10087 func (s DeleteBucketOutput) GoString() string {
10088 return s.String()
10089 }
10090
10091 type DeleteBucketPolicyInput struct {
10092 _ struct{} `type:"structure"`
10093
10094 // Bucket is a required field
10095 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10096 }
10097
10098 // String returns the string representation
10099 func (s DeleteBucketPolicyInput) String() string {
10100 return awsutil.Prettify(s)
10101 }
10102
10103 // GoString returns the string representation
10104 func (s DeleteBucketPolicyInput) GoString() string {
10105 return s.String()
10106 }
10107
10108 // Validate inspects the fields of the type to determine if they are valid.
10109 func (s *DeleteBucketPolicyInput) Validate() error {
10110 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"}
10111 if s.Bucket == nil {
10112 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10113 }
10114 if s.Bucket != nil && len(*s.Bucket) < 1 {
10115 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10116 }
10117
10118 if invalidParams.Len() > 0 {
10119 return invalidParams
10120 }
10121 return nil
10122 }
10123
10124 // SetBucket sets the Bucket field's value.
10125 func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
10126 s.Bucket = &v
10127 return s
10128 }
10129
10130 func (s *DeleteBucketPolicyInput) getBucket() (v string) {
10131 if s.Bucket == nil {
10132 return v
10133 }
10134 return *s.Bucket
10135 }
10136
10137 type DeleteBucketPolicyOutput struct {
10138 _ struct{} `type:"structure"`
10139 }
10140
10141 // String returns the string representation
10142 func (s DeleteBucketPolicyOutput) String() string {
10143 return awsutil.Prettify(s)
10144 }
10145
10146 // GoString returns the string representation
10147 func (s DeleteBucketPolicyOutput) GoString() string {
10148 return s.String()
10149 }
10150
10151 type DeleteBucketReplicationInput struct {
10152 _ struct{} `type:"structure"`
10153
10154 // The bucket name.
10155 //
10156 // It can take a while to propagate the deletion of a replication configuration
10157 // to all Amazon S3 systems.
10158 //
10159 // Bucket is a required field
10160 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10161 }
10162
10163 // String returns the string representation
10164 func (s DeleteBucketReplicationInput) String() string {
10165 return awsutil.Prettify(s)
10166 }
10167
10168 // GoString returns the string representation
10169 func (s DeleteBucketReplicationInput) GoString() string {
10170 return s.String()
10171 }
10172
10173 // Validate inspects the fields of the type to determine if they are valid.
10174 func (s *DeleteBucketReplicationInput) Validate() error {
10175 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"}
10176 if s.Bucket == nil {
10177 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10178 }
10179 if s.Bucket != nil && len(*s.Bucket) < 1 {
10180 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10181 }
10182
10183 if invalidParams.Len() > 0 {
10184 return invalidParams
10185 }
10186 return nil
10187 }
10188
10189 // SetBucket sets the Bucket field's value.
10190 func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput {
10191 s.Bucket = &v
10192 return s
10193 }
10194
10195 func (s *DeleteBucketReplicationInput) getBucket() (v string) {
10196 if s.Bucket == nil {
10197 return v
10198 }
10199 return *s.Bucket
10200 }
10201
10202 type DeleteBucketReplicationOutput struct {
10203 _ struct{} `type:"structure"`
10204 }
10205
10206 // String returns the string representation
10207 func (s DeleteBucketReplicationOutput) String() string {
10208 return awsutil.Prettify(s)
10209 }
10210
10211 // GoString returns the string representation
10212 func (s DeleteBucketReplicationOutput) GoString() string {
10213 return s.String()
10214 }
10215
10216 type DeleteBucketTaggingInput struct {
10217 _ struct{} `type:"structure"`
10218
10219 // Bucket is a required field
10220 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10221 }
10222
10223 // String returns the string representation
10224 func (s DeleteBucketTaggingInput) String() string {
10225 return awsutil.Prettify(s)
10226 }
10227
10228 // GoString returns the string representation
10229 func (s DeleteBucketTaggingInput) GoString() string {
10230 return s.String()
10231 }
10232
10233 // Validate inspects the fields of the type to determine if they are valid.
10234 func (s *DeleteBucketTaggingInput) Validate() error {
10235 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"}
10236 if s.Bucket == nil {
10237 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10238 }
10239 if s.Bucket != nil && len(*s.Bucket) < 1 {
10240 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10241 }
10242
10243 if invalidParams.Len() > 0 {
10244 return invalidParams
10245 }
10246 return nil
10247 }
10248
10249 // SetBucket sets the Bucket field's value.
10250 func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput {
10251 s.Bucket = &v
10252 return s
10253 }
10254
10255 func (s *DeleteBucketTaggingInput) getBucket() (v string) {
10256 if s.Bucket == nil {
10257 return v
10258 }
10259 return *s.Bucket
10260 }
10261
10262 type DeleteBucketTaggingOutput struct {
10263 _ struct{} `type:"structure"`
10264 }
10265
10266 // String returns the string representation
10267 func (s DeleteBucketTaggingOutput) String() string {
10268 return awsutil.Prettify(s)
10269 }
10270
10271 // GoString returns the string representation
10272 func (s DeleteBucketTaggingOutput) GoString() string {
10273 return s.String()
10274 }
10275
10276 type DeleteBucketWebsiteInput struct {
10277 _ struct{} `type:"structure"`
10278
10279 // Bucket is a required field
10280 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10281 }
10282
10283 // String returns the string representation
10284 func (s DeleteBucketWebsiteInput) String() string {
10285 return awsutil.Prettify(s)
10286 }
10287
10288 // GoString returns the string representation
10289 func (s DeleteBucketWebsiteInput) GoString() string {
10290 return s.String()
10291 }
10292
10293 // Validate inspects the fields of the type to determine if they are valid.
10294 func (s *DeleteBucketWebsiteInput) Validate() error {
10295 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"}
10296 if s.Bucket == nil {
10297 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10298 }
10299 if s.Bucket != nil && len(*s.Bucket) < 1 {
10300 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10301 }
10302
10303 if invalidParams.Len() > 0 {
10304 return invalidParams
10305 }
10306 return nil
10307 }
10308
10309 // SetBucket sets the Bucket field's value.
10310 func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput {
10311 s.Bucket = &v
10312 return s
10313 }
10314
10315 func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
10316 if s.Bucket == nil {
10317 return v
10318 }
10319 return *s.Bucket
10320 }
10321
10322 type DeleteBucketWebsiteOutput struct {
10323 _ struct{} `type:"structure"`
10324 }
10325
10326 // String returns the string representation
10327 func (s DeleteBucketWebsiteOutput) String() string {
10328 return awsutil.Prettify(s)
10329 }
10330
10331 // GoString returns the string representation
10332 func (s DeleteBucketWebsiteOutput) GoString() string {
10333 return s.String()
10334 }
10335
10336 type DeleteMarkerEntry struct {
10337 _ struct{} `type:"structure"`
10338
10339 // Specifies whether the object is (true) or is not (false) the latest version
10340 // of an object.
10341 IsLatest *bool `type:"boolean"`
10342
10343 // The object key.
10344 Key *string `min:"1" type:"string"`
10345
10346 // Date and time the object was last modified.
10347 LastModified *time.Time `type:"timestamp"`
10348
10349 Owner *Owner `type:"structure"`
10350
10351 // Version ID of an object.
10352 VersionId *string `type:"string"`
10353 }
10354
10355 // String returns the string representation
10356 func (s DeleteMarkerEntry) String() string {
10357 return awsutil.Prettify(s)
10358 }
10359
10360 // GoString returns the string representation
10361 func (s DeleteMarkerEntry) GoString() string {
10362 return s.String()
10363 }
10364
10365 // SetIsLatest sets the IsLatest field's value.
10366 func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry {
10367 s.IsLatest = &v
10368 return s
10369 }
10370
10371 // SetKey sets the Key field's value.
10372 func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry {
10373 s.Key = &v
10374 return s
10375 }
10376
10377 // SetLastModified sets the LastModified field's value.
10378 func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry {
10379 s.LastModified = &v
10380 return s
10381 }
10382
10383 // SetOwner sets the Owner field's value.
10384 func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry {
10385 s.Owner = v
10386 return s
10387 }
10388
10389 // SetVersionId sets the VersionId field's value.
10390 func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
10391 s.VersionId = &v
10392 return s
10393 }
10394
10395 // Specifies whether Amazon S3 should replicate delete makers.
10396 type DeleteMarkerReplication struct {
10397 _ struct{} `type:"structure"`
10398
10399 // The status of the delete marker replication.
10400 //
10401 // In the current implementation, Amazon S3 doesn't replicate the delete markers.
10402 // The status must be Disabled.
10403 Status *string `type:"string" enum:"DeleteMarkerReplicationStatus"`
10404 }
10405
10406 // String returns the string representation
10407 func (s DeleteMarkerReplication) String() string {
10408 return awsutil.Prettify(s)
10409 }
10410
10411 // GoString returns the string representation
10412 func (s DeleteMarkerReplication) GoString() string {
10413 return s.String()
10414 }
10415
10416 // SetStatus sets the Status field's value.
10417 func (s *DeleteMarkerReplication) SetStatus(v string) *DeleteMarkerReplication {
10418 s.Status = &v
10419 return s
10420 }
10421
10422 type DeleteObjectInput struct {
10423 _ struct{} `type:"structure"`
10424
10425 // Bucket is a required field
10426 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10427
10428 // Indicates whether S3 Object Lock should bypass Governance-mode restrictions
10429 // to process this operation.
10430 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10431
10432 // Key is a required field
10433 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10434
10435 // The concatenation of the authentication device's serial number, a space,
10436 // and the value that is displayed on your authentication device.
10437 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10438
10439 // Confirms that the requester knows that she or he will be charged for the
10440 // request. Bucket owners need not specify this parameter in their requests.
10441 // Documentation on downloading objects from requester pays buckets can be found
10442 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10443 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10444
10445 // VersionId used to reference a specific version of the object.
10446 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10447 }
10448
10449 // String returns the string representation
10450 func (s DeleteObjectInput) String() string {
10451 return awsutil.Prettify(s)
10452 }
10453
10454 // GoString returns the string representation
10455 func (s DeleteObjectInput) GoString() string {
10456 return s.String()
10457 }
10458
10459 // Validate inspects the fields of the type to determine if they are valid.
10460 func (s *DeleteObjectInput) Validate() error {
10461 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"}
10462 if s.Bucket == nil {
10463 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10464 }
10465 if s.Bucket != nil && len(*s.Bucket) < 1 {
10466 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10467 }
10468 if s.Key == nil {
10469 invalidParams.Add(request.NewErrParamRequired("Key"))
10470 }
10471 if s.Key != nil && len(*s.Key) < 1 {
10472 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10473 }
10474
10475 if invalidParams.Len() > 0 {
10476 return invalidParams
10477 }
10478 return nil
10479 }
10480
10481 // SetBucket sets the Bucket field's value.
10482 func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
10483 s.Bucket = &v
10484 return s
10485 }
10486
10487 func (s *DeleteObjectInput) getBucket() (v string) {
10488 if s.Bucket == nil {
10489 return v
10490 }
10491 return *s.Bucket
10492 }
10493
10494 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10495 func (s *DeleteObjectInput) SetBypassGovernanceRetention(v bool) *DeleteObjectInput {
10496 s.BypassGovernanceRetention = &v
10497 return s
10498 }
10499
10500 // SetKey sets the Key field's value.
10501 func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
10502 s.Key = &v
10503 return s
10504 }
10505
10506 // SetMFA sets the MFA field's value.
10507 func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput {
10508 s.MFA = &v
10509 return s
10510 }
10511
10512 // SetRequestPayer sets the RequestPayer field's value.
10513 func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput {
10514 s.RequestPayer = &v
10515 return s
10516 }
10517
10518 // SetVersionId sets the VersionId field's value.
10519 func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
10520 s.VersionId = &v
10521 return s
10522 }
10523
10524 type DeleteObjectOutput struct {
10525 _ struct{} `type:"structure"`
10526
10527 // Specifies whether the versioned object that was permanently deleted was (true)
10528 // or was not (false) a delete marker.
10529 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
10530
10531 // If present, indicates that the requester was successfully charged for the
10532 // request.
10533 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10534
10535 // Returns the version ID of the delete marker created as a result of the DELETE
10536 // operation.
10537 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10538 }
10539
10540 // String returns the string representation
10541 func (s DeleteObjectOutput) String() string {
10542 return awsutil.Prettify(s)
10543 }
10544
10545 // GoString returns the string representation
10546 func (s DeleteObjectOutput) GoString() string {
10547 return s.String()
10548 }
10549
10550 // SetDeleteMarker sets the DeleteMarker field's value.
10551 func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput {
10552 s.DeleteMarker = &v
10553 return s
10554 }
10555
10556 // SetRequestCharged sets the RequestCharged field's value.
10557 func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput {
10558 s.RequestCharged = &v
10559 return s
10560 }
10561
10562 // SetVersionId sets the VersionId field's value.
10563 func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
10564 s.VersionId = &v
10565 return s
10566 }
10567
10568 type DeleteObjectTaggingInput struct {
10569 _ struct{} `type:"structure"`
10570
10571 // Bucket is a required field
10572 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10573
10574 // Key is a required field
10575 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10576
10577 // The versionId of the object that the tag-set will be removed from.
10578 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10579 }
10580
10581 // String returns the string representation
10582 func (s DeleteObjectTaggingInput) String() string {
10583 return awsutil.Prettify(s)
10584 }
10585
10586 // GoString returns the string representation
10587 func (s DeleteObjectTaggingInput) GoString() string {
10588 return s.String()
10589 }
10590
10591 // Validate inspects the fields of the type to determine if they are valid.
10592 func (s *DeleteObjectTaggingInput) Validate() error {
10593 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"}
10594 if s.Bucket == nil {
10595 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10596 }
10597 if s.Bucket != nil && len(*s.Bucket) < 1 {
10598 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10599 }
10600 if s.Key == nil {
10601 invalidParams.Add(request.NewErrParamRequired("Key"))
10602 }
10603 if s.Key != nil && len(*s.Key) < 1 {
10604 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10605 }
10606
10607 if invalidParams.Len() > 0 {
10608 return invalidParams
10609 }
10610 return nil
10611 }
10612
10613 // SetBucket sets the Bucket field's value.
10614 func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput {
10615 s.Bucket = &v
10616 return s
10617 }
10618
10619 func (s *DeleteObjectTaggingInput) getBucket() (v string) {
10620 if s.Bucket == nil {
10621 return v
10622 }
10623 return *s.Bucket
10624 }
10625
10626 // SetKey sets the Key field's value.
10627 func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
10628 s.Key = &v
10629 return s
10630 }
10631
10632 // SetVersionId sets the VersionId field's value.
10633 func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput {
10634 s.VersionId = &v
10635 return s
10636 }
10637
10638 type DeleteObjectTaggingOutput struct {
10639 _ struct{} `type:"structure"`
10640
10641 // The versionId of the object the tag-set was removed from.
10642 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10643 }
10644
10645 // String returns the string representation
10646 func (s DeleteObjectTaggingOutput) String() string {
10647 return awsutil.Prettify(s)
10648 }
10649
10650 // GoString returns the string representation
10651 func (s DeleteObjectTaggingOutput) GoString() string {
10652 return s.String()
10653 }
10654
10655 // SetVersionId sets the VersionId field's value.
10656 func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput {
10657 s.VersionId = &v
10658 return s
10659 }
10660
10661 type DeleteObjectsInput struct {
10662 _ struct{} `type:"structure" payload:"Delete"`
10663
10664 // Bucket is a required field
10665 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10666
10667 // Specifies whether you want to delete this object even if it has a Governance-type
10668 // Object Lock in place. You must have sufficient permissions to perform this
10669 // operation.
10670 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10671
10672 // Delete is a required field
10673 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
10674
10675 // The concatenation of the authentication device's serial number, a space,
10676 // and the value that is displayed on your authentication device.
10677 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10678
10679 // Confirms that the requester knows that she or he will be charged for the
10680 // request. Bucket owners need not specify this parameter in their requests.
10681 // Documentation on downloading objects from requester pays buckets can be found
10682 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10683 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10684 }
10685
10686 // String returns the string representation
10687 func (s DeleteObjectsInput) String() string {
10688 return awsutil.Prettify(s)
10689 }
10690
10691 // GoString returns the string representation
10692 func (s DeleteObjectsInput) GoString() string {
10693 return s.String()
10694 }
10695
10696 // Validate inspects the fields of the type to determine if they are valid.
10697 func (s *DeleteObjectsInput) Validate() error {
10698 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"}
10699 if s.Bucket == nil {
10700 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10701 }
10702 if s.Bucket != nil && len(*s.Bucket) < 1 {
10703 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10704 }
10705 if s.Delete == nil {
10706 invalidParams.Add(request.NewErrParamRequired("Delete"))
10707 }
10708 if s.Delete != nil {
10709 if err := s.Delete.Validate(); err != nil {
10710 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
10711 }
10712 }
10713
10714 if invalidParams.Len() > 0 {
10715 return invalidParams
10716 }
10717 return nil
10718 }
10719
10720 // SetBucket sets the Bucket field's value.
10721 func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
10722 s.Bucket = &v
10723 return s
10724 }
10725
10726 func (s *DeleteObjectsInput) getBucket() (v string) {
10727 if s.Bucket == nil {
10728 return v
10729 }
10730 return *s.Bucket
10731 }
10732
10733 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10734 func (s *DeleteObjectsInput) SetBypassGovernanceRetention(v bool) *DeleteObjectsInput {
10735 s.BypassGovernanceRetention = &v
10736 return s
10737 }
10738
10739 // SetDelete sets the Delete field's value.
10740 func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
10741 s.Delete = v
10742 return s
10743 }
10744
10745 // SetMFA sets the MFA field's value.
10746 func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput {
10747 s.MFA = &v
10748 return s
10749 }
10750
10751 // SetRequestPayer sets the RequestPayer field's value.
10752 func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
10753 s.RequestPayer = &v
10754 return s
10755 }
10756
10757 type DeleteObjectsOutput struct {
10758 _ struct{} `type:"structure"`
10759
10760 Deleted []*DeletedObject `type:"list" flattened:"true"`
10761
10762 Errors []*Error `locationName:"Error" type:"list" flattened:"true"`
10763
10764 // If present, indicates that the requester was successfully charged for the
10765 // request.
10766 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10767 }
10768
10769 // String returns the string representation
10770 func (s DeleteObjectsOutput) String() string {
10771 return awsutil.Prettify(s)
10772 }
10773
10774 // GoString returns the string representation
10775 func (s DeleteObjectsOutput) GoString() string {
10776 return s.String()
10777 }
10778
10779 // SetDeleted sets the Deleted field's value.
10780 func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput {
10781 s.Deleted = v
10782 return s
10783 }
10784
10785 // SetErrors sets the Errors field's value.
10786 func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput {
10787 s.Errors = v
10788 return s
10789 }
10790
10791 // SetRequestCharged sets the RequestCharged field's value.
10792 func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
10793 s.RequestCharged = &v
10794 return s
10795 }
10796
10797 type DeletePublicAccessBlockInput struct {
10798 _ struct{} `type:"structure"`
10799
10800 // The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.
10801 //
10802 // Bucket is a required field
10803 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10804 }
10805
10806 // String returns the string representation
10807 func (s DeletePublicAccessBlockInput) String() string {
10808 return awsutil.Prettify(s)
10809 }
10810
10811 // GoString returns the string representation
10812 func (s DeletePublicAccessBlockInput) GoString() string {
10813 return s.String()
10814 }
10815
10816 // Validate inspects the fields of the type to determine if they are valid.
10817 func (s *DeletePublicAccessBlockInput) Validate() error {
10818 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"}
10819 if s.Bucket == nil {
10820 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10821 }
10822 if s.Bucket != nil && len(*s.Bucket) < 1 {
10823 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10824 }
10825
10826 if invalidParams.Len() > 0 {
10827 return invalidParams
10828 }
10829 return nil
10830 }
10831
10832 // SetBucket sets the Bucket field's value.
10833 func (s *DeletePublicAccessBlockInput) SetBucket(v string) *DeletePublicAccessBlockInput {
10834 s.Bucket = &v
10835 return s
10836 }
10837
10838 func (s *DeletePublicAccessBlockInput) getBucket() (v string) {
10839 if s.Bucket == nil {
10840 return v
10841 }
10842 return *s.Bucket
10843 }
10844
10845 type DeletePublicAccessBlockOutput struct {
10846 _ struct{} `type:"structure"`
10847 }
10848
10849 // String returns the string representation
10850 func (s DeletePublicAccessBlockOutput) String() string {
10851 return awsutil.Prettify(s)
10852 }
10853
10854 // GoString returns the string representation
10855 func (s DeletePublicAccessBlockOutput) GoString() string {
10856 return s.String()
10857 }
10858
10859 type DeletedObject struct {
10860 _ struct{} `type:"structure"`
10861
10862 DeleteMarker *bool `type:"boolean"`
10863
10864 DeleteMarkerVersionId *string `type:"string"`
10865
10866 Key *string `min:"1" type:"string"`
10867
10868 VersionId *string `type:"string"`
10869 }
10870
10871 // String returns the string representation
10872 func (s DeletedObject) String() string {
10873 return awsutil.Prettify(s)
10874 }
10875
10876 // GoString returns the string representation
10877 func (s DeletedObject) GoString() string {
10878 return s.String()
10879 }
10880
10881 // SetDeleteMarker sets the DeleteMarker field's value.
10882 func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject {
10883 s.DeleteMarker = &v
10884 return s
10885 }
10886
10887 // SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value.
10888 func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject {
10889 s.DeleteMarkerVersionId = &v
10890 return s
10891 }
10892
10893 // SetKey sets the Key field's value.
10894 func (s *DeletedObject) SetKey(v string) *DeletedObject {
10895 s.Key = &v
10896 return s
10897 }
10898
10899 // SetVersionId sets the VersionId field's value.
10900 func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
10901 s.VersionId = &v
10902 return s
10903 }
10904
10905 // A container for information about the replication destination.
10906 type Destination struct {
10907 _ struct{} `type:"structure"`
10908
10909 // A container for information about access control for replicas.
10910 //
10911 // Use this element only in a cross-account scenario where source and destination
10912 // bucket owners are not the same to change replica ownership to the AWS account
10913 // that owns the destination bucket. If you don't add this element to the replication
10914 // configuration, the replicas are owned by same AWS account that owns the source
10915 // object.
10916 AccessControlTranslation *AccessControlTranslation `type:"structure"`
10917
10918 // The account ID of the destination bucket. Currently, Amazon S3 verifies this
10919 // value only if Access Control Translation is enabled.
10920 //
10921 // In a cross-account scenario, if you change replica ownership to the AWS account
10922 // that owns the destination bucket by adding the AccessControlTranslation element,
10923 // this is the account ID of the owner of the destination bucket.
10924 Account *string `type:"string"`
10925
10926 // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to
10927 // store replicas of the object identified by the rule.
10928 //
10929 // If there are multiple rules in your replication configuration, all rules
10930 // must specify the same bucket as the destination. A replication configuration
10931 // can replicate objects to only one destination bucket.
10932 //
10933 // Bucket is a required field
10934 Bucket *string `type:"string" required:"true"`
10935
10936 // A container that provides information about encryption. If SourceSelectionCriteria
10937 // is specified, you must specify this element.
10938 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
10939
10940 // The class of storage used to store the object. By default Amazon S3 uses
10941 // storage class of the source object when creating a replica.
10942 StorageClass *string `type:"string" enum:"StorageClass"`
10943 }
10944
10945 // String returns the string representation
10946 func (s Destination) String() string {
10947 return awsutil.Prettify(s)
10948 }
10949
10950 // GoString returns the string representation
10951 func (s Destination) GoString() string {
10952 return s.String()
10953 }
10954
10955 // Validate inspects the fields of the type to determine if they are valid.
10956 func (s *Destination) Validate() error {
10957 invalidParams := request.ErrInvalidParams{Context: "Destination"}
10958 if s.Bucket == nil {
10959 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10960 }
10961 if s.AccessControlTranslation != nil {
10962 if err := s.AccessControlTranslation.Validate(); err != nil {
10963 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
10964 }
10965 }
10966
10967 if invalidParams.Len() > 0 {
10968 return invalidParams
10969 }
10970 return nil
10971 }
10972
10973 // SetAccessControlTranslation sets the AccessControlTranslation field's value.
10974 func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
10975 s.AccessControlTranslation = v
10976 return s
10977 }
10978
10979 // SetAccount sets the Account field's value.
10980 func (s *Destination) SetAccount(v string) *Destination {
10981 s.Account = &v
10982 return s
10983 }
10984
10985 // SetBucket sets the Bucket field's value.
10986 func (s *Destination) SetBucket(v string) *Destination {
10987 s.Bucket = &v
10988 return s
10989 }
10990
10991 func (s *Destination) getBucket() (v string) {
10992 if s.Bucket == nil {
10993 return v
10994 }
10995 return *s.Bucket
10996 }
10997
10998 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
10999 func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
11000 s.EncryptionConfiguration = v
11001 return s
11002 }
11003
11004 // SetStorageClass sets the StorageClass field's value.
11005 func (s *Destination) SetStorageClass(v string) *Destination {
11006 s.StorageClass = &v
11007 return s
11008 }
11009
11010 // Describes the server-side encryption that will be applied to the restore
11011 // results.
11012 type Encryption struct {
11013 _ struct{} `type:"structure"`
11014
11015 // The server-side encryption algorithm used when storing job results in Amazon
11016 // S3 (e.g., AES256, aws:kms).
11017 //
11018 // EncryptionType is a required field
11019 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
11020
11021 // If the encryption type is aws:kms, this optional value can be used to specify
11022 // the encryption context for the restore results.
11023 KMSContext *string `type:"string"`
11024
11025 // If the encryption type is aws:kms, this optional value specifies the AWS
11026 // KMS key ID to use for encryption of job results.
11027 KMSKeyId *string `type:"string" sensitive:"true"`
11028 }
11029
11030 // String returns the string representation
11031 func (s Encryption) String() string {
11032 return awsutil.Prettify(s)
11033 }
11034
11035 // GoString returns the string representation
11036 func (s Encryption) GoString() string {
11037 return s.String()
11038 }
11039
11040 // Validate inspects the fields of the type to determine if they are valid.
11041 func (s *Encryption) Validate() error {
11042 invalidParams := request.ErrInvalidParams{Context: "Encryption"}
11043 if s.EncryptionType == nil {
11044 invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
11045 }
11046
11047 if invalidParams.Len() > 0 {
11048 return invalidParams
11049 }
11050 return nil
11051 }
11052
11053 // SetEncryptionType sets the EncryptionType field's value.
11054 func (s *Encryption) SetEncryptionType(v string) *Encryption {
11055 s.EncryptionType = &v
11056 return s
11057 }
11058
11059 // SetKMSContext sets the KMSContext field's value.
11060 func (s *Encryption) SetKMSContext(v string) *Encryption {
11061 s.KMSContext = &v
11062 return s
11063 }
11064
11065 // SetKMSKeyId sets the KMSKeyId field's value.
11066 func (s *Encryption) SetKMSKeyId(v string) *Encryption {
11067 s.KMSKeyId = &v
11068 return s
11069 }
11070
11071 // A container for information about the encryption-based configuration for
11072 // replicas.
11073 type EncryptionConfiguration struct {
11074 _ struct{} `type:"structure"`
11075
11076 // The ID of the AWS KMS key for the AWS Region where the destination bucket
11077 // resides. Amazon S3 uses this key to encrypt the replica object.
11078 ReplicaKmsKeyID *string `type:"string"`
11079 }
11080
11081 // String returns the string representation
11082 func (s EncryptionConfiguration) String() string {
11083 return awsutil.Prettify(s)
11084 }
11085
11086 // GoString returns the string representation
11087 func (s EncryptionConfiguration) GoString() string {
11088 return s.String()
11089 }
11090
11091 // SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
11092 func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
11093 s.ReplicaKmsKeyID = &v
11094 return s
11095 }
11096
11097 type EndEvent struct {
11098 _ struct{} `locationName:"EndEvent" type:"structure"`
11099 }
11100
11101 // String returns the string representation
11102 func (s EndEvent) String() string {
11103 return awsutil.Prettify(s)
11104 }
11105
11106 // GoString returns the string representation
11107 func (s EndEvent) GoString() string {
11108 return s.String()
11109 }
11110
11111 // The EndEvent is and event in the SelectObjectContentEventStream group of events.
11112 func (s *EndEvent) eventSelectObjectContentEventStream() {}
11113
11114 // UnmarshalEvent unmarshals the EventStream Message into the EndEvent value.
11115 // This method is only used internally within the SDK's EventStream handling.
11116 func (s *EndEvent) UnmarshalEvent(
11117 payloadUnmarshaler protocol.PayloadUnmarshaler,
11118 msg eventstream.Message,
11119 ) error {
11120 return nil
11121 }
11122
11123 type Error struct {
11124 _ struct{} `type:"structure"`
11125
11126 Code *string `type:"string"`
11127
11128 Key *string `min:"1" type:"string"`
11129
11130 Message *string `type:"string"`
11131
11132 VersionId *string `type:"string"`
11133 }
11134
11135 // String returns the string representation
11136 func (s Error) String() string {
11137 return awsutil.Prettify(s)
11138 }
11139
11140 // GoString returns the string representation
11141 func (s Error) GoString() string {
11142 return s.String()
11143 }
11144
11145 // SetCode sets the Code field's value.
11146 func (s *Error) SetCode(v string) *Error {
11147 s.Code = &v
11148 return s
11149 }
11150
11151 // SetKey sets the Key field's value.
11152 func (s *Error) SetKey(v string) *Error {
11153 s.Key = &v
11154 return s
11155 }
11156
11157 // SetMessage sets the Message field's value.
11158 func (s *Error) SetMessage(v string) *Error {
11159 s.Message = &v
11160 return s
11161 }
11162
11163 // SetVersionId sets the VersionId field's value.
11164 func (s *Error) SetVersionId(v string) *Error {
11165 s.VersionId = &v
11166 return s
11167 }
11168
11169 type ErrorDocument struct {
11170 _ struct{} `type:"structure"`
11171
11172 // The object key name to use when a 4XX class error occurs.
11173 //
11174 // Key is a required field
11175 Key *string `min:"1" type:"string" required:"true"`
11176 }
11177
11178 // String returns the string representation
11179 func (s ErrorDocument) String() string {
11180 return awsutil.Prettify(s)
11181 }
11182
11183 // GoString returns the string representation
11184 func (s ErrorDocument) GoString() string {
11185 return s.String()
11186 }
11187
11188 // Validate inspects the fields of the type to determine if they are valid.
11189 func (s *ErrorDocument) Validate() error {
11190 invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"}
11191 if s.Key == nil {
11192 invalidParams.Add(request.NewErrParamRequired("Key"))
11193 }
11194 if s.Key != nil && len(*s.Key) < 1 {
11195 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11196 }
11197
11198 if invalidParams.Len() > 0 {
11199 return invalidParams
11200 }
11201 return nil
11202 }
11203
11204 // SetKey sets the Key field's value.
11205 func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
11206 s.Key = &v
11207 return s
11208 }
11209
11210 // A container for a key value pair that defines the criteria for the filter
11211 // rule.
11212 type FilterRule struct {
11213 _ struct{} `type:"structure"`
11214
11215 // The object key name prefix or suffix identifying one or more objects to which
11216 // the filtering rule applies. The maximum prefix length is 1,024 characters.
11217 // Overlapping prefixes and suffixes are not supported. For more information,
11218 // see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
11219 // in the Amazon Simple Storage Service Developer Guide.
11220 Name *string `type:"string" enum:"FilterRuleName"`
11221
11222 Value *string `type:"string"`
11223 }
11224
11225 // String returns the string representation
11226 func (s FilterRule) String() string {
11227 return awsutil.Prettify(s)
11228 }
11229
11230 // GoString returns the string representation
11231 func (s FilterRule) GoString() string {
11232 return s.String()
11233 }
11234
11235 // SetName sets the Name field's value.
11236 func (s *FilterRule) SetName(v string) *FilterRule {
11237 s.Name = &v
11238 return s
11239 }
11240
11241 // SetValue sets the Value field's value.
11242 func (s *FilterRule) SetValue(v string) *FilterRule {
11243 s.Value = &v
11244 return s
11245 }
11246
11247 type GetBucketAccelerateConfigurationInput struct {
11248 _ struct{} `type:"structure"`
11249
11250 // Name of the bucket for which the accelerate configuration is retrieved.
11251 //
11252 // Bucket is a required field
11253 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11254 }
11255
11256 // String returns the string representation
11257 func (s GetBucketAccelerateConfigurationInput) String() string {
11258 return awsutil.Prettify(s)
11259 }
11260
11261 // GoString returns the string representation
11262 func (s GetBucketAccelerateConfigurationInput) GoString() string {
11263 return s.String()
11264 }
11265
11266 // Validate inspects the fields of the type to determine if they are valid.
11267 func (s *GetBucketAccelerateConfigurationInput) Validate() error {
11268 invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"}
11269 if s.Bucket == nil {
11270 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11271 }
11272 if s.Bucket != nil && len(*s.Bucket) < 1 {
11273 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11274 }
11275
11276 if invalidParams.Len() > 0 {
11277 return invalidParams
11278 }
11279 return nil
11280 }
11281
11282 // SetBucket sets the Bucket field's value.
11283 func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput {
11284 s.Bucket = &v
11285 return s
11286 }
11287
11288 func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
11289 if s.Bucket == nil {
11290 return v
11291 }
11292 return *s.Bucket
11293 }
11294
11295 type GetBucketAccelerateConfigurationOutput struct {
11296 _ struct{} `type:"structure"`
11297
11298 // The accelerate configuration of the bucket.
11299 Status *string `type:"string" enum:"BucketAccelerateStatus"`
11300 }
11301
11302 // String returns the string representation
11303 func (s GetBucketAccelerateConfigurationOutput) String() string {
11304 return awsutil.Prettify(s)
11305 }
11306
11307 // GoString returns the string representation
11308 func (s GetBucketAccelerateConfigurationOutput) GoString() string {
11309 return s.String()
11310 }
11311
11312 // SetStatus sets the Status field's value.
11313 func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput {
11314 s.Status = &v
11315 return s
11316 }
11317
11318 type GetBucketAclInput struct {
11319 _ struct{} `type:"structure"`
11320
11321 // Bucket is a required field
11322 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11323 }
11324
11325 // String returns the string representation
11326 func (s GetBucketAclInput) String() string {
11327 return awsutil.Prettify(s)
11328 }
11329
11330 // GoString returns the string representation
11331 func (s GetBucketAclInput) GoString() string {
11332 return s.String()
11333 }
11334
11335 // Validate inspects the fields of the type to determine if they are valid.
11336 func (s *GetBucketAclInput) Validate() error {
11337 invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"}
11338 if s.Bucket == nil {
11339 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11340 }
11341 if s.Bucket != nil && len(*s.Bucket) < 1 {
11342 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11343 }
11344
11345 if invalidParams.Len() > 0 {
11346 return invalidParams
11347 }
11348 return nil
11349 }
11350
11351 // SetBucket sets the Bucket field's value.
11352 func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
11353 s.Bucket = &v
11354 return s
11355 }
11356
11357 func (s *GetBucketAclInput) getBucket() (v string) {
11358 if s.Bucket == nil {
11359 return v
11360 }
11361 return *s.Bucket
11362 }
11363
11364 type GetBucketAclOutput struct {
11365 _ struct{} `type:"structure"`
11366
11367 // A list of grants.
11368 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
11369
11370 Owner *Owner `type:"structure"`
11371 }
11372
11373 // String returns the string representation
11374 func (s GetBucketAclOutput) String() string {
11375 return awsutil.Prettify(s)
11376 }
11377
11378 // GoString returns the string representation
11379 func (s GetBucketAclOutput) GoString() string {
11380 return s.String()
11381 }
11382
11383 // SetGrants sets the Grants field's value.
11384 func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput {
11385 s.Grants = v
11386 return s
11387 }
11388
11389 // SetOwner sets the Owner field's value.
11390 func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
11391 s.Owner = v
11392 return s
11393 }
11394
11395 type GetBucketAnalyticsConfigurationInput struct {
11396 _ struct{} `type:"structure"`
11397
11398 // The name of the bucket from which an analytics configuration is retrieved.
11399 //
11400 // Bucket is a required field
11401 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11402
11403 // The identifier used to represent an analytics configuration.
11404 //
11405 // Id is a required field
11406 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11407 }
11408
11409 // String returns the string representation
11410 func (s GetBucketAnalyticsConfigurationInput) String() string {
11411 return awsutil.Prettify(s)
11412 }
11413
11414 // GoString returns the string representation
11415 func (s GetBucketAnalyticsConfigurationInput) GoString() string {
11416 return s.String()
11417 }
11418
11419 // Validate inspects the fields of the type to determine if they are valid.
11420 func (s *GetBucketAnalyticsConfigurationInput) Validate() error {
11421 invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"}
11422 if s.Bucket == nil {
11423 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11424 }
11425 if s.Bucket != nil && len(*s.Bucket) < 1 {
11426 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11427 }
11428 if s.Id == nil {
11429 invalidParams.Add(request.NewErrParamRequired("Id"))
11430 }
11431
11432 if invalidParams.Len() > 0 {
11433 return invalidParams
11434 }
11435 return nil
11436 }
11437
11438 // SetBucket sets the Bucket field's value.
11439 func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput {
11440 s.Bucket = &v
11441 return s
11442 }
11443
11444 func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
11445 if s.Bucket == nil {
11446 return v
11447 }
11448 return *s.Bucket
11449 }
11450
11451 // SetId sets the Id field's value.
11452 func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
11453 s.Id = &v
11454 return s
11455 }
11456
11457 type GetBucketAnalyticsConfigurationOutput struct {
11458 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
11459
11460 // The configuration and any analyses for the analytics filter.
11461 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"`
11462 }
11463
11464 // String returns the string representation
11465 func (s GetBucketAnalyticsConfigurationOutput) String() string {
11466 return awsutil.Prettify(s)
11467 }
11468
11469 // GoString returns the string representation
11470 func (s GetBucketAnalyticsConfigurationOutput) GoString() string {
11471 return s.String()
11472 }
11473
11474 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
11475 func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput {
11476 s.AnalyticsConfiguration = v
11477 return s
11478 }
11479
11480 type GetBucketCorsInput struct {
11481 _ struct{} `type:"structure"`
11482
11483 // Bucket is a required field
11484 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11485 }
11486
11487 // String returns the string representation
11488 func (s GetBucketCorsInput) String() string {
11489 return awsutil.Prettify(s)
11490 }
11491
11492 // GoString returns the string representation
11493 func (s GetBucketCorsInput) GoString() string {
11494 return s.String()
11495 }
11496
11497 // Validate inspects the fields of the type to determine if they are valid.
11498 func (s *GetBucketCorsInput) Validate() error {
11499 invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"}
11500 if s.Bucket == nil {
11501 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11502 }
11503 if s.Bucket != nil && len(*s.Bucket) < 1 {
11504 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11505 }
11506
11507 if invalidParams.Len() > 0 {
11508 return invalidParams
11509 }
11510 return nil
11511 }
11512
11513 // SetBucket sets the Bucket field's value.
11514 func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
11515 s.Bucket = &v
11516 return s
11517 }
11518
11519 func (s *GetBucketCorsInput) getBucket() (v string) {
11520 if s.Bucket == nil {
11521 return v
11522 }
11523 return *s.Bucket
11524 }
11525
11526 type GetBucketCorsOutput struct {
11527 _ struct{} `type:"structure"`
11528
11529 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`
11530 }
11531
11532 // String returns the string representation
11533 func (s GetBucketCorsOutput) String() string {
11534 return awsutil.Prettify(s)
11535 }
11536
11537 // GoString returns the string representation
11538 func (s GetBucketCorsOutput) GoString() string {
11539 return s.String()
11540 }
11541
11542 // SetCORSRules sets the CORSRules field's value.
11543 func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
11544 s.CORSRules = v
11545 return s
11546 }
11547
11548 type GetBucketEncryptionInput struct {
11549 _ struct{} `type:"structure"`
11550
11551 // The name of the bucket from which the server-side encryption configuration
11552 // is retrieved.
11553 //
11554 // Bucket is a required field
11555 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11556 }
11557
11558 // String returns the string representation
11559 func (s GetBucketEncryptionInput) String() string {
11560 return awsutil.Prettify(s)
11561 }
11562
11563 // GoString returns the string representation
11564 func (s GetBucketEncryptionInput) GoString() string {
11565 return s.String()
11566 }
11567
11568 // Validate inspects the fields of the type to determine if they are valid.
11569 func (s *GetBucketEncryptionInput) Validate() error {
11570 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"}
11571 if s.Bucket == nil {
11572 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11573 }
11574 if s.Bucket != nil && len(*s.Bucket) < 1 {
11575 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11576 }
11577
11578 if invalidParams.Len() > 0 {
11579 return invalidParams
11580 }
11581 return nil
11582 }
11583
11584 // SetBucket sets the Bucket field's value.
11585 func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
11586 s.Bucket = &v
11587 return s
11588 }
11589
11590 func (s *GetBucketEncryptionInput) getBucket() (v string) {
11591 if s.Bucket == nil {
11592 return v
11593 }
11594 return *s.Bucket
11595 }
11596
11597 type GetBucketEncryptionOutput struct {
11598 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
11599
11600 // Container for server-side encryption configuration rules. Currently S3 supports
11601 // one rule only.
11602 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
11603 }
11604
11605 // String returns the string representation
11606 func (s GetBucketEncryptionOutput) String() string {
11607 return awsutil.Prettify(s)
11608 }
11609
11610 // GoString returns the string representation
11611 func (s GetBucketEncryptionOutput) GoString() string {
11612 return s.String()
11613 }
11614
11615 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
11616 func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
11617 s.ServerSideEncryptionConfiguration = v
11618 return s
11619 }
11620
11621 type GetBucketInventoryConfigurationInput struct {
11622 _ struct{} `type:"structure"`
11623
11624 // The name of the bucket containing the inventory configuration to retrieve.
11625 //
11626 // Bucket is a required field
11627 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11628
11629 // The ID used to identify the inventory configuration.
11630 //
11631 // Id is a required field
11632 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11633 }
11634
11635 // String returns the string representation
11636 func (s GetBucketInventoryConfigurationInput) String() string {
11637 return awsutil.Prettify(s)
11638 }
11639
11640 // GoString returns the string representation
11641 func (s GetBucketInventoryConfigurationInput) GoString() string {
11642 return s.String()
11643 }
11644
11645 // Validate inspects the fields of the type to determine if they are valid.
11646 func (s *GetBucketInventoryConfigurationInput) Validate() error {
11647 invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"}
11648 if s.Bucket == nil {
11649 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11650 }
11651 if s.Bucket != nil && len(*s.Bucket) < 1 {
11652 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11653 }
11654 if s.Id == nil {
11655 invalidParams.Add(request.NewErrParamRequired("Id"))
11656 }
11657
11658 if invalidParams.Len() > 0 {
11659 return invalidParams
11660 }
11661 return nil
11662 }
11663
11664 // SetBucket sets the Bucket field's value.
11665 func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput {
11666 s.Bucket = &v
11667 return s
11668 }
11669
11670 func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
11671 if s.Bucket == nil {
11672 return v
11673 }
11674 return *s.Bucket
11675 }
11676
11677 // SetId sets the Id field's value.
11678 func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
11679 s.Id = &v
11680 return s
11681 }
11682
11683 type GetBucketInventoryConfigurationOutput struct {
11684 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
11685
11686 // Specifies the inventory configuration.
11687 InventoryConfiguration *InventoryConfiguration `type:"structure"`
11688 }
11689
11690 // String returns the string representation
11691 func (s GetBucketInventoryConfigurationOutput) String() string {
11692 return awsutil.Prettify(s)
11693 }
11694
11695 // GoString returns the string representation
11696 func (s GetBucketInventoryConfigurationOutput) GoString() string {
11697 return s.String()
11698 }
11699
11700 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
11701 func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput {
11702 s.InventoryConfiguration = v
11703 return s
11704 }
11705
11706 type GetBucketLifecycleConfigurationInput struct {
11707 _ struct{} `type:"structure"`
11708
11709 // Bucket is a required field
11710 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11711 }
11712
11713 // String returns the string representation
11714 func (s GetBucketLifecycleConfigurationInput) String() string {
11715 return awsutil.Prettify(s)
11716 }
11717
11718 // GoString returns the string representation
11719 func (s GetBucketLifecycleConfigurationInput) GoString() string {
11720 return s.String()
11721 }
11722
11723 // Validate inspects the fields of the type to determine if they are valid.
11724 func (s *GetBucketLifecycleConfigurationInput) Validate() error {
11725 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"}
11726 if s.Bucket == nil {
11727 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11728 }
11729 if s.Bucket != nil && len(*s.Bucket) < 1 {
11730 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11731 }
11732
11733 if invalidParams.Len() > 0 {
11734 return invalidParams
11735 }
11736 return nil
11737 }
11738
11739 // SetBucket sets the Bucket field's value.
11740 func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput {
11741 s.Bucket = &v
11742 return s
11743 }
11744
11745 func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
11746 if s.Bucket == nil {
11747 return v
11748 }
11749 return *s.Bucket
11750 }
11751
11752 type GetBucketLifecycleConfigurationOutput struct {
11753 _ struct{} `type:"structure"`
11754
11755 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`
11756 }
11757
11758 // String returns the string representation
11759 func (s GetBucketLifecycleConfigurationOutput) String() string {
11760 return awsutil.Prettify(s)
11761 }
11762
11763 // GoString returns the string representation
11764 func (s GetBucketLifecycleConfigurationOutput) GoString() string {
11765 return s.String()
11766 }
11767
11768 // SetRules sets the Rules field's value.
11769 func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput {
11770 s.Rules = v
11771 return s
11772 }
11773
11774 type GetBucketLifecycleInput struct {
11775 _ struct{} `type:"structure"`
11776
11777 // Bucket is a required field
11778 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11779 }
11780
11781 // String returns the string representation
11782 func (s GetBucketLifecycleInput) String() string {
11783 return awsutil.Prettify(s)
11784 }
11785
11786 // GoString returns the string representation
11787 func (s GetBucketLifecycleInput) GoString() string {
11788 return s.String()
11789 }
11790
11791 // Validate inspects the fields of the type to determine if they are valid.
11792 func (s *GetBucketLifecycleInput) Validate() error {
11793 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"}
11794 if s.Bucket == nil {
11795 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11796 }
11797 if s.Bucket != nil && len(*s.Bucket) < 1 {
11798 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11799 }
11800
11801 if invalidParams.Len() > 0 {
11802 return invalidParams
11803 }
11804 return nil
11805 }
11806
11807 // SetBucket sets the Bucket field's value.
11808 func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
11809 s.Bucket = &v
11810 return s
11811 }
11812
11813 func (s *GetBucketLifecycleInput) getBucket() (v string) {
11814 if s.Bucket == nil {
11815 return v
11816 }
11817 return *s.Bucket
11818 }
11819
11820 type GetBucketLifecycleOutput struct {
11821 _ struct{} `type:"structure"`
11822
11823 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"`
11824 }
11825
11826 // String returns the string representation
11827 func (s GetBucketLifecycleOutput) String() string {
11828 return awsutil.Prettify(s)
11829 }
11830
11831 // GoString returns the string representation
11832 func (s GetBucketLifecycleOutput) GoString() string {
11833 return s.String()
11834 }
11835
11836 // SetRules sets the Rules field's value.
11837 func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput {
11838 s.Rules = v
11839 return s
11840 }
11841
11842 type GetBucketLocationInput struct {
11843 _ struct{} `type:"structure"`
11844
11845 // Bucket is a required field
11846 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11847 }
11848
11849 // String returns the string representation
11850 func (s GetBucketLocationInput) String() string {
11851 return awsutil.Prettify(s)
11852 }
11853
11854 // GoString returns the string representation
11855 func (s GetBucketLocationInput) GoString() string {
11856 return s.String()
11857 }
11858
11859 // Validate inspects the fields of the type to determine if they are valid.
11860 func (s *GetBucketLocationInput) Validate() error {
11861 invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"}
11862 if s.Bucket == nil {
11863 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11864 }
11865 if s.Bucket != nil && len(*s.Bucket) < 1 {
11866 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11867 }
11868
11869 if invalidParams.Len() > 0 {
11870 return invalidParams
11871 }
11872 return nil
11873 }
11874
11875 // SetBucket sets the Bucket field's value.
11876 func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
11877 s.Bucket = &v
11878 return s
11879 }
11880
11881 func (s *GetBucketLocationInput) getBucket() (v string) {
11882 if s.Bucket == nil {
11883 return v
11884 }
11885 return *s.Bucket
11886 }
11887
11888 type GetBucketLocationOutput struct {
11889 _ struct{} `type:"structure"`
11890
11891 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
11892 }
11893
11894 // String returns the string representation
11895 func (s GetBucketLocationOutput) String() string {
11896 return awsutil.Prettify(s)
11897 }
11898
11899 // GoString returns the string representation
11900 func (s GetBucketLocationOutput) GoString() string {
11901 return s.String()
11902 }
11903
11904 // SetLocationConstraint sets the LocationConstraint field's value.
11905 func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput {
11906 s.LocationConstraint = &v
11907 return s
11908 }
11909
11910 type GetBucketLoggingInput struct {
11911 _ struct{} `type:"structure"`
11912
11913 // Bucket is a required field
11914 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11915 }
11916
11917 // String returns the string representation
11918 func (s GetBucketLoggingInput) String() string {
11919 return awsutil.Prettify(s)
11920 }
11921
11922 // GoString returns the string representation
11923 func (s GetBucketLoggingInput) GoString() string {
11924 return s.String()
11925 }
11926
11927 // Validate inspects the fields of the type to determine if they are valid.
11928 func (s *GetBucketLoggingInput) Validate() error {
11929 invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"}
11930 if s.Bucket == nil {
11931 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11932 }
11933 if s.Bucket != nil && len(*s.Bucket) < 1 {
11934 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11935 }
11936
11937 if invalidParams.Len() > 0 {
11938 return invalidParams
11939 }
11940 return nil
11941 }
11942
11943 // SetBucket sets the Bucket field's value.
11944 func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
11945 s.Bucket = &v
11946 return s
11947 }
11948
11949 func (s *GetBucketLoggingInput) getBucket() (v string) {
11950 if s.Bucket == nil {
11951 return v
11952 }
11953 return *s.Bucket
11954 }
11955
11956 type GetBucketLoggingOutput struct {
11957 _ struct{} `type:"structure"`
11958
11959 // Container for logging information. Presence of this element indicates that
11960 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
11961 // in this case.
11962 LoggingEnabled *LoggingEnabled `type:"structure"`
11963 }
11964
11965 // String returns the string representation
11966 func (s GetBucketLoggingOutput) String() string {
11967 return awsutil.Prettify(s)
11968 }
11969
11970 // GoString returns the string representation
11971 func (s GetBucketLoggingOutput) GoString() string {
11972 return s.String()
11973 }
11974
11975 // SetLoggingEnabled sets the LoggingEnabled field's value.
11976 func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput {
11977 s.LoggingEnabled = v
11978 return s
11979 }
11980
11981 type GetBucketMetricsConfigurationInput struct {
11982 _ struct{} `type:"structure"`
11983
11984 // The name of the bucket containing the metrics configuration to retrieve.
11985 //
11986 // Bucket is a required field
11987 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11988
11989 // The ID used to identify the metrics configuration.
11990 //
11991 // Id is a required field
11992 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11993 }
11994
11995 // String returns the string representation
11996 func (s GetBucketMetricsConfigurationInput) String() string {
11997 return awsutil.Prettify(s)
11998 }
11999
12000 // GoString returns the string representation
12001 func (s GetBucketMetricsConfigurationInput) GoString() string {
12002 return s.String()
12003 }
12004
12005 // Validate inspects the fields of the type to determine if they are valid.
12006 func (s *GetBucketMetricsConfigurationInput) Validate() error {
12007 invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"}
12008 if s.Bucket == nil {
12009 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12010 }
12011 if s.Bucket != nil && len(*s.Bucket) < 1 {
12012 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12013 }
12014 if s.Id == nil {
12015 invalidParams.Add(request.NewErrParamRequired("Id"))
12016 }
12017
12018 if invalidParams.Len() > 0 {
12019 return invalidParams
12020 }
12021 return nil
12022 }
12023
12024 // SetBucket sets the Bucket field's value.
12025 func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput {
12026 s.Bucket = &v
12027 return s
12028 }
12029
12030 func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
12031 if s.Bucket == nil {
12032 return v
12033 }
12034 return *s.Bucket
12035 }
12036
12037 // SetId sets the Id field's value.
12038 func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
12039 s.Id = &v
12040 return s
12041 }
12042
12043 type GetBucketMetricsConfigurationOutput struct {
12044 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
12045
12046 // Specifies the metrics configuration.
12047 MetricsConfiguration *MetricsConfiguration `type:"structure"`
12048 }
12049
12050 // String returns the string representation
12051 func (s GetBucketMetricsConfigurationOutput) String() string {
12052 return awsutil.Prettify(s)
12053 }
12054
12055 // GoString returns the string representation
12056 func (s GetBucketMetricsConfigurationOutput) GoString() string {
12057 return s.String()
12058 }
12059
12060 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
12061 func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput {
12062 s.MetricsConfiguration = v
12063 return s
12064 }
12065
12066 type GetBucketNotificationConfigurationRequest struct {
12067 _ struct{} `type:"structure"`
12068
12069 // Name of the bucket to get the notification configuration for.
12070 //
12071 // Bucket is a required field
12072 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12073 }
12074
12075 // String returns the string representation
12076 func (s GetBucketNotificationConfigurationRequest) String() string {
12077 return awsutil.Prettify(s)
12078 }
12079
12080 // GoString returns the string representation
12081 func (s GetBucketNotificationConfigurationRequest) GoString() string {
12082 return s.String()
12083 }
12084
12085 // Validate inspects the fields of the type to determine if they are valid.
12086 func (s *GetBucketNotificationConfigurationRequest) Validate() error {
12087 invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"}
12088 if s.Bucket == nil {
12089 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12090 }
12091 if s.Bucket != nil && len(*s.Bucket) < 1 {
12092 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12093 }
12094
12095 if invalidParams.Len() > 0 {
12096 return invalidParams
12097 }
12098 return nil
12099 }
12100
12101 // SetBucket sets the Bucket field's value.
12102 func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest {
12103 s.Bucket = &v
12104 return s
12105 }
12106
12107 func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
12108 if s.Bucket == nil {
12109 return v
12110 }
12111 return *s.Bucket
12112 }
12113
12114 type GetBucketPolicyInput struct {
12115 _ struct{} `type:"structure"`
12116
12117 // Bucket is a required field
12118 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12119 }
12120
12121 // String returns the string representation
12122 func (s GetBucketPolicyInput) String() string {
12123 return awsutil.Prettify(s)
12124 }
12125
12126 // GoString returns the string representation
12127 func (s GetBucketPolicyInput) GoString() string {
12128 return s.String()
12129 }
12130
12131 // Validate inspects the fields of the type to determine if they are valid.
12132 func (s *GetBucketPolicyInput) Validate() error {
12133 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"}
12134 if s.Bucket == nil {
12135 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12136 }
12137 if s.Bucket != nil && len(*s.Bucket) < 1 {
12138 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12139 }
12140
12141 if invalidParams.Len() > 0 {
12142 return invalidParams
12143 }
12144 return nil
12145 }
12146
12147 // SetBucket sets the Bucket field's value.
12148 func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
12149 s.Bucket = &v
12150 return s
12151 }
12152
12153 func (s *GetBucketPolicyInput) getBucket() (v string) {
12154 if s.Bucket == nil {
12155 return v
12156 }
12157 return *s.Bucket
12158 }
12159
12160 type GetBucketPolicyOutput struct {
12161 _ struct{} `type:"structure" payload:"Policy"`
12162
12163 // The bucket policy as a JSON document.
12164 Policy *string `type:"string"`
12165 }
12166
12167 // String returns the string representation
12168 func (s GetBucketPolicyOutput) String() string {
12169 return awsutil.Prettify(s)
12170 }
12171
12172 // GoString returns the string representation
12173 func (s GetBucketPolicyOutput) GoString() string {
12174 return s.String()
12175 }
12176
12177 // SetPolicy sets the Policy field's value.
12178 func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
12179 s.Policy = &v
12180 return s
12181 }
12182
12183 type GetBucketPolicyStatusInput struct {
12184 _ struct{} `type:"structure"`
12185
12186 // The name of the Amazon S3 bucket whose policy status you want to retrieve.
12187 //
12188 // Bucket is a required field
12189 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12190 }
12191
12192 // String returns the string representation
12193 func (s GetBucketPolicyStatusInput) String() string {
12194 return awsutil.Prettify(s)
12195 }
12196
12197 // GoString returns the string representation
12198 func (s GetBucketPolicyStatusInput) GoString() string {
12199 return s.String()
12200 }
12201
12202 // Validate inspects the fields of the type to determine if they are valid.
12203 func (s *GetBucketPolicyStatusInput) Validate() error {
12204 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyStatusInput"}
12205 if s.Bucket == nil {
12206 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12207 }
12208 if s.Bucket != nil && len(*s.Bucket) < 1 {
12209 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12210 }
12211
12212 if invalidParams.Len() > 0 {
12213 return invalidParams
12214 }
12215 return nil
12216 }
12217
12218 // SetBucket sets the Bucket field's value.
12219 func (s *GetBucketPolicyStatusInput) SetBucket(v string) *GetBucketPolicyStatusInput {
12220 s.Bucket = &v
12221 return s
12222 }
12223
12224 func (s *GetBucketPolicyStatusInput) getBucket() (v string) {
12225 if s.Bucket == nil {
12226 return v
12227 }
12228 return *s.Bucket
12229 }
12230
12231 type GetBucketPolicyStatusOutput struct {
12232 _ struct{} `type:"structure" payload:"PolicyStatus"`
12233
12234 // The policy status for the specified bucket.
12235 PolicyStatus *PolicyStatus `type:"structure"`
12236 }
12237
12238 // String returns the string representation
12239 func (s GetBucketPolicyStatusOutput) String() string {
12240 return awsutil.Prettify(s)
12241 }
12242
12243 // GoString returns the string representation
12244 func (s GetBucketPolicyStatusOutput) GoString() string {
12245 return s.String()
12246 }
12247
12248 // SetPolicyStatus sets the PolicyStatus field's value.
12249 func (s *GetBucketPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetBucketPolicyStatusOutput {
12250 s.PolicyStatus = v
12251 return s
12252 }
12253
12254 type GetBucketReplicationInput struct {
12255 _ struct{} `type:"structure"`
12256
12257 // Bucket is a required field
12258 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12259 }
12260
12261 // String returns the string representation
12262 func (s GetBucketReplicationInput) String() string {
12263 return awsutil.Prettify(s)
12264 }
12265
12266 // GoString returns the string representation
12267 func (s GetBucketReplicationInput) GoString() string {
12268 return s.String()
12269 }
12270
12271 // Validate inspects the fields of the type to determine if they are valid.
12272 func (s *GetBucketReplicationInput) Validate() error {
12273 invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"}
12274 if s.Bucket == nil {
12275 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12276 }
12277 if s.Bucket != nil && len(*s.Bucket) < 1 {
12278 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12279 }
12280
12281 if invalidParams.Len() > 0 {
12282 return invalidParams
12283 }
12284 return nil
12285 }
12286
12287 // SetBucket sets the Bucket field's value.
12288 func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput {
12289 s.Bucket = &v
12290 return s
12291 }
12292
12293 func (s *GetBucketReplicationInput) getBucket() (v string) {
12294 if s.Bucket == nil {
12295 return v
12296 }
12297 return *s.Bucket
12298 }
12299
12300 type GetBucketReplicationOutput struct {
12301 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
12302
12303 // A container for replication rules. You can add up to 1,000 rules. The maximum
12304 // size of a replication configuration is 2 MB.
12305 ReplicationConfiguration *ReplicationConfiguration `type:"structure"`
12306 }
12307
12308 // String returns the string representation
12309 func (s GetBucketReplicationOutput) String() string {
12310 return awsutil.Prettify(s)
12311 }
12312
12313 // GoString returns the string representation
12314 func (s GetBucketReplicationOutput) GoString() string {
12315 return s.String()
12316 }
12317
12318 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
12319 func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput {
12320 s.ReplicationConfiguration = v
12321 return s
12322 }
12323
12324 type GetBucketRequestPaymentInput struct {
12325 _ struct{} `type:"structure"`
12326
12327 // Bucket is a required field
12328 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12329 }
12330
12331 // String returns the string representation
12332 func (s GetBucketRequestPaymentInput) String() string {
12333 return awsutil.Prettify(s)
12334 }
12335
12336 // GoString returns the string representation
12337 func (s GetBucketRequestPaymentInput) GoString() string {
12338 return s.String()
12339 }
12340
12341 // Validate inspects the fields of the type to determine if they are valid.
12342 func (s *GetBucketRequestPaymentInput) Validate() error {
12343 invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"}
12344 if s.Bucket == nil {
12345 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12346 }
12347 if s.Bucket != nil && len(*s.Bucket) < 1 {
12348 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12349 }
12350
12351 if invalidParams.Len() > 0 {
12352 return invalidParams
12353 }
12354 return nil
12355 }
12356
12357 // SetBucket sets the Bucket field's value.
12358 func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput {
12359 s.Bucket = &v
12360 return s
12361 }
12362
12363 func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
12364 if s.Bucket == nil {
12365 return v
12366 }
12367 return *s.Bucket
12368 }
12369
12370 type GetBucketRequestPaymentOutput struct {
12371 _ struct{} `type:"structure"`
12372
12373 // Specifies who pays for the download and request fees.
12374 Payer *string `type:"string" enum:"Payer"`
12375 }
12376
12377 // String returns the string representation
12378 func (s GetBucketRequestPaymentOutput) String() string {
12379 return awsutil.Prettify(s)
12380 }
12381
12382 // GoString returns the string representation
12383 func (s GetBucketRequestPaymentOutput) GoString() string {
12384 return s.String()
12385 }
12386
12387 // SetPayer sets the Payer field's value.
12388 func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput {
12389 s.Payer = &v
12390 return s
12391 }
12392
12393 type GetBucketTaggingInput struct {
12394 _ struct{} `type:"structure"`
12395
12396 // Bucket is a required field
12397 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12398 }
12399
12400 // String returns the string representation
12401 func (s GetBucketTaggingInput) String() string {
12402 return awsutil.Prettify(s)
12403 }
12404
12405 // GoString returns the string representation
12406 func (s GetBucketTaggingInput) GoString() string {
12407 return s.String()
12408 }
12409
12410 // Validate inspects the fields of the type to determine if they are valid.
12411 func (s *GetBucketTaggingInput) Validate() error {
12412 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"}
12413 if s.Bucket == nil {
12414 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12415 }
12416 if s.Bucket != nil && len(*s.Bucket) < 1 {
12417 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12418 }
12419
12420 if invalidParams.Len() > 0 {
12421 return invalidParams
12422 }
12423 return nil
12424 }
12425
12426 // SetBucket sets the Bucket field's value.
12427 func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
12428 s.Bucket = &v
12429 return s
12430 }
12431
12432 func (s *GetBucketTaggingInput) getBucket() (v string) {
12433 if s.Bucket == nil {
12434 return v
12435 }
12436 return *s.Bucket
12437 }
12438
12439 type GetBucketTaggingOutput struct {
12440 _ struct{} `type:"structure"`
12441
12442 // TagSet is a required field
12443 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
12444 }
12445
12446 // String returns the string representation
12447 func (s GetBucketTaggingOutput) String() string {
12448 return awsutil.Prettify(s)
12449 }
12450
12451 // GoString returns the string representation
12452 func (s GetBucketTaggingOutput) GoString() string {
12453 return s.String()
12454 }
12455
12456 // SetTagSet sets the TagSet field's value.
12457 func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
12458 s.TagSet = v
12459 return s
12460 }
12461
12462 type GetBucketVersioningInput struct {
12463 _ struct{} `type:"structure"`
12464
12465 // Bucket is a required field
12466 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12467 }
12468
12469 // String returns the string representation
12470 func (s GetBucketVersioningInput) String() string {
12471 return awsutil.Prettify(s)
12472 }
12473
12474 // GoString returns the string representation
12475 func (s GetBucketVersioningInput) GoString() string {
12476 return s.String()
12477 }
12478
12479 // Validate inspects the fields of the type to determine if they are valid.
12480 func (s *GetBucketVersioningInput) Validate() error {
12481 invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"}
12482 if s.Bucket == nil {
12483 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12484 }
12485 if s.Bucket != nil && len(*s.Bucket) < 1 {
12486 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12487 }
12488
12489 if invalidParams.Len() > 0 {
12490 return invalidParams
12491 }
12492 return nil
12493 }
12494
12495 // SetBucket sets the Bucket field's value.
12496 func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput {
12497 s.Bucket = &v
12498 return s
12499 }
12500
12501 func (s *GetBucketVersioningInput) getBucket() (v string) {
12502 if s.Bucket == nil {
12503 return v
12504 }
12505 return *s.Bucket
12506 }
12507
12508 type GetBucketVersioningOutput struct {
12509 _ struct{} `type:"structure"`
12510
12511 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
12512 // This element is only returned if the bucket has been configured with MFA
12513 // delete. If the bucket has never been so configured, this element is not returned.
12514 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"`
12515
12516 // The versioning state of the bucket.
12517 Status *string `type:"string" enum:"BucketVersioningStatus"`
12518 }
12519
12520 // String returns the string representation
12521 func (s GetBucketVersioningOutput) String() string {
12522 return awsutil.Prettify(s)
12523 }
12524
12525 // GoString returns the string representation
12526 func (s GetBucketVersioningOutput) GoString() string {
12527 return s.String()
12528 }
12529
12530 // SetMFADelete sets the MFADelete field's value.
12531 func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput {
12532 s.MFADelete = &v
12533 return s
12534 }
12535
12536 // SetStatus sets the Status field's value.
12537 func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput {
12538 s.Status = &v
12539 return s
12540 }
12541
12542 type GetBucketWebsiteInput struct {
12543 _ struct{} `type:"structure"`
12544
12545 // Bucket is a required field
12546 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12547 }
12548
12549 // String returns the string representation
12550 func (s GetBucketWebsiteInput) String() string {
12551 return awsutil.Prettify(s)
12552 }
12553
12554 // GoString returns the string representation
12555 func (s GetBucketWebsiteInput) GoString() string {
12556 return s.String()
12557 }
12558
12559 // Validate inspects the fields of the type to determine if they are valid.
12560 func (s *GetBucketWebsiteInput) Validate() error {
12561 invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"}
12562 if s.Bucket == nil {
12563 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12564 }
12565 if s.Bucket != nil && len(*s.Bucket) < 1 {
12566 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12567 }
12568
12569 if invalidParams.Len() > 0 {
12570 return invalidParams
12571 }
12572 return nil
12573 }
12574
12575 // SetBucket sets the Bucket field's value.
12576 func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
12577 s.Bucket = &v
12578 return s
12579 }
12580
12581 func (s *GetBucketWebsiteInput) getBucket() (v string) {
12582 if s.Bucket == nil {
12583 return v
12584 }
12585 return *s.Bucket
12586 }
12587
12588 type GetBucketWebsiteOutput struct {
12589 _ struct{} `type:"structure"`
12590
12591 ErrorDocument *ErrorDocument `type:"structure"`
12592
12593 IndexDocument *IndexDocument `type:"structure"`
12594
12595 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
12596
12597 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
12598 }
12599
12600 // String returns the string representation
12601 func (s GetBucketWebsiteOutput) String() string {
12602 return awsutil.Prettify(s)
12603 }
12604
12605 // GoString returns the string representation
12606 func (s GetBucketWebsiteOutput) GoString() string {
12607 return s.String()
12608 }
12609
12610 // SetErrorDocument sets the ErrorDocument field's value.
12611 func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput {
12612 s.ErrorDocument = v
12613 return s
12614 }
12615
12616 // SetIndexDocument sets the IndexDocument field's value.
12617 func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput {
12618 s.IndexDocument = v
12619 return s
12620 }
12621
12622 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
12623 func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput {
12624 s.RedirectAllRequestsTo = v
12625 return s
12626 }
12627
12628 // SetRoutingRules sets the RoutingRules field's value.
12629 func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput {
12630 s.RoutingRules = v
12631 return s
12632 }
12633
12634 type GetObjectAclInput struct {
12635 _ struct{} `type:"structure"`
12636
12637 // Bucket is a required field
12638 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12639
12640 // Key is a required field
12641 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12642
12643 // Confirms that the requester knows that she or he will be charged for the
12644 // request. Bucket owners need not specify this parameter in their requests.
12645 // Documentation on downloading objects from requester pays buckets can be found
12646 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12647 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12648
12649 // VersionId used to reference a specific version of the object.
12650 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12651 }
12652
12653 // String returns the string representation
12654 func (s GetObjectAclInput) String() string {
12655 return awsutil.Prettify(s)
12656 }
12657
12658 // GoString returns the string representation
12659 func (s GetObjectAclInput) GoString() string {
12660 return s.String()
12661 }
12662
12663 // Validate inspects the fields of the type to determine if they are valid.
12664 func (s *GetObjectAclInput) Validate() error {
12665 invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"}
12666 if s.Bucket == nil {
12667 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12668 }
12669 if s.Bucket != nil && len(*s.Bucket) < 1 {
12670 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12671 }
12672 if s.Key == nil {
12673 invalidParams.Add(request.NewErrParamRequired("Key"))
12674 }
12675 if s.Key != nil && len(*s.Key) < 1 {
12676 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12677 }
12678
12679 if invalidParams.Len() > 0 {
12680 return invalidParams
12681 }
12682 return nil
12683 }
12684
12685 // SetBucket sets the Bucket field's value.
12686 func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
12687 s.Bucket = &v
12688 return s
12689 }
12690
12691 func (s *GetObjectAclInput) getBucket() (v string) {
12692 if s.Bucket == nil {
12693 return v
12694 }
12695 return *s.Bucket
12696 }
12697
12698 // SetKey sets the Key field's value.
12699 func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
12700 s.Key = &v
12701 return s
12702 }
12703
12704 // SetRequestPayer sets the RequestPayer field's value.
12705 func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput {
12706 s.RequestPayer = &v
12707 return s
12708 }
12709
12710 // SetVersionId sets the VersionId field's value.
12711 func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
12712 s.VersionId = &v
12713 return s
12714 }
12715
12716 type GetObjectAclOutput struct {
12717 _ struct{} `type:"structure"`
12718
12719 // A list of grants.
12720 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
12721
12722 Owner *Owner `type:"structure"`
12723
12724 // If present, indicates that the requester was successfully charged for the
12725 // request.
12726 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
12727 }
12728
12729 // String returns the string representation
12730 func (s GetObjectAclOutput) String() string {
12731 return awsutil.Prettify(s)
12732 }
12733
12734 // GoString returns the string representation
12735 func (s GetObjectAclOutput) GoString() string {
12736 return s.String()
12737 }
12738
12739 // SetGrants sets the Grants field's value.
12740 func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput {
12741 s.Grants = v
12742 return s
12743 }
12744
12745 // SetOwner sets the Owner field's value.
12746 func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput {
12747 s.Owner = v
12748 return s
12749 }
12750
12751 // SetRequestCharged sets the RequestCharged field's value.
12752 func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
12753 s.RequestCharged = &v
12754 return s
12755 }
12756
12757 type GetObjectInput struct {
12758 _ struct{} `type:"structure"`
12759
12760 // Bucket is a required field
12761 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12762
12763 // Return the object only if its entity tag (ETag) is the same as the one specified,
12764 // otherwise return a 412 (precondition failed).
12765 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
12766
12767 // Return the object only if it has been modified since the specified time,
12768 // otherwise return a 304 (not modified).
12769 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
12770
12771 // Return the object only if its entity tag (ETag) is different from the one
12772 // specified, otherwise return a 304 (not modified).
12773 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
12774
12775 // Return the object only if it has not been modified since the specified time,
12776 // otherwise return a 412 (precondition failed).
12777 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
12778
12779 // Key is a required field
12780 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12781
12782 // Part number of the object being read. This is a positive integer between
12783 // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified.
12784 // Useful for downloading just a part of an object.
12785 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
12786
12787 // Downloads the specified range bytes of an object. For more information about
12788 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
12789 Range *string `location:"header" locationName:"Range" type:"string"`
12790
12791 // Confirms that the requester knows that she or he will be charged for the
12792 // request. Bucket owners need not specify this parameter in their requests.
12793 // Documentation on downloading objects from requester pays buckets can be found
12794 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12795 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12796
12797 // Sets the Cache-Control header of the response.
12798 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`
12799
12800 // Sets the Content-Disposition header of the response
12801 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`
12802
12803 // Sets the Content-Encoding header of the response.
12804 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`
12805
12806 // Sets the Content-Language header of the response.
12807 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`
12808
12809 // Sets the Content-Type header of the response.
12810 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
12811
12812 // Sets the Expires header of the response.
12813 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
12814
12815 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
12816 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
12817
12818 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
12819 // data. This value is used to store the object and then it is discarded; Amazon
12820 // does not store the encryption key. The key must be appropriate for use with
12821 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
12822 // header.
12823 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
12824
12825 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
12826 // Amazon S3 uses this header for a message integrity check to ensure the encryption
12827 // key was transmitted without error.
12828 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
12829
12830 // VersionId used to reference a specific version of the object.
12831 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12832 }
12833
12834 // String returns the string representation
12835 func (s GetObjectInput) String() string {
12836 return awsutil.Prettify(s)
12837 }
12838
12839 // GoString returns the string representation
12840 func (s GetObjectInput) GoString() string {
12841 return s.String()
12842 }
12843
12844 // Validate inspects the fields of the type to determine if they are valid.
12845 func (s *GetObjectInput) Validate() error {
12846 invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"}
12847 if s.Bucket == nil {
12848 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12849 }
12850 if s.Bucket != nil && len(*s.Bucket) < 1 {
12851 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12852 }
12853 if s.Key == nil {
12854 invalidParams.Add(request.NewErrParamRequired("Key"))
12855 }
12856 if s.Key != nil && len(*s.Key) < 1 {
12857 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12858 }
12859
12860 if invalidParams.Len() > 0 {
12861 return invalidParams
12862 }
12863 return nil
12864 }
12865
12866 // SetBucket sets the Bucket field's value.
12867 func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
12868 s.Bucket = &v
12869 return s
12870 }
12871
12872 func (s *GetObjectInput) getBucket() (v string) {
12873 if s.Bucket == nil {
12874 return v
12875 }
12876 return *s.Bucket
12877 }
12878
12879 // SetIfMatch sets the IfMatch field's value.
12880 func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
12881 s.IfMatch = &v
12882 return s
12883 }
12884
12885 // SetIfModifiedSince sets the IfModifiedSince field's value.
12886 func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput {
12887 s.IfModifiedSince = &v
12888 return s
12889 }
12890
12891 // SetIfNoneMatch sets the IfNoneMatch field's value.
12892 func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput {
12893 s.IfNoneMatch = &v
12894 return s
12895 }
12896
12897 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
12898 func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput {
12899 s.IfUnmodifiedSince = &v
12900 return s
12901 }
12902
12903 // SetKey sets the Key field's value.
12904 func (s *GetObjectInput) SetKey(v string) *GetObjectInput {
12905 s.Key = &v
12906 return s
12907 }
12908
12909 // SetPartNumber sets the PartNumber field's value.
12910 func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput {
12911 s.PartNumber = &v
12912 return s
12913 }
12914
12915 // SetRange sets the Range field's value.
12916 func (s *GetObjectInput) SetRange(v string) *GetObjectInput {
12917 s.Range = &v
12918 return s
12919 }
12920
12921 // SetRequestPayer sets the RequestPayer field's value.
12922 func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput {
12923 s.RequestPayer = &v
12924 return s
12925 }
12926
12927 // SetResponseCacheControl sets the ResponseCacheControl field's value.
12928 func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput {
12929 s.ResponseCacheControl = &v
12930 return s
12931 }
12932
12933 // SetResponseContentDisposition sets the ResponseContentDisposition field's value.
12934 func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput {
12935 s.ResponseContentDisposition = &v
12936 return s
12937 }
12938
12939 // SetResponseContentEncoding sets the ResponseContentEncoding field's value.
12940 func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput {
12941 s.ResponseContentEncoding = &v
12942 return s
12943 }
12944
12945 // SetResponseContentLanguage sets the ResponseContentLanguage field's value.
12946 func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput {
12947 s.ResponseContentLanguage = &v
12948 return s
12949 }
12950
12951 // SetResponseContentType sets the ResponseContentType field's value.
12952 func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput {
12953 s.ResponseContentType = &v
12954 return s
12955 }
12956
12957 // SetResponseExpires sets the ResponseExpires field's value.
12958 func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput {
12959 s.ResponseExpires = &v
12960 return s
12961 }
12962
12963 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
12964 func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput {
12965 s.SSECustomerAlgorithm = &v
12966 return s
12967 }
12968
12969 // SetSSECustomerKey sets the SSECustomerKey field's value.
12970 func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
12971 s.SSECustomerKey = &v
12972 return s
12973 }
12974
12975 func (s *GetObjectInput) getSSECustomerKey() (v string) {
12976 if s.SSECustomerKey == nil {
12977 return v
12978 }
12979 return *s.SSECustomerKey
12980 }
12981
12982 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
12983 func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
12984 s.SSECustomerKeyMD5 = &v
12985 return s
12986 }
12987
12988 // SetVersionId sets the VersionId field's value.
12989 func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
12990 s.VersionId = &v
12991 return s
12992 }
12993
12994 type GetObjectLegalHoldInput struct {
12995 _ struct{} `type:"structure"`
12996
12997 // The bucket containing the object whose Legal Hold status you want to retrieve.
12998 //
12999 // Bucket is a required field
13000 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13001
13002 // The key name for the object whose Legal Hold status you want to retrieve.
13003 //
13004 // Key is a required field
13005 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13006
13007 // Confirms that the requester knows that she or he will be charged for the
13008 // request. Bucket owners need not specify this parameter in their requests.
13009 // Documentation on downloading objects from requester pays buckets can be found
13010 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13011 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13012
13013 // The version ID of the object whose Legal Hold status you want to retrieve.
13014 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13015 }
13016
13017 // String returns the string representation
13018 func (s GetObjectLegalHoldInput) String() string {
13019 return awsutil.Prettify(s)
13020 }
13021
13022 // GoString returns the string representation
13023 func (s GetObjectLegalHoldInput) GoString() string {
13024 return s.String()
13025 }
13026
13027 // Validate inspects the fields of the type to determine if they are valid.
13028 func (s *GetObjectLegalHoldInput) Validate() error {
13029 invalidParams := request.ErrInvalidParams{Context: "GetObjectLegalHoldInput"}
13030 if s.Bucket == nil {
13031 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13032 }
13033 if s.Bucket != nil && len(*s.Bucket) < 1 {
13034 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13035 }
13036 if s.Key == nil {
13037 invalidParams.Add(request.NewErrParamRequired("Key"))
13038 }
13039 if s.Key != nil && len(*s.Key) < 1 {
13040 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13041 }
13042
13043 if invalidParams.Len() > 0 {
13044 return invalidParams
13045 }
13046 return nil
13047 }
13048
13049 // SetBucket sets the Bucket field's value.
13050 func (s *GetObjectLegalHoldInput) SetBucket(v string) *GetObjectLegalHoldInput {
13051 s.Bucket = &v
13052 return s
13053 }
13054
13055 func (s *GetObjectLegalHoldInput) getBucket() (v string) {
13056 if s.Bucket == nil {
13057 return v
13058 }
13059 return *s.Bucket
13060 }
13061
13062 // SetKey sets the Key field's value.
13063 func (s *GetObjectLegalHoldInput) SetKey(v string) *GetObjectLegalHoldInput {
13064 s.Key = &v
13065 return s
13066 }
13067
13068 // SetRequestPayer sets the RequestPayer field's value.
13069 func (s *GetObjectLegalHoldInput) SetRequestPayer(v string) *GetObjectLegalHoldInput {
13070 s.RequestPayer = &v
13071 return s
13072 }
13073
13074 // SetVersionId sets the VersionId field's value.
13075 func (s *GetObjectLegalHoldInput) SetVersionId(v string) *GetObjectLegalHoldInput {
13076 s.VersionId = &v
13077 return s
13078 }
13079
13080 type GetObjectLegalHoldOutput struct {
13081 _ struct{} `type:"structure" payload:"LegalHold"`
13082
13083 // The current Legal Hold status for the specified object.
13084 LegalHold *ObjectLockLegalHold `type:"structure"`
13085 }
13086
13087 // String returns the string representation
13088 func (s GetObjectLegalHoldOutput) String() string {
13089 return awsutil.Prettify(s)
13090 }
13091
13092 // GoString returns the string representation
13093 func (s GetObjectLegalHoldOutput) GoString() string {
13094 return s.String()
13095 }
13096
13097 // SetLegalHold sets the LegalHold field's value.
13098 func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObjectLegalHoldOutput {
13099 s.LegalHold = v
13100 return s
13101 }
13102
13103 type GetObjectLockConfigurationInput struct {
13104 _ struct{} `type:"structure"`
13105
13106 // The bucket whose Object Lock configuration you want to retrieve.
13107 //
13108 // Bucket is a required field
13109 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13110 }
13111
13112 // String returns the string representation
13113 func (s GetObjectLockConfigurationInput) String() string {
13114 return awsutil.Prettify(s)
13115 }
13116
13117 // GoString returns the string representation
13118 func (s GetObjectLockConfigurationInput) GoString() string {
13119 return s.String()
13120 }
13121
13122 // Validate inspects the fields of the type to determine if they are valid.
13123 func (s *GetObjectLockConfigurationInput) Validate() error {
13124 invalidParams := request.ErrInvalidParams{Context: "GetObjectLockConfigurationInput"}
13125 if s.Bucket == nil {
13126 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13127 }
13128 if s.Bucket != nil && len(*s.Bucket) < 1 {
13129 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13130 }
13131
13132 if invalidParams.Len() > 0 {
13133 return invalidParams
13134 }
13135 return nil
13136 }
13137
13138 // SetBucket sets the Bucket field's value.
13139 func (s *GetObjectLockConfigurationInput) SetBucket(v string) *GetObjectLockConfigurationInput {
13140 s.Bucket = &v
13141 return s
13142 }
13143
13144 func (s *GetObjectLockConfigurationInput) getBucket() (v string) {
13145 if s.Bucket == nil {
13146 return v
13147 }
13148 return *s.Bucket
13149 }
13150
13151 type GetObjectLockConfigurationOutput struct {
13152 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
13153
13154 // The specified bucket's Object Lock configuration.
13155 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"`
13156 }
13157
13158 // String returns the string representation
13159 func (s GetObjectLockConfigurationOutput) String() string {
13160 return awsutil.Prettify(s)
13161 }
13162
13163 // GoString returns the string representation
13164 func (s GetObjectLockConfigurationOutput) GoString() string {
13165 return s.String()
13166 }
13167
13168 // SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
13169 func (s *GetObjectLockConfigurationOutput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *GetObjectLockConfigurationOutput {
13170 s.ObjectLockConfiguration = v
13171 return s
13172 }
13173
13174 type GetObjectOutput struct {
13175 _ struct{} `type:"structure" payload:"Body"`
13176
13177 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
13178
13179 // Object data.
13180 Body io.ReadCloser `type:"blob"`
13181
13182 // Specifies caching behavior along the request/reply chain.
13183 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
13184
13185 // Specifies presentational information for the object.
13186 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
13187
13188 // Specifies what content encodings have been applied to the object and thus
13189 // what decoding mechanisms must be applied to obtain the media-type referenced
13190 // by the Content-Type header field.
13191 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
13192
13193 // The language the content is in.
13194 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
13195
13196 // Size of the body in bytes.
13197 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
13198
13199 // The portion of the object returned in the response.
13200 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
13201
13202 // A standard MIME type describing the format of the object data.
13203 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
13204
13205 // Specifies whether the object retrieved was (true) or was not (false) a Delete
13206 // Marker. If false, this response header does not appear in the response.
13207 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
13208
13209 // An ETag is an opaque identifier assigned by a web server to a specific version
13210 // of a resource found at a URL
13211 ETag *string `location:"header" locationName:"ETag" type:"string"`
13212
13213 // If the object expiration is configured (see PUT Bucket lifecycle), the response
13214 // includes this header. It includes the expiry-date and rule-id key value pairs
13215 // providing object expiration information. The value of the rule-id is URL
13216 // encoded.
13217 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
13218
13219 // The date and time at which the object is no longer cacheable.
13220 Expires *string `location:"header" locationName:"Expires" type:"string"`
13221
13222 // Last modified date of the object
13223 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
13224
13225 // A map of metadata to store with the object in S3.
13226 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
13227
13228 // This is set to the number of metadata entries not returned in x-amz-meta
13229 // headers. This can happen if you create metadata using an API like SOAP that
13230 // supports more flexible metadata than the REST API. For example, using SOAP,
13231 // you can create metadata whose values are not legal HTTP headers.
13232 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
13233
13234 // Indicates whether this object has an active legal hold. This field is only
13235 // returned if you have permission to view an object's legal hold status.
13236 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
13237
13238 // The Object Lock mode currently in place for this object.
13239 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
13240
13241 // The date and time when this object's Object Lock will expire.
13242 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
13243
13244 // The count of parts this object has.
13245 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
13246
13247 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
13248
13249 // If present, indicates that the requester was successfully charged for the
13250 // request.
13251 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13252
13253 // Provides information about object restoration operation and expiration time
13254 // of the restored object copy.
13255 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
13256
13257 // If server-side encryption with a customer-provided encryption key was requested,
13258 // the response will include this header confirming the encryption algorithm
13259 // used.
13260 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
13261
13262 // If server-side encryption with a customer-provided encryption key was requested,
13263 // the response will include this header to provide round trip message integrity
13264 // verification of the customer-provided encryption key.
13265 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
13266
13267 // If present, specifies the ID of the AWS Key Management Service (KMS) master
13268 // encryption key that was used for the object.
13269 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
13270
13271 // The Server-side encryption algorithm used when storing this object in S3
13272 // (e.g., AES256, aws:kms).
13273 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
13274
13275 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
13276
13277 // The number of tags, if any, on the object.
13278 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"`
13279
13280 // Version of the object.
13281 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13282
13283 // If the bucket is configured as a website, redirects requests for this object
13284 // to another object in the same bucket or to an external URL. Amazon S3 stores
13285 // the value of this header in the object metadata.
13286 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
13287 }
13288
13289 // String returns the string representation
13290 func (s GetObjectOutput) String() string {
13291 return awsutil.Prettify(s)
13292 }
13293
13294 // GoString returns the string representation
13295 func (s GetObjectOutput) GoString() string {
13296 return s.String()
13297 }
13298
13299 // SetAcceptRanges sets the AcceptRanges field's value.
13300 func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput {
13301 s.AcceptRanges = &v
13302 return s
13303 }
13304
13305 // SetBody sets the Body field's value.
13306 func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput {
13307 s.Body = v
13308 return s
13309 }
13310
13311 // SetCacheControl sets the CacheControl field's value.
13312 func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput {
13313 s.CacheControl = &v
13314 return s
13315 }
13316
13317 // SetContentDisposition sets the ContentDisposition field's value.
13318 func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
13319 s.ContentDisposition = &v
13320 return s
13321 }
13322
13323 // SetContentEncoding sets the ContentEncoding field's value.
13324 func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput {
13325 s.ContentEncoding = &v
13326 return s
13327 }
13328
13329 // SetContentLanguage sets the ContentLanguage field's value.
13330 func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput {
13331 s.ContentLanguage = &v
13332 return s
13333 }
13334
13335 // SetContentLength sets the ContentLength field's value.
13336 func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput {
13337 s.ContentLength = &v
13338 return s
13339 }
13340
13341 // SetContentRange sets the ContentRange field's value.
13342 func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput {
13343 s.ContentRange = &v
13344 return s
13345 }
13346
13347 // SetContentType sets the ContentType field's value.
13348 func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput {
13349 s.ContentType = &v
13350 return s
13351 }
13352
13353 // SetDeleteMarker sets the DeleteMarker field's value.
13354 func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput {
13355 s.DeleteMarker = &v
13356 return s
13357 }
13358
13359 // SetETag sets the ETag field's value.
13360 func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput {
13361 s.ETag = &v
13362 return s
13363 }
13364
13365 // SetExpiration sets the Expiration field's value.
13366 func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput {
13367 s.Expiration = &v
13368 return s
13369 }
13370
13371 // SetExpires sets the Expires field's value.
13372 func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput {
13373 s.Expires = &v
13374 return s
13375 }
13376
13377 // SetLastModified sets the LastModified field's value.
13378 func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput {
13379 s.LastModified = &v
13380 return s
13381 }
13382
13383 // SetMetadata sets the Metadata field's value.
13384 func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput {
13385 s.Metadata = v
13386 return s
13387 }
13388
13389 // SetMissingMeta sets the MissingMeta field's value.
13390 func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput {
13391 s.MissingMeta = &v
13392 return s
13393 }
13394
13395 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
13396 func (s *GetObjectOutput) SetObjectLockLegalHoldStatus(v string) *GetObjectOutput {
13397 s.ObjectLockLegalHoldStatus = &v
13398 return s
13399 }
13400
13401 // SetObjectLockMode sets the ObjectLockMode field's value.
13402 func (s *GetObjectOutput) SetObjectLockMode(v string) *GetObjectOutput {
13403 s.ObjectLockMode = &v
13404 return s
13405 }
13406
13407 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
13408 func (s *GetObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *GetObjectOutput {
13409 s.ObjectLockRetainUntilDate = &v
13410 return s
13411 }
13412
13413 // SetPartsCount sets the PartsCount field's value.
13414 func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput {
13415 s.PartsCount = &v
13416 return s
13417 }
13418
13419 // SetReplicationStatus sets the ReplicationStatus field's value.
13420 func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput {
13421 s.ReplicationStatus = &v
13422 return s
13423 }
13424
13425 // SetRequestCharged sets the RequestCharged field's value.
13426 func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput {
13427 s.RequestCharged = &v
13428 return s
13429 }
13430
13431 // SetRestore sets the Restore field's value.
13432 func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput {
13433 s.Restore = &v
13434 return s
13435 }
13436
13437 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13438 func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput {
13439 s.SSECustomerAlgorithm = &v
13440 return s
13441 }
13442
13443 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13444 func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput {
13445 s.SSECustomerKeyMD5 = &v
13446 return s
13447 }
13448
13449 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
13450 func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput {
13451 s.SSEKMSKeyId = &v
13452 return s
13453 }
13454
13455 // SetServerSideEncryption sets the ServerSideEncryption field's value.
13456 func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput {
13457 s.ServerSideEncryption = &v
13458 return s
13459 }
13460
13461 // SetStorageClass sets the StorageClass field's value.
13462 func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput {
13463 s.StorageClass = &v
13464 return s
13465 }
13466
13467 // SetTagCount sets the TagCount field's value.
13468 func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput {
13469 s.TagCount = &v
13470 return s
13471 }
13472
13473 // SetVersionId sets the VersionId field's value.
13474 func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput {
13475 s.VersionId = &v
13476 return s
13477 }
13478
13479 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
13480 func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput {
13481 s.WebsiteRedirectLocation = &v
13482 return s
13483 }
13484
13485 type GetObjectRetentionInput struct {
13486 _ struct{} `type:"structure"`
13487
13488 // The bucket containing the object whose retention settings you want to retrieve.
13489 //
13490 // Bucket is a required field
13491 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13492
13493 // The key name for the object whose retention settings you want to retrieve.
13494 //
13495 // Key is a required field
13496 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13497
13498 // Confirms that the requester knows that she or he will be charged for the
13499 // request. Bucket owners need not specify this parameter in their requests.
13500 // Documentation on downloading objects from requester pays buckets can be found
13501 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13502 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13503
13504 // The version ID for the object whose retention settings you want to retrieve.
13505 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13506 }
13507
13508 // String returns the string representation
13509 func (s GetObjectRetentionInput) String() string {
13510 return awsutil.Prettify(s)
13511 }
13512
13513 // GoString returns the string representation
13514 func (s GetObjectRetentionInput) GoString() string {
13515 return s.String()
13516 }
13517
13518 // Validate inspects the fields of the type to determine if they are valid.
13519 func (s *GetObjectRetentionInput) Validate() error {
13520 invalidParams := request.ErrInvalidParams{Context: "GetObjectRetentionInput"}
13521 if s.Bucket == nil {
13522 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13523 }
13524 if s.Bucket != nil && len(*s.Bucket) < 1 {
13525 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13526 }
13527 if s.Key == nil {
13528 invalidParams.Add(request.NewErrParamRequired("Key"))
13529 }
13530 if s.Key != nil && len(*s.Key) < 1 {
13531 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13532 }
13533
13534 if invalidParams.Len() > 0 {
13535 return invalidParams
13536 }
13537 return nil
13538 }
13539
13540 // SetBucket sets the Bucket field's value.
13541 func (s *GetObjectRetentionInput) SetBucket(v string) *GetObjectRetentionInput {
13542 s.Bucket = &v
13543 return s
13544 }
13545
13546 func (s *GetObjectRetentionInput) getBucket() (v string) {
13547 if s.Bucket == nil {
13548 return v
13549 }
13550 return *s.Bucket
13551 }
13552
13553 // SetKey sets the Key field's value.
13554 func (s *GetObjectRetentionInput) SetKey(v string) *GetObjectRetentionInput {
13555 s.Key = &v
13556 return s
13557 }
13558
13559 // SetRequestPayer sets the RequestPayer field's value.
13560 func (s *GetObjectRetentionInput) SetRequestPayer(v string) *GetObjectRetentionInput {
13561 s.RequestPayer = &v
13562 return s
13563 }
13564
13565 // SetVersionId sets the VersionId field's value.
13566 func (s *GetObjectRetentionInput) SetVersionId(v string) *GetObjectRetentionInput {
13567 s.VersionId = &v
13568 return s
13569 }
13570
13571 type GetObjectRetentionOutput struct {
13572 _ struct{} `type:"structure" payload:"Retention"`
13573
13574 // The container element for an object's retention settings.
13575 Retention *ObjectLockRetention `type:"structure"`
13576 }
13577
13578 // String returns the string representation
13579 func (s GetObjectRetentionOutput) String() string {
13580 return awsutil.Prettify(s)
13581 }
13582
13583 // GoString returns the string representation
13584 func (s GetObjectRetentionOutput) GoString() string {
13585 return s.String()
13586 }
13587
13588 // SetRetention sets the Retention field's value.
13589 func (s *GetObjectRetentionOutput) SetRetention(v *ObjectLockRetention) *GetObjectRetentionOutput {
13590 s.Retention = v
13591 return s
13592 }
13593
13594 type GetObjectTaggingInput struct {
13595 _ struct{} `type:"structure"`
13596
13597 // Bucket is a required field
13598 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13599
13600 // Key is a required field
13601 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13602
13603 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13604 }
13605
13606 // String returns the string representation
13607 func (s GetObjectTaggingInput) String() string {
13608 return awsutil.Prettify(s)
13609 }
13610
13611 // GoString returns the string representation
13612 func (s GetObjectTaggingInput) 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 *GetObjectTaggingInput) Validate() error {
13618 invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"}
13619 if s.Bucket == nil {
13620 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13621 }
13622 if s.Bucket != nil && len(*s.Bucket) < 1 {
13623 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13624 }
13625 if s.Key == nil {
13626 invalidParams.Add(request.NewErrParamRequired("Key"))
13627 }
13628 if s.Key != nil && len(*s.Key) < 1 {
13629 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13630 }
13631
13632 if invalidParams.Len() > 0 {
13633 return invalidParams
13634 }
13635 return nil
13636 }
13637
13638 // SetBucket sets the Bucket field's value.
13639 func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
13640 s.Bucket = &v
13641 return s
13642 }
13643
13644 func (s *GetObjectTaggingInput) getBucket() (v string) {
13645 if s.Bucket == nil {
13646 return v
13647 }
13648 return *s.Bucket
13649 }
13650
13651 // SetKey sets the Key field's value.
13652 func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
13653 s.Key = &v
13654 return s
13655 }
13656
13657 // SetVersionId sets the VersionId field's value.
13658 func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
13659 s.VersionId = &v
13660 return s
13661 }
13662
13663 type GetObjectTaggingOutput struct {
13664 _ struct{} `type:"structure"`
13665
13666 // TagSet is a required field
13667 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
13668
13669 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13670 }
13671
13672 // String returns the string representation
13673 func (s GetObjectTaggingOutput) String() string {
13674 return awsutil.Prettify(s)
13675 }
13676
13677 // GoString returns the string representation
13678 func (s GetObjectTaggingOutput) GoString() string {
13679 return s.String()
13680 }
13681
13682 // SetTagSet sets the TagSet field's value.
13683 func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput {
13684 s.TagSet = v
13685 return s
13686 }
13687
13688 // SetVersionId sets the VersionId field's value.
13689 func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput {
13690 s.VersionId = &v
13691 return s
13692 }
13693
13694 type GetObjectTorrentInput struct {
13695 _ struct{} `type:"structure"`
13696
13697 // Bucket is a required field
13698 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13699
13700 // Key is a required field
13701 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13702
13703 // Confirms that the requester knows that she or he will be charged for the
13704 // request. Bucket owners need not specify this parameter in their requests.
13705 // Documentation on downloading objects from requester pays buckets can be found
13706 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13707 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13708 }
13709
13710 // String returns the string representation
13711 func (s GetObjectTorrentInput) String() string {
13712 return awsutil.Prettify(s)
13713 }
13714
13715 // GoString returns the string representation
13716 func (s GetObjectTorrentInput) GoString() string {
13717 return s.String()
13718 }
13719
13720 // Validate inspects the fields of the type to determine if they are valid.
13721 func (s *GetObjectTorrentInput) Validate() error {
13722 invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"}
13723 if s.Bucket == nil {
13724 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13725 }
13726 if s.Bucket != nil && len(*s.Bucket) < 1 {
13727 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13728 }
13729 if s.Key == nil {
13730 invalidParams.Add(request.NewErrParamRequired("Key"))
13731 }
13732 if s.Key != nil && len(*s.Key) < 1 {
13733 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13734 }
13735
13736 if invalidParams.Len() > 0 {
13737 return invalidParams
13738 }
13739 return nil
13740 }
13741
13742 // SetBucket sets the Bucket field's value.
13743 func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
13744 s.Bucket = &v
13745 return s
13746 }
13747
13748 func (s *GetObjectTorrentInput) getBucket() (v string) {
13749 if s.Bucket == nil {
13750 return v
13751 }
13752 return *s.Bucket
13753 }
13754
13755 // SetKey sets the Key field's value.
13756 func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
13757 s.Key = &v
13758 return s
13759 }
13760
13761 // SetRequestPayer sets the RequestPayer field's value.
13762 func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput {
13763 s.RequestPayer = &v
13764 return s
13765 }
13766
13767 type GetObjectTorrentOutput struct {
13768 _ struct{} `type:"structure" payload:"Body"`
13769
13770 Body io.ReadCloser `type:"blob"`
13771
13772 // If present, indicates that the requester was successfully charged for the
13773 // request.
13774 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13775 }
13776
13777 // String returns the string representation
13778 func (s GetObjectTorrentOutput) String() string {
13779 return awsutil.Prettify(s)
13780 }
13781
13782 // GoString returns the string representation
13783 func (s GetObjectTorrentOutput) GoString() string {
13784 return s.String()
13785 }
13786
13787 // SetBody sets the Body field's value.
13788 func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput {
13789 s.Body = v
13790 return s
13791 }
13792
13793 // SetRequestCharged sets the RequestCharged field's value.
13794 func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput {
13795 s.RequestCharged = &v
13796 return s
13797 }
13798
13799 type GetPublicAccessBlockInput struct {
13800 _ struct{} `type:"structure"`
13801
13802 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
13803 // want to retrieve.
13804 //
13805 // Bucket is a required field
13806 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13807 }
13808
13809 // String returns the string representation
13810 func (s GetPublicAccessBlockInput) String() string {
13811 return awsutil.Prettify(s)
13812 }
13813
13814 // GoString returns the string representation
13815 func (s GetPublicAccessBlockInput) GoString() string {
13816 return s.String()
13817 }
13818
13819 // Validate inspects the fields of the type to determine if they are valid.
13820 func (s *GetPublicAccessBlockInput) Validate() error {
13821 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"}
13822 if s.Bucket == nil {
13823 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13824 }
13825 if s.Bucket != nil && len(*s.Bucket) < 1 {
13826 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13827 }
13828
13829 if invalidParams.Len() > 0 {
13830 return invalidParams
13831 }
13832 return nil
13833 }
13834
13835 // SetBucket sets the Bucket field's value.
13836 func (s *GetPublicAccessBlockInput) SetBucket(v string) *GetPublicAccessBlockInput {
13837 s.Bucket = &v
13838 return s
13839 }
13840
13841 func (s *GetPublicAccessBlockInput) getBucket() (v string) {
13842 if s.Bucket == nil {
13843 return v
13844 }
13845 return *s.Bucket
13846 }
13847
13848 type GetPublicAccessBlockOutput struct {
13849 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
13850
13851 // The PublicAccessBlock configuration currently in effect for this Amazon S3
13852 // bucket.
13853 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"`
13854 }
13855
13856 // String returns the string representation
13857 func (s GetPublicAccessBlockOutput) String() string {
13858 return awsutil.Prettify(s)
13859 }
13860
13861 // GoString returns the string representation
13862 func (s GetPublicAccessBlockOutput) GoString() string {
13863 return s.String()
13864 }
13865
13866 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
13867 func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput {
13868 s.PublicAccessBlockConfiguration = v
13869 return s
13870 }
13871
13872 type GlacierJobParameters struct {
13873 _ struct{} `type:"structure"`
13874
13875 // Glacier retrieval tier at which the restore will be processed.
13876 //
13877 // Tier is a required field
13878 Tier *string `type:"string" required:"true" enum:"Tier"`
13879 }
13880
13881 // String returns the string representation
13882 func (s GlacierJobParameters) String() string {
13883 return awsutil.Prettify(s)
13884 }
13885
13886 // GoString returns the string representation
13887 func (s GlacierJobParameters) GoString() string {
13888 return s.String()
13889 }
13890
13891 // Validate inspects the fields of the type to determine if they are valid.
13892 func (s *GlacierJobParameters) Validate() error {
13893 invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"}
13894 if s.Tier == nil {
13895 invalidParams.Add(request.NewErrParamRequired("Tier"))
13896 }
13897
13898 if invalidParams.Len() > 0 {
13899 return invalidParams
13900 }
13901 return nil
13902 }
13903
13904 // SetTier sets the Tier field's value.
13905 func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
13906 s.Tier = &v
13907 return s
13908 }
13909
13910 type Grant struct {
13911 _ struct{} `type:"structure"`
13912
13913 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
13914
13915 // Specifies the permission given to the grantee.
13916 Permission *string `type:"string" enum:"Permission"`
13917 }
13918
13919 // String returns the string representation
13920 func (s Grant) String() string {
13921 return awsutil.Prettify(s)
13922 }
13923
13924 // GoString returns the string representation
13925 func (s Grant) GoString() string {
13926 return s.String()
13927 }
13928
13929 // Validate inspects the fields of the type to determine if they are valid.
13930 func (s *Grant) Validate() error {
13931 invalidParams := request.ErrInvalidParams{Context: "Grant"}
13932 if s.Grantee != nil {
13933 if err := s.Grantee.Validate(); err != nil {
13934 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
13935 }
13936 }
13937
13938 if invalidParams.Len() > 0 {
13939 return invalidParams
13940 }
13941 return nil
13942 }
13943
13944 // SetGrantee sets the Grantee field's value.
13945 func (s *Grant) SetGrantee(v *Grantee) *Grant {
13946 s.Grantee = v
13947 return s
13948 }
13949
13950 // SetPermission sets the Permission field's value.
13951 func (s *Grant) SetPermission(v string) *Grant {
13952 s.Permission = &v
13953 return s
13954 }
13955
13956 type Grantee struct {
13957 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
13958
13959 // Screen name of the grantee.
13960 DisplayName *string `type:"string"`
13961
13962 // Email address of the grantee.
13963 EmailAddress *string `type:"string"`
13964
13965 // The canonical user ID of the grantee.
13966 ID *string `type:"string"`
13967
13968 // Type of grantee
13969 //
13970 // Type is a required field
13971 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"`
13972
13973 // URI of the grantee group.
13974 URI *string `type:"string"`
13975 }
13976
13977 // String returns the string representation
13978 func (s Grantee) String() string {
13979 return awsutil.Prettify(s)
13980 }
13981
13982 // GoString returns the string representation
13983 func (s Grantee) GoString() string {
13984 return s.String()
13985 }
13986
13987 // Validate inspects the fields of the type to determine if they are valid.
13988 func (s *Grantee) Validate() error {
13989 invalidParams := request.ErrInvalidParams{Context: "Grantee"}
13990 if s.Type == nil {
13991 invalidParams.Add(request.NewErrParamRequired("Type"))
13992 }
13993
13994 if invalidParams.Len() > 0 {
13995 return invalidParams
13996 }
13997 return nil
13998 }
13999
14000 // SetDisplayName sets the DisplayName field's value.
14001 func (s *Grantee) SetDisplayName(v string) *Grantee {
14002 s.DisplayName = &v
14003 return s
14004 }
14005
14006 // SetEmailAddress sets the EmailAddress field's value.
14007 func (s *Grantee) SetEmailAddress(v string) *Grantee {
14008 s.EmailAddress = &v
14009 return s
14010 }
14011
14012 // SetID sets the ID field's value.
14013 func (s *Grantee) SetID(v string) *Grantee {
14014 s.ID = &v
14015 return s
14016 }
14017
14018 // SetType sets the Type field's value.
14019 func (s *Grantee) SetType(v string) *Grantee {
14020 s.Type = &v
14021 return s
14022 }
14023
14024 // SetURI sets the URI field's value.
14025 func (s *Grantee) SetURI(v string) *Grantee {
14026 s.URI = &v
14027 return s
14028 }
14029
14030 type HeadBucketInput struct {
14031 _ struct{} `type:"structure"`
14032
14033 // Bucket is a required field
14034 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14035 }
14036
14037 // String returns the string representation
14038 func (s HeadBucketInput) String() string {
14039 return awsutil.Prettify(s)
14040 }
14041
14042 // GoString returns the string representation
14043 func (s HeadBucketInput) GoString() string {
14044 return s.String()
14045 }
14046
14047 // Validate inspects the fields of the type to determine if they are valid.
14048 func (s *HeadBucketInput) Validate() error {
14049 invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"}
14050 if s.Bucket == nil {
14051 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14052 }
14053 if s.Bucket != nil && len(*s.Bucket) < 1 {
14054 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14055 }
14056
14057 if invalidParams.Len() > 0 {
14058 return invalidParams
14059 }
14060 return nil
14061 }
14062
14063 // SetBucket sets the Bucket field's value.
14064 func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
14065 s.Bucket = &v
14066 return s
14067 }
14068
14069 func (s *HeadBucketInput) getBucket() (v string) {
14070 if s.Bucket == nil {
14071 return v
14072 }
14073 return *s.Bucket
14074 }
14075
14076 type HeadBucketOutput struct {
14077 _ struct{} `type:"structure"`
14078 }
14079
14080 // String returns the string representation
14081 func (s HeadBucketOutput) String() string {
14082 return awsutil.Prettify(s)
14083 }
14084
14085 // GoString returns the string representation
14086 func (s HeadBucketOutput) GoString() string {
14087 return s.String()
14088 }
14089
14090 type HeadObjectInput struct {
14091 _ struct{} `type:"structure"`
14092
14093 // Bucket is a required field
14094 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14095
14096 // Return the object only if its entity tag (ETag) is the same as the one specified,
14097 // otherwise return a 412 (precondition failed).
14098 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
14099
14100 // Return the object only if it has been modified since the specified time,
14101 // otherwise return a 304 (not modified).
14102 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
14103
14104 // Return the object only if its entity tag (ETag) is different from the one
14105 // specified, otherwise return a 304 (not modified).
14106 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
14107
14108 // Return the object only if it has not been modified since the specified time,
14109 // otherwise return a 412 (precondition failed).
14110 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
14111
14112 // Key is a required field
14113 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
14114
14115 // Part number of the object being read. This is a positive integer between
14116 // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified.
14117 // Useful querying about the size of the part and the number of parts in this
14118 // object.
14119 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
14120
14121 // Downloads the specified range bytes of an object. For more information about
14122 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
14123 Range *string `location:"header" locationName:"Range" type:"string"`
14124
14125 // Confirms that the requester knows that she or he will be charged for the
14126 // request. Bucket owners need not specify this parameter in their requests.
14127 // Documentation on downloading objects from requester pays buckets can be found
14128 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
14129 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
14130
14131 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
14132 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14133
14134 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
14135 // data. This value is used to store the object and then it is discarded; Amazon
14136 // does not store the encryption key. The key must be appropriate for use with
14137 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
14138 // header.
14139 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
14140
14141 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
14142 // Amazon S3 uses this header for a message integrity check to ensure the encryption
14143 // key was transmitted without error.
14144 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14145
14146 // VersionId used to reference a specific version of the object.
14147 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
14148 }
14149
14150 // String returns the string representation
14151 func (s HeadObjectInput) String() string {
14152 return awsutil.Prettify(s)
14153 }
14154
14155 // GoString returns the string representation
14156 func (s HeadObjectInput) GoString() string {
14157 return s.String()
14158 }
14159
14160 // Validate inspects the fields of the type to determine if they are valid.
14161 func (s *HeadObjectInput) Validate() error {
14162 invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"}
14163 if s.Bucket == nil {
14164 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14165 }
14166 if s.Bucket != nil && len(*s.Bucket) < 1 {
14167 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14168 }
14169 if s.Key == nil {
14170 invalidParams.Add(request.NewErrParamRequired("Key"))
14171 }
14172 if s.Key != nil && len(*s.Key) < 1 {
14173 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14174 }
14175
14176 if invalidParams.Len() > 0 {
14177 return invalidParams
14178 }
14179 return nil
14180 }
14181
14182 // SetBucket sets the Bucket field's value.
14183 func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
14184 s.Bucket = &v
14185 return s
14186 }
14187
14188 func (s *HeadObjectInput) getBucket() (v string) {
14189 if s.Bucket == nil {
14190 return v
14191 }
14192 return *s.Bucket
14193 }
14194
14195 // SetIfMatch sets the IfMatch field's value.
14196 func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
14197 s.IfMatch = &v
14198 return s
14199 }
14200
14201 // SetIfModifiedSince sets the IfModifiedSince field's value.
14202 func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput {
14203 s.IfModifiedSince = &v
14204 return s
14205 }
14206
14207 // SetIfNoneMatch sets the IfNoneMatch field's value.
14208 func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput {
14209 s.IfNoneMatch = &v
14210 return s
14211 }
14212
14213 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
14214 func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput {
14215 s.IfUnmodifiedSince = &v
14216 return s
14217 }
14218
14219 // SetKey sets the Key field's value.
14220 func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput {
14221 s.Key = &v
14222 return s
14223 }
14224
14225 // SetPartNumber sets the PartNumber field's value.
14226 func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput {
14227 s.PartNumber = &v
14228 return s
14229 }
14230
14231 // SetRange sets the Range field's value.
14232 func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput {
14233 s.Range = &v
14234 return s
14235 }
14236
14237 // SetRequestPayer sets the RequestPayer field's value.
14238 func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput {
14239 s.RequestPayer = &v
14240 return s
14241 }
14242
14243 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14244 func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput {
14245 s.SSECustomerAlgorithm = &v
14246 return s
14247 }
14248
14249 // SetSSECustomerKey sets the SSECustomerKey field's value.
14250 func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
14251 s.SSECustomerKey = &v
14252 return s
14253 }
14254
14255 func (s *HeadObjectInput) getSSECustomerKey() (v string) {
14256 if s.SSECustomerKey == nil {
14257 return v
14258 }
14259 return *s.SSECustomerKey
14260 }
14261
14262 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14263 func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
14264 s.SSECustomerKeyMD5 = &v
14265 return s
14266 }
14267
14268 // SetVersionId sets the VersionId field's value.
14269 func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
14270 s.VersionId = &v
14271 return s
14272 }
14273
14274 type HeadObjectOutput struct {
14275 _ struct{} `type:"structure"`
14276
14277 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
14278
14279 // Specifies caching behavior along the request/reply chain.
14280 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
14281
14282 // Specifies presentational information for the object.
14283 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
14284
14285 // Specifies what content encodings have been applied to the object and thus
14286 // what decoding mechanisms must be applied to obtain the media-type referenced
14287 // by the Content-Type header field.
14288 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
14289
14290 // The language the content is in.
14291 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
14292
14293 // Size of the body in bytes.
14294 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
14295
14296 // A standard MIME type describing the format of the object data.
14297 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
14298
14299 // Specifies whether the object retrieved was (true) or was not (false) a Delete
14300 // Marker. If false, this response header does not appear in the response.
14301 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
14302
14303 // An ETag is an opaque identifier assigned by a web server to a specific version
14304 // of a resource found at a URL
14305 ETag *string `location:"header" locationName:"ETag" type:"string"`
14306
14307 // If the object expiration is configured (see PUT Bucket lifecycle), the response
14308 // includes this header. It includes the expiry-date and rule-id key value pairs
14309 // providing object expiration information. The value of the rule-id is URL
14310 // encoded.
14311 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
14312
14313 // The date and time at which the object is no longer cacheable.
14314 Expires *string `location:"header" locationName:"Expires" type:"string"`
14315
14316 // Last modified date of the object
14317 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
14318
14319 // A map of metadata to store with the object in S3.
14320 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
14321
14322 // This is set to the number of metadata entries not returned in x-amz-meta
14323 // headers. This can happen if you create metadata using an API like SOAP that
14324 // supports more flexible metadata than the REST API. For example, using SOAP,
14325 // you can create metadata whose values are not legal HTTP headers.
14326 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
14327
14328 // The Legal Hold status for the specified object.
14329 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
14330
14331 // The Object Lock mode currently in place for this object.
14332 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
14333
14334 // The date and time when this object's Object Lock will expire.
14335 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
14336
14337 // The count of parts this object has.
14338 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
14339
14340 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
14341
14342 // If present, indicates that the requester was successfully charged for the
14343 // request.
14344 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
14345
14346 // Provides information about object restoration operation and expiration time
14347 // of the restored object copy.
14348 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
14349
14350 // If server-side encryption with a customer-provided encryption key was requested,
14351 // the response will include this header confirming the encryption algorithm
14352 // used.
14353 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14354
14355 // If server-side encryption with a customer-provided encryption key was requested,
14356 // the response will include this header to provide round trip message integrity
14357 // verification of the customer-provided encryption key.
14358 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14359
14360 // If present, specifies the ID of the AWS Key Management Service (KMS) master
14361 // encryption key that was used for the object.
14362 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
14363
14364 // The Server-side encryption algorithm used when storing this object in S3
14365 // (e.g., AES256, aws:kms).
14366 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
14367
14368 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
14369
14370 // Version of the object.
14371 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
14372
14373 // If the bucket is configured as a website, redirects requests for this object
14374 // to another object in the same bucket or to an external URL. Amazon S3 stores
14375 // the value of this header in the object metadata.
14376 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
14377 }
14378
14379 // String returns the string representation
14380 func (s HeadObjectOutput) String() string {
14381 return awsutil.Prettify(s)
14382 }
14383
14384 // GoString returns the string representation
14385 func (s HeadObjectOutput) GoString() string {
14386 return s.String()
14387 }
14388
14389 // SetAcceptRanges sets the AcceptRanges field's value.
14390 func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
14391 s.AcceptRanges = &v
14392 return s
14393 }
14394
14395 // SetCacheControl sets the CacheControl field's value.
14396 func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
14397 s.CacheControl = &v
14398 return s
14399 }
14400
14401 // SetContentDisposition sets the ContentDisposition field's value.
14402 func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
14403 s.ContentDisposition = &v
14404 return s
14405 }
14406
14407 // SetContentEncoding sets the ContentEncoding field's value.
14408 func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput {
14409 s.ContentEncoding = &v
14410 return s
14411 }
14412
14413 // SetContentLanguage sets the ContentLanguage field's value.
14414 func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput {
14415 s.ContentLanguage = &v
14416 return s
14417 }
14418
14419 // SetContentLength sets the ContentLength field's value.
14420 func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput {
14421 s.ContentLength = &v
14422 return s
14423 }
14424
14425 // SetContentType sets the ContentType field's value.
14426 func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput {
14427 s.ContentType = &v
14428 return s
14429 }
14430
14431 // SetDeleteMarker sets the DeleteMarker field's value.
14432 func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput {
14433 s.DeleteMarker = &v
14434 return s
14435 }
14436
14437 // SetETag sets the ETag field's value.
14438 func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput {
14439 s.ETag = &v
14440 return s
14441 }
14442
14443 // SetExpiration sets the Expiration field's value.
14444 func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput {
14445 s.Expiration = &v
14446 return s
14447 }
14448
14449 // SetExpires sets the Expires field's value.
14450 func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput {
14451 s.Expires = &v
14452 return s
14453 }
14454
14455 // SetLastModified sets the LastModified field's value.
14456 func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput {
14457 s.LastModified = &v
14458 return s
14459 }
14460
14461 // SetMetadata sets the Metadata field's value.
14462 func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput {
14463 s.Metadata = v
14464 return s
14465 }
14466
14467 // SetMissingMeta sets the MissingMeta field's value.
14468 func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput {
14469 s.MissingMeta = &v
14470 return s
14471 }
14472
14473 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
14474 func (s *HeadObjectOutput) SetObjectLockLegalHoldStatus(v string) *HeadObjectOutput {
14475 s.ObjectLockLegalHoldStatus = &v
14476 return s
14477 }
14478
14479 // SetObjectLockMode sets the ObjectLockMode field's value.
14480 func (s *HeadObjectOutput) SetObjectLockMode(v string) *HeadObjectOutput {
14481 s.ObjectLockMode = &v
14482 return s
14483 }
14484
14485 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
14486 func (s *HeadObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *HeadObjectOutput {
14487 s.ObjectLockRetainUntilDate = &v
14488 return s
14489 }
14490
14491 // SetPartsCount sets the PartsCount field's value.
14492 func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput {
14493 s.PartsCount = &v
14494 return s
14495 }
14496
14497 // SetReplicationStatus sets the ReplicationStatus field's value.
14498 func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput {
14499 s.ReplicationStatus = &v
14500 return s
14501 }
14502
14503 // SetRequestCharged sets the RequestCharged field's value.
14504 func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput {
14505 s.RequestCharged = &v
14506 return s
14507 }
14508
14509 // SetRestore sets the Restore field's value.
14510 func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput {
14511 s.Restore = &v
14512 return s
14513 }
14514
14515 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14516 func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput {
14517 s.SSECustomerAlgorithm = &v
14518 return s
14519 }
14520
14521 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14522 func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput {
14523 s.SSECustomerKeyMD5 = &v
14524 return s
14525 }
14526
14527 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
14528 func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput {
14529 s.SSEKMSKeyId = &v
14530 return s
14531 }
14532
14533 // SetServerSideEncryption sets the ServerSideEncryption field's value.
14534 func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput {
14535 s.ServerSideEncryption = &v
14536 return s
14537 }
14538
14539 // SetStorageClass sets the StorageClass field's value.
14540 func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput {
14541 s.StorageClass = &v
14542 return s
14543 }
14544
14545 // SetVersionId sets the VersionId field's value.
14546 func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput {
14547 s.VersionId = &v
14548 return s
14549 }
14550
14551 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
14552 func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput {
14553 s.WebsiteRedirectLocation = &v
14554 return s
14555 }
14556
14557 type IndexDocument struct {
14558 _ struct{} `type:"structure"`
14559
14560 // A suffix that is appended to a request that is for a directory on the website
14561 // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
14562 // the data that is returned will be for the object with the key name images/index.html)
14563 // The suffix must not be empty and must not include a slash character.
14564 //
14565 // Suffix is a required field
14566 Suffix *string `type:"string" required:"true"`
14567 }
14568
14569 // String returns the string representation
14570 func (s IndexDocument) String() string {
14571 return awsutil.Prettify(s)
14572 }
14573
14574 // GoString returns the string representation
14575 func (s IndexDocument) GoString() string {
14576 return s.String()
14577 }
14578
14579 // Validate inspects the fields of the type to determine if they are valid.
14580 func (s *IndexDocument) Validate() error {
14581 invalidParams := request.ErrInvalidParams{Context: "IndexDocument"}
14582 if s.Suffix == nil {
14583 invalidParams.Add(request.NewErrParamRequired("Suffix"))
14584 }
14585
14586 if invalidParams.Len() > 0 {
14587 return invalidParams
14588 }
14589 return nil
14590 }
14591
14592 // SetSuffix sets the Suffix field's value.
14593 func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
14594 s.Suffix = &v
14595 return s
14596 }
14597
14598 type Initiator struct {
14599 _ struct{} `type:"structure"`
14600
14601 // Name of the Principal.
14602 DisplayName *string `type:"string"`
14603
14604 // If the principal is an AWS account, it provides the Canonical User ID. If
14605 // the principal is an IAM User, it provides a user ARN value.
14606 ID *string `type:"string"`
14607 }
14608
14609 // String returns the string representation
14610 func (s Initiator) String() string {
14611 return awsutil.Prettify(s)
14612 }
14613
14614 // GoString returns the string representation
14615 func (s Initiator) GoString() string {
14616 return s.String()
14617 }
14618
14619 // SetDisplayName sets the DisplayName field's value.
14620 func (s *Initiator) SetDisplayName(v string) *Initiator {
14621 s.DisplayName = &v
14622 return s
14623 }
14624
14625 // SetID sets the ID field's value.
14626 func (s *Initiator) SetID(v string) *Initiator {
14627 s.ID = &v
14628 return s
14629 }
14630
14631 // Describes the serialization format of the object.
14632 type InputSerialization struct {
14633 _ struct{} `type:"structure"`
14634
14635 // Describes the serialization of a CSV-encoded object.
14636 CSV *CSVInput `type:"structure"`
14637
14638 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default
14639 // Value: NONE.
14640 CompressionType *string `type:"string" enum:"CompressionType"`
14641
14642 // Specifies JSON as object's input serialization format.
14643 JSON *JSONInput `type:"structure"`
14644
14645 // Specifies Parquet as object's input serialization format.
14646 Parquet *ParquetInput `type:"structure"`
14647 }
14648
14649 // String returns the string representation
14650 func (s InputSerialization) String() string {
14651 return awsutil.Prettify(s)
14652 }
14653
14654 // GoString returns the string representation
14655 func (s InputSerialization) GoString() string {
14656 return s.String()
14657 }
14658
14659 // SetCSV sets the CSV field's value.
14660 func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
14661 s.CSV = v
14662 return s
14663 }
14664
14665 // SetCompressionType sets the CompressionType field's value.
14666 func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
14667 s.CompressionType = &v
14668 return s
14669 }
14670
14671 // SetJSON sets the JSON field's value.
14672 func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
14673 s.JSON = v
14674 return s
14675 }
14676
14677 // SetParquet sets the Parquet field's value.
14678 func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization {
14679 s.Parquet = v
14680 return s
14681 }
14682
14683 type InventoryConfiguration struct {
14684 _ struct{} `type:"structure"`
14685
14686 // Contains information about where to publish the inventory results.
14687 //
14688 // Destination is a required field
14689 Destination *InventoryDestination `type:"structure" required:"true"`
14690
14691 // Specifies an inventory filter. The inventory only includes objects that meet
14692 // the filter's criteria.
14693 Filter *InventoryFilter `type:"structure"`
14694
14695 // The ID used to identify the inventory configuration.
14696 //
14697 // Id is a required field
14698 Id *string `type:"string" required:"true"`
14699
14700 // Specifies which object version(s) to included in the inventory results.
14701 //
14702 // IncludedObjectVersions is a required field
14703 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
14704
14705 // Specifies whether the inventory is enabled or disabled.
14706 //
14707 // IsEnabled is a required field
14708 IsEnabled *bool `type:"boolean" required:"true"`
14709
14710 // Contains the optional fields that are included in the inventory results.
14711 OptionalFields []*string `locationNameList:"Field" type:"list"`
14712
14713 // Specifies the schedule for generating inventory results.
14714 //
14715 // Schedule is a required field
14716 Schedule *InventorySchedule `type:"structure" required:"true"`
14717 }
14718
14719 // String returns the string representation
14720 func (s InventoryConfiguration) String() string {
14721 return awsutil.Prettify(s)
14722 }
14723
14724 // GoString returns the string representation
14725 func (s InventoryConfiguration) GoString() string {
14726 return s.String()
14727 }
14728
14729 // Validate inspects the fields of the type to determine if they are valid.
14730 func (s *InventoryConfiguration) Validate() error {
14731 invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"}
14732 if s.Destination == nil {
14733 invalidParams.Add(request.NewErrParamRequired("Destination"))
14734 }
14735 if s.Id == nil {
14736 invalidParams.Add(request.NewErrParamRequired("Id"))
14737 }
14738 if s.IncludedObjectVersions == nil {
14739 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions"))
14740 }
14741 if s.IsEnabled == nil {
14742 invalidParams.Add(request.NewErrParamRequired("IsEnabled"))
14743 }
14744 if s.Schedule == nil {
14745 invalidParams.Add(request.NewErrParamRequired("Schedule"))
14746 }
14747 if s.Destination != nil {
14748 if err := s.Destination.Validate(); err != nil {
14749 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
14750 }
14751 }
14752 if s.Filter != nil {
14753 if err := s.Filter.Validate(); err != nil {
14754 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
14755 }
14756 }
14757 if s.Schedule != nil {
14758 if err := s.Schedule.Validate(); err != nil {
14759 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
14760 }
14761 }
14762
14763 if invalidParams.Len() > 0 {
14764 return invalidParams
14765 }
14766 return nil
14767 }
14768
14769 // SetDestination sets the Destination field's value.
14770 func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration {
14771 s.Destination = v
14772 return s
14773 }
14774
14775 // SetFilter sets the Filter field's value.
14776 func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration {
14777 s.Filter = v
14778 return s
14779 }
14780
14781 // SetId sets the Id field's value.
14782 func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration {
14783 s.Id = &v
14784 return s
14785 }
14786
14787 // SetIncludedObjectVersions sets the IncludedObjectVersions field's value.
14788 func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration {
14789 s.IncludedObjectVersions = &v
14790 return s
14791 }
14792
14793 // SetIsEnabled sets the IsEnabled field's value.
14794 func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration {
14795 s.IsEnabled = &v
14796 return s
14797 }
14798
14799 // SetOptionalFields sets the OptionalFields field's value.
14800 func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration {
14801 s.OptionalFields = v
14802 return s
14803 }
14804
14805 // SetSchedule sets the Schedule field's value.
14806 func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration {
14807 s.Schedule = v
14808 return s
14809 }
14810
14811 type InventoryDestination struct {
14812 _ struct{} `type:"structure"`
14813
14814 // Contains the bucket name, file format, bucket owner (optional), and prefix
14815 // (optional) where inventory results are published.
14816 //
14817 // S3BucketDestination is a required field
14818 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"`
14819 }
14820
14821 // String returns the string representation
14822 func (s InventoryDestination) String() string {
14823 return awsutil.Prettify(s)
14824 }
14825
14826 // GoString returns the string representation
14827 func (s InventoryDestination) GoString() string {
14828 return s.String()
14829 }
14830
14831 // Validate inspects the fields of the type to determine if they are valid.
14832 func (s *InventoryDestination) Validate() error {
14833 invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"}
14834 if s.S3BucketDestination == nil {
14835 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
14836 }
14837 if s.S3BucketDestination != nil {
14838 if err := s.S3BucketDestination.Validate(); err != nil {
14839 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
14840 }
14841 }
14842
14843 if invalidParams.Len() > 0 {
14844 return invalidParams
14845 }
14846 return nil
14847 }
14848
14849 // SetS3BucketDestination sets the S3BucketDestination field's value.
14850 func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination {
14851 s.S3BucketDestination = v
14852 return s
14853 }
14854
14855 // Contains the type of server-side encryption used to encrypt the inventory
14856 // results.
14857 type InventoryEncryption struct {
14858 _ struct{} `type:"structure"`
14859
14860 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
14861 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
14862
14863 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
14864 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
14865 }
14866
14867 // String returns the string representation
14868 func (s InventoryEncryption) String() string {
14869 return awsutil.Prettify(s)
14870 }
14871
14872 // GoString returns the string representation
14873 func (s InventoryEncryption) GoString() string {
14874 return s.String()
14875 }
14876
14877 // Validate inspects the fields of the type to determine if they are valid.
14878 func (s *InventoryEncryption) Validate() error {
14879 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"}
14880 if s.SSEKMS != nil {
14881 if err := s.SSEKMS.Validate(); err != nil {
14882 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams))
14883 }
14884 }
14885
14886 if invalidParams.Len() > 0 {
14887 return invalidParams
14888 }
14889 return nil
14890 }
14891
14892 // SetSSEKMS sets the SSEKMS field's value.
14893 func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
14894 s.SSEKMS = v
14895 return s
14896 }
14897
14898 // SetSSES3 sets the SSES3 field's value.
14899 func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
14900 s.SSES3 = v
14901 return s
14902 }
14903
14904 type InventoryFilter struct {
14905 _ struct{} `type:"structure"`
14906
14907 // The prefix that an object must have to be included in the inventory results.
14908 //
14909 // Prefix is a required field
14910 Prefix *string `type:"string" required:"true"`
14911 }
14912
14913 // String returns the string representation
14914 func (s InventoryFilter) String() string {
14915 return awsutil.Prettify(s)
14916 }
14917
14918 // GoString returns the string representation
14919 func (s InventoryFilter) GoString() string {
14920 return s.String()
14921 }
14922
14923 // Validate inspects the fields of the type to determine if they are valid.
14924 func (s *InventoryFilter) Validate() error {
14925 invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
14926 if s.Prefix == nil {
14927 invalidParams.Add(request.NewErrParamRequired("Prefix"))
14928 }
14929
14930 if invalidParams.Len() > 0 {
14931 return invalidParams
14932 }
14933 return nil
14934 }
14935
14936 // SetPrefix sets the Prefix field's value.
14937 func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
14938 s.Prefix = &v
14939 return s
14940 }
14941
14942 type InventoryS3BucketDestination struct {
14943 _ struct{} `type:"structure"`
14944
14945 // The ID of the account that owns the destination bucket.
14946 AccountId *string `type:"string"`
14947
14948 // The Amazon resource name (ARN) of the bucket where inventory results will
14949 // be published.
14950 //
14951 // Bucket is a required field
14952 Bucket *string `type:"string" required:"true"`
14953
14954 // Contains the type of server-side encryption used to encrypt the inventory
14955 // results.
14956 Encryption *InventoryEncryption `type:"structure"`
14957
14958 // Specifies the output format of the inventory results.
14959 //
14960 // Format is a required field
14961 Format *string `type:"string" required:"true" enum:"InventoryFormat"`
14962
14963 // The prefix that is prepended to all inventory results.
14964 Prefix *string `type:"string"`
14965 }
14966
14967 // String returns the string representation
14968 func (s InventoryS3BucketDestination) String() string {
14969 return awsutil.Prettify(s)
14970 }
14971
14972 // GoString returns the string representation
14973 func (s InventoryS3BucketDestination) GoString() string {
14974 return s.String()
14975 }
14976
14977 // Validate inspects the fields of the type to determine if they are valid.
14978 func (s *InventoryS3BucketDestination) Validate() error {
14979 invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"}
14980 if s.Bucket == nil {
14981 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14982 }
14983 if s.Format == nil {
14984 invalidParams.Add(request.NewErrParamRequired("Format"))
14985 }
14986 if s.Encryption != nil {
14987 if err := s.Encryption.Validate(); err != nil {
14988 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
14989 }
14990 }
14991
14992 if invalidParams.Len() > 0 {
14993 return invalidParams
14994 }
14995 return nil
14996 }
14997
14998 // SetAccountId sets the AccountId field's value.
14999 func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination {
15000 s.AccountId = &v
15001 return s
15002 }
15003
15004 // SetBucket sets the Bucket field's value.
15005 func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination {
15006 s.Bucket = &v
15007 return s
15008 }
15009
15010 func (s *InventoryS3BucketDestination) getBucket() (v string) {
15011 if s.Bucket == nil {
15012 return v
15013 }
15014 return *s.Bucket
15015 }
15016
15017 // SetEncryption sets the Encryption field's value.
15018 func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
15019 s.Encryption = v
15020 return s
15021 }
15022
15023 // SetFormat sets the Format field's value.
15024 func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
15025 s.Format = &v
15026 return s
15027 }
15028
15029 // SetPrefix sets the Prefix field's value.
15030 func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination {
15031 s.Prefix = &v
15032 return s
15033 }
15034
15035 type InventorySchedule struct {
15036 _ struct{} `type:"structure"`
15037
15038 // Specifies how frequently inventory results are produced.
15039 //
15040 // Frequency is a required field
15041 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"`
15042 }
15043
15044 // String returns the string representation
15045 func (s InventorySchedule) String() string {
15046 return awsutil.Prettify(s)
15047 }
15048
15049 // GoString returns the string representation
15050 func (s InventorySchedule) GoString() string {
15051 return s.String()
15052 }
15053
15054 // Validate inspects the fields of the type to determine if they are valid.
15055 func (s *InventorySchedule) Validate() error {
15056 invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"}
15057 if s.Frequency == nil {
15058 invalidParams.Add(request.NewErrParamRequired("Frequency"))
15059 }
15060
15061 if invalidParams.Len() > 0 {
15062 return invalidParams
15063 }
15064 return nil
15065 }
15066
15067 // SetFrequency sets the Frequency field's value.
15068 func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
15069 s.Frequency = &v
15070 return s
15071 }
15072
15073 type JSONInput struct {
15074 _ struct{} `type:"structure"`
15075
15076 // The type of JSON. Valid values: Document, Lines.
15077 Type *string `type:"string" enum:"JSONType"`
15078 }
15079
15080 // String returns the string representation
15081 func (s JSONInput) String() string {
15082 return awsutil.Prettify(s)
15083 }
15084
15085 // GoString returns the string representation
15086 func (s JSONInput) GoString() string {
15087 return s.String()
15088 }
15089
15090 // SetType sets the Type field's value.
15091 func (s *JSONInput) SetType(v string) *JSONInput {
15092 s.Type = &v
15093 return s
15094 }
15095
15096 type JSONOutput struct {
15097 _ struct{} `type:"structure"`
15098
15099 // The value used to separate individual records in the output.
15100 RecordDelimiter *string `type:"string"`
15101 }
15102
15103 // String returns the string representation
15104 func (s JSONOutput) String() string {
15105 return awsutil.Prettify(s)
15106 }
15107
15108 // GoString returns the string representation
15109 func (s JSONOutput) GoString() string {
15110 return s.String()
15111 }
15112
15113 // SetRecordDelimiter sets the RecordDelimiter field's value.
15114 func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
15115 s.RecordDelimiter = &v
15116 return s
15117 }
15118
15119 // A container for object key name prefix and suffix filtering rules.
15120 type KeyFilter struct {
15121 _ struct{} `type:"structure"`
15122
15123 // A list of containers for the key value pair that defines the criteria for
15124 // the filter rule.
15125 FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"`
15126 }
15127
15128 // String returns the string representation
15129 func (s KeyFilter) String() string {
15130 return awsutil.Prettify(s)
15131 }
15132
15133 // GoString returns the string representation
15134 func (s KeyFilter) GoString() string {
15135 return s.String()
15136 }
15137
15138 // SetFilterRules sets the FilterRules field's value.
15139 func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
15140 s.FilterRules = v
15141 return s
15142 }
15143
15144 // A container for specifying the configuration for AWS Lambda notifications.
15145 type LambdaFunctionConfiguration struct {
15146 _ struct{} `type:"structure"`
15147
15148 // Events is a required field
15149 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
15150
15151 // A container for object key name filtering rules. For information about key
15152 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15153 // in the Amazon Simple Storage Service Developer Guide.
15154 Filter *NotificationConfigurationFilter `type:"structure"`
15155
15156 // An optional unique identifier for configurations in a notification configuration.
15157 // If you don't provide one, Amazon S3 will assign an ID.
15158 Id *string `type:"string"`
15159
15160 // The Amazon Resource Name (ARN) of the Lambda cloud function that Amazon S3
15161 // can invoke when it detects events of the specified type.
15162 //
15163 // LambdaFunctionArn is a required field
15164 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
15165 }
15166
15167 // String returns the string representation
15168 func (s LambdaFunctionConfiguration) String() string {
15169 return awsutil.Prettify(s)
15170 }
15171
15172 // GoString returns the string representation
15173 func (s LambdaFunctionConfiguration) GoString() string {
15174 return s.String()
15175 }
15176
15177 // Validate inspects the fields of the type to determine if they are valid.
15178 func (s *LambdaFunctionConfiguration) Validate() error {
15179 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"}
15180 if s.Events == nil {
15181 invalidParams.Add(request.NewErrParamRequired("Events"))
15182 }
15183 if s.LambdaFunctionArn == nil {
15184 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
15185 }
15186
15187 if invalidParams.Len() > 0 {
15188 return invalidParams
15189 }
15190 return nil
15191 }
15192
15193 // SetEvents sets the Events field's value.
15194 func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration {
15195 s.Events = v
15196 return s
15197 }
15198
15199 // SetFilter sets the Filter field's value.
15200 func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration {
15201 s.Filter = v
15202 return s
15203 }
15204
15205 // SetId sets the Id field's value.
15206 func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration {
15207 s.Id = &v
15208 return s
15209 }
15210
15211 // SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
15212 func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration {
15213 s.LambdaFunctionArn = &v
15214 return s
15215 }
15216
15217 type LifecycleConfiguration struct {
15218 _ struct{} `type:"structure"`
15219
15220 // Rules is a required field
15221 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
15222 }
15223
15224 // String returns the string representation
15225 func (s LifecycleConfiguration) String() string {
15226 return awsutil.Prettify(s)
15227 }
15228
15229 // GoString returns the string representation
15230 func (s LifecycleConfiguration) GoString() string {
15231 return s.String()
15232 }
15233
15234 // Validate inspects the fields of the type to determine if they are valid.
15235 func (s *LifecycleConfiguration) Validate() error {
15236 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"}
15237 if s.Rules == nil {
15238 invalidParams.Add(request.NewErrParamRequired("Rules"))
15239 }
15240 if s.Rules != nil {
15241 for i, v := range s.Rules {
15242 if v == nil {
15243 continue
15244 }
15245 if err := v.Validate(); err != nil {
15246 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
15247 }
15248 }
15249 }
15250
15251 if invalidParams.Len() > 0 {
15252 return invalidParams
15253 }
15254 return nil
15255 }
15256
15257 // SetRules sets the Rules field's value.
15258 func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
15259 s.Rules = v
15260 return s
15261 }
15262
15263 type LifecycleExpiration struct {
15264 _ struct{} `type:"structure"`
15265
15266 // Indicates at what date the object is to be moved or deleted. Should be in
15267 // GMT ISO 8601 Format.
15268 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15269
15270 // Indicates the lifetime, in days, of the objects that are subject to the rule.
15271 // The value must be a non-zero positive integer.
15272 Days *int64 `type:"integer"`
15273
15274 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent
15275 // versions. If set to true, the delete marker will be expired; if set to false
15276 // the policy takes no action. This cannot be specified with Days or Date in
15277 // a Lifecycle Expiration Policy.
15278 ExpiredObjectDeleteMarker *bool `type:"boolean"`
15279 }
15280
15281 // String returns the string representation
15282 func (s LifecycleExpiration) String() string {
15283 return awsutil.Prettify(s)
15284 }
15285
15286 // GoString returns the string representation
15287 func (s LifecycleExpiration) GoString() string {
15288 return s.String()
15289 }
15290
15291 // SetDate sets the Date field's value.
15292 func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration {
15293 s.Date = &v
15294 return s
15295 }
15296
15297 // SetDays sets the Days field's value.
15298 func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration {
15299 s.Days = &v
15300 return s
15301 }
15302
15303 // SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
15304 func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration {
15305 s.ExpiredObjectDeleteMarker = &v
15306 return s
15307 }
15308
15309 type LifecycleRule struct {
15310 _ struct{} `type:"structure"`
15311
15312 // Specifies the days since the initiation of an Incomplete Multipart Upload
15313 // that Lifecycle will wait before permanently removing all parts of the upload.
15314 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
15315
15316 Expiration *LifecycleExpiration `type:"structure"`
15317
15318 // The Filter is used to identify objects that a Lifecycle Rule applies to.
15319 // A Filter must have exactly one of Prefix, Tag, or And specified.
15320 Filter *LifecycleRuleFilter `type:"structure"`
15321
15322 // Unique identifier for the rule. The value cannot be longer than 255 characters.
15323 ID *string `type:"string"`
15324
15325 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
15326 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
15327 // configuration action on a bucket that has versioning enabled (or suspended)
15328 // to request that Amazon S3 delete noncurrent object versions at a specific
15329 // period in the object's lifetime.
15330 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
15331
15332 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
15333
15334 // Prefix identifying one or more objects to which the rule applies. This is
15335 // No longer used; use Filter instead.
15336 //
15337 // Deprecated: Prefix has been deprecated
15338 Prefix *string `deprecated:"true" type:"string"`
15339
15340 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
15341 // is not currently being applied.
15342 //
15343 // Status is a required field
15344 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
15345
15346 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`
15347 }
15348
15349 // String returns the string representation
15350 func (s LifecycleRule) String() string {
15351 return awsutil.Prettify(s)
15352 }
15353
15354 // GoString returns the string representation
15355 func (s LifecycleRule) GoString() string {
15356 return s.String()
15357 }
15358
15359 // Validate inspects the fields of the type to determine if they are valid.
15360 func (s *LifecycleRule) Validate() error {
15361 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"}
15362 if s.Status == nil {
15363 invalidParams.Add(request.NewErrParamRequired("Status"))
15364 }
15365 if s.Filter != nil {
15366 if err := s.Filter.Validate(); err != nil {
15367 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
15368 }
15369 }
15370
15371 if invalidParams.Len() > 0 {
15372 return invalidParams
15373 }
15374 return nil
15375 }
15376
15377 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
15378 func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule {
15379 s.AbortIncompleteMultipartUpload = v
15380 return s
15381 }
15382
15383 // SetExpiration sets the Expiration field's value.
15384 func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule {
15385 s.Expiration = v
15386 return s
15387 }
15388
15389 // SetFilter sets the Filter field's value.
15390 func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule {
15391 s.Filter = v
15392 return s
15393 }
15394
15395 // SetID sets the ID field's value.
15396 func (s *LifecycleRule) SetID(v string) *LifecycleRule {
15397 s.ID = &v
15398 return s
15399 }
15400
15401 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
15402 func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule {
15403 s.NoncurrentVersionExpiration = v
15404 return s
15405 }
15406
15407 // SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
15408 func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule {
15409 s.NoncurrentVersionTransitions = v
15410 return s
15411 }
15412
15413 // SetPrefix sets the Prefix field's value.
15414 func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule {
15415 s.Prefix = &v
15416 return s
15417 }
15418
15419 // SetStatus sets the Status field's value.
15420 func (s *LifecycleRule) SetStatus(v string) *LifecycleRule {
15421 s.Status = &v
15422 return s
15423 }
15424
15425 // SetTransitions sets the Transitions field's value.
15426 func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
15427 s.Transitions = v
15428 return s
15429 }
15430
15431 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15432 // more predicates. The Lifecycle Rule will apply to any object matching all
15433 // of the predicates configured inside the And operator.
15434 type LifecycleRuleAndOperator struct {
15435 _ struct{} `type:"structure"`
15436
15437 Prefix *string `type:"string"`
15438
15439 // All of these tags must exist in the object's tag set in order for the rule
15440 // to apply.
15441 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
15442 }
15443
15444 // String returns the string representation
15445 func (s LifecycleRuleAndOperator) String() string {
15446 return awsutil.Prettify(s)
15447 }
15448
15449 // GoString returns the string representation
15450 func (s LifecycleRuleAndOperator) GoString() string {
15451 return s.String()
15452 }
15453
15454 // Validate inspects the fields of the type to determine if they are valid.
15455 func (s *LifecycleRuleAndOperator) Validate() error {
15456 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"}
15457 if s.Tags != nil {
15458 for i, v := range s.Tags {
15459 if v == nil {
15460 continue
15461 }
15462 if err := v.Validate(); err != nil {
15463 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15464 }
15465 }
15466 }
15467
15468 if invalidParams.Len() > 0 {
15469 return invalidParams
15470 }
15471 return nil
15472 }
15473
15474 // SetPrefix sets the Prefix field's value.
15475 func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
15476 s.Prefix = &v
15477 return s
15478 }
15479
15480 // SetTags sets the Tags field's value.
15481 func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
15482 s.Tags = v
15483 return s
15484 }
15485
15486 // The Filter is used to identify objects that a Lifecycle Rule applies to.
15487 // A Filter must have exactly one of Prefix, Tag, or And specified.
15488 type LifecycleRuleFilter struct {
15489 _ struct{} `type:"structure"`
15490
15491 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15492 // more predicates. The Lifecycle Rule will apply to any object matching all
15493 // of the predicates configured inside the And operator.
15494 And *LifecycleRuleAndOperator `type:"structure"`
15495
15496 // Prefix identifying one or more objects to which the rule applies.
15497 Prefix *string `type:"string"`
15498
15499 // This tag must exist in the object's tag set in order for the rule to apply.
15500 Tag *Tag `type:"structure"`
15501 }
15502
15503 // String returns the string representation
15504 func (s LifecycleRuleFilter) String() string {
15505 return awsutil.Prettify(s)
15506 }
15507
15508 // GoString returns the string representation
15509 func (s LifecycleRuleFilter) GoString() string {
15510 return s.String()
15511 }
15512
15513 // Validate inspects the fields of the type to determine if they are valid.
15514 func (s *LifecycleRuleFilter) Validate() error {
15515 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"}
15516 if s.And != nil {
15517 if err := s.And.Validate(); err != nil {
15518 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
15519 }
15520 }
15521 if s.Tag != nil {
15522 if err := s.Tag.Validate(); err != nil {
15523 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
15524 }
15525 }
15526
15527 if invalidParams.Len() > 0 {
15528 return invalidParams
15529 }
15530 return nil
15531 }
15532
15533 // SetAnd sets the And field's value.
15534 func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter {
15535 s.And = v
15536 return s
15537 }
15538
15539 // SetPrefix sets the Prefix field's value.
15540 func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
15541 s.Prefix = &v
15542 return s
15543 }
15544
15545 // SetTag sets the Tag field's value.
15546 func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
15547 s.Tag = v
15548 return s
15549 }
15550
15551 type ListBucketAnalyticsConfigurationsInput struct {
15552 _ struct{} `type:"structure"`
15553
15554 // The name of the bucket from which analytics configurations are retrieved.
15555 //
15556 // Bucket is a required field
15557 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15558
15559 // The ContinuationToken that represents a placeholder from where this request
15560 // should begin.
15561 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15562 }
15563
15564 // String returns the string representation
15565 func (s ListBucketAnalyticsConfigurationsInput) String() string {
15566 return awsutil.Prettify(s)
15567 }
15568
15569 // GoString returns the string representation
15570 func (s ListBucketAnalyticsConfigurationsInput) GoString() string {
15571 return s.String()
15572 }
15573
15574 // Validate inspects the fields of the type to determine if they are valid.
15575 func (s *ListBucketAnalyticsConfigurationsInput) Validate() error {
15576 invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"}
15577 if s.Bucket == nil {
15578 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15579 }
15580 if s.Bucket != nil && len(*s.Bucket) < 1 {
15581 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15582 }
15583
15584 if invalidParams.Len() > 0 {
15585 return invalidParams
15586 }
15587 return nil
15588 }
15589
15590 // SetBucket sets the Bucket field's value.
15591 func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput {
15592 s.Bucket = &v
15593 return s
15594 }
15595
15596 func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
15597 if s.Bucket == nil {
15598 return v
15599 }
15600 return *s.Bucket
15601 }
15602
15603 // SetContinuationToken sets the ContinuationToken field's value.
15604 func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
15605 s.ContinuationToken = &v
15606 return s
15607 }
15608
15609 type ListBucketAnalyticsConfigurationsOutput struct {
15610 _ struct{} `type:"structure"`
15611
15612 // The list of analytics configurations for a bucket.
15613 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"`
15614
15615 // The ContinuationToken that represents where this request began.
15616 ContinuationToken *string `type:"string"`
15617
15618 // Indicates whether the returned list of analytics configurations is complete.
15619 // A value of true indicates that the list is not complete and the NextContinuationToken
15620 // will be provided for a subsequent request.
15621 IsTruncated *bool `type:"boolean"`
15622
15623 // NextContinuationToken is sent when isTruncated is true, which indicates that
15624 // there are more analytics configurations to list. The next request must include
15625 // this NextContinuationToken. The token is obfuscated and is not a usable value.
15626 NextContinuationToken *string `type:"string"`
15627 }
15628
15629 // String returns the string representation
15630 func (s ListBucketAnalyticsConfigurationsOutput) String() string {
15631 return awsutil.Prettify(s)
15632 }
15633
15634 // GoString returns the string representation
15635 func (s ListBucketAnalyticsConfigurationsOutput) GoString() string {
15636 return s.String()
15637 }
15638
15639 // SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value.
15640 func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput {
15641 s.AnalyticsConfigurationList = v
15642 return s
15643 }
15644
15645 // SetContinuationToken sets the ContinuationToken field's value.
15646 func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15647 s.ContinuationToken = &v
15648 return s
15649 }
15650
15651 // SetIsTruncated sets the IsTruncated field's value.
15652 func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput {
15653 s.IsTruncated = &v
15654 return s
15655 }
15656
15657 // SetNextContinuationToken sets the NextContinuationToken field's value.
15658 func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15659 s.NextContinuationToken = &v
15660 return s
15661 }
15662
15663 type ListBucketInventoryConfigurationsInput struct {
15664 _ struct{} `type:"structure"`
15665
15666 // The name of the bucket containing the inventory configurations to retrieve.
15667 //
15668 // Bucket is a required field
15669 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15670
15671 // The marker used to continue an inventory configuration listing that has been
15672 // truncated. Use the NextContinuationToken from a previously truncated list
15673 // response to continue the listing. The continuation token is an opaque value
15674 // that Amazon S3 understands.
15675 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15676 }
15677
15678 // String returns the string representation
15679 func (s ListBucketInventoryConfigurationsInput) String() string {
15680 return awsutil.Prettify(s)
15681 }
15682
15683 // GoString returns the string representation
15684 func (s ListBucketInventoryConfigurationsInput) GoString() string {
15685 return s.String()
15686 }
15687
15688 // Validate inspects the fields of the type to determine if they are valid.
15689 func (s *ListBucketInventoryConfigurationsInput) Validate() error {
15690 invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"}
15691 if s.Bucket == nil {
15692 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15693 }
15694 if s.Bucket != nil && len(*s.Bucket) < 1 {
15695 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15696 }
15697
15698 if invalidParams.Len() > 0 {
15699 return invalidParams
15700 }
15701 return nil
15702 }
15703
15704 // SetBucket sets the Bucket field's value.
15705 func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput {
15706 s.Bucket = &v
15707 return s
15708 }
15709
15710 func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
15711 if s.Bucket == nil {
15712 return v
15713 }
15714 return *s.Bucket
15715 }
15716
15717 // SetContinuationToken sets the ContinuationToken field's value.
15718 func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
15719 s.ContinuationToken = &v
15720 return s
15721 }
15722
15723 type ListBucketInventoryConfigurationsOutput struct {
15724 _ struct{} `type:"structure"`
15725
15726 // If sent in the request, the marker that is used as a starting point for this
15727 // inventory configuration list response.
15728 ContinuationToken *string `type:"string"`
15729
15730 // The list of inventory configurations for a bucket.
15731 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`
15732
15733 // Indicates whether the returned list of inventory configurations is truncated
15734 // in this response. A value of true indicates that the list is truncated.
15735 IsTruncated *bool `type:"boolean"`
15736
15737 // The marker used to continue this inventory configuration listing. Use the
15738 // NextContinuationToken from this response to continue the listing in a subsequent
15739 // request. The continuation token is an opaque value that Amazon S3 understands.
15740 NextContinuationToken *string `type:"string"`
15741 }
15742
15743 // String returns the string representation
15744 func (s ListBucketInventoryConfigurationsOutput) String() string {
15745 return awsutil.Prettify(s)
15746 }
15747
15748 // GoString returns the string representation
15749 func (s ListBucketInventoryConfigurationsOutput) GoString() string {
15750 return s.String()
15751 }
15752
15753 // SetContinuationToken sets the ContinuationToken field's value.
15754 func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15755 s.ContinuationToken = &v
15756 return s
15757 }
15758
15759 // SetInventoryConfigurationList sets the InventoryConfigurationList field's value.
15760 func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput {
15761 s.InventoryConfigurationList = v
15762 return s
15763 }
15764
15765 // SetIsTruncated sets the IsTruncated field's value.
15766 func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput {
15767 s.IsTruncated = &v
15768 return s
15769 }
15770
15771 // SetNextContinuationToken sets the NextContinuationToken field's value.
15772 func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15773 s.NextContinuationToken = &v
15774 return s
15775 }
15776
15777 type ListBucketMetricsConfigurationsInput struct {
15778 _ struct{} `type:"structure"`
15779
15780 // The name of the bucket containing the metrics configurations to retrieve.
15781 //
15782 // Bucket is a required field
15783 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15784
15785 // The marker that is used to continue a metrics configuration listing that
15786 // has been truncated. Use the NextContinuationToken from a previously truncated
15787 // list response to continue the listing. The continuation token is an opaque
15788 // value that Amazon S3 understands.
15789 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15790 }
15791
15792 // String returns the string representation
15793 func (s ListBucketMetricsConfigurationsInput) String() string {
15794 return awsutil.Prettify(s)
15795 }
15796
15797 // GoString returns the string representation
15798 func (s ListBucketMetricsConfigurationsInput) GoString() string {
15799 return s.String()
15800 }
15801
15802 // Validate inspects the fields of the type to determine if they are valid.
15803 func (s *ListBucketMetricsConfigurationsInput) Validate() error {
15804 invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"}
15805 if s.Bucket == nil {
15806 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15807 }
15808 if s.Bucket != nil && len(*s.Bucket) < 1 {
15809 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15810 }
15811
15812 if invalidParams.Len() > 0 {
15813 return invalidParams
15814 }
15815 return nil
15816 }
15817
15818 // SetBucket sets the Bucket field's value.
15819 func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput {
15820 s.Bucket = &v
15821 return s
15822 }
15823
15824 func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
15825 if s.Bucket == nil {
15826 return v
15827 }
15828 return *s.Bucket
15829 }
15830
15831 // SetContinuationToken sets the ContinuationToken field's value.
15832 func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
15833 s.ContinuationToken = &v
15834 return s
15835 }
15836
15837 type ListBucketMetricsConfigurationsOutput struct {
15838 _ struct{} `type:"structure"`
15839
15840 // The marker that is used as a starting point for this metrics configuration
15841 // list response. This value is present if it was sent in the request.
15842 ContinuationToken *string `type:"string"`
15843
15844 // Indicates whether the returned list of metrics configurations is complete.
15845 // A value of true indicates that the list is not complete and the NextContinuationToken
15846 // will be provided for a subsequent request.
15847 IsTruncated *bool `type:"boolean"`
15848
15849 // The list of metrics configurations for a bucket.
15850 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"`
15851
15852 // The marker used to continue a metrics configuration listing that has been
15853 // truncated. Use the NextContinuationToken from a previously truncated list
15854 // response to continue the listing. The continuation token is an opaque value
15855 // that Amazon S3 understands.
15856 NextContinuationToken *string `type:"string"`
15857 }
15858
15859 // String returns the string representation
15860 func (s ListBucketMetricsConfigurationsOutput) String() string {
15861 return awsutil.Prettify(s)
15862 }
15863
15864 // GoString returns the string representation
15865 func (s ListBucketMetricsConfigurationsOutput) GoString() string {
15866 return s.String()
15867 }
15868
15869 // SetContinuationToken sets the ContinuationToken field's value.
15870 func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
15871 s.ContinuationToken = &v
15872 return s
15873 }
15874
15875 // SetIsTruncated sets the IsTruncated field's value.
15876 func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput {
15877 s.IsTruncated = &v
15878 return s
15879 }
15880
15881 // SetMetricsConfigurationList sets the MetricsConfigurationList field's value.
15882 func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput {
15883 s.MetricsConfigurationList = v
15884 return s
15885 }
15886
15887 // SetNextContinuationToken sets the NextContinuationToken field's value.
15888 func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
15889 s.NextContinuationToken = &v
15890 return s
15891 }
15892
15893 type ListBucketsInput struct {
15894 _ struct{} `type:"structure"`
15895 }
15896
15897 // String returns the string representation
15898 func (s ListBucketsInput) String() string {
15899 return awsutil.Prettify(s)
15900 }
15901
15902 // GoString returns the string representation
15903 func (s ListBucketsInput) GoString() string {
15904 return s.String()
15905 }
15906
15907 type ListBucketsOutput struct {
15908 _ struct{} `type:"structure"`
15909
15910 Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
15911
15912 Owner *Owner `type:"structure"`
15913 }
15914
15915 // String returns the string representation
15916 func (s ListBucketsOutput) String() string {
15917 return awsutil.Prettify(s)
15918 }
15919
15920 // GoString returns the string representation
15921 func (s ListBucketsOutput) GoString() string {
15922 return s.String()
15923 }
15924
15925 // SetBuckets sets the Buckets field's value.
15926 func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput {
15927 s.Buckets = v
15928 return s
15929 }
15930
15931 // SetOwner sets the Owner field's value.
15932 func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
15933 s.Owner = v
15934 return s
15935 }
15936
15937 type ListMultipartUploadsInput struct {
15938 _ struct{} `type:"structure"`
15939
15940 // Bucket is a required field
15941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15942
15943 // Character you use to group keys.
15944 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
15945
15946 // Requests Amazon S3 to encode the object keys in the response and specifies
15947 // the encoding method to use. An object key may contain any Unicode character;
15948 // however, XML 1.0 parser cannot parse some characters, such as characters
15949 // with an ASCII value from 0 to 10. For characters that are not supported in
15950 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
15951 // keys in the response.
15952 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
15953
15954 // Together with upload-id-marker, this parameter specifies the multipart upload
15955 // after which listing should begin.
15956 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
15957
15958 // Sets the maximum number of multipart uploads, from 1 to 1,000, to return
15959 // in the response body. 1,000 is the maximum number of uploads that can be
15960 // returned in a response.
15961 MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"`
15962
15963 // Lists in-progress uploads only for those keys that begin with the specified
15964 // prefix.
15965 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
15966
15967 // Together with key-marker, specifies the multipart upload after which listing
15968 // should begin. If key-marker is not specified, the upload-id-marker parameter
15969 // is ignored.
15970 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`
15971 }
15972
15973 // String returns the string representation
15974 func (s ListMultipartUploadsInput) String() string {
15975 return awsutil.Prettify(s)
15976 }
15977
15978 // GoString returns the string representation
15979 func (s ListMultipartUploadsInput) GoString() string {
15980 return s.String()
15981 }
15982
15983 // Validate inspects the fields of the type to determine if they are valid.
15984 func (s *ListMultipartUploadsInput) Validate() error {
15985 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"}
15986 if s.Bucket == nil {
15987 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15988 }
15989 if s.Bucket != nil && len(*s.Bucket) < 1 {
15990 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15991 }
15992
15993 if invalidParams.Len() > 0 {
15994 return invalidParams
15995 }
15996 return nil
15997 }
15998
15999 // SetBucket sets the Bucket field's value.
16000 func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput {
16001 s.Bucket = &v
16002 return s
16003 }
16004
16005 func (s *ListMultipartUploadsInput) getBucket() (v string) {
16006 if s.Bucket == nil {
16007 return v
16008 }
16009 return *s.Bucket
16010 }
16011
16012 // SetDelimiter sets the Delimiter field's value.
16013 func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
16014 s.Delimiter = &v
16015 return s
16016 }
16017
16018 // SetEncodingType sets the EncodingType field's value.
16019 func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput {
16020 s.EncodingType = &v
16021 return s
16022 }
16023
16024 // SetKeyMarker sets the KeyMarker field's value.
16025 func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput {
16026 s.KeyMarker = &v
16027 return s
16028 }
16029
16030 // SetMaxUploads sets the MaxUploads field's value.
16031 func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput {
16032 s.MaxUploads = &v
16033 return s
16034 }
16035
16036 // SetPrefix sets the Prefix field's value.
16037 func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput {
16038 s.Prefix = &v
16039 return s
16040 }
16041
16042 // SetUploadIdMarker sets the UploadIdMarker field's value.
16043 func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput {
16044 s.UploadIdMarker = &v
16045 return s
16046 }
16047
16048 type ListMultipartUploadsOutput struct {
16049 _ struct{} `type:"structure"`
16050
16051 // Name of the bucket to which the multipart upload was initiated.
16052 Bucket *string `type:"string"`
16053
16054 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16055
16056 Delimiter *string `type:"string"`
16057
16058 // Encoding type used by Amazon S3 to encode object keys in the response.
16059 EncodingType *string `type:"string" enum:"EncodingType"`
16060
16061 // Indicates whether the returned list of multipart uploads is truncated. A
16062 // value of true indicates that the list was truncated. The list can be truncated
16063 // if the number of multipart uploads exceeds the limit allowed or specified
16064 // by max uploads.
16065 IsTruncated *bool `type:"boolean"`
16066
16067 // The key at or after which the listing began.
16068 KeyMarker *string `type:"string"`
16069
16070 // Maximum number of multipart uploads that could have been included in the
16071 // response.
16072 MaxUploads *int64 `type:"integer"`
16073
16074 // When a list is truncated, this element specifies the value that should be
16075 // used for the key-marker request parameter in a subsequent request.
16076 NextKeyMarker *string `type:"string"`
16077
16078 // When a list is truncated, this element specifies the value that should be
16079 // used for the upload-id-marker request parameter in a subsequent request.
16080 NextUploadIdMarker *string `type:"string"`
16081
16082 // When a prefix is provided in the request, this field contains the specified
16083 // prefix. The result contains only keys starting with the specified prefix.
16084 Prefix *string `type:"string"`
16085
16086 // Upload ID after which listing began.
16087 UploadIdMarker *string `type:"string"`
16088
16089 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`
16090 }
16091
16092 // String returns the string representation
16093 func (s ListMultipartUploadsOutput) String() string {
16094 return awsutil.Prettify(s)
16095 }
16096
16097 // GoString returns the string representation
16098 func (s ListMultipartUploadsOutput) GoString() string {
16099 return s.String()
16100 }
16101
16102 // SetBucket sets the Bucket field's value.
16103 func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput {
16104 s.Bucket = &v
16105 return s
16106 }
16107
16108 func (s *ListMultipartUploadsOutput) getBucket() (v string) {
16109 if s.Bucket == nil {
16110 return v
16111 }
16112 return *s.Bucket
16113 }
16114
16115 // SetCommonPrefixes sets the CommonPrefixes field's value.
16116 func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
16117 s.CommonPrefixes = v
16118 return s
16119 }
16120
16121 // SetDelimiter sets the Delimiter field's value.
16122 func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput {
16123 s.Delimiter = &v
16124 return s
16125 }
16126
16127 // SetEncodingType sets the EncodingType field's value.
16128 func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput {
16129 s.EncodingType = &v
16130 return s
16131 }
16132
16133 // SetIsTruncated sets the IsTruncated field's value.
16134 func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput {
16135 s.IsTruncated = &v
16136 return s
16137 }
16138
16139 // SetKeyMarker sets the KeyMarker field's value.
16140 func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput {
16141 s.KeyMarker = &v
16142 return s
16143 }
16144
16145 // SetMaxUploads sets the MaxUploads field's value.
16146 func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput {
16147 s.MaxUploads = &v
16148 return s
16149 }
16150
16151 // SetNextKeyMarker sets the NextKeyMarker field's value.
16152 func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput {
16153 s.NextKeyMarker = &v
16154 return s
16155 }
16156
16157 // SetNextUploadIdMarker sets the NextUploadIdMarker field's value.
16158 func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput {
16159 s.NextUploadIdMarker = &v
16160 return s
16161 }
16162
16163 // SetPrefix sets the Prefix field's value.
16164 func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput {
16165 s.Prefix = &v
16166 return s
16167 }
16168
16169 // SetUploadIdMarker sets the UploadIdMarker field's value.
16170 func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput {
16171 s.UploadIdMarker = &v
16172 return s
16173 }
16174
16175 // SetUploads sets the Uploads field's value.
16176 func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput {
16177 s.Uploads = v
16178 return s
16179 }
16180
16181 type ListObjectVersionsInput struct {
16182 _ struct{} `type:"structure"`
16183
16184 // Bucket is a required field
16185 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16186
16187 // A delimiter is a character you use to group keys.
16188 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16189
16190 // Requests Amazon S3 to encode the object keys in the response and specifies
16191 // the encoding method to use. An object key may contain any Unicode character;
16192 // however, XML 1.0 parser cannot parse some characters, such as characters
16193 // with an ASCII value from 0 to 10. For characters that are not supported in
16194 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16195 // keys in the response.
16196 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16197
16198 // Specifies the key to start with when listing objects in a bucket.
16199 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
16200
16201 // Sets the maximum number of keys returned in the response. The response might
16202 // contain fewer keys but will never contain more.
16203 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16204
16205 // Limits the response to keys that begin with the specified prefix.
16206 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16207
16208 // Specifies the object version you want to start listing from.
16209 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`
16210 }
16211
16212 // String returns the string representation
16213 func (s ListObjectVersionsInput) String() string {
16214 return awsutil.Prettify(s)
16215 }
16216
16217 // GoString returns the string representation
16218 func (s ListObjectVersionsInput) GoString() string {
16219 return s.String()
16220 }
16221
16222 // Validate inspects the fields of the type to determine if they are valid.
16223 func (s *ListObjectVersionsInput) Validate() error {
16224 invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"}
16225 if s.Bucket == nil {
16226 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16227 }
16228 if s.Bucket != nil && len(*s.Bucket) < 1 {
16229 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16230 }
16231
16232 if invalidParams.Len() > 0 {
16233 return invalidParams
16234 }
16235 return nil
16236 }
16237
16238 // SetBucket sets the Bucket field's value.
16239 func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
16240 s.Bucket = &v
16241 return s
16242 }
16243
16244 func (s *ListObjectVersionsInput) getBucket() (v string) {
16245 if s.Bucket == nil {
16246 return v
16247 }
16248 return *s.Bucket
16249 }
16250
16251 // SetDelimiter sets the Delimiter field's value.
16252 func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
16253 s.Delimiter = &v
16254 return s
16255 }
16256
16257 // SetEncodingType sets the EncodingType field's value.
16258 func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput {
16259 s.EncodingType = &v
16260 return s
16261 }
16262
16263 // SetKeyMarker sets the KeyMarker field's value.
16264 func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput {
16265 s.KeyMarker = &v
16266 return s
16267 }
16268
16269 // SetMaxKeys sets the MaxKeys field's value.
16270 func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput {
16271 s.MaxKeys = &v
16272 return s
16273 }
16274
16275 // SetPrefix sets the Prefix field's value.
16276 func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput {
16277 s.Prefix = &v
16278 return s
16279 }
16280
16281 // SetVersionIdMarker sets the VersionIdMarker field's value.
16282 func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput {
16283 s.VersionIdMarker = &v
16284 return s
16285 }
16286
16287 type ListObjectVersionsOutput struct {
16288 _ struct{} `type:"structure"`
16289
16290 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16291
16292 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
16293
16294 Delimiter *string `type:"string"`
16295
16296 // Encoding type used by Amazon S3 to encode object keys in the response.
16297 EncodingType *string `type:"string" enum:"EncodingType"`
16298
16299 // A flag that indicates whether or not Amazon S3 returned all of the results
16300 // that satisfied the search criteria. If your results were truncated, you can
16301 // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
16302 // response parameters as a starting place in another request to return the
16303 // rest of the results.
16304 IsTruncated *bool `type:"boolean"`
16305
16306 // Marks the last Key returned in a truncated response.
16307 KeyMarker *string `type:"string"`
16308
16309 MaxKeys *int64 `type:"integer"`
16310
16311 Name *string `type:"string"`
16312
16313 // Use this value for the key marker request parameter in a subsequent request.
16314 NextKeyMarker *string `type:"string"`
16315
16316 // Use this value for the next version id marker parameter in a subsequent request.
16317 NextVersionIdMarker *string `type:"string"`
16318
16319 Prefix *string `type:"string"`
16320
16321 VersionIdMarker *string `type:"string"`
16322
16323 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`
16324 }
16325
16326 // String returns the string representation
16327 func (s ListObjectVersionsOutput) String() string {
16328 return awsutil.Prettify(s)
16329 }
16330
16331 // GoString returns the string representation
16332 func (s ListObjectVersionsOutput) GoString() string {
16333 return s.String()
16334 }
16335
16336 // SetCommonPrefixes sets the CommonPrefixes field's value.
16337 func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput {
16338 s.CommonPrefixes = v
16339 return s
16340 }
16341
16342 // SetDeleteMarkers sets the DeleteMarkers field's value.
16343 func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput {
16344 s.DeleteMarkers = v
16345 return s
16346 }
16347
16348 // SetDelimiter sets the Delimiter field's value.
16349 func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput {
16350 s.Delimiter = &v
16351 return s
16352 }
16353
16354 // SetEncodingType sets the EncodingType field's value.
16355 func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput {
16356 s.EncodingType = &v
16357 return s
16358 }
16359
16360 // SetIsTruncated sets the IsTruncated field's value.
16361 func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput {
16362 s.IsTruncated = &v
16363 return s
16364 }
16365
16366 // SetKeyMarker sets the KeyMarker field's value.
16367 func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput {
16368 s.KeyMarker = &v
16369 return s
16370 }
16371
16372 // SetMaxKeys sets the MaxKeys field's value.
16373 func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput {
16374 s.MaxKeys = &v
16375 return s
16376 }
16377
16378 // SetName sets the Name field's value.
16379 func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput {
16380 s.Name = &v
16381 return s
16382 }
16383
16384 // SetNextKeyMarker sets the NextKeyMarker field's value.
16385 func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput {
16386 s.NextKeyMarker = &v
16387 return s
16388 }
16389
16390 // SetNextVersionIdMarker sets the NextVersionIdMarker field's value.
16391 func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput {
16392 s.NextVersionIdMarker = &v
16393 return s
16394 }
16395
16396 // SetPrefix sets the Prefix field's value.
16397 func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput {
16398 s.Prefix = &v
16399 return s
16400 }
16401
16402 // SetVersionIdMarker sets the VersionIdMarker field's value.
16403 func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput {
16404 s.VersionIdMarker = &v
16405 return s
16406 }
16407
16408 // SetVersions sets the Versions field's value.
16409 func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput {
16410 s.Versions = v
16411 return s
16412 }
16413
16414 type ListObjectsInput struct {
16415 _ struct{} `type:"structure"`
16416
16417 // Bucket is a required field
16418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16419
16420 // A delimiter is a character you use to group keys.
16421 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16422
16423 // Requests Amazon S3 to encode the object keys in the response and specifies
16424 // the encoding method to use. An object key may contain any Unicode character;
16425 // however, XML 1.0 parser cannot parse some characters, such as characters
16426 // with an ASCII value from 0 to 10. For characters that are not supported in
16427 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16428 // keys in the response.
16429 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16430
16431 // Specifies the key to start with when listing objects in a bucket.
16432 Marker *string `location:"querystring" locationName:"marker" type:"string"`
16433
16434 // Sets the maximum number of keys returned in the response. The response might
16435 // contain fewer keys but will never contain more.
16436 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16437
16438 // Limits the response to keys that begin with the specified prefix.
16439 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16440
16441 // Confirms that the requester knows that she or he will be charged for the
16442 // list objects request. Bucket owners need not specify this parameter in their
16443 // requests.
16444 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16445 }
16446
16447 // String returns the string representation
16448 func (s ListObjectsInput) String() string {
16449 return awsutil.Prettify(s)
16450 }
16451
16452 // GoString returns the string representation
16453 func (s ListObjectsInput) GoString() string {
16454 return s.String()
16455 }
16456
16457 // Validate inspects the fields of the type to determine if they are valid.
16458 func (s *ListObjectsInput) Validate() error {
16459 invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"}
16460 if s.Bucket == nil {
16461 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16462 }
16463 if s.Bucket != nil && len(*s.Bucket) < 1 {
16464 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16465 }
16466
16467 if invalidParams.Len() > 0 {
16468 return invalidParams
16469 }
16470 return nil
16471 }
16472
16473 // SetBucket sets the Bucket field's value.
16474 func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
16475 s.Bucket = &v
16476 return s
16477 }
16478
16479 func (s *ListObjectsInput) getBucket() (v string) {
16480 if s.Bucket == nil {
16481 return v
16482 }
16483 return *s.Bucket
16484 }
16485
16486 // SetDelimiter sets the Delimiter field's value.
16487 func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
16488 s.Delimiter = &v
16489 return s
16490 }
16491
16492 // SetEncodingType sets the EncodingType field's value.
16493 func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput {
16494 s.EncodingType = &v
16495 return s
16496 }
16497
16498 // SetMarker sets the Marker field's value.
16499 func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput {
16500 s.Marker = &v
16501 return s
16502 }
16503
16504 // SetMaxKeys sets the MaxKeys field's value.
16505 func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput {
16506 s.MaxKeys = &v
16507 return s
16508 }
16509
16510 // SetPrefix sets the Prefix field's value.
16511 func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput {
16512 s.Prefix = &v
16513 return s
16514 }
16515
16516 // SetRequestPayer sets the RequestPayer field's value.
16517 func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
16518 s.RequestPayer = &v
16519 return s
16520 }
16521
16522 type ListObjectsOutput struct {
16523 _ struct{} `type:"structure"`
16524
16525 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16526
16527 Contents []*Object `type:"list" flattened:"true"`
16528
16529 Delimiter *string `type:"string"`
16530
16531 // Encoding type used by Amazon S3 to encode object keys in the response.
16532 EncodingType *string `type:"string" enum:"EncodingType"`
16533
16534 // A flag that indicates whether or not Amazon S3 returned all of the results
16535 // that satisfied the search criteria.
16536 IsTruncated *bool `type:"boolean"`
16537
16538 Marker *string `type:"string"`
16539
16540 MaxKeys *int64 `type:"integer"`
16541
16542 Name *string `type:"string"`
16543
16544 // When response is truncated (the IsTruncated element value in the response
16545 // is true), you can use the key name in this field as marker in the subsequent
16546 // request to get next set of objects. Amazon S3 lists objects in alphabetical
16547 // order Note: This element is returned only if you have delimiter request parameter
16548 // specified. If response does not include the NextMaker and it is truncated,
16549 // you can use the value of the last Key in the response as the marker in the
16550 // subsequent request to get the next set of object keys.
16551 NextMarker *string `type:"string"`
16552
16553 Prefix *string `type:"string"`
16554 }
16555
16556 // String returns the string representation
16557 func (s ListObjectsOutput) String() string {
16558 return awsutil.Prettify(s)
16559 }
16560
16561 // GoString returns the string representation
16562 func (s ListObjectsOutput) GoString() string {
16563 return s.String()
16564 }
16565
16566 // SetCommonPrefixes sets the CommonPrefixes field's value.
16567 func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput {
16568 s.CommonPrefixes = v
16569 return s
16570 }
16571
16572 // SetContents sets the Contents field's value.
16573 func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput {
16574 s.Contents = v
16575 return s
16576 }
16577
16578 // SetDelimiter sets the Delimiter field's value.
16579 func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput {
16580 s.Delimiter = &v
16581 return s
16582 }
16583
16584 // SetEncodingType sets the EncodingType field's value.
16585 func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput {
16586 s.EncodingType = &v
16587 return s
16588 }
16589
16590 // SetIsTruncated sets the IsTruncated field's value.
16591 func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput {
16592 s.IsTruncated = &v
16593 return s
16594 }
16595
16596 // SetMarker sets the Marker field's value.
16597 func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput {
16598 s.Marker = &v
16599 return s
16600 }
16601
16602 // SetMaxKeys sets the MaxKeys field's value.
16603 func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput {
16604 s.MaxKeys = &v
16605 return s
16606 }
16607
16608 // SetName sets the Name field's value.
16609 func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput {
16610 s.Name = &v
16611 return s
16612 }
16613
16614 // SetNextMarker sets the NextMarker field's value.
16615 func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput {
16616 s.NextMarker = &v
16617 return s
16618 }
16619
16620 // SetPrefix sets the Prefix field's value.
16621 func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
16622 s.Prefix = &v
16623 return s
16624 }
16625
16626 type ListObjectsV2Input struct {
16627 _ struct{} `type:"structure"`
16628
16629 // Name of the bucket to list.
16630 //
16631 // Bucket is a required field
16632 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16633
16634 // ContinuationToken indicates Amazon S3 that the list is being continued on
16635 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16636 // key
16637 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
16638
16639 // A delimiter is a character you use to group keys.
16640 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16641
16642 // Encoding type used by Amazon S3 to encode object keys in the response.
16643 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16644
16645 // The owner field is not present in listV2 by default, if you want to return
16646 // owner field with each key in the result then set the fetch owner field to
16647 // true
16648 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
16649
16650 // Sets the maximum number of keys returned in the response. The response might
16651 // contain fewer keys but will never contain more.
16652 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16653
16654 // Limits the response to keys that begin with the specified prefix.
16655 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16656
16657 // Confirms that the requester knows that she or he will be charged for the
16658 // list objects request in V2 style. Bucket owners need not specify this parameter
16659 // in their requests.
16660 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16661
16662 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16663 // listing after this specified key. StartAfter can be any key in the bucket
16664 StartAfter *string `location:"querystring" locationName:"start-after" type:"string"`
16665 }
16666
16667 // String returns the string representation
16668 func (s ListObjectsV2Input) String() string {
16669 return awsutil.Prettify(s)
16670 }
16671
16672 // GoString returns the string representation
16673 func (s ListObjectsV2Input) GoString() string {
16674 return s.String()
16675 }
16676
16677 // Validate inspects the fields of the type to determine if they are valid.
16678 func (s *ListObjectsV2Input) Validate() error {
16679 invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"}
16680 if s.Bucket == nil {
16681 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16682 }
16683 if s.Bucket != nil && len(*s.Bucket) < 1 {
16684 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16685 }
16686
16687 if invalidParams.Len() > 0 {
16688 return invalidParams
16689 }
16690 return nil
16691 }
16692
16693 // SetBucket sets the Bucket field's value.
16694 func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
16695 s.Bucket = &v
16696 return s
16697 }
16698
16699 func (s *ListObjectsV2Input) getBucket() (v string) {
16700 if s.Bucket == nil {
16701 return v
16702 }
16703 return *s.Bucket
16704 }
16705
16706 // SetContinuationToken sets the ContinuationToken field's value.
16707 func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
16708 s.ContinuationToken = &v
16709 return s
16710 }
16711
16712 // SetDelimiter sets the Delimiter field's value.
16713 func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input {
16714 s.Delimiter = &v
16715 return s
16716 }
16717
16718 // SetEncodingType sets the EncodingType field's value.
16719 func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input {
16720 s.EncodingType = &v
16721 return s
16722 }
16723
16724 // SetFetchOwner sets the FetchOwner field's value.
16725 func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input {
16726 s.FetchOwner = &v
16727 return s
16728 }
16729
16730 // SetMaxKeys sets the MaxKeys field's value.
16731 func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input {
16732 s.MaxKeys = &v
16733 return s
16734 }
16735
16736 // SetPrefix sets the Prefix field's value.
16737 func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input {
16738 s.Prefix = &v
16739 return s
16740 }
16741
16742 // SetRequestPayer sets the RequestPayer field's value.
16743 func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input {
16744 s.RequestPayer = &v
16745 return s
16746 }
16747
16748 // SetStartAfter sets the StartAfter field's value.
16749 func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
16750 s.StartAfter = &v
16751 return s
16752 }
16753
16754 type ListObjectsV2Output struct {
16755 _ struct{} `type:"structure"`
16756
16757 // CommonPrefixes contains all (if there are any) keys between Prefix and the
16758 // next occurrence of the string specified by delimiter
16759 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16760
16761 // Metadata about each object returned.
16762 Contents []*Object `type:"list" flattened:"true"`
16763
16764 // ContinuationToken indicates Amazon S3 that the list is being continued on
16765 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16766 // key
16767 ContinuationToken *string `type:"string"`
16768
16769 // A delimiter is a character you use to group keys.
16770 Delimiter *string `type:"string"`
16771
16772 // Encoding type used by Amazon S3 to encode object keys in the response.
16773 EncodingType *string `type:"string" enum:"EncodingType"`
16774
16775 // A flag that indicates whether or not Amazon S3 returned all of the results
16776 // that satisfied the search criteria.
16777 IsTruncated *bool `type:"boolean"`
16778
16779 // KeyCount is the number of keys returned with this request. KeyCount will
16780 // always be less than equals to MaxKeys field. Say you ask for 50 keys, your
16781 // result will include less than equals 50 keys
16782 KeyCount *int64 `type:"integer"`
16783
16784 // Sets the maximum number of keys returned in the response. The response might
16785 // contain fewer keys but will never contain more.
16786 MaxKeys *int64 `type:"integer"`
16787
16788 // Name of the bucket to list.
16789 Name *string `type:"string"`
16790
16791 // NextContinuationToken is sent when isTruncated is true which means there
16792 // are more keys in the bucket that can be listed. The next list requests to
16793 // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken
16794 // is obfuscated and is not a real key
16795 NextContinuationToken *string `type:"string"`
16796
16797 // Limits the response to keys that begin with the specified prefix.
16798 Prefix *string `type:"string"`
16799
16800 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16801 // listing after this specified key. StartAfter can be any key in the bucket
16802 StartAfter *string `type:"string"`
16803 }
16804
16805 // String returns the string representation
16806 func (s ListObjectsV2Output) String() string {
16807 return awsutil.Prettify(s)
16808 }
16809
16810 // GoString returns the string representation
16811 func (s ListObjectsV2Output) GoString() string {
16812 return s.String()
16813 }
16814
16815 // SetCommonPrefixes sets the CommonPrefixes field's value.
16816 func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output {
16817 s.CommonPrefixes = v
16818 return s
16819 }
16820
16821 // SetContents sets the Contents field's value.
16822 func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output {
16823 s.Contents = v
16824 return s
16825 }
16826
16827 // SetContinuationToken sets the ContinuationToken field's value.
16828 func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output {
16829 s.ContinuationToken = &v
16830 return s
16831 }
16832
16833 // SetDelimiter sets the Delimiter field's value.
16834 func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output {
16835 s.Delimiter = &v
16836 return s
16837 }
16838
16839 // SetEncodingType sets the EncodingType field's value.
16840 func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output {
16841 s.EncodingType = &v
16842 return s
16843 }
16844
16845 // SetIsTruncated sets the IsTruncated field's value.
16846 func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output {
16847 s.IsTruncated = &v
16848 return s
16849 }
16850
16851 // SetKeyCount sets the KeyCount field's value.
16852 func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output {
16853 s.KeyCount = &v
16854 return s
16855 }
16856
16857 // SetMaxKeys sets the MaxKeys field's value.
16858 func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output {
16859 s.MaxKeys = &v
16860 return s
16861 }
16862
16863 // SetName sets the Name field's value.
16864 func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output {
16865 s.Name = &v
16866 return s
16867 }
16868
16869 // SetNextContinuationToken sets the NextContinuationToken field's value.
16870 func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output {
16871 s.NextContinuationToken = &v
16872 return s
16873 }
16874
16875 // SetPrefix sets the Prefix field's value.
16876 func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output {
16877 s.Prefix = &v
16878 return s
16879 }
16880
16881 // SetStartAfter sets the StartAfter field's value.
16882 func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
16883 s.StartAfter = &v
16884 return s
16885 }
16886
16887 type ListPartsInput struct {
16888 _ struct{} `type:"structure"`
16889
16890 // Bucket is a required field
16891 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16892
16893 // Key is a required field
16894 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
16895
16896 // Sets the maximum number of parts to return.
16897 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`
16898
16899 // Specifies the part after which listing should begin. Only parts with higher
16900 // part numbers will be listed.
16901 PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"`
16902
16903 // Confirms that the requester knows that she or he will be charged for the
16904 // request. Bucket owners need not specify this parameter in their requests.
16905 // Documentation on downloading objects from requester pays buckets can be found
16906 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
16907 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16908
16909 // Upload ID identifying the multipart upload whose parts are being listed.
16910 //
16911 // UploadId is a required field
16912 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
16913 }
16914
16915 // String returns the string representation
16916 func (s ListPartsInput) String() string {
16917 return awsutil.Prettify(s)
16918 }
16919
16920 // GoString returns the string representation
16921 func (s ListPartsInput) GoString() string {
16922 return s.String()
16923 }
16924
16925 // Validate inspects the fields of the type to determine if they are valid.
16926 func (s *ListPartsInput) Validate() error {
16927 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"}
16928 if s.Bucket == nil {
16929 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16930 }
16931 if s.Bucket != nil && len(*s.Bucket) < 1 {
16932 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16933 }
16934 if s.Key == nil {
16935 invalidParams.Add(request.NewErrParamRequired("Key"))
16936 }
16937 if s.Key != nil && len(*s.Key) < 1 {
16938 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16939 }
16940 if s.UploadId == nil {
16941 invalidParams.Add(request.NewErrParamRequired("UploadId"))
16942 }
16943
16944 if invalidParams.Len() > 0 {
16945 return invalidParams
16946 }
16947 return nil
16948 }
16949
16950 // SetBucket sets the Bucket field's value.
16951 func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
16952 s.Bucket = &v
16953 return s
16954 }
16955
16956 func (s *ListPartsInput) getBucket() (v string) {
16957 if s.Bucket == nil {
16958 return v
16959 }
16960 return *s.Bucket
16961 }
16962
16963 // SetKey sets the Key field's value.
16964 func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
16965 s.Key = &v
16966 return s
16967 }
16968
16969 // SetMaxParts sets the MaxParts field's value.
16970 func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput {
16971 s.MaxParts = &v
16972 return s
16973 }
16974
16975 // SetPartNumberMarker sets the PartNumberMarker field's value.
16976 func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput {
16977 s.PartNumberMarker = &v
16978 return s
16979 }
16980
16981 // SetRequestPayer sets the RequestPayer field's value.
16982 func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
16983 s.RequestPayer = &v
16984 return s
16985 }
16986
16987 // SetUploadId sets the UploadId field's value.
16988 func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
16989 s.UploadId = &v
16990 return s
16991 }
16992
16993 type ListPartsOutput struct {
16994 _ struct{} `type:"structure"`
16995
16996 // Date when multipart upload will become eligible for abort operation by lifecycle.
16997 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
16998
16999 // Id of the lifecycle rule that makes a multipart upload eligible for abort
17000 // operation.
17001 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
17002
17003 // Name of the bucket to which the multipart upload was initiated.
17004 Bucket *string `type:"string"`
17005
17006 // Identifies who initiated the multipart upload.
17007 Initiator *Initiator `type:"structure"`
17008
17009 // Indicates whether the returned list of parts is truncated.
17010 IsTruncated *bool `type:"boolean"`
17011
17012 // Object key for which the multipart upload was initiated.
17013 Key *string `min:"1" type:"string"`
17014
17015 // Maximum number of parts that were allowed in the response.
17016 MaxParts *int64 `type:"integer"`
17017
17018 // When a list is truncated, this element specifies the last part in the list,
17019 // as well as the value to use for the part-number-marker request parameter
17020 // in a subsequent request.
17021 NextPartNumberMarker *int64 `type:"integer"`
17022
17023 Owner *Owner `type:"structure"`
17024
17025 // Part number after which listing begins.
17026 PartNumberMarker *int64 `type:"integer"`
17027
17028 Parts []*Part `locationName:"Part" type:"list" flattened:"true"`
17029
17030 // If present, indicates that the requester was successfully charged for the
17031 // request.
17032 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
17033
17034 // The class of storage used to store the object.
17035 StorageClass *string `type:"string" enum:"StorageClass"`
17036
17037 // Upload ID identifying the multipart upload whose parts are being listed.
17038 UploadId *string `type:"string"`
17039 }
17040
17041 // String returns the string representation
17042 func (s ListPartsOutput) String() string {
17043 return awsutil.Prettify(s)
17044 }
17045
17046 // GoString returns the string representation
17047 func (s ListPartsOutput) GoString() string {
17048 return s.String()
17049 }
17050
17051 // SetAbortDate sets the AbortDate field's value.
17052 func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput {
17053 s.AbortDate = &v
17054 return s
17055 }
17056
17057 // SetAbortRuleId sets the AbortRuleId field's value.
17058 func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput {
17059 s.AbortRuleId = &v
17060 return s
17061 }
17062
17063 // SetBucket sets the Bucket field's value.
17064 func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
17065 s.Bucket = &v
17066 return s
17067 }
17068
17069 func (s *ListPartsOutput) getBucket() (v string) {
17070 if s.Bucket == nil {
17071 return v
17072 }
17073 return *s.Bucket
17074 }
17075
17076 // SetInitiator sets the Initiator field's value.
17077 func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
17078 s.Initiator = v
17079 return s
17080 }
17081
17082 // SetIsTruncated sets the IsTruncated field's value.
17083 func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput {
17084 s.IsTruncated = &v
17085 return s
17086 }
17087
17088 // SetKey sets the Key field's value.
17089 func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput {
17090 s.Key = &v
17091 return s
17092 }
17093
17094 // SetMaxParts sets the MaxParts field's value.
17095 func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput {
17096 s.MaxParts = &v
17097 return s
17098 }
17099
17100 // SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
17101 func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput {
17102 s.NextPartNumberMarker = &v
17103 return s
17104 }
17105
17106 // SetOwner sets the Owner field's value.
17107 func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput {
17108 s.Owner = v
17109 return s
17110 }
17111
17112 // SetPartNumberMarker sets the PartNumberMarker field's value.
17113 func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput {
17114 s.PartNumberMarker = &v
17115 return s
17116 }
17117
17118 // SetParts sets the Parts field's value.
17119 func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput {
17120 s.Parts = v
17121 return s
17122 }
17123
17124 // SetRequestCharged sets the RequestCharged field's value.
17125 func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput {
17126 s.RequestCharged = &v
17127 return s
17128 }
17129
17130 // SetStorageClass sets the StorageClass field's value.
17131 func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput {
17132 s.StorageClass = &v
17133 return s
17134 }
17135
17136 // SetUploadId sets the UploadId field's value.
17137 func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
17138 s.UploadId = &v
17139 return s
17140 }
17141
17142 // Describes an S3 location that will receive the results of the restore request.
17143 type Location struct {
17144 _ struct{} `type:"structure"`
17145
17146 // A list of grants that control access to the staged results.
17147 AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
17148
17149 // The name of the bucket where the restore results will be placed.
17150 //
17151 // BucketName is a required field
17152 BucketName *string `type:"string" required:"true"`
17153
17154 // The canned ACL to apply to the restore results.
17155 CannedACL *string `type:"string" enum:"ObjectCannedACL"`
17156
17157 // Describes the server-side encryption that will be applied to the restore
17158 // results.
17159 Encryption *Encryption `type:"structure"`
17160
17161 // The prefix that is prepended to the restore results for this request.
17162 //
17163 // Prefix is a required field
17164 Prefix *string `type:"string" required:"true"`
17165
17166 // The class of storage used to store the restore results.
17167 StorageClass *string `type:"string" enum:"StorageClass"`
17168
17169 // The tag-set that is applied to the restore results.
17170 Tagging *Tagging `type:"structure"`
17171
17172 // A list of metadata to store with the restore results in S3.
17173 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
17174 }
17175
17176 // String returns the string representation
17177 func (s Location) String() string {
17178 return awsutil.Prettify(s)
17179 }
17180
17181 // GoString returns the string representation
17182 func (s Location) GoString() string {
17183 return s.String()
17184 }
17185
17186 // Validate inspects the fields of the type to determine if they are valid.
17187 func (s *Location) Validate() error {
17188 invalidParams := request.ErrInvalidParams{Context: "Location"}
17189 if s.BucketName == nil {
17190 invalidParams.Add(request.NewErrParamRequired("BucketName"))
17191 }
17192 if s.Prefix == nil {
17193 invalidParams.Add(request.NewErrParamRequired("Prefix"))
17194 }
17195 if s.AccessControlList != nil {
17196 for i, v := range s.AccessControlList {
17197 if v == nil {
17198 continue
17199 }
17200 if err := v.Validate(); err != nil {
17201 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
17202 }
17203 }
17204 }
17205 if s.Encryption != nil {
17206 if err := s.Encryption.Validate(); err != nil {
17207 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
17208 }
17209 }
17210 if s.Tagging != nil {
17211 if err := s.Tagging.Validate(); err != nil {
17212 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
17213 }
17214 }
17215
17216 if invalidParams.Len() > 0 {
17217 return invalidParams
17218 }
17219 return nil
17220 }
17221
17222 // SetAccessControlList sets the AccessControlList field's value.
17223 func (s *Location) SetAccessControlList(v []*Grant) *Location {
17224 s.AccessControlList = v
17225 return s
17226 }
17227
17228 // SetBucketName sets the BucketName field's value.
17229 func (s *Location) SetBucketName(v string) *Location {
17230 s.BucketName = &v
17231 return s
17232 }
17233
17234 // SetCannedACL sets the CannedACL field's value.
17235 func (s *Location) SetCannedACL(v string) *Location {
17236 s.CannedACL = &v
17237 return s
17238 }
17239
17240 // SetEncryption sets the Encryption field's value.
17241 func (s *Location) SetEncryption(v *Encryption) *Location {
17242 s.Encryption = v
17243 return s
17244 }
17245
17246 // SetPrefix sets the Prefix field's value.
17247 func (s *Location) SetPrefix(v string) *Location {
17248 s.Prefix = &v
17249 return s
17250 }
17251
17252 // SetStorageClass sets the StorageClass field's value.
17253 func (s *Location) SetStorageClass(v string) *Location {
17254 s.StorageClass = &v
17255 return s
17256 }
17257
17258 // SetTagging sets the Tagging field's value.
17259 func (s *Location) SetTagging(v *Tagging) *Location {
17260 s.Tagging = v
17261 return s
17262 }
17263
17264 // SetUserMetadata sets the UserMetadata field's value.
17265 func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
17266 s.UserMetadata = v
17267 return s
17268 }
17269
17270 // Container for logging information. Presence of this element indicates that
17271 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
17272 // in this case.
17273 type LoggingEnabled struct {
17274 _ struct{} `type:"structure"`
17275
17276 // Specifies the bucket where you want Amazon S3 to store server access logs.
17277 // You can have your logs delivered to any bucket that you own, including the
17278 // same bucket that is being logged. You can also configure multiple buckets
17279 // to deliver their logs to the same target bucket. In this case you should
17280 // choose a different TargetPrefix for each source bucket so that the delivered
17281 // log files can be distinguished by key.
17282 //
17283 // TargetBucket is a required field
17284 TargetBucket *string `type:"string" required:"true"`
17285
17286 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
17287
17288 // This element lets you specify a prefix for the keys that the log files will
17289 // be stored under.
17290 //
17291 // TargetPrefix is a required field
17292 TargetPrefix *string `type:"string" required:"true"`
17293 }
17294
17295 // String returns the string representation
17296 func (s LoggingEnabled) String() string {
17297 return awsutil.Prettify(s)
17298 }
17299
17300 // GoString returns the string representation
17301 func (s LoggingEnabled) GoString() string {
17302 return s.String()
17303 }
17304
17305 // Validate inspects the fields of the type to determine if they are valid.
17306 func (s *LoggingEnabled) Validate() error {
17307 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"}
17308 if s.TargetBucket == nil {
17309 invalidParams.Add(request.NewErrParamRequired("TargetBucket"))
17310 }
17311 if s.TargetPrefix == nil {
17312 invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
17313 }
17314 if s.TargetGrants != nil {
17315 for i, v := range s.TargetGrants {
17316 if v == nil {
17317 continue
17318 }
17319 if err := v.Validate(); err != nil {
17320 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams))
17321 }
17322 }
17323 }
17324
17325 if invalidParams.Len() > 0 {
17326 return invalidParams
17327 }
17328 return nil
17329 }
17330
17331 // SetTargetBucket sets the TargetBucket field's value.
17332 func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled {
17333 s.TargetBucket = &v
17334 return s
17335 }
17336
17337 // SetTargetGrants sets the TargetGrants field's value.
17338 func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled {
17339 s.TargetGrants = v
17340 return s
17341 }
17342
17343 // SetTargetPrefix sets the TargetPrefix field's value.
17344 func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
17345 s.TargetPrefix = &v
17346 return s
17347 }
17348
17349 // A metadata key-value pair to store with an object.
17350 type MetadataEntry struct {
17351 _ struct{} `type:"structure"`
17352
17353 Name *string `type:"string"`
17354
17355 Value *string `type:"string"`
17356 }
17357
17358 // String returns the string representation
17359 func (s MetadataEntry) String() string {
17360 return awsutil.Prettify(s)
17361 }
17362
17363 // GoString returns the string representation
17364 func (s MetadataEntry) GoString() string {
17365 return s.String()
17366 }
17367
17368 // SetName sets the Name field's value.
17369 func (s *MetadataEntry) SetName(v string) *MetadataEntry {
17370 s.Name = &v
17371 return s
17372 }
17373
17374 // SetValue sets the Value field's value.
17375 func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
17376 s.Value = &v
17377 return s
17378 }
17379
17380 type MetricsAndOperator struct {
17381 _ struct{} `type:"structure"`
17382
17383 // The prefix used when evaluating an AND predicate.
17384 Prefix *string `type:"string"`
17385
17386 // The list of tags used when evaluating an AND predicate.
17387 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
17388 }
17389
17390 // String returns the string representation
17391 func (s MetricsAndOperator) String() string {
17392 return awsutil.Prettify(s)
17393 }
17394
17395 // GoString returns the string representation
17396 func (s MetricsAndOperator) GoString() string {
17397 return s.String()
17398 }
17399
17400 // Validate inspects the fields of the type to determine if they are valid.
17401 func (s *MetricsAndOperator) Validate() error {
17402 invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"}
17403 if s.Tags != nil {
17404 for i, v := range s.Tags {
17405 if v == nil {
17406 continue
17407 }
17408 if err := v.Validate(); err != nil {
17409 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17410 }
17411 }
17412 }
17413
17414 if invalidParams.Len() > 0 {
17415 return invalidParams
17416 }
17417 return nil
17418 }
17419
17420 // SetPrefix sets the Prefix field's value.
17421 func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator {
17422 s.Prefix = &v
17423 return s
17424 }
17425
17426 // SetTags sets the Tags field's value.
17427 func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
17428 s.Tags = v
17429 return s
17430 }
17431
17432 type MetricsConfiguration struct {
17433 _ struct{} `type:"structure"`
17434
17435 // Specifies a metrics configuration filter. The metrics configuration will
17436 // only include objects that meet the filter's criteria. A filter must be a
17437 // prefix, a tag, or a conjunction (MetricsAndOperator).
17438 Filter *MetricsFilter `type:"structure"`
17439
17440 // The ID used to identify the metrics configuration.
17441 //
17442 // Id is a required field
17443 Id *string `type:"string" required:"true"`
17444 }
17445
17446 // String returns the string representation
17447 func (s MetricsConfiguration) String() string {
17448 return awsutil.Prettify(s)
17449 }
17450
17451 // GoString returns the string representation
17452 func (s MetricsConfiguration) GoString() string {
17453 return s.String()
17454 }
17455
17456 // Validate inspects the fields of the type to determine if they are valid.
17457 func (s *MetricsConfiguration) Validate() error {
17458 invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"}
17459 if s.Id == nil {
17460 invalidParams.Add(request.NewErrParamRequired("Id"))
17461 }
17462 if s.Filter != nil {
17463 if err := s.Filter.Validate(); err != nil {
17464 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
17465 }
17466 }
17467
17468 if invalidParams.Len() > 0 {
17469 return invalidParams
17470 }
17471 return nil
17472 }
17473
17474 // SetFilter sets the Filter field's value.
17475 func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration {
17476 s.Filter = v
17477 return s
17478 }
17479
17480 // SetId sets the Id field's value.
17481 func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
17482 s.Id = &v
17483 return s
17484 }
17485
17486 type MetricsFilter struct {
17487 _ struct{} `type:"structure"`
17488
17489 // A conjunction (logical AND) of predicates, which is used in evaluating a
17490 // metrics filter. The operator must have at least two predicates, and an object
17491 // must match all of the predicates in order for the filter to apply.
17492 And *MetricsAndOperator `type:"structure"`
17493
17494 // The prefix used when evaluating a metrics filter.
17495 Prefix *string `type:"string"`
17496
17497 // The tag used when evaluating a metrics filter.
17498 Tag *Tag `type:"structure"`
17499 }
17500
17501 // String returns the string representation
17502 func (s MetricsFilter) String() string {
17503 return awsutil.Prettify(s)
17504 }
17505
17506 // GoString returns the string representation
17507 func (s MetricsFilter) GoString() string {
17508 return s.String()
17509 }
17510
17511 // Validate inspects the fields of the type to determine if they are valid.
17512 func (s *MetricsFilter) Validate() error {
17513 invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"}
17514 if s.And != nil {
17515 if err := s.And.Validate(); err != nil {
17516 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
17517 }
17518 }
17519 if s.Tag != nil {
17520 if err := s.Tag.Validate(); err != nil {
17521 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
17522 }
17523 }
17524
17525 if invalidParams.Len() > 0 {
17526 return invalidParams
17527 }
17528 return nil
17529 }
17530
17531 // SetAnd sets the And field's value.
17532 func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter {
17533 s.And = v
17534 return s
17535 }
17536
17537 // SetPrefix sets the Prefix field's value.
17538 func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter {
17539 s.Prefix = &v
17540 return s
17541 }
17542
17543 // SetTag sets the Tag field's value.
17544 func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
17545 s.Tag = v
17546 return s
17547 }
17548
17549 type MultipartUpload struct {
17550 _ struct{} `type:"structure"`
17551
17552 // Date and time at which the multipart upload was initiated.
17553 Initiated *time.Time `type:"timestamp"`
17554
17555 // Identifies who initiated the multipart upload.
17556 Initiator *Initiator `type:"structure"`
17557
17558 // Key of the object for which the multipart upload was initiated.
17559 Key *string `min:"1" type:"string"`
17560
17561 Owner *Owner `type:"structure"`
17562
17563 // The class of storage used to store the object.
17564 StorageClass *string `type:"string" enum:"StorageClass"`
17565
17566 // Upload ID that identifies the multipart upload.
17567 UploadId *string `type:"string"`
17568 }
17569
17570 // String returns the string representation
17571 func (s MultipartUpload) String() string {
17572 return awsutil.Prettify(s)
17573 }
17574
17575 // GoString returns the string representation
17576 func (s MultipartUpload) GoString() string {
17577 return s.String()
17578 }
17579
17580 // SetInitiated sets the Initiated field's value.
17581 func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
17582 s.Initiated = &v
17583 return s
17584 }
17585
17586 // SetInitiator sets the Initiator field's value.
17587 func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload {
17588 s.Initiator = v
17589 return s
17590 }
17591
17592 // SetKey sets the Key field's value.
17593 func (s *MultipartUpload) SetKey(v string) *MultipartUpload {
17594 s.Key = &v
17595 return s
17596 }
17597
17598 // SetOwner sets the Owner field's value.
17599 func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload {
17600 s.Owner = v
17601 return s
17602 }
17603
17604 // SetStorageClass sets the StorageClass field's value.
17605 func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload {
17606 s.StorageClass = &v
17607 return s
17608 }
17609
17610 // SetUploadId sets the UploadId field's value.
17611 func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
17612 s.UploadId = &v
17613 return s
17614 }
17615
17616 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
17617 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
17618 // configuration action on a bucket that has versioning enabled (or suspended)
17619 // to request that Amazon S3 delete noncurrent object versions at a specific
17620 // period in the object's lifetime.
17621 type NoncurrentVersionExpiration struct {
17622 _ struct{} `type:"structure"`
17623
17624 // Specifies the number of days an object is noncurrent before Amazon S3 can
17625 // perform the associated action. For information about the noncurrent days
17626 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
17627 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
17628 // in the Amazon Simple Storage Service Developer Guide.
17629 NoncurrentDays *int64 `type:"integer"`
17630 }
17631
17632 // String returns the string representation
17633 func (s NoncurrentVersionExpiration) String() string {
17634 return awsutil.Prettify(s)
17635 }
17636
17637 // GoString returns the string representation
17638 func (s NoncurrentVersionExpiration) GoString() string {
17639 return s.String()
17640 }
17641
17642 // SetNoncurrentDays sets the NoncurrentDays field's value.
17643 func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
17644 s.NoncurrentDays = &v
17645 return s
17646 }
17647
17648 // Container for the transition rule that describes when noncurrent objects
17649 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or
17650 // DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
17651 // is suspended), you can set this action to request that Amazon S3 transition
17652 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
17653 // GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's
17654 // lifetime.
17655 type NoncurrentVersionTransition struct {
17656 _ struct{} `type:"structure"`
17657
17658 // Specifies the number of days an object is noncurrent before Amazon S3 can
17659 // perform the associated action. For information about the noncurrent days
17660 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
17661 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
17662 // in the Amazon Simple Storage Service Developer Guide.
17663 NoncurrentDays *int64 `type:"integer"`
17664
17665 // The class of storage used to store the object.
17666 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
17667 }
17668
17669 // String returns the string representation
17670 func (s NoncurrentVersionTransition) String() string {
17671 return awsutil.Prettify(s)
17672 }
17673
17674 // GoString returns the string representation
17675 func (s NoncurrentVersionTransition) GoString() string {
17676 return s.String()
17677 }
17678
17679 // SetNoncurrentDays sets the NoncurrentDays field's value.
17680 func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
17681 s.NoncurrentDays = &v
17682 return s
17683 }
17684
17685 // SetStorageClass sets the StorageClass field's value.
17686 func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition {
17687 s.StorageClass = &v
17688 return s
17689 }
17690
17691 // A container for specifying the notification configuration of the bucket.
17692 // If this element is empty, notifications are turned off for the bucket.
17693 type NotificationConfiguration struct {
17694 _ struct{} `type:"structure"`
17695
17696 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
17697
17698 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`
17699
17700 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
17701 }
17702
17703 // String returns the string representation
17704 func (s NotificationConfiguration) String() string {
17705 return awsutil.Prettify(s)
17706 }
17707
17708 // GoString returns the string representation
17709 func (s NotificationConfiguration) GoString() string {
17710 return s.String()
17711 }
17712
17713 // Validate inspects the fields of the type to determine if they are valid.
17714 func (s *NotificationConfiguration) Validate() error {
17715 invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"}
17716 if s.LambdaFunctionConfigurations != nil {
17717 for i, v := range s.LambdaFunctionConfigurations {
17718 if v == nil {
17719 continue
17720 }
17721 if err := v.Validate(); err != nil {
17722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams))
17723 }
17724 }
17725 }
17726 if s.QueueConfigurations != nil {
17727 for i, v := range s.QueueConfigurations {
17728 if v == nil {
17729 continue
17730 }
17731 if err := v.Validate(); err != nil {
17732 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams))
17733 }
17734 }
17735 }
17736 if s.TopicConfigurations != nil {
17737 for i, v := range s.TopicConfigurations {
17738 if v == nil {
17739 continue
17740 }
17741 if err := v.Validate(); err != nil {
17742 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams))
17743 }
17744 }
17745 }
17746
17747 if invalidParams.Len() > 0 {
17748 return invalidParams
17749 }
17750 return nil
17751 }
17752
17753 // SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
17754 func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
17755 s.LambdaFunctionConfigurations = v
17756 return s
17757 }
17758
17759 // SetQueueConfigurations sets the QueueConfigurations field's value.
17760 func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration {
17761 s.QueueConfigurations = v
17762 return s
17763 }
17764
17765 // SetTopicConfigurations sets the TopicConfigurations field's value.
17766 func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration {
17767 s.TopicConfigurations = v
17768 return s
17769 }
17770
17771 type NotificationConfigurationDeprecated struct {
17772 _ struct{} `type:"structure"`
17773
17774 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`
17775
17776 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
17777
17778 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
17779 }
17780
17781 // String returns the string representation
17782 func (s NotificationConfigurationDeprecated) String() string {
17783 return awsutil.Prettify(s)
17784 }
17785
17786 // GoString returns the string representation
17787 func (s NotificationConfigurationDeprecated) GoString() string {
17788 return s.String()
17789 }
17790
17791 // SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value.
17792 func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated {
17793 s.CloudFunctionConfiguration = v
17794 return s
17795 }
17796
17797 // SetQueueConfiguration sets the QueueConfiguration field's value.
17798 func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated {
17799 s.QueueConfiguration = v
17800 return s
17801 }
17802
17803 // SetTopicConfiguration sets the TopicConfiguration field's value.
17804 func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated {
17805 s.TopicConfiguration = v
17806 return s
17807 }
17808
17809 // A container for object key name filtering rules. For information about key
17810 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
17811 // in the Amazon Simple Storage Service Developer Guide.
17812 type NotificationConfigurationFilter struct {
17813 _ struct{} `type:"structure"`
17814
17815 // A container for object key name prefix and suffix filtering rules.
17816 Key *KeyFilter `locationName:"S3Key" type:"structure"`
17817 }
17818
17819 // String returns the string representation
17820 func (s NotificationConfigurationFilter) String() string {
17821 return awsutil.Prettify(s)
17822 }
17823
17824 // GoString returns the string representation
17825 func (s NotificationConfigurationFilter) GoString() string {
17826 return s.String()
17827 }
17828
17829 // SetKey sets the Key field's value.
17830 func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter {
17831 s.Key = v
17832 return s
17833 }
17834
17835 type Object struct {
17836 _ struct{} `type:"structure"`
17837
17838 ETag *string `type:"string"`
17839
17840 Key *string `min:"1" type:"string"`
17841
17842 LastModified *time.Time `type:"timestamp"`
17843
17844 Owner *Owner `type:"structure"`
17845
17846 Size *int64 `type:"integer"`
17847
17848 // The class of storage used to store the object.
17849 StorageClass *string `type:"string" enum:"ObjectStorageClass"`
17850 }
17851
17852 // String returns the string representation
17853 func (s Object) String() string {
17854 return awsutil.Prettify(s)
17855 }
17856
17857 // GoString returns the string representation
17858 func (s Object) GoString() string {
17859 return s.String()
17860 }
17861
17862 // SetETag sets the ETag field's value.
17863 func (s *Object) SetETag(v string) *Object {
17864 s.ETag = &v
17865 return s
17866 }
17867
17868 // SetKey sets the Key field's value.
17869 func (s *Object) SetKey(v string) *Object {
17870 s.Key = &v
17871 return s
17872 }
17873
17874 // SetLastModified sets the LastModified field's value.
17875 func (s *Object) SetLastModified(v time.Time) *Object {
17876 s.LastModified = &v
17877 return s
17878 }
17879
17880 // SetOwner sets the Owner field's value.
17881 func (s *Object) SetOwner(v *Owner) *Object {
17882 s.Owner = v
17883 return s
17884 }
17885
17886 // SetSize sets the Size field's value.
17887 func (s *Object) SetSize(v int64) *Object {
17888 s.Size = &v
17889 return s
17890 }
17891
17892 // SetStorageClass sets the StorageClass field's value.
17893 func (s *Object) SetStorageClass(v string) *Object {
17894 s.StorageClass = &v
17895 return s
17896 }
17897
17898 type ObjectIdentifier struct {
17899 _ struct{} `type:"structure"`
17900
17901 // Key name of the object to delete.
17902 //
17903 // Key is a required field
17904 Key *string `min:"1" type:"string" required:"true"`
17905
17906 // VersionId for the specific version of the object to delete.
17907 VersionId *string `type:"string"`
17908 }
17909
17910 // String returns the string representation
17911 func (s ObjectIdentifier) String() string {
17912 return awsutil.Prettify(s)
17913 }
17914
17915 // GoString returns the string representation
17916 func (s ObjectIdentifier) GoString() string {
17917 return s.String()
17918 }
17919
17920 // Validate inspects the fields of the type to determine if they are valid.
17921 func (s *ObjectIdentifier) Validate() error {
17922 invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"}
17923 if s.Key == nil {
17924 invalidParams.Add(request.NewErrParamRequired("Key"))
17925 }
17926 if s.Key != nil && len(*s.Key) < 1 {
17927 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17928 }
17929
17930 if invalidParams.Len() > 0 {
17931 return invalidParams
17932 }
17933 return nil
17934 }
17935
17936 // SetKey sets the Key field's value.
17937 func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier {
17938 s.Key = &v
17939 return s
17940 }
17941
17942 // SetVersionId sets the VersionId field's value.
17943 func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
17944 s.VersionId = &v
17945 return s
17946 }
17947
17948 // The container element for Object Lock configuration parameters.
17949 type ObjectLockConfiguration struct {
17950 _ struct{} `type:"structure"`
17951
17952 // Indicates whether this bucket has an Object Lock configuration enabled.
17953 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"`
17954
17955 // The Object Lock rule in place for the specified object.
17956 Rule *ObjectLockRule `type:"structure"`
17957 }
17958
17959 // String returns the string representation
17960 func (s ObjectLockConfiguration) String() string {
17961 return awsutil.Prettify(s)
17962 }
17963
17964 // GoString returns the string representation
17965 func (s ObjectLockConfiguration) GoString() string {
17966 return s.String()
17967 }
17968
17969 // SetObjectLockEnabled sets the ObjectLockEnabled field's value.
17970 func (s *ObjectLockConfiguration) SetObjectLockEnabled(v string) *ObjectLockConfiguration {
17971 s.ObjectLockEnabled = &v
17972 return s
17973 }
17974
17975 // SetRule sets the Rule field's value.
17976 func (s *ObjectLockConfiguration) SetRule(v *ObjectLockRule) *ObjectLockConfiguration {
17977 s.Rule = v
17978 return s
17979 }
17980
17981 // A Legal Hold configuration for an object.
17982 type ObjectLockLegalHold struct {
17983 _ struct{} `type:"structure"`
17984
17985 // Indicates whether the specified object has a Legal Hold in place.
17986 Status *string `type:"string" enum:"ObjectLockLegalHoldStatus"`
17987 }
17988
17989 // String returns the string representation
17990 func (s ObjectLockLegalHold) String() string {
17991 return awsutil.Prettify(s)
17992 }
17993
17994 // GoString returns the string representation
17995 func (s ObjectLockLegalHold) GoString() string {
17996 return s.String()
17997 }
17998
17999 // SetStatus sets the Status field's value.
18000 func (s *ObjectLockLegalHold) SetStatus(v string) *ObjectLockLegalHold {
18001 s.Status = &v
18002 return s
18003 }
18004
18005 // A Retention configuration for an object.
18006 type ObjectLockRetention struct {
18007 _ struct{} `type:"structure"`
18008
18009 // Indicates the Retention mode for the specified object.
18010 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
18011
18012 // The date on which this Object Lock Retention will expire.
18013 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
18014 }
18015
18016 // String returns the string representation
18017 func (s ObjectLockRetention) String() string {
18018 return awsutil.Prettify(s)
18019 }
18020
18021 // GoString returns the string representation
18022 func (s ObjectLockRetention) GoString() string {
18023 return s.String()
18024 }
18025
18026 // SetMode sets the Mode field's value.
18027 func (s *ObjectLockRetention) SetMode(v string) *ObjectLockRetention {
18028 s.Mode = &v
18029 return s
18030 }
18031
18032 // SetRetainUntilDate sets the RetainUntilDate field's value.
18033 func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetention {
18034 s.RetainUntilDate = &v
18035 return s
18036 }
18037
18038 // The container element for an Object Lock rule.
18039 type ObjectLockRule struct {
18040 _ struct{} `type:"structure"`
18041
18042 // The default retention period that you want to apply to new objects placed
18043 // in the specified bucket.
18044 DefaultRetention *DefaultRetention `type:"structure"`
18045 }
18046
18047 // String returns the string representation
18048 func (s ObjectLockRule) String() string {
18049 return awsutil.Prettify(s)
18050 }
18051
18052 // GoString returns the string representation
18053 func (s ObjectLockRule) GoString() string {
18054 return s.String()
18055 }
18056
18057 // SetDefaultRetention sets the DefaultRetention field's value.
18058 func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRule {
18059 s.DefaultRetention = v
18060 return s
18061 }
18062
18063 type ObjectVersion struct {
18064 _ struct{} `type:"structure"`
18065
18066 ETag *string `type:"string"`
18067
18068 // Specifies whether the object is (true) or is not (false) the latest version
18069 // of an object.
18070 IsLatest *bool `type:"boolean"`
18071
18072 // The object key.
18073 Key *string `min:"1" type:"string"`
18074
18075 // Date and time the object was last modified.
18076 LastModified *time.Time `type:"timestamp"`
18077
18078 Owner *Owner `type:"structure"`
18079
18080 // Size in bytes of the object.
18081 Size *int64 `type:"integer"`
18082
18083 // The class of storage used to store the object.
18084 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"`
18085
18086 // Version ID of an object.
18087 VersionId *string `type:"string"`
18088 }
18089
18090 // String returns the string representation
18091 func (s ObjectVersion) String() string {
18092 return awsutil.Prettify(s)
18093 }
18094
18095 // GoString returns the string representation
18096 func (s ObjectVersion) GoString() string {
18097 return s.String()
18098 }
18099
18100 // SetETag sets the ETag field's value.
18101 func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
18102 s.ETag = &v
18103 return s
18104 }
18105
18106 // SetIsLatest sets the IsLatest field's value.
18107 func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion {
18108 s.IsLatest = &v
18109 return s
18110 }
18111
18112 // SetKey sets the Key field's value.
18113 func (s *ObjectVersion) SetKey(v string) *ObjectVersion {
18114 s.Key = &v
18115 return s
18116 }
18117
18118 // SetLastModified sets the LastModified field's value.
18119 func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion {
18120 s.LastModified = &v
18121 return s
18122 }
18123
18124 // SetOwner sets the Owner field's value.
18125 func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion {
18126 s.Owner = v
18127 return s
18128 }
18129
18130 // SetSize sets the Size field's value.
18131 func (s *ObjectVersion) SetSize(v int64) *ObjectVersion {
18132 s.Size = &v
18133 return s
18134 }
18135
18136 // SetStorageClass sets the StorageClass field's value.
18137 func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion {
18138 s.StorageClass = &v
18139 return s
18140 }
18141
18142 // SetVersionId sets the VersionId field's value.
18143 func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
18144 s.VersionId = &v
18145 return s
18146 }
18147
18148 // Describes the location where the restore job's output is stored.
18149 type OutputLocation struct {
18150 _ struct{} `type:"structure"`
18151
18152 // Describes an S3 location that will receive the results of the restore request.
18153 S3 *Location `type:"structure"`
18154 }
18155
18156 // String returns the string representation
18157 func (s OutputLocation) String() string {
18158 return awsutil.Prettify(s)
18159 }
18160
18161 // GoString returns the string representation
18162 func (s OutputLocation) GoString() string {
18163 return s.String()
18164 }
18165
18166 // Validate inspects the fields of the type to determine if they are valid.
18167 func (s *OutputLocation) Validate() error {
18168 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
18169 if s.S3 != nil {
18170 if err := s.S3.Validate(); err != nil {
18171 invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
18172 }
18173 }
18174
18175 if invalidParams.Len() > 0 {
18176 return invalidParams
18177 }
18178 return nil
18179 }
18180
18181 // SetS3 sets the S3 field's value.
18182 func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
18183 s.S3 = v
18184 return s
18185 }
18186
18187 // Describes how results of the Select job are serialized.
18188 type OutputSerialization struct {
18189 _ struct{} `type:"structure"`
18190
18191 // Describes the serialization of CSV-encoded Select results.
18192 CSV *CSVOutput `type:"structure"`
18193
18194 // Specifies JSON as request's output serialization format.
18195 JSON *JSONOutput `type:"structure"`
18196 }
18197
18198 // String returns the string representation
18199 func (s OutputSerialization) String() string {
18200 return awsutil.Prettify(s)
18201 }
18202
18203 // GoString returns the string representation
18204 func (s OutputSerialization) GoString() string {
18205 return s.String()
18206 }
18207
18208 // SetCSV sets the CSV field's value.
18209 func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
18210 s.CSV = v
18211 return s
18212 }
18213
18214 // SetJSON sets the JSON field's value.
18215 func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
18216 s.JSON = v
18217 return s
18218 }
18219
18220 type Owner struct {
18221 _ struct{} `type:"structure"`
18222
18223 DisplayName *string `type:"string"`
18224
18225 ID *string `type:"string"`
18226 }
18227
18228 // String returns the string representation
18229 func (s Owner) String() string {
18230 return awsutil.Prettify(s)
18231 }
18232
18233 // GoString returns the string representation
18234 func (s Owner) GoString() string {
18235 return s.String()
18236 }
18237
18238 // SetDisplayName sets the DisplayName field's value.
18239 func (s *Owner) SetDisplayName(v string) *Owner {
18240 s.DisplayName = &v
18241 return s
18242 }
18243
18244 // SetID sets the ID field's value.
18245 func (s *Owner) SetID(v string) *Owner {
18246 s.ID = &v
18247 return s
18248 }
18249
18250 type ParquetInput struct {
18251 _ struct{} `type:"structure"`
18252 }
18253
18254 // String returns the string representation
18255 func (s ParquetInput) String() string {
18256 return awsutil.Prettify(s)
18257 }
18258
18259 // GoString returns the string representation
18260 func (s ParquetInput) GoString() string {
18261 return s.String()
18262 }
18263
18264 type Part struct {
18265 _ struct{} `type:"structure"`
18266
18267 // Entity tag returned when the part was uploaded.
18268 ETag *string `type:"string"`
18269
18270 // Date and time at which the part was uploaded.
18271 LastModified *time.Time `type:"timestamp"`
18272
18273 // Part number identifying the part. This is a positive integer between 1 and
18274 // 10,000.
18275 PartNumber *int64 `type:"integer"`
18276
18277 // Size in bytes of the uploaded part data.
18278 Size *int64 `type:"integer"`
18279 }
18280
18281 // String returns the string representation
18282 func (s Part) String() string {
18283 return awsutil.Prettify(s)
18284 }
18285
18286 // GoString returns the string representation
18287 func (s Part) GoString() string {
18288 return s.String()
18289 }
18290
18291 // SetETag sets the ETag field's value.
18292 func (s *Part) SetETag(v string) *Part {
18293 s.ETag = &v
18294 return s
18295 }
18296
18297 // SetLastModified sets the LastModified field's value.
18298 func (s *Part) SetLastModified(v time.Time) *Part {
18299 s.LastModified = &v
18300 return s
18301 }
18302
18303 // SetPartNumber sets the PartNumber field's value.
18304 func (s *Part) SetPartNumber(v int64) *Part {
18305 s.PartNumber = &v
18306 return s
18307 }
18308
18309 // SetSize sets the Size field's value.
18310 func (s *Part) SetSize(v int64) *Part {
18311 s.Size = &v
18312 return s
18313 }
18314
18315 // The container element for a bucket's policy status.
18316 type PolicyStatus struct {
18317 _ struct{} `type:"structure"`
18318
18319 // The policy status for this bucket. TRUE indicates that this bucket is public.
18320 // FALSE indicates that the bucket is not public.
18321 IsPublic *bool `locationName:"IsPublic" type:"boolean"`
18322 }
18323
18324 // String returns the string representation
18325 func (s PolicyStatus) String() string {
18326 return awsutil.Prettify(s)
18327 }
18328
18329 // GoString returns the string representation
18330 func (s PolicyStatus) GoString() string {
18331 return s.String()
18332 }
18333
18334 // SetIsPublic sets the IsPublic field's value.
18335 func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus {
18336 s.IsPublic = &v
18337 return s
18338 }
18339
18340 type Progress struct {
18341 _ struct{} `type:"structure"`
18342
18343 // The current number of uncompressed object bytes processed.
18344 BytesProcessed *int64 `type:"long"`
18345
18346 // The current number of bytes of records payload data returned.
18347 BytesReturned *int64 `type:"long"`
18348
18349 // The current number of object bytes scanned.
18350 BytesScanned *int64 `type:"long"`
18351 }
18352
18353 // String returns the string representation
18354 func (s Progress) String() string {
18355 return awsutil.Prettify(s)
18356 }
18357
18358 // GoString returns the string representation
18359 func (s Progress) GoString() string {
18360 return s.String()
18361 }
18362
18363 // SetBytesProcessed sets the BytesProcessed field's value.
18364 func (s *Progress) SetBytesProcessed(v int64) *Progress {
18365 s.BytesProcessed = &v
18366 return s
18367 }
18368
18369 // SetBytesReturned sets the BytesReturned field's value.
18370 func (s *Progress) SetBytesReturned(v int64) *Progress {
18371 s.BytesReturned = &v
18372 return s
18373 }
18374
18375 // SetBytesScanned sets the BytesScanned field's value.
18376 func (s *Progress) SetBytesScanned(v int64) *Progress {
18377 s.BytesScanned = &v
18378 return s
18379 }
18380
18381 type ProgressEvent struct {
18382 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
18383
18384 // The Progress event details.
18385 Details *Progress `locationName:"Details" type:"structure"`
18386 }
18387
18388 // String returns the string representation
18389 func (s ProgressEvent) String() string {
18390 return awsutil.Prettify(s)
18391 }
18392
18393 // GoString returns the string representation
18394 func (s ProgressEvent) GoString() string {
18395 return s.String()
18396 }
18397
18398 // SetDetails sets the Details field's value.
18399 func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
18400 s.Details = v
18401 return s
18402 }
18403
18404 // The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
18405 func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
18406
18407 // UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value.
18408 // This method is only used internally within the SDK's EventStream handling.
18409 func (s *ProgressEvent) UnmarshalEvent(
18410 payloadUnmarshaler protocol.PayloadUnmarshaler,
18411 msg eventstream.Message,
18412 ) error {
18413 if err := payloadUnmarshaler.UnmarshalPayload(
18414 bytes.NewReader(msg.Payload), s,
18415 ); err != nil {
18416 return err
18417 }
18418 return nil
18419 }
18420
18421 type PublicAccessBlockConfiguration struct {
18422 _ struct{} `type:"structure"`
18423
18424 // Specifies whether Amazon S3 should block public access control lists (ACLs)
18425 // for this bucket and objects in this bucket. Setting this element to TRUE
18426 // causes the following behavior:
18427 //
18428 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is
18429 // public.
18430 //
18431 // * PUT Object calls fail if the request includes a public ACL.
18432 //
18433 // Enabling this setting doesn't affect existing policies or ACLs.
18434 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"`
18435
18436 // Specifies whether Amazon S3 should block public bucket policies for this
18437 // bucket. Setting this element to TRUE causes Amazon S3 to reject calls to
18438 // PUT Bucket policy if the specified bucket policy allows public access.
18439 //
18440 // Enabling this setting doesn't affect existing bucket policies.
18441 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"`
18442
18443 // Specifies whether Amazon S3 should ignore public ACLs for this bucket and
18444 // objects in this bucket. Setting this element to TRUE causes Amazon S3 to
18445 // ignore all public ACLs on this bucket and objects in this bucket.
18446 //
18447 // Enabling this setting doesn't affect the persistence of any existing ACLs
18448 // and doesn't prevent new public ACLs from being set.
18449 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"`
18450
18451 // Specifies whether Amazon S3 should restrict public bucket policies for this
18452 // bucket. Setting this element to TRUE restricts access to this bucket to only
18453 // AWS services and authorized users within this account if the bucket has a
18454 // public policy.
18455 //
18456 // Enabling this setting doesn't affect previously stored bucket policies, except
18457 // that public and cross-account access within any public bucket policy, including
18458 // non-public delegation to specific accounts, is blocked.
18459 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"`
18460 }
18461
18462 // String returns the string representation
18463 func (s PublicAccessBlockConfiguration) String() string {
18464 return awsutil.Prettify(s)
18465 }
18466
18467 // GoString returns the string representation
18468 func (s PublicAccessBlockConfiguration) GoString() string {
18469 return s.String()
18470 }
18471
18472 // SetBlockPublicAcls sets the BlockPublicAcls field's value.
18473 func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration {
18474 s.BlockPublicAcls = &v
18475 return s
18476 }
18477
18478 // SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
18479 func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration {
18480 s.BlockPublicPolicy = &v
18481 return s
18482 }
18483
18484 // SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
18485 func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration {
18486 s.IgnorePublicAcls = &v
18487 return s
18488 }
18489
18490 // SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
18491 func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration {
18492 s.RestrictPublicBuckets = &v
18493 return s
18494 }
18495
18496 type PutBucketAccelerateConfigurationInput struct {
18497 _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
18498
18499 // Specifies the Accelerate Configuration you want to set for the bucket.
18500 //
18501 // AccelerateConfiguration is a required field
18502 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18503
18504 // Name of the bucket for which the accelerate configuration is set.
18505 //
18506 // Bucket is a required field
18507 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18508 }
18509
18510 // String returns the string representation
18511 func (s PutBucketAccelerateConfigurationInput) String() string {
18512 return awsutil.Prettify(s)
18513 }
18514
18515 // GoString returns the string representation
18516 func (s PutBucketAccelerateConfigurationInput) GoString() string {
18517 return s.String()
18518 }
18519
18520 // Validate inspects the fields of the type to determine if they are valid.
18521 func (s *PutBucketAccelerateConfigurationInput) Validate() error {
18522 invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"}
18523 if s.AccelerateConfiguration == nil {
18524 invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration"))
18525 }
18526 if s.Bucket == nil {
18527 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18528 }
18529 if s.Bucket != nil && len(*s.Bucket) < 1 {
18530 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18531 }
18532
18533 if invalidParams.Len() > 0 {
18534 return invalidParams
18535 }
18536 return nil
18537 }
18538
18539 // SetAccelerateConfiguration sets the AccelerateConfiguration field's value.
18540 func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput {
18541 s.AccelerateConfiguration = v
18542 return s
18543 }
18544
18545 // SetBucket sets the Bucket field's value.
18546 func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput {
18547 s.Bucket = &v
18548 return s
18549 }
18550
18551 func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
18552 if s.Bucket == nil {
18553 return v
18554 }
18555 return *s.Bucket
18556 }
18557
18558 type PutBucketAccelerateConfigurationOutput struct {
18559 _ struct{} `type:"structure"`
18560 }
18561
18562 // String returns the string representation
18563 func (s PutBucketAccelerateConfigurationOutput) String() string {
18564 return awsutil.Prettify(s)
18565 }
18566
18567 // GoString returns the string representation
18568 func (s PutBucketAccelerateConfigurationOutput) GoString() string {
18569 return s.String()
18570 }
18571
18572 type PutBucketAclInput struct {
18573 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
18574
18575 // The canned ACL to apply to the bucket.
18576 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
18577
18578 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18579
18580 // Bucket is a required field
18581 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18582
18583 // Allows grantee the read, write, read ACP, and write ACP permissions on the
18584 // bucket.
18585 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
18586
18587 // Allows grantee to list the objects in the bucket.
18588 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
18589
18590 // Allows grantee to read the bucket ACL.
18591 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
18592
18593 // Allows grantee to create, overwrite, and delete any object in the bucket.
18594 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
18595
18596 // Allows grantee to write the ACL for the applicable bucket.
18597 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
18598 }
18599
18600 // String returns the string representation
18601 func (s PutBucketAclInput) String() string {
18602 return awsutil.Prettify(s)
18603 }
18604
18605 // GoString returns the string representation
18606 func (s PutBucketAclInput) GoString() string {
18607 return s.String()
18608 }
18609
18610 // Validate inspects the fields of the type to determine if they are valid.
18611 func (s *PutBucketAclInput) Validate() error {
18612 invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"}
18613 if s.Bucket == nil {
18614 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18615 }
18616 if s.Bucket != nil && len(*s.Bucket) < 1 {
18617 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18618 }
18619 if s.AccessControlPolicy != nil {
18620 if err := s.AccessControlPolicy.Validate(); err != nil {
18621 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
18622 }
18623 }
18624
18625 if invalidParams.Len() > 0 {
18626 return invalidParams
18627 }
18628 return nil
18629 }
18630
18631 // SetACL sets the ACL field's value.
18632 func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput {
18633 s.ACL = &v
18634 return s
18635 }
18636
18637 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
18638 func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput {
18639 s.AccessControlPolicy = v
18640 return s
18641 }
18642
18643 // SetBucket sets the Bucket field's value.
18644 func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
18645 s.Bucket = &v
18646 return s
18647 }
18648
18649 func (s *PutBucketAclInput) getBucket() (v string) {
18650 if s.Bucket == nil {
18651 return v
18652 }
18653 return *s.Bucket
18654 }
18655
18656 // SetGrantFullControl sets the GrantFullControl field's value.
18657 func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
18658 s.GrantFullControl = &v
18659 return s
18660 }
18661
18662 // SetGrantRead sets the GrantRead field's value.
18663 func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput {
18664 s.GrantRead = &v
18665 return s
18666 }
18667
18668 // SetGrantReadACP sets the GrantReadACP field's value.
18669 func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput {
18670 s.GrantReadACP = &v
18671 return s
18672 }
18673
18674 // SetGrantWrite sets the GrantWrite field's value.
18675 func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput {
18676 s.GrantWrite = &v
18677 return s
18678 }
18679
18680 // SetGrantWriteACP sets the GrantWriteACP field's value.
18681 func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
18682 s.GrantWriteACP = &v
18683 return s
18684 }
18685
18686 type PutBucketAclOutput struct {
18687 _ struct{} `type:"structure"`
18688 }
18689
18690 // String returns the string representation
18691 func (s PutBucketAclOutput) String() string {
18692 return awsutil.Prettify(s)
18693 }
18694
18695 // GoString returns the string representation
18696 func (s PutBucketAclOutput) GoString() string {
18697 return s.String()
18698 }
18699
18700 type PutBucketAnalyticsConfigurationInput struct {
18701 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
18702
18703 // The configuration and any analyses for the analytics filter.
18704 //
18705 // AnalyticsConfiguration is a required field
18706 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18707
18708 // The name of the bucket to which an analytics configuration is stored.
18709 //
18710 // Bucket is a required field
18711 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18712
18713 // The identifier used to represent an analytics configuration.
18714 //
18715 // Id is a required field
18716 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
18717 }
18718
18719 // String returns the string representation
18720 func (s PutBucketAnalyticsConfigurationInput) String() string {
18721 return awsutil.Prettify(s)
18722 }
18723
18724 // GoString returns the string representation
18725 func (s PutBucketAnalyticsConfigurationInput) GoString() string {
18726 return s.String()
18727 }
18728
18729 // Validate inspects the fields of the type to determine if they are valid.
18730 func (s *PutBucketAnalyticsConfigurationInput) Validate() error {
18731 invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"}
18732 if s.AnalyticsConfiguration == nil {
18733 invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration"))
18734 }
18735 if s.Bucket == nil {
18736 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18737 }
18738 if s.Bucket != nil && len(*s.Bucket) < 1 {
18739 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18740 }
18741 if s.Id == nil {
18742 invalidParams.Add(request.NewErrParamRequired("Id"))
18743 }
18744 if s.AnalyticsConfiguration != nil {
18745 if err := s.AnalyticsConfiguration.Validate(); err != nil {
18746 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
18747 }
18748 }
18749
18750 if invalidParams.Len() > 0 {
18751 return invalidParams
18752 }
18753 return nil
18754 }
18755
18756 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
18757 func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput {
18758 s.AnalyticsConfiguration = v
18759 return s
18760 }
18761
18762 // SetBucket sets the Bucket field's value.
18763 func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput {
18764 s.Bucket = &v
18765 return s
18766 }
18767
18768 func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
18769 if s.Bucket == nil {
18770 return v
18771 }
18772 return *s.Bucket
18773 }
18774
18775 // SetId sets the Id field's value.
18776 func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
18777 s.Id = &v
18778 return s
18779 }
18780
18781 type PutBucketAnalyticsConfigurationOutput struct {
18782 _ struct{} `type:"structure"`
18783 }
18784
18785 // String returns the string representation
18786 func (s PutBucketAnalyticsConfigurationOutput) String() string {
18787 return awsutil.Prettify(s)
18788 }
18789
18790 // GoString returns the string representation
18791 func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
18792 return s.String()
18793 }
18794
18795 type PutBucketCorsInput struct {
18796 _ struct{} `type:"structure" payload:"CORSConfiguration"`
18797
18798 // Bucket is a required field
18799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18800
18801 // CORSConfiguration is a required field
18802 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18803 }
18804
18805 // String returns the string representation
18806 func (s PutBucketCorsInput) String() string {
18807 return awsutil.Prettify(s)
18808 }
18809
18810 // GoString returns the string representation
18811 func (s PutBucketCorsInput) GoString() string {
18812 return s.String()
18813 }
18814
18815 // Validate inspects the fields of the type to determine if they are valid.
18816 func (s *PutBucketCorsInput) Validate() error {
18817 invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"}
18818 if s.Bucket == nil {
18819 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18820 }
18821 if s.Bucket != nil && len(*s.Bucket) < 1 {
18822 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18823 }
18824 if s.CORSConfiguration == nil {
18825 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration"))
18826 }
18827 if s.CORSConfiguration != nil {
18828 if err := s.CORSConfiguration.Validate(); err != nil {
18829 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams))
18830 }
18831 }
18832
18833 if invalidParams.Len() > 0 {
18834 return invalidParams
18835 }
18836 return nil
18837 }
18838
18839 // SetBucket sets the Bucket field's value.
18840 func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
18841 s.Bucket = &v
18842 return s
18843 }
18844
18845 func (s *PutBucketCorsInput) getBucket() (v string) {
18846 if s.Bucket == nil {
18847 return v
18848 }
18849 return *s.Bucket
18850 }
18851
18852 // SetCORSConfiguration sets the CORSConfiguration field's value.
18853 func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
18854 s.CORSConfiguration = v
18855 return s
18856 }
18857
18858 type PutBucketCorsOutput struct {
18859 _ struct{} `type:"structure"`
18860 }
18861
18862 // String returns the string representation
18863 func (s PutBucketCorsOutput) String() string {
18864 return awsutil.Prettify(s)
18865 }
18866
18867 // GoString returns the string representation
18868 func (s PutBucketCorsOutput) GoString() string {
18869 return s.String()
18870 }
18871
18872 type PutBucketEncryptionInput struct {
18873 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
18874
18875 // The name of the bucket for which the server-side encryption configuration
18876 // is set.
18877 //
18878 // Bucket is a required field
18879 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18880
18881 // Container for server-side encryption configuration rules. Currently S3 supports
18882 // one rule only.
18883 //
18884 // ServerSideEncryptionConfiguration is a required field
18885 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18886 }
18887
18888 // String returns the string representation
18889 func (s PutBucketEncryptionInput) String() string {
18890 return awsutil.Prettify(s)
18891 }
18892
18893 // GoString returns the string representation
18894 func (s PutBucketEncryptionInput) GoString() string {
18895 return s.String()
18896 }
18897
18898 // Validate inspects the fields of the type to determine if they are valid.
18899 func (s *PutBucketEncryptionInput) Validate() error {
18900 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"}
18901 if s.Bucket == nil {
18902 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18903 }
18904 if s.Bucket != nil && len(*s.Bucket) < 1 {
18905 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18906 }
18907 if s.ServerSideEncryptionConfiguration == nil {
18908 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
18909 }
18910 if s.ServerSideEncryptionConfiguration != nil {
18911 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
18912 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
18913 }
18914 }
18915
18916 if invalidParams.Len() > 0 {
18917 return invalidParams
18918 }
18919 return nil
18920 }
18921
18922 // SetBucket sets the Bucket field's value.
18923 func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
18924 s.Bucket = &v
18925 return s
18926 }
18927
18928 func (s *PutBucketEncryptionInput) getBucket() (v string) {
18929 if s.Bucket == nil {
18930 return v
18931 }
18932 return *s.Bucket
18933 }
18934
18935 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
18936 func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
18937 s.ServerSideEncryptionConfiguration = v
18938 return s
18939 }
18940
18941 type PutBucketEncryptionOutput struct {
18942 _ struct{} `type:"structure"`
18943 }
18944
18945 // String returns the string representation
18946 func (s PutBucketEncryptionOutput) String() string {
18947 return awsutil.Prettify(s)
18948 }
18949
18950 // GoString returns the string representation
18951 func (s PutBucketEncryptionOutput) GoString() string {
18952 return s.String()
18953 }
18954
18955 type PutBucketInventoryConfigurationInput struct {
18956 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
18957
18958 // The name of the bucket where the inventory configuration will be stored.
18959 //
18960 // Bucket is a required field
18961 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18962
18963 // The ID used to identify the inventory configuration.
18964 //
18965 // Id is a required field
18966 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
18967
18968 // Specifies the inventory configuration.
18969 //
18970 // InventoryConfiguration is a required field
18971 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18972 }
18973
18974 // String returns the string representation
18975 func (s PutBucketInventoryConfigurationInput) String() string {
18976 return awsutil.Prettify(s)
18977 }
18978
18979 // GoString returns the string representation
18980 func (s PutBucketInventoryConfigurationInput) GoString() string {
18981 return s.String()
18982 }
18983
18984 // Validate inspects the fields of the type to determine if they are valid.
18985 func (s *PutBucketInventoryConfigurationInput) Validate() error {
18986 invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"}
18987 if s.Bucket == nil {
18988 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18989 }
18990 if s.Bucket != nil && len(*s.Bucket) < 1 {
18991 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18992 }
18993 if s.Id == nil {
18994 invalidParams.Add(request.NewErrParamRequired("Id"))
18995 }
18996 if s.InventoryConfiguration == nil {
18997 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration"))
18998 }
18999 if s.InventoryConfiguration != nil {
19000 if err := s.InventoryConfiguration.Validate(); err != nil {
19001 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams))
19002 }
19003 }
19004
19005 if invalidParams.Len() > 0 {
19006 return invalidParams
19007 }
19008 return nil
19009 }
19010
19011 // SetBucket sets the Bucket field's value.
19012 func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput {
19013 s.Bucket = &v
19014 return s
19015 }
19016
19017 func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
19018 if s.Bucket == nil {
19019 return v
19020 }
19021 return *s.Bucket
19022 }
19023
19024 // SetId sets the Id field's value.
19025 func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
19026 s.Id = &v
19027 return s
19028 }
19029
19030 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
19031 func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput {
19032 s.InventoryConfiguration = v
19033 return s
19034 }
19035
19036 type PutBucketInventoryConfigurationOutput struct {
19037 _ struct{} `type:"structure"`
19038 }
19039
19040 // String returns the string representation
19041 func (s PutBucketInventoryConfigurationOutput) String() string {
19042 return awsutil.Prettify(s)
19043 }
19044
19045 // GoString returns the string representation
19046 func (s PutBucketInventoryConfigurationOutput) GoString() string {
19047 return s.String()
19048 }
19049
19050 type PutBucketLifecycleConfigurationInput struct {
19051 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19052
19053 // Bucket is a required field
19054 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19055
19056 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19057 }
19058
19059 // String returns the string representation
19060 func (s PutBucketLifecycleConfigurationInput) String() string {
19061 return awsutil.Prettify(s)
19062 }
19063
19064 // GoString returns the string representation
19065 func (s PutBucketLifecycleConfigurationInput) GoString() string {
19066 return s.String()
19067 }
19068
19069 // Validate inspects the fields of the type to determine if they are valid.
19070 func (s *PutBucketLifecycleConfigurationInput) Validate() error {
19071 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"}
19072 if s.Bucket == nil {
19073 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19074 }
19075 if s.Bucket != nil && len(*s.Bucket) < 1 {
19076 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19077 }
19078 if s.LifecycleConfiguration != nil {
19079 if err := s.LifecycleConfiguration.Validate(); err != nil {
19080 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19081 }
19082 }
19083
19084 if invalidParams.Len() > 0 {
19085 return invalidParams
19086 }
19087 return nil
19088 }
19089
19090 // SetBucket sets the Bucket field's value.
19091 func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput {
19092 s.Bucket = &v
19093 return s
19094 }
19095
19096 func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
19097 if s.Bucket == nil {
19098 return v
19099 }
19100 return *s.Bucket
19101 }
19102
19103 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19104 func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
19105 s.LifecycleConfiguration = v
19106 return s
19107 }
19108
19109 type PutBucketLifecycleConfigurationOutput struct {
19110 _ struct{} `type:"structure"`
19111 }
19112
19113 // String returns the string representation
19114 func (s PutBucketLifecycleConfigurationOutput) String() string {
19115 return awsutil.Prettify(s)
19116 }
19117
19118 // GoString returns the string representation
19119 func (s PutBucketLifecycleConfigurationOutput) GoString() string {
19120 return s.String()
19121 }
19122
19123 type PutBucketLifecycleInput struct {
19124 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19125
19126 // Bucket is a required field
19127 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19128
19129 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19130 }
19131
19132 // String returns the string representation
19133 func (s PutBucketLifecycleInput) String() string {
19134 return awsutil.Prettify(s)
19135 }
19136
19137 // GoString returns the string representation
19138 func (s PutBucketLifecycleInput) GoString() string {
19139 return s.String()
19140 }
19141
19142 // Validate inspects the fields of the type to determine if they are valid.
19143 func (s *PutBucketLifecycleInput) Validate() error {
19144 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"}
19145 if s.Bucket == nil {
19146 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19147 }
19148 if s.Bucket != nil && len(*s.Bucket) < 1 {
19149 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19150 }
19151 if s.LifecycleConfiguration != nil {
19152 if err := s.LifecycleConfiguration.Validate(); err != nil {
19153 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19154 }
19155 }
19156
19157 if invalidParams.Len() > 0 {
19158 return invalidParams
19159 }
19160 return nil
19161 }
19162
19163 // SetBucket sets the Bucket field's value.
19164 func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
19165 s.Bucket = &v
19166 return s
19167 }
19168
19169 func (s *PutBucketLifecycleInput) getBucket() (v string) {
19170 if s.Bucket == nil {
19171 return v
19172 }
19173 return *s.Bucket
19174 }
19175
19176 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19177 func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
19178 s.LifecycleConfiguration = v
19179 return s
19180 }
19181
19182 type PutBucketLifecycleOutput struct {
19183 _ struct{} `type:"structure"`
19184 }
19185
19186 // String returns the string representation
19187 func (s PutBucketLifecycleOutput) String() string {
19188 return awsutil.Prettify(s)
19189 }
19190
19191 // GoString returns the string representation
19192 func (s PutBucketLifecycleOutput) GoString() string {
19193 return s.String()
19194 }
19195
19196 type PutBucketLoggingInput struct {
19197 _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
19198
19199 // Bucket is a required field
19200 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19201
19202 // BucketLoggingStatus is a required field
19203 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19204 }
19205
19206 // String returns the string representation
19207 func (s PutBucketLoggingInput) String() string {
19208 return awsutil.Prettify(s)
19209 }
19210
19211 // GoString returns the string representation
19212 func (s PutBucketLoggingInput) GoString() string {
19213 return s.String()
19214 }
19215
19216 // Validate inspects the fields of the type to determine if they are valid.
19217 func (s *PutBucketLoggingInput) Validate() error {
19218 invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"}
19219 if s.Bucket == nil {
19220 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19221 }
19222 if s.Bucket != nil && len(*s.Bucket) < 1 {
19223 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19224 }
19225 if s.BucketLoggingStatus == nil {
19226 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus"))
19227 }
19228 if s.BucketLoggingStatus != nil {
19229 if err := s.BucketLoggingStatus.Validate(); err != nil {
19230 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams))
19231 }
19232 }
19233
19234 if invalidParams.Len() > 0 {
19235 return invalidParams
19236 }
19237 return nil
19238 }
19239
19240 // SetBucket sets the Bucket field's value.
19241 func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
19242 s.Bucket = &v
19243 return s
19244 }
19245
19246 func (s *PutBucketLoggingInput) getBucket() (v string) {
19247 if s.Bucket == nil {
19248 return v
19249 }
19250 return *s.Bucket
19251 }
19252
19253 // SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
19254 func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
19255 s.BucketLoggingStatus = v
19256 return s
19257 }
19258
19259 type PutBucketLoggingOutput struct {
19260 _ struct{} `type:"structure"`
19261 }
19262
19263 // String returns the string representation
19264 func (s PutBucketLoggingOutput) String() string {
19265 return awsutil.Prettify(s)
19266 }
19267
19268 // GoString returns the string representation
19269 func (s PutBucketLoggingOutput) GoString() string {
19270 return s.String()
19271 }
19272
19273 type PutBucketMetricsConfigurationInput struct {
19274 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
19275
19276 // The name of the bucket for which the metrics configuration is set.
19277 //
19278 // Bucket is a required field
19279 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19280
19281 // The ID used to identify the metrics configuration.
19282 //
19283 // Id is a required field
19284 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19285
19286 // Specifies the metrics configuration.
19287 //
19288 // MetricsConfiguration is a required field
19289 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19290 }
19291
19292 // String returns the string representation
19293 func (s PutBucketMetricsConfigurationInput) String() string {
19294 return awsutil.Prettify(s)
19295 }
19296
19297 // GoString returns the string representation
19298 func (s PutBucketMetricsConfigurationInput) GoString() string {
19299 return s.String()
19300 }
19301
19302 // Validate inspects the fields of the type to determine if they are valid.
19303 func (s *PutBucketMetricsConfigurationInput) Validate() error {
19304 invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"}
19305 if s.Bucket == nil {
19306 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19307 }
19308 if s.Bucket != nil && len(*s.Bucket) < 1 {
19309 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19310 }
19311 if s.Id == nil {
19312 invalidParams.Add(request.NewErrParamRequired("Id"))
19313 }
19314 if s.MetricsConfiguration == nil {
19315 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration"))
19316 }
19317 if s.MetricsConfiguration != nil {
19318 if err := s.MetricsConfiguration.Validate(); err != nil {
19319 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
19320 }
19321 }
19322
19323 if invalidParams.Len() > 0 {
19324 return invalidParams
19325 }
19326 return nil
19327 }
19328
19329 // SetBucket sets the Bucket field's value.
19330 func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput {
19331 s.Bucket = &v
19332 return s
19333 }
19334
19335 func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
19336 if s.Bucket == nil {
19337 return v
19338 }
19339 return *s.Bucket
19340 }
19341
19342 // SetId sets the Id field's value.
19343 func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
19344 s.Id = &v
19345 return s
19346 }
19347
19348 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
19349 func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput {
19350 s.MetricsConfiguration = v
19351 return s
19352 }
19353
19354 type PutBucketMetricsConfigurationOutput struct {
19355 _ struct{} `type:"structure"`
19356 }
19357
19358 // String returns the string representation
19359 func (s PutBucketMetricsConfigurationOutput) String() string {
19360 return awsutil.Prettify(s)
19361 }
19362
19363 // GoString returns the string representation
19364 func (s PutBucketMetricsConfigurationOutput) GoString() string {
19365 return s.String()
19366 }
19367
19368 type PutBucketNotificationConfigurationInput struct {
19369 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19370
19371 // Bucket is a required field
19372 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19373
19374 // A container for specifying the notification configuration of the bucket.
19375 // If this element is empty, notifications are turned off for the bucket.
19376 //
19377 // NotificationConfiguration is a required field
19378 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19379 }
19380
19381 // String returns the string representation
19382 func (s PutBucketNotificationConfigurationInput) String() string {
19383 return awsutil.Prettify(s)
19384 }
19385
19386 // GoString returns the string representation
19387 func (s PutBucketNotificationConfigurationInput) GoString() string {
19388 return s.String()
19389 }
19390
19391 // Validate inspects the fields of the type to determine if they are valid.
19392 func (s *PutBucketNotificationConfigurationInput) Validate() error {
19393 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"}
19394 if s.Bucket == nil {
19395 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19396 }
19397 if s.Bucket != nil && len(*s.Bucket) < 1 {
19398 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19399 }
19400 if s.NotificationConfiguration == nil {
19401 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19402 }
19403 if s.NotificationConfiguration != nil {
19404 if err := s.NotificationConfiguration.Validate(); err != nil {
19405 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams))
19406 }
19407 }
19408
19409 if invalidParams.Len() > 0 {
19410 return invalidParams
19411 }
19412 return nil
19413 }
19414
19415 // SetBucket sets the Bucket field's value.
19416 func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput {
19417 s.Bucket = &v
19418 return s
19419 }
19420
19421 func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
19422 if s.Bucket == nil {
19423 return v
19424 }
19425 return *s.Bucket
19426 }
19427
19428 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
19429 func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
19430 s.NotificationConfiguration = v
19431 return s
19432 }
19433
19434 type PutBucketNotificationConfigurationOutput struct {
19435 _ struct{} `type:"structure"`
19436 }
19437
19438 // String returns the string representation
19439 func (s PutBucketNotificationConfigurationOutput) String() string {
19440 return awsutil.Prettify(s)
19441 }
19442
19443 // GoString returns the string representation
19444 func (s PutBucketNotificationConfigurationOutput) GoString() string {
19445 return s.String()
19446 }
19447
19448 type PutBucketNotificationInput struct {
19449 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19450
19451 // Bucket is a required field
19452 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19453
19454 // NotificationConfiguration is a required field
19455 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19456 }
19457
19458 // String returns the string representation
19459 func (s PutBucketNotificationInput) String() string {
19460 return awsutil.Prettify(s)
19461 }
19462
19463 // GoString returns the string representation
19464 func (s PutBucketNotificationInput) GoString() string {
19465 return s.String()
19466 }
19467
19468 // Validate inspects the fields of the type to determine if they are valid.
19469 func (s *PutBucketNotificationInput) Validate() error {
19470 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"}
19471 if s.Bucket == nil {
19472 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19473 }
19474 if s.Bucket != nil && len(*s.Bucket) < 1 {
19475 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19476 }
19477 if s.NotificationConfiguration == nil {
19478 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19479 }
19480
19481 if invalidParams.Len() > 0 {
19482 return invalidParams
19483 }
19484 return nil
19485 }
19486
19487 // SetBucket sets the Bucket field's value.
19488 func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput {
19489 s.Bucket = &v
19490 return s
19491 }
19492
19493 func (s *PutBucketNotificationInput) getBucket() (v string) {
19494 if s.Bucket == nil {
19495 return v
19496 }
19497 return *s.Bucket
19498 }
19499
19500 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
19501 func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
19502 s.NotificationConfiguration = v
19503 return s
19504 }
19505
19506 type PutBucketNotificationOutput struct {
19507 _ struct{} `type:"structure"`
19508 }
19509
19510 // String returns the string representation
19511 func (s PutBucketNotificationOutput) String() string {
19512 return awsutil.Prettify(s)
19513 }
19514
19515 // GoString returns the string representation
19516 func (s PutBucketNotificationOutput) GoString() string {
19517 return s.String()
19518 }
19519
19520 type PutBucketPolicyInput struct {
19521 _ struct{} `type:"structure" payload:"Policy"`
19522
19523 // Bucket is a required field
19524 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19525
19526 // Set this parameter to true to confirm that you want to remove your permissions
19527 // to change this bucket policy in the future.
19528 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
19529
19530 // The bucket policy as a JSON document.
19531 //
19532 // Policy is a required field
19533 Policy *string `type:"string" required:"true"`
19534 }
19535
19536 // String returns the string representation
19537 func (s PutBucketPolicyInput) String() string {
19538 return awsutil.Prettify(s)
19539 }
19540
19541 // GoString returns the string representation
19542 func (s PutBucketPolicyInput) GoString() string {
19543 return s.String()
19544 }
19545
19546 // Validate inspects the fields of the type to determine if they are valid.
19547 func (s *PutBucketPolicyInput) Validate() error {
19548 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"}
19549 if s.Bucket == nil {
19550 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19551 }
19552 if s.Bucket != nil && len(*s.Bucket) < 1 {
19553 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19554 }
19555 if s.Policy == nil {
19556 invalidParams.Add(request.NewErrParamRequired("Policy"))
19557 }
19558
19559 if invalidParams.Len() > 0 {
19560 return invalidParams
19561 }
19562 return nil
19563 }
19564
19565 // SetBucket sets the Bucket field's value.
19566 func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
19567 s.Bucket = &v
19568 return s
19569 }
19570
19571 func (s *PutBucketPolicyInput) getBucket() (v string) {
19572 if s.Bucket == nil {
19573 return v
19574 }
19575 return *s.Bucket
19576 }
19577
19578 // SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
19579 func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
19580 s.ConfirmRemoveSelfBucketAccess = &v
19581 return s
19582 }
19583
19584 // SetPolicy sets the Policy field's value.
19585 func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
19586 s.Policy = &v
19587 return s
19588 }
19589
19590 type PutBucketPolicyOutput struct {
19591 _ struct{} `type:"structure"`
19592 }
19593
19594 // String returns the string representation
19595 func (s PutBucketPolicyOutput) String() string {
19596 return awsutil.Prettify(s)
19597 }
19598
19599 // GoString returns the string representation
19600 func (s PutBucketPolicyOutput) GoString() string {
19601 return s.String()
19602 }
19603
19604 type PutBucketReplicationInput struct {
19605 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
19606
19607 // Bucket is a required field
19608 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19609
19610 // A container for replication rules. You can add up to 1,000 rules. The maximum
19611 // size of a replication configuration is 2 MB.
19612 //
19613 // ReplicationConfiguration is a required field
19614 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19615 }
19616
19617 // String returns the string representation
19618 func (s PutBucketReplicationInput) String() string {
19619 return awsutil.Prettify(s)
19620 }
19621
19622 // GoString returns the string representation
19623 func (s PutBucketReplicationInput) GoString() string {
19624 return s.String()
19625 }
19626
19627 // Validate inspects the fields of the type to determine if they are valid.
19628 func (s *PutBucketReplicationInput) Validate() error {
19629 invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"}
19630 if s.Bucket == nil {
19631 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19632 }
19633 if s.Bucket != nil && len(*s.Bucket) < 1 {
19634 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19635 }
19636 if s.ReplicationConfiguration == nil {
19637 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
19638 }
19639 if s.ReplicationConfiguration != nil {
19640 if err := s.ReplicationConfiguration.Validate(); err != nil {
19641 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
19642 }
19643 }
19644
19645 if invalidParams.Len() > 0 {
19646 return invalidParams
19647 }
19648 return nil
19649 }
19650
19651 // SetBucket sets the Bucket field's value.
19652 func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput {
19653 s.Bucket = &v
19654 return s
19655 }
19656
19657 func (s *PutBucketReplicationInput) getBucket() (v string) {
19658 if s.Bucket == nil {
19659 return v
19660 }
19661 return *s.Bucket
19662 }
19663
19664 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
19665 func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
19666 s.ReplicationConfiguration = v
19667 return s
19668 }
19669
19670 type PutBucketReplicationOutput struct {
19671 _ struct{} `type:"structure"`
19672 }
19673
19674 // String returns the string representation
19675 func (s PutBucketReplicationOutput) String() string {
19676 return awsutil.Prettify(s)
19677 }
19678
19679 // GoString returns the string representation
19680 func (s PutBucketReplicationOutput) GoString() string {
19681 return s.String()
19682 }
19683
19684 type PutBucketRequestPaymentInput struct {
19685 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
19686
19687 // Bucket is a required field
19688 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19689
19690 // RequestPaymentConfiguration is a required field
19691 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19692 }
19693
19694 // String returns the string representation
19695 func (s PutBucketRequestPaymentInput) String() string {
19696 return awsutil.Prettify(s)
19697 }
19698
19699 // GoString returns the string representation
19700 func (s PutBucketRequestPaymentInput) GoString() string {
19701 return s.String()
19702 }
19703
19704 // Validate inspects the fields of the type to determine if they are valid.
19705 func (s *PutBucketRequestPaymentInput) Validate() error {
19706 invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"}
19707 if s.Bucket == nil {
19708 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19709 }
19710 if s.Bucket != nil && len(*s.Bucket) < 1 {
19711 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19712 }
19713 if s.RequestPaymentConfiguration == nil {
19714 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration"))
19715 }
19716 if s.RequestPaymentConfiguration != nil {
19717 if err := s.RequestPaymentConfiguration.Validate(); err != nil {
19718 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams))
19719 }
19720 }
19721
19722 if invalidParams.Len() > 0 {
19723 return invalidParams
19724 }
19725 return nil
19726 }
19727
19728 // SetBucket sets the Bucket field's value.
19729 func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput {
19730 s.Bucket = &v
19731 return s
19732 }
19733
19734 func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
19735 if s.Bucket == nil {
19736 return v
19737 }
19738 return *s.Bucket
19739 }
19740
19741 // SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
19742 func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
19743 s.RequestPaymentConfiguration = v
19744 return s
19745 }
19746
19747 type PutBucketRequestPaymentOutput struct {
19748 _ struct{} `type:"structure"`
19749 }
19750
19751 // String returns the string representation
19752 func (s PutBucketRequestPaymentOutput) String() string {
19753 return awsutil.Prettify(s)
19754 }
19755
19756 // GoString returns the string representation
19757 func (s PutBucketRequestPaymentOutput) GoString() string {
19758 return s.String()
19759 }
19760
19761 type PutBucketTaggingInput struct {
19762 _ struct{} `type:"structure" payload:"Tagging"`
19763
19764 // Bucket is a required field
19765 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19766
19767 // Tagging is a required field
19768 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19769 }
19770
19771 // String returns the string representation
19772 func (s PutBucketTaggingInput) String() string {
19773 return awsutil.Prettify(s)
19774 }
19775
19776 // GoString returns the string representation
19777 func (s PutBucketTaggingInput) GoString() string {
19778 return s.String()
19779 }
19780
19781 // Validate inspects the fields of the type to determine if they are valid.
19782 func (s *PutBucketTaggingInput) Validate() error {
19783 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"}
19784 if s.Bucket == nil {
19785 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19786 }
19787 if s.Bucket != nil && len(*s.Bucket) < 1 {
19788 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19789 }
19790 if s.Tagging == nil {
19791 invalidParams.Add(request.NewErrParamRequired("Tagging"))
19792 }
19793 if s.Tagging != nil {
19794 if err := s.Tagging.Validate(); err != nil {
19795 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
19796 }
19797 }
19798
19799 if invalidParams.Len() > 0 {
19800 return invalidParams
19801 }
19802 return nil
19803 }
19804
19805 // SetBucket sets the Bucket field's value.
19806 func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
19807 s.Bucket = &v
19808 return s
19809 }
19810
19811 func (s *PutBucketTaggingInput) getBucket() (v string) {
19812 if s.Bucket == nil {
19813 return v
19814 }
19815 return *s.Bucket
19816 }
19817
19818 // SetTagging sets the Tagging field's value.
19819 func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
19820 s.Tagging = v
19821 return s
19822 }
19823
19824 type PutBucketTaggingOutput struct {
19825 _ struct{} `type:"structure"`
19826 }
19827
19828 // String returns the string representation
19829 func (s PutBucketTaggingOutput) String() string {
19830 return awsutil.Prettify(s)
19831 }
19832
19833 // GoString returns the string representation
19834 func (s PutBucketTaggingOutput) GoString() string {
19835 return s.String()
19836 }
19837
19838 type PutBucketVersioningInput struct {
19839 _ struct{} `type:"structure" payload:"VersioningConfiguration"`
19840
19841 // Bucket is a required field
19842 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19843
19844 // The concatenation of the authentication device's serial number, a space,
19845 // and the value that is displayed on your authentication device.
19846 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
19847
19848 // VersioningConfiguration is a required field
19849 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19850 }
19851
19852 // String returns the string representation
19853 func (s PutBucketVersioningInput) String() string {
19854 return awsutil.Prettify(s)
19855 }
19856
19857 // GoString returns the string representation
19858 func (s PutBucketVersioningInput) GoString() string {
19859 return s.String()
19860 }
19861
19862 // Validate inspects the fields of the type to determine if they are valid.
19863 func (s *PutBucketVersioningInput) Validate() error {
19864 invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"}
19865 if s.Bucket == nil {
19866 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19867 }
19868 if s.Bucket != nil && len(*s.Bucket) < 1 {
19869 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19870 }
19871 if s.VersioningConfiguration == nil {
19872 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration"))
19873 }
19874
19875 if invalidParams.Len() > 0 {
19876 return invalidParams
19877 }
19878 return nil
19879 }
19880
19881 // SetBucket sets the Bucket field's value.
19882 func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput {
19883 s.Bucket = &v
19884 return s
19885 }
19886
19887 func (s *PutBucketVersioningInput) getBucket() (v string) {
19888 if s.Bucket == nil {
19889 return v
19890 }
19891 return *s.Bucket
19892 }
19893
19894 // SetMFA sets the MFA field's value.
19895 func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
19896 s.MFA = &v
19897 return s
19898 }
19899
19900 // SetVersioningConfiguration sets the VersioningConfiguration field's value.
19901 func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput {
19902 s.VersioningConfiguration = v
19903 return s
19904 }
19905
19906 type PutBucketVersioningOutput struct {
19907 _ struct{} `type:"structure"`
19908 }
19909
19910 // String returns the string representation
19911 func (s PutBucketVersioningOutput) String() string {
19912 return awsutil.Prettify(s)
19913 }
19914
19915 // GoString returns the string representation
19916 func (s PutBucketVersioningOutput) GoString() string {
19917 return s.String()
19918 }
19919
19920 type PutBucketWebsiteInput struct {
19921 _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
19922
19923 // Bucket is a required field
19924 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19925
19926 // WebsiteConfiguration is a required field
19927 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19928 }
19929
19930 // String returns the string representation
19931 func (s PutBucketWebsiteInput) String() string {
19932 return awsutil.Prettify(s)
19933 }
19934
19935 // GoString returns the string representation
19936 func (s PutBucketWebsiteInput) GoString() string {
19937 return s.String()
19938 }
19939
19940 // Validate inspects the fields of the type to determine if they are valid.
19941 func (s *PutBucketWebsiteInput) Validate() error {
19942 invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"}
19943 if s.Bucket == nil {
19944 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19945 }
19946 if s.Bucket != nil && len(*s.Bucket) < 1 {
19947 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19948 }
19949 if s.WebsiteConfiguration == nil {
19950 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration"))
19951 }
19952 if s.WebsiteConfiguration != nil {
19953 if err := s.WebsiteConfiguration.Validate(); err != nil {
19954 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams))
19955 }
19956 }
19957
19958 if invalidParams.Len() > 0 {
19959 return invalidParams
19960 }
19961 return nil
19962 }
19963
19964 // SetBucket sets the Bucket field's value.
19965 func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
19966 s.Bucket = &v
19967 return s
19968 }
19969
19970 func (s *PutBucketWebsiteInput) getBucket() (v string) {
19971 if s.Bucket == nil {
19972 return v
19973 }
19974 return *s.Bucket
19975 }
19976
19977 // SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
19978 func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
19979 s.WebsiteConfiguration = v
19980 return s
19981 }
19982
19983 type PutBucketWebsiteOutput struct {
19984 _ struct{} `type:"structure"`
19985 }
19986
19987 // String returns the string representation
19988 func (s PutBucketWebsiteOutput) String() string {
19989 return awsutil.Prettify(s)
19990 }
19991
19992 // GoString returns the string representation
19993 func (s PutBucketWebsiteOutput) GoString() string {
19994 return s.String()
19995 }
19996
19997 type PutObjectAclInput struct {
19998 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
19999
20000 // The canned ACL to apply to the object.
20001 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20002
20003 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20004
20005 // Bucket is a required field
20006 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20007
20008 // Allows grantee the read, write, read ACP, and write ACP permissions on the
20009 // bucket.
20010 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20011
20012 // Allows grantee to list the objects in the bucket.
20013 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20014
20015 // Allows grantee to read the bucket ACL.
20016 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20017
20018 // Allows grantee to create, overwrite, and delete any object in the bucket.
20019 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
20020
20021 // Allows grantee to write the ACL for the applicable bucket.
20022 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20023
20024 // Key is a required field
20025 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20026
20027 // Confirms that the requester knows that she or he will be charged for the
20028 // request. Bucket owners need not specify this parameter in their requests.
20029 // Documentation on downloading objects from requester pays buckets can be found
20030 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20031 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20032
20033 // VersionId used to reference a specific version of the object.
20034 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20035 }
20036
20037 // String returns the string representation
20038 func (s PutObjectAclInput) String() string {
20039 return awsutil.Prettify(s)
20040 }
20041
20042 // GoString returns the string representation
20043 func (s PutObjectAclInput) GoString() string {
20044 return s.String()
20045 }
20046
20047 // Validate inspects the fields of the type to determine if they are valid.
20048 func (s *PutObjectAclInput) Validate() error {
20049 invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"}
20050 if s.Bucket == nil {
20051 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20052 }
20053 if s.Bucket != nil && len(*s.Bucket) < 1 {
20054 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20055 }
20056 if s.Key == nil {
20057 invalidParams.Add(request.NewErrParamRequired("Key"))
20058 }
20059 if s.Key != nil && len(*s.Key) < 1 {
20060 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20061 }
20062 if s.AccessControlPolicy != nil {
20063 if err := s.AccessControlPolicy.Validate(); err != nil {
20064 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
20065 }
20066 }
20067
20068 if invalidParams.Len() > 0 {
20069 return invalidParams
20070 }
20071 return nil
20072 }
20073
20074 // SetACL sets the ACL field's value.
20075 func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput {
20076 s.ACL = &v
20077 return s
20078 }
20079
20080 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
20081 func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput {
20082 s.AccessControlPolicy = v
20083 return s
20084 }
20085
20086 // SetBucket sets the Bucket field's value.
20087 func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
20088 s.Bucket = &v
20089 return s
20090 }
20091
20092 func (s *PutObjectAclInput) getBucket() (v string) {
20093 if s.Bucket == nil {
20094 return v
20095 }
20096 return *s.Bucket
20097 }
20098
20099 // SetGrantFullControl sets the GrantFullControl field's value.
20100 func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
20101 s.GrantFullControl = &v
20102 return s
20103 }
20104
20105 // SetGrantRead sets the GrantRead field's value.
20106 func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput {
20107 s.GrantRead = &v
20108 return s
20109 }
20110
20111 // SetGrantReadACP sets the GrantReadACP field's value.
20112 func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput {
20113 s.GrantReadACP = &v
20114 return s
20115 }
20116
20117 // SetGrantWrite sets the GrantWrite field's value.
20118 func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput {
20119 s.GrantWrite = &v
20120 return s
20121 }
20122
20123 // SetGrantWriteACP sets the GrantWriteACP field's value.
20124 func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput {
20125 s.GrantWriteACP = &v
20126 return s
20127 }
20128
20129 // SetKey sets the Key field's value.
20130 func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput {
20131 s.Key = &v
20132 return s
20133 }
20134
20135 // SetRequestPayer sets the RequestPayer field's value.
20136 func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput {
20137 s.RequestPayer = &v
20138 return s
20139 }
20140
20141 // SetVersionId sets the VersionId field's value.
20142 func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
20143 s.VersionId = &v
20144 return s
20145 }
20146
20147 type PutObjectAclOutput struct {
20148 _ struct{} `type:"structure"`
20149
20150 // If present, indicates that the requester was successfully charged for the
20151 // request.
20152 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20153 }
20154
20155 // String returns the string representation
20156 func (s PutObjectAclOutput) String() string {
20157 return awsutil.Prettify(s)
20158 }
20159
20160 // GoString returns the string representation
20161 func (s PutObjectAclOutput) GoString() string {
20162 return s.String()
20163 }
20164
20165 // SetRequestCharged sets the RequestCharged field's value.
20166 func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
20167 s.RequestCharged = &v
20168 return s
20169 }
20170
20171 type PutObjectInput struct {
20172 _ struct{} `type:"structure" payload:"Body"`
20173
20174 // The canned ACL to apply to the object.
20175 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20176
20177 // Object data.
20178 Body io.ReadSeeker `type:"blob"`
20179
20180 // Name of the bucket to which the PUT operation was initiated.
20181 //
20182 // Bucket is a required field
20183 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20184
20185 // Specifies caching behavior along the request/reply chain.
20186 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
20187
20188 // Specifies presentational information for the object.
20189 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
20190
20191 // Specifies what content encodings have been applied to the object and thus
20192 // what decoding mechanisms must be applied to obtain the media-type referenced
20193 // by the Content-Type header field.
20194 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
20195
20196 // The language the content is in.
20197 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
20198
20199 // Size of the body in bytes. This parameter is useful when the size of the
20200 // body cannot be determined automatically.
20201 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
20202
20203 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
20204 // auto-populated when using the command from the CLI
20205 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
20206
20207 // A standard MIME type describing the format of the object data.
20208 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
20209
20210 // The date and time at which the object is no longer cacheable.
20211 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
20212
20213 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
20214 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20215
20216 // Allows grantee to read the object data and its metadata.
20217 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20218
20219 // Allows grantee to read the object ACL.
20220 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20221
20222 // Allows grantee to write the ACL for the applicable object.
20223 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20224
20225 // Object key for which the PUT operation was initiated.
20226 //
20227 // Key is a required field
20228 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20229
20230 // A map of metadata to store with the object in S3.
20231 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
20232
20233 // The Legal Hold status that you want to apply to the specified object.
20234 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
20235
20236 // The Object Lock mode that you want to apply to this object.
20237 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
20238
20239 // The date and time when you want this object's Object Lock to expire.
20240 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
20241
20242 // Confirms that the requester knows that she or he will be charged for the
20243 // request. Bucket owners need not specify this parameter in their requests.
20244 // Documentation on downloading objects from requester pays buckets can be found
20245 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20246 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20247
20248 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
20249 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20250
20251 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
20252 // data. This value is used to store the object and then it is discarded; Amazon
20253 // does not store the encryption key. The key must be appropriate for use with
20254 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
20255 // header.
20256 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
20257
20258 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
20259 // Amazon S3 uses this header for a message integrity check to ensure the encryption
20260 // key was transmitted without error.
20261 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20262
20263 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
20264 // requests for an object protected by AWS KMS will fail if not made via SSL
20265 // or using SigV4. Documentation on configuring any of the officially supported
20266 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
20267 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
20268
20269 // The Server-side encryption algorithm used when storing this object in S3
20270 // (e.g., AES256, aws:kms).
20271 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20272
20273 // The type of storage to use for the object. Defaults to 'STANDARD'.
20274 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
20275
20276 // The tag-set for the object. The tag-set must be encoded as URL Query parameters.
20277 // (For example, "Key1=Value1")
20278 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
20279
20280 // If the bucket is configured as a website, redirects requests for this object
20281 // to another object in the same bucket or to an external URL. Amazon S3 stores
20282 // the value of this header in the object metadata.
20283 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
20284 }
20285
20286 // String returns the string representation
20287 func (s PutObjectInput) String() string {
20288 return awsutil.Prettify(s)
20289 }
20290
20291 // GoString returns the string representation
20292 func (s PutObjectInput) GoString() string {
20293 return s.String()
20294 }
20295
20296 // Validate inspects the fields of the type to determine if they are valid.
20297 func (s *PutObjectInput) Validate() error {
20298 invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"}
20299 if s.Bucket == nil {
20300 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20301 }
20302 if s.Bucket != nil && len(*s.Bucket) < 1 {
20303 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20304 }
20305 if s.Key == nil {
20306 invalidParams.Add(request.NewErrParamRequired("Key"))
20307 }
20308 if s.Key != nil && len(*s.Key) < 1 {
20309 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20310 }
20311
20312 if invalidParams.Len() > 0 {
20313 return invalidParams
20314 }
20315 return nil
20316 }
20317
20318 // SetACL sets the ACL field's value.
20319 func (s *PutObjectInput) SetACL(v string) *PutObjectInput {
20320 s.ACL = &v
20321 return s
20322 }
20323
20324 // SetBody sets the Body field's value.
20325 func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput {
20326 s.Body = v
20327 return s
20328 }
20329
20330 // SetBucket sets the Bucket field's value.
20331 func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
20332 s.Bucket = &v
20333 return s
20334 }
20335
20336 func (s *PutObjectInput) getBucket() (v string) {
20337 if s.Bucket == nil {
20338 return v
20339 }
20340 return *s.Bucket
20341 }
20342
20343 // SetCacheControl sets the CacheControl field's value.
20344 func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
20345 s.CacheControl = &v
20346 return s
20347 }
20348
20349 // SetContentDisposition sets the ContentDisposition field's value.
20350 func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
20351 s.ContentDisposition = &v
20352 return s
20353 }
20354
20355 // SetContentEncoding sets the ContentEncoding field's value.
20356 func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput {
20357 s.ContentEncoding = &v
20358 return s
20359 }
20360
20361 // SetContentLanguage sets the ContentLanguage field's value.
20362 func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput {
20363 s.ContentLanguage = &v
20364 return s
20365 }
20366
20367 // SetContentLength sets the ContentLength field's value.
20368 func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
20369 s.ContentLength = &v
20370 return s
20371 }
20372
20373 // SetContentMD5 sets the ContentMD5 field's value.
20374 func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
20375 s.ContentMD5 = &v
20376 return s
20377 }
20378
20379 // SetContentType sets the ContentType field's value.
20380 func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
20381 s.ContentType = &v
20382 return s
20383 }
20384
20385 // SetExpires sets the Expires field's value.
20386 func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput {
20387 s.Expires = &v
20388 return s
20389 }
20390
20391 // SetGrantFullControl sets the GrantFullControl field's value.
20392 func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput {
20393 s.GrantFullControl = &v
20394 return s
20395 }
20396
20397 // SetGrantRead sets the GrantRead field's value.
20398 func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput {
20399 s.GrantRead = &v
20400 return s
20401 }
20402
20403 // SetGrantReadACP sets the GrantReadACP field's value.
20404 func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput {
20405 s.GrantReadACP = &v
20406 return s
20407 }
20408
20409 // SetGrantWriteACP sets the GrantWriteACP field's value.
20410 func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput {
20411 s.GrantWriteACP = &v
20412 return s
20413 }
20414
20415 // SetKey sets the Key field's value.
20416 func (s *PutObjectInput) SetKey(v string) *PutObjectInput {
20417 s.Key = &v
20418 return s
20419 }
20420
20421 // SetMetadata sets the Metadata field's value.
20422 func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput {
20423 s.Metadata = v
20424 return s
20425 }
20426
20427 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
20428 func (s *PutObjectInput) SetObjectLockLegalHoldStatus(v string) *PutObjectInput {
20429 s.ObjectLockLegalHoldStatus = &v
20430 return s
20431 }
20432
20433 // SetObjectLockMode sets the ObjectLockMode field's value.
20434 func (s *PutObjectInput) SetObjectLockMode(v string) *PutObjectInput {
20435 s.ObjectLockMode = &v
20436 return s
20437 }
20438
20439 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
20440 func (s *PutObjectInput) SetObjectLockRetainUntilDate(v time.Time) *PutObjectInput {
20441 s.ObjectLockRetainUntilDate = &v
20442 return s
20443 }
20444
20445 // SetRequestPayer sets the RequestPayer field's value.
20446 func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput {
20447 s.RequestPayer = &v
20448 return s
20449 }
20450
20451 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20452 func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput {
20453 s.SSECustomerAlgorithm = &v
20454 return s
20455 }
20456
20457 // SetSSECustomerKey sets the SSECustomerKey field's value.
20458 func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
20459 s.SSECustomerKey = &v
20460 return s
20461 }
20462
20463 func (s *PutObjectInput) getSSECustomerKey() (v string) {
20464 if s.SSECustomerKey == nil {
20465 return v
20466 }
20467 return *s.SSECustomerKey
20468 }
20469
20470 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20471 func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
20472 s.SSECustomerKeyMD5 = &v
20473 return s
20474 }
20475
20476 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20477 func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
20478 s.SSEKMSKeyId = &v
20479 return s
20480 }
20481
20482 // SetServerSideEncryption sets the ServerSideEncryption field's value.
20483 func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput {
20484 s.ServerSideEncryption = &v
20485 return s
20486 }
20487
20488 // SetStorageClass sets the StorageClass field's value.
20489 func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput {
20490 s.StorageClass = &v
20491 return s
20492 }
20493
20494 // SetTagging sets the Tagging field's value.
20495 func (s *PutObjectInput) SetTagging(v string) *PutObjectInput {
20496 s.Tagging = &v
20497 return s
20498 }
20499
20500 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
20501 func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
20502 s.WebsiteRedirectLocation = &v
20503 return s
20504 }
20505
20506 type PutObjectLegalHoldInput struct {
20507 _ struct{} `type:"structure" payload:"LegalHold"`
20508
20509 // The bucket containing the object that you want to place a Legal Hold on.
20510 //
20511 // Bucket is a required field
20512 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20513
20514 // The key name for the object that you want to place a Legal Hold on.
20515 //
20516 // Key is a required field
20517 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20518
20519 // Container element for the Legal Hold configuration you want to apply to the
20520 // specified object.
20521 LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20522
20523 // Confirms that the requester knows that she or he will be charged for the
20524 // request. Bucket owners need not specify this parameter in their requests.
20525 // Documentation on downloading objects from requester pays buckets can be found
20526 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20527 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20528
20529 // The version ID of the object that you want to place a Legal Hold on.
20530 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20531 }
20532
20533 // String returns the string representation
20534 func (s PutObjectLegalHoldInput) String() string {
20535 return awsutil.Prettify(s)
20536 }
20537
20538 // GoString returns the string representation
20539 func (s PutObjectLegalHoldInput) GoString() string {
20540 return s.String()
20541 }
20542
20543 // Validate inspects the fields of the type to determine if they are valid.
20544 func (s *PutObjectLegalHoldInput) Validate() error {
20545 invalidParams := request.ErrInvalidParams{Context: "PutObjectLegalHoldInput"}
20546 if s.Bucket == nil {
20547 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20548 }
20549 if s.Bucket != nil && len(*s.Bucket) < 1 {
20550 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20551 }
20552 if s.Key == nil {
20553 invalidParams.Add(request.NewErrParamRequired("Key"))
20554 }
20555 if s.Key != nil && len(*s.Key) < 1 {
20556 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20557 }
20558
20559 if invalidParams.Len() > 0 {
20560 return invalidParams
20561 }
20562 return nil
20563 }
20564
20565 // SetBucket sets the Bucket field's value.
20566 func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput {
20567 s.Bucket = &v
20568 return s
20569 }
20570
20571 func (s *PutObjectLegalHoldInput) getBucket() (v string) {
20572 if s.Bucket == nil {
20573 return v
20574 }
20575 return *s.Bucket
20576 }
20577
20578 // SetKey sets the Key field's value.
20579 func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput {
20580 s.Key = &v
20581 return s
20582 }
20583
20584 // SetLegalHold sets the LegalHold field's value.
20585 func (s *PutObjectLegalHoldInput) SetLegalHold(v *ObjectLockLegalHold) *PutObjectLegalHoldInput {
20586 s.LegalHold = v
20587 return s
20588 }
20589
20590 // SetRequestPayer sets the RequestPayer field's value.
20591 func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput {
20592 s.RequestPayer = &v
20593 return s
20594 }
20595
20596 // SetVersionId sets the VersionId field's value.
20597 func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput {
20598 s.VersionId = &v
20599 return s
20600 }
20601
20602 type PutObjectLegalHoldOutput struct {
20603 _ struct{} `type:"structure"`
20604
20605 // If present, indicates that the requester was successfully charged for the
20606 // request.
20607 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20608 }
20609
20610 // String returns the string representation
20611 func (s PutObjectLegalHoldOutput) String() string {
20612 return awsutil.Prettify(s)
20613 }
20614
20615 // GoString returns the string representation
20616 func (s PutObjectLegalHoldOutput) GoString() string {
20617 return s.String()
20618 }
20619
20620 // SetRequestCharged sets the RequestCharged field's value.
20621 func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHoldOutput {
20622 s.RequestCharged = &v
20623 return s
20624 }
20625
20626 type PutObjectLockConfigurationInput struct {
20627 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
20628
20629 // The bucket whose Object Lock configuration you want to create or replace.
20630 //
20631 // Bucket is a required field
20632 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20633
20634 // The Object Lock configuration that you want to apply to the specified bucket.
20635 ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20636
20637 // Confirms that the requester knows that she or he will be charged for the
20638 // request. Bucket owners need not specify this parameter in their requests.
20639 // Documentation on downloading objects from requester pays buckets can be found
20640 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20641 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20642
20643 // A token to allow Object Lock to be enabled for an existing bucket.
20644 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
20645 }
20646
20647 // String returns the string representation
20648 func (s PutObjectLockConfigurationInput) String() string {
20649 return awsutil.Prettify(s)
20650 }
20651
20652 // GoString returns the string representation
20653 func (s PutObjectLockConfigurationInput) GoString() string {
20654 return s.String()
20655 }
20656
20657 // Validate inspects the fields of the type to determine if they are valid.
20658 func (s *PutObjectLockConfigurationInput) Validate() error {
20659 invalidParams := request.ErrInvalidParams{Context: "PutObjectLockConfigurationInput"}
20660 if s.Bucket == nil {
20661 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20662 }
20663 if s.Bucket != nil && len(*s.Bucket) < 1 {
20664 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20665 }
20666
20667 if invalidParams.Len() > 0 {
20668 return invalidParams
20669 }
20670 return nil
20671 }
20672
20673 // SetBucket sets the Bucket field's value.
20674 func (s *PutObjectLockConfigurationInput) SetBucket(v string) *PutObjectLockConfigurationInput {
20675 s.Bucket = &v
20676 return s
20677 }
20678
20679 func (s *PutObjectLockConfigurationInput) getBucket() (v string) {
20680 if s.Bucket == nil {
20681 return v
20682 }
20683 return *s.Bucket
20684 }
20685
20686 // SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
20687 func (s *PutObjectLockConfigurationInput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *PutObjectLockConfigurationInput {
20688 s.ObjectLockConfiguration = v
20689 return s
20690 }
20691
20692 // SetRequestPayer sets the RequestPayer field's value.
20693 func (s *PutObjectLockConfigurationInput) SetRequestPayer(v string) *PutObjectLockConfigurationInput {
20694 s.RequestPayer = &v
20695 return s
20696 }
20697
20698 // SetToken sets the Token field's value.
20699 func (s *PutObjectLockConfigurationInput) SetToken(v string) *PutObjectLockConfigurationInput {
20700 s.Token = &v
20701 return s
20702 }
20703
20704 type PutObjectLockConfigurationOutput struct {
20705 _ struct{} `type:"structure"`
20706
20707 // If present, indicates that the requester was successfully charged for the
20708 // request.
20709 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20710 }
20711
20712 // String returns the string representation
20713 func (s PutObjectLockConfigurationOutput) String() string {
20714 return awsutil.Prettify(s)
20715 }
20716
20717 // GoString returns the string representation
20718 func (s PutObjectLockConfigurationOutput) GoString() string {
20719 return s.String()
20720 }
20721
20722 // SetRequestCharged sets the RequestCharged field's value.
20723 func (s *PutObjectLockConfigurationOutput) SetRequestCharged(v string) *PutObjectLockConfigurationOutput {
20724 s.RequestCharged = &v
20725 return s
20726 }
20727
20728 type PutObjectOutput struct {
20729 _ struct{} `type:"structure"`
20730
20731 // Entity tag for the uploaded object.
20732 ETag *string `location:"header" locationName:"ETag" type:"string"`
20733
20734 // If the object expiration is configured, this will contain the expiration
20735 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
20736 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
20737
20738 // If present, indicates that the requester was successfully charged for the
20739 // request.
20740 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20741
20742 // If server-side encryption with a customer-provided encryption key was requested,
20743 // the response will include this header confirming the encryption algorithm
20744 // used.
20745 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20746
20747 // If server-side encryption with a customer-provided encryption key was requested,
20748 // the response will include this header to provide round trip message integrity
20749 // verification of the customer-provided encryption key.
20750 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20751
20752 // If present, specifies the ID of the AWS Key Management Service (KMS) master
20753 // encryption key that was used for the object.
20754 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
20755
20756 // The Server-side encryption algorithm used when storing this object in S3
20757 // (e.g., AES256, aws:kms).
20758 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20759
20760 // Version of the object.
20761 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
20762 }
20763
20764 // String returns the string representation
20765 func (s PutObjectOutput) String() string {
20766 return awsutil.Prettify(s)
20767 }
20768
20769 // GoString returns the string representation
20770 func (s PutObjectOutput) GoString() string {
20771 return s.String()
20772 }
20773
20774 // SetETag sets the ETag field's value.
20775 func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
20776 s.ETag = &v
20777 return s
20778 }
20779
20780 // SetExpiration sets the Expiration field's value.
20781 func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput {
20782 s.Expiration = &v
20783 return s
20784 }
20785
20786 // SetRequestCharged sets the RequestCharged field's value.
20787 func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput {
20788 s.RequestCharged = &v
20789 return s
20790 }
20791
20792 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20793 func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput {
20794 s.SSECustomerAlgorithm = &v
20795 return s
20796 }
20797
20798 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20799 func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
20800 s.SSECustomerKeyMD5 = &v
20801 return s
20802 }
20803
20804 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20805 func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
20806 s.SSEKMSKeyId = &v
20807 return s
20808 }
20809
20810 // SetServerSideEncryption sets the ServerSideEncryption field's value.
20811 func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput {
20812 s.ServerSideEncryption = &v
20813 return s
20814 }
20815
20816 // SetVersionId sets the VersionId field's value.
20817 func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
20818 s.VersionId = &v
20819 return s
20820 }
20821
20822 type PutObjectRetentionInput struct {
20823 _ struct{} `type:"structure" payload:"Retention"`
20824
20825 // The bucket that contains the object you want to apply this Object Retention
20826 // configuration to.
20827 //
20828 // Bucket is a required field
20829 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20830
20831 // Indicates whether this operation should bypass Governance-mode restrictions.j
20832 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
20833
20834 // The key name for the object that you want to apply this Object Retention
20835 // configuration to.
20836 //
20837 // Key is a required field
20838 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20839
20840 // Confirms that the requester knows that she or he will be charged for the
20841 // request. Bucket owners need not specify this parameter in their requests.
20842 // Documentation on downloading objects from requester pays buckets can be found
20843 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20844 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20845
20846 // The container element for the Object Retention configuration.
20847 Retention *ObjectLockRetention `locationName:"Retention" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20848
20849 // The version ID for the object that you want to apply this Object Retention
20850 // configuration to.
20851 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20852 }
20853
20854 // String returns the string representation
20855 func (s PutObjectRetentionInput) String() string {
20856 return awsutil.Prettify(s)
20857 }
20858
20859 // GoString returns the string representation
20860 func (s PutObjectRetentionInput) GoString() string {
20861 return s.String()
20862 }
20863
20864 // Validate inspects the fields of the type to determine if they are valid.
20865 func (s *PutObjectRetentionInput) Validate() error {
20866 invalidParams := request.ErrInvalidParams{Context: "PutObjectRetentionInput"}
20867 if s.Bucket == nil {
20868 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20869 }
20870 if s.Bucket != nil && len(*s.Bucket) < 1 {
20871 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20872 }
20873 if s.Key == nil {
20874 invalidParams.Add(request.NewErrParamRequired("Key"))
20875 }
20876 if s.Key != nil && len(*s.Key) < 1 {
20877 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20878 }
20879
20880 if invalidParams.Len() > 0 {
20881 return invalidParams
20882 }
20883 return nil
20884 }
20885
20886 // SetBucket sets the Bucket field's value.
20887 func (s *PutObjectRetentionInput) SetBucket(v string) *PutObjectRetentionInput {
20888 s.Bucket = &v
20889 return s
20890 }
20891
20892 func (s *PutObjectRetentionInput) getBucket() (v string) {
20893 if s.Bucket == nil {
20894 return v
20895 }
20896 return *s.Bucket
20897 }
20898
20899 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
20900 func (s *PutObjectRetentionInput) SetBypassGovernanceRetention(v bool) *PutObjectRetentionInput {
20901 s.BypassGovernanceRetention = &v
20902 return s
20903 }
20904
20905 // SetKey sets the Key field's value.
20906 func (s *PutObjectRetentionInput) SetKey(v string) *PutObjectRetentionInput {
20907 s.Key = &v
20908 return s
20909 }
20910
20911 // SetRequestPayer sets the RequestPayer field's value.
20912 func (s *PutObjectRetentionInput) SetRequestPayer(v string) *PutObjectRetentionInput {
20913 s.RequestPayer = &v
20914 return s
20915 }
20916
20917 // SetRetention sets the Retention field's value.
20918 func (s *PutObjectRetentionInput) SetRetention(v *ObjectLockRetention) *PutObjectRetentionInput {
20919 s.Retention = v
20920 return s
20921 }
20922
20923 // SetVersionId sets the VersionId field's value.
20924 func (s *PutObjectRetentionInput) SetVersionId(v string) *PutObjectRetentionInput {
20925 s.VersionId = &v
20926 return s
20927 }
20928
20929 type PutObjectRetentionOutput struct {
20930 _ struct{} `type:"structure"`
20931
20932 // If present, indicates that the requester was successfully charged for the
20933 // request.
20934 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20935 }
20936
20937 // String returns the string representation
20938 func (s PutObjectRetentionOutput) String() string {
20939 return awsutil.Prettify(s)
20940 }
20941
20942 // GoString returns the string representation
20943 func (s PutObjectRetentionOutput) GoString() string {
20944 return s.String()
20945 }
20946
20947 // SetRequestCharged sets the RequestCharged field's value.
20948 func (s *PutObjectRetentionOutput) SetRequestCharged(v string) *PutObjectRetentionOutput {
20949 s.RequestCharged = &v
20950 return s
20951 }
20952
20953 type PutObjectTaggingInput struct {
20954 _ struct{} `type:"structure" payload:"Tagging"`
20955
20956 // Bucket is a required field
20957 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20958
20959 // Key is a required field
20960 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20961
20962 // Tagging is a required field
20963 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20964
20965 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20966 }
20967
20968 // String returns the string representation
20969 func (s PutObjectTaggingInput) String() string {
20970 return awsutil.Prettify(s)
20971 }
20972
20973 // GoString returns the string representation
20974 func (s PutObjectTaggingInput) GoString() string {
20975 return s.String()
20976 }
20977
20978 // Validate inspects the fields of the type to determine if they are valid.
20979 func (s *PutObjectTaggingInput) Validate() error {
20980 invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"}
20981 if s.Bucket == nil {
20982 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20983 }
20984 if s.Bucket != nil && len(*s.Bucket) < 1 {
20985 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20986 }
20987 if s.Key == nil {
20988 invalidParams.Add(request.NewErrParamRequired("Key"))
20989 }
20990 if s.Key != nil && len(*s.Key) < 1 {
20991 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20992 }
20993 if s.Tagging == nil {
20994 invalidParams.Add(request.NewErrParamRequired("Tagging"))
20995 }
20996 if s.Tagging != nil {
20997 if err := s.Tagging.Validate(); err != nil {
20998 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
20999 }
21000 }
21001
21002 if invalidParams.Len() > 0 {
21003 return invalidParams
21004 }
21005 return nil
21006 }
21007
21008 // SetBucket sets the Bucket field's value.
21009 func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
21010 s.Bucket = &v
21011 return s
21012 }
21013
21014 func (s *PutObjectTaggingInput) getBucket() (v string) {
21015 if s.Bucket == nil {
21016 return v
21017 }
21018 return *s.Bucket
21019 }
21020
21021 // SetKey sets the Key field's value.
21022 func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
21023 s.Key = &v
21024 return s
21025 }
21026
21027 // SetTagging sets the Tagging field's value.
21028 func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput {
21029 s.Tagging = v
21030 return s
21031 }
21032
21033 // SetVersionId sets the VersionId field's value.
21034 func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
21035 s.VersionId = &v
21036 return s
21037 }
21038
21039 type PutObjectTaggingOutput struct {
21040 _ struct{} `type:"structure"`
21041
21042 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
21043 }
21044
21045 // String returns the string representation
21046 func (s PutObjectTaggingOutput) String() string {
21047 return awsutil.Prettify(s)
21048 }
21049
21050 // GoString returns the string representation
21051 func (s PutObjectTaggingOutput) GoString() string {
21052 return s.String()
21053 }
21054
21055 // SetVersionId sets the VersionId field's value.
21056 func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput {
21057 s.VersionId = &v
21058 return s
21059 }
21060
21061 type PutPublicAccessBlockInput struct {
21062 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
21063
21064 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
21065 // want to set.
21066 //
21067 // Bucket is a required field
21068 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21069
21070 // The PublicAccessBlock configuration that you want to apply to this Amazon
21071 // S3 bucket. You can enable the configuration options in any combination. For
21072 // more information about when Amazon S3 considers a bucket or object public,
21073 // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
21074 // in the Amazon Simple Storage Service Developer Guide.
21075 //
21076 // PublicAccessBlockConfiguration is a required field
21077 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21078 }
21079
21080 // String returns the string representation
21081 func (s PutPublicAccessBlockInput) String() string {
21082 return awsutil.Prettify(s)
21083 }
21084
21085 // GoString returns the string representation
21086 func (s PutPublicAccessBlockInput) GoString() string {
21087 return s.String()
21088 }
21089
21090 // Validate inspects the fields of the type to determine if they are valid.
21091 func (s *PutPublicAccessBlockInput) Validate() error {
21092 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"}
21093 if s.Bucket == nil {
21094 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21095 }
21096 if s.Bucket != nil && len(*s.Bucket) < 1 {
21097 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21098 }
21099 if s.PublicAccessBlockConfiguration == nil {
21100 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration"))
21101 }
21102
21103 if invalidParams.Len() > 0 {
21104 return invalidParams
21105 }
21106 return nil
21107 }
21108
21109 // SetBucket sets the Bucket field's value.
21110 func (s *PutPublicAccessBlockInput) SetBucket(v string) *PutPublicAccessBlockInput {
21111 s.Bucket = &v
21112 return s
21113 }
21114
21115 func (s *PutPublicAccessBlockInput) getBucket() (v string) {
21116 if s.Bucket == nil {
21117 return v
21118 }
21119 return *s.Bucket
21120 }
21121
21122 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
21123 func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput {
21124 s.PublicAccessBlockConfiguration = v
21125 return s
21126 }
21127
21128 type PutPublicAccessBlockOutput struct {
21129 _ struct{} `type:"structure"`
21130 }
21131
21132 // String returns the string representation
21133 func (s PutPublicAccessBlockOutput) String() string {
21134 return awsutil.Prettify(s)
21135 }
21136
21137 // GoString returns the string representation
21138 func (s PutPublicAccessBlockOutput) GoString() string {
21139 return s.String()
21140 }
21141
21142 // A container for specifying the configuration for publication of messages
21143 // to an Amazon Simple Queue Service (Amazon SQS) queue.when Amazon S3 detects
21144 // specified events.
21145 type QueueConfiguration struct {
21146 _ struct{} `type:"structure"`
21147
21148 // Events is a required field
21149 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
21150
21151 // A container for object key name filtering rules. For information about key
21152 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
21153 // in the Amazon Simple Storage Service Developer Guide.
21154 Filter *NotificationConfigurationFilter `type:"structure"`
21155
21156 // An optional unique identifier for configurations in a notification configuration.
21157 // If you don't provide one, Amazon S3 will assign an ID.
21158 Id *string `type:"string"`
21159
21160 // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
21161 // will publish a message when it detects events of the specified type.
21162 //
21163 // QueueArn is a required field
21164 QueueArn *string `locationName:"Queue" type:"string" required:"true"`
21165 }
21166
21167 // String returns the string representation
21168 func (s QueueConfiguration) String() string {
21169 return awsutil.Prettify(s)
21170 }
21171
21172 // GoString returns the string representation
21173 func (s QueueConfiguration) GoString() string {
21174 return s.String()
21175 }
21176
21177 // Validate inspects the fields of the type to determine if they are valid.
21178 func (s *QueueConfiguration) Validate() error {
21179 invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"}
21180 if s.Events == nil {
21181 invalidParams.Add(request.NewErrParamRequired("Events"))
21182 }
21183 if s.QueueArn == nil {
21184 invalidParams.Add(request.NewErrParamRequired("QueueArn"))
21185 }
21186
21187 if invalidParams.Len() > 0 {
21188 return invalidParams
21189 }
21190 return nil
21191 }
21192
21193 // SetEvents sets the Events field's value.
21194 func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration {
21195 s.Events = v
21196 return s
21197 }
21198
21199 // SetFilter sets the Filter field's value.
21200 func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration {
21201 s.Filter = v
21202 return s
21203 }
21204
21205 // SetId sets the Id field's value.
21206 func (s *QueueConfiguration) SetId(v string) *QueueConfiguration {
21207 s.Id = &v
21208 return s
21209 }
21210
21211 // SetQueueArn sets the QueueArn field's value.
21212 func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
21213 s.QueueArn = &v
21214 return s
21215 }
21216
21217 type QueueConfigurationDeprecated struct {
21218 _ struct{} `type:"structure"`
21219
21220 // The bucket event for which to send notifications.
21221 //
21222 // Deprecated: Event has been deprecated
21223 Event *string `deprecated:"true" type:"string" enum:"Event"`
21224
21225 Events []*string `locationName:"Event" type:"list" flattened:"true"`
21226
21227 // An optional unique identifier for configurations in a notification configuration.
21228 // If you don't provide one, Amazon S3 will assign an ID.
21229 Id *string `type:"string"`
21230
21231 Queue *string `type:"string"`
21232 }
21233
21234 // String returns the string representation
21235 func (s QueueConfigurationDeprecated) String() string {
21236 return awsutil.Prettify(s)
21237 }
21238
21239 // GoString returns the string representation
21240 func (s QueueConfigurationDeprecated) GoString() string {
21241 return s.String()
21242 }
21243
21244 // SetEvent sets the Event field's value.
21245 func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated {
21246 s.Event = &v
21247 return s
21248 }
21249
21250 // SetEvents sets the Events field's value.
21251 func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated {
21252 s.Events = v
21253 return s
21254 }
21255
21256 // SetId sets the Id field's value.
21257 func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated {
21258 s.Id = &v
21259 return s
21260 }
21261
21262 // SetQueue sets the Queue field's value.
21263 func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated {
21264 s.Queue = &v
21265 return s
21266 }
21267
21268 type RecordsEvent struct {
21269 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
21270
21271 // The byte array of partial, one or more result records.
21272 //
21273 // Payload is automatically base64 encoded/decoded by the SDK.
21274 Payload []byte `type:"blob"`
21275 }
21276
21277 // String returns the string representation
21278 func (s RecordsEvent) String() string {
21279 return awsutil.Prettify(s)
21280 }
21281
21282 // GoString returns the string representation
21283 func (s RecordsEvent) GoString() string {
21284 return s.String()
21285 }
21286
21287 // SetPayload sets the Payload field's value.
21288 func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
21289 s.Payload = v
21290 return s
21291 }
21292
21293 // The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
21294 func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
21295
21296 // UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value.
21297 // This method is only used internally within the SDK's EventStream handling.
21298 func (s *RecordsEvent) UnmarshalEvent(
21299 payloadUnmarshaler protocol.PayloadUnmarshaler,
21300 msg eventstream.Message,
21301 ) error {
21302 s.Payload = make([]byte, len(msg.Payload))
21303 copy(s.Payload, msg.Payload)
21304 return nil
21305 }
21306
21307 type Redirect struct {
21308 _ struct{} `type:"structure"`
21309
21310 // The host name to use in the redirect request.
21311 HostName *string `type:"string"`
21312
21313 // The HTTP redirect code to use on the response. Not required if one of the
21314 // siblings is present.
21315 HttpRedirectCode *string `type:"string"`
21316
21317 // Protocol to use (http, https) when redirecting requests. The default is the
21318 // protocol that is used in the original request.
21319 Protocol *string `type:"string" enum:"Protocol"`
21320
21321 // The object key prefix to use in the redirect request. For example, to redirect
21322 // requests for all pages with prefix docs/ (objects in the docs/ folder) to
21323 // documents/, you can set a condition block with KeyPrefixEquals set to docs/
21324 // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required
21325 // if one of the siblings is present. Can be present only if ReplaceKeyWith
21326 // is not provided.
21327 ReplaceKeyPrefixWith *string `type:"string"`
21328
21329 // The specific object key to use in the redirect request. For example, redirect
21330 // request to error.html. Not required if one of the sibling is present. Can
21331 // be present only if ReplaceKeyPrefixWith is not provided.
21332 ReplaceKeyWith *string `type:"string"`
21333 }
21334
21335 // String returns the string representation
21336 func (s Redirect) String() string {
21337 return awsutil.Prettify(s)
21338 }
21339
21340 // GoString returns the string representation
21341 func (s Redirect) GoString() string {
21342 return s.String()
21343 }
21344
21345 // SetHostName sets the HostName field's value.
21346 func (s *Redirect) SetHostName(v string) *Redirect {
21347 s.HostName = &v
21348 return s
21349 }
21350
21351 // SetHttpRedirectCode sets the HttpRedirectCode field's value.
21352 func (s *Redirect) SetHttpRedirectCode(v string) *Redirect {
21353 s.HttpRedirectCode = &v
21354 return s
21355 }
21356
21357 // SetProtocol sets the Protocol field's value.
21358 func (s *Redirect) SetProtocol(v string) *Redirect {
21359 s.Protocol = &v
21360 return s
21361 }
21362
21363 // SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
21364 func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect {
21365 s.ReplaceKeyPrefixWith = &v
21366 return s
21367 }
21368
21369 // SetReplaceKeyWith sets the ReplaceKeyWith field's value.
21370 func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
21371 s.ReplaceKeyWith = &v
21372 return s
21373 }
21374
21375 type RedirectAllRequestsTo struct {
21376 _ struct{} `type:"structure"`
21377
21378 // Name of the host where requests will be redirected.
21379 //
21380 // HostName is a required field
21381 HostName *string `type:"string" required:"true"`
21382
21383 // Protocol to use (http, https) when redirecting requests. The default is the
21384 // protocol that is used in the original request.
21385 Protocol *string `type:"string" enum:"Protocol"`
21386 }
21387
21388 // String returns the string representation
21389 func (s RedirectAllRequestsTo) String() string {
21390 return awsutil.Prettify(s)
21391 }
21392
21393 // GoString returns the string representation
21394 func (s RedirectAllRequestsTo) GoString() string {
21395 return s.String()
21396 }
21397
21398 // Validate inspects the fields of the type to determine if they are valid.
21399 func (s *RedirectAllRequestsTo) Validate() error {
21400 invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"}
21401 if s.HostName == nil {
21402 invalidParams.Add(request.NewErrParamRequired("HostName"))
21403 }
21404
21405 if invalidParams.Len() > 0 {
21406 return invalidParams
21407 }
21408 return nil
21409 }
21410
21411 // SetHostName sets the HostName field's value.
21412 func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo {
21413 s.HostName = &v
21414 return s
21415 }
21416
21417 // SetProtocol sets the Protocol field's value.
21418 func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
21419 s.Protocol = &v
21420 return s
21421 }
21422
21423 // A container for replication rules. You can add up to 1,000 rules. The maximum
21424 // size of a replication configuration is 2 MB.
21425 type ReplicationConfiguration struct {
21426 _ struct{} `type:"structure"`
21427
21428 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management
21429 // (IAM) role that Amazon S3 can assume when replicating the objects.
21430 //
21431 // Role is a required field
21432 Role *string `type:"string" required:"true"`
21433
21434 // A container for one or more replication rules. A replication configuration
21435 // must have at least one rule and can contain a maximum of 1,000 rules.
21436 //
21437 // Rules is a required field
21438 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
21439 }
21440
21441 // String returns the string representation
21442 func (s ReplicationConfiguration) String() string {
21443 return awsutil.Prettify(s)
21444 }
21445
21446 // GoString returns the string representation
21447 func (s ReplicationConfiguration) GoString() string {
21448 return s.String()
21449 }
21450
21451 // Validate inspects the fields of the type to determine if they are valid.
21452 func (s *ReplicationConfiguration) Validate() error {
21453 invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"}
21454 if s.Role == nil {
21455 invalidParams.Add(request.NewErrParamRequired("Role"))
21456 }
21457 if s.Rules == nil {
21458 invalidParams.Add(request.NewErrParamRequired("Rules"))
21459 }
21460 if s.Rules != nil {
21461 for i, v := range s.Rules {
21462 if v == nil {
21463 continue
21464 }
21465 if err := v.Validate(); err != nil {
21466 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
21467 }
21468 }
21469 }
21470
21471 if invalidParams.Len() > 0 {
21472 return invalidParams
21473 }
21474 return nil
21475 }
21476
21477 // SetRole sets the Role field's value.
21478 func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration {
21479 s.Role = &v
21480 return s
21481 }
21482
21483 // SetRules sets the Rules field's value.
21484 func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
21485 s.Rules = v
21486 return s
21487 }
21488
21489 // A container for information about a specific replication rule.
21490 type ReplicationRule struct {
21491 _ struct{} `type:"structure"`
21492
21493 // Specifies whether Amazon S3 should replicate delete makers.
21494 DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"`
21495
21496 // A container for information about the replication destination.
21497 //
21498 // Destination is a required field
21499 Destination *Destination `type:"structure" required:"true"`
21500
21501 // A filter that identifies the subset of objects to which the replication rule
21502 // applies. A Filter must specify exactly one Prefix, Tag, or an And child element.
21503 Filter *ReplicationRuleFilter `type:"structure"`
21504
21505 // A unique identifier for the rule. The maximum value is 255 characters.
21506 ID *string `type:"string"`
21507
21508 // An object keyname prefix that identifies the object or objects to which the
21509 // rule applies. The maximum prefix length is 1,024 characters.
21510 //
21511 // Deprecated: Prefix has been deprecated
21512 Prefix *string `deprecated:"true" type:"string"`
21513
21514 // The priority associated with the rule. If you specify multiple rules in a
21515 // replication configuration, Amazon S3 prioritizes the rules to prevent conflicts
21516 // when filtering. If two or more rules identify the same object based on a
21517 // specified filter, the rule with higher priority takes precedence. For example:
21518 //
21519 // * Same object quality prefix based filter criteria If prefixes you specified
21520 // in multiple rules overlap
21521 //
21522 // * Same object qualify tag based filter criteria specified in multiple
21523 // rules
21524 //
21525 // For more information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
21526 // in the Amazon S3 Developer Guide.
21527 Priority *int64 `type:"integer"`
21528
21529 // A container that describes additional filters for identifying the source
21530 // objects that you want to replicate. You can choose to enable or disable the
21531 // replication of these objects. Currently, Amazon S3 supports only the filter
21532 // that you can specify for objects created with server-side encryption using
21533 // an AWS KMS-Managed Key (SSE-KMS).
21534 //
21535 // If you want Amazon S3 to replicate objects created with server-side encryption
21536 // using AWS KMS-Managed Keys.
21537 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
21538
21539 // If status isn't enabled, the rule is ignored.
21540 //
21541 // Status is a required field
21542 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
21543 }
21544
21545 // String returns the string representation
21546 func (s ReplicationRule) String() string {
21547 return awsutil.Prettify(s)
21548 }
21549
21550 // GoString returns the string representation
21551 func (s ReplicationRule) GoString() string {
21552 return s.String()
21553 }
21554
21555 // Validate inspects the fields of the type to determine if they are valid.
21556 func (s *ReplicationRule) Validate() error {
21557 invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"}
21558 if s.Destination == nil {
21559 invalidParams.Add(request.NewErrParamRequired("Destination"))
21560 }
21561 if s.Status == nil {
21562 invalidParams.Add(request.NewErrParamRequired("Status"))
21563 }
21564 if s.Destination != nil {
21565 if err := s.Destination.Validate(); err != nil {
21566 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
21567 }
21568 }
21569 if s.Filter != nil {
21570 if err := s.Filter.Validate(); err != nil {
21571 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
21572 }
21573 }
21574 if s.SourceSelectionCriteria != nil {
21575 if err := s.SourceSelectionCriteria.Validate(); err != nil {
21576 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
21577 }
21578 }
21579
21580 if invalidParams.Len() > 0 {
21581 return invalidParams
21582 }
21583 return nil
21584 }
21585
21586 // SetDeleteMarkerReplication sets the DeleteMarkerReplication field's value.
21587 func (s *ReplicationRule) SetDeleteMarkerReplication(v *DeleteMarkerReplication) *ReplicationRule {
21588 s.DeleteMarkerReplication = v
21589 return s
21590 }
21591
21592 // SetDestination sets the Destination field's value.
21593 func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule {
21594 s.Destination = v
21595 return s
21596 }
21597
21598 // SetFilter sets the Filter field's value.
21599 func (s *ReplicationRule) SetFilter(v *ReplicationRuleFilter) *ReplicationRule {
21600 s.Filter = v
21601 return s
21602 }
21603
21604 // SetID sets the ID field's value.
21605 func (s *ReplicationRule) SetID(v string) *ReplicationRule {
21606 s.ID = &v
21607 return s
21608 }
21609
21610 // SetPrefix sets the Prefix field's value.
21611 func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
21612 s.Prefix = &v
21613 return s
21614 }
21615
21616 // SetPriority sets the Priority field's value.
21617 func (s *ReplicationRule) SetPriority(v int64) *ReplicationRule {
21618 s.Priority = &v
21619 return s
21620 }
21621
21622 // SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
21623 func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
21624 s.SourceSelectionCriteria = v
21625 return s
21626 }
21627
21628 // SetStatus sets the Status field's value.
21629 func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
21630 s.Status = &v
21631 return s
21632 }
21633
21634 type ReplicationRuleAndOperator struct {
21635 _ struct{} `type:"structure"`
21636
21637 Prefix *string `type:"string"`
21638
21639 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
21640 }
21641
21642 // String returns the string representation
21643 func (s ReplicationRuleAndOperator) String() string {
21644 return awsutil.Prettify(s)
21645 }
21646
21647 // GoString returns the string representation
21648 func (s ReplicationRuleAndOperator) GoString() string {
21649 return s.String()
21650 }
21651
21652 // Validate inspects the fields of the type to determine if they are valid.
21653 func (s *ReplicationRuleAndOperator) Validate() error {
21654 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleAndOperator"}
21655 if s.Tags != nil {
21656 for i, v := range s.Tags {
21657 if v == nil {
21658 continue
21659 }
21660 if err := v.Validate(); err != nil {
21661 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21662 }
21663 }
21664 }
21665
21666 if invalidParams.Len() > 0 {
21667 return invalidParams
21668 }
21669 return nil
21670 }
21671
21672 // SetPrefix sets the Prefix field's value.
21673 func (s *ReplicationRuleAndOperator) SetPrefix(v string) *ReplicationRuleAndOperator {
21674 s.Prefix = &v
21675 return s
21676 }
21677
21678 // SetTags sets the Tags field's value.
21679 func (s *ReplicationRuleAndOperator) SetTags(v []*Tag) *ReplicationRuleAndOperator {
21680 s.Tags = v
21681 return s
21682 }
21683
21684 // A filter that identifies the subset of objects to which the replication rule
21685 // applies. A Filter must specify exactly one Prefix, Tag, or an And child element.
21686 type ReplicationRuleFilter struct {
21687 _ struct{} `type:"structure"`
21688
21689 // A container for specifying rule filters. The filters determine the subset
21690 // of objects to which the rule applies. This element is required only if you
21691 // specify more than one filter. For example:
21692 //
21693 // * If you specify both a Prefix and a Tag filter, wrap these filters in
21694 // an And tag.
21695 //
21696 // * If you specify a filter based on multiple tags, wrap the Tag elements
21697 // in an And tag.
21698 And *ReplicationRuleAndOperator `type:"structure"`
21699
21700 // An object keyname prefix that identifies the subset of objects to which the
21701 // rule applies.
21702 Prefix *string `type:"string"`
21703
21704 // A container for specifying a tag key and value.
21705 //
21706 // The rule applies only to objects that have the tag in their tag set.
21707 Tag *Tag `type:"structure"`
21708 }
21709
21710 // String returns the string representation
21711 func (s ReplicationRuleFilter) String() string {
21712 return awsutil.Prettify(s)
21713 }
21714
21715 // GoString returns the string representation
21716 func (s ReplicationRuleFilter) GoString() string {
21717 return s.String()
21718 }
21719
21720 // Validate inspects the fields of the type to determine if they are valid.
21721 func (s *ReplicationRuleFilter) Validate() error {
21722 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleFilter"}
21723 if s.And != nil {
21724 if err := s.And.Validate(); err != nil {
21725 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
21726 }
21727 }
21728 if s.Tag != nil {
21729 if err := s.Tag.Validate(); err != nil {
21730 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
21731 }
21732 }
21733
21734 if invalidParams.Len() > 0 {
21735 return invalidParams
21736 }
21737 return nil
21738 }
21739
21740 // SetAnd sets the And field's value.
21741 func (s *ReplicationRuleFilter) SetAnd(v *ReplicationRuleAndOperator) *ReplicationRuleFilter {
21742 s.And = v
21743 return s
21744 }
21745
21746 // SetPrefix sets the Prefix field's value.
21747 func (s *ReplicationRuleFilter) SetPrefix(v string) *ReplicationRuleFilter {
21748 s.Prefix = &v
21749 return s
21750 }
21751
21752 // SetTag sets the Tag field's value.
21753 func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter {
21754 s.Tag = v
21755 return s
21756 }
21757
21758 type RequestPaymentConfiguration struct {
21759 _ struct{} `type:"structure"`
21760
21761 // Specifies who pays for the download and request fees.
21762 //
21763 // Payer is a required field
21764 Payer *string `type:"string" required:"true" enum:"Payer"`
21765 }
21766
21767 // String returns the string representation
21768 func (s RequestPaymentConfiguration) String() string {
21769 return awsutil.Prettify(s)
21770 }
21771
21772 // GoString returns the string representation
21773 func (s RequestPaymentConfiguration) GoString() string {
21774 return s.String()
21775 }
21776
21777 // Validate inspects the fields of the type to determine if they are valid.
21778 func (s *RequestPaymentConfiguration) Validate() error {
21779 invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"}
21780 if s.Payer == nil {
21781 invalidParams.Add(request.NewErrParamRequired("Payer"))
21782 }
21783
21784 if invalidParams.Len() > 0 {
21785 return invalidParams
21786 }
21787 return nil
21788 }
21789
21790 // SetPayer sets the Payer field's value.
21791 func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration {
21792 s.Payer = &v
21793 return s
21794 }
21795
21796 type RequestProgress struct {
21797 _ struct{} `type:"structure"`
21798
21799 // Specifies whether periodic QueryProgress frames should be sent. Valid values:
21800 // TRUE, FALSE. Default value: FALSE.
21801 Enabled *bool `type:"boolean"`
21802 }
21803
21804 // String returns the string representation
21805 func (s RequestProgress) String() string {
21806 return awsutil.Prettify(s)
21807 }
21808
21809 // GoString returns the string representation
21810 func (s RequestProgress) GoString() string {
21811 return s.String()
21812 }
21813
21814 // SetEnabled sets the Enabled field's value.
21815 func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
21816 s.Enabled = &v
21817 return s
21818 }
21819
21820 type RestoreObjectInput struct {
21821 _ struct{} `type:"structure" payload:"RestoreRequest"`
21822
21823 // Bucket is a required field
21824 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21825
21826 // Key is a required field
21827 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21828
21829 // Confirms that the requester knows that she or he will be charged for the
21830 // request. Bucket owners need not specify this parameter in their requests.
21831 // Documentation on downloading objects from requester pays buckets can be found
21832 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
21833 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
21834
21835 // Container for restore job parameters.
21836 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21837
21838 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
21839 }
21840
21841 // String returns the string representation
21842 func (s RestoreObjectInput) String() string {
21843 return awsutil.Prettify(s)
21844 }
21845
21846 // GoString returns the string representation
21847 func (s RestoreObjectInput) GoString() string {
21848 return s.String()
21849 }
21850
21851 // Validate inspects the fields of the type to determine if they are valid.
21852 func (s *RestoreObjectInput) Validate() error {
21853 invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"}
21854 if s.Bucket == nil {
21855 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21856 }
21857 if s.Bucket != nil && len(*s.Bucket) < 1 {
21858 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21859 }
21860 if s.Key == nil {
21861 invalidParams.Add(request.NewErrParamRequired("Key"))
21862 }
21863 if s.Key != nil && len(*s.Key) < 1 {
21864 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21865 }
21866 if s.RestoreRequest != nil {
21867 if err := s.RestoreRequest.Validate(); err != nil {
21868 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams))
21869 }
21870 }
21871
21872 if invalidParams.Len() > 0 {
21873 return invalidParams
21874 }
21875 return nil
21876 }
21877
21878 // SetBucket sets the Bucket field's value.
21879 func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
21880 s.Bucket = &v
21881 return s
21882 }
21883
21884 func (s *RestoreObjectInput) getBucket() (v string) {
21885 if s.Bucket == nil {
21886 return v
21887 }
21888 return *s.Bucket
21889 }
21890
21891 // SetKey sets the Key field's value.
21892 func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
21893 s.Key = &v
21894 return s
21895 }
21896
21897 // SetRequestPayer sets the RequestPayer field's value.
21898 func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput {
21899 s.RequestPayer = &v
21900 return s
21901 }
21902
21903 // SetRestoreRequest sets the RestoreRequest field's value.
21904 func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput {
21905 s.RestoreRequest = v
21906 return s
21907 }
21908
21909 // SetVersionId sets the VersionId field's value.
21910 func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
21911 s.VersionId = &v
21912 return s
21913 }
21914
21915 type RestoreObjectOutput struct {
21916 _ struct{} `type:"structure"`
21917
21918 // If present, indicates that the requester was successfully charged for the
21919 // request.
21920 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
21921
21922 // Indicates the path in the provided S3 output location where Select results
21923 // will be restored to.
21924 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"`
21925 }
21926
21927 // String returns the string representation
21928 func (s RestoreObjectOutput) String() string {
21929 return awsutil.Prettify(s)
21930 }
21931
21932 // GoString returns the string representation
21933 func (s RestoreObjectOutput) GoString() string {
21934 return s.String()
21935 }
21936
21937 // SetRequestCharged sets the RequestCharged field's value.
21938 func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
21939 s.RequestCharged = &v
21940 return s
21941 }
21942
21943 // SetRestoreOutputPath sets the RestoreOutputPath field's value.
21944 func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
21945 s.RestoreOutputPath = &v
21946 return s
21947 }
21948
21949 // Container for restore job parameters.
21950 type RestoreRequest struct {
21951 _ struct{} `type:"structure"`
21952
21953 // Lifetime of the active copy in days. Do not use with restores that specify
21954 // OutputLocation.
21955 Days *int64 `type:"integer"`
21956
21957 // The optional description for the job.
21958 Description *string `type:"string"`
21959
21960 // Glacier related parameters pertaining to this job. Do not use with restores
21961 // that specify OutputLocation.
21962 GlacierJobParameters *GlacierJobParameters `type:"structure"`
21963
21964 // Describes the location where the restore job's output is stored.
21965 OutputLocation *OutputLocation `type:"structure"`
21966
21967 // Describes the parameters for Select job types.
21968 SelectParameters *SelectParameters `type:"structure"`
21969
21970 // Glacier retrieval tier at which the restore will be processed.
21971 Tier *string `type:"string" enum:"Tier"`
21972
21973 // Type of restore request.
21974 Type *string `type:"string" enum:"RestoreRequestType"`
21975 }
21976
21977 // String returns the string representation
21978 func (s RestoreRequest) String() string {
21979 return awsutil.Prettify(s)
21980 }
21981
21982 // GoString returns the string representation
21983 func (s RestoreRequest) GoString() string {
21984 return s.String()
21985 }
21986
21987 // Validate inspects the fields of the type to determine if they are valid.
21988 func (s *RestoreRequest) Validate() error {
21989 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"}
21990 if s.GlacierJobParameters != nil {
21991 if err := s.GlacierJobParameters.Validate(); err != nil {
21992 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams))
21993 }
21994 }
21995 if s.OutputLocation != nil {
21996 if err := s.OutputLocation.Validate(); err != nil {
21997 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
21998 }
21999 }
22000 if s.SelectParameters != nil {
22001 if err := s.SelectParameters.Validate(); err != nil {
22002 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
22003 }
22004 }
22005
22006 if invalidParams.Len() > 0 {
22007 return invalidParams
22008 }
22009 return nil
22010 }
22011
22012 // SetDays sets the Days field's value.
22013 func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
22014 s.Days = &v
22015 return s
22016 }
22017
22018 // SetDescription sets the Description field's value.
22019 func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
22020 s.Description = &v
22021 return s
22022 }
22023
22024 // SetGlacierJobParameters sets the GlacierJobParameters field's value.
22025 func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
22026 s.GlacierJobParameters = v
22027 return s
22028 }
22029
22030 // SetOutputLocation sets the OutputLocation field's value.
22031 func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
22032 s.OutputLocation = v
22033 return s
22034 }
22035
22036 // SetSelectParameters sets the SelectParameters field's value.
22037 func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
22038 s.SelectParameters = v
22039 return s
22040 }
22041
22042 // SetTier sets the Tier field's value.
22043 func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
22044 s.Tier = &v
22045 return s
22046 }
22047
22048 // SetType sets the Type field's value.
22049 func (s *RestoreRequest) SetType(v string) *RestoreRequest {
22050 s.Type = &v
22051 return s
22052 }
22053
22054 type RoutingRule struct {
22055 _ struct{} `type:"structure"`
22056
22057 // A container for describing a condition that must be met for the specified
22058 // redirect to apply. For example, 1. If request is for pages in the /docs folder,
22059 // redirect to the /documents folder. 2. If request results in HTTP error 4xx,
22060 // redirect request to another host where you might process the error.
22061 Condition *Condition `type:"structure"`
22062
22063 // Container for redirect information. You can redirect requests to another
22064 // host, to another page, or with another protocol. In the event of an error,
22065 // you can specify a different error code to return.
22066 //
22067 // Redirect is a required field
22068 Redirect *Redirect `type:"structure" required:"true"`
22069 }
22070
22071 // String returns the string representation
22072 func (s RoutingRule) String() string {
22073 return awsutil.Prettify(s)
22074 }
22075
22076 // GoString returns the string representation
22077 func (s RoutingRule) GoString() string {
22078 return s.String()
22079 }
22080
22081 // Validate inspects the fields of the type to determine if they are valid.
22082 func (s *RoutingRule) Validate() error {
22083 invalidParams := request.ErrInvalidParams{Context: "RoutingRule"}
22084 if s.Redirect == nil {
22085 invalidParams.Add(request.NewErrParamRequired("Redirect"))
22086 }
22087
22088 if invalidParams.Len() > 0 {
22089 return invalidParams
22090 }
22091 return nil
22092 }
22093
22094 // SetCondition sets the Condition field's value.
22095 func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule {
22096 s.Condition = v
22097 return s
22098 }
22099
22100 // SetRedirect sets the Redirect field's value.
22101 func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
22102 s.Redirect = v
22103 return s
22104 }
22105
22106 type Rule struct {
22107 _ struct{} `type:"structure"`
22108
22109 // Specifies the days since the initiation of an Incomplete Multipart Upload
22110 // that Lifecycle will wait before permanently removing all parts of the upload.
22111 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
22112
22113 Expiration *LifecycleExpiration `type:"structure"`
22114
22115 // Unique identifier for the rule. The value cannot be longer than 255 characters.
22116 ID *string `type:"string"`
22117
22118 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
22119 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
22120 // configuration action on a bucket that has versioning enabled (or suspended)
22121 // to request that Amazon S3 delete noncurrent object versions at a specific
22122 // period in the object's lifetime.
22123 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
22124
22125 // Container for the transition rule that describes when noncurrent objects
22126 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or
22127 // DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
22128 // is suspended), you can set this action to request that Amazon S3 transition
22129 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
22130 // GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's
22131 // lifetime.
22132 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
22133
22134 // Prefix identifying one or more objects to which the rule applies.
22135 //
22136 // Prefix is a required field
22137 Prefix *string `type:"string" required:"true"`
22138
22139 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
22140 // is not currently being applied.
22141 //
22142 // Status is a required field
22143 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
22144
22145 Transition *Transition `type:"structure"`
22146 }
22147
22148 // String returns the string representation
22149 func (s Rule) String() string {
22150 return awsutil.Prettify(s)
22151 }
22152
22153 // GoString returns the string representation
22154 func (s Rule) GoString() string {
22155 return s.String()
22156 }
22157
22158 // Validate inspects the fields of the type to determine if they are valid.
22159 func (s *Rule) Validate() error {
22160 invalidParams := request.ErrInvalidParams{Context: "Rule"}
22161 if s.Prefix == nil {
22162 invalidParams.Add(request.NewErrParamRequired("Prefix"))
22163 }
22164 if s.Status == nil {
22165 invalidParams.Add(request.NewErrParamRequired("Status"))
22166 }
22167
22168 if invalidParams.Len() > 0 {
22169 return invalidParams
22170 }
22171 return nil
22172 }
22173
22174 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
22175 func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule {
22176 s.AbortIncompleteMultipartUpload = v
22177 return s
22178 }
22179
22180 // SetExpiration sets the Expiration field's value.
22181 func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule {
22182 s.Expiration = v
22183 return s
22184 }
22185
22186 // SetID sets the ID field's value.
22187 func (s *Rule) SetID(v string) *Rule {
22188 s.ID = &v
22189 return s
22190 }
22191
22192 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
22193 func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule {
22194 s.NoncurrentVersionExpiration = v
22195 return s
22196 }
22197
22198 // SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value.
22199 func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule {
22200 s.NoncurrentVersionTransition = v
22201 return s
22202 }
22203
22204 // SetPrefix sets the Prefix field's value.
22205 func (s *Rule) SetPrefix(v string) *Rule {
22206 s.Prefix = &v
22207 return s
22208 }
22209
22210 // SetStatus sets the Status field's value.
22211 func (s *Rule) SetStatus(v string) *Rule {
22212 s.Status = &v
22213 return s
22214 }
22215
22216 // SetTransition sets the Transition field's value.
22217 func (s *Rule) SetTransition(v *Transition) *Rule {
22218 s.Transition = v
22219 return s
22220 }
22221
22222 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
22223 type SSEKMS struct {
22224 _ struct{} `locationName:"SSE-KMS" type:"structure"`
22225
22226 // Specifies the ID of the AWS Key Management Service (KMS) master encryption
22227 // key to use for encrypting Inventory reports.
22228 //
22229 // KeyId is a required field
22230 KeyId *string `type:"string" required:"true" sensitive:"true"`
22231 }
22232
22233 // String returns the string representation
22234 func (s SSEKMS) String() string {
22235 return awsutil.Prettify(s)
22236 }
22237
22238 // GoString returns the string representation
22239 func (s SSEKMS) GoString() string {
22240 return s.String()
22241 }
22242
22243 // Validate inspects the fields of the type to determine if they are valid.
22244 func (s *SSEKMS) Validate() error {
22245 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"}
22246 if s.KeyId == nil {
22247 invalidParams.Add(request.NewErrParamRequired("KeyId"))
22248 }
22249
22250 if invalidParams.Len() > 0 {
22251 return invalidParams
22252 }
22253 return nil
22254 }
22255
22256 // SetKeyId sets the KeyId field's value.
22257 func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
22258 s.KeyId = &v
22259 return s
22260 }
22261
22262 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
22263 type SSES3 struct {
22264 _ struct{} `locationName:"SSE-S3" type:"structure"`
22265 }
22266
22267 // String returns the string representation
22268 func (s SSES3) String() string {
22269 return awsutil.Prettify(s)
22270 }
22271
22272 // GoString returns the string representation
22273 func (s SSES3) GoString() string {
22274 return s.String()
22275 }
22276
22277 // SelectObjectContentEventStream provides handling of EventStreams for
22278 // the SelectObjectContent API.
22279 //
22280 // Use this type to receive SelectObjectContentEventStream events. The events
22281 // can be read from the Events channel member.
22282 //
22283 // The events that can be received are:
22284 //
22285 // * ContinuationEvent
22286 // * EndEvent
22287 // * ProgressEvent
22288 // * RecordsEvent
22289 // * StatsEvent
22290 type SelectObjectContentEventStream struct {
22291 // Reader is the EventStream reader for the SelectObjectContentEventStream
22292 // events. This value is automatically set by the SDK when the API call is made
22293 // Use this member when unit testing your code with the SDK to mock out the
22294 // EventStream Reader.
22295 //
22296 // Must not be nil.
22297 Reader SelectObjectContentEventStreamReader
22298
22299 // StreamCloser is the io.Closer for the EventStream connection. For HTTP
22300 // EventStream this is the response Body. The stream will be closed when
22301 // the Close method of the EventStream is called.
22302 StreamCloser io.Closer
22303 }
22304
22305 // Close closes the EventStream. This will also cause the Events channel to be
22306 // closed. You can use the closing of the Events channel to terminate your
22307 // application's read from the API's EventStream.
22308 //
22309 // Will close the underlying EventStream reader. For EventStream over HTTP
22310 // connection this will also close the HTTP connection.
22311 //
22312 // Close must be called when done using the EventStream API. Not calling Close
22313 // may result in resource leaks.
22314 func (es *SelectObjectContentEventStream) Close() (err error) {
22315 es.Reader.Close()
22316 return es.Err()
22317 }
22318
22319 // Err returns any error that occurred while reading EventStream Events from
22320 // the service API's response. Returns nil if there were no errors.
22321 func (es *SelectObjectContentEventStream) Err() error {
22322 if err := es.Reader.Err(); err != nil {
22323 return err
22324 }
22325 es.StreamCloser.Close()
22326
22327 return nil
22328 }
22329
22330 // Events returns a channel to read EventStream Events from the
22331 // SelectObjectContent API.
22332 //
22333 // These events are:
22334 //
22335 // * ContinuationEvent
22336 // * EndEvent
22337 // * ProgressEvent
22338 // * RecordsEvent
22339 // * StatsEvent
22340 func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22341 return es.Reader.Events()
22342 }
22343
22344 // SelectObjectContentEventStreamEvent groups together all EventStream
22345 // events read from the SelectObjectContent API.
22346 //
22347 // These events are:
22348 //
22349 // * ContinuationEvent
22350 // * EndEvent
22351 // * ProgressEvent
22352 // * RecordsEvent
22353 // * StatsEvent
22354 type SelectObjectContentEventStreamEvent interface {
22355 eventSelectObjectContentEventStream()
22356 }
22357
22358 // SelectObjectContentEventStreamReader provides the interface for reading EventStream
22359 // Events from the SelectObjectContent API. The
22360 // default implementation for this interface will be SelectObjectContentEventStream.
22361 //
22362 // The reader's Close method must allow multiple concurrent calls.
22363 //
22364 // These events are:
22365 //
22366 // * ContinuationEvent
22367 // * EndEvent
22368 // * ProgressEvent
22369 // * RecordsEvent
22370 // * StatsEvent
22371 type SelectObjectContentEventStreamReader interface {
22372 // Returns a channel of events as they are read from the event stream.
22373 Events() <-chan SelectObjectContentEventStreamEvent
22374
22375 // Close will close the underlying event stream reader. For event stream over
22376 // HTTP this will also close the HTTP connection.
22377 Close() error
22378
22379 // Returns any error that has occurred while reading from the event stream.
22380 Err() error
22381 }
22382
22383 type readSelectObjectContentEventStream struct {
22384 eventReader *eventstreamapi.EventReader
22385 stream chan SelectObjectContentEventStreamEvent
22386 errVal atomic.Value
22387
22388 done chan struct{}
22389 closeOnce sync.Once
22390 }
22391
22392 func newReadSelectObjectContentEventStream(
22393 reader io.ReadCloser,
22394 unmarshalers request.HandlerList,
22395 logger aws.Logger,
22396 logLevel aws.LogLevelType,
22397 ) *readSelectObjectContentEventStream {
22398 r := &readSelectObjectContentEventStream{
22399 stream: make(chan SelectObjectContentEventStreamEvent),
22400 done: make(chan struct{}),
22401 }
22402
22403 r.eventReader = eventstreamapi.NewEventReader(
22404 reader,
22405 protocol.HandlerPayloadUnmarshal{
22406 Unmarshalers: unmarshalers,
22407 },
22408 r.unmarshalerForEventType,
22409 )
22410 r.eventReader.UseLogger(logger, logLevel)
22411
22412 return r
22413 }
22414
22415 // Close will close the underlying event stream reader. For EventStream over
22416 // HTTP this will also close the HTTP connection.
22417 func (r *readSelectObjectContentEventStream) Close() error {
22418 r.closeOnce.Do(r.safeClose)
22419
22420 return r.Err()
22421 }
22422
22423 func (r *readSelectObjectContentEventStream) safeClose() {
22424 close(r.done)
22425 err := r.eventReader.Close()
22426 if err != nil {
22427 r.errVal.Store(err)
22428 }
22429 }
22430
22431 func (r *readSelectObjectContentEventStream) Err() error {
22432 if v := r.errVal.Load(); v != nil {
22433 return v.(error)
22434 }
22435
22436 return nil
22437 }
22438
22439 func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22440 return r.stream
22441 }
22442
22443 func (r *readSelectObjectContentEventStream) readEventStream() {
22444 defer close(r.stream)
22445
22446 for {
22447 event, err := r.eventReader.ReadEvent()
22448 if err != nil {
22449 if err == io.EOF {
22450 return
22451 }
22452 select {
22453 case <-r.done:
22454 // If closed already ignore the error
22455 return
22456 default:
22457 }
22458 r.errVal.Store(err)
22459 return
22460 }
22461
22462 select {
22463 case r.stream <- event.(SelectObjectContentEventStreamEvent):
22464 case <-r.done:
22465 return
22466 }
22467 }
22468 }
22469
22470 func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
22471 eventType string,
22472 ) (eventstreamapi.Unmarshaler, error) {
22473 switch eventType {
22474 case "Cont":
22475 return &ContinuationEvent{}, nil
22476
22477 case "End":
22478 return &EndEvent{}, nil
22479
22480 case "Progress":
22481 return &ProgressEvent{}, nil
22482
22483 case "Records":
22484 return &RecordsEvent{}, nil
22485
22486 case "Stats":
22487 return &StatsEvent{}, nil
22488 default:
22489 return nil, awserr.New(
22490 request.ErrCodeSerialization,
22491 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
22492 nil,
22493 )
22494 }
22495 }
22496
22497 // Request to filter the contents of an Amazon S3 object based on a simple Structured
22498 // Query Language (SQL) statement. In the request, along with the SQL expression,
22499 // you must specify a data serialization format (JSON or CSV) of the object.
22500 // Amazon S3 uses this to parse object data into records. It returns only records
22501 // that match the specified SQL expression. You must also specify the data serialization
22502 // format for the response. For more information, see S3Select API Documentation
22503 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html).
22504 type SelectObjectContentInput struct {
22505 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
22506
22507 // The S3 bucket.
22508 //
22509 // Bucket is a required field
22510 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22511
22512 // The expression that is used to query the object.
22513 //
22514 // Expression is a required field
22515 Expression *string `type:"string" required:"true"`
22516
22517 // The type of the provided expression (for example., SQL).
22518 //
22519 // ExpressionType is a required field
22520 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22521
22522 // Describes the format of the data in the object that is being queried.
22523 //
22524 // InputSerialization is a required field
22525 InputSerialization *InputSerialization `type:"structure" required:"true"`
22526
22527 // The object key.
22528 //
22529 // Key is a required field
22530 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
22531
22532 // Describes the format of the data that you want Amazon S3 to return in response.
22533 //
22534 // OutputSerialization is a required field
22535 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22536
22537 // Specifies if periodic request progress information should be enabled.
22538 RequestProgress *RequestProgress `type:"structure"`
22539
22540 // The SSE Algorithm used to encrypt the object. For more information, see
22541 // Server-Side Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22542 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
22543
22544 // The SSE Customer Key. For more information, see Server-Side Encryption (Using
22545 // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22546 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
22547
22548 // The SSE Customer Key MD5. For more information, see Server-Side Encryption
22549 // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22550 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
22551 }
22552
22553 // String returns the string representation
22554 func (s SelectObjectContentInput) String() string {
22555 return awsutil.Prettify(s)
22556 }
22557
22558 // GoString returns the string representation
22559 func (s SelectObjectContentInput) GoString() string {
22560 return s.String()
22561 }
22562
22563 // Validate inspects the fields of the type to determine if they are valid.
22564 func (s *SelectObjectContentInput) Validate() error {
22565 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"}
22566 if s.Bucket == nil {
22567 invalidParams.Add(request.NewErrParamRequired("Bucket"))
22568 }
22569 if s.Bucket != nil && len(*s.Bucket) < 1 {
22570 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22571 }
22572 if s.Expression == nil {
22573 invalidParams.Add(request.NewErrParamRequired("Expression"))
22574 }
22575 if s.ExpressionType == nil {
22576 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22577 }
22578 if s.InputSerialization == nil {
22579 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22580 }
22581 if s.Key == nil {
22582 invalidParams.Add(request.NewErrParamRequired("Key"))
22583 }
22584 if s.Key != nil && len(*s.Key) < 1 {
22585 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22586 }
22587 if s.OutputSerialization == nil {
22588 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22589 }
22590
22591 if invalidParams.Len() > 0 {
22592 return invalidParams
22593 }
22594 return nil
22595 }
22596
22597 // SetBucket sets the Bucket field's value.
22598 func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
22599 s.Bucket = &v
22600 return s
22601 }
22602
22603 func (s *SelectObjectContentInput) getBucket() (v string) {
22604 if s.Bucket == nil {
22605 return v
22606 }
22607 return *s.Bucket
22608 }
22609
22610 // SetExpression sets the Expression field's value.
22611 func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
22612 s.Expression = &v
22613 return s
22614 }
22615
22616 // SetExpressionType sets the ExpressionType field's value.
22617 func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
22618 s.ExpressionType = &v
22619 return s
22620 }
22621
22622 // SetInputSerialization sets the InputSerialization field's value.
22623 func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
22624 s.InputSerialization = v
22625 return s
22626 }
22627
22628 // SetKey sets the Key field's value.
22629 func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
22630 s.Key = &v
22631 return s
22632 }
22633
22634 // SetOutputSerialization sets the OutputSerialization field's value.
22635 func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
22636 s.OutputSerialization = v
22637 return s
22638 }
22639
22640 // SetRequestProgress sets the RequestProgress field's value.
22641 func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
22642 s.RequestProgress = v
22643 return s
22644 }
22645
22646 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
22647 func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
22648 s.SSECustomerAlgorithm = &v
22649 return s
22650 }
22651
22652 // SetSSECustomerKey sets the SSECustomerKey field's value.
22653 func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
22654 s.SSECustomerKey = &v
22655 return s
22656 }
22657
22658 func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
22659 if s.SSECustomerKey == nil {
22660 return v
22661 }
22662 return *s.SSECustomerKey
22663 }
22664
22665 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
22666 func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
22667 s.SSECustomerKeyMD5 = &v
22668 return s
22669 }
22670
22671 type SelectObjectContentOutput struct {
22672 _ struct{} `type:"structure" payload:"Payload"`
22673
22674 // Use EventStream to use the API's stream.
22675 EventStream *SelectObjectContentEventStream `type:"structure"`
22676 }
22677
22678 // String returns the string representation
22679 func (s SelectObjectContentOutput) String() string {
22680 return awsutil.Prettify(s)
22681 }
22682
22683 // GoString returns the string representation
22684 func (s SelectObjectContentOutput) GoString() string {
22685 return s.String()
22686 }
22687
22688 // SetEventStream sets the EventStream field's value.
22689 func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
22690 s.EventStream = v
22691 return s
22692 }
22693
22694 func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
22695 if r.Error != nil {
22696 return
22697 }
22698 reader := newReadSelectObjectContentEventStream(
22699 r.HTTPResponse.Body,
22700 r.Handlers.UnmarshalStream,
22701 r.Config.Logger,
22702 r.Config.LogLevel.Value(),
22703 )
22704 go reader.readEventStream()
22705
22706 eventStream := &SelectObjectContentEventStream{
22707 StreamCloser: r.HTTPResponse.Body,
22708 Reader: reader,
22709 }
22710 s.EventStream = eventStream
22711 }
22712
22713 // Describes the parameters for Select job types.
22714 type SelectParameters struct {
22715 _ struct{} `type:"structure"`
22716
22717 // The expression that is used to query the object.
22718 //
22719 // Expression is a required field
22720 Expression *string `type:"string" required:"true"`
22721
22722 // The type of the provided expression (e.g., SQL).
22723 //
22724 // ExpressionType is a required field
22725 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22726
22727 // Describes the serialization format of the object.
22728 //
22729 // InputSerialization is a required field
22730 InputSerialization *InputSerialization `type:"structure" required:"true"`
22731
22732 // Describes how the results of the Select job are serialized.
22733 //
22734 // OutputSerialization is a required field
22735 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22736 }
22737
22738 // String returns the string representation
22739 func (s SelectParameters) String() string {
22740 return awsutil.Prettify(s)
22741 }
22742
22743 // GoString returns the string representation
22744 func (s SelectParameters) GoString() string {
22745 return s.String()
22746 }
22747
22748 // Validate inspects the fields of the type to determine if they are valid.
22749 func (s *SelectParameters) Validate() error {
22750 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"}
22751 if s.Expression == nil {
22752 invalidParams.Add(request.NewErrParamRequired("Expression"))
22753 }
22754 if s.ExpressionType == nil {
22755 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22756 }
22757 if s.InputSerialization == nil {
22758 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22759 }
22760 if s.OutputSerialization == nil {
22761 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22762 }
22763
22764 if invalidParams.Len() > 0 {
22765 return invalidParams
22766 }
22767 return nil
22768 }
22769
22770 // SetExpression sets the Expression field's value.
22771 func (s *SelectParameters) SetExpression(v string) *SelectParameters {
22772 s.Expression = &v
22773 return s
22774 }
22775
22776 // SetExpressionType sets the ExpressionType field's value.
22777 func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
22778 s.ExpressionType = &v
22779 return s
22780 }
22781
22782 // SetInputSerialization sets the InputSerialization field's value.
22783 func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
22784 s.InputSerialization = v
22785 return s
22786 }
22787
22788 // SetOutputSerialization sets the OutputSerialization field's value.
22789 func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
22790 s.OutputSerialization = v
22791 return s
22792 }
22793
22794 // Describes the default server-side encryption to apply to new objects in the
22795 // bucket. If Put Object request does not specify any server-side encryption,
22796 // this default encryption will be applied.
22797 type ServerSideEncryptionByDefault struct {
22798 _ struct{} `type:"structure"`
22799
22800 // KMS master key ID to use for the default encryption. This parameter is allowed
22801 // if SSEAlgorithm is aws:kms.
22802 KMSMasterKeyID *string `type:"string" sensitive:"true"`
22803
22804 // Server-side encryption algorithm to use for the default encryption.
22805 //
22806 // SSEAlgorithm is a required field
22807 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
22808 }
22809
22810 // String returns the string representation
22811 func (s ServerSideEncryptionByDefault) String() string {
22812 return awsutil.Prettify(s)
22813 }
22814
22815 // GoString returns the string representation
22816 func (s ServerSideEncryptionByDefault) GoString() string {
22817 return s.String()
22818 }
22819
22820 // Validate inspects the fields of the type to determine if they are valid.
22821 func (s *ServerSideEncryptionByDefault) Validate() error {
22822 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"}
22823 if s.SSEAlgorithm == nil {
22824 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm"))
22825 }
22826
22827 if invalidParams.Len() > 0 {
22828 return invalidParams
22829 }
22830 return nil
22831 }
22832
22833 // SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
22834 func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
22835 s.KMSMasterKeyID = &v
22836 return s
22837 }
22838
22839 // SetSSEAlgorithm sets the SSEAlgorithm field's value.
22840 func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
22841 s.SSEAlgorithm = &v
22842 return s
22843 }
22844
22845 // Container for server-side encryption configuration rules. Currently S3 supports
22846 // one rule only.
22847 type ServerSideEncryptionConfiguration struct {
22848 _ struct{} `type:"structure"`
22849
22850 // Container for information about a particular server-side encryption configuration
22851 // rule.
22852 //
22853 // Rules is a required field
22854 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
22855 }
22856
22857 // String returns the string representation
22858 func (s ServerSideEncryptionConfiguration) String() string {
22859 return awsutil.Prettify(s)
22860 }
22861
22862 // GoString returns the string representation
22863 func (s ServerSideEncryptionConfiguration) GoString() string {
22864 return s.String()
22865 }
22866
22867 // Validate inspects the fields of the type to determine if they are valid.
22868 func (s *ServerSideEncryptionConfiguration) Validate() error {
22869 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
22870 if s.Rules == nil {
22871 invalidParams.Add(request.NewErrParamRequired("Rules"))
22872 }
22873 if s.Rules != nil {
22874 for i, v := range s.Rules {
22875 if v == nil {
22876 continue
22877 }
22878 if err := v.Validate(); err != nil {
22879 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
22880 }
22881 }
22882 }
22883
22884 if invalidParams.Len() > 0 {
22885 return invalidParams
22886 }
22887 return nil
22888 }
22889
22890 // SetRules sets the Rules field's value.
22891 func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
22892 s.Rules = v
22893 return s
22894 }
22895
22896 // Container for information about a particular server-side encryption configuration
22897 // rule.
22898 type ServerSideEncryptionRule struct {
22899 _ struct{} `type:"structure"`
22900
22901 // Describes the default server-side encryption to apply to new objects in the
22902 // bucket. If Put Object request does not specify any server-side encryption,
22903 // this default encryption will be applied.
22904 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
22905 }
22906
22907 // String returns the string representation
22908 func (s ServerSideEncryptionRule) String() string {
22909 return awsutil.Prettify(s)
22910 }
22911
22912 // GoString returns the string representation
22913 func (s ServerSideEncryptionRule) GoString() string {
22914 return s.String()
22915 }
22916
22917 // Validate inspects the fields of the type to determine if they are valid.
22918 func (s *ServerSideEncryptionRule) Validate() error {
22919 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"}
22920 if s.ApplyServerSideEncryptionByDefault != nil {
22921 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil {
22922 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams))
22923 }
22924 }
22925
22926 if invalidParams.Len() > 0 {
22927 return invalidParams
22928 }
22929 return nil
22930 }
22931
22932 // SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
22933 func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
22934 s.ApplyServerSideEncryptionByDefault = v
22935 return s
22936 }
22937
22938 // A container for filters that define which source objects should be replicated.
22939 type SourceSelectionCriteria struct {
22940 _ struct{} `type:"structure"`
22941
22942 // A container for filter information for the selection of S3 objects encrypted
22943 // with AWS KMS. If you include SourceSelectionCriteria in the replication configuration,
22944 // this element is required.
22945 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
22946 }
22947
22948 // String returns the string representation
22949 func (s SourceSelectionCriteria) String() string {
22950 return awsutil.Prettify(s)
22951 }
22952
22953 // GoString returns the string representation
22954 func (s SourceSelectionCriteria) GoString() string {
22955 return s.String()
22956 }
22957
22958 // Validate inspects the fields of the type to determine if they are valid.
22959 func (s *SourceSelectionCriteria) Validate() error {
22960 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"}
22961 if s.SseKmsEncryptedObjects != nil {
22962 if err := s.SseKmsEncryptedObjects.Validate(); err != nil {
22963 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams))
22964 }
22965 }
22966
22967 if invalidParams.Len() > 0 {
22968 return invalidParams
22969 }
22970 return nil
22971 }
22972
22973 // SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
22974 func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
22975 s.SseKmsEncryptedObjects = v
22976 return s
22977 }
22978
22979 // A container for filter information for the selection of S3 objects encrypted
22980 // with AWS KMS.
22981 type SseKmsEncryptedObjects struct {
22982 _ struct{} `type:"structure"`
22983
22984 // If the status is not Enabled, replication for S3 objects encrypted with AWS
22985 // KMS is disabled.
22986 //
22987 // Status is a required field
22988 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
22989 }
22990
22991 // String returns the string representation
22992 func (s SseKmsEncryptedObjects) String() string {
22993 return awsutil.Prettify(s)
22994 }
22995
22996 // GoString returns the string representation
22997 func (s SseKmsEncryptedObjects) GoString() string {
22998 return s.String()
22999 }
23000
23001 // Validate inspects the fields of the type to determine if they are valid.
23002 func (s *SseKmsEncryptedObjects) Validate() error {
23003 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"}
23004 if s.Status == nil {
23005 invalidParams.Add(request.NewErrParamRequired("Status"))
23006 }
23007
23008 if invalidParams.Len() > 0 {
23009 return invalidParams
23010 }
23011 return nil
23012 }
23013
23014 // SetStatus sets the Status field's value.
23015 func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
23016 s.Status = &v
23017 return s
23018 }
23019
23020 type Stats struct {
23021 _ struct{} `type:"structure"`
23022
23023 // The total number of uncompressed object bytes processed.
23024 BytesProcessed *int64 `type:"long"`
23025
23026 // The total number of bytes of records payload data returned.
23027 BytesReturned *int64 `type:"long"`
23028
23029 // The total number of object bytes scanned.
23030 BytesScanned *int64 `type:"long"`
23031 }
23032
23033 // String returns the string representation
23034 func (s Stats) String() string {
23035 return awsutil.Prettify(s)
23036 }
23037
23038 // GoString returns the string representation
23039 func (s Stats) GoString() string {
23040 return s.String()
23041 }
23042
23043 // SetBytesProcessed sets the BytesProcessed field's value.
23044 func (s *Stats) SetBytesProcessed(v int64) *Stats {
23045 s.BytesProcessed = &v
23046 return s
23047 }
23048
23049 // SetBytesReturned sets the BytesReturned field's value.
23050 func (s *Stats) SetBytesReturned(v int64) *Stats {
23051 s.BytesReturned = &v
23052 return s
23053 }
23054
23055 // SetBytesScanned sets the BytesScanned field's value.
23056 func (s *Stats) SetBytesScanned(v int64) *Stats {
23057 s.BytesScanned = &v
23058 return s
23059 }
23060
23061 type StatsEvent struct {
23062 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
23063
23064 // The Stats event details.
23065 Details *Stats `locationName:"Details" type:"structure"`
23066 }
23067
23068 // String returns the string representation
23069 func (s StatsEvent) String() string {
23070 return awsutil.Prettify(s)
23071 }
23072
23073 // GoString returns the string representation
23074 func (s StatsEvent) GoString() string {
23075 return s.String()
23076 }
23077
23078 // SetDetails sets the Details field's value.
23079 func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
23080 s.Details = v
23081 return s
23082 }
23083
23084 // The StatsEvent is and event in the SelectObjectContentEventStream group of events.
23085 func (s *StatsEvent) eventSelectObjectContentEventStream() {}
23086
23087 // UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value.
23088 // This method is only used internally within the SDK's EventStream handling.
23089 func (s *StatsEvent) UnmarshalEvent(
23090 payloadUnmarshaler protocol.PayloadUnmarshaler,
23091 msg eventstream.Message,
23092 ) error {
23093 if err := payloadUnmarshaler.UnmarshalPayload(
23094 bytes.NewReader(msg.Payload), s,
23095 ); err != nil {
23096 return err
23097 }
23098 return nil
23099 }
23100
23101 type StorageClassAnalysis struct {
23102 _ struct{} `type:"structure"`
23103
23104 // A container used to describe how data related to the storage class analysis
23105 // should be exported.
23106 DataExport *StorageClassAnalysisDataExport `type:"structure"`
23107 }
23108
23109 // String returns the string representation
23110 func (s StorageClassAnalysis) String() string {
23111 return awsutil.Prettify(s)
23112 }
23113
23114 // GoString returns the string representation
23115 func (s StorageClassAnalysis) GoString() string {
23116 return s.String()
23117 }
23118
23119 // Validate inspects the fields of the type to determine if they are valid.
23120 func (s *StorageClassAnalysis) Validate() error {
23121 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"}
23122 if s.DataExport != nil {
23123 if err := s.DataExport.Validate(); err != nil {
23124 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams))
23125 }
23126 }
23127
23128 if invalidParams.Len() > 0 {
23129 return invalidParams
23130 }
23131 return nil
23132 }
23133
23134 // SetDataExport sets the DataExport field's value.
23135 func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis {
23136 s.DataExport = v
23137 return s
23138 }
23139
23140 type StorageClassAnalysisDataExport struct {
23141 _ struct{} `type:"structure"`
23142
23143 // The place to store the data for an analysis.
23144 //
23145 // Destination is a required field
23146 Destination *AnalyticsExportDestination `type:"structure" required:"true"`
23147
23148 // The version of the output schema to use when exporting data. Must be V_1.
23149 //
23150 // OutputSchemaVersion is a required field
23151 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"`
23152 }
23153
23154 // String returns the string representation
23155 func (s StorageClassAnalysisDataExport) String() string {
23156 return awsutil.Prettify(s)
23157 }
23158
23159 // GoString returns the string representation
23160 func (s StorageClassAnalysisDataExport) GoString() string {
23161 return s.String()
23162 }
23163
23164 // Validate inspects the fields of the type to determine if they are valid.
23165 func (s *StorageClassAnalysisDataExport) Validate() error {
23166 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"}
23167 if s.Destination == nil {
23168 invalidParams.Add(request.NewErrParamRequired("Destination"))
23169 }
23170 if s.OutputSchemaVersion == nil {
23171 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion"))
23172 }
23173 if s.Destination != nil {
23174 if err := s.Destination.Validate(); err != nil {
23175 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
23176 }
23177 }
23178
23179 if invalidParams.Len() > 0 {
23180 return invalidParams
23181 }
23182 return nil
23183 }
23184
23185 // SetDestination sets the Destination field's value.
23186 func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport {
23187 s.Destination = v
23188 return s
23189 }
23190
23191 // SetOutputSchemaVersion sets the OutputSchemaVersion field's value.
23192 func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport {
23193 s.OutputSchemaVersion = &v
23194 return s
23195 }
23196
23197 type Tag struct {
23198 _ struct{} `type:"structure"`
23199
23200 // Name of the tag.
23201 //
23202 // Key is a required field
23203 Key *string `min:"1" type:"string" required:"true"`
23204
23205 // Value of the tag.
23206 //
23207 // Value is a required field
23208 Value *string `type:"string" required:"true"`
23209 }
23210
23211 // String returns the string representation
23212 func (s Tag) String() string {
23213 return awsutil.Prettify(s)
23214 }
23215
23216 // GoString returns the string representation
23217 func (s Tag) GoString() string {
23218 return s.String()
23219 }
23220
23221 // Validate inspects the fields of the type to determine if they are valid.
23222 func (s *Tag) Validate() error {
23223 invalidParams := request.ErrInvalidParams{Context: "Tag"}
23224 if s.Key == nil {
23225 invalidParams.Add(request.NewErrParamRequired("Key"))
23226 }
23227 if s.Key != nil && len(*s.Key) < 1 {
23228 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23229 }
23230 if s.Value == nil {
23231 invalidParams.Add(request.NewErrParamRequired("Value"))
23232 }
23233
23234 if invalidParams.Len() > 0 {
23235 return invalidParams
23236 }
23237 return nil
23238 }
23239
23240 // SetKey sets the Key field's value.
23241 func (s *Tag) SetKey(v string) *Tag {
23242 s.Key = &v
23243 return s
23244 }
23245
23246 // SetValue sets the Value field's value.
23247 func (s *Tag) SetValue(v string) *Tag {
23248 s.Value = &v
23249 return s
23250 }
23251
23252 type Tagging struct {
23253 _ struct{} `type:"structure"`
23254
23255 // TagSet is a required field
23256 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
23257 }
23258
23259 // String returns the string representation
23260 func (s Tagging) String() string {
23261 return awsutil.Prettify(s)
23262 }
23263
23264 // GoString returns the string representation
23265 func (s Tagging) GoString() string {
23266 return s.String()
23267 }
23268
23269 // Validate inspects the fields of the type to determine if they are valid.
23270 func (s *Tagging) Validate() error {
23271 invalidParams := request.ErrInvalidParams{Context: "Tagging"}
23272 if s.TagSet == nil {
23273 invalidParams.Add(request.NewErrParamRequired("TagSet"))
23274 }
23275 if s.TagSet != nil {
23276 for i, v := range s.TagSet {
23277 if v == nil {
23278 continue
23279 }
23280 if err := v.Validate(); err != nil {
23281 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams))
23282 }
23283 }
23284 }
23285
23286 if invalidParams.Len() > 0 {
23287 return invalidParams
23288 }
23289 return nil
23290 }
23291
23292 // SetTagSet sets the TagSet field's value.
23293 func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
23294 s.TagSet = v
23295 return s
23296 }
23297
23298 type TargetGrant struct {
23299 _ struct{} `type:"structure"`
23300
23301 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
23302
23303 // Logging permissions assigned to the Grantee for the bucket.
23304 Permission *string `type:"string" enum:"BucketLogsPermission"`
23305 }
23306
23307 // String returns the string representation
23308 func (s TargetGrant) String() string {
23309 return awsutil.Prettify(s)
23310 }
23311
23312 // GoString returns the string representation
23313 func (s TargetGrant) GoString() string {
23314 return s.String()
23315 }
23316
23317 // Validate inspects the fields of the type to determine if they are valid.
23318 func (s *TargetGrant) Validate() error {
23319 invalidParams := request.ErrInvalidParams{Context: "TargetGrant"}
23320 if s.Grantee != nil {
23321 if err := s.Grantee.Validate(); err != nil {
23322 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
23323 }
23324 }
23325
23326 if invalidParams.Len() > 0 {
23327 return invalidParams
23328 }
23329 return nil
23330 }
23331
23332 // SetGrantee sets the Grantee field's value.
23333 func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant {
23334 s.Grantee = v
23335 return s
23336 }
23337
23338 // SetPermission sets the Permission field's value.
23339 func (s *TargetGrant) SetPermission(v string) *TargetGrant {
23340 s.Permission = &v
23341 return s
23342 }
23343
23344 // A container for specifying the configuration for publication of messages
23345 // to an Amazon Simple Notification Service (Amazon SNS) topic.when Amazon S3
23346 // detects specified events.
23347 type TopicConfiguration struct {
23348 _ struct{} `type:"structure"`
23349
23350 // Events is a required field
23351 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
23352
23353 // A container for object key name filtering rules. For information about key
23354 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
23355 // in the Amazon Simple Storage Service Developer Guide.
23356 Filter *NotificationConfigurationFilter `type:"structure"`
23357
23358 // An optional unique identifier for configurations in a notification configuration.
23359 // If you don't provide one, Amazon S3 will assign an ID.
23360 Id *string `type:"string"`
23361
23362 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3
23363 // will publish a message when it detects events of the specified type.
23364 //
23365 // TopicArn is a required field
23366 TopicArn *string `locationName:"Topic" type:"string" required:"true"`
23367 }
23368
23369 // String returns the string representation
23370 func (s TopicConfiguration) String() string {
23371 return awsutil.Prettify(s)
23372 }
23373
23374 // GoString returns the string representation
23375 func (s TopicConfiguration) GoString() string {
23376 return s.String()
23377 }
23378
23379 // Validate inspects the fields of the type to determine if they are valid.
23380 func (s *TopicConfiguration) Validate() error {
23381 invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"}
23382 if s.Events == nil {
23383 invalidParams.Add(request.NewErrParamRequired("Events"))
23384 }
23385 if s.TopicArn == nil {
23386 invalidParams.Add(request.NewErrParamRequired("TopicArn"))
23387 }
23388
23389 if invalidParams.Len() > 0 {
23390 return invalidParams
23391 }
23392 return nil
23393 }
23394
23395 // SetEvents sets the Events field's value.
23396 func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration {
23397 s.Events = v
23398 return s
23399 }
23400
23401 // SetFilter sets the Filter field's value.
23402 func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration {
23403 s.Filter = v
23404 return s
23405 }
23406
23407 // SetId sets the Id field's value.
23408 func (s *TopicConfiguration) SetId(v string) *TopicConfiguration {
23409 s.Id = &v
23410 return s
23411 }
23412
23413 // SetTopicArn sets the TopicArn field's value.
23414 func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
23415 s.TopicArn = &v
23416 return s
23417 }
23418
23419 type TopicConfigurationDeprecated struct {
23420 _ struct{} `type:"structure"`
23421
23422 // Bucket event for which to send notifications.
23423 //
23424 // Deprecated: Event has been deprecated
23425 Event *string `deprecated:"true" type:"string" enum:"Event"`
23426
23427 Events []*string `locationName:"Event" type:"list" flattened:"true"`
23428
23429 // An optional unique identifier for configurations in a notification configuration.
23430 // If you don't provide one, Amazon S3 will assign an ID.
23431 Id *string `type:"string"`
23432
23433 // Amazon SNS topic to which Amazon S3 will publish a message to report the
23434 // specified events for the bucket.
23435 Topic *string `type:"string"`
23436 }
23437
23438 // String returns the string representation
23439 func (s TopicConfigurationDeprecated) String() string {
23440 return awsutil.Prettify(s)
23441 }
23442
23443 // GoString returns the string representation
23444 func (s TopicConfigurationDeprecated) GoString() string {
23445 return s.String()
23446 }
23447
23448 // SetEvent sets the Event field's value.
23449 func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated {
23450 s.Event = &v
23451 return s
23452 }
23453
23454 // SetEvents sets the Events field's value.
23455 func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated {
23456 s.Events = v
23457 return s
23458 }
23459
23460 // SetId sets the Id field's value.
23461 func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated {
23462 s.Id = &v
23463 return s
23464 }
23465
23466 // SetTopic sets the Topic field's value.
23467 func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated {
23468 s.Topic = &v
23469 return s
23470 }
23471
23472 type Transition struct {
23473 _ struct{} `type:"structure"`
23474
23475 // Indicates at what date the object is to be moved or deleted. Should be in
23476 // GMT ISO 8601 Format.
23477 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
23478
23479 // Indicates the lifetime, in days, of the objects that are subject to the rule.
23480 // The value must be a non-zero positive integer.
23481 Days *int64 `type:"integer"`
23482
23483 // The class of storage used to store the object.
23484 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
23485 }
23486
23487 // String returns the string representation
23488 func (s Transition) String() string {
23489 return awsutil.Prettify(s)
23490 }
23491
23492 // GoString returns the string representation
23493 func (s Transition) GoString() string {
23494 return s.String()
23495 }
23496
23497 // SetDate sets the Date field's value.
23498 func (s *Transition) SetDate(v time.Time) *Transition {
23499 s.Date = &v
23500 return s
23501 }
23502
23503 // SetDays sets the Days field's value.
23504 func (s *Transition) SetDays(v int64) *Transition {
23505 s.Days = &v
23506 return s
23507 }
23508
23509 // SetStorageClass sets the StorageClass field's value.
23510 func (s *Transition) SetStorageClass(v string) *Transition {
23511 s.StorageClass = &v
23512 return s
23513 }
23514
23515 type UploadPartCopyInput struct {
23516 _ struct{} `type:"structure"`
23517
23518 // Bucket is a required field
23519 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
23520
23521 // The name of the source bucket and key name of the source object, separated
23522 // by a slash (/). Must be URL-encoded.
23523 //
23524 // CopySource is a required field
23525 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
23526
23527 // Copies the object if its entity tag (ETag) matches the specified tag.
23528 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
23529
23530 // Copies the object if it has been modified since the specified time.
23531 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
23532
23533 // Copies the object if its entity tag (ETag) is different than the specified
23534 // ETag.
23535 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
23536
23537 // Copies the object if it hasn't been modified since the specified time.
23538 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
23539
23540 // The range of bytes to copy from the source object. The range value must use
23541 // the form bytes=first-last, where the first and last are the zero-based byte
23542 // offsets to copy. For example, bytes=0-9 indicates that you want to copy the
23543 // first ten bytes of the source. You can copy a range only if the source object
23544 // is greater than 5 MB.
23545 CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`
23546
23547 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
23548 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
23549
23550 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
23551 // the source object. The encryption key provided in this header must be one
23552 // that was used when the source object was created.
23553 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23554
23555 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23556 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23557 // key was transmitted without error.
23558 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
23559
23560 // Key is a required field
23561 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
23562
23563 // Part number of part being copied. This is a positive integer between 1 and
23564 // 10,000.
23565 //
23566 // PartNumber is a required field
23567 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
23568
23569 // Confirms that the requester knows that she or he will be charged for the
23570 // request. Bucket owners need not specify this parameter in their requests.
23571 // Documentation on downloading objects from requester pays buckets can be found
23572 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
23573 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
23574
23575 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
23576 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23577
23578 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
23579 // data. This value is used to store the object and then it is discarded; Amazon
23580 // does not store the encryption key. The key must be appropriate for use with
23581 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23582 // header. This must be the same encryption key specified in the initiate multipart
23583 // upload request.
23584 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23585
23586 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23587 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23588 // key was transmitted without error.
23589 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23590
23591 // Upload ID identifying the multipart upload whose part is being copied.
23592 //
23593 // UploadId is a required field
23594 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
23595 }
23596
23597 // String returns the string representation
23598 func (s UploadPartCopyInput) String() string {
23599 return awsutil.Prettify(s)
23600 }
23601
23602 // GoString returns the string representation
23603 func (s UploadPartCopyInput) GoString() string {
23604 return s.String()
23605 }
23606
23607 // Validate inspects the fields of the type to determine if they are valid.
23608 func (s *UploadPartCopyInput) Validate() error {
23609 invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"}
23610 if s.Bucket == nil {
23611 invalidParams.Add(request.NewErrParamRequired("Bucket"))
23612 }
23613 if s.Bucket != nil && len(*s.Bucket) < 1 {
23614 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
23615 }
23616 if s.CopySource == nil {
23617 invalidParams.Add(request.NewErrParamRequired("CopySource"))
23618 }
23619 if s.Key == nil {
23620 invalidParams.Add(request.NewErrParamRequired("Key"))
23621 }
23622 if s.Key != nil && len(*s.Key) < 1 {
23623 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23624 }
23625 if s.PartNumber == nil {
23626 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
23627 }
23628 if s.UploadId == nil {
23629 invalidParams.Add(request.NewErrParamRequired("UploadId"))
23630 }
23631
23632 if invalidParams.Len() > 0 {
23633 return invalidParams
23634 }
23635 return nil
23636 }
23637
23638 // SetBucket sets the Bucket field's value.
23639 func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
23640 s.Bucket = &v
23641 return s
23642 }
23643
23644 func (s *UploadPartCopyInput) getBucket() (v string) {
23645 if s.Bucket == nil {
23646 return v
23647 }
23648 return *s.Bucket
23649 }
23650
23651 // SetCopySource sets the CopySource field's value.
23652 func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
23653 s.CopySource = &v
23654 return s
23655 }
23656
23657 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
23658 func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
23659 s.CopySourceIfMatch = &v
23660 return s
23661 }
23662
23663 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
23664 func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput {
23665 s.CopySourceIfModifiedSince = &v
23666 return s
23667 }
23668
23669 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
23670 func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput {
23671 s.CopySourceIfNoneMatch = &v
23672 return s
23673 }
23674
23675 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
23676 func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput {
23677 s.CopySourceIfUnmodifiedSince = &v
23678 return s
23679 }
23680
23681 // SetCopySourceRange sets the CopySourceRange field's value.
23682 func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput {
23683 s.CopySourceRange = &v
23684 return s
23685 }
23686
23687 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
23688 func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23689 s.CopySourceSSECustomerAlgorithm = &v
23690 return s
23691 }
23692
23693 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
23694 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput {
23695 s.CopySourceSSECustomerKey = &v
23696 return s
23697 }
23698
23699 func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
23700 if s.CopySourceSSECustomerKey == nil {
23701 return v
23702 }
23703 return *s.CopySourceSSECustomerKey
23704 }
23705
23706 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
23707 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23708 s.CopySourceSSECustomerKeyMD5 = &v
23709 return s
23710 }
23711
23712 // SetKey sets the Key field's value.
23713 func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput {
23714 s.Key = &v
23715 return s
23716 }
23717
23718 // SetPartNumber sets the PartNumber field's value.
23719 func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput {
23720 s.PartNumber = &v
23721 return s
23722 }
23723
23724 // SetRequestPayer sets the RequestPayer field's value.
23725 func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput {
23726 s.RequestPayer = &v
23727 return s
23728 }
23729
23730 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23731 func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23732 s.SSECustomerAlgorithm = &v
23733 return s
23734 }
23735
23736 // SetSSECustomerKey sets the SSECustomerKey field's value.
23737 func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
23738 s.SSECustomerKey = &v
23739 return s
23740 }
23741
23742 func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
23743 if s.SSECustomerKey == nil {
23744 return v
23745 }
23746 return *s.SSECustomerKey
23747 }
23748
23749 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
23750 func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23751 s.SSECustomerKeyMD5 = &v
23752 return s
23753 }
23754
23755 // SetUploadId sets the UploadId field's value.
23756 func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
23757 s.UploadId = &v
23758 return s
23759 }
23760
23761 type UploadPartCopyOutput struct {
23762 _ struct{} `type:"structure" payload:"CopyPartResult"`
23763
23764 CopyPartResult *CopyPartResult `type:"structure"`
23765
23766 // The version of the source object that was copied, if you have enabled versioning
23767 // on the source bucket.
23768 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
23769
23770 // If present, indicates that the requester was successfully charged for the
23771 // request.
23772 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
23773
23774 // If server-side encryption with a customer-provided encryption key was requested,
23775 // the response will include this header confirming the encryption algorithm
23776 // used.
23777 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23778
23779 // If server-side encryption with a customer-provided encryption key was requested,
23780 // the response will include this header to provide round trip message integrity
23781 // verification of the customer-provided encryption key.
23782 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23783
23784 // If present, specifies the ID of the AWS Key Management Service (KMS) master
23785 // encryption key that was used for the object.
23786 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
23787
23788 // The Server-side encryption algorithm used when storing this object in S3
23789 // (e.g., AES256, aws:kms).
23790 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
23791 }
23792
23793 // String returns the string representation
23794 func (s UploadPartCopyOutput) String() string {
23795 return awsutil.Prettify(s)
23796 }
23797
23798 // GoString returns the string representation
23799 func (s UploadPartCopyOutput) GoString() string {
23800 return s.String()
23801 }
23802
23803 // SetCopyPartResult sets the CopyPartResult field's value.
23804 func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput {
23805 s.CopyPartResult = v
23806 return s
23807 }
23808
23809 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
23810 func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput {
23811 s.CopySourceVersionId = &v
23812 return s
23813 }
23814
23815 // SetRequestCharged sets the RequestCharged field's value.
23816 func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput {
23817 s.RequestCharged = &v
23818 return s
23819 }
23820
23821 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23822 func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput {
23823 s.SSECustomerAlgorithm = &v
23824 return s
23825 }
23826
23827 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
23828 func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput {
23829 s.SSECustomerKeyMD5 = &v
23830 return s
23831 }
23832
23833 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
23834 func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput {
23835 s.SSEKMSKeyId = &v
23836 return s
23837 }
23838
23839 // SetServerSideEncryption sets the ServerSideEncryption field's value.
23840 func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput {
23841 s.ServerSideEncryption = &v
23842 return s
23843 }
23844
23845 type UploadPartInput struct {
23846 _ struct{} `type:"structure" payload:"Body"`
23847
23848 // Object data.
23849 Body io.ReadSeeker `type:"blob"`
23850
23851 // Name of the bucket to which the multipart upload was initiated.
23852 //
23853 // Bucket is a required field
23854 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
23855
23856 // Size of the body in bytes. This parameter is useful when the size of the
23857 // body cannot be determined automatically.
23858 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
23859
23860 // The base64-encoded 128-bit MD5 digest of the part data.
23861 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
23862
23863 // Object key for which the multipart upload was initiated.
23864 //
23865 // Key is a required field
23866 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
23867
23868 // Part number of part being uploaded. This is a positive integer between 1
23869 // and 10,000.
23870 //
23871 // PartNumber is a required field
23872 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
23873
23874 // Confirms that the requester knows that she or he will be charged for the
23875 // request. Bucket owners need not specify this parameter in their requests.
23876 // Documentation on downloading objects from requester pays buckets can be found
23877 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
23878 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
23879
23880 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
23881 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23882
23883 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
23884 // data. This value is used to store the object and then it is discarded; Amazon
23885 // does not store the encryption key. The key must be appropriate for use with
23886 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23887 // header. This must be the same encryption key specified in the initiate multipart
23888 // upload request.
23889 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23890
23891 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23892 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23893 // key was transmitted without error.
23894 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23895
23896 // Upload ID identifying the multipart upload whose part is being uploaded.
23897 //
23898 // UploadId is a required field
23899 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
23900 }
23901
23902 // String returns the string representation
23903 func (s UploadPartInput) String() string {
23904 return awsutil.Prettify(s)
23905 }
23906
23907 // GoString returns the string representation
23908 func (s UploadPartInput) GoString() string {
23909 return s.String()
23910 }
23911
23912 // Validate inspects the fields of the type to determine if they are valid.
23913 func (s *UploadPartInput) Validate() error {
23914 invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"}
23915 if s.Bucket == nil {
23916 invalidParams.Add(request.NewErrParamRequired("Bucket"))
23917 }
23918 if s.Bucket != nil && len(*s.Bucket) < 1 {
23919 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
23920 }
23921 if s.Key == nil {
23922 invalidParams.Add(request.NewErrParamRequired("Key"))
23923 }
23924 if s.Key != nil && len(*s.Key) < 1 {
23925 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23926 }
23927 if s.PartNumber == nil {
23928 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
23929 }
23930 if s.UploadId == nil {
23931 invalidParams.Add(request.NewErrParamRequired("UploadId"))
23932 }
23933
23934 if invalidParams.Len() > 0 {
23935 return invalidParams
23936 }
23937 return nil
23938 }
23939
23940 // SetBody sets the Body field's value.
23941 func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput {
23942 s.Body = v
23943 return s
23944 }
23945
23946 // SetBucket sets the Bucket field's value.
23947 func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
23948 s.Bucket = &v
23949 return s
23950 }
23951
23952 func (s *UploadPartInput) getBucket() (v string) {
23953 if s.Bucket == nil {
23954 return v
23955 }
23956 return *s.Bucket
23957 }
23958
23959 // SetContentLength sets the ContentLength field's value.
23960 func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
23961 s.ContentLength = &v
23962 return s
23963 }
23964
23965 // SetContentMD5 sets the ContentMD5 field's value.
23966 func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
23967 s.ContentMD5 = &v
23968 return s
23969 }
23970
23971 // SetKey sets the Key field's value.
23972 func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
23973 s.Key = &v
23974 return s
23975 }
23976
23977 // SetPartNumber sets the PartNumber field's value.
23978 func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput {
23979 s.PartNumber = &v
23980 return s
23981 }
23982
23983 // SetRequestPayer sets the RequestPayer field's value.
23984 func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput {
23985 s.RequestPayer = &v
23986 return s
23987 }
23988
23989 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23990 func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput {
23991 s.SSECustomerAlgorithm = &v
23992 return s
23993 }
23994
23995 // SetSSECustomerKey sets the SSECustomerKey field's value.
23996 func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
23997 s.SSECustomerKey = &v
23998 return s
23999 }
24000
24001 func (s *UploadPartInput) getSSECustomerKey() (v string) {
24002 if s.SSECustomerKey == nil {
24003 return v
24004 }
24005 return *s.SSECustomerKey
24006 }
24007
24008 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24009 func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
24010 s.SSECustomerKeyMD5 = &v
24011 return s
24012 }
24013
24014 // SetUploadId sets the UploadId field's value.
24015 func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
24016 s.UploadId = &v
24017 return s
24018 }
24019
24020 type UploadPartOutput struct {
24021 _ struct{} `type:"structure"`
24022
24023 // Entity tag for the uploaded object.
24024 ETag *string `location:"header" locationName:"ETag" type:"string"`
24025
24026 // If present, indicates that the requester was successfully charged for the
24027 // request.
24028 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
24029
24030 // If server-side encryption with a customer-provided encryption key was requested,
24031 // the response will include this header confirming the encryption algorithm
24032 // used.
24033 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
24034
24035 // If server-side encryption with a customer-provided encryption key was requested,
24036 // the response will include this header to provide round trip message integrity
24037 // verification of the customer-provided encryption key.
24038 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
24039
24040 // If present, specifies the ID of the AWS Key Management Service (KMS) master
24041 // encryption key that was used for the object.
24042 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
24043
24044 // The Server-side encryption algorithm used when storing this object in S3
24045 // (e.g., AES256, aws:kms).
24046 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
24047 }
24048
24049 // String returns the string representation
24050 func (s UploadPartOutput) String() string {
24051 return awsutil.Prettify(s)
24052 }
24053
24054 // GoString returns the string representation
24055 func (s UploadPartOutput) GoString() string {
24056 return s.String()
24057 }
24058
24059 // SetETag sets the ETag field's value.
24060 func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
24061 s.ETag = &v
24062 return s
24063 }
24064
24065 // SetRequestCharged sets the RequestCharged field's value.
24066 func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput {
24067 s.RequestCharged = &v
24068 return s
24069 }
24070
24071 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24072 func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput {
24073 s.SSECustomerAlgorithm = &v
24074 return s
24075 }
24076
24077 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24078 func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput {
24079 s.SSECustomerKeyMD5 = &v
24080 return s
24081 }
24082
24083 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24084 func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput {
24085 s.SSEKMSKeyId = &v
24086 return s
24087 }
24088
24089 // SetServerSideEncryption sets the ServerSideEncryption field's value.
24090 func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
24091 s.ServerSideEncryption = &v
24092 return s
24093 }
24094
24095 type VersioningConfiguration struct {
24096 _ struct{} `type:"structure"`
24097
24098 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
24099 // This element is only returned if the bucket has been configured with MFA
24100 // delete. If the bucket has never been so configured, this element is not returned.
24101 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"`
24102
24103 // The versioning state of the bucket.
24104 Status *string `type:"string" enum:"BucketVersioningStatus"`
24105 }
24106
24107 // String returns the string representation
24108 func (s VersioningConfiguration) String() string {
24109 return awsutil.Prettify(s)
24110 }
24111
24112 // GoString returns the string representation
24113 func (s VersioningConfiguration) GoString() string {
24114 return s.String()
24115 }
24116
24117 // SetMFADelete sets the MFADelete field's value.
24118 func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration {
24119 s.MFADelete = &v
24120 return s
24121 }
24122
24123 // SetStatus sets the Status field's value.
24124 func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
24125 s.Status = &v
24126 return s
24127 }
24128
24129 type WebsiteConfiguration struct {
24130 _ struct{} `type:"structure"`
24131
24132 ErrorDocument *ErrorDocument `type:"structure"`
24133
24134 IndexDocument *IndexDocument `type:"structure"`
24135
24136 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
24137
24138 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
24139 }
24140
24141 // String returns the string representation
24142 func (s WebsiteConfiguration) String() string {
24143 return awsutil.Prettify(s)
24144 }
24145
24146 // GoString returns the string representation
24147 func (s WebsiteConfiguration) GoString() string {
24148 return s.String()
24149 }
24150
24151 // Validate inspects the fields of the type to determine if they are valid.
24152 func (s *WebsiteConfiguration) Validate() error {
24153 invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"}
24154 if s.ErrorDocument != nil {
24155 if err := s.ErrorDocument.Validate(); err != nil {
24156 invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams))
24157 }
24158 }
24159 if s.IndexDocument != nil {
24160 if err := s.IndexDocument.Validate(); err != nil {
24161 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams))
24162 }
24163 }
24164 if s.RedirectAllRequestsTo != nil {
24165 if err := s.RedirectAllRequestsTo.Validate(); err != nil {
24166 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams))
24167 }
24168 }
24169 if s.RoutingRules != nil {
24170 for i, v := range s.RoutingRules {
24171 if v == nil {
24172 continue
24173 }
24174 if err := v.Validate(); err != nil {
24175 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams))
24176 }
24177 }
24178 }
24179
24180 if invalidParams.Len() > 0 {
24181 return invalidParams
24182 }
24183 return nil
24184 }
24185
24186 // SetErrorDocument sets the ErrorDocument field's value.
24187 func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration {
24188 s.ErrorDocument = v
24189 return s
24190 }
24191
24192 // SetIndexDocument sets the IndexDocument field's value.
24193 func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration {
24194 s.IndexDocument = v
24195 return s
24196 }
24197
24198 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
24199 func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration {
24200 s.RedirectAllRequestsTo = v
24201 return s
24202 }
24203
24204 // SetRoutingRules sets the RoutingRules field's value.
24205 func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration {
24206 s.RoutingRules = v
24207 return s
24208 }
24209
24210 const (
24211 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value
24212 AnalyticsS3ExportFileFormatCsv = "CSV"
24213 )
24214
24215 const (
24216 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
24217 BucketAccelerateStatusEnabled = "Enabled"
24218
24219 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value
24220 BucketAccelerateStatusSuspended = "Suspended"
24221 )
24222
24223 const (
24224 // BucketCannedACLPrivate is a BucketCannedACL enum value
24225 BucketCannedACLPrivate = "private"
24226
24227 // BucketCannedACLPublicRead is a BucketCannedACL enum value
24228 BucketCannedACLPublicRead = "public-read"
24229
24230 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
24231 BucketCannedACLPublicReadWrite = "public-read-write"
24232
24233 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
24234 BucketCannedACLAuthenticatedRead = "authenticated-read"
24235 )
24236
24237 const (
24238 // BucketLocationConstraintEu is a BucketLocationConstraint enum value
24239 BucketLocationConstraintEu = "EU"
24240
24241 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value
24242 BucketLocationConstraintEuWest1 = "eu-west-1"
24243
24244 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value
24245 BucketLocationConstraintUsWest1 = "us-west-1"
24246
24247 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value
24248 BucketLocationConstraintUsWest2 = "us-west-2"
24249
24250 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value
24251 BucketLocationConstraintApSouth1 = "ap-south-1"
24252
24253 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value
24254 BucketLocationConstraintApSoutheast1 = "ap-southeast-1"
24255
24256 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value
24257 BucketLocationConstraintApSoutheast2 = "ap-southeast-2"
24258
24259 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value
24260 BucketLocationConstraintApNortheast1 = "ap-northeast-1"
24261
24262 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value
24263 BucketLocationConstraintSaEast1 = "sa-east-1"
24264
24265 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value
24266 BucketLocationConstraintCnNorth1 = "cn-north-1"
24267
24268 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value
24269 BucketLocationConstraintEuCentral1 = "eu-central-1"
24270 )
24271
24272 const (
24273 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value
24274 BucketLogsPermissionFullControl = "FULL_CONTROL"
24275
24276 // BucketLogsPermissionRead is a BucketLogsPermission enum value
24277 BucketLogsPermissionRead = "READ"
24278
24279 // BucketLogsPermissionWrite is a BucketLogsPermission enum value
24280 BucketLogsPermissionWrite = "WRITE"
24281 )
24282
24283 const (
24284 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value
24285 BucketVersioningStatusEnabled = "Enabled"
24286
24287 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value
24288 BucketVersioningStatusSuspended = "Suspended"
24289 )
24290
24291 const (
24292 // CompressionTypeNone is a CompressionType enum value
24293 CompressionTypeNone = "NONE"
24294
24295 // CompressionTypeGzip is a CompressionType enum value
24296 CompressionTypeGzip = "GZIP"
24297
24298 // CompressionTypeBzip2 is a CompressionType enum value
24299 CompressionTypeBzip2 = "BZIP2"
24300 )
24301
24302 const (
24303 // DeleteMarkerReplicationStatusEnabled is a DeleteMarkerReplicationStatus enum value
24304 DeleteMarkerReplicationStatusEnabled = "Enabled"
24305
24306 // DeleteMarkerReplicationStatusDisabled is a DeleteMarkerReplicationStatus enum value
24307 DeleteMarkerReplicationStatusDisabled = "Disabled"
24308 )
24309
24310 // Requests Amazon S3 to encode the object keys in the response and specifies
24311 // the encoding method to use. An object key may contain any Unicode character;
24312 // however, XML 1.0 parser cannot parse some characters, such as characters
24313 // with an ASCII value from 0 to 10. For characters that are not supported in
24314 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
24315 // keys in the response.
24316 const (
24317 // EncodingTypeUrl is a EncodingType enum value
24318 EncodingTypeUrl = "url"
24319 )
24320
24321 // The bucket event for which to send notifications.
24322 const (
24323 // EventS3ReducedRedundancyLostObject is a Event enum value
24324 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"
24325
24326 // EventS3ObjectCreated is a Event enum value
24327 EventS3ObjectCreated = "s3:ObjectCreated:*"
24328
24329 // EventS3ObjectCreatedPut is a Event enum value
24330 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put"
24331
24332 // EventS3ObjectCreatedPost is a Event enum value
24333 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"
24334
24335 // EventS3ObjectCreatedCopy is a Event enum value
24336 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"
24337
24338 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value
24339 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"
24340
24341 // EventS3ObjectRemoved is a Event enum value
24342 EventS3ObjectRemoved = "s3:ObjectRemoved:*"
24343
24344 // EventS3ObjectRemovedDelete is a Event enum value
24345 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"
24346
24347 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value
24348 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"
24349
24350 // EventS3ObjectRestorePost is a Event enum value
24351 EventS3ObjectRestorePost = "s3:ObjectRestore:Post"
24352
24353 // EventS3ObjectRestoreCompleted is a Event enum value
24354 EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed"
24355 )
24356
24357 const (
24358 // ExpirationStatusEnabled is a ExpirationStatus enum value
24359 ExpirationStatusEnabled = "Enabled"
24360
24361 // ExpirationStatusDisabled is a ExpirationStatus enum value
24362 ExpirationStatusDisabled = "Disabled"
24363 )
24364
24365 const (
24366 // ExpressionTypeSql is a ExpressionType enum value
24367 ExpressionTypeSql = "SQL"
24368 )
24369
24370 const (
24371 // FileHeaderInfoUse is a FileHeaderInfo enum value
24372 FileHeaderInfoUse = "USE"
24373
24374 // FileHeaderInfoIgnore is a FileHeaderInfo enum value
24375 FileHeaderInfoIgnore = "IGNORE"
24376
24377 // FileHeaderInfoNone is a FileHeaderInfo enum value
24378 FileHeaderInfoNone = "NONE"
24379 )
24380
24381 const (
24382 // FilterRuleNamePrefix is a FilterRuleName enum value
24383 FilterRuleNamePrefix = "prefix"
24384
24385 // FilterRuleNameSuffix is a FilterRuleName enum value
24386 FilterRuleNameSuffix = "suffix"
24387 )
24388
24389 const (
24390 // InventoryFormatCsv is a InventoryFormat enum value
24391 InventoryFormatCsv = "CSV"
24392
24393 // InventoryFormatOrc is a InventoryFormat enum value
24394 InventoryFormatOrc = "ORC"
24395
24396 // InventoryFormatParquet is a InventoryFormat enum value
24397 InventoryFormatParquet = "Parquet"
24398 )
24399
24400 const (
24401 // InventoryFrequencyDaily is a InventoryFrequency enum value
24402 InventoryFrequencyDaily = "Daily"
24403
24404 // InventoryFrequencyWeekly is a InventoryFrequency enum value
24405 InventoryFrequencyWeekly = "Weekly"
24406 )
24407
24408 const (
24409 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value
24410 InventoryIncludedObjectVersionsAll = "All"
24411
24412 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value
24413 InventoryIncludedObjectVersionsCurrent = "Current"
24414 )
24415
24416 const (
24417 // InventoryOptionalFieldSize is a InventoryOptionalField enum value
24418 InventoryOptionalFieldSize = "Size"
24419
24420 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value
24421 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"
24422
24423 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value
24424 InventoryOptionalFieldStorageClass = "StorageClass"
24425
24426 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value
24427 InventoryOptionalFieldEtag = "ETag"
24428
24429 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value
24430 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"
24431
24432 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
24433 InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
24434
24435 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
24436 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
24437
24438 // InventoryOptionalFieldObjectLockRetainUntilDate is a InventoryOptionalField enum value
24439 InventoryOptionalFieldObjectLockRetainUntilDate = "ObjectLockRetainUntilDate"
24440
24441 // InventoryOptionalFieldObjectLockMode is a InventoryOptionalField enum value
24442 InventoryOptionalFieldObjectLockMode = "ObjectLockMode"
24443
24444 // InventoryOptionalFieldObjectLockLegalHoldStatus is a InventoryOptionalField enum value
24445 InventoryOptionalFieldObjectLockLegalHoldStatus = "ObjectLockLegalHoldStatus"
24446 )
24447
24448 const (
24449 // JSONTypeDocument is a JSONType enum value
24450 JSONTypeDocument = "DOCUMENT"
24451
24452 // JSONTypeLines is a JSONType enum value
24453 JSONTypeLines = "LINES"
24454 )
24455
24456 const (
24457 // MFADeleteEnabled is a MFADelete enum value
24458 MFADeleteEnabled = "Enabled"
24459
24460 // MFADeleteDisabled is a MFADelete enum value
24461 MFADeleteDisabled = "Disabled"
24462 )
24463
24464 const (
24465 // MFADeleteStatusEnabled is a MFADeleteStatus enum value
24466 MFADeleteStatusEnabled = "Enabled"
24467
24468 // MFADeleteStatusDisabled is a MFADeleteStatus enum value
24469 MFADeleteStatusDisabled = "Disabled"
24470 )
24471
24472 const (
24473 // MetadataDirectiveCopy is a MetadataDirective enum value
24474 MetadataDirectiveCopy = "COPY"
24475
24476 // MetadataDirectiveReplace is a MetadataDirective enum value
24477 MetadataDirectiveReplace = "REPLACE"
24478 )
24479
24480 const (
24481 // ObjectCannedACLPrivate is a ObjectCannedACL enum value
24482 ObjectCannedACLPrivate = "private"
24483
24484 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value
24485 ObjectCannedACLPublicRead = "public-read"
24486
24487 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
24488 ObjectCannedACLPublicReadWrite = "public-read-write"
24489
24490 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
24491 ObjectCannedACLAuthenticatedRead = "authenticated-read"
24492
24493 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
24494 ObjectCannedACLAwsExecRead = "aws-exec-read"
24495
24496 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
24497 ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
24498
24499 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
24500 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
24501 )
24502
24503 const (
24504 // ObjectLockEnabledEnabled is a ObjectLockEnabled enum value
24505 ObjectLockEnabledEnabled = "Enabled"
24506 )
24507
24508 const (
24509 // ObjectLockLegalHoldStatusOn is a ObjectLockLegalHoldStatus enum value
24510 ObjectLockLegalHoldStatusOn = "ON"
24511
24512 // ObjectLockLegalHoldStatusOff is a ObjectLockLegalHoldStatus enum value
24513 ObjectLockLegalHoldStatusOff = "OFF"
24514 )
24515
24516 const (
24517 // ObjectLockModeGovernance is a ObjectLockMode enum value
24518 ObjectLockModeGovernance = "GOVERNANCE"
24519
24520 // ObjectLockModeCompliance is a ObjectLockMode enum value
24521 ObjectLockModeCompliance = "COMPLIANCE"
24522 )
24523
24524 const (
24525 // ObjectLockRetentionModeGovernance is a ObjectLockRetentionMode enum value
24526 ObjectLockRetentionModeGovernance = "GOVERNANCE"
24527
24528 // ObjectLockRetentionModeCompliance is a ObjectLockRetentionMode enum value
24529 ObjectLockRetentionModeCompliance = "COMPLIANCE"
24530 )
24531
24532 const (
24533 // ObjectStorageClassStandard is a ObjectStorageClass enum value
24534 ObjectStorageClassStandard = "STANDARD"
24535
24536 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value
24537 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24538
24539 // ObjectStorageClassGlacier is a ObjectStorageClass enum value
24540 ObjectStorageClassGlacier = "GLACIER"
24541
24542 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
24543 ObjectStorageClassStandardIa = "STANDARD_IA"
24544
24545 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
24546 ObjectStorageClassOnezoneIa = "ONEZONE_IA"
24547
24548 // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value
24549 ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24550
24551 // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value
24552 ObjectStorageClassDeepArchive = "DEEP_ARCHIVE"
24553 )
24554
24555 const (
24556 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value
24557 ObjectVersionStorageClassStandard = "STANDARD"
24558 )
24559
24560 const (
24561 // OwnerOverrideDestination is a OwnerOverride enum value
24562 OwnerOverrideDestination = "Destination"
24563 )
24564
24565 const (
24566 // PayerRequester is a Payer enum value
24567 PayerRequester = "Requester"
24568
24569 // PayerBucketOwner is a Payer enum value
24570 PayerBucketOwner = "BucketOwner"
24571 )
24572
24573 const (
24574 // PermissionFullControl is a Permission enum value
24575 PermissionFullControl = "FULL_CONTROL"
24576
24577 // PermissionWrite is a Permission enum value
24578 PermissionWrite = "WRITE"
24579
24580 // PermissionWriteAcp is a Permission enum value
24581 PermissionWriteAcp = "WRITE_ACP"
24582
24583 // PermissionRead is a Permission enum value
24584 PermissionRead = "READ"
24585
24586 // PermissionReadAcp is a Permission enum value
24587 PermissionReadAcp = "READ_ACP"
24588 )
24589
24590 const (
24591 // ProtocolHttp is a Protocol enum value
24592 ProtocolHttp = "http"
24593
24594 // ProtocolHttps is a Protocol enum value
24595 ProtocolHttps = "https"
24596 )
24597
24598 const (
24599 // QuoteFieldsAlways is a QuoteFields enum value
24600 QuoteFieldsAlways = "ALWAYS"
24601
24602 // QuoteFieldsAsneeded is a QuoteFields enum value
24603 QuoteFieldsAsneeded = "ASNEEDED"
24604 )
24605
24606 const (
24607 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
24608 ReplicationRuleStatusEnabled = "Enabled"
24609
24610 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value
24611 ReplicationRuleStatusDisabled = "Disabled"
24612 )
24613
24614 const (
24615 // ReplicationStatusComplete is a ReplicationStatus enum value
24616 ReplicationStatusComplete = "COMPLETE"
24617
24618 // ReplicationStatusPending is a ReplicationStatus enum value
24619 ReplicationStatusPending = "PENDING"
24620
24621 // ReplicationStatusFailed is a ReplicationStatus enum value
24622 ReplicationStatusFailed = "FAILED"
24623
24624 // ReplicationStatusReplica is a ReplicationStatus enum value
24625 ReplicationStatusReplica = "REPLICA"
24626 )
24627
24628 // If present, indicates that the requester was successfully charged for the
24629 // request.
24630 const (
24631 // RequestChargedRequester is a RequestCharged enum value
24632 RequestChargedRequester = "requester"
24633 )
24634
24635 // Confirms that the requester knows that she or he will be charged for the
24636 // request. Bucket owners need not specify this parameter in their requests.
24637 // Documentation on downloading objects from requester pays buckets can be found
24638 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
24639 const (
24640 // RequestPayerRequester is a RequestPayer enum value
24641 RequestPayerRequester = "requester"
24642 )
24643
24644 const (
24645 // RestoreRequestTypeSelect is a RestoreRequestType enum value
24646 RestoreRequestTypeSelect = "SELECT"
24647 )
24648
24649 const (
24650 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
24651 ServerSideEncryptionAes256 = "AES256"
24652
24653 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value
24654 ServerSideEncryptionAwsKms = "aws:kms"
24655 )
24656
24657 const (
24658 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
24659 SseKmsEncryptedObjectsStatusEnabled = "Enabled"
24660
24661 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
24662 SseKmsEncryptedObjectsStatusDisabled = "Disabled"
24663 )
24664
24665 const (
24666 // StorageClassStandard is a StorageClass enum value
24667 StorageClassStandard = "STANDARD"
24668
24669 // StorageClassReducedRedundancy is a StorageClass enum value
24670 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24671
24672 // StorageClassStandardIa is a StorageClass enum value
24673 StorageClassStandardIa = "STANDARD_IA"
24674
24675 // StorageClassOnezoneIa is a StorageClass enum value
24676 StorageClassOnezoneIa = "ONEZONE_IA"
24677
24678 // StorageClassIntelligentTiering is a StorageClass enum value
24679 StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24680
24681 // StorageClassGlacier is a StorageClass enum value
24682 StorageClassGlacier = "GLACIER"
24683
24684 // StorageClassDeepArchive is a StorageClass enum value
24685 StorageClassDeepArchive = "DEEP_ARCHIVE"
24686 )
24687
24688 const (
24689 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value
24690 StorageClassAnalysisSchemaVersionV1 = "V_1"
24691 )
24692
24693 const (
24694 // TaggingDirectiveCopy is a TaggingDirective enum value
24695 TaggingDirectiveCopy = "COPY"
24696
24697 // TaggingDirectiveReplace is a TaggingDirective enum value
24698 TaggingDirectiveReplace = "REPLACE"
24699 )
24700
24701 const (
24702 // TierStandard is a Tier enum value
24703 TierStandard = "Standard"
24704
24705 // TierBulk is a Tier enum value
24706 TierBulk = "Bulk"
24707
24708 // TierExpedited is a Tier enum value
24709 TierExpedited = "Expedited"
24710 )
24711
24712 const (
24713 // TransitionStorageClassGlacier is a TransitionStorageClass enum value
24714 TransitionStorageClassGlacier = "GLACIER"
24715
24716 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
24717 TransitionStorageClassStandardIa = "STANDARD_IA"
24718
24719 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
24720 TransitionStorageClassOnezoneIa = "ONEZONE_IA"
24721
24722 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value
24723 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24724
24725 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value
24726 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE"
24727 )
24728
24729 const (
24730 // TypeCanonicalUser is a Type enum value
24731 TypeCanonicalUser = "CanonicalUser"
24732
24733 // TypeAmazonCustomerByEmail is a Type enum value
24734 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
24735
24736 // TypeGroup is a Type enum value
24737 TypeGroup = "Group"
24738 )