]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/aws/aws-sdk-go/service/s3/api.go
update vendor and go.mod
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / service / s3 / api.go
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 // To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration
549 // action. The bucket owner has this permission by default. The bucket owner
550 // can grant this permission to others.
551 //
552 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
553 // with awserr.Error's Code and Message methods to get detailed information about
554 // the error.
555 //
556 // See the AWS API reference guide for Amazon Simple Storage Service's
557 // API operation DeleteBucketAnalyticsConfiguration for usage and error information.
558 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
559 func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
560 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
561 return out, req.Send()
562 }
563
564 // DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
565 // the ability to pass a context and additional request options.
566 //
567 // See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
568 //
569 // The context must be non-nil and will be used for request cancellation. If
570 // the context is nil a panic will occur. In the future the SDK may create
571 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
572 // for more information on using Contexts.
573 func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) {
574 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
575 req.SetContext(ctx)
576 req.ApplyOptions(opts...)
577 return out, req.Send()
578 }
579
580 const opDeleteBucketCors = "DeleteBucketCors"
581
582 // DeleteBucketCorsRequest generates a "aws/request.Request" representing the
583 // client's request for the DeleteBucketCors operation. The "output" return
584 // value will be populated with the request's response once the request completes
585 // successfully.
586 //
587 // Use "Send" method on the returned Request to send the API call to the service.
588 // the "output" return value is not valid until after Send returns without error.
589 //
590 // See DeleteBucketCors for more information on using the DeleteBucketCors
591 // API call, and error handling.
592 //
593 // This method is useful when you want to inject custom logic or configuration
594 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
595 //
596 //
597 // // Example sending a request using the DeleteBucketCorsRequest method.
598 // req, resp := client.DeleteBucketCorsRequest(params)
599 //
600 // err := req.Send()
601 // if err == nil { // resp is now filled
602 // fmt.Println(resp)
603 // }
604 //
605 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
606 func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) {
607 op := &request.Operation{
608 Name: opDeleteBucketCors,
609 HTTPMethod: "DELETE",
610 HTTPPath: "/{Bucket}?cors",
611 }
612
613 if input == nil {
614 input = &DeleteBucketCorsInput{}
615 }
616
617 output = &DeleteBucketCorsOutput{}
618 req = c.newRequest(op, input, output)
619 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
620 return
621 }
622
623 // DeleteBucketCors API operation for Amazon Simple Storage Service.
624 //
625 // Deletes the CORS configuration information set for the bucket.
626 //
627 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
628 // with awserr.Error's Code and Message methods to get detailed information about
629 // the error.
630 //
631 // See the AWS API reference guide for Amazon Simple Storage Service's
632 // API operation DeleteBucketCors for usage and error information.
633 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
634 func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
635 req, out := c.DeleteBucketCorsRequest(input)
636 return out, req.Send()
637 }
638
639 // DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
640 // the ability to pass a context and additional request options.
641 //
642 // See DeleteBucketCors for details on how to use this API operation.
643 //
644 // The context must be non-nil and will be used for request cancellation. If
645 // the context is nil a panic will occur. In the future the SDK may create
646 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
647 // for more information on using Contexts.
648 func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) {
649 req, out := c.DeleteBucketCorsRequest(input)
650 req.SetContext(ctx)
651 req.ApplyOptions(opts...)
652 return out, req.Send()
653 }
654
655 const opDeleteBucketEncryption = "DeleteBucketEncryption"
656
657 // DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the
658 // client's request for the DeleteBucketEncryption operation. The "output" return
659 // value will be populated with the request's response once the request completes
660 // successfully.
661 //
662 // Use "Send" method on the returned Request to send the API call to the service.
663 // the "output" return value is not valid until after Send returns without error.
664 //
665 // See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
666 // API call, and error handling.
667 //
668 // This method is useful when you want to inject custom logic or configuration
669 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
670 //
671 //
672 // // Example sending a request using the DeleteBucketEncryptionRequest method.
673 // req, resp := client.DeleteBucketEncryptionRequest(params)
674 //
675 // err := req.Send()
676 // if err == nil { // resp is now filled
677 // fmt.Println(resp)
678 // }
679 //
680 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
681 func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) {
682 op := &request.Operation{
683 Name: opDeleteBucketEncryption,
684 HTTPMethod: "DELETE",
685 HTTPPath: "/{Bucket}?encryption",
686 }
687
688 if input == nil {
689 input = &DeleteBucketEncryptionInput{}
690 }
691
692 output = &DeleteBucketEncryptionOutput{}
693 req = c.newRequest(op, input, output)
694 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
695 return
696 }
697
698 // DeleteBucketEncryption API operation for Amazon Simple Storage Service.
699 //
700 // Deletes the server-side encryption configuration from the bucket.
701 //
702 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
703 // with awserr.Error's Code and Message methods to get detailed information about
704 // the error.
705 //
706 // See the AWS API reference guide for Amazon Simple Storage Service's
707 // API operation DeleteBucketEncryption for usage and error information.
708 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
709 func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) {
710 req, out := c.DeleteBucketEncryptionRequest(input)
711 return out, req.Send()
712 }
713
714 // DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
715 // the ability to pass a context and additional request options.
716 //
717 // See DeleteBucketEncryption for details on how to use this API operation.
718 //
719 // The context must be non-nil and will be used for request cancellation. If
720 // the context is nil a panic will occur. In the future the SDK may create
721 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
722 // for more information on using Contexts.
723 func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) {
724 req, out := c.DeleteBucketEncryptionRequest(input)
725 req.SetContext(ctx)
726 req.ApplyOptions(opts...)
727 return out, req.Send()
728 }
729
730 const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
731
732 // DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
733 // client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
734 // value will be populated with the request's response once the request completes
735 // successfully.
736 //
737 // Use "Send" method on the returned Request to send the API call to the service.
738 // the "output" return value is not valid until after Send returns without error.
739 //
740 // See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
741 // API call, and error handling.
742 //
743 // This method is useful when you want to inject custom logic or configuration
744 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
745 //
746 //
747 // // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
748 // req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
749 //
750 // err := req.Send()
751 // if err == nil { // resp is now filled
752 // fmt.Println(resp)
753 // }
754 //
755 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
756 func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) {
757 op := &request.Operation{
758 Name: opDeleteBucketInventoryConfiguration,
759 HTTPMethod: "DELETE",
760 HTTPPath: "/{Bucket}?inventory",
761 }
762
763 if input == nil {
764 input = &DeleteBucketInventoryConfigurationInput{}
765 }
766
767 output = &DeleteBucketInventoryConfigurationOutput{}
768 req = c.newRequest(op, input, output)
769 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
770 return
771 }
772
773 // DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
774 //
775 // Deletes an inventory configuration (identified by the inventory ID) from
776 // the bucket.
777 //
778 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
779 // with awserr.Error's Code and Message methods to get detailed information about
780 // the error.
781 //
782 // See the AWS API reference guide for Amazon Simple Storage Service's
783 // API operation DeleteBucketInventoryConfiguration for usage and error information.
784 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
785 func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
786 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
787 return out, req.Send()
788 }
789
790 // DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
791 // the ability to pass a context and additional request options.
792 //
793 // See DeleteBucketInventoryConfiguration for details on how to use this API operation.
794 //
795 // The context must be non-nil and will be used for request cancellation. If
796 // the context is nil a panic will occur. In the future the SDK may create
797 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
798 // for more information on using Contexts.
799 func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) {
800 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
801 req.SetContext(ctx)
802 req.ApplyOptions(opts...)
803 return out, req.Send()
804 }
805
806 const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
807
808 // DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
809 // client's request for the DeleteBucketLifecycle operation. The "output" return
810 // value will be populated with the request's response once the request completes
811 // successfully.
812 //
813 // Use "Send" method on the returned Request to send the API call to the service.
814 // the "output" return value is not valid until after Send returns without error.
815 //
816 // See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
817 // API call, and error handling.
818 //
819 // This method is useful when you want to inject custom logic or configuration
820 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
821 //
822 //
823 // // Example sending a request using the DeleteBucketLifecycleRequest method.
824 // req, resp := client.DeleteBucketLifecycleRequest(params)
825 //
826 // err := req.Send()
827 // if err == nil { // resp is now filled
828 // fmt.Println(resp)
829 // }
830 //
831 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
832 func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) {
833 op := &request.Operation{
834 Name: opDeleteBucketLifecycle,
835 HTTPMethod: "DELETE",
836 HTTPPath: "/{Bucket}?lifecycle",
837 }
838
839 if input == nil {
840 input = &DeleteBucketLifecycleInput{}
841 }
842
843 output = &DeleteBucketLifecycleOutput{}
844 req = c.newRequest(op, input, output)
845 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
846 return
847 }
848
849 // DeleteBucketLifecycle API operation for Amazon Simple Storage Service.
850 //
851 // Deletes the lifecycle configuration from the bucket.
852 //
853 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
854 // with awserr.Error's Code and Message methods to get detailed information about
855 // the error.
856 //
857 // See the AWS API reference guide for Amazon Simple Storage Service's
858 // API operation DeleteBucketLifecycle for usage and error information.
859 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
860 func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
861 req, out := c.DeleteBucketLifecycleRequest(input)
862 return out, req.Send()
863 }
864
865 // DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
866 // the ability to pass a context and additional request options.
867 //
868 // See DeleteBucketLifecycle for details on how to use this API operation.
869 //
870 // The context must be non-nil and will be used for request cancellation. If
871 // the context is nil a panic will occur. In the future the SDK may create
872 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
873 // for more information on using Contexts.
874 func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) {
875 req, out := c.DeleteBucketLifecycleRequest(input)
876 req.SetContext(ctx)
877 req.ApplyOptions(opts...)
878 return out, req.Send()
879 }
880
881 const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
882
883 // DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
884 // client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
885 // value will be populated with the request's response once the request completes
886 // successfully.
887 //
888 // Use "Send" method on the returned Request to send the API call to the service.
889 // the "output" return value is not valid until after Send returns without error.
890 //
891 // See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
892 // API call, and error handling.
893 //
894 // This method is useful when you want to inject custom logic or configuration
895 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
896 //
897 //
898 // // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
899 // req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
900 //
901 // err := req.Send()
902 // if err == nil { // resp is now filled
903 // fmt.Println(resp)
904 // }
905 //
906 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
907 func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) {
908 op := &request.Operation{
909 Name: opDeleteBucketMetricsConfiguration,
910 HTTPMethod: "DELETE",
911 HTTPPath: "/{Bucket}?metrics",
912 }
913
914 if input == nil {
915 input = &DeleteBucketMetricsConfigurationInput{}
916 }
917
918 output = &DeleteBucketMetricsConfigurationOutput{}
919 req = c.newRequest(op, input, output)
920 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
921 return
922 }
923
924 // DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
925 //
926 // Deletes a metrics configuration (specified by the metrics configuration ID)
927 // from the bucket.
928 //
929 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
930 // with awserr.Error's Code and Message methods to get detailed information about
931 // the error.
932 //
933 // See the AWS API reference guide for Amazon Simple Storage Service's
934 // API operation DeleteBucketMetricsConfiguration for usage and error information.
935 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
936 func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
937 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
938 return out, req.Send()
939 }
940
941 // DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
942 // the ability to pass a context and additional request options.
943 //
944 // See DeleteBucketMetricsConfiguration for details on how to use this API operation.
945 //
946 // The context must be non-nil and will be used for request cancellation. If
947 // the context is nil a panic will occur. In the future the SDK may create
948 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
949 // for more information on using Contexts.
950 func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) {
951 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
952 req.SetContext(ctx)
953 req.ApplyOptions(opts...)
954 return out, req.Send()
955 }
956
957 const opDeleteBucketPolicy = "DeleteBucketPolicy"
958
959 // DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
960 // client's request for the DeleteBucketPolicy operation. The "output" return
961 // value will be populated with the request's response once the request completes
962 // successfully.
963 //
964 // Use "Send" method on the returned Request to send the API call to the service.
965 // the "output" return value is not valid until after Send returns without error.
966 //
967 // See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
968 // API call, and error handling.
969 //
970 // This method is useful when you want to inject custom logic or configuration
971 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
972 //
973 //
974 // // Example sending a request using the DeleteBucketPolicyRequest method.
975 // req, resp := client.DeleteBucketPolicyRequest(params)
976 //
977 // err := req.Send()
978 // if err == nil { // resp is now filled
979 // fmt.Println(resp)
980 // }
981 //
982 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
983 func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) {
984 op := &request.Operation{
985 Name: opDeleteBucketPolicy,
986 HTTPMethod: "DELETE",
987 HTTPPath: "/{Bucket}?policy",
988 }
989
990 if input == nil {
991 input = &DeleteBucketPolicyInput{}
992 }
993
994 output = &DeleteBucketPolicyOutput{}
995 req = c.newRequest(op, input, output)
996 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
997 return
998 }
999
1000 // DeleteBucketPolicy API operation for Amazon Simple Storage Service.
1001 //
1002 // Deletes the policy from the bucket.
1003 //
1004 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1005 // with awserr.Error's Code and Message methods to get detailed information about
1006 // the error.
1007 //
1008 // See the AWS API reference guide for Amazon Simple Storage Service's
1009 // API operation DeleteBucketPolicy for usage and error information.
1010 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
1011 func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
1012 req, out := c.DeleteBucketPolicyRequest(input)
1013 return out, req.Send()
1014 }
1015
1016 // DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
1017 // the ability to pass a context and additional request options.
1018 //
1019 // See DeleteBucketPolicy for details on how to use this API operation.
1020 //
1021 // The context must be non-nil and will be used for request cancellation. If
1022 // the context is nil a panic will occur. In the future the SDK may create
1023 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1024 // for more information on using Contexts.
1025 func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) {
1026 req, out := c.DeleteBucketPolicyRequest(input)
1027 req.SetContext(ctx)
1028 req.ApplyOptions(opts...)
1029 return out, req.Send()
1030 }
1031
1032 const opDeleteBucketReplication = "DeleteBucketReplication"
1033
1034 // DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
1035 // client's request for the DeleteBucketReplication operation. The "output" return
1036 // value will be populated with the request's response once the request completes
1037 // successfully.
1038 //
1039 // Use "Send" method on the returned Request to send the API call to the service.
1040 // the "output" return value is not valid until after Send returns without error.
1041 //
1042 // See DeleteBucketReplication for more information on using the DeleteBucketReplication
1043 // API call, and error handling.
1044 //
1045 // This method is useful when you want to inject custom logic or configuration
1046 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1047 //
1048 //
1049 // // Example sending a request using the DeleteBucketReplicationRequest method.
1050 // req, resp := client.DeleteBucketReplicationRequest(params)
1051 //
1052 // err := req.Send()
1053 // if err == nil { // resp is now filled
1054 // fmt.Println(resp)
1055 // }
1056 //
1057 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
1058 func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) {
1059 op := &request.Operation{
1060 Name: opDeleteBucketReplication,
1061 HTTPMethod: "DELETE",
1062 HTTPPath: "/{Bucket}?replication",
1063 }
1064
1065 if input == nil {
1066 input = &DeleteBucketReplicationInput{}
1067 }
1068
1069 output = &DeleteBucketReplicationOutput{}
1070 req = c.newRequest(op, input, output)
1071 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1072 return
1073 }
1074
1075 // DeleteBucketReplication API operation for Amazon Simple Storage Service.
1076 //
1077 // Deletes the replication configuration from the bucket. For information about
1078 // replication configuration, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
1079 // in the Amazon S3 Developer Guide.
1080 //
1081 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1082 // with awserr.Error's Code and Message methods to get detailed information about
1083 // the error.
1084 //
1085 // See the AWS API reference guide for Amazon Simple Storage Service's
1086 // API operation DeleteBucketReplication for usage and error information.
1087 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
1088 func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
1089 req, out := c.DeleteBucketReplicationRequest(input)
1090 return out, req.Send()
1091 }
1092
1093 // DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
1094 // the ability to pass a context and additional request options.
1095 //
1096 // See DeleteBucketReplication for details on how to use this API operation.
1097 //
1098 // The context must be non-nil and will be used for request cancellation. If
1099 // the context is nil a panic will occur. In the future the SDK may create
1100 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1101 // for more information on using Contexts.
1102 func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) {
1103 req, out := c.DeleteBucketReplicationRequest(input)
1104 req.SetContext(ctx)
1105 req.ApplyOptions(opts...)
1106 return out, req.Send()
1107 }
1108
1109 const opDeleteBucketTagging = "DeleteBucketTagging"
1110
1111 // DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
1112 // client's request for the DeleteBucketTagging operation. The "output" return
1113 // value will be populated with the request's response once the request completes
1114 // successfully.
1115 //
1116 // Use "Send" method on the returned Request to send the API call to the service.
1117 // the "output" return value is not valid until after Send returns without error.
1118 //
1119 // See DeleteBucketTagging for more information on using the DeleteBucketTagging
1120 // API call, and error handling.
1121 //
1122 // This method is useful when you want to inject custom logic or configuration
1123 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1124 //
1125 //
1126 // // Example sending a request using the DeleteBucketTaggingRequest method.
1127 // req, resp := client.DeleteBucketTaggingRequest(params)
1128 //
1129 // err := req.Send()
1130 // if err == nil { // resp is now filled
1131 // fmt.Println(resp)
1132 // }
1133 //
1134 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1135 func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) {
1136 op := &request.Operation{
1137 Name: opDeleteBucketTagging,
1138 HTTPMethod: "DELETE",
1139 HTTPPath: "/{Bucket}?tagging",
1140 }
1141
1142 if input == nil {
1143 input = &DeleteBucketTaggingInput{}
1144 }
1145
1146 output = &DeleteBucketTaggingOutput{}
1147 req = c.newRequest(op, input, output)
1148 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1149 return
1150 }
1151
1152 // DeleteBucketTagging API operation for Amazon Simple Storage Service.
1153 //
1154 // Deletes the tags from the bucket.
1155 //
1156 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1157 // with awserr.Error's Code and Message methods to get detailed information about
1158 // the error.
1159 //
1160 // See the AWS API reference guide for Amazon Simple Storage Service's
1161 // API operation DeleteBucketTagging for usage and error information.
1162 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1163 func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
1164 req, out := c.DeleteBucketTaggingRequest(input)
1165 return out, req.Send()
1166 }
1167
1168 // DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
1169 // the ability to pass a context and additional request options.
1170 //
1171 // See DeleteBucketTagging for details on how to use this API operation.
1172 //
1173 // The context must be non-nil and will be used for request cancellation. If
1174 // the context is nil a panic will occur. In the future the SDK may create
1175 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1176 // for more information on using Contexts.
1177 func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) {
1178 req, out := c.DeleteBucketTaggingRequest(input)
1179 req.SetContext(ctx)
1180 req.ApplyOptions(opts...)
1181 return out, req.Send()
1182 }
1183
1184 const opDeleteBucketWebsite = "DeleteBucketWebsite"
1185
1186 // DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
1187 // client's request for the DeleteBucketWebsite operation. The "output" return
1188 // value will be populated with the request's response once the request completes
1189 // successfully.
1190 //
1191 // Use "Send" method on the returned Request to send the API call to the service.
1192 // the "output" return value is not valid until after Send returns without error.
1193 //
1194 // See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
1195 // API call, and error handling.
1196 //
1197 // This method is useful when you want to inject custom logic or configuration
1198 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1199 //
1200 //
1201 // // Example sending a request using the DeleteBucketWebsiteRequest method.
1202 // req, resp := client.DeleteBucketWebsiteRequest(params)
1203 //
1204 // err := req.Send()
1205 // if err == nil { // resp is now filled
1206 // fmt.Println(resp)
1207 // }
1208 //
1209 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1210 func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) {
1211 op := &request.Operation{
1212 Name: opDeleteBucketWebsite,
1213 HTTPMethod: "DELETE",
1214 HTTPPath: "/{Bucket}?website",
1215 }
1216
1217 if input == nil {
1218 input = &DeleteBucketWebsiteInput{}
1219 }
1220
1221 output = &DeleteBucketWebsiteOutput{}
1222 req = c.newRequest(op, input, output)
1223 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1224 return
1225 }
1226
1227 // DeleteBucketWebsite API operation for Amazon Simple Storage Service.
1228 //
1229 // This operation removes the website configuration from the bucket.
1230 //
1231 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1232 // with awserr.Error's Code and Message methods to get detailed information about
1233 // the error.
1234 //
1235 // See the AWS API reference guide for Amazon Simple Storage Service's
1236 // API operation DeleteBucketWebsite for usage and error information.
1237 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1238 func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
1239 req, out := c.DeleteBucketWebsiteRequest(input)
1240 return out, req.Send()
1241 }
1242
1243 // DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
1244 // the ability to pass a context and additional request options.
1245 //
1246 // See DeleteBucketWebsite for details on how to use this API operation.
1247 //
1248 // The context must be non-nil and will be used for request cancellation. If
1249 // the context is nil a panic will occur. In the future the SDK may create
1250 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1251 // for more information on using Contexts.
1252 func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) {
1253 req, out := c.DeleteBucketWebsiteRequest(input)
1254 req.SetContext(ctx)
1255 req.ApplyOptions(opts...)
1256 return out, req.Send()
1257 }
1258
1259 const opDeleteObject = "DeleteObject"
1260
1261 // DeleteObjectRequest generates a "aws/request.Request" representing the
1262 // client's request for the DeleteObject operation. The "output" return
1263 // value will be populated with the request's response once the request completes
1264 // successfully.
1265 //
1266 // Use "Send" method on the returned Request to send the API call to the service.
1267 // the "output" return value is not valid until after Send returns without error.
1268 //
1269 // See DeleteObject for more information on using the DeleteObject
1270 // API call, and error handling.
1271 //
1272 // This method is useful when you want to inject custom logic or configuration
1273 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1274 //
1275 //
1276 // // Example sending a request using the DeleteObjectRequest method.
1277 // req, resp := client.DeleteObjectRequest(params)
1278 //
1279 // err := req.Send()
1280 // if err == nil { // resp is now filled
1281 // fmt.Println(resp)
1282 // }
1283 //
1284 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1285 func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) {
1286 op := &request.Operation{
1287 Name: opDeleteObject,
1288 HTTPMethod: "DELETE",
1289 HTTPPath: "/{Bucket}/{Key+}",
1290 }
1291
1292 if input == nil {
1293 input = &DeleteObjectInput{}
1294 }
1295
1296 output = &DeleteObjectOutput{}
1297 req = c.newRequest(op, input, output)
1298 return
1299 }
1300
1301 // DeleteObject API operation for Amazon Simple Storage Service.
1302 //
1303 // Removes the null version (if there is one) of an object and inserts a delete
1304 // marker, which becomes the latest version of the object. If there isn't a
1305 // null version, Amazon S3 does not remove any objects.
1306 //
1307 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1308 // with awserr.Error's Code and Message methods to get detailed information about
1309 // the error.
1310 //
1311 // See the AWS API reference guide for Amazon Simple Storage Service's
1312 // API operation DeleteObject for usage and error information.
1313 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1314 func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) {
1315 req, out := c.DeleteObjectRequest(input)
1316 return out, req.Send()
1317 }
1318
1319 // DeleteObjectWithContext is the same as DeleteObject with the addition of
1320 // the ability to pass a context and additional request options.
1321 //
1322 // See DeleteObject for details on how to use this API operation.
1323 //
1324 // The context must be non-nil and will be used for request cancellation. If
1325 // the context is nil a panic will occur. In the future the SDK may create
1326 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1327 // for more information on using Contexts.
1328 func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) {
1329 req, out := c.DeleteObjectRequest(input)
1330 req.SetContext(ctx)
1331 req.ApplyOptions(opts...)
1332 return out, req.Send()
1333 }
1334
1335 const opDeleteObjectTagging = "DeleteObjectTagging"
1336
1337 // DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
1338 // client's request for the DeleteObjectTagging operation. The "output" return
1339 // value will be populated with the request's response once the request completes
1340 // successfully.
1341 //
1342 // Use "Send" method on the returned Request to send the API call to the service.
1343 // the "output" return value is not valid until after Send returns without error.
1344 //
1345 // See DeleteObjectTagging for more information on using the DeleteObjectTagging
1346 // API call, and error handling.
1347 //
1348 // This method is useful when you want to inject custom logic or configuration
1349 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1350 //
1351 //
1352 // // Example sending a request using the DeleteObjectTaggingRequest method.
1353 // req, resp := client.DeleteObjectTaggingRequest(params)
1354 //
1355 // err := req.Send()
1356 // if err == nil { // resp is now filled
1357 // fmt.Println(resp)
1358 // }
1359 //
1360 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1361 func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) {
1362 op := &request.Operation{
1363 Name: opDeleteObjectTagging,
1364 HTTPMethod: "DELETE",
1365 HTTPPath: "/{Bucket}/{Key+}?tagging",
1366 }
1367
1368 if input == nil {
1369 input = &DeleteObjectTaggingInput{}
1370 }
1371
1372 output = &DeleteObjectTaggingOutput{}
1373 req = c.newRequest(op, input, output)
1374 return
1375 }
1376
1377 // DeleteObjectTagging API operation for Amazon Simple Storage Service.
1378 //
1379 // Removes the tag-set from an existing object.
1380 //
1381 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1382 // with awserr.Error's Code and Message methods to get detailed information about
1383 // the error.
1384 //
1385 // See the AWS API reference guide for Amazon Simple Storage Service's
1386 // API operation DeleteObjectTagging for usage and error information.
1387 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1388 func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
1389 req, out := c.DeleteObjectTaggingRequest(input)
1390 return out, req.Send()
1391 }
1392
1393 // DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
1394 // the ability to pass a context and additional request options.
1395 //
1396 // See DeleteObjectTagging for details on how to use this API operation.
1397 //
1398 // The context must be non-nil and will be used for request cancellation. If
1399 // the context is nil a panic will occur. In the future the SDK may create
1400 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1401 // for more information on using Contexts.
1402 func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) {
1403 req, out := c.DeleteObjectTaggingRequest(input)
1404 req.SetContext(ctx)
1405 req.ApplyOptions(opts...)
1406 return out, req.Send()
1407 }
1408
1409 const opDeleteObjects = "DeleteObjects"
1410
1411 // DeleteObjectsRequest generates a "aws/request.Request" representing the
1412 // client's request for the DeleteObjects operation. The "output" return
1413 // value will be populated with the request's response once the request completes
1414 // successfully.
1415 //
1416 // Use "Send" method on the returned Request to send the API call to the service.
1417 // the "output" return value is not valid until after Send returns without error.
1418 //
1419 // See DeleteObjects for more information on using the DeleteObjects
1420 // API call, and error handling.
1421 //
1422 // This method is useful when you want to inject custom logic or configuration
1423 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1424 //
1425 //
1426 // // Example sending a request using the DeleteObjectsRequest method.
1427 // req, resp := client.DeleteObjectsRequest(params)
1428 //
1429 // err := req.Send()
1430 // if err == nil { // resp is now filled
1431 // fmt.Println(resp)
1432 // }
1433 //
1434 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1435 func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) {
1436 op := &request.Operation{
1437 Name: opDeleteObjects,
1438 HTTPMethod: "POST",
1439 HTTPPath: "/{Bucket}?delete",
1440 }
1441
1442 if input == nil {
1443 input = &DeleteObjectsInput{}
1444 }
1445
1446 output = &DeleteObjectsOutput{}
1447 req = c.newRequest(op, input, output)
1448 return
1449 }
1450
1451 // DeleteObjects API operation for Amazon Simple Storage Service.
1452 //
1453 // This operation enables you to delete multiple objects from a bucket using
1454 // a single HTTP request. You may specify up to 1000 keys.
1455 //
1456 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1457 // with awserr.Error's Code and Message methods to get detailed information about
1458 // the error.
1459 //
1460 // See the AWS API reference guide for Amazon Simple Storage Service's
1461 // API operation DeleteObjects for usage and error information.
1462 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1463 func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
1464 req, out := c.DeleteObjectsRequest(input)
1465 return out, req.Send()
1466 }
1467
1468 // DeleteObjectsWithContext is the same as DeleteObjects with the addition of
1469 // the ability to pass a context and additional request options.
1470 //
1471 // See DeleteObjects for details on how to use this API operation.
1472 //
1473 // The context must be non-nil and will be used for request cancellation. If
1474 // the context is nil a panic will occur. In the future the SDK may create
1475 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1476 // for more information on using Contexts.
1477 func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) {
1478 req, out := c.DeleteObjectsRequest(input)
1479 req.SetContext(ctx)
1480 req.ApplyOptions(opts...)
1481 return out, req.Send()
1482 }
1483
1484 const opDeletePublicAccessBlock = "DeletePublicAccessBlock"
1485
1486 // DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the
1487 // client's request for the DeletePublicAccessBlock operation. The "output" return
1488 // value will be populated with the request's response once the request completes
1489 // successfully.
1490 //
1491 // Use "Send" method on the returned Request to send the API call to the service.
1492 // the "output" return value is not valid until after Send returns without error.
1493 //
1494 // See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock
1495 // API call, and error handling.
1496 //
1497 // This method is useful when you want to inject custom logic or configuration
1498 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1499 //
1500 //
1501 // // Example sending a request using the DeletePublicAccessBlockRequest method.
1502 // req, resp := client.DeletePublicAccessBlockRequest(params)
1503 //
1504 // err := req.Send()
1505 // if err == nil { // resp is now filled
1506 // fmt.Println(resp)
1507 // }
1508 //
1509 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1510 func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) {
1511 op := &request.Operation{
1512 Name: opDeletePublicAccessBlock,
1513 HTTPMethod: "DELETE",
1514 HTTPPath: "/{Bucket}?publicAccessBlock",
1515 }
1516
1517 if input == nil {
1518 input = &DeletePublicAccessBlockInput{}
1519 }
1520
1521 output = &DeletePublicAccessBlockOutput{}
1522 req = c.newRequest(op, input, output)
1523 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1524 return
1525 }
1526
1527 // DeletePublicAccessBlock API operation for Amazon Simple Storage Service.
1528 //
1529 // Removes the PublicAccessBlock configuration from an Amazon S3 bucket.
1530 //
1531 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1532 // with awserr.Error's Code and Message methods to get detailed information about
1533 // the error.
1534 //
1535 // See the AWS API reference guide for Amazon Simple Storage Service's
1536 // API operation DeletePublicAccessBlock for usage and error information.
1537 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1538 func (c *S3) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) {
1539 req, out := c.DeletePublicAccessBlockRequest(input)
1540 return out, req.Send()
1541 }
1542
1543 // DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of
1544 // the ability to pass a context and additional request options.
1545 //
1546 // See DeletePublicAccessBlock for details on how to use this API operation.
1547 //
1548 // The context must be non-nil and will be used for request cancellation. If
1549 // the context is nil a panic will occur. In the future the SDK may create
1550 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1551 // for more information on using Contexts.
1552 func (c *S3) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) {
1553 req, out := c.DeletePublicAccessBlockRequest(input)
1554 req.SetContext(ctx)
1555 req.ApplyOptions(opts...)
1556 return out, req.Send()
1557 }
1558
1559 const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
1560
1561 // GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
1562 // client's request for the GetBucketAccelerateConfiguration operation. The "output" return
1563 // value will be populated with the request's response once the request completes
1564 // successfully.
1565 //
1566 // Use "Send" method on the returned Request to send the API call to the service.
1567 // the "output" return value is not valid until after Send returns without error.
1568 //
1569 // See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
1570 // API call, and error handling.
1571 //
1572 // This method is useful when you want to inject custom logic or configuration
1573 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1574 //
1575 //
1576 // // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
1577 // req, resp := client.GetBucketAccelerateConfigurationRequest(params)
1578 //
1579 // err := req.Send()
1580 // if err == nil { // resp is now filled
1581 // fmt.Println(resp)
1582 // }
1583 //
1584 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1585 func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) {
1586 op := &request.Operation{
1587 Name: opGetBucketAccelerateConfiguration,
1588 HTTPMethod: "GET",
1589 HTTPPath: "/{Bucket}?accelerate",
1590 }
1591
1592 if input == nil {
1593 input = &GetBucketAccelerateConfigurationInput{}
1594 }
1595
1596 output = &GetBucketAccelerateConfigurationOutput{}
1597 req = c.newRequest(op, input, output)
1598 return
1599 }
1600
1601 // GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
1602 //
1603 // Returns the accelerate configuration of a bucket.
1604 //
1605 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1606 // with awserr.Error's Code and Message methods to get detailed information about
1607 // the error.
1608 //
1609 // See the AWS API reference guide for Amazon Simple Storage Service's
1610 // API operation GetBucketAccelerateConfiguration for usage and error information.
1611 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1612 func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
1613 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1614 return out, req.Send()
1615 }
1616
1617 // GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
1618 // the ability to pass a context and additional request options.
1619 //
1620 // See GetBucketAccelerateConfiguration for details on how to use this API operation.
1621 //
1622 // The context must be non-nil and will be used for request cancellation. If
1623 // the context is nil a panic will occur. In the future the SDK may create
1624 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1625 // for more information on using Contexts.
1626 func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) {
1627 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1628 req.SetContext(ctx)
1629 req.ApplyOptions(opts...)
1630 return out, req.Send()
1631 }
1632
1633 const opGetBucketAcl = "GetBucketAcl"
1634
1635 // GetBucketAclRequest generates a "aws/request.Request" representing the
1636 // client's request for the GetBucketAcl operation. The "output" return
1637 // value will be populated with the request's response once the request completes
1638 // successfully.
1639 //
1640 // Use "Send" method on the returned Request to send the API call to the service.
1641 // the "output" return value is not valid until after Send returns without error.
1642 //
1643 // See GetBucketAcl for more information on using the GetBucketAcl
1644 // API call, and error handling.
1645 //
1646 // This method is useful when you want to inject custom logic or configuration
1647 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1648 //
1649 //
1650 // // Example sending a request using the GetBucketAclRequest method.
1651 // req, resp := client.GetBucketAclRequest(params)
1652 //
1653 // err := req.Send()
1654 // if err == nil { // resp is now filled
1655 // fmt.Println(resp)
1656 // }
1657 //
1658 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1659 func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) {
1660 op := &request.Operation{
1661 Name: opGetBucketAcl,
1662 HTTPMethod: "GET",
1663 HTTPPath: "/{Bucket}?acl",
1664 }
1665
1666 if input == nil {
1667 input = &GetBucketAclInput{}
1668 }
1669
1670 output = &GetBucketAclOutput{}
1671 req = c.newRequest(op, input, output)
1672 return
1673 }
1674
1675 // GetBucketAcl API operation for Amazon Simple Storage Service.
1676 //
1677 // Gets the access control policy for the bucket.
1678 //
1679 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1680 // with awserr.Error's Code and Message methods to get detailed information about
1681 // the error.
1682 //
1683 // See the AWS API reference guide for Amazon Simple Storage Service's
1684 // API operation GetBucketAcl for usage and error information.
1685 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1686 func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
1687 req, out := c.GetBucketAclRequest(input)
1688 return out, req.Send()
1689 }
1690
1691 // GetBucketAclWithContext is the same as GetBucketAcl with the addition of
1692 // the ability to pass a context and additional request options.
1693 //
1694 // See GetBucketAcl for details on how to use this API operation.
1695 //
1696 // The context must be non-nil and will be used for request cancellation. If
1697 // the context is nil a panic will occur. In the future the SDK may create
1698 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1699 // for more information on using Contexts.
1700 func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) {
1701 req, out := c.GetBucketAclRequest(input)
1702 req.SetContext(ctx)
1703 req.ApplyOptions(opts...)
1704 return out, req.Send()
1705 }
1706
1707 const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
1708
1709 // GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
1710 // client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
1711 // value will be populated with the request's response once the request completes
1712 // successfully.
1713 //
1714 // Use "Send" method on the returned Request to send the API call to the service.
1715 // the "output" return value is not valid until after Send returns without error.
1716 //
1717 // See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
1718 // API call, and error handling.
1719 //
1720 // This method is useful when you want to inject custom logic or configuration
1721 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1722 //
1723 //
1724 // // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
1725 // req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
1726 //
1727 // err := req.Send()
1728 // if err == nil { // resp is now filled
1729 // fmt.Println(resp)
1730 // }
1731 //
1732 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1733 func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) {
1734 op := &request.Operation{
1735 Name: opGetBucketAnalyticsConfiguration,
1736 HTTPMethod: "GET",
1737 HTTPPath: "/{Bucket}?analytics",
1738 }
1739
1740 if input == nil {
1741 input = &GetBucketAnalyticsConfigurationInput{}
1742 }
1743
1744 output = &GetBucketAnalyticsConfigurationOutput{}
1745 req = c.newRequest(op, input, output)
1746 return
1747 }
1748
1749 // GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
1750 //
1751 // Gets an analytics configuration for the bucket (specified by the analytics
1752 // configuration ID).
1753 //
1754 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1755 // with awserr.Error's Code and Message methods to get detailed information about
1756 // the error.
1757 //
1758 // See the AWS API reference guide for Amazon Simple Storage Service's
1759 // API operation GetBucketAnalyticsConfiguration for usage and error information.
1760 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1761 func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
1762 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1763 return out, req.Send()
1764 }
1765
1766 // GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
1767 // the ability to pass a context and additional request options.
1768 //
1769 // See GetBucketAnalyticsConfiguration for details on how to use this API operation.
1770 //
1771 // The context must be non-nil and will be used for request cancellation. If
1772 // the context is nil a panic will occur. In the future the SDK may create
1773 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1774 // for more information on using Contexts.
1775 func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) {
1776 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1777 req.SetContext(ctx)
1778 req.ApplyOptions(opts...)
1779 return out, req.Send()
1780 }
1781
1782 const opGetBucketCors = "GetBucketCors"
1783
1784 // GetBucketCorsRequest generates a "aws/request.Request" representing the
1785 // client's request for the GetBucketCors operation. The "output" return
1786 // value will be populated with the request's response once the request completes
1787 // successfully.
1788 //
1789 // Use "Send" method on the returned Request to send the API call to the service.
1790 // the "output" return value is not valid until after Send returns without error.
1791 //
1792 // See GetBucketCors for more information on using the GetBucketCors
1793 // API call, and error handling.
1794 //
1795 // This method is useful when you want to inject custom logic or configuration
1796 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1797 //
1798 //
1799 // // Example sending a request using the GetBucketCorsRequest method.
1800 // req, resp := client.GetBucketCorsRequest(params)
1801 //
1802 // err := req.Send()
1803 // if err == nil { // resp is now filled
1804 // fmt.Println(resp)
1805 // }
1806 //
1807 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1808 func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) {
1809 op := &request.Operation{
1810 Name: opGetBucketCors,
1811 HTTPMethod: "GET",
1812 HTTPPath: "/{Bucket}?cors",
1813 }
1814
1815 if input == nil {
1816 input = &GetBucketCorsInput{}
1817 }
1818
1819 output = &GetBucketCorsOutput{}
1820 req = c.newRequest(op, input, output)
1821 return
1822 }
1823
1824 // GetBucketCors API operation for Amazon Simple Storage Service.
1825 //
1826 // Returns the CORS configuration for the bucket.
1827 //
1828 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1829 // with awserr.Error's Code and Message methods to get detailed information about
1830 // the error.
1831 //
1832 // See the AWS API reference guide for Amazon Simple Storage Service's
1833 // API operation GetBucketCors for usage and error information.
1834 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1835 func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
1836 req, out := c.GetBucketCorsRequest(input)
1837 return out, req.Send()
1838 }
1839
1840 // GetBucketCorsWithContext is the same as GetBucketCors with the addition of
1841 // the ability to pass a context and additional request options.
1842 //
1843 // See GetBucketCors for details on how to use this API operation.
1844 //
1845 // The context must be non-nil and will be used for request cancellation. If
1846 // the context is nil a panic will occur. In the future the SDK may create
1847 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1848 // for more information on using Contexts.
1849 func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) {
1850 req, out := c.GetBucketCorsRequest(input)
1851 req.SetContext(ctx)
1852 req.ApplyOptions(opts...)
1853 return out, req.Send()
1854 }
1855
1856 const opGetBucketEncryption = "GetBucketEncryption"
1857
1858 // GetBucketEncryptionRequest generates a "aws/request.Request" representing the
1859 // client's request for the GetBucketEncryption operation. The "output" return
1860 // value will be populated with the request's response once the request completes
1861 // successfully.
1862 //
1863 // Use "Send" method on the returned Request to send the API call to the service.
1864 // the "output" return value is not valid until after Send returns without error.
1865 //
1866 // See GetBucketEncryption for more information on using the GetBucketEncryption
1867 // API call, and error handling.
1868 //
1869 // This method is useful when you want to inject custom logic or configuration
1870 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1871 //
1872 //
1873 // // Example sending a request using the GetBucketEncryptionRequest method.
1874 // req, resp := client.GetBucketEncryptionRequest(params)
1875 //
1876 // err := req.Send()
1877 // if err == nil { // resp is now filled
1878 // fmt.Println(resp)
1879 // }
1880 //
1881 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1882 func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) {
1883 op := &request.Operation{
1884 Name: opGetBucketEncryption,
1885 HTTPMethod: "GET",
1886 HTTPPath: "/{Bucket}?encryption",
1887 }
1888
1889 if input == nil {
1890 input = &GetBucketEncryptionInput{}
1891 }
1892
1893 output = &GetBucketEncryptionOutput{}
1894 req = c.newRequest(op, input, output)
1895 return
1896 }
1897
1898 // GetBucketEncryption API operation for Amazon Simple Storage Service.
1899 //
1900 // Returns the server-side encryption configuration of a bucket.
1901 //
1902 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1903 // with awserr.Error's Code and Message methods to get detailed information about
1904 // the error.
1905 //
1906 // See the AWS API reference guide for Amazon Simple Storage Service's
1907 // API operation GetBucketEncryption for usage and error information.
1908 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1909 func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) {
1910 req, out := c.GetBucketEncryptionRequest(input)
1911 return out, req.Send()
1912 }
1913
1914 // GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
1915 // the ability to pass a context and additional request options.
1916 //
1917 // See GetBucketEncryption for details on how to use this API operation.
1918 //
1919 // The context must be non-nil and will be used for request cancellation. If
1920 // the context is nil a panic will occur. In the future the SDK may create
1921 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1922 // for more information on using Contexts.
1923 func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) {
1924 req, out := c.GetBucketEncryptionRequest(input)
1925 req.SetContext(ctx)
1926 req.ApplyOptions(opts...)
1927 return out, req.Send()
1928 }
1929
1930 const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
1931
1932 // GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
1933 // client's request for the GetBucketInventoryConfiguration operation. The "output" return
1934 // value will be populated with the request's response once the request completes
1935 // successfully.
1936 //
1937 // Use "Send" method on the returned Request to send the API call to the service.
1938 // the "output" return value is not valid until after Send returns without error.
1939 //
1940 // See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
1941 // API call, and error handling.
1942 //
1943 // This method is useful when you want to inject custom logic or configuration
1944 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
1945 //
1946 //
1947 // // Example sending a request using the GetBucketInventoryConfigurationRequest method.
1948 // req, resp := client.GetBucketInventoryConfigurationRequest(params)
1949 //
1950 // err := req.Send()
1951 // if err == nil { // resp is now filled
1952 // fmt.Println(resp)
1953 // }
1954 //
1955 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1956 func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) {
1957 op := &request.Operation{
1958 Name: opGetBucketInventoryConfiguration,
1959 HTTPMethod: "GET",
1960 HTTPPath: "/{Bucket}?inventory",
1961 }
1962
1963 if input == nil {
1964 input = &GetBucketInventoryConfigurationInput{}
1965 }
1966
1967 output = &GetBucketInventoryConfigurationOutput{}
1968 req = c.newRequest(op, input, output)
1969 return
1970 }
1971
1972 // GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
1973 //
1974 // Returns an inventory configuration (identified by the inventory ID) from
1975 // the bucket.
1976 //
1977 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1978 // with awserr.Error's Code and Message methods to get detailed information about
1979 // the error.
1980 //
1981 // See the AWS API reference guide for Amazon Simple Storage Service's
1982 // API operation GetBucketInventoryConfiguration for usage and error information.
1983 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1984 func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
1985 req, out := c.GetBucketInventoryConfigurationRequest(input)
1986 return out, req.Send()
1987 }
1988
1989 // GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
1990 // the ability to pass a context and additional request options.
1991 //
1992 // See GetBucketInventoryConfiguration for details on how to use this API operation.
1993 //
1994 // The context must be non-nil and will be used for request cancellation. If
1995 // the context is nil a panic will occur. In the future the SDK may create
1996 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
1997 // for more information on using Contexts.
1998 func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) {
1999 req, out := c.GetBucketInventoryConfigurationRequest(input)
2000 req.SetContext(ctx)
2001 req.ApplyOptions(opts...)
2002 return out, req.Send()
2003 }
2004
2005 const opGetBucketLifecycle = "GetBucketLifecycle"
2006
2007 // GetBucketLifecycleRequest generates a "aws/request.Request" representing the
2008 // client's request for the GetBucketLifecycle operation. The "output" return
2009 // value will be populated with the request's response once the request completes
2010 // successfully.
2011 //
2012 // Use "Send" method on the returned Request to send the API call to the service.
2013 // the "output" return value is not valid until after Send returns without error.
2014 //
2015 // See GetBucketLifecycle for more information on using the GetBucketLifecycle
2016 // API call, and error handling.
2017 //
2018 // This method is useful when you want to inject custom logic or configuration
2019 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2020 //
2021 //
2022 // // Example sending a request using the GetBucketLifecycleRequest method.
2023 // req, resp := client.GetBucketLifecycleRequest(params)
2024 //
2025 // err := req.Send()
2026 // if err == nil { // resp is now filled
2027 // fmt.Println(resp)
2028 // }
2029 //
2030 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
2031 //
2032 // Deprecated: GetBucketLifecycle has been deprecated
2033 func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) {
2034 if c.Client.Config.Logger != nil {
2035 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated")
2036 }
2037 op := &request.Operation{
2038 Name: opGetBucketLifecycle,
2039 HTTPMethod: "GET",
2040 HTTPPath: "/{Bucket}?lifecycle",
2041 }
2042
2043 if input == nil {
2044 input = &GetBucketLifecycleInput{}
2045 }
2046
2047 output = &GetBucketLifecycleOutput{}
2048 req = c.newRequest(op, input, output)
2049 return
2050 }
2051
2052 // GetBucketLifecycle API operation for Amazon Simple Storage Service.
2053 //
2054 // No longer used, see the GetBucketLifecycleConfiguration operation.
2055 //
2056 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2057 // with awserr.Error's Code and Message methods to get detailed information about
2058 // the error.
2059 //
2060 // See the AWS API reference guide for Amazon Simple Storage Service's
2061 // API operation GetBucketLifecycle for usage and error information.
2062 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
2063 //
2064 // Deprecated: GetBucketLifecycle has been deprecated
2065 func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
2066 req, out := c.GetBucketLifecycleRequest(input)
2067 return out, req.Send()
2068 }
2069
2070 // GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
2071 // the ability to pass a context and additional request options.
2072 //
2073 // See GetBucketLifecycle for details on how to use this API operation.
2074 //
2075 // The context must be non-nil and will be used for request cancellation. If
2076 // the context is nil a panic will occur. In the future the SDK may create
2077 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2078 // for more information on using Contexts.
2079 //
2080 // Deprecated: GetBucketLifecycleWithContext has been deprecated
2081 func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) {
2082 req, out := c.GetBucketLifecycleRequest(input)
2083 req.SetContext(ctx)
2084 req.ApplyOptions(opts...)
2085 return out, req.Send()
2086 }
2087
2088 const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
2089
2090 // GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
2091 // client's request for the GetBucketLifecycleConfiguration operation. The "output" return
2092 // value will be populated with the request's response once the request completes
2093 // successfully.
2094 //
2095 // Use "Send" method on the returned Request to send the API call to the service.
2096 // the "output" return value is not valid until after Send returns without error.
2097 //
2098 // See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
2099 // API call, and error handling.
2100 //
2101 // This method is useful when you want to inject custom logic or configuration
2102 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2103 //
2104 //
2105 // // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
2106 // req, resp := client.GetBucketLifecycleConfigurationRequest(params)
2107 //
2108 // err := req.Send()
2109 // if err == nil { // resp is now filled
2110 // fmt.Println(resp)
2111 // }
2112 //
2113 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
2114 func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) {
2115 op := &request.Operation{
2116 Name: opGetBucketLifecycleConfiguration,
2117 HTTPMethod: "GET",
2118 HTTPPath: "/{Bucket}?lifecycle",
2119 }
2120
2121 if input == nil {
2122 input = &GetBucketLifecycleConfigurationInput{}
2123 }
2124
2125 output = &GetBucketLifecycleConfigurationOutput{}
2126 req = c.newRequest(op, input, output)
2127 return
2128 }
2129
2130 // GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
2131 //
2132 // Returns the lifecycle configuration information set on the bucket.
2133 //
2134 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2135 // with awserr.Error's Code and Message methods to get detailed information about
2136 // the error.
2137 //
2138 // See the AWS API reference guide for Amazon Simple Storage Service's
2139 // API operation GetBucketLifecycleConfiguration for usage and error information.
2140 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
2141 func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
2142 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2143 return out, req.Send()
2144 }
2145
2146 // GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
2147 // the ability to pass a context and additional request options.
2148 //
2149 // See GetBucketLifecycleConfiguration for details on how to use this API operation.
2150 //
2151 // The context must be non-nil and will be used for request cancellation. If
2152 // the context is nil a panic will occur. In the future the SDK may create
2153 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2154 // for more information on using Contexts.
2155 func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) {
2156 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2157 req.SetContext(ctx)
2158 req.ApplyOptions(opts...)
2159 return out, req.Send()
2160 }
2161
2162 const opGetBucketLocation = "GetBucketLocation"
2163
2164 // GetBucketLocationRequest generates a "aws/request.Request" representing the
2165 // client's request for the GetBucketLocation operation. The "output" return
2166 // value will be populated with the request's response once the request completes
2167 // successfully.
2168 //
2169 // Use "Send" method on the returned Request to send the API call to the service.
2170 // the "output" return value is not valid until after Send returns without error.
2171 //
2172 // See GetBucketLocation for more information on using the GetBucketLocation
2173 // API call, and error handling.
2174 //
2175 // This method is useful when you want to inject custom logic or configuration
2176 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2177 //
2178 //
2179 // // Example sending a request using the GetBucketLocationRequest method.
2180 // req, resp := client.GetBucketLocationRequest(params)
2181 //
2182 // err := req.Send()
2183 // if err == nil { // resp is now filled
2184 // fmt.Println(resp)
2185 // }
2186 //
2187 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
2188 func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) {
2189 op := &request.Operation{
2190 Name: opGetBucketLocation,
2191 HTTPMethod: "GET",
2192 HTTPPath: "/{Bucket}?location",
2193 }
2194
2195 if input == nil {
2196 input = &GetBucketLocationInput{}
2197 }
2198
2199 output = &GetBucketLocationOutput{}
2200 req = c.newRequest(op, input, output)
2201 return
2202 }
2203
2204 // GetBucketLocation API operation for Amazon Simple Storage Service.
2205 //
2206 // Returns the region the bucket resides in.
2207 //
2208 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2209 // with awserr.Error's Code and Message methods to get detailed information about
2210 // the error.
2211 //
2212 // See the AWS API reference guide for Amazon Simple Storage Service's
2213 // API operation GetBucketLocation for usage and error information.
2214 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
2215 func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
2216 req, out := c.GetBucketLocationRequest(input)
2217 return out, req.Send()
2218 }
2219
2220 // GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
2221 // the ability to pass a context and additional request options.
2222 //
2223 // See GetBucketLocation for details on how to use this API operation.
2224 //
2225 // The context must be non-nil and will be used for request cancellation. If
2226 // the context is nil a panic will occur. In the future the SDK may create
2227 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2228 // for more information on using Contexts.
2229 func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) {
2230 req, out := c.GetBucketLocationRequest(input)
2231 req.SetContext(ctx)
2232 req.ApplyOptions(opts...)
2233 return out, req.Send()
2234 }
2235
2236 const opGetBucketLogging = "GetBucketLogging"
2237
2238 // GetBucketLoggingRequest generates a "aws/request.Request" representing the
2239 // client's request for the GetBucketLogging operation. The "output" return
2240 // value will be populated with the request's response once the request completes
2241 // successfully.
2242 //
2243 // Use "Send" method on the returned Request to send the API call to the service.
2244 // the "output" return value is not valid until after Send returns without error.
2245 //
2246 // See GetBucketLogging for more information on using the GetBucketLogging
2247 // API call, and error handling.
2248 //
2249 // This method is useful when you want to inject custom logic or configuration
2250 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2251 //
2252 //
2253 // // Example sending a request using the GetBucketLoggingRequest method.
2254 // req, resp := client.GetBucketLoggingRequest(params)
2255 //
2256 // err := req.Send()
2257 // if err == nil { // resp is now filled
2258 // fmt.Println(resp)
2259 // }
2260 //
2261 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2262 func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) {
2263 op := &request.Operation{
2264 Name: opGetBucketLogging,
2265 HTTPMethod: "GET",
2266 HTTPPath: "/{Bucket}?logging",
2267 }
2268
2269 if input == nil {
2270 input = &GetBucketLoggingInput{}
2271 }
2272
2273 output = &GetBucketLoggingOutput{}
2274 req = c.newRequest(op, input, output)
2275 return
2276 }
2277
2278 // GetBucketLogging API operation for Amazon Simple Storage Service.
2279 //
2280 // Returns the logging status of a bucket and the permissions users have to
2281 // view and modify that status. To use GET, you must be the bucket owner.
2282 //
2283 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2284 // with awserr.Error's Code and Message methods to get detailed information about
2285 // the error.
2286 //
2287 // See the AWS API reference guide for Amazon Simple Storage Service's
2288 // API operation GetBucketLogging for usage and error information.
2289 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2290 func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
2291 req, out := c.GetBucketLoggingRequest(input)
2292 return out, req.Send()
2293 }
2294
2295 // GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
2296 // the ability to pass a context and additional request options.
2297 //
2298 // See GetBucketLogging for details on how to use this API operation.
2299 //
2300 // The context must be non-nil and will be used for request cancellation. If
2301 // the context is nil a panic will occur. In the future the SDK may create
2302 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2303 // for more information on using Contexts.
2304 func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) {
2305 req, out := c.GetBucketLoggingRequest(input)
2306 req.SetContext(ctx)
2307 req.ApplyOptions(opts...)
2308 return out, req.Send()
2309 }
2310
2311 const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
2312
2313 // GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
2314 // client's request for the GetBucketMetricsConfiguration operation. The "output" return
2315 // value will be populated with the request's response once the request completes
2316 // successfully.
2317 //
2318 // Use "Send" method on the returned Request to send the API call to the service.
2319 // the "output" return value is not valid until after Send returns without error.
2320 //
2321 // See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
2322 // API call, and error handling.
2323 //
2324 // This method is useful when you want to inject custom logic or configuration
2325 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2326 //
2327 //
2328 // // Example sending a request using the GetBucketMetricsConfigurationRequest method.
2329 // req, resp := client.GetBucketMetricsConfigurationRequest(params)
2330 //
2331 // err := req.Send()
2332 // if err == nil { // resp is now filled
2333 // fmt.Println(resp)
2334 // }
2335 //
2336 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2337 func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) {
2338 op := &request.Operation{
2339 Name: opGetBucketMetricsConfiguration,
2340 HTTPMethod: "GET",
2341 HTTPPath: "/{Bucket}?metrics",
2342 }
2343
2344 if input == nil {
2345 input = &GetBucketMetricsConfigurationInput{}
2346 }
2347
2348 output = &GetBucketMetricsConfigurationOutput{}
2349 req = c.newRequest(op, input, output)
2350 return
2351 }
2352
2353 // GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
2354 //
2355 // Gets a metrics configuration (specified by the metrics configuration ID)
2356 // from the bucket.
2357 //
2358 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2359 // with awserr.Error's Code and Message methods to get detailed information about
2360 // the error.
2361 //
2362 // See the AWS API reference guide for Amazon Simple Storage Service's
2363 // API operation GetBucketMetricsConfiguration for usage and error information.
2364 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2365 func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
2366 req, out := c.GetBucketMetricsConfigurationRequest(input)
2367 return out, req.Send()
2368 }
2369
2370 // GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
2371 // the ability to pass a context and additional request options.
2372 //
2373 // See GetBucketMetricsConfiguration for details on how to use this API operation.
2374 //
2375 // The context must be non-nil and will be used for request cancellation. If
2376 // the context is nil a panic will occur. In the future the SDK may create
2377 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2378 // for more information on using Contexts.
2379 func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) {
2380 req, out := c.GetBucketMetricsConfigurationRequest(input)
2381 req.SetContext(ctx)
2382 req.ApplyOptions(opts...)
2383 return out, req.Send()
2384 }
2385
2386 const opGetBucketNotification = "GetBucketNotification"
2387
2388 // GetBucketNotificationRequest generates a "aws/request.Request" representing the
2389 // client's request for the GetBucketNotification operation. The "output" return
2390 // value will be populated with the request's response once the request completes
2391 // successfully.
2392 //
2393 // Use "Send" method on the returned Request to send the API call to the service.
2394 // the "output" return value is not valid until after Send returns without error.
2395 //
2396 // See GetBucketNotification for more information on using the GetBucketNotification
2397 // API call, and error handling.
2398 //
2399 // This method is useful when you want to inject custom logic or configuration
2400 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2401 //
2402 //
2403 // // Example sending a request using the GetBucketNotificationRequest method.
2404 // req, resp := client.GetBucketNotificationRequest(params)
2405 //
2406 // err := req.Send()
2407 // if err == nil { // resp is now filled
2408 // fmt.Println(resp)
2409 // }
2410 //
2411 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2412 //
2413 // Deprecated: GetBucketNotification has been deprecated
2414 func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) {
2415 if c.Client.Config.Logger != nil {
2416 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated")
2417 }
2418 op := &request.Operation{
2419 Name: opGetBucketNotification,
2420 HTTPMethod: "GET",
2421 HTTPPath: "/{Bucket}?notification",
2422 }
2423
2424 if input == nil {
2425 input = &GetBucketNotificationConfigurationRequest{}
2426 }
2427
2428 output = &NotificationConfigurationDeprecated{}
2429 req = c.newRequest(op, input, output)
2430 return
2431 }
2432
2433 // GetBucketNotification API operation for Amazon Simple Storage Service.
2434 //
2435 // No longer used, see the GetBucketNotificationConfiguration operation.
2436 //
2437 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2438 // with awserr.Error's Code and Message methods to get detailed information about
2439 // the error.
2440 //
2441 // See the AWS API reference guide for Amazon Simple Storage Service's
2442 // API operation GetBucketNotification for usage and error information.
2443 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2444 //
2445 // Deprecated: GetBucketNotification has been deprecated
2446 func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
2447 req, out := c.GetBucketNotificationRequest(input)
2448 return out, req.Send()
2449 }
2450
2451 // GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
2452 // the ability to pass a context and additional request options.
2453 //
2454 // See GetBucketNotification for details on how to use this API operation.
2455 //
2456 // The context must be non-nil and will be used for request cancellation. If
2457 // the context is nil a panic will occur. In the future the SDK may create
2458 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2459 // for more information on using Contexts.
2460 //
2461 // Deprecated: GetBucketNotificationWithContext has been deprecated
2462 func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) {
2463 req, out := c.GetBucketNotificationRequest(input)
2464 req.SetContext(ctx)
2465 req.ApplyOptions(opts...)
2466 return out, req.Send()
2467 }
2468
2469 const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
2470
2471 // GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
2472 // client's request for the GetBucketNotificationConfiguration operation. The "output" return
2473 // value will be populated with the request's response once the request completes
2474 // successfully.
2475 //
2476 // Use "Send" method on the returned Request to send the API call to the service.
2477 // the "output" return value is not valid until after Send returns without error.
2478 //
2479 // See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
2480 // API call, and error handling.
2481 //
2482 // This method is useful when you want to inject custom logic or configuration
2483 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2484 //
2485 //
2486 // // Example sending a request using the GetBucketNotificationConfigurationRequest method.
2487 // req, resp := client.GetBucketNotificationConfigurationRequest(params)
2488 //
2489 // err := req.Send()
2490 // if err == nil { // resp is now filled
2491 // fmt.Println(resp)
2492 // }
2493 //
2494 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2495 func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) {
2496 op := &request.Operation{
2497 Name: opGetBucketNotificationConfiguration,
2498 HTTPMethod: "GET",
2499 HTTPPath: "/{Bucket}?notification",
2500 }
2501
2502 if input == nil {
2503 input = &GetBucketNotificationConfigurationRequest{}
2504 }
2505
2506 output = &NotificationConfiguration{}
2507 req = c.newRequest(op, input, output)
2508 return
2509 }
2510
2511 // GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
2512 //
2513 // Returns the notification configuration of a bucket.
2514 //
2515 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2516 // with awserr.Error's Code and Message methods to get detailed information about
2517 // the error.
2518 //
2519 // See the AWS API reference guide for Amazon Simple Storage Service's
2520 // API operation GetBucketNotificationConfiguration for usage and error information.
2521 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2522 func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
2523 req, out := c.GetBucketNotificationConfigurationRequest(input)
2524 return out, req.Send()
2525 }
2526
2527 // GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
2528 // the ability to pass a context and additional request options.
2529 //
2530 // See GetBucketNotificationConfiguration for details on how to use this API operation.
2531 //
2532 // The context must be non-nil and will be used for request cancellation. If
2533 // the context is nil a panic will occur. In the future the SDK may create
2534 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2535 // for more information on using Contexts.
2536 func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) {
2537 req, out := c.GetBucketNotificationConfigurationRequest(input)
2538 req.SetContext(ctx)
2539 req.ApplyOptions(opts...)
2540 return out, req.Send()
2541 }
2542
2543 const opGetBucketPolicy = "GetBucketPolicy"
2544
2545 // GetBucketPolicyRequest generates a "aws/request.Request" representing the
2546 // client's request for the GetBucketPolicy operation. The "output" return
2547 // value will be populated with the request's response once the request completes
2548 // successfully.
2549 //
2550 // Use "Send" method on the returned Request to send the API call to the service.
2551 // the "output" return value is not valid until after Send returns without error.
2552 //
2553 // See GetBucketPolicy for more information on using the GetBucketPolicy
2554 // API call, and error handling.
2555 //
2556 // This method is useful when you want to inject custom logic or configuration
2557 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2558 //
2559 //
2560 // // Example sending a request using the GetBucketPolicyRequest method.
2561 // req, resp := client.GetBucketPolicyRequest(params)
2562 //
2563 // err := req.Send()
2564 // if err == nil { // resp is now filled
2565 // fmt.Println(resp)
2566 // }
2567 //
2568 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2569 func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) {
2570 op := &request.Operation{
2571 Name: opGetBucketPolicy,
2572 HTTPMethod: "GET",
2573 HTTPPath: "/{Bucket}?policy",
2574 }
2575
2576 if input == nil {
2577 input = &GetBucketPolicyInput{}
2578 }
2579
2580 output = &GetBucketPolicyOutput{}
2581 req = c.newRequest(op, input, output)
2582 return
2583 }
2584
2585 // GetBucketPolicy API operation for Amazon Simple Storage Service.
2586 //
2587 // Returns the policy of a specified bucket.
2588 //
2589 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2590 // with awserr.Error's Code and Message methods to get detailed information about
2591 // the error.
2592 //
2593 // See the AWS API reference guide for Amazon Simple Storage Service's
2594 // API operation GetBucketPolicy for usage and error information.
2595 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2596 func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
2597 req, out := c.GetBucketPolicyRequest(input)
2598 return out, req.Send()
2599 }
2600
2601 // GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
2602 // the ability to pass a context and additional request options.
2603 //
2604 // See GetBucketPolicy for details on how to use this API operation.
2605 //
2606 // The context must be non-nil and will be used for request cancellation. If
2607 // the context is nil a panic will occur. In the future the SDK may create
2608 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2609 // for more information on using Contexts.
2610 func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) {
2611 req, out := c.GetBucketPolicyRequest(input)
2612 req.SetContext(ctx)
2613 req.ApplyOptions(opts...)
2614 return out, req.Send()
2615 }
2616
2617 const opGetBucketPolicyStatus = "GetBucketPolicyStatus"
2618
2619 // GetBucketPolicyStatusRequest generates a "aws/request.Request" representing the
2620 // client's request for the GetBucketPolicyStatus operation. The "output" return
2621 // value will be populated with the request's response once the request completes
2622 // successfully.
2623 //
2624 // Use "Send" method on the returned Request to send the API call to the service.
2625 // the "output" return value is not valid until after Send returns without error.
2626 //
2627 // See GetBucketPolicyStatus for more information on using the GetBucketPolicyStatus
2628 // API call, and error handling.
2629 //
2630 // This method is useful when you want to inject custom logic or configuration
2631 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2632 //
2633 //
2634 // // Example sending a request using the GetBucketPolicyStatusRequest method.
2635 // req, resp := client.GetBucketPolicyStatusRequest(params)
2636 //
2637 // err := req.Send()
2638 // if err == nil { // resp is now filled
2639 // fmt.Println(resp)
2640 // }
2641 //
2642 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2643 func (c *S3) GetBucketPolicyStatusRequest(input *GetBucketPolicyStatusInput) (req *request.Request, output *GetBucketPolicyStatusOutput) {
2644 op := &request.Operation{
2645 Name: opGetBucketPolicyStatus,
2646 HTTPMethod: "GET",
2647 HTTPPath: "/{Bucket}?policyStatus",
2648 }
2649
2650 if input == nil {
2651 input = &GetBucketPolicyStatusInput{}
2652 }
2653
2654 output = &GetBucketPolicyStatusOutput{}
2655 req = c.newRequest(op, input, output)
2656 return
2657 }
2658
2659 // GetBucketPolicyStatus API operation for Amazon Simple Storage Service.
2660 //
2661 // Retrieves the policy status for an Amazon S3 bucket, indicating whether the
2662 // bucket is public.
2663 //
2664 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2665 // with awserr.Error's Code and Message methods to get detailed information about
2666 // the error.
2667 //
2668 // See the AWS API reference guide for Amazon Simple Storage Service's
2669 // API operation GetBucketPolicyStatus for usage and error information.
2670 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2671 func (c *S3) GetBucketPolicyStatus(input *GetBucketPolicyStatusInput) (*GetBucketPolicyStatusOutput, error) {
2672 req, out := c.GetBucketPolicyStatusRequest(input)
2673 return out, req.Send()
2674 }
2675
2676 // GetBucketPolicyStatusWithContext is the same as GetBucketPolicyStatus with the addition of
2677 // the ability to pass a context and additional request options.
2678 //
2679 // See GetBucketPolicyStatus for details on how to use this API operation.
2680 //
2681 // The context must be non-nil and will be used for request cancellation. If
2682 // the context is nil a panic will occur. In the future the SDK may create
2683 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2684 // for more information on using Contexts.
2685 func (c *S3) GetBucketPolicyStatusWithContext(ctx aws.Context, input *GetBucketPolicyStatusInput, opts ...request.Option) (*GetBucketPolicyStatusOutput, error) {
2686 req, out := c.GetBucketPolicyStatusRequest(input)
2687 req.SetContext(ctx)
2688 req.ApplyOptions(opts...)
2689 return out, req.Send()
2690 }
2691
2692 const opGetBucketReplication = "GetBucketReplication"
2693
2694 // GetBucketReplicationRequest generates a "aws/request.Request" representing the
2695 // client's request for the GetBucketReplication operation. The "output" return
2696 // value will be populated with the request's response once the request completes
2697 // successfully.
2698 //
2699 // Use "Send" method on the returned Request to send the API call to the service.
2700 // the "output" return value is not valid until after Send returns without error.
2701 //
2702 // See GetBucketReplication for more information on using the GetBucketReplication
2703 // API call, and error handling.
2704 //
2705 // This method is useful when you want to inject custom logic or configuration
2706 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2707 //
2708 //
2709 // // Example sending a request using the GetBucketReplicationRequest method.
2710 // req, resp := client.GetBucketReplicationRequest(params)
2711 //
2712 // err := req.Send()
2713 // if err == nil { // resp is now filled
2714 // fmt.Println(resp)
2715 // }
2716 //
2717 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2718 func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) {
2719 op := &request.Operation{
2720 Name: opGetBucketReplication,
2721 HTTPMethod: "GET",
2722 HTTPPath: "/{Bucket}?replication",
2723 }
2724
2725 if input == nil {
2726 input = &GetBucketReplicationInput{}
2727 }
2728
2729 output = &GetBucketReplicationOutput{}
2730 req = c.newRequest(op, input, output)
2731 return
2732 }
2733
2734 // GetBucketReplication API operation for Amazon Simple Storage Service.
2735 //
2736 // Returns the replication configuration of a bucket.
2737 //
2738 // It can take a while to propagate the put or delete a replication configuration
2739 // to all Amazon S3 systems. Therefore, a get request soon after put or delete
2740 // can return a wrong result.
2741 //
2742 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2743 // with awserr.Error's Code and Message methods to get detailed information about
2744 // the error.
2745 //
2746 // See the AWS API reference guide for Amazon Simple Storage Service's
2747 // API operation GetBucketReplication for usage and error information.
2748 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2749 func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
2750 req, out := c.GetBucketReplicationRequest(input)
2751 return out, req.Send()
2752 }
2753
2754 // GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
2755 // the ability to pass a context and additional request options.
2756 //
2757 // See GetBucketReplication for details on how to use this API operation.
2758 //
2759 // The context must be non-nil and will be used for request cancellation. If
2760 // the context is nil a panic will occur. In the future the SDK may create
2761 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2762 // for more information on using Contexts.
2763 func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) {
2764 req, out := c.GetBucketReplicationRequest(input)
2765 req.SetContext(ctx)
2766 req.ApplyOptions(opts...)
2767 return out, req.Send()
2768 }
2769
2770 const opGetBucketRequestPayment = "GetBucketRequestPayment"
2771
2772 // GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
2773 // client's request for the GetBucketRequestPayment operation. The "output" return
2774 // value will be populated with the request's response once the request completes
2775 // successfully.
2776 //
2777 // Use "Send" method on the returned Request to send the API call to the service.
2778 // the "output" return value is not valid until after Send returns without error.
2779 //
2780 // See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
2781 // API call, and error handling.
2782 //
2783 // This method is useful when you want to inject custom logic or configuration
2784 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2785 //
2786 //
2787 // // Example sending a request using the GetBucketRequestPaymentRequest method.
2788 // req, resp := client.GetBucketRequestPaymentRequest(params)
2789 //
2790 // err := req.Send()
2791 // if err == nil { // resp is now filled
2792 // fmt.Println(resp)
2793 // }
2794 //
2795 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2796 func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) {
2797 op := &request.Operation{
2798 Name: opGetBucketRequestPayment,
2799 HTTPMethod: "GET",
2800 HTTPPath: "/{Bucket}?requestPayment",
2801 }
2802
2803 if input == nil {
2804 input = &GetBucketRequestPaymentInput{}
2805 }
2806
2807 output = &GetBucketRequestPaymentOutput{}
2808 req = c.newRequest(op, input, output)
2809 return
2810 }
2811
2812 // GetBucketRequestPayment API operation for Amazon Simple Storage Service.
2813 //
2814 // Returns the request payment configuration of a bucket.
2815 //
2816 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2817 // with awserr.Error's Code and Message methods to get detailed information about
2818 // the error.
2819 //
2820 // See the AWS API reference guide for Amazon Simple Storage Service's
2821 // API operation GetBucketRequestPayment for usage and error information.
2822 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2823 func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
2824 req, out := c.GetBucketRequestPaymentRequest(input)
2825 return out, req.Send()
2826 }
2827
2828 // GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
2829 // the ability to pass a context and additional request options.
2830 //
2831 // See GetBucketRequestPayment for details on how to use this API operation.
2832 //
2833 // The context must be non-nil and will be used for request cancellation. If
2834 // the context is nil a panic will occur. In the future the SDK may create
2835 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2836 // for more information on using Contexts.
2837 func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) {
2838 req, out := c.GetBucketRequestPaymentRequest(input)
2839 req.SetContext(ctx)
2840 req.ApplyOptions(opts...)
2841 return out, req.Send()
2842 }
2843
2844 const opGetBucketTagging = "GetBucketTagging"
2845
2846 // GetBucketTaggingRequest generates a "aws/request.Request" representing the
2847 // client's request for the GetBucketTagging operation. The "output" return
2848 // value will be populated with the request's response once the request completes
2849 // successfully.
2850 //
2851 // Use "Send" method on the returned Request to send the API call to the service.
2852 // the "output" return value is not valid until after Send returns without error.
2853 //
2854 // See GetBucketTagging for more information on using the GetBucketTagging
2855 // API call, and error handling.
2856 //
2857 // This method is useful when you want to inject custom logic or configuration
2858 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2859 //
2860 //
2861 // // Example sending a request using the GetBucketTaggingRequest method.
2862 // req, resp := client.GetBucketTaggingRequest(params)
2863 //
2864 // err := req.Send()
2865 // if err == nil { // resp is now filled
2866 // fmt.Println(resp)
2867 // }
2868 //
2869 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2870 func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) {
2871 op := &request.Operation{
2872 Name: opGetBucketTagging,
2873 HTTPMethod: "GET",
2874 HTTPPath: "/{Bucket}?tagging",
2875 }
2876
2877 if input == nil {
2878 input = &GetBucketTaggingInput{}
2879 }
2880
2881 output = &GetBucketTaggingOutput{}
2882 req = c.newRequest(op, input, output)
2883 return
2884 }
2885
2886 // GetBucketTagging API operation for Amazon Simple Storage Service.
2887 //
2888 // Returns the tag set associated with the bucket.
2889 //
2890 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2891 // with awserr.Error's Code and Message methods to get detailed information about
2892 // the error.
2893 //
2894 // See the AWS API reference guide for Amazon Simple Storage Service's
2895 // API operation GetBucketTagging for usage and error information.
2896 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2897 func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
2898 req, out := c.GetBucketTaggingRequest(input)
2899 return out, req.Send()
2900 }
2901
2902 // GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
2903 // the ability to pass a context and additional request options.
2904 //
2905 // See GetBucketTagging for details on how to use this API operation.
2906 //
2907 // The context must be non-nil and will be used for request cancellation. If
2908 // the context is nil a panic will occur. In the future the SDK may create
2909 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2910 // for more information on using Contexts.
2911 func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) {
2912 req, out := c.GetBucketTaggingRequest(input)
2913 req.SetContext(ctx)
2914 req.ApplyOptions(opts...)
2915 return out, req.Send()
2916 }
2917
2918 const opGetBucketVersioning = "GetBucketVersioning"
2919
2920 // GetBucketVersioningRequest generates a "aws/request.Request" representing the
2921 // client's request for the GetBucketVersioning operation. The "output" return
2922 // value will be populated with the request's response once the request completes
2923 // successfully.
2924 //
2925 // Use "Send" method on the returned Request to send the API call to the service.
2926 // the "output" return value is not valid until after Send returns without error.
2927 //
2928 // See GetBucketVersioning for more information on using the GetBucketVersioning
2929 // API call, and error handling.
2930 //
2931 // This method is useful when you want to inject custom logic or configuration
2932 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
2933 //
2934 //
2935 // // Example sending a request using the GetBucketVersioningRequest method.
2936 // req, resp := client.GetBucketVersioningRequest(params)
2937 //
2938 // err := req.Send()
2939 // if err == nil { // resp is now filled
2940 // fmt.Println(resp)
2941 // }
2942 //
2943 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2944 func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) {
2945 op := &request.Operation{
2946 Name: opGetBucketVersioning,
2947 HTTPMethod: "GET",
2948 HTTPPath: "/{Bucket}?versioning",
2949 }
2950
2951 if input == nil {
2952 input = &GetBucketVersioningInput{}
2953 }
2954
2955 output = &GetBucketVersioningOutput{}
2956 req = c.newRequest(op, input, output)
2957 return
2958 }
2959
2960 // GetBucketVersioning API operation for Amazon Simple Storage Service.
2961 //
2962 // Returns the versioning state of a bucket.
2963 //
2964 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2965 // with awserr.Error's Code and Message methods to get detailed information about
2966 // the error.
2967 //
2968 // See the AWS API reference guide for Amazon Simple Storage Service's
2969 // API operation GetBucketVersioning for usage and error information.
2970 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2971 func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
2972 req, out := c.GetBucketVersioningRequest(input)
2973 return out, req.Send()
2974 }
2975
2976 // GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
2977 // the ability to pass a context and additional request options.
2978 //
2979 // See GetBucketVersioning for details on how to use this API operation.
2980 //
2981 // The context must be non-nil and will be used for request cancellation. If
2982 // the context is nil a panic will occur. In the future the SDK may create
2983 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
2984 // for more information on using Contexts.
2985 func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) {
2986 req, out := c.GetBucketVersioningRequest(input)
2987 req.SetContext(ctx)
2988 req.ApplyOptions(opts...)
2989 return out, req.Send()
2990 }
2991
2992 const opGetBucketWebsite = "GetBucketWebsite"
2993
2994 // GetBucketWebsiteRequest generates a "aws/request.Request" representing the
2995 // client's request for the GetBucketWebsite operation. The "output" return
2996 // value will be populated with the request's response once the request completes
2997 // successfully.
2998 //
2999 // Use "Send" method on the returned Request to send the API call to the service.
3000 // the "output" return value is not valid until after Send returns without error.
3001 //
3002 // See GetBucketWebsite for more information on using the GetBucketWebsite
3003 // API call, and error handling.
3004 //
3005 // This method is useful when you want to inject custom logic or configuration
3006 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3007 //
3008 //
3009 // // Example sending a request using the GetBucketWebsiteRequest method.
3010 // req, resp := client.GetBucketWebsiteRequest(params)
3011 //
3012 // err := req.Send()
3013 // if err == nil { // resp is now filled
3014 // fmt.Println(resp)
3015 // }
3016 //
3017 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
3018 func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) {
3019 op := &request.Operation{
3020 Name: opGetBucketWebsite,
3021 HTTPMethod: "GET",
3022 HTTPPath: "/{Bucket}?website",
3023 }
3024
3025 if input == nil {
3026 input = &GetBucketWebsiteInput{}
3027 }
3028
3029 output = &GetBucketWebsiteOutput{}
3030 req = c.newRequest(op, input, output)
3031 return
3032 }
3033
3034 // GetBucketWebsite API operation for Amazon Simple Storage Service.
3035 //
3036 // Returns the website configuration for a bucket.
3037 //
3038 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3039 // with awserr.Error's Code and Message methods to get detailed information about
3040 // the error.
3041 //
3042 // See the AWS API reference guide for Amazon Simple Storage Service's
3043 // API operation GetBucketWebsite for usage and error information.
3044 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
3045 func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
3046 req, out := c.GetBucketWebsiteRequest(input)
3047 return out, req.Send()
3048 }
3049
3050 // GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
3051 // the ability to pass a context and additional request options.
3052 //
3053 // See GetBucketWebsite for details on how to use this API operation.
3054 //
3055 // The context must be non-nil and will be used for request cancellation. If
3056 // the context is nil a panic will occur. In the future the SDK may create
3057 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3058 // for more information on using Contexts.
3059 func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) {
3060 req, out := c.GetBucketWebsiteRequest(input)
3061 req.SetContext(ctx)
3062 req.ApplyOptions(opts...)
3063 return out, req.Send()
3064 }
3065
3066 const opGetObject = "GetObject"
3067
3068 // GetObjectRequest generates a "aws/request.Request" representing the
3069 // client's request for the GetObject operation. The "output" return
3070 // value will be populated with the request's response once the request completes
3071 // successfully.
3072 //
3073 // Use "Send" method on the returned Request to send the API call to the service.
3074 // the "output" return value is not valid until after Send returns without error.
3075 //
3076 // See GetObject for more information on using the GetObject
3077 // API call, and error handling.
3078 //
3079 // This method is useful when you want to inject custom logic or configuration
3080 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3081 //
3082 //
3083 // // Example sending a request using the GetObjectRequest method.
3084 // req, resp := client.GetObjectRequest(params)
3085 //
3086 // err := req.Send()
3087 // if err == nil { // resp is now filled
3088 // fmt.Println(resp)
3089 // }
3090 //
3091 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
3092 func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) {
3093 op := &request.Operation{
3094 Name: opGetObject,
3095 HTTPMethod: "GET",
3096 HTTPPath: "/{Bucket}/{Key+}",
3097 }
3098
3099 if input == nil {
3100 input = &GetObjectInput{}
3101 }
3102
3103 output = &GetObjectOutput{}
3104 req = c.newRequest(op, input, output)
3105 return
3106 }
3107
3108 // GetObject API operation for Amazon Simple Storage Service.
3109 //
3110 // Retrieves objects from Amazon S3.
3111 //
3112 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3113 // with awserr.Error's Code and Message methods to get detailed information about
3114 // the error.
3115 //
3116 // See the AWS API reference guide for Amazon Simple Storage Service's
3117 // API operation GetObject for usage and error information.
3118 //
3119 // Returned Error Codes:
3120 // * ErrCodeNoSuchKey "NoSuchKey"
3121 // The specified key does not exist.
3122 //
3123 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
3124 func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
3125 req, out := c.GetObjectRequest(input)
3126 return out, req.Send()
3127 }
3128
3129 // GetObjectWithContext is the same as GetObject with the addition of
3130 // the ability to pass a context and additional request options.
3131 //
3132 // See GetObject for details on how to use this API operation.
3133 //
3134 // The context must be non-nil and will be used for request cancellation. If
3135 // the context is nil a panic will occur. In the future the SDK may create
3136 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3137 // for more information on using Contexts.
3138 func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) {
3139 req, out := c.GetObjectRequest(input)
3140 req.SetContext(ctx)
3141 req.ApplyOptions(opts...)
3142 return out, req.Send()
3143 }
3144
3145 const opGetObjectAcl = "GetObjectAcl"
3146
3147 // GetObjectAclRequest generates a "aws/request.Request" representing the
3148 // client's request for the GetObjectAcl operation. The "output" return
3149 // value will be populated with the request's response once the request completes
3150 // successfully.
3151 //
3152 // Use "Send" method on the returned Request to send the API call to the service.
3153 // the "output" return value is not valid until after Send returns without error.
3154 //
3155 // See GetObjectAcl for more information on using the GetObjectAcl
3156 // API call, and error handling.
3157 //
3158 // This method is useful when you want to inject custom logic or configuration
3159 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3160 //
3161 //
3162 // // Example sending a request using the GetObjectAclRequest method.
3163 // req, resp := client.GetObjectAclRequest(params)
3164 //
3165 // err := req.Send()
3166 // if err == nil { // resp is now filled
3167 // fmt.Println(resp)
3168 // }
3169 //
3170 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
3171 func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) {
3172 op := &request.Operation{
3173 Name: opGetObjectAcl,
3174 HTTPMethod: "GET",
3175 HTTPPath: "/{Bucket}/{Key+}?acl",
3176 }
3177
3178 if input == nil {
3179 input = &GetObjectAclInput{}
3180 }
3181
3182 output = &GetObjectAclOutput{}
3183 req = c.newRequest(op, input, output)
3184 return
3185 }
3186
3187 // GetObjectAcl API operation for Amazon Simple Storage Service.
3188 //
3189 // Returns the access control list (ACL) of an object.
3190 //
3191 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3192 // with awserr.Error's Code and Message methods to get detailed information about
3193 // the error.
3194 //
3195 // See the AWS API reference guide for Amazon Simple Storage Service's
3196 // API operation GetObjectAcl for usage and error information.
3197 //
3198 // Returned Error Codes:
3199 // * ErrCodeNoSuchKey "NoSuchKey"
3200 // The specified key does not exist.
3201 //
3202 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
3203 func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
3204 req, out := c.GetObjectAclRequest(input)
3205 return out, req.Send()
3206 }
3207
3208 // GetObjectAclWithContext is the same as GetObjectAcl with the addition of
3209 // the ability to pass a context and additional request options.
3210 //
3211 // See GetObjectAcl for details on how to use this API operation.
3212 //
3213 // The context must be non-nil and will be used for request cancellation. If
3214 // the context is nil a panic will occur. In the future the SDK may create
3215 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3216 // for more information on using Contexts.
3217 func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) {
3218 req, out := c.GetObjectAclRequest(input)
3219 req.SetContext(ctx)
3220 req.ApplyOptions(opts...)
3221 return out, req.Send()
3222 }
3223
3224 const opGetObjectLegalHold = "GetObjectLegalHold"
3225
3226 // GetObjectLegalHoldRequest generates a "aws/request.Request" representing the
3227 // client's request for the GetObjectLegalHold operation. The "output" return
3228 // value will be populated with the request's response once the request completes
3229 // successfully.
3230 //
3231 // Use "Send" method on the returned Request to send the API call to the service.
3232 // the "output" return value is not valid until after Send returns without error.
3233 //
3234 // See GetObjectLegalHold for more information on using the GetObjectLegalHold
3235 // API call, and error handling.
3236 //
3237 // This method is useful when you want to inject custom logic or configuration
3238 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3239 //
3240 //
3241 // // Example sending a request using the GetObjectLegalHoldRequest method.
3242 // req, resp := client.GetObjectLegalHoldRequest(params)
3243 //
3244 // err := req.Send()
3245 // if err == nil { // resp is now filled
3246 // fmt.Println(resp)
3247 // }
3248 //
3249 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3250 func (c *S3) GetObjectLegalHoldRequest(input *GetObjectLegalHoldInput) (req *request.Request, output *GetObjectLegalHoldOutput) {
3251 op := &request.Operation{
3252 Name: opGetObjectLegalHold,
3253 HTTPMethod: "GET",
3254 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
3255 }
3256
3257 if input == nil {
3258 input = &GetObjectLegalHoldInput{}
3259 }
3260
3261 output = &GetObjectLegalHoldOutput{}
3262 req = c.newRequest(op, input, output)
3263 return
3264 }
3265
3266 // GetObjectLegalHold API operation for Amazon Simple Storage Service.
3267 //
3268 // Gets an object's current Legal Hold status.
3269 //
3270 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3271 // with awserr.Error's Code and Message methods to get detailed information about
3272 // the error.
3273 //
3274 // See the AWS API reference guide for Amazon Simple Storage Service's
3275 // API operation GetObjectLegalHold for usage and error information.
3276 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3277 func (c *S3) GetObjectLegalHold(input *GetObjectLegalHoldInput) (*GetObjectLegalHoldOutput, error) {
3278 req, out := c.GetObjectLegalHoldRequest(input)
3279 return out, req.Send()
3280 }
3281
3282 // GetObjectLegalHoldWithContext is the same as GetObjectLegalHold with the addition of
3283 // the ability to pass a context and additional request options.
3284 //
3285 // See GetObjectLegalHold for details on how to use this API operation.
3286 //
3287 // The context must be non-nil and will be used for request cancellation. If
3288 // the context is nil a panic will occur. In the future the SDK may create
3289 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3290 // for more information on using Contexts.
3291 func (c *S3) GetObjectLegalHoldWithContext(ctx aws.Context, input *GetObjectLegalHoldInput, opts ...request.Option) (*GetObjectLegalHoldOutput, error) {
3292 req, out := c.GetObjectLegalHoldRequest(input)
3293 req.SetContext(ctx)
3294 req.ApplyOptions(opts...)
3295 return out, req.Send()
3296 }
3297
3298 const opGetObjectLockConfiguration = "GetObjectLockConfiguration"
3299
3300 // GetObjectLockConfigurationRequest generates a "aws/request.Request" representing the
3301 // client's request for the GetObjectLockConfiguration operation. The "output" return
3302 // value will be populated with the request's response once the request completes
3303 // successfully.
3304 //
3305 // Use "Send" method on the returned Request to send the API call to the service.
3306 // the "output" return value is not valid until after Send returns without error.
3307 //
3308 // See GetObjectLockConfiguration for more information on using the GetObjectLockConfiguration
3309 // API call, and error handling.
3310 //
3311 // This method is useful when you want to inject custom logic or configuration
3312 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3313 //
3314 //
3315 // // Example sending a request using the GetObjectLockConfigurationRequest method.
3316 // req, resp := client.GetObjectLockConfigurationRequest(params)
3317 //
3318 // err := req.Send()
3319 // if err == nil { // resp is now filled
3320 // fmt.Println(resp)
3321 // }
3322 //
3323 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3324 func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfigurationInput) (req *request.Request, output *GetObjectLockConfigurationOutput) {
3325 op := &request.Operation{
3326 Name: opGetObjectLockConfiguration,
3327 HTTPMethod: "GET",
3328 HTTPPath: "/{Bucket}?object-lock",
3329 }
3330
3331 if input == nil {
3332 input = &GetObjectLockConfigurationInput{}
3333 }
3334
3335 output = &GetObjectLockConfigurationOutput{}
3336 req = c.newRequest(op, input, output)
3337 return
3338 }
3339
3340 // GetObjectLockConfiguration API operation for Amazon Simple Storage Service.
3341 //
3342 // Gets the object lock configuration for a bucket. The rule specified in the
3343 // object lock configuration will be applied by default to every new object
3344 // placed in the specified bucket.
3345 //
3346 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3347 // with awserr.Error's Code and Message methods to get detailed information about
3348 // the error.
3349 //
3350 // See the AWS API reference guide for Amazon Simple Storage Service's
3351 // API operation GetObjectLockConfiguration for usage and error information.
3352 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3353 func (c *S3) GetObjectLockConfiguration(input *GetObjectLockConfigurationInput) (*GetObjectLockConfigurationOutput, error) {
3354 req, out := c.GetObjectLockConfigurationRequest(input)
3355 return out, req.Send()
3356 }
3357
3358 // GetObjectLockConfigurationWithContext is the same as GetObjectLockConfiguration with the addition of
3359 // the ability to pass a context and additional request options.
3360 //
3361 // See GetObjectLockConfiguration for details on how to use this API operation.
3362 //
3363 // The context must be non-nil and will be used for request cancellation. If
3364 // the context is nil a panic will occur. In the future the SDK may create
3365 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3366 // for more information on using Contexts.
3367 func (c *S3) GetObjectLockConfigurationWithContext(ctx aws.Context, input *GetObjectLockConfigurationInput, opts ...request.Option) (*GetObjectLockConfigurationOutput, error) {
3368 req, out := c.GetObjectLockConfigurationRequest(input)
3369 req.SetContext(ctx)
3370 req.ApplyOptions(opts...)
3371 return out, req.Send()
3372 }
3373
3374 const opGetObjectRetention = "GetObjectRetention"
3375
3376 // GetObjectRetentionRequest generates a "aws/request.Request" representing the
3377 // client's request for the GetObjectRetention operation. The "output" return
3378 // value will be populated with the request's response once the request completes
3379 // successfully.
3380 //
3381 // Use "Send" method on the returned Request to send the API call to the service.
3382 // the "output" return value is not valid until after Send returns without error.
3383 //
3384 // See GetObjectRetention for more information on using the GetObjectRetention
3385 // API call, and error handling.
3386 //
3387 // This method is useful when you want to inject custom logic or configuration
3388 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3389 //
3390 //
3391 // // Example sending a request using the GetObjectRetentionRequest method.
3392 // req, resp := client.GetObjectRetentionRequest(params)
3393 //
3394 // err := req.Send()
3395 // if err == nil { // resp is now filled
3396 // fmt.Println(resp)
3397 // }
3398 //
3399 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3400 func (c *S3) GetObjectRetentionRequest(input *GetObjectRetentionInput) (req *request.Request, output *GetObjectRetentionOutput) {
3401 op := &request.Operation{
3402 Name: opGetObjectRetention,
3403 HTTPMethod: "GET",
3404 HTTPPath: "/{Bucket}/{Key+}?retention",
3405 }
3406
3407 if input == nil {
3408 input = &GetObjectRetentionInput{}
3409 }
3410
3411 output = &GetObjectRetentionOutput{}
3412 req = c.newRequest(op, input, output)
3413 return
3414 }
3415
3416 // GetObjectRetention API operation for Amazon Simple Storage Service.
3417 //
3418 // Retrieves an object's retention settings.
3419 //
3420 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3421 // with awserr.Error's Code and Message methods to get detailed information about
3422 // the error.
3423 //
3424 // See the AWS API reference guide for Amazon Simple Storage Service's
3425 // API operation GetObjectRetention for usage and error information.
3426 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3427 func (c *S3) GetObjectRetention(input *GetObjectRetentionInput) (*GetObjectRetentionOutput, error) {
3428 req, out := c.GetObjectRetentionRequest(input)
3429 return out, req.Send()
3430 }
3431
3432 // GetObjectRetentionWithContext is the same as GetObjectRetention with the addition of
3433 // the ability to pass a context and additional request options.
3434 //
3435 // See GetObjectRetention for details on how to use this API operation.
3436 //
3437 // The context must be non-nil and will be used for request cancellation. If
3438 // the context is nil a panic will occur. In the future the SDK may create
3439 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3440 // for more information on using Contexts.
3441 func (c *S3) GetObjectRetentionWithContext(ctx aws.Context, input *GetObjectRetentionInput, opts ...request.Option) (*GetObjectRetentionOutput, error) {
3442 req, out := c.GetObjectRetentionRequest(input)
3443 req.SetContext(ctx)
3444 req.ApplyOptions(opts...)
3445 return out, req.Send()
3446 }
3447
3448 const opGetObjectTagging = "GetObjectTagging"
3449
3450 // GetObjectTaggingRequest generates a "aws/request.Request" representing the
3451 // client's request for the GetObjectTagging operation. The "output" return
3452 // value will be populated with the request's response once the request completes
3453 // successfully.
3454 //
3455 // Use "Send" method on the returned Request to send the API call to the service.
3456 // the "output" return value is not valid until after Send returns without error.
3457 //
3458 // See GetObjectTagging for more information on using the GetObjectTagging
3459 // API call, and error handling.
3460 //
3461 // This method is useful when you want to inject custom logic or configuration
3462 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3463 //
3464 //
3465 // // Example sending a request using the GetObjectTaggingRequest method.
3466 // req, resp := client.GetObjectTaggingRequest(params)
3467 //
3468 // err := req.Send()
3469 // if err == nil { // resp is now filled
3470 // fmt.Println(resp)
3471 // }
3472 //
3473 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3474 func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) {
3475 op := &request.Operation{
3476 Name: opGetObjectTagging,
3477 HTTPMethod: "GET",
3478 HTTPPath: "/{Bucket}/{Key+}?tagging",
3479 }
3480
3481 if input == nil {
3482 input = &GetObjectTaggingInput{}
3483 }
3484
3485 output = &GetObjectTaggingOutput{}
3486 req = c.newRequest(op, input, output)
3487 return
3488 }
3489
3490 // GetObjectTagging API operation for Amazon Simple Storage Service.
3491 //
3492 // Returns the tag-set of an object.
3493 //
3494 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3495 // with awserr.Error's Code and Message methods to get detailed information about
3496 // the error.
3497 //
3498 // See the AWS API reference guide for Amazon Simple Storage Service's
3499 // API operation GetObjectTagging for usage and error information.
3500 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3501 func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
3502 req, out := c.GetObjectTaggingRequest(input)
3503 return out, req.Send()
3504 }
3505
3506 // GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
3507 // the ability to pass a context and additional request options.
3508 //
3509 // See GetObjectTagging for details on how to use this API operation.
3510 //
3511 // The context must be non-nil and will be used for request cancellation. If
3512 // the context is nil a panic will occur. In the future the SDK may create
3513 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3514 // for more information on using Contexts.
3515 func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) {
3516 req, out := c.GetObjectTaggingRequest(input)
3517 req.SetContext(ctx)
3518 req.ApplyOptions(opts...)
3519 return out, req.Send()
3520 }
3521
3522 const opGetObjectTorrent = "GetObjectTorrent"
3523
3524 // GetObjectTorrentRequest generates a "aws/request.Request" representing the
3525 // client's request for the GetObjectTorrent operation. The "output" return
3526 // value will be populated with the request's response once the request completes
3527 // successfully.
3528 //
3529 // Use "Send" method on the returned Request to send the API call to the service.
3530 // the "output" return value is not valid until after Send returns without error.
3531 //
3532 // See GetObjectTorrent for more information on using the GetObjectTorrent
3533 // API call, and error handling.
3534 //
3535 // This method is useful when you want to inject custom logic or configuration
3536 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3537 //
3538 //
3539 // // Example sending a request using the GetObjectTorrentRequest method.
3540 // req, resp := client.GetObjectTorrentRequest(params)
3541 //
3542 // err := req.Send()
3543 // if err == nil { // resp is now filled
3544 // fmt.Println(resp)
3545 // }
3546 //
3547 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3548 func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) {
3549 op := &request.Operation{
3550 Name: opGetObjectTorrent,
3551 HTTPMethod: "GET",
3552 HTTPPath: "/{Bucket}/{Key+}?torrent",
3553 }
3554
3555 if input == nil {
3556 input = &GetObjectTorrentInput{}
3557 }
3558
3559 output = &GetObjectTorrentOutput{}
3560 req = c.newRequest(op, input, output)
3561 return
3562 }
3563
3564 // GetObjectTorrent API operation for Amazon Simple Storage Service.
3565 //
3566 // Return torrent files from a bucket.
3567 //
3568 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3569 // with awserr.Error's Code and Message methods to get detailed information about
3570 // the error.
3571 //
3572 // See the AWS API reference guide for Amazon Simple Storage Service's
3573 // API operation GetObjectTorrent for usage and error information.
3574 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3575 func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
3576 req, out := c.GetObjectTorrentRequest(input)
3577 return out, req.Send()
3578 }
3579
3580 // GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
3581 // the ability to pass a context and additional request options.
3582 //
3583 // See GetObjectTorrent for details on how to use this API operation.
3584 //
3585 // The context must be non-nil and will be used for request cancellation. If
3586 // the context is nil a panic will occur. In the future the SDK may create
3587 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3588 // for more information on using Contexts.
3589 func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) {
3590 req, out := c.GetObjectTorrentRequest(input)
3591 req.SetContext(ctx)
3592 req.ApplyOptions(opts...)
3593 return out, req.Send()
3594 }
3595
3596 const opGetPublicAccessBlock = "GetPublicAccessBlock"
3597
3598 // GetPublicAccessBlockRequest generates a "aws/request.Request" representing the
3599 // client's request for the GetPublicAccessBlock operation. The "output" return
3600 // value will be populated with the request's response once the request completes
3601 // successfully.
3602 //
3603 // Use "Send" method on the returned Request to send the API call to the service.
3604 // the "output" return value is not valid until after Send returns without error.
3605 //
3606 // See GetPublicAccessBlock for more information on using the GetPublicAccessBlock
3607 // API call, and error handling.
3608 //
3609 // This method is useful when you want to inject custom logic or configuration
3610 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3611 //
3612 //
3613 // // Example sending a request using the GetPublicAccessBlockRequest method.
3614 // req, resp := client.GetPublicAccessBlockRequest(params)
3615 //
3616 // err := req.Send()
3617 // if err == nil { // resp is now filled
3618 // fmt.Println(resp)
3619 // }
3620 //
3621 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3622 func (c *S3) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) {
3623 op := &request.Operation{
3624 Name: opGetPublicAccessBlock,
3625 HTTPMethod: "GET",
3626 HTTPPath: "/{Bucket}?publicAccessBlock",
3627 }
3628
3629 if input == nil {
3630 input = &GetPublicAccessBlockInput{}
3631 }
3632
3633 output = &GetPublicAccessBlockOutput{}
3634 req = c.newRequest(op, input, output)
3635 return
3636 }
3637
3638 // GetPublicAccessBlock API operation for Amazon Simple Storage Service.
3639 //
3640 // Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
3641 //
3642 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3643 // with awserr.Error's Code and Message methods to get detailed information about
3644 // the error.
3645 //
3646 // See the AWS API reference guide for Amazon Simple Storage Service's
3647 // API operation GetPublicAccessBlock for usage and error information.
3648 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3649 func (c *S3) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) {
3650 req, out := c.GetPublicAccessBlockRequest(input)
3651 return out, req.Send()
3652 }
3653
3654 // GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of
3655 // the ability to pass a context and additional request options.
3656 //
3657 // See GetPublicAccessBlock for details on how to use this API operation.
3658 //
3659 // The context must be non-nil and will be used for request cancellation. If
3660 // the context is nil a panic will occur. In the future the SDK may create
3661 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3662 // for more information on using Contexts.
3663 func (c *S3) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) {
3664 req, out := c.GetPublicAccessBlockRequest(input)
3665 req.SetContext(ctx)
3666 req.ApplyOptions(opts...)
3667 return out, req.Send()
3668 }
3669
3670 const opHeadBucket = "HeadBucket"
3671
3672 // HeadBucketRequest generates a "aws/request.Request" representing the
3673 // client's request for the HeadBucket operation. The "output" return
3674 // value will be populated with the request's response once the request completes
3675 // successfully.
3676 //
3677 // Use "Send" method on the returned Request to send the API call to the service.
3678 // the "output" return value is not valid until after Send returns without error.
3679 //
3680 // See HeadBucket for more information on using the HeadBucket
3681 // API call, and error handling.
3682 //
3683 // This method is useful when you want to inject custom logic or configuration
3684 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3685 //
3686 //
3687 // // Example sending a request using the HeadBucketRequest method.
3688 // req, resp := client.HeadBucketRequest(params)
3689 //
3690 // err := req.Send()
3691 // if err == nil { // resp is now filled
3692 // fmt.Println(resp)
3693 // }
3694 //
3695 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3696 func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) {
3697 op := &request.Operation{
3698 Name: opHeadBucket,
3699 HTTPMethod: "HEAD",
3700 HTTPPath: "/{Bucket}",
3701 }
3702
3703 if input == nil {
3704 input = &HeadBucketInput{}
3705 }
3706
3707 output = &HeadBucketOutput{}
3708 req = c.newRequest(op, input, output)
3709 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3710 return
3711 }
3712
3713 // HeadBucket API operation for Amazon Simple Storage Service.
3714 //
3715 // This operation is useful to determine if a bucket exists and you have permission
3716 // to access it.
3717 //
3718 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3719 // with awserr.Error's Code and Message methods to get detailed information about
3720 // the error.
3721 //
3722 // See the AWS API reference guide for Amazon Simple Storage Service's
3723 // API operation HeadBucket for usage and error information.
3724 //
3725 // Returned Error Codes:
3726 // * ErrCodeNoSuchBucket "NoSuchBucket"
3727 // The specified bucket does not exist.
3728 //
3729 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3730 func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
3731 req, out := c.HeadBucketRequest(input)
3732 return out, req.Send()
3733 }
3734
3735 // HeadBucketWithContext is the same as HeadBucket with the addition of
3736 // the ability to pass a context and additional request options.
3737 //
3738 // See HeadBucket for details on how to use this API operation.
3739 //
3740 // The context must be non-nil and will be used for request cancellation. If
3741 // the context is nil a panic will occur. In the future the SDK may create
3742 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3743 // for more information on using Contexts.
3744 func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) {
3745 req, out := c.HeadBucketRequest(input)
3746 req.SetContext(ctx)
3747 req.ApplyOptions(opts...)
3748 return out, req.Send()
3749 }
3750
3751 const opHeadObject = "HeadObject"
3752
3753 // HeadObjectRequest generates a "aws/request.Request" representing the
3754 // client's request for the HeadObject operation. The "output" return
3755 // value will be populated with the request's response once the request completes
3756 // successfully.
3757 //
3758 // Use "Send" method on the returned Request to send the API call to the service.
3759 // the "output" return value is not valid until after Send returns without error.
3760 //
3761 // See HeadObject for more information on using the HeadObject
3762 // API call, and error handling.
3763 //
3764 // This method is useful when you want to inject custom logic or configuration
3765 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3766 //
3767 //
3768 // // Example sending a request using the HeadObjectRequest method.
3769 // req, resp := client.HeadObjectRequest(params)
3770 //
3771 // err := req.Send()
3772 // if err == nil { // resp is now filled
3773 // fmt.Println(resp)
3774 // }
3775 //
3776 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3777 func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) {
3778 op := &request.Operation{
3779 Name: opHeadObject,
3780 HTTPMethod: "HEAD",
3781 HTTPPath: "/{Bucket}/{Key+}",
3782 }
3783
3784 if input == nil {
3785 input = &HeadObjectInput{}
3786 }
3787
3788 output = &HeadObjectOutput{}
3789 req = c.newRequest(op, input, output)
3790 return
3791 }
3792
3793 // HeadObject API operation for Amazon Simple Storage Service.
3794 //
3795 // The HEAD operation retrieves metadata from an object without returning the
3796 // object itself. This operation is useful if you're only interested in an object's
3797 // metadata. To use HEAD, you must have READ access to the object.
3798 //
3799 // See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
3800 // for more information on returned errors.
3801 //
3802 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3803 // with awserr.Error's Code and Message methods to get detailed information about
3804 // the error.
3805 //
3806 // See the AWS API reference guide for Amazon Simple Storage Service's
3807 // API operation HeadObject for usage and error information.
3808 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3809 func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
3810 req, out := c.HeadObjectRequest(input)
3811 return out, req.Send()
3812 }
3813
3814 // HeadObjectWithContext is the same as HeadObject with the addition of
3815 // the ability to pass a context and additional request options.
3816 //
3817 // See HeadObject for details on how to use this API operation.
3818 //
3819 // The context must be non-nil and will be used for request cancellation. If
3820 // the context is nil a panic will occur. In the future the SDK may create
3821 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3822 // for more information on using Contexts.
3823 func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) {
3824 req, out := c.HeadObjectRequest(input)
3825 req.SetContext(ctx)
3826 req.ApplyOptions(opts...)
3827 return out, req.Send()
3828 }
3829
3830 const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
3831
3832 // ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
3833 // client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
3834 // value will be populated with the request's response once the request completes
3835 // successfully.
3836 //
3837 // Use "Send" method on the returned Request to send the API call to the service.
3838 // the "output" return value is not valid until after Send returns without error.
3839 //
3840 // See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
3841 // API call, and error handling.
3842 //
3843 // This method is useful when you want to inject custom logic or configuration
3844 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3845 //
3846 //
3847 // // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
3848 // req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
3849 //
3850 // err := req.Send()
3851 // if err == nil { // resp is now filled
3852 // fmt.Println(resp)
3853 // }
3854 //
3855 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3856 func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) {
3857 op := &request.Operation{
3858 Name: opListBucketAnalyticsConfigurations,
3859 HTTPMethod: "GET",
3860 HTTPPath: "/{Bucket}?analytics",
3861 }
3862
3863 if input == nil {
3864 input = &ListBucketAnalyticsConfigurationsInput{}
3865 }
3866
3867 output = &ListBucketAnalyticsConfigurationsOutput{}
3868 req = c.newRequest(op, input, output)
3869 return
3870 }
3871
3872 // ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service.
3873 //
3874 // Lists the analytics configurations for the bucket.
3875 //
3876 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3877 // with awserr.Error's Code and Message methods to get detailed information about
3878 // the error.
3879 //
3880 // See the AWS API reference guide for Amazon Simple Storage Service's
3881 // API operation ListBucketAnalyticsConfigurations for usage and error information.
3882 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3883 func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
3884 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
3885 return out, req.Send()
3886 }
3887
3888 // ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
3889 // the ability to pass a context and additional request options.
3890 //
3891 // See ListBucketAnalyticsConfigurations for details on how to use this API operation.
3892 //
3893 // The context must be non-nil and will be used for request cancellation. If
3894 // the context is nil a panic will occur. In the future the SDK may create
3895 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3896 // for more information on using Contexts.
3897 func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) {
3898 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
3899 req.SetContext(ctx)
3900 req.ApplyOptions(opts...)
3901 return out, req.Send()
3902 }
3903
3904 const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
3905
3906 // ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
3907 // client's request for the ListBucketInventoryConfigurations operation. The "output" return
3908 // value will be populated with the request's response once the request completes
3909 // successfully.
3910 //
3911 // Use "Send" method on the returned Request to send the API call to the service.
3912 // the "output" return value is not valid until after Send returns without error.
3913 //
3914 // See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
3915 // API call, and error handling.
3916 //
3917 // This method is useful when you want to inject custom logic or configuration
3918 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3919 //
3920 //
3921 // // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
3922 // req, resp := client.ListBucketInventoryConfigurationsRequest(params)
3923 //
3924 // err := req.Send()
3925 // if err == nil { // resp is now filled
3926 // fmt.Println(resp)
3927 // }
3928 //
3929 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3930 func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) {
3931 op := &request.Operation{
3932 Name: opListBucketInventoryConfigurations,
3933 HTTPMethod: "GET",
3934 HTTPPath: "/{Bucket}?inventory",
3935 }
3936
3937 if input == nil {
3938 input = &ListBucketInventoryConfigurationsInput{}
3939 }
3940
3941 output = &ListBucketInventoryConfigurationsOutput{}
3942 req = c.newRequest(op, input, output)
3943 return
3944 }
3945
3946 // ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service.
3947 //
3948 // Returns a list of inventory configurations for the bucket.
3949 //
3950 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3951 // with awserr.Error's Code and Message methods to get detailed information about
3952 // the error.
3953 //
3954 // See the AWS API reference guide for Amazon Simple Storage Service's
3955 // API operation ListBucketInventoryConfigurations for usage and error information.
3956 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3957 func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
3958 req, out := c.ListBucketInventoryConfigurationsRequest(input)
3959 return out, req.Send()
3960 }
3961
3962 // ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
3963 // the ability to pass a context and additional request options.
3964 //
3965 // See ListBucketInventoryConfigurations for details on how to use this API operation.
3966 //
3967 // The context must be non-nil and will be used for request cancellation. If
3968 // the context is nil a panic will occur. In the future the SDK may create
3969 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
3970 // for more information on using Contexts.
3971 func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) {
3972 req, out := c.ListBucketInventoryConfigurationsRequest(input)
3973 req.SetContext(ctx)
3974 req.ApplyOptions(opts...)
3975 return out, req.Send()
3976 }
3977
3978 const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
3979
3980 // ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
3981 // client's request for the ListBucketMetricsConfigurations operation. The "output" return
3982 // value will be populated with the request's response once the request completes
3983 // successfully.
3984 //
3985 // Use "Send" method on the returned Request to send the API call to the service.
3986 // the "output" return value is not valid until after Send returns without error.
3987 //
3988 // See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
3989 // API call, and error handling.
3990 //
3991 // This method is useful when you want to inject custom logic or configuration
3992 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
3993 //
3994 //
3995 // // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
3996 // req, resp := client.ListBucketMetricsConfigurationsRequest(params)
3997 //
3998 // err := req.Send()
3999 // if err == nil { // resp is now filled
4000 // fmt.Println(resp)
4001 // }
4002 //
4003 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4004 func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) {
4005 op := &request.Operation{
4006 Name: opListBucketMetricsConfigurations,
4007 HTTPMethod: "GET",
4008 HTTPPath: "/{Bucket}?metrics",
4009 }
4010
4011 if input == nil {
4012 input = &ListBucketMetricsConfigurationsInput{}
4013 }
4014
4015 output = &ListBucketMetricsConfigurationsOutput{}
4016 req = c.newRequest(op, input, output)
4017 return
4018 }
4019
4020 // ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service.
4021 //
4022 // Lists the metrics configurations for the bucket.
4023 //
4024 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4025 // with awserr.Error's Code and Message methods to get detailed information about
4026 // the error.
4027 //
4028 // See the AWS API reference guide for Amazon Simple Storage Service's
4029 // API operation ListBucketMetricsConfigurations for usage and error information.
4030 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4031 func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
4032 req, out := c.ListBucketMetricsConfigurationsRequest(input)
4033 return out, req.Send()
4034 }
4035
4036 // ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
4037 // the ability to pass a context and additional request options.
4038 //
4039 // See ListBucketMetricsConfigurations for details on how to use this API operation.
4040 //
4041 // The context must be non-nil and will be used for request cancellation. If
4042 // the context is nil a panic will occur. In the future the SDK may create
4043 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4044 // for more information on using Contexts.
4045 func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) {
4046 req, out := c.ListBucketMetricsConfigurationsRequest(input)
4047 req.SetContext(ctx)
4048 req.ApplyOptions(opts...)
4049 return out, req.Send()
4050 }
4051
4052 const opListBuckets = "ListBuckets"
4053
4054 // ListBucketsRequest generates a "aws/request.Request" representing the
4055 // client's request for the ListBuckets operation. The "output" return
4056 // value will be populated with the request's response once the request completes
4057 // successfully.
4058 //
4059 // Use "Send" method on the returned Request to send the API call to the service.
4060 // the "output" return value is not valid until after Send returns without error.
4061 //
4062 // See ListBuckets for more information on using the ListBuckets
4063 // API call, and error handling.
4064 //
4065 // This method is useful when you want to inject custom logic or configuration
4066 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4067 //
4068 //
4069 // // Example sending a request using the ListBucketsRequest method.
4070 // req, resp := client.ListBucketsRequest(params)
4071 //
4072 // err := req.Send()
4073 // if err == nil { // resp is now filled
4074 // fmt.Println(resp)
4075 // }
4076 //
4077 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4078 func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) {
4079 op := &request.Operation{
4080 Name: opListBuckets,
4081 HTTPMethod: "GET",
4082 HTTPPath: "/",
4083 }
4084
4085 if input == nil {
4086 input = &ListBucketsInput{}
4087 }
4088
4089 output = &ListBucketsOutput{}
4090 req = c.newRequest(op, input, output)
4091 return
4092 }
4093
4094 // ListBuckets API operation for Amazon Simple Storage Service.
4095 //
4096 // Returns a list of all buckets owned by the authenticated sender of the request.
4097 //
4098 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4099 // with awserr.Error's Code and Message methods to get detailed information about
4100 // the error.
4101 //
4102 // See the AWS API reference guide for Amazon Simple Storage Service's
4103 // API operation ListBuckets for usage and error information.
4104 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4105 func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
4106 req, out := c.ListBucketsRequest(input)
4107 return out, req.Send()
4108 }
4109
4110 // ListBucketsWithContext is the same as ListBuckets with the addition of
4111 // the ability to pass a context and additional request options.
4112 //
4113 // See ListBuckets for details on how to use this API operation.
4114 //
4115 // The context must be non-nil and will be used for request cancellation. If
4116 // the context is nil a panic will occur. In the future the SDK may create
4117 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4118 // for more information on using Contexts.
4119 func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) {
4120 req, out := c.ListBucketsRequest(input)
4121 req.SetContext(ctx)
4122 req.ApplyOptions(opts...)
4123 return out, req.Send()
4124 }
4125
4126 const opListMultipartUploads = "ListMultipartUploads"
4127
4128 // ListMultipartUploadsRequest generates a "aws/request.Request" representing the
4129 // client's request for the ListMultipartUploads operation. The "output" return
4130 // value will be populated with the request's response once the request completes
4131 // successfully.
4132 //
4133 // Use "Send" method on the returned Request to send the API call to the service.
4134 // the "output" return value is not valid until after Send returns without error.
4135 //
4136 // See ListMultipartUploads for more information on using the ListMultipartUploads
4137 // API call, and error handling.
4138 //
4139 // This method is useful when you want to inject custom logic or configuration
4140 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4141 //
4142 //
4143 // // Example sending a request using the ListMultipartUploadsRequest method.
4144 // req, resp := client.ListMultipartUploadsRequest(params)
4145 //
4146 // err := req.Send()
4147 // if err == nil { // resp is now filled
4148 // fmt.Println(resp)
4149 // }
4150 //
4151 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4152 func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
4153 op := &request.Operation{
4154 Name: opListMultipartUploads,
4155 HTTPMethod: "GET",
4156 HTTPPath: "/{Bucket}?uploads",
4157 Paginator: &request.Paginator{
4158 InputTokens: []string{"KeyMarker", "UploadIdMarker"},
4159 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"},
4160 LimitToken: "MaxUploads",
4161 TruncationToken: "IsTruncated",
4162 },
4163 }
4164
4165 if input == nil {
4166 input = &ListMultipartUploadsInput{}
4167 }
4168
4169 output = &ListMultipartUploadsOutput{}
4170 req = c.newRequest(op, input, output)
4171 return
4172 }
4173
4174 // ListMultipartUploads API operation for Amazon Simple Storage Service.
4175 //
4176 // This operation lists in-progress multipart uploads.
4177 //
4178 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4179 // with awserr.Error's Code and Message methods to get detailed information about
4180 // the error.
4181 //
4182 // See the AWS API reference guide for Amazon Simple Storage Service's
4183 // API operation ListMultipartUploads for usage and error information.
4184 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4185 func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
4186 req, out := c.ListMultipartUploadsRequest(input)
4187 return out, req.Send()
4188 }
4189
4190 // ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
4191 // the ability to pass a context and additional request options.
4192 //
4193 // See ListMultipartUploads for details on how to use this API operation.
4194 //
4195 // The context must be non-nil and will be used for request cancellation. If
4196 // the context is nil a panic will occur. In the future the SDK may create
4197 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4198 // for more information on using Contexts.
4199 func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) {
4200 req, out := c.ListMultipartUploadsRequest(input)
4201 req.SetContext(ctx)
4202 req.ApplyOptions(opts...)
4203 return out, req.Send()
4204 }
4205
4206 // ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation,
4207 // calling the "fn" function with the response data for each page. To stop
4208 // iterating, return false from the fn function.
4209 //
4210 // See ListMultipartUploads method for more information on how to use this operation.
4211 //
4212 // Note: This operation can generate multiple requests to a service.
4213 //
4214 // // Example iterating over at most 3 pages of a ListMultipartUploads operation.
4215 // pageNum := 0
4216 // err := client.ListMultipartUploadsPages(params,
4217 // func(page *s3.ListMultipartUploadsOutput, lastPage bool) bool {
4218 // pageNum++
4219 // fmt.Println(page)
4220 // return pageNum <= 3
4221 // })
4222 //
4223 func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
4224 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
4225 }
4226
4227 // ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except
4228 // it takes a Context and allows setting request options on the pages.
4229 //
4230 // The context must be non-nil and will be used for request cancellation. If
4231 // the context is nil a panic will occur. In the future the SDK may create
4232 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4233 // for more information on using Contexts.
4234 func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error {
4235 p := request.Pagination{
4236 NewRequest: func() (*request.Request, error) {
4237 var inCpy *ListMultipartUploadsInput
4238 if input != nil {
4239 tmp := *input
4240 inCpy = &tmp
4241 }
4242 req, _ := c.ListMultipartUploadsRequest(inCpy)
4243 req.SetContext(ctx)
4244 req.ApplyOptions(opts...)
4245 return req, nil
4246 },
4247 }
4248
4249 cont := true
4250 for p.Next() && cont {
4251 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
4252 }
4253 return p.Err()
4254 }
4255
4256 const opListObjectVersions = "ListObjectVersions"
4257
4258 // ListObjectVersionsRequest generates a "aws/request.Request" representing the
4259 // client's request for the ListObjectVersions operation. The "output" return
4260 // value will be populated with the request's response once the request completes
4261 // successfully.
4262 //
4263 // Use "Send" method on the returned Request to send the API call to the service.
4264 // the "output" return value is not valid until after Send returns without error.
4265 //
4266 // See ListObjectVersions for more information on using the ListObjectVersions
4267 // API call, and error handling.
4268 //
4269 // This method is useful when you want to inject custom logic or configuration
4270 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4271 //
4272 //
4273 // // Example sending a request using the ListObjectVersionsRequest method.
4274 // req, resp := client.ListObjectVersionsRequest(params)
4275 //
4276 // err := req.Send()
4277 // if err == nil { // resp is now filled
4278 // fmt.Println(resp)
4279 // }
4280 //
4281 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4282 func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) {
4283 op := &request.Operation{
4284 Name: opListObjectVersions,
4285 HTTPMethod: "GET",
4286 HTTPPath: "/{Bucket}?versions",
4287 Paginator: &request.Paginator{
4288 InputTokens: []string{"KeyMarker", "VersionIdMarker"},
4289 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"},
4290 LimitToken: "MaxKeys",
4291 TruncationToken: "IsTruncated",
4292 },
4293 }
4294
4295 if input == nil {
4296 input = &ListObjectVersionsInput{}
4297 }
4298
4299 output = &ListObjectVersionsOutput{}
4300 req = c.newRequest(op, input, output)
4301 return
4302 }
4303
4304 // ListObjectVersions API operation for Amazon Simple Storage Service.
4305 //
4306 // Returns metadata about all of the versions of objects in a bucket.
4307 //
4308 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4309 // with awserr.Error's Code and Message methods to get detailed information about
4310 // the error.
4311 //
4312 // See the AWS API reference guide for Amazon Simple Storage Service's
4313 // API operation ListObjectVersions for usage and error information.
4314 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4315 func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
4316 req, out := c.ListObjectVersionsRequest(input)
4317 return out, req.Send()
4318 }
4319
4320 // ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
4321 // the ability to pass a context and additional request options.
4322 //
4323 // See ListObjectVersions for details on how to use this API operation.
4324 //
4325 // The context must be non-nil and will be used for request cancellation. If
4326 // the context is nil a panic will occur. In the future the SDK may create
4327 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4328 // for more information on using Contexts.
4329 func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) {
4330 req, out := c.ListObjectVersionsRequest(input)
4331 req.SetContext(ctx)
4332 req.ApplyOptions(opts...)
4333 return out, req.Send()
4334 }
4335
4336 // ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation,
4337 // calling the "fn" function with the response data for each page. To stop
4338 // iterating, return false from the fn function.
4339 //
4340 // See ListObjectVersions method for more information on how to use this operation.
4341 //
4342 // Note: This operation can generate multiple requests to a service.
4343 //
4344 // // Example iterating over at most 3 pages of a ListObjectVersions operation.
4345 // pageNum := 0
4346 // err := client.ListObjectVersionsPages(params,
4347 // func(page *s3.ListObjectVersionsOutput, lastPage bool) bool {
4348 // pageNum++
4349 // fmt.Println(page)
4350 // return pageNum <= 3
4351 // })
4352 //
4353 func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
4354 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
4355 }
4356
4357 // ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except
4358 // it takes a Context and allows setting request options on the pages.
4359 //
4360 // The context must be non-nil and will be used for request cancellation. If
4361 // the context is nil a panic will occur. In the future the SDK may create
4362 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4363 // for more information on using Contexts.
4364 func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error {
4365 p := request.Pagination{
4366 NewRequest: func() (*request.Request, error) {
4367 var inCpy *ListObjectVersionsInput
4368 if input != nil {
4369 tmp := *input
4370 inCpy = &tmp
4371 }
4372 req, _ := c.ListObjectVersionsRequest(inCpy)
4373 req.SetContext(ctx)
4374 req.ApplyOptions(opts...)
4375 return req, nil
4376 },
4377 }
4378
4379 cont := true
4380 for p.Next() && cont {
4381 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
4382 }
4383 return p.Err()
4384 }
4385
4386 const opListObjects = "ListObjects"
4387
4388 // ListObjectsRequest generates a "aws/request.Request" representing the
4389 // client's request for the ListObjects operation. The "output" return
4390 // value will be populated with the request's response once the request completes
4391 // successfully.
4392 //
4393 // Use "Send" method on the returned Request to send the API call to the service.
4394 // the "output" return value is not valid until after Send returns without error.
4395 //
4396 // See ListObjects for more information on using the ListObjects
4397 // API call, and error handling.
4398 //
4399 // This method is useful when you want to inject custom logic or configuration
4400 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4401 //
4402 //
4403 // // Example sending a request using the ListObjectsRequest method.
4404 // req, resp := client.ListObjectsRequest(params)
4405 //
4406 // err := req.Send()
4407 // if err == nil { // resp is now filled
4408 // fmt.Println(resp)
4409 // }
4410 //
4411 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4412 func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) {
4413 op := &request.Operation{
4414 Name: opListObjects,
4415 HTTPMethod: "GET",
4416 HTTPPath: "/{Bucket}",
4417 Paginator: &request.Paginator{
4418 InputTokens: []string{"Marker"},
4419 OutputTokens: []string{"NextMarker || Contents[-1].Key"},
4420 LimitToken: "MaxKeys",
4421 TruncationToken: "IsTruncated",
4422 },
4423 }
4424
4425 if input == nil {
4426 input = &ListObjectsInput{}
4427 }
4428
4429 output = &ListObjectsOutput{}
4430 req = c.newRequest(op, input, output)
4431 return
4432 }
4433
4434 // ListObjects API operation for Amazon Simple Storage Service.
4435 //
4436 // Returns some or all (up to 1000) of the objects in a bucket. You can use
4437 // the request parameters as selection criteria to return a subset of the objects
4438 // in a bucket.
4439 //
4440 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4441 // with awserr.Error's Code and Message methods to get detailed information about
4442 // the error.
4443 //
4444 // See the AWS API reference guide for Amazon Simple Storage Service's
4445 // API operation ListObjects for usage and error information.
4446 //
4447 // Returned Error Codes:
4448 // * ErrCodeNoSuchBucket "NoSuchBucket"
4449 // The specified bucket does not exist.
4450 //
4451 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4452 func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
4453 req, out := c.ListObjectsRequest(input)
4454 return out, req.Send()
4455 }
4456
4457 // ListObjectsWithContext is the same as ListObjects with the addition of
4458 // the ability to pass a context and additional request options.
4459 //
4460 // See ListObjects for details on how to use this API operation.
4461 //
4462 // The context must be non-nil and will be used for request cancellation. If
4463 // the context is nil a panic will occur. In the future the SDK may create
4464 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4465 // for more information on using Contexts.
4466 func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) {
4467 req, out := c.ListObjectsRequest(input)
4468 req.SetContext(ctx)
4469 req.ApplyOptions(opts...)
4470 return out, req.Send()
4471 }
4472
4473 // ListObjectsPages iterates over the pages of a ListObjects operation,
4474 // calling the "fn" function with the response data for each page. To stop
4475 // iterating, return false from the fn function.
4476 //
4477 // See ListObjects method for more information on how to use this operation.
4478 //
4479 // Note: This operation can generate multiple requests to a service.
4480 //
4481 // // Example iterating over at most 3 pages of a ListObjects operation.
4482 // pageNum := 0
4483 // err := client.ListObjectsPages(params,
4484 // func(page *s3.ListObjectsOutput, lastPage bool) bool {
4485 // pageNum++
4486 // fmt.Println(page)
4487 // return pageNum <= 3
4488 // })
4489 //
4490 func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
4491 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4492 }
4493
4494 // ListObjectsPagesWithContext same as ListObjectsPages except
4495 // it takes a Context and allows setting request options on the pages.
4496 //
4497 // The context must be non-nil and will be used for request cancellation. If
4498 // the context is nil a panic will occur. In the future the SDK may create
4499 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4500 // for more information on using Contexts.
4501 func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error {
4502 p := request.Pagination{
4503 NewRequest: func() (*request.Request, error) {
4504 var inCpy *ListObjectsInput
4505 if input != nil {
4506 tmp := *input
4507 inCpy = &tmp
4508 }
4509 req, _ := c.ListObjectsRequest(inCpy)
4510 req.SetContext(ctx)
4511 req.ApplyOptions(opts...)
4512 return req, nil
4513 },
4514 }
4515
4516 cont := true
4517 for p.Next() && cont {
4518 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
4519 }
4520 return p.Err()
4521 }
4522
4523 const opListObjectsV2 = "ListObjectsV2"
4524
4525 // ListObjectsV2Request generates a "aws/request.Request" representing the
4526 // client's request for the ListObjectsV2 operation. The "output" return
4527 // value will be populated with the request's response once the request completes
4528 // successfully.
4529 //
4530 // Use "Send" method on the returned Request to send the API call to the service.
4531 // the "output" return value is not valid until after Send returns without error.
4532 //
4533 // See ListObjectsV2 for more information on using the ListObjectsV2
4534 // API call, and error handling.
4535 //
4536 // This method is useful when you want to inject custom logic or configuration
4537 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4538 //
4539 //
4540 // // Example sending a request using the ListObjectsV2Request method.
4541 // req, resp := client.ListObjectsV2Request(params)
4542 //
4543 // err := req.Send()
4544 // if err == nil { // resp is now filled
4545 // fmt.Println(resp)
4546 // }
4547 //
4548 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4549 func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) {
4550 op := &request.Operation{
4551 Name: opListObjectsV2,
4552 HTTPMethod: "GET",
4553 HTTPPath: "/{Bucket}?list-type=2",
4554 Paginator: &request.Paginator{
4555 InputTokens: []string{"ContinuationToken"},
4556 OutputTokens: []string{"NextContinuationToken"},
4557 LimitToken: "MaxKeys",
4558 TruncationToken: "",
4559 },
4560 }
4561
4562 if input == nil {
4563 input = &ListObjectsV2Input{}
4564 }
4565
4566 output = &ListObjectsV2Output{}
4567 req = c.newRequest(op, input, output)
4568 return
4569 }
4570
4571 // ListObjectsV2 API operation for Amazon Simple Storage Service.
4572 //
4573 // Returns some or all (up to 1000) of the objects in a bucket. You can use
4574 // the request parameters as selection criteria to return a subset of the objects
4575 // in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend
4576 // you use this revised API for new application development.
4577 //
4578 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4579 // with awserr.Error's Code and Message methods to get detailed information about
4580 // the error.
4581 //
4582 // See the AWS API reference guide for Amazon Simple Storage Service's
4583 // API operation ListObjectsV2 for usage and error information.
4584 //
4585 // Returned Error Codes:
4586 // * ErrCodeNoSuchBucket "NoSuchBucket"
4587 // The specified bucket does not exist.
4588 //
4589 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4590 func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
4591 req, out := c.ListObjectsV2Request(input)
4592 return out, req.Send()
4593 }
4594
4595 // ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
4596 // the ability to pass a context and additional request options.
4597 //
4598 // See ListObjectsV2 for details on how to use this API operation.
4599 //
4600 // The context must be non-nil and will be used for request cancellation. If
4601 // the context is nil a panic will occur. In the future the SDK may create
4602 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4603 // for more information on using Contexts.
4604 func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) {
4605 req, out := c.ListObjectsV2Request(input)
4606 req.SetContext(ctx)
4607 req.ApplyOptions(opts...)
4608 return out, req.Send()
4609 }
4610
4611 // ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation,
4612 // calling the "fn" function with the response data for each page. To stop
4613 // iterating, return false from the fn function.
4614 //
4615 // See ListObjectsV2 method for more information on how to use this operation.
4616 //
4617 // Note: This operation can generate multiple requests to a service.
4618 //
4619 // // Example iterating over at most 3 pages of a ListObjectsV2 operation.
4620 // pageNum := 0
4621 // err := client.ListObjectsV2Pages(params,
4622 // func(page *s3.ListObjectsV2Output, lastPage bool) bool {
4623 // pageNum++
4624 // fmt.Println(page)
4625 // return pageNum <= 3
4626 // })
4627 //
4628 func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
4629 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
4630 }
4631
4632 // ListObjectsV2PagesWithContext same as ListObjectsV2Pages except
4633 // it takes a Context and allows setting request options on the pages.
4634 //
4635 // The context must be non-nil and will be used for request cancellation. If
4636 // the context is nil a panic will occur. In the future the SDK may create
4637 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4638 // for more information on using Contexts.
4639 func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error {
4640 p := request.Pagination{
4641 NewRequest: func() (*request.Request, error) {
4642 var inCpy *ListObjectsV2Input
4643 if input != nil {
4644 tmp := *input
4645 inCpy = &tmp
4646 }
4647 req, _ := c.ListObjectsV2Request(inCpy)
4648 req.SetContext(ctx)
4649 req.ApplyOptions(opts...)
4650 return req, nil
4651 },
4652 }
4653
4654 cont := true
4655 for p.Next() && cont {
4656 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
4657 }
4658 return p.Err()
4659 }
4660
4661 const opListParts = "ListParts"
4662
4663 // ListPartsRequest generates a "aws/request.Request" representing the
4664 // client's request for the ListParts operation. The "output" return
4665 // value will be populated with the request's response once the request completes
4666 // successfully.
4667 //
4668 // Use "Send" method on the returned Request to send the API call to the service.
4669 // the "output" return value is not valid until after Send returns without error.
4670 //
4671 // See ListParts for more information on using the ListParts
4672 // API call, and error handling.
4673 //
4674 // This method is useful when you want to inject custom logic or configuration
4675 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4676 //
4677 //
4678 // // Example sending a request using the ListPartsRequest method.
4679 // req, resp := client.ListPartsRequest(params)
4680 //
4681 // err := req.Send()
4682 // if err == nil { // resp is now filled
4683 // fmt.Println(resp)
4684 // }
4685 //
4686 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4687 func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
4688 op := &request.Operation{
4689 Name: opListParts,
4690 HTTPMethod: "GET",
4691 HTTPPath: "/{Bucket}/{Key+}",
4692 Paginator: &request.Paginator{
4693 InputTokens: []string{"PartNumberMarker"},
4694 OutputTokens: []string{"NextPartNumberMarker"},
4695 LimitToken: "MaxParts",
4696 TruncationToken: "IsTruncated",
4697 },
4698 }
4699
4700 if input == nil {
4701 input = &ListPartsInput{}
4702 }
4703
4704 output = &ListPartsOutput{}
4705 req = c.newRequest(op, input, output)
4706 return
4707 }
4708
4709 // ListParts API operation for Amazon Simple Storage Service.
4710 //
4711 // Lists the parts that have been uploaded for a specific multipart upload.
4712 //
4713 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4714 // with awserr.Error's Code and Message methods to get detailed information about
4715 // the error.
4716 //
4717 // See the AWS API reference guide for Amazon Simple Storage Service's
4718 // API operation ListParts for usage and error information.
4719 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4720 func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
4721 req, out := c.ListPartsRequest(input)
4722 return out, req.Send()
4723 }
4724
4725 // ListPartsWithContext is the same as ListParts with the addition of
4726 // the ability to pass a context and additional request options.
4727 //
4728 // See ListParts for details on how to use this API operation.
4729 //
4730 // The context must be non-nil and will be used for request cancellation. If
4731 // the context is nil a panic will occur. In the future the SDK may create
4732 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4733 // for more information on using Contexts.
4734 func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) {
4735 req, out := c.ListPartsRequest(input)
4736 req.SetContext(ctx)
4737 req.ApplyOptions(opts...)
4738 return out, req.Send()
4739 }
4740
4741 // ListPartsPages iterates over the pages of a ListParts operation,
4742 // calling the "fn" function with the response data for each page. To stop
4743 // iterating, return false from the fn function.
4744 //
4745 // See ListParts method for more information on how to use this operation.
4746 //
4747 // Note: This operation can generate multiple requests to a service.
4748 //
4749 // // Example iterating over at most 3 pages of a ListParts operation.
4750 // pageNum := 0
4751 // err := client.ListPartsPages(params,
4752 // func(page *s3.ListPartsOutput, lastPage bool) bool {
4753 // pageNum++
4754 // fmt.Println(page)
4755 // return pageNum <= 3
4756 // })
4757 //
4758 func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
4759 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
4760 }
4761
4762 // ListPartsPagesWithContext same as ListPartsPages except
4763 // it takes a Context and allows setting request options on the pages.
4764 //
4765 // The context must be non-nil and will be used for request cancellation. If
4766 // the context is nil a panic will occur. In the future the SDK may create
4767 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4768 // for more information on using Contexts.
4769 func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error {
4770 p := request.Pagination{
4771 NewRequest: func() (*request.Request, error) {
4772 var inCpy *ListPartsInput
4773 if input != nil {
4774 tmp := *input
4775 inCpy = &tmp
4776 }
4777 req, _ := c.ListPartsRequest(inCpy)
4778 req.SetContext(ctx)
4779 req.ApplyOptions(opts...)
4780 return req, nil
4781 },
4782 }
4783
4784 cont := true
4785 for p.Next() && cont {
4786 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
4787 }
4788 return p.Err()
4789 }
4790
4791 const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
4792
4793 // PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
4794 // client's request for the PutBucketAccelerateConfiguration operation. The "output" return
4795 // value will be populated with the request's response once the request completes
4796 // successfully.
4797 //
4798 // Use "Send" method on the returned Request to send the API call to the service.
4799 // the "output" return value is not valid until after Send returns without error.
4800 //
4801 // See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
4802 // API call, and error handling.
4803 //
4804 // This method is useful when you want to inject custom logic or configuration
4805 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4806 //
4807 //
4808 // // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
4809 // req, resp := client.PutBucketAccelerateConfigurationRequest(params)
4810 //
4811 // err := req.Send()
4812 // if err == nil { // resp is now filled
4813 // fmt.Println(resp)
4814 // }
4815 //
4816 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4817 func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) {
4818 op := &request.Operation{
4819 Name: opPutBucketAccelerateConfiguration,
4820 HTTPMethod: "PUT",
4821 HTTPPath: "/{Bucket}?accelerate",
4822 }
4823
4824 if input == nil {
4825 input = &PutBucketAccelerateConfigurationInput{}
4826 }
4827
4828 output = &PutBucketAccelerateConfigurationOutput{}
4829 req = c.newRequest(op, input, output)
4830 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4831 return
4832 }
4833
4834 // PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
4835 //
4836 // Sets the accelerate configuration of an existing bucket.
4837 //
4838 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4839 // with awserr.Error's Code and Message methods to get detailed information about
4840 // the error.
4841 //
4842 // See the AWS API reference guide for Amazon Simple Storage Service's
4843 // API operation PutBucketAccelerateConfiguration for usage and error information.
4844 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4845 func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
4846 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4847 return out, req.Send()
4848 }
4849
4850 // PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
4851 // the ability to pass a context and additional request options.
4852 //
4853 // See PutBucketAccelerateConfiguration for details on how to use this API operation.
4854 //
4855 // The context must be non-nil and will be used for request cancellation. If
4856 // the context is nil a panic will occur. In the future the SDK may create
4857 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4858 // for more information on using Contexts.
4859 func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) {
4860 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4861 req.SetContext(ctx)
4862 req.ApplyOptions(opts...)
4863 return out, req.Send()
4864 }
4865
4866 const opPutBucketAcl = "PutBucketAcl"
4867
4868 // PutBucketAclRequest generates a "aws/request.Request" representing the
4869 // client's request for the PutBucketAcl operation. The "output" return
4870 // value will be populated with the request's response once the request completes
4871 // successfully.
4872 //
4873 // Use "Send" method on the returned Request to send the API call to the service.
4874 // the "output" return value is not valid until after Send returns without error.
4875 //
4876 // See PutBucketAcl for more information on using the PutBucketAcl
4877 // API call, and error handling.
4878 //
4879 // This method is useful when you want to inject custom logic or configuration
4880 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4881 //
4882 //
4883 // // Example sending a request using the PutBucketAclRequest method.
4884 // req, resp := client.PutBucketAclRequest(params)
4885 //
4886 // err := req.Send()
4887 // if err == nil { // resp is now filled
4888 // fmt.Println(resp)
4889 // }
4890 //
4891 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4892 func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) {
4893 op := &request.Operation{
4894 Name: opPutBucketAcl,
4895 HTTPMethod: "PUT",
4896 HTTPPath: "/{Bucket}?acl",
4897 }
4898
4899 if input == nil {
4900 input = &PutBucketAclInput{}
4901 }
4902
4903 output = &PutBucketAclOutput{}
4904 req = c.newRequest(op, input, output)
4905 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4906 return
4907 }
4908
4909 // PutBucketAcl API operation for Amazon Simple Storage Service.
4910 //
4911 // Sets the permissions on a bucket using access control lists (ACL).
4912 //
4913 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4914 // with awserr.Error's Code and Message methods to get detailed information about
4915 // the error.
4916 //
4917 // See the AWS API reference guide for Amazon Simple Storage Service's
4918 // API operation PutBucketAcl for usage and error information.
4919 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4920 func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
4921 req, out := c.PutBucketAclRequest(input)
4922 return out, req.Send()
4923 }
4924
4925 // PutBucketAclWithContext is the same as PutBucketAcl with the addition of
4926 // the ability to pass a context and additional request options.
4927 //
4928 // See PutBucketAcl for details on how to use this API operation.
4929 //
4930 // The context must be non-nil and will be used for request cancellation. If
4931 // the context is nil a panic will occur. In the future the SDK may create
4932 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
4933 // for more information on using Contexts.
4934 func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) {
4935 req, out := c.PutBucketAclRequest(input)
4936 req.SetContext(ctx)
4937 req.ApplyOptions(opts...)
4938 return out, req.Send()
4939 }
4940
4941 const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
4942
4943 // PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
4944 // client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
4945 // value will be populated with the request's response once the request completes
4946 // successfully.
4947 //
4948 // Use "Send" method on the returned Request to send the API call to the service.
4949 // the "output" return value is not valid until after Send returns without error.
4950 //
4951 // See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
4952 // API call, and error handling.
4953 //
4954 // This method is useful when you want to inject custom logic or configuration
4955 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
4956 //
4957 //
4958 // // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
4959 // req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
4960 //
4961 // err := req.Send()
4962 // if err == nil { // resp is now filled
4963 // fmt.Println(resp)
4964 // }
4965 //
4966 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4967 func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) {
4968 op := &request.Operation{
4969 Name: opPutBucketAnalyticsConfiguration,
4970 HTTPMethod: "PUT",
4971 HTTPPath: "/{Bucket}?analytics",
4972 }
4973
4974 if input == nil {
4975 input = &PutBucketAnalyticsConfigurationInput{}
4976 }
4977
4978 output = &PutBucketAnalyticsConfigurationOutput{}
4979 req = c.newRequest(op, input, output)
4980 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4981 return
4982 }
4983
4984 // PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
4985 //
4986 // Sets an analytics configuration for the bucket (specified by the analytics
4987 // configuration ID).
4988 //
4989 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4990 // with awserr.Error's Code and Message methods to get detailed information about
4991 // the error.
4992 //
4993 // See the AWS API reference guide for Amazon Simple Storage Service's
4994 // API operation PutBucketAnalyticsConfiguration for usage and error information.
4995 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4996 func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
4997 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
4998 return out, req.Send()
4999 }
5000
5001 // PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
5002 // the ability to pass a context and additional request options.
5003 //
5004 // See PutBucketAnalyticsConfiguration for details on how to use this API operation.
5005 //
5006 // The context must be non-nil and will be used for request cancellation. If
5007 // the context is nil a panic will occur. In the future the SDK may create
5008 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5009 // for more information on using Contexts.
5010 func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) {
5011 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
5012 req.SetContext(ctx)
5013 req.ApplyOptions(opts...)
5014 return out, req.Send()
5015 }
5016
5017 const opPutBucketCors = "PutBucketCors"
5018
5019 // PutBucketCorsRequest generates a "aws/request.Request" representing the
5020 // client's request for the PutBucketCors operation. The "output" return
5021 // value will be populated with the request's response once the request completes
5022 // successfully.
5023 //
5024 // Use "Send" method on the returned Request to send the API call to the service.
5025 // the "output" return value is not valid until after Send returns without error.
5026 //
5027 // See PutBucketCors for more information on using the PutBucketCors
5028 // API call, and error handling.
5029 //
5030 // This method is useful when you want to inject custom logic or configuration
5031 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5032 //
5033 //
5034 // // Example sending a request using the PutBucketCorsRequest method.
5035 // req, resp := client.PutBucketCorsRequest(params)
5036 //
5037 // err := req.Send()
5038 // if err == nil { // resp is now filled
5039 // fmt.Println(resp)
5040 // }
5041 //
5042 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
5043 func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) {
5044 op := &request.Operation{
5045 Name: opPutBucketCors,
5046 HTTPMethod: "PUT",
5047 HTTPPath: "/{Bucket}?cors",
5048 }
5049
5050 if input == nil {
5051 input = &PutBucketCorsInput{}
5052 }
5053
5054 output = &PutBucketCorsOutput{}
5055 req = c.newRequest(op, input, output)
5056 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5057 return
5058 }
5059
5060 // PutBucketCors API operation for Amazon Simple Storage Service.
5061 //
5062 // Sets the CORS configuration for a bucket.
5063 //
5064 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5065 // with awserr.Error's Code and Message methods to get detailed information about
5066 // the error.
5067 //
5068 // See the AWS API reference guide for Amazon Simple Storage Service's
5069 // API operation PutBucketCors for usage and error information.
5070 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
5071 func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
5072 req, out := c.PutBucketCorsRequest(input)
5073 return out, req.Send()
5074 }
5075
5076 // PutBucketCorsWithContext is the same as PutBucketCors with the addition of
5077 // the ability to pass a context and additional request options.
5078 //
5079 // See PutBucketCors for details on how to use this API operation.
5080 //
5081 // The context must be non-nil and will be used for request cancellation. If
5082 // the context is nil a panic will occur. In the future the SDK may create
5083 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5084 // for more information on using Contexts.
5085 func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) {
5086 req, out := c.PutBucketCorsRequest(input)
5087 req.SetContext(ctx)
5088 req.ApplyOptions(opts...)
5089 return out, req.Send()
5090 }
5091
5092 const opPutBucketEncryption = "PutBucketEncryption"
5093
5094 // PutBucketEncryptionRequest generates a "aws/request.Request" representing the
5095 // client's request for the PutBucketEncryption operation. The "output" return
5096 // value will be populated with the request's response once the request completes
5097 // successfully.
5098 //
5099 // Use "Send" method on the returned Request to send the API call to the service.
5100 // the "output" return value is not valid until after Send returns without error.
5101 //
5102 // See PutBucketEncryption for more information on using the PutBucketEncryption
5103 // API call, and error handling.
5104 //
5105 // This method is useful when you want to inject custom logic or configuration
5106 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5107 //
5108 //
5109 // // Example sending a request using the PutBucketEncryptionRequest method.
5110 // req, resp := client.PutBucketEncryptionRequest(params)
5111 //
5112 // err := req.Send()
5113 // if err == nil { // resp is now filled
5114 // fmt.Println(resp)
5115 // }
5116 //
5117 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5118 func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) {
5119 op := &request.Operation{
5120 Name: opPutBucketEncryption,
5121 HTTPMethod: "PUT",
5122 HTTPPath: "/{Bucket}?encryption",
5123 }
5124
5125 if input == nil {
5126 input = &PutBucketEncryptionInput{}
5127 }
5128
5129 output = &PutBucketEncryptionOutput{}
5130 req = c.newRequest(op, input, output)
5131 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5132 return
5133 }
5134
5135 // PutBucketEncryption API operation for Amazon Simple Storage Service.
5136 //
5137 // Creates a new server-side encryption configuration (or replaces an existing
5138 // one, if present).
5139 //
5140 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5141 // with awserr.Error's Code and Message methods to get detailed information about
5142 // the error.
5143 //
5144 // See the AWS API reference guide for Amazon Simple Storage Service's
5145 // API operation PutBucketEncryption for usage and error information.
5146 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5147 func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) {
5148 req, out := c.PutBucketEncryptionRequest(input)
5149 return out, req.Send()
5150 }
5151
5152 // PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
5153 // the ability to pass a context and additional request options.
5154 //
5155 // See PutBucketEncryption for details on how to use this API operation.
5156 //
5157 // The context must be non-nil and will be used for request cancellation. If
5158 // the context is nil a panic will occur. In the future the SDK may create
5159 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5160 // for more information on using Contexts.
5161 func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) {
5162 req, out := c.PutBucketEncryptionRequest(input)
5163 req.SetContext(ctx)
5164 req.ApplyOptions(opts...)
5165 return out, req.Send()
5166 }
5167
5168 const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
5169
5170 // PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
5171 // client's request for the PutBucketInventoryConfiguration operation. The "output" return
5172 // value will be populated with the request's response once the request completes
5173 // successfully.
5174 //
5175 // Use "Send" method on the returned Request to send the API call to the service.
5176 // the "output" return value is not valid until after Send returns without error.
5177 //
5178 // See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
5179 // API call, and error handling.
5180 //
5181 // This method is useful when you want to inject custom logic or configuration
5182 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5183 //
5184 //
5185 // // Example sending a request using the PutBucketInventoryConfigurationRequest method.
5186 // req, resp := client.PutBucketInventoryConfigurationRequest(params)
5187 //
5188 // err := req.Send()
5189 // if err == nil { // resp is now filled
5190 // fmt.Println(resp)
5191 // }
5192 //
5193 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
5194 func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) {
5195 op := &request.Operation{
5196 Name: opPutBucketInventoryConfiguration,
5197 HTTPMethod: "PUT",
5198 HTTPPath: "/{Bucket}?inventory",
5199 }
5200
5201 if input == nil {
5202 input = &PutBucketInventoryConfigurationInput{}
5203 }
5204
5205 output = &PutBucketInventoryConfigurationOutput{}
5206 req = c.newRequest(op, input, output)
5207 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5208 return
5209 }
5210
5211 // PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
5212 //
5213 // Adds an inventory configuration (identified by the inventory ID) from the
5214 // bucket.
5215 //
5216 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5217 // with awserr.Error's Code and Message methods to get detailed information about
5218 // the error.
5219 //
5220 // See the AWS API reference guide for Amazon Simple Storage Service's
5221 // API operation PutBucketInventoryConfiguration for usage and error information.
5222 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
5223 func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
5224 req, out := c.PutBucketInventoryConfigurationRequest(input)
5225 return out, req.Send()
5226 }
5227
5228 // PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
5229 // the ability to pass a context and additional request options.
5230 //
5231 // See PutBucketInventoryConfiguration for details on how to use this API operation.
5232 //
5233 // The context must be non-nil and will be used for request cancellation. If
5234 // the context is nil a panic will occur. In the future the SDK may create
5235 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5236 // for more information on using Contexts.
5237 func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) {
5238 req, out := c.PutBucketInventoryConfigurationRequest(input)
5239 req.SetContext(ctx)
5240 req.ApplyOptions(opts...)
5241 return out, req.Send()
5242 }
5243
5244 const opPutBucketLifecycle = "PutBucketLifecycle"
5245
5246 // PutBucketLifecycleRequest generates a "aws/request.Request" representing the
5247 // client's request for the PutBucketLifecycle operation. The "output" return
5248 // value will be populated with the request's response once the request completes
5249 // successfully.
5250 //
5251 // Use "Send" method on the returned Request to send the API call to the service.
5252 // the "output" return value is not valid until after Send returns without error.
5253 //
5254 // See PutBucketLifecycle for more information on using the PutBucketLifecycle
5255 // API call, and error handling.
5256 //
5257 // This method is useful when you want to inject custom logic or configuration
5258 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5259 //
5260 //
5261 // // Example sending a request using the PutBucketLifecycleRequest method.
5262 // req, resp := client.PutBucketLifecycleRequest(params)
5263 //
5264 // err := req.Send()
5265 // if err == nil { // resp is now filled
5266 // fmt.Println(resp)
5267 // }
5268 //
5269 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
5270 //
5271 // Deprecated: PutBucketLifecycle has been deprecated
5272 func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) {
5273 if c.Client.Config.Logger != nil {
5274 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated")
5275 }
5276 op := &request.Operation{
5277 Name: opPutBucketLifecycle,
5278 HTTPMethod: "PUT",
5279 HTTPPath: "/{Bucket}?lifecycle",
5280 }
5281
5282 if input == nil {
5283 input = &PutBucketLifecycleInput{}
5284 }
5285
5286 output = &PutBucketLifecycleOutput{}
5287 req = c.newRequest(op, input, output)
5288 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5289 return
5290 }
5291
5292 // PutBucketLifecycle API operation for Amazon Simple Storage Service.
5293 //
5294 // No longer used, see the PutBucketLifecycleConfiguration operation.
5295 //
5296 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5297 // with awserr.Error's Code and Message methods to get detailed information about
5298 // the error.
5299 //
5300 // See the AWS API reference guide for Amazon Simple Storage Service's
5301 // API operation PutBucketLifecycle for usage and error information.
5302 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
5303 //
5304 // Deprecated: PutBucketLifecycle has been deprecated
5305 func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
5306 req, out := c.PutBucketLifecycleRequest(input)
5307 return out, req.Send()
5308 }
5309
5310 // PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
5311 // the ability to pass a context and additional request options.
5312 //
5313 // See PutBucketLifecycle for details on how to use this API operation.
5314 //
5315 // The context must be non-nil and will be used for request cancellation. If
5316 // the context is nil a panic will occur. In the future the SDK may create
5317 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5318 // for more information on using Contexts.
5319 //
5320 // Deprecated: PutBucketLifecycleWithContext has been deprecated
5321 func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) {
5322 req, out := c.PutBucketLifecycleRequest(input)
5323 req.SetContext(ctx)
5324 req.ApplyOptions(opts...)
5325 return out, req.Send()
5326 }
5327
5328 const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
5329
5330 // PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
5331 // client's request for the PutBucketLifecycleConfiguration operation. The "output" return
5332 // value will be populated with the request's response once the request completes
5333 // successfully.
5334 //
5335 // Use "Send" method on the returned Request to send the API call to the service.
5336 // the "output" return value is not valid until after Send returns without error.
5337 //
5338 // See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
5339 // API call, and error handling.
5340 //
5341 // This method is useful when you want to inject custom logic or configuration
5342 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5343 //
5344 //
5345 // // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
5346 // req, resp := client.PutBucketLifecycleConfigurationRequest(params)
5347 //
5348 // err := req.Send()
5349 // if err == nil { // resp is now filled
5350 // fmt.Println(resp)
5351 // }
5352 //
5353 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
5354 func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) {
5355 op := &request.Operation{
5356 Name: opPutBucketLifecycleConfiguration,
5357 HTTPMethod: "PUT",
5358 HTTPPath: "/{Bucket}?lifecycle",
5359 }
5360
5361 if input == nil {
5362 input = &PutBucketLifecycleConfigurationInput{}
5363 }
5364
5365 output = &PutBucketLifecycleConfigurationOutput{}
5366 req = c.newRequest(op, input, output)
5367 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5368 return
5369 }
5370
5371 // PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
5372 //
5373 // Sets lifecycle configuration for your bucket. If a lifecycle configuration
5374 // exists, it replaces it.
5375 //
5376 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5377 // with awserr.Error's Code and Message methods to get detailed information about
5378 // the error.
5379 //
5380 // See the AWS API reference guide for Amazon Simple Storage Service's
5381 // API operation PutBucketLifecycleConfiguration for usage and error information.
5382 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
5383 func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
5384 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5385 return out, req.Send()
5386 }
5387
5388 // PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
5389 // the ability to pass a context and additional request options.
5390 //
5391 // See PutBucketLifecycleConfiguration for details on how to use this API operation.
5392 //
5393 // The context must be non-nil and will be used for request cancellation. If
5394 // the context is nil a panic will occur. In the future the SDK may create
5395 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5396 // for more information on using Contexts.
5397 func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) {
5398 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5399 req.SetContext(ctx)
5400 req.ApplyOptions(opts...)
5401 return out, req.Send()
5402 }
5403
5404 const opPutBucketLogging = "PutBucketLogging"
5405
5406 // PutBucketLoggingRequest generates a "aws/request.Request" representing the
5407 // client's request for the PutBucketLogging operation. The "output" return
5408 // value will be populated with the request's response once the request completes
5409 // successfully.
5410 //
5411 // Use "Send" method on the returned Request to send the API call to the service.
5412 // the "output" return value is not valid until after Send returns without error.
5413 //
5414 // See PutBucketLogging for more information on using the PutBucketLogging
5415 // API call, and error handling.
5416 //
5417 // This method is useful when you want to inject custom logic or configuration
5418 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5419 //
5420 //
5421 // // Example sending a request using the PutBucketLoggingRequest method.
5422 // req, resp := client.PutBucketLoggingRequest(params)
5423 //
5424 // err := req.Send()
5425 // if err == nil { // resp is now filled
5426 // fmt.Println(resp)
5427 // }
5428 //
5429 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
5430 func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) {
5431 op := &request.Operation{
5432 Name: opPutBucketLogging,
5433 HTTPMethod: "PUT",
5434 HTTPPath: "/{Bucket}?logging",
5435 }
5436
5437 if input == nil {
5438 input = &PutBucketLoggingInput{}
5439 }
5440
5441 output = &PutBucketLoggingOutput{}
5442 req = c.newRequest(op, input, output)
5443 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5444 return
5445 }
5446
5447 // PutBucketLogging API operation for Amazon Simple Storage Service.
5448 //
5449 // Set the logging parameters for a bucket and to specify permissions for who
5450 // can view and modify the logging parameters. To set the logging status of
5451 // a bucket, you must be the bucket owner.
5452 //
5453 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5454 // with awserr.Error's Code and Message methods to get detailed information about
5455 // the error.
5456 //
5457 // See the AWS API reference guide for Amazon Simple Storage Service's
5458 // API operation PutBucketLogging for usage and error information.
5459 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
5460 func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
5461 req, out := c.PutBucketLoggingRequest(input)
5462 return out, req.Send()
5463 }
5464
5465 // PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
5466 // the ability to pass a context and additional request options.
5467 //
5468 // See PutBucketLogging for details on how to use this API operation.
5469 //
5470 // The context must be non-nil and will be used for request cancellation. If
5471 // the context is nil a panic will occur. In the future the SDK may create
5472 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5473 // for more information on using Contexts.
5474 func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) {
5475 req, out := c.PutBucketLoggingRequest(input)
5476 req.SetContext(ctx)
5477 req.ApplyOptions(opts...)
5478 return out, req.Send()
5479 }
5480
5481 const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
5482
5483 // PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
5484 // client's request for the PutBucketMetricsConfiguration operation. The "output" return
5485 // value will be populated with the request's response once the request completes
5486 // successfully.
5487 //
5488 // Use "Send" method on the returned Request to send the API call to the service.
5489 // the "output" return value is not valid until after Send returns without error.
5490 //
5491 // See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
5492 // API call, and error handling.
5493 //
5494 // This method is useful when you want to inject custom logic or configuration
5495 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5496 //
5497 //
5498 // // Example sending a request using the PutBucketMetricsConfigurationRequest method.
5499 // req, resp := client.PutBucketMetricsConfigurationRequest(params)
5500 //
5501 // err := req.Send()
5502 // if err == nil { // resp is now filled
5503 // fmt.Println(resp)
5504 // }
5505 //
5506 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
5507 func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) {
5508 op := &request.Operation{
5509 Name: opPutBucketMetricsConfiguration,
5510 HTTPMethod: "PUT",
5511 HTTPPath: "/{Bucket}?metrics",
5512 }
5513
5514 if input == nil {
5515 input = &PutBucketMetricsConfigurationInput{}
5516 }
5517
5518 output = &PutBucketMetricsConfigurationOutput{}
5519 req = c.newRequest(op, input, output)
5520 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5521 return
5522 }
5523
5524 // PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
5525 //
5526 // Sets a metrics configuration (specified by the metrics configuration ID)
5527 // for the bucket.
5528 //
5529 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5530 // with awserr.Error's Code and Message methods to get detailed information about
5531 // the error.
5532 //
5533 // See the AWS API reference guide for Amazon Simple Storage Service's
5534 // API operation PutBucketMetricsConfiguration for usage and error information.
5535 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
5536 func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
5537 req, out := c.PutBucketMetricsConfigurationRequest(input)
5538 return out, req.Send()
5539 }
5540
5541 // PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
5542 // the ability to pass a context and additional request options.
5543 //
5544 // See PutBucketMetricsConfiguration for details on how to use this API operation.
5545 //
5546 // The context must be non-nil and will be used for request cancellation. If
5547 // the context is nil a panic will occur. In the future the SDK may create
5548 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5549 // for more information on using Contexts.
5550 func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) {
5551 req, out := c.PutBucketMetricsConfigurationRequest(input)
5552 req.SetContext(ctx)
5553 req.ApplyOptions(opts...)
5554 return out, req.Send()
5555 }
5556
5557 const opPutBucketNotification = "PutBucketNotification"
5558
5559 // PutBucketNotificationRequest generates a "aws/request.Request" representing the
5560 // client's request for the PutBucketNotification operation. The "output" return
5561 // value will be populated with the request's response once the request completes
5562 // successfully.
5563 //
5564 // Use "Send" method on the returned Request to send the API call to the service.
5565 // the "output" return value is not valid until after Send returns without error.
5566 //
5567 // See PutBucketNotification for more information on using the PutBucketNotification
5568 // API call, and error handling.
5569 //
5570 // This method is useful when you want to inject custom logic or configuration
5571 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5572 //
5573 //
5574 // // Example sending a request using the PutBucketNotificationRequest method.
5575 // req, resp := client.PutBucketNotificationRequest(params)
5576 //
5577 // err := req.Send()
5578 // if err == nil { // resp is now filled
5579 // fmt.Println(resp)
5580 // }
5581 //
5582 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
5583 //
5584 // Deprecated: PutBucketNotification has been deprecated
5585 func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) {
5586 if c.Client.Config.Logger != nil {
5587 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated")
5588 }
5589 op := &request.Operation{
5590 Name: opPutBucketNotification,
5591 HTTPMethod: "PUT",
5592 HTTPPath: "/{Bucket}?notification",
5593 }
5594
5595 if input == nil {
5596 input = &PutBucketNotificationInput{}
5597 }
5598
5599 output = &PutBucketNotificationOutput{}
5600 req = c.newRequest(op, input, output)
5601 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5602 return
5603 }
5604
5605 // PutBucketNotification API operation for Amazon Simple Storage Service.
5606 //
5607 // No longer used, see the PutBucketNotificationConfiguration operation.
5608 //
5609 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5610 // with awserr.Error's Code and Message methods to get detailed information about
5611 // the error.
5612 //
5613 // See the AWS API reference guide for Amazon Simple Storage Service's
5614 // API operation PutBucketNotification for usage and error information.
5615 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
5616 //
5617 // Deprecated: PutBucketNotification has been deprecated
5618 func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
5619 req, out := c.PutBucketNotificationRequest(input)
5620 return out, req.Send()
5621 }
5622
5623 // PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
5624 // the ability to pass a context and additional request options.
5625 //
5626 // See PutBucketNotification for details on how to use this API operation.
5627 //
5628 // The context must be non-nil and will be used for request cancellation. If
5629 // the context is nil a panic will occur. In the future the SDK may create
5630 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5631 // for more information on using Contexts.
5632 //
5633 // Deprecated: PutBucketNotificationWithContext has been deprecated
5634 func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) {
5635 req, out := c.PutBucketNotificationRequest(input)
5636 req.SetContext(ctx)
5637 req.ApplyOptions(opts...)
5638 return out, req.Send()
5639 }
5640
5641 const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
5642
5643 // PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
5644 // client's request for the PutBucketNotificationConfiguration operation. The "output" return
5645 // value will be populated with the request's response once the request completes
5646 // successfully.
5647 //
5648 // Use "Send" method on the returned Request to send the API call to the service.
5649 // the "output" return value is not valid until after Send returns without error.
5650 //
5651 // See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
5652 // API call, and error handling.
5653 //
5654 // This method is useful when you want to inject custom logic or configuration
5655 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5656 //
5657 //
5658 // // Example sending a request using the PutBucketNotificationConfigurationRequest method.
5659 // req, resp := client.PutBucketNotificationConfigurationRequest(params)
5660 //
5661 // err := req.Send()
5662 // if err == nil { // resp is now filled
5663 // fmt.Println(resp)
5664 // }
5665 //
5666 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5667 func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) {
5668 op := &request.Operation{
5669 Name: opPutBucketNotificationConfiguration,
5670 HTTPMethod: "PUT",
5671 HTTPPath: "/{Bucket}?notification",
5672 }
5673
5674 if input == nil {
5675 input = &PutBucketNotificationConfigurationInput{}
5676 }
5677
5678 output = &PutBucketNotificationConfigurationOutput{}
5679 req = c.newRequest(op, input, output)
5680 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5681 return
5682 }
5683
5684 // PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
5685 //
5686 // Enables notifications of specified events for a bucket.
5687 //
5688 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5689 // with awserr.Error's Code and Message methods to get detailed information about
5690 // the error.
5691 //
5692 // See the AWS API reference guide for Amazon Simple Storage Service's
5693 // API operation PutBucketNotificationConfiguration for usage and error information.
5694 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5695 func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
5696 req, out := c.PutBucketNotificationConfigurationRequest(input)
5697 return out, req.Send()
5698 }
5699
5700 // PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
5701 // the ability to pass a context and additional request options.
5702 //
5703 // See PutBucketNotificationConfiguration for details on how to use this API operation.
5704 //
5705 // The context must be non-nil and will be used for request cancellation. If
5706 // the context is nil a panic will occur. In the future the SDK may create
5707 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5708 // for more information on using Contexts.
5709 func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) {
5710 req, out := c.PutBucketNotificationConfigurationRequest(input)
5711 req.SetContext(ctx)
5712 req.ApplyOptions(opts...)
5713 return out, req.Send()
5714 }
5715
5716 const opPutBucketPolicy = "PutBucketPolicy"
5717
5718 // PutBucketPolicyRequest generates a "aws/request.Request" representing the
5719 // client's request for the PutBucketPolicy operation. The "output" return
5720 // value will be populated with the request's response once the request completes
5721 // successfully.
5722 //
5723 // Use "Send" method on the returned Request to send the API call to the service.
5724 // the "output" return value is not valid until after Send returns without error.
5725 //
5726 // See PutBucketPolicy for more information on using the PutBucketPolicy
5727 // API call, and error handling.
5728 //
5729 // This method is useful when you want to inject custom logic or configuration
5730 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5731 //
5732 //
5733 // // Example sending a request using the PutBucketPolicyRequest method.
5734 // req, resp := client.PutBucketPolicyRequest(params)
5735 //
5736 // err := req.Send()
5737 // if err == nil { // resp is now filled
5738 // fmt.Println(resp)
5739 // }
5740 //
5741 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5742 func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) {
5743 op := &request.Operation{
5744 Name: opPutBucketPolicy,
5745 HTTPMethod: "PUT",
5746 HTTPPath: "/{Bucket}?policy",
5747 }
5748
5749 if input == nil {
5750 input = &PutBucketPolicyInput{}
5751 }
5752
5753 output = &PutBucketPolicyOutput{}
5754 req = c.newRequest(op, input, output)
5755 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5756 return
5757 }
5758
5759 // PutBucketPolicy API operation for Amazon Simple Storage Service.
5760 //
5761 // Applies an Amazon S3 bucket policy to an Amazon S3 bucket.
5762 //
5763 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5764 // with awserr.Error's Code and Message methods to get detailed information about
5765 // the error.
5766 //
5767 // See the AWS API reference guide for Amazon Simple Storage Service's
5768 // API operation PutBucketPolicy for usage and error information.
5769 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5770 func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
5771 req, out := c.PutBucketPolicyRequest(input)
5772 return out, req.Send()
5773 }
5774
5775 // PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
5776 // the ability to pass a context and additional request options.
5777 //
5778 // See PutBucketPolicy for details on how to use this API operation.
5779 //
5780 // The context must be non-nil and will be used for request cancellation. If
5781 // the context is nil a panic will occur. In the future the SDK may create
5782 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5783 // for more information on using Contexts.
5784 func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) {
5785 req, out := c.PutBucketPolicyRequest(input)
5786 req.SetContext(ctx)
5787 req.ApplyOptions(opts...)
5788 return out, req.Send()
5789 }
5790
5791 const opPutBucketReplication = "PutBucketReplication"
5792
5793 // PutBucketReplicationRequest generates a "aws/request.Request" representing the
5794 // client's request for the PutBucketReplication operation. The "output" return
5795 // value will be populated with the request's response once the request completes
5796 // successfully.
5797 //
5798 // Use "Send" method on the returned Request to send the API call to the service.
5799 // the "output" return value is not valid until after Send returns without error.
5800 //
5801 // See PutBucketReplication for more information on using the PutBucketReplication
5802 // API call, and error handling.
5803 //
5804 // This method is useful when you want to inject custom logic or configuration
5805 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5806 //
5807 //
5808 // // Example sending a request using the PutBucketReplicationRequest method.
5809 // req, resp := client.PutBucketReplicationRequest(params)
5810 //
5811 // err := req.Send()
5812 // if err == nil { // resp is now filled
5813 // fmt.Println(resp)
5814 // }
5815 //
5816 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5817 func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) {
5818 op := &request.Operation{
5819 Name: opPutBucketReplication,
5820 HTTPMethod: "PUT",
5821 HTTPPath: "/{Bucket}?replication",
5822 }
5823
5824 if input == nil {
5825 input = &PutBucketReplicationInput{}
5826 }
5827
5828 output = &PutBucketReplicationOutput{}
5829 req = c.newRequest(op, input, output)
5830 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5831 return
5832 }
5833
5834 // PutBucketReplication API operation for Amazon Simple Storage Service.
5835 //
5836 // Creates a replication configuration or replaces an existing one. For more
5837 // information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
5838 // in the Amazon S3 Developer Guide.
5839 //
5840 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5841 // with awserr.Error's Code and Message methods to get detailed information about
5842 // the error.
5843 //
5844 // See the AWS API reference guide for Amazon Simple Storage Service's
5845 // API operation PutBucketReplication for usage and error information.
5846 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5847 func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
5848 req, out := c.PutBucketReplicationRequest(input)
5849 return out, req.Send()
5850 }
5851
5852 // PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
5853 // the ability to pass a context and additional request options.
5854 //
5855 // See PutBucketReplication for details on how to use this API operation.
5856 //
5857 // The context must be non-nil and will be used for request cancellation. If
5858 // the context is nil a panic will occur. In the future the SDK may create
5859 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5860 // for more information on using Contexts.
5861 func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) {
5862 req, out := c.PutBucketReplicationRequest(input)
5863 req.SetContext(ctx)
5864 req.ApplyOptions(opts...)
5865 return out, req.Send()
5866 }
5867
5868 const opPutBucketRequestPayment = "PutBucketRequestPayment"
5869
5870 // PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
5871 // client's request for the PutBucketRequestPayment operation. The "output" return
5872 // value will be populated with the request's response once the request completes
5873 // successfully.
5874 //
5875 // Use "Send" method on the returned Request to send the API call to the service.
5876 // the "output" return value is not valid until after Send returns without error.
5877 //
5878 // See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
5879 // API call, and error handling.
5880 //
5881 // This method is useful when you want to inject custom logic or configuration
5882 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5883 //
5884 //
5885 // // Example sending a request using the PutBucketRequestPaymentRequest method.
5886 // req, resp := client.PutBucketRequestPaymentRequest(params)
5887 //
5888 // err := req.Send()
5889 // if err == nil { // resp is now filled
5890 // fmt.Println(resp)
5891 // }
5892 //
5893 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5894 func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) {
5895 op := &request.Operation{
5896 Name: opPutBucketRequestPayment,
5897 HTTPMethod: "PUT",
5898 HTTPPath: "/{Bucket}?requestPayment",
5899 }
5900
5901 if input == nil {
5902 input = &PutBucketRequestPaymentInput{}
5903 }
5904
5905 output = &PutBucketRequestPaymentOutput{}
5906 req = c.newRequest(op, input, output)
5907 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5908 return
5909 }
5910
5911 // PutBucketRequestPayment API operation for Amazon Simple Storage Service.
5912 //
5913 // Sets the request payment configuration for a bucket. By default, the bucket
5914 // owner pays for downloads from the bucket. This configuration parameter enables
5915 // the bucket owner (only) to specify that the person requesting the download
5916 // will be charged for the download. Documentation on requester pays buckets
5917 // can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
5918 //
5919 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5920 // with awserr.Error's Code and Message methods to get detailed information about
5921 // the error.
5922 //
5923 // See the AWS API reference guide for Amazon Simple Storage Service's
5924 // API operation PutBucketRequestPayment for usage and error information.
5925 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5926 func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
5927 req, out := c.PutBucketRequestPaymentRequest(input)
5928 return out, req.Send()
5929 }
5930
5931 // PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
5932 // the ability to pass a context and additional request options.
5933 //
5934 // See PutBucketRequestPayment for details on how to use this API operation.
5935 //
5936 // The context must be non-nil and will be used for request cancellation. If
5937 // the context is nil a panic will occur. In the future the SDK may create
5938 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
5939 // for more information on using Contexts.
5940 func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) {
5941 req, out := c.PutBucketRequestPaymentRequest(input)
5942 req.SetContext(ctx)
5943 req.ApplyOptions(opts...)
5944 return out, req.Send()
5945 }
5946
5947 const opPutBucketTagging = "PutBucketTagging"
5948
5949 // PutBucketTaggingRequest generates a "aws/request.Request" representing the
5950 // client's request for the PutBucketTagging operation. The "output" return
5951 // value will be populated with the request's response once the request completes
5952 // successfully.
5953 //
5954 // Use "Send" method on the returned Request to send the API call to the service.
5955 // the "output" return value is not valid until after Send returns without error.
5956 //
5957 // See PutBucketTagging for more information on using the PutBucketTagging
5958 // API call, and error handling.
5959 //
5960 // This method is useful when you want to inject custom logic or configuration
5961 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
5962 //
5963 //
5964 // // Example sending a request using the PutBucketTaggingRequest method.
5965 // req, resp := client.PutBucketTaggingRequest(params)
5966 //
5967 // err := req.Send()
5968 // if err == nil { // resp is now filled
5969 // fmt.Println(resp)
5970 // }
5971 //
5972 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
5973 func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) {
5974 op := &request.Operation{
5975 Name: opPutBucketTagging,
5976 HTTPMethod: "PUT",
5977 HTTPPath: "/{Bucket}?tagging",
5978 }
5979
5980 if input == nil {
5981 input = &PutBucketTaggingInput{}
5982 }
5983
5984 output = &PutBucketTaggingOutput{}
5985 req = c.newRequest(op, input, output)
5986 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5987 return
5988 }
5989
5990 // PutBucketTagging API operation for Amazon Simple Storage Service.
5991 //
5992 // Sets the tags for a bucket.
5993 //
5994 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5995 // with awserr.Error's Code and Message methods to get detailed information about
5996 // the error.
5997 //
5998 // See the AWS API reference guide for Amazon Simple Storage Service's
5999 // API operation PutBucketTagging for usage and error information.
6000 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
6001 func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
6002 req, out := c.PutBucketTaggingRequest(input)
6003 return out, req.Send()
6004 }
6005
6006 // PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
6007 // the ability to pass a context and additional request options.
6008 //
6009 // See PutBucketTagging for details on how to use this API operation.
6010 //
6011 // The context must be non-nil and will be used for request cancellation. If
6012 // the context is nil a panic will occur. In the future the SDK may create
6013 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6014 // for more information on using Contexts.
6015 func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) {
6016 req, out := c.PutBucketTaggingRequest(input)
6017 req.SetContext(ctx)
6018 req.ApplyOptions(opts...)
6019 return out, req.Send()
6020 }
6021
6022 const opPutBucketVersioning = "PutBucketVersioning"
6023
6024 // PutBucketVersioningRequest generates a "aws/request.Request" representing the
6025 // client's request for the PutBucketVersioning operation. The "output" return
6026 // value will be populated with the request's response once the request completes
6027 // successfully.
6028 //
6029 // Use "Send" method on the returned Request to send the API call to the service.
6030 // the "output" return value is not valid until after Send returns without error.
6031 //
6032 // See PutBucketVersioning for more information on using the PutBucketVersioning
6033 // API call, and error handling.
6034 //
6035 // This method is useful when you want to inject custom logic or configuration
6036 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6037 //
6038 //
6039 // // Example sending a request using the PutBucketVersioningRequest method.
6040 // req, resp := client.PutBucketVersioningRequest(params)
6041 //
6042 // err := req.Send()
6043 // if err == nil { // resp is now filled
6044 // fmt.Println(resp)
6045 // }
6046 //
6047 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
6048 func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) {
6049 op := &request.Operation{
6050 Name: opPutBucketVersioning,
6051 HTTPMethod: "PUT",
6052 HTTPPath: "/{Bucket}?versioning",
6053 }
6054
6055 if input == nil {
6056 input = &PutBucketVersioningInput{}
6057 }
6058
6059 output = &PutBucketVersioningOutput{}
6060 req = c.newRequest(op, input, output)
6061 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6062 return
6063 }
6064
6065 // PutBucketVersioning API operation for Amazon Simple Storage Service.
6066 //
6067 // Sets the versioning state of an existing bucket. To set the versioning state,
6068 // you must be the bucket owner.
6069 //
6070 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6071 // with awserr.Error's Code and Message methods to get detailed information about
6072 // the error.
6073 //
6074 // See the AWS API reference guide for Amazon Simple Storage Service's
6075 // API operation PutBucketVersioning for usage and error information.
6076 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
6077 func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
6078 req, out := c.PutBucketVersioningRequest(input)
6079 return out, req.Send()
6080 }
6081
6082 // PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
6083 // the ability to pass a context and additional request options.
6084 //
6085 // See PutBucketVersioning for details on how to use this API operation.
6086 //
6087 // The context must be non-nil and will be used for request cancellation. If
6088 // the context is nil a panic will occur. In the future the SDK may create
6089 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6090 // for more information on using Contexts.
6091 func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) {
6092 req, out := c.PutBucketVersioningRequest(input)
6093 req.SetContext(ctx)
6094 req.ApplyOptions(opts...)
6095 return out, req.Send()
6096 }
6097
6098 const opPutBucketWebsite = "PutBucketWebsite"
6099
6100 // PutBucketWebsiteRequest generates a "aws/request.Request" representing the
6101 // client's request for the PutBucketWebsite operation. The "output" return
6102 // value will be populated with the request's response once the request completes
6103 // successfully.
6104 //
6105 // Use "Send" method on the returned Request to send the API call to the service.
6106 // the "output" return value is not valid until after Send returns without error.
6107 //
6108 // See PutBucketWebsite for more information on using the PutBucketWebsite
6109 // API call, and error handling.
6110 //
6111 // This method is useful when you want to inject custom logic or configuration
6112 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6113 //
6114 //
6115 // // Example sending a request using the PutBucketWebsiteRequest method.
6116 // req, resp := client.PutBucketWebsiteRequest(params)
6117 //
6118 // err := req.Send()
6119 // if err == nil { // resp is now filled
6120 // fmt.Println(resp)
6121 // }
6122 //
6123 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
6124 func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) {
6125 op := &request.Operation{
6126 Name: opPutBucketWebsite,
6127 HTTPMethod: "PUT",
6128 HTTPPath: "/{Bucket}?website",
6129 }
6130
6131 if input == nil {
6132 input = &PutBucketWebsiteInput{}
6133 }
6134
6135 output = &PutBucketWebsiteOutput{}
6136 req = c.newRequest(op, input, output)
6137 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6138 return
6139 }
6140
6141 // PutBucketWebsite API operation for Amazon Simple Storage Service.
6142 //
6143 // Set the website configuration for a bucket.
6144 //
6145 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6146 // with awserr.Error's Code and Message methods to get detailed information about
6147 // the error.
6148 //
6149 // See the AWS API reference guide for Amazon Simple Storage Service's
6150 // API operation PutBucketWebsite for usage and error information.
6151 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
6152 func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
6153 req, out := c.PutBucketWebsiteRequest(input)
6154 return out, req.Send()
6155 }
6156
6157 // PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
6158 // the ability to pass a context and additional request options.
6159 //
6160 // See PutBucketWebsite for details on how to use this API operation.
6161 //
6162 // The context must be non-nil and will be used for request cancellation. If
6163 // the context is nil a panic will occur. In the future the SDK may create
6164 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6165 // for more information on using Contexts.
6166 func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) {
6167 req, out := c.PutBucketWebsiteRequest(input)
6168 req.SetContext(ctx)
6169 req.ApplyOptions(opts...)
6170 return out, req.Send()
6171 }
6172
6173 const opPutObject = "PutObject"
6174
6175 // PutObjectRequest generates a "aws/request.Request" representing the
6176 // client's request for the PutObject operation. The "output" return
6177 // value will be populated with the request's response once the request completes
6178 // successfully.
6179 //
6180 // Use "Send" method on the returned Request to send the API call to the service.
6181 // the "output" return value is not valid until after Send returns without error.
6182 //
6183 // See PutObject for more information on using the PutObject
6184 // API call, and error handling.
6185 //
6186 // This method is useful when you want to inject custom logic or configuration
6187 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6188 //
6189 //
6190 // // Example sending a request using the PutObjectRequest method.
6191 // req, resp := client.PutObjectRequest(params)
6192 //
6193 // err := req.Send()
6194 // if err == nil { // resp is now filled
6195 // fmt.Println(resp)
6196 // }
6197 //
6198 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
6199 func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) {
6200 op := &request.Operation{
6201 Name: opPutObject,
6202 HTTPMethod: "PUT",
6203 HTTPPath: "/{Bucket}/{Key+}",
6204 }
6205
6206 if input == nil {
6207 input = &PutObjectInput{}
6208 }
6209
6210 output = &PutObjectOutput{}
6211 req = c.newRequest(op, input, output)
6212 return
6213 }
6214
6215 // PutObject API operation for Amazon Simple Storage Service.
6216 //
6217 // Adds an object to a bucket.
6218 //
6219 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6220 // with awserr.Error's Code and Message methods to get detailed information about
6221 // the error.
6222 //
6223 // See the AWS API reference guide for Amazon Simple Storage Service's
6224 // API operation PutObject for usage and error information.
6225 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
6226 func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) {
6227 req, out := c.PutObjectRequest(input)
6228 return out, req.Send()
6229 }
6230
6231 // PutObjectWithContext is the same as PutObject with the addition of
6232 // the ability to pass a context and additional request options.
6233 //
6234 // See PutObject for details on how to use this API operation.
6235 //
6236 // The context must be non-nil and will be used for request cancellation. If
6237 // the context is nil a panic will occur. In the future the SDK may create
6238 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6239 // for more information on using Contexts.
6240 func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) {
6241 req, out := c.PutObjectRequest(input)
6242 req.SetContext(ctx)
6243 req.ApplyOptions(opts...)
6244 return out, req.Send()
6245 }
6246
6247 const opPutObjectAcl = "PutObjectAcl"
6248
6249 // PutObjectAclRequest generates a "aws/request.Request" representing the
6250 // client's request for the PutObjectAcl operation. The "output" return
6251 // value will be populated with the request's response once the request completes
6252 // successfully.
6253 //
6254 // Use "Send" method on the returned Request to send the API call to the service.
6255 // the "output" return value is not valid until after Send returns without error.
6256 //
6257 // See PutObjectAcl for more information on using the PutObjectAcl
6258 // API call, and error handling.
6259 //
6260 // This method is useful when you want to inject custom logic or configuration
6261 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6262 //
6263 //
6264 // // Example sending a request using the PutObjectAclRequest method.
6265 // req, resp := client.PutObjectAclRequest(params)
6266 //
6267 // err := req.Send()
6268 // if err == nil { // resp is now filled
6269 // fmt.Println(resp)
6270 // }
6271 //
6272 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
6273 func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) {
6274 op := &request.Operation{
6275 Name: opPutObjectAcl,
6276 HTTPMethod: "PUT",
6277 HTTPPath: "/{Bucket}/{Key+}?acl",
6278 }
6279
6280 if input == nil {
6281 input = &PutObjectAclInput{}
6282 }
6283
6284 output = &PutObjectAclOutput{}
6285 req = c.newRequest(op, input, output)
6286 return
6287 }
6288
6289 // PutObjectAcl API operation for Amazon Simple Storage Service.
6290 //
6291 // uses the acl subresource to set the access control list (ACL) permissions
6292 // for an object that already exists in a bucket
6293 //
6294 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6295 // with awserr.Error's Code and Message methods to get detailed information about
6296 // the error.
6297 //
6298 // See the AWS API reference guide for Amazon Simple Storage Service's
6299 // API operation PutObjectAcl for usage and error information.
6300 //
6301 // Returned Error Codes:
6302 // * ErrCodeNoSuchKey "NoSuchKey"
6303 // The specified key does not exist.
6304 //
6305 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
6306 func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
6307 req, out := c.PutObjectAclRequest(input)
6308 return out, req.Send()
6309 }
6310
6311 // PutObjectAclWithContext is the same as PutObjectAcl with the addition of
6312 // the ability to pass a context and additional request options.
6313 //
6314 // See PutObjectAcl for details on how to use this API operation.
6315 //
6316 // The context must be non-nil and will be used for request cancellation. If
6317 // the context is nil a panic will occur. In the future the SDK may create
6318 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6319 // for more information on using Contexts.
6320 func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) {
6321 req, out := c.PutObjectAclRequest(input)
6322 req.SetContext(ctx)
6323 req.ApplyOptions(opts...)
6324 return out, req.Send()
6325 }
6326
6327 const opPutObjectLegalHold = "PutObjectLegalHold"
6328
6329 // PutObjectLegalHoldRequest generates a "aws/request.Request" representing the
6330 // client's request for the PutObjectLegalHold operation. The "output" return
6331 // value will be populated with the request's response once the request completes
6332 // successfully.
6333 //
6334 // Use "Send" method on the returned Request to send the API call to the service.
6335 // the "output" return value is not valid until after Send returns without error.
6336 //
6337 // See PutObjectLegalHold for more information on using the PutObjectLegalHold
6338 // API call, and error handling.
6339 //
6340 // This method is useful when you want to inject custom logic or configuration
6341 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6342 //
6343 //
6344 // // Example sending a request using the PutObjectLegalHoldRequest method.
6345 // req, resp := client.PutObjectLegalHoldRequest(params)
6346 //
6347 // err := req.Send()
6348 // if err == nil { // resp is now filled
6349 // fmt.Println(resp)
6350 // }
6351 //
6352 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6353 func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *request.Request, output *PutObjectLegalHoldOutput) {
6354 op := &request.Operation{
6355 Name: opPutObjectLegalHold,
6356 HTTPMethod: "PUT",
6357 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
6358 }
6359
6360 if input == nil {
6361 input = &PutObjectLegalHoldInput{}
6362 }
6363
6364 output = &PutObjectLegalHoldOutput{}
6365 req = c.newRequest(op, input, output)
6366 return
6367 }
6368
6369 // PutObjectLegalHold API operation for Amazon Simple Storage Service.
6370 //
6371 // Applies a Legal Hold configuration to the specified object.
6372 //
6373 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6374 // with awserr.Error's Code and Message methods to get detailed information about
6375 // the error.
6376 //
6377 // See the AWS API reference guide for Amazon Simple Storage Service's
6378 // API operation PutObjectLegalHold for usage and error information.
6379 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6380 func (c *S3) PutObjectLegalHold(input *PutObjectLegalHoldInput) (*PutObjectLegalHoldOutput, error) {
6381 req, out := c.PutObjectLegalHoldRequest(input)
6382 return out, req.Send()
6383 }
6384
6385 // PutObjectLegalHoldWithContext is the same as PutObjectLegalHold with the addition of
6386 // the ability to pass a context and additional request options.
6387 //
6388 // See PutObjectLegalHold for details on how to use this API operation.
6389 //
6390 // The context must be non-nil and will be used for request cancellation. If
6391 // the context is nil a panic will occur. In the future the SDK may create
6392 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6393 // for more information on using Contexts.
6394 func (c *S3) PutObjectLegalHoldWithContext(ctx aws.Context, input *PutObjectLegalHoldInput, opts ...request.Option) (*PutObjectLegalHoldOutput, error) {
6395 req, out := c.PutObjectLegalHoldRequest(input)
6396 req.SetContext(ctx)
6397 req.ApplyOptions(opts...)
6398 return out, req.Send()
6399 }
6400
6401 const opPutObjectLockConfiguration = "PutObjectLockConfiguration"
6402
6403 // PutObjectLockConfigurationRequest generates a "aws/request.Request" representing the
6404 // client's request for the PutObjectLockConfiguration operation. The "output" return
6405 // value will be populated with the request's response once the request completes
6406 // successfully.
6407 //
6408 // Use "Send" method on the returned Request to send the API call to the service.
6409 // the "output" return value is not valid until after Send returns without error.
6410 //
6411 // See PutObjectLockConfiguration for more information on using the PutObjectLockConfiguration
6412 // API call, and error handling.
6413 //
6414 // This method is useful when you want to inject custom logic or configuration
6415 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6416 //
6417 //
6418 // // Example sending a request using the PutObjectLockConfigurationRequest method.
6419 // req, resp := client.PutObjectLockConfigurationRequest(params)
6420 //
6421 // err := req.Send()
6422 // if err == nil { // resp is now filled
6423 // fmt.Println(resp)
6424 // }
6425 //
6426 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6427 func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfigurationInput) (req *request.Request, output *PutObjectLockConfigurationOutput) {
6428 op := &request.Operation{
6429 Name: opPutObjectLockConfiguration,
6430 HTTPMethod: "PUT",
6431 HTTPPath: "/{Bucket}?object-lock",
6432 }
6433
6434 if input == nil {
6435 input = &PutObjectLockConfigurationInput{}
6436 }
6437
6438 output = &PutObjectLockConfigurationOutput{}
6439 req = c.newRequest(op, input, output)
6440 return
6441 }
6442
6443 // PutObjectLockConfiguration API operation for Amazon Simple Storage Service.
6444 //
6445 // Places an object lock configuration on the specified bucket. The rule specified
6446 // in the object lock configuration will be applied by default to every new
6447 // object placed in the specified bucket.
6448 //
6449 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6450 // with awserr.Error's Code and Message methods to get detailed information about
6451 // the error.
6452 //
6453 // See the AWS API reference guide for Amazon Simple Storage Service's
6454 // API operation PutObjectLockConfiguration for usage and error information.
6455 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6456 func (c *S3) PutObjectLockConfiguration(input *PutObjectLockConfigurationInput) (*PutObjectLockConfigurationOutput, error) {
6457 req, out := c.PutObjectLockConfigurationRequest(input)
6458 return out, req.Send()
6459 }
6460
6461 // PutObjectLockConfigurationWithContext is the same as PutObjectLockConfiguration with the addition of
6462 // the ability to pass a context and additional request options.
6463 //
6464 // See PutObjectLockConfiguration for details on how to use this API operation.
6465 //
6466 // The context must be non-nil and will be used for request cancellation. If
6467 // the context is nil a panic will occur. In the future the SDK may create
6468 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6469 // for more information on using Contexts.
6470 func (c *S3) PutObjectLockConfigurationWithContext(ctx aws.Context, input *PutObjectLockConfigurationInput, opts ...request.Option) (*PutObjectLockConfigurationOutput, error) {
6471 req, out := c.PutObjectLockConfigurationRequest(input)
6472 req.SetContext(ctx)
6473 req.ApplyOptions(opts...)
6474 return out, req.Send()
6475 }
6476
6477 const opPutObjectRetention = "PutObjectRetention"
6478
6479 // PutObjectRetentionRequest generates a "aws/request.Request" representing the
6480 // client's request for the PutObjectRetention operation. The "output" return
6481 // value will be populated with the request's response once the request completes
6482 // successfully.
6483 //
6484 // Use "Send" method on the returned Request to send the API call to the service.
6485 // the "output" return value is not valid until after Send returns without error.
6486 //
6487 // See PutObjectRetention for more information on using the PutObjectRetention
6488 // API call, and error handling.
6489 //
6490 // This method is useful when you want to inject custom logic or configuration
6491 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6492 //
6493 //
6494 // // Example sending a request using the PutObjectRetentionRequest method.
6495 // req, resp := client.PutObjectRetentionRequest(params)
6496 //
6497 // err := req.Send()
6498 // if err == nil { // resp is now filled
6499 // fmt.Println(resp)
6500 // }
6501 //
6502 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6503 func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *request.Request, output *PutObjectRetentionOutput) {
6504 op := &request.Operation{
6505 Name: opPutObjectRetention,
6506 HTTPMethod: "PUT",
6507 HTTPPath: "/{Bucket}/{Key+}?retention",
6508 }
6509
6510 if input == nil {
6511 input = &PutObjectRetentionInput{}
6512 }
6513
6514 output = &PutObjectRetentionOutput{}
6515 req = c.newRequest(op, input, output)
6516 return
6517 }
6518
6519 // PutObjectRetention API operation for Amazon Simple Storage Service.
6520 //
6521 // Places an Object Retention configuration on an object.
6522 //
6523 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6524 // with awserr.Error's Code and Message methods to get detailed information about
6525 // the error.
6526 //
6527 // See the AWS API reference guide for Amazon Simple Storage Service's
6528 // API operation PutObjectRetention for usage and error information.
6529 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6530 func (c *S3) PutObjectRetention(input *PutObjectRetentionInput) (*PutObjectRetentionOutput, error) {
6531 req, out := c.PutObjectRetentionRequest(input)
6532 return out, req.Send()
6533 }
6534
6535 // PutObjectRetentionWithContext is the same as PutObjectRetention with the addition of
6536 // the ability to pass a context and additional request options.
6537 //
6538 // See PutObjectRetention for details on how to use this API operation.
6539 //
6540 // The context must be non-nil and will be used for request cancellation. If
6541 // the context is nil a panic will occur. In the future the SDK may create
6542 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6543 // for more information on using Contexts.
6544 func (c *S3) PutObjectRetentionWithContext(ctx aws.Context, input *PutObjectRetentionInput, opts ...request.Option) (*PutObjectRetentionOutput, error) {
6545 req, out := c.PutObjectRetentionRequest(input)
6546 req.SetContext(ctx)
6547 req.ApplyOptions(opts...)
6548 return out, req.Send()
6549 }
6550
6551 const opPutObjectTagging = "PutObjectTagging"
6552
6553 // PutObjectTaggingRequest generates a "aws/request.Request" representing the
6554 // client's request for the PutObjectTagging operation. The "output" return
6555 // value will be populated with the request's response once the request completes
6556 // successfully.
6557 //
6558 // Use "Send" method on the returned Request to send the API call to the service.
6559 // the "output" return value is not valid until after Send returns without error.
6560 //
6561 // See PutObjectTagging for more information on using the PutObjectTagging
6562 // API call, and error handling.
6563 //
6564 // This method is useful when you want to inject custom logic or configuration
6565 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6566 //
6567 //
6568 // // Example sending a request using the PutObjectTaggingRequest method.
6569 // req, resp := client.PutObjectTaggingRequest(params)
6570 //
6571 // err := req.Send()
6572 // if err == nil { // resp is now filled
6573 // fmt.Println(resp)
6574 // }
6575 //
6576 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6577 func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) {
6578 op := &request.Operation{
6579 Name: opPutObjectTagging,
6580 HTTPMethod: "PUT",
6581 HTTPPath: "/{Bucket}/{Key+}?tagging",
6582 }
6583
6584 if input == nil {
6585 input = &PutObjectTaggingInput{}
6586 }
6587
6588 output = &PutObjectTaggingOutput{}
6589 req = c.newRequest(op, input, output)
6590 return
6591 }
6592
6593 // PutObjectTagging API operation for Amazon Simple Storage Service.
6594 //
6595 // Sets the supplied tag-set to an object that already exists in a bucket
6596 //
6597 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6598 // with awserr.Error's Code and Message methods to get detailed information about
6599 // the error.
6600 //
6601 // See the AWS API reference guide for Amazon Simple Storage Service's
6602 // API operation PutObjectTagging for usage and error information.
6603 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6604 func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
6605 req, out := c.PutObjectTaggingRequest(input)
6606 return out, req.Send()
6607 }
6608
6609 // PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
6610 // the ability to pass a context and additional request options.
6611 //
6612 // See PutObjectTagging for details on how to use this API operation.
6613 //
6614 // The context must be non-nil and will be used for request cancellation. If
6615 // the context is nil a panic will occur. In the future the SDK may create
6616 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6617 // for more information on using Contexts.
6618 func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) {
6619 req, out := c.PutObjectTaggingRequest(input)
6620 req.SetContext(ctx)
6621 req.ApplyOptions(opts...)
6622 return out, req.Send()
6623 }
6624
6625 const opPutPublicAccessBlock = "PutPublicAccessBlock"
6626
6627 // PutPublicAccessBlockRequest generates a "aws/request.Request" representing the
6628 // client's request for the PutPublicAccessBlock operation. The "output" return
6629 // value will be populated with the request's response once the request completes
6630 // successfully.
6631 //
6632 // Use "Send" method on the returned Request to send the API call to the service.
6633 // the "output" return value is not valid until after Send returns without error.
6634 //
6635 // See PutPublicAccessBlock for more information on using the PutPublicAccessBlock
6636 // API call, and error handling.
6637 //
6638 // This method is useful when you want to inject custom logic or configuration
6639 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6640 //
6641 //
6642 // // Example sending a request using the PutPublicAccessBlockRequest method.
6643 // req, resp := client.PutPublicAccessBlockRequest(params)
6644 //
6645 // err := req.Send()
6646 // if err == nil { // resp is now filled
6647 // fmt.Println(resp)
6648 // }
6649 //
6650 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6651 func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) {
6652 op := &request.Operation{
6653 Name: opPutPublicAccessBlock,
6654 HTTPMethod: "PUT",
6655 HTTPPath: "/{Bucket}?publicAccessBlock",
6656 }
6657
6658 if input == nil {
6659 input = &PutPublicAccessBlockInput{}
6660 }
6661
6662 output = &PutPublicAccessBlockOutput{}
6663 req = c.newRequest(op, input, output)
6664 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6665 return
6666 }
6667
6668 // PutPublicAccessBlock API operation for Amazon Simple Storage Service.
6669 //
6670 // Creates or modifies the PublicAccessBlock configuration for an Amazon S3
6671 // bucket.
6672 //
6673 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6674 // with awserr.Error's Code and Message methods to get detailed information about
6675 // the error.
6676 //
6677 // See the AWS API reference guide for Amazon Simple Storage Service's
6678 // API operation PutPublicAccessBlock for usage and error information.
6679 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6680 func (c *S3) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) {
6681 req, out := c.PutPublicAccessBlockRequest(input)
6682 return out, req.Send()
6683 }
6684
6685 // PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of
6686 // the ability to pass a context and additional request options.
6687 //
6688 // See PutPublicAccessBlock for details on how to use this API operation.
6689 //
6690 // The context must be non-nil and will be used for request cancellation. If
6691 // the context is nil a panic will occur. In the future the SDK may create
6692 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6693 // for more information on using Contexts.
6694 func (c *S3) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) {
6695 req, out := c.PutPublicAccessBlockRequest(input)
6696 req.SetContext(ctx)
6697 req.ApplyOptions(opts...)
6698 return out, req.Send()
6699 }
6700
6701 const opRestoreObject = "RestoreObject"
6702
6703 // RestoreObjectRequest generates a "aws/request.Request" representing the
6704 // client's request for the RestoreObject operation. The "output" return
6705 // value will be populated with the request's response once the request completes
6706 // successfully.
6707 //
6708 // Use "Send" method on the returned Request to send the API call to the service.
6709 // the "output" return value is not valid until after Send returns without error.
6710 //
6711 // See RestoreObject for more information on using the RestoreObject
6712 // API call, and error handling.
6713 //
6714 // This method is useful when you want to inject custom logic or configuration
6715 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6716 //
6717 //
6718 // // Example sending a request using the RestoreObjectRequest method.
6719 // req, resp := client.RestoreObjectRequest(params)
6720 //
6721 // err := req.Send()
6722 // if err == nil { // resp is now filled
6723 // fmt.Println(resp)
6724 // }
6725 //
6726 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
6727 func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) {
6728 op := &request.Operation{
6729 Name: opRestoreObject,
6730 HTTPMethod: "POST",
6731 HTTPPath: "/{Bucket}/{Key+}?restore",
6732 }
6733
6734 if input == nil {
6735 input = &RestoreObjectInput{}
6736 }
6737
6738 output = &RestoreObjectOutput{}
6739 req = c.newRequest(op, input, output)
6740 return
6741 }
6742
6743 // RestoreObject API operation for Amazon Simple Storage Service.
6744 //
6745 // Restores an archived copy of an object back into Amazon S3
6746 //
6747 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6748 // with awserr.Error's Code and Message methods to get detailed information about
6749 // the error.
6750 //
6751 // See the AWS API reference guide for Amazon Simple Storage Service's
6752 // API operation RestoreObject for usage and error information.
6753 //
6754 // Returned Error Codes:
6755 // * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
6756 // This operation is not allowed against this storage tier
6757 //
6758 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
6759 func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
6760 req, out := c.RestoreObjectRequest(input)
6761 return out, req.Send()
6762 }
6763
6764 // RestoreObjectWithContext is the same as RestoreObject with the addition of
6765 // the ability to pass a context and additional request options.
6766 //
6767 // See RestoreObject for details on how to use this API operation.
6768 //
6769 // The context must be non-nil and will be used for request cancellation. If
6770 // the context is nil a panic will occur. In the future the SDK may create
6771 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6772 // for more information on using Contexts.
6773 func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) {
6774 req, out := c.RestoreObjectRequest(input)
6775 req.SetContext(ctx)
6776 req.ApplyOptions(opts...)
6777 return out, req.Send()
6778 }
6779
6780 const opSelectObjectContent = "SelectObjectContent"
6781
6782 // SelectObjectContentRequest generates a "aws/request.Request" representing the
6783 // client's request for the SelectObjectContent operation. The "output" return
6784 // value will be populated with the request's response once the request completes
6785 // successfully.
6786 //
6787 // Use "Send" method on the returned Request to send the API call to the service.
6788 // the "output" return value is not valid until after Send returns without error.
6789 //
6790 // See SelectObjectContent for more information on using the SelectObjectContent
6791 // API call, and error handling.
6792 //
6793 // This method is useful when you want to inject custom logic or configuration
6794 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6795 //
6796 //
6797 // // Example sending a request using the SelectObjectContentRequest method.
6798 // req, resp := client.SelectObjectContentRequest(params)
6799 //
6800 // err := req.Send()
6801 // if err == nil { // resp is now filled
6802 // fmt.Println(resp)
6803 // }
6804 //
6805 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6806 func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) {
6807 op := &request.Operation{
6808 Name: opSelectObjectContent,
6809 HTTPMethod: "POST",
6810 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
6811 }
6812
6813 if input == nil {
6814 input = &SelectObjectContentInput{}
6815 }
6816
6817 output = &SelectObjectContentOutput{}
6818 req = c.newRequest(op, input, output)
6819 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
6820 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler)
6821 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop)
6822 return
6823 }
6824
6825 // SelectObjectContent API operation for Amazon Simple Storage Service.
6826 //
6827 // This operation filters the contents of an Amazon S3 object based on a simple
6828 // Structured Query Language (SQL) statement. In the request, along with the
6829 // SQL expression, you must also specify a data serialization format (JSON or
6830 // CSV) of the object. Amazon S3 uses this to parse object data into records,
6831 // and returns only records that match the specified SQL expression. You must
6832 // also specify the data serialization format for the response.
6833 //
6834 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6835 // with awserr.Error's Code and Message methods to get detailed information about
6836 // the error.
6837 //
6838 // See the AWS API reference guide for Amazon Simple Storage Service's
6839 // API operation SelectObjectContent for usage and error information.
6840 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6841 func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) {
6842 req, out := c.SelectObjectContentRequest(input)
6843 return out, req.Send()
6844 }
6845
6846 // SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
6847 // the ability to pass a context and additional request options.
6848 //
6849 // See SelectObjectContent for details on how to use this API operation.
6850 //
6851 // The context must be non-nil and will be used for request cancellation. If
6852 // the context is nil a panic will occur. In the future the SDK may create
6853 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6854 // for more information on using Contexts.
6855 func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) {
6856 req, out := c.SelectObjectContentRequest(input)
6857 req.SetContext(ctx)
6858 req.ApplyOptions(opts...)
6859 return out, req.Send()
6860 }
6861
6862 const opUploadPart = "UploadPart"
6863
6864 // UploadPartRequest generates a "aws/request.Request" representing the
6865 // client's request for the UploadPart operation. The "output" return
6866 // value will be populated with the request's response once the request completes
6867 // successfully.
6868 //
6869 // Use "Send" method on the returned Request to send the API call to the service.
6870 // the "output" return value is not valid until after Send returns without error.
6871 //
6872 // See UploadPart for more information on using the UploadPart
6873 // API call, and error handling.
6874 //
6875 // This method is useful when you want to inject custom logic or configuration
6876 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6877 //
6878 //
6879 // // Example sending a request using the UploadPartRequest method.
6880 // req, resp := client.UploadPartRequest(params)
6881 //
6882 // err := req.Send()
6883 // if err == nil { // resp is now filled
6884 // fmt.Println(resp)
6885 // }
6886 //
6887 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6888 func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) {
6889 op := &request.Operation{
6890 Name: opUploadPart,
6891 HTTPMethod: "PUT",
6892 HTTPPath: "/{Bucket}/{Key+}",
6893 }
6894
6895 if input == nil {
6896 input = &UploadPartInput{}
6897 }
6898
6899 output = &UploadPartOutput{}
6900 req = c.newRequest(op, input, output)
6901 return
6902 }
6903
6904 // UploadPart API operation for Amazon Simple Storage Service.
6905 //
6906 // Uploads a part in a multipart upload.
6907 //
6908 // Note: After you initiate multipart upload and upload one or more parts, you
6909 // must either complete or abort multipart upload in order to stop getting charged
6910 // for storage of the uploaded parts. Only after you either complete or abort
6911 // multipart upload, Amazon S3 frees up the parts storage and stops charging
6912 // you for the parts storage.
6913 //
6914 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6915 // with awserr.Error's Code and Message methods to get detailed information about
6916 // the error.
6917 //
6918 // See the AWS API reference guide for Amazon Simple Storage Service's
6919 // API operation UploadPart for usage and error information.
6920 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6921 func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
6922 req, out := c.UploadPartRequest(input)
6923 return out, req.Send()
6924 }
6925
6926 // UploadPartWithContext is the same as UploadPart with the addition of
6927 // the ability to pass a context and additional request options.
6928 //
6929 // See UploadPart for details on how to use this API operation.
6930 //
6931 // The context must be non-nil and will be used for request cancellation. If
6932 // the context is nil a panic will occur. In the future the SDK may create
6933 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
6934 // for more information on using Contexts.
6935 func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) {
6936 req, out := c.UploadPartRequest(input)
6937 req.SetContext(ctx)
6938 req.ApplyOptions(opts...)
6939 return out, req.Send()
6940 }
6941
6942 const opUploadPartCopy = "UploadPartCopy"
6943
6944 // UploadPartCopyRequest generates a "aws/request.Request" representing the
6945 // client's request for the UploadPartCopy operation. The "output" return
6946 // value will be populated with the request's response once the request completes
6947 // successfully.
6948 //
6949 // Use "Send" method on the returned Request to send the API call to the service.
6950 // the "output" return value is not valid until after Send returns without error.
6951 //
6952 // See UploadPartCopy for more information on using the UploadPartCopy
6953 // API call, and error handling.
6954 //
6955 // This method is useful when you want to inject custom logic or configuration
6956 // into the SDK's request lifecycle. Such as custom headers, or retry logic.
6957 //
6958 //
6959 // // Example sending a request using the UploadPartCopyRequest method.
6960 // req, resp := client.UploadPartCopyRequest(params)
6961 //
6962 // err := req.Send()
6963 // if err == nil { // resp is now filled
6964 // fmt.Println(resp)
6965 // }
6966 //
6967 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6968 func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) {
6969 op := &request.Operation{
6970 Name: opUploadPartCopy,
6971 HTTPMethod: "PUT",
6972 HTTPPath: "/{Bucket}/{Key+}",
6973 }
6974
6975 if input == nil {
6976 input = &UploadPartCopyInput{}
6977 }
6978
6979 output = &UploadPartCopyOutput{}
6980 req = c.newRequest(op, input, output)
6981 return
6982 }
6983
6984 // UploadPartCopy API operation for Amazon Simple Storage Service.
6985 //
6986 // Uploads a part by copying data from an existing object as data source.
6987 //
6988 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6989 // with awserr.Error's Code and Message methods to get detailed information about
6990 // the error.
6991 //
6992 // See the AWS API reference guide for Amazon Simple Storage Service's
6993 // API operation UploadPartCopy for usage and error information.
6994 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6995 func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
6996 req, out := c.UploadPartCopyRequest(input)
6997 return out, req.Send()
6998 }
6999
7000 // UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
7001 // the ability to pass a context and additional request options.
7002 //
7003 // See UploadPartCopy for details on how to use this API operation.
7004 //
7005 // The context must be non-nil and will be used for request cancellation. If
7006 // the context is nil a panic will occur. In the future the SDK may create
7007 // sub-contexts for http.Requests. See https://golang.org/pkg/context/
7008 // for more information on using Contexts.
7009 func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) {
7010 req, out := c.UploadPartCopyRequest(input)
7011 req.SetContext(ctx)
7012 req.ApplyOptions(opts...)
7013 return out, req.Send()
7014 }
7015
7016 // Specifies the days since the initiation of an incomplete multipart upload
7017 // that Amazon S3 will wait before permanently removing all parts of the upload.
7018 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
7019 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
7020 // in the Amazon Simple Storage Service Developer Guide.
7021 type AbortIncompleteMultipartUpload struct {
7022 _ struct{} `type:"structure"`
7023
7024 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart
7025 // upload.
7026 DaysAfterInitiation *int64 `type:"integer"`
7027 }
7028
7029 // String returns the string representation
7030 func (s AbortIncompleteMultipartUpload) String() string {
7031 return awsutil.Prettify(s)
7032 }
7033
7034 // GoString returns the string representation
7035 func (s AbortIncompleteMultipartUpload) GoString() string {
7036 return s.String()
7037 }
7038
7039 // SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
7040 func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload {
7041 s.DaysAfterInitiation = &v
7042 return s
7043 }
7044
7045 type AbortMultipartUploadInput struct {
7046 _ struct{} `type:"structure"`
7047
7048 // Name of the bucket to which the multipart upload was initiated.
7049 //
7050 // Bucket is a required field
7051 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7052
7053 // Key of the object for which the multipart upload was initiated.
7054 //
7055 // Key is a required field
7056 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
7057
7058 // Confirms that the requester knows that she or he will be charged for the
7059 // request. Bucket owners need not specify this parameter in their requests.
7060 // Documentation on downloading objects from requester pays buckets can be found
7061 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7062 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
7063
7064 // Upload ID that identifies the multipart upload.
7065 //
7066 // UploadId is a required field
7067 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
7068 }
7069
7070 // String returns the string representation
7071 func (s AbortMultipartUploadInput) String() string {
7072 return awsutil.Prettify(s)
7073 }
7074
7075 // GoString returns the string representation
7076 func (s AbortMultipartUploadInput) GoString() string {
7077 return s.String()
7078 }
7079
7080 // Validate inspects the fields of the type to determine if they are valid.
7081 func (s *AbortMultipartUploadInput) Validate() error {
7082 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"}
7083 if s.Bucket == nil {
7084 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7085 }
7086 if s.Bucket != nil && len(*s.Bucket) < 1 {
7087 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
7088 }
7089 if s.Key == nil {
7090 invalidParams.Add(request.NewErrParamRequired("Key"))
7091 }
7092 if s.Key != nil && len(*s.Key) < 1 {
7093 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7094 }
7095 if s.UploadId == nil {
7096 invalidParams.Add(request.NewErrParamRequired("UploadId"))
7097 }
7098
7099 if invalidParams.Len() > 0 {
7100 return invalidParams
7101 }
7102 return nil
7103 }
7104
7105 // SetBucket sets the Bucket field's value.
7106 func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput {
7107 s.Bucket = &v
7108 return s
7109 }
7110
7111 func (s *AbortMultipartUploadInput) getBucket() (v string) {
7112 if s.Bucket == nil {
7113 return v
7114 }
7115 return *s.Bucket
7116 }
7117
7118 // SetKey sets the Key field's value.
7119 func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
7120 s.Key = &v
7121 return s
7122 }
7123
7124 // SetRequestPayer sets the RequestPayer field's value.
7125 func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput {
7126 s.RequestPayer = &v
7127 return s
7128 }
7129
7130 // SetUploadId sets the UploadId field's value.
7131 func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput {
7132 s.UploadId = &v
7133 return s
7134 }
7135
7136 type AbortMultipartUploadOutput struct {
7137 _ struct{} `type:"structure"`
7138
7139 // If present, indicates that the requester was successfully charged for the
7140 // request.
7141 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
7142 }
7143
7144 // String returns the string representation
7145 func (s AbortMultipartUploadOutput) String() string {
7146 return awsutil.Prettify(s)
7147 }
7148
7149 // GoString returns the string representation
7150 func (s AbortMultipartUploadOutput) GoString() string {
7151 return s.String()
7152 }
7153
7154 // SetRequestCharged sets the RequestCharged field's value.
7155 func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput {
7156 s.RequestCharged = &v
7157 return s
7158 }
7159
7160 // Configures the transfer acceleration state for an Amazon S3 bucket. For more
7161 // information, see Amazon S3 Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html)
7162 // in the Amazon Simple Storage Service Developer Guide.
7163 type AccelerateConfiguration struct {
7164 _ struct{} `type:"structure"`
7165
7166 // Specifies the transfer acceleration status of the bucket.
7167 Status *string `type:"string" enum:"BucketAccelerateStatus"`
7168 }
7169
7170 // String returns the string representation
7171 func (s AccelerateConfiguration) String() string {
7172 return awsutil.Prettify(s)
7173 }
7174
7175 // GoString returns the string representation
7176 func (s AccelerateConfiguration) GoString() string {
7177 return s.String()
7178 }
7179
7180 // SetStatus sets the Status field's value.
7181 func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
7182 s.Status = &v
7183 return s
7184 }
7185
7186 // Contains the elements that set the ACL permissions for an object per grantee.
7187 type AccessControlPolicy struct {
7188 _ struct{} `type:"structure"`
7189
7190 // A list of grants.
7191 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
7192
7193 // Container for the bucket owner's display name and ID.
7194 Owner *Owner `type:"structure"`
7195 }
7196
7197 // String returns the string representation
7198 func (s AccessControlPolicy) String() string {
7199 return awsutil.Prettify(s)
7200 }
7201
7202 // GoString returns the string representation
7203 func (s AccessControlPolicy) GoString() string {
7204 return s.String()
7205 }
7206
7207 // Validate inspects the fields of the type to determine if they are valid.
7208 func (s *AccessControlPolicy) Validate() error {
7209 invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"}
7210 if s.Grants != nil {
7211 for i, v := range s.Grants {
7212 if v == nil {
7213 continue
7214 }
7215 if err := v.Validate(); err != nil {
7216 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams))
7217 }
7218 }
7219 }
7220
7221 if invalidParams.Len() > 0 {
7222 return invalidParams
7223 }
7224 return nil
7225 }
7226
7227 // SetGrants sets the Grants field's value.
7228 func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy {
7229 s.Grants = v
7230 return s
7231 }
7232
7233 // SetOwner sets the Owner field's value.
7234 func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
7235 s.Owner = v
7236 return s
7237 }
7238
7239 // A container for information about access control for replicas.
7240 type AccessControlTranslation struct {
7241 _ struct{} `type:"structure"`
7242
7243 // Specifies the replica ownership. For default and valid values, see PUT bucket
7244 // replication (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html)
7245 // in the Amazon Simple Storage Service API Reference.
7246 //
7247 // Owner is a required field
7248 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
7249 }
7250
7251 // String returns the string representation
7252 func (s AccessControlTranslation) String() string {
7253 return awsutil.Prettify(s)
7254 }
7255
7256 // GoString returns the string representation
7257 func (s AccessControlTranslation) GoString() string {
7258 return s.String()
7259 }
7260
7261 // Validate inspects the fields of the type to determine if they are valid.
7262 func (s *AccessControlTranslation) Validate() error {
7263 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"}
7264 if s.Owner == nil {
7265 invalidParams.Add(request.NewErrParamRequired("Owner"))
7266 }
7267
7268 if invalidParams.Len() > 0 {
7269 return invalidParams
7270 }
7271 return nil
7272 }
7273
7274 // SetOwner sets the Owner field's value.
7275 func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
7276 s.Owner = &v
7277 return s
7278 }
7279
7280 // A conjunction (logical AND) of predicates, which is used in evaluating a
7281 // metrics filter. The operator must have at least two predicates in any combination,
7282 // and an object must match all of the predicates for the filter to apply.
7283 type AnalyticsAndOperator struct {
7284 _ struct{} `type:"structure"`
7285
7286 // The prefix to use when evaluating an AND predicate: The prefix that an object
7287 // must have to be included in the metrics results.
7288 Prefix *string `type:"string"`
7289
7290 // The list of tags to use when evaluating an AND predicate.
7291 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
7292 }
7293
7294 // String returns the string representation
7295 func (s AnalyticsAndOperator) String() string {
7296 return awsutil.Prettify(s)
7297 }
7298
7299 // GoString returns the string representation
7300 func (s AnalyticsAndOperator) GoString() string {
7301 return s.String()
7302 }
7303
7304 // Validate inspects the fields of the type to determine if they are valid.
7305 func (s *AnalyticsAndOperator) Validate() error {
7306 invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"}
7307 if s.Tags != nil {
7308 for i, v := range s.Tags {
7309 if v == nil {
7310 continue
7311 }
7312 if err := v.Validate(); err != nil {
7313 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7314 }
7315 }
7316 }
7317
7318 if invalidParams.Len() > 0 {
7319 return invalidParams
7320 }
7321 return nil
7322 }
7323
7324 // SetPrefix sets the Prefix field's value.
7325 func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator {
7326 s.Prefix = &v
7327 return s
7328 }
7329
7330 // SetTags sets the Tags field's value.
7331 func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
7332 s.Tags = v
7333 return s
7334 }
7335
7336 // Specifies the configuration and any analyses for the analytics filter of
7337 // an Amazon S3 bucket.
7338 //
7339 // For more information, see GET Bucket analytics (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETAnalyticsConfig.html)
7340 // in the Amazon Simple Storage Service API Reference.
7341 type AnalyticsConfiguration struct {
7342 _ struct{} `type:"structure"`
7343
7344 // The filter used to describe a set of objects for analyses. A filter must
7345 // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator).
7346 // If no filter is provided, all objects will be considered in any analysis.
7347 Filter *AnalyticsFilter `type:"structure"`
7348
7349 // The ID that identifies the analytics configuration.
7350 //
7351 // Id is a required field
7352 Id *string `type:"string" required:"true"`
7353
7354 // Contains data related to access patterns to be collected and made available
7355 // to analyze the tradeoffs between different storage classes.
7356 //
7357 // StorageClassAnalysis is a required field
7358 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
7359 }
7360
7361 // String returns the string representation
7362 func (s AnalyticsConfiguration) String() string {
7363 return awsutil.Prettify(s)
7364 }
7365
7366 // GoString returns the string representation
7367 func (s AnalyticsConfiguration) GoString() string {
7368 return s.String()
7369 }
7370
7371 // Validate inspects the fields of the type to determine if they are valid.
7372 func (s *AnalyticsConfiguration) Validate() error {
7373 invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"}
7374 if s.Id == nil {
7375 invalidParams.Add(request.NewErrParamRequired("Id"))
7376 }
7377 if s.StorageClassAnalysis == nil {
7378 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis"))
7379 }
7380 if s.Filter != nil {
7381 if err := s.Filter.Validate(); err != nil {
7382 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7383 }
7384 }
7385 if s.StorageClassAnalysis != nil {
7386 if err := s.StorageClassAnalysis.Validate(); err != nil {
7387 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams))
7388 }
7389 }
7390
7391 if invalidParams.Len() > 0 {
7392 return invalidParams
7393 }
7394 return nil
7395 }
7396
7397 // SetFilter sets the Filter field's value.
7398 func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration {
7399 s.Filter = v
7400 return s
7401 }
7402
7403 // SetId sets the Id field's value.
7404 func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration {
7405 s.Id = &v
7406 return s
7407 }
7408
7409 // SetStorageClassAnalysis sets the StorageClassAnalysis field's value.
7410 func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration {
7411 s.StorageClassAnalysis = v
7412 return s
7413 }
7414
7415 // Where to publish the analytics results.
7416 type AnalyticsExportDestination struct {
7417 _ struct{} `type:"structure"`
7418
7419 // A destination signifying output to an S3 bucket.
7420 //
7421 // S3BucketDestination is a required field
7422 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"`
7423 }
7424
7425 // String returns the string representation
7426 func (s AnalyticsExportDestination) String() string {
7427 return awsutil.Prettify(s)
7428 }
7429
7430 // GoString returns the string representation
7431 func (s AnalyticsExportDestination) GoString() string {
7432 return s.String()
7433 }
7434
7435 // Validate inspects the fields of the type to determine if they are valid.
7436 func (s *AnalyticsExportDestination) Validate() error {
7437 invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"}
7438 if s.S3BucketDestination == nil {
7439 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
7440 }
7441 if s.S3BucketDestination != nil {
7442 if err := s.S3BucketDestination.Validate(); err != nil {
7443 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
7444 }
7445 }
7446
7447 if invalidParams.Len() > 0 {
7448 return invalidParams
7449 }
7450 return nil
7451 }
7452
7453 // SetS3BucketDestination sets the S3BucketDestination field's value.
7454 func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination {
7455 s.S3BucketDestination = v
7456 return s
7457 }
7458
7459 type AnalyticsFilter struct {
7460 _ struct{} `type:"structure"`
7461
7462 // A conjunction (logical AND) of predicates, which is used in evaluating an
7463 // analytics filter. The operator must have at least two predicates.
7464 And *AnalyticsAndOperator `type:"structure"`
7465
7466 // The prefix to use when evaluating an analytics filter.
7467 Prefix *string `type:"string"`
7468
7469 // The tag to use when evaluating an analytics filter.
7470 Tag *Tag `type:"structure"`
7471 }
7472
7473 // String returns the string representation
7474 func (s AnalyticsFilter) String() string {
7475 return awsutil.Prettify(s)
7476 }
7477
7478 // GoString returns the string representation
7479 func (s AnalyticsFilter) GoString() string {
7480 return s.String()
7481 }
7482
7483 // Validate inspects the fields of the type to determine if they are valid.
7484 func (s *AnalyticsFilter) Validate() error {
7485 invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"}
7486 if s.And != nil {
7487 if err := s.And.Validate(); err != nil {
7488 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
7489 }
7490 }
7491 if s.Tag != nil {
7492 if err := s.Tag.Validate(); err != nil {
7493 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
7494 }
7495 }
7496
7497 if invalidParams.Len() > 0 {
7498 return invalidParams
7499 }
7500 return nil
7501 }
7502
7503 // SetAnd sets the And field's value.
7504 func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter {
7505 s.And = v
7506 return s
7507 }
7508
7509 // SetPrefix sets the Prefix field's value.
7510 func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter {
7511 s.Prefix = &v
7512 return s
7513 }
7514
7515 // SetTag sets the Tag field's value.
7516 func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
7517 s.Tag = v
7518 return s
7519 }
7520
7521 type AnalyticsS3BucketDestination struct {
7522 _ struct{} `type:"structure"`
7523
7524 // The Amazon Resource Name (ARN) of the bucket to which data is exported.
7525 //
7526 // Bucket is a required field
7527 Bucket *string `type:"string" required:"true"`
7528
7529 // The account ID that owns the destination bucket. If no account ID is provided,
7530 // the owner will not be validated prior to exporting data.
7531 BucketAccountId *string `type:"string"`
7532
7533 // Specifies the file format used when exporting data to Amazon S3.
7534 //
7535 // Format is a required field
7536 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
7537
7538 // The prefix to use when exporting data. The prefix is prepended to all results.
7539 Prefix *string `type:"string"`
7540 }
7541
7542 // String returns the string representation
7543 func (s AnalyticsS3BucketDestination) String() string {
7544 return awsutil.Prettify(s)
7545 }
7546
7547 // GoString returns the string representation
7548 func (s AnalyticsS3BucketDestination) GoString() string {
7549 return s.String()
7550 }
7551
7552 // Validate inspects the fields of the type to determine if they are valid.
7553 func (s *AnalyticsS3BucketDestination) Validate() error {
7554 invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"}
7555 if s.Bucket == nil {
7556 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7557 }
7558 if s.Format == nil {
7559 invalidParams.Add(request.NewErrParamRequired("Format"))
7560 }
7561
7562 if invalidParams.Len() > 0 {
7563 return invalidParams
7564 }
7565 return nil
7566 }
7567
7568 // SetBucket sets the Bucket field's value.
7569 func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination {
7570 s.Bucket = &v
7571 return s
7572 }
7573
7574 func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
7575 if s.Bucket == nil {
7576 return v
7577 }
7578 return *s.Bucket
7579 }
7580
7581 // SetBucketAccountId sets the BucketAccountId field's value.
7582 func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
7583 s.BucketAccountId = &v
7584 return s
7585 }
7586
7587 // SetFormat sets the Format field's value.
7588 func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination {
7589 s.Format = &v
7590 return s
7591 }
7592
7593 // SetPrefix sets the Prefix field's value.
7594 func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination {
7595 s.Prefix = &v
7596 return s
7597 }
7598
7599 type Bucket struct {
7600 _ struct{} `type:"structure"`
7601
7602 // Date the bucket was created.
7603 CreationDate *time.Time `type:"timestamp"`
7604
7605 // The name of the bucket.
7606 Name *string `type:"string"`
7607 }
7608
7609 // String returns the string representation
7610 func (s Bucket) String() string {
7611 return awsutil.Prettify(s)
7612 }
7613
7614 // GoString returns the string representation
7615 func (s Bucket) GoString() string {
7616 return s.String()
7617 }
7618
7619 // SetCreationDate sets the CreationDate field's value.
7620 func (s *Bucket) SetCreationDate(v time.Time) *Bucket {
7621 s.CreationDate = &v
7622 return s
7623 }
7624
7625 // SetName sets the Name field's value.
7626 func (s *Bucket) SetName(v string) *Bucket {
7627 s.Name = &v
7628 return s
7629 }
7630
7631 // Specifies the lifecycle configuration for objects in an Amazon S3 bucket.
7632 // For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
7633 // in the Amazon Simple Storage Service Developer Guide.
7634 type BucketLifecycleConfiguration struct {
7635 _ struct{} `type:"structure"`
7636
7637 // A lifecycle rule for individual objects in an Amazon S3 bucket.
7638 //
7639 // Rules is a required field
7640 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
7641 }
7642
7643 // String returns the string representation
7644 func (s BucketLifecycleConfiguration) String() string {
7645 return awsutil.Prettify(s)
7646 }
7647
7648 // GoString returns the string representation
7649 func (s BucketLifecycleConfiguration) GoString() string {
7650 return s.String()
7651 }
7652
7653 // Validate inspects the fields of the type to determine if they are valid.
7654 func (s *BucketLifecycleConfiguration) Validate() error {
7655 invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"}
7656 if s.Rules == nil {
7657 invalidParams.Add(request.NewErrParamRequired("Rules"))
7658 }
7659 if s.Rules != nil {
7660 for i, v := range s.Rules {
7661 if v == nil {
7662 continue
7663 }
7664 if err := v.Validate(); err != nil {
7665 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
7666 }
7667 }
7668 }
7669
7670 if invalidParams.Len() > 0 {
7671 return invalidParams
7672 }
7673 return nil
7674 }
7675
7676 // SetRules sets the Rules field's value.
7677 func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration {
7678 s.Rules = v
7679 return s
7680 }
7681
7682 type BucketLoggingStatus struct {
7683 _ struct{} `type:"structure"`
7684
7685 // Describes where logs are stored and the prefix that Amazon S3 assigns to
7686 // all log object keys for a bucket. For more information, see PUT Bucket logging
7687 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
7688 // in the Amazon Simple Storage Service API Reference.
7689 LoggingEnabled *LoggingEnabled `type:"structure"`
7690 }
7691
7692 // String returns the string representation
7693 func (s BucketLoggingStatus) String() string {
7694 return awsutil.Prettify(s)
7695 }
7696
7697 // GoString returns the string representation
7698 func (s BucketLoggingStatus) GoString() string {
7699 return s.String()
7700 }
7701
7702 // Validate inspects the fields of the type to determine if they are valid.
7703 func (s *BucketLoggingStatus) Validate() error {
7704 invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"}
7705 if s.LoggingEnabled != nil {
7706 if err := s.LoggingEnabled.Validate(); err != nil {
7707 invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams))
7708 }
7709 }
7710
7711 if invalidParams.Len() > 0 {
7712 return invalidParams
7713 }
7714 return nil
7715 }
7716
7717 // SetLoggingEnabled sets the LoggingEnabled field's value.
7718 func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus {
7719 s.LoggingEnabled = v
7720 return s
7721 }
7722
7723 // Describes the cross-origin access configuration for objects in an Amazon
7724 // S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
7725 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
7726 // Simple Storage Service Developer Guide.
7727 type CORSConfiguration struct {
7728 _ struct{} `type:"structure"`
7729
7730 // A set of allowed origins and methods.
7731 //
7732 // CORSRules is a required field
7733 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
7734 }
7735
7736 // String returns the string representation
7737 func (s CORSConfiguration) String() string {
7738 return awsutil.Prettify(s)
7739 }
7740
7741 // GoString returns the string representation
7742 func (s CORSConfiguration) GoString() string {
7743 return s.String()
7744 }
7745
7746 // Validate inspects the fields of the type to determine if they are valid.
7747 func (s *CORSConfiguration) Validate() error {
7748 invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"}
7749 if s.CORSRules == nil {
7750 invalidParams.Add(request.NewErrParamRequired("CORSRules"))
7751 }
7752 if s.CORSRules != nil {
7753 for i, v := range s.CORSRules {
7754 if v == nil {
7755 continue
7756 }
7757 if err := v.Validate(); err != nil {
7758 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams))
7759 }
7760 }
7761 }
7762
7763 if invalidParams.Len() > 0 {
7764 return invalidParams
7765 }
7766 return nil
7767 }
7768
7769 // SetCORSRules sets the CORSRules field's value.
7770 func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
7771 s.CORSRules = v
7772 return s
7773 }
7774
7775 // Specifies a cross-origin access rule for an Amazon S3 bucket.
7776 type CORSRule struct {
7777 _ struct{} `type:"structure"`
7778
7779 // Headers that are specified in the Access-Control-Request-Headers header.
7780 // These headers are allowed in a preflight OPTIONS request. In response to
7781 // any preflight OPTIONS request, Amazon S3 returns any requested headers that
7782 // are allowed.
7783 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
7784
7785 // An HTTP method that you allow the origin to execute. Valid values are GET,
7786 // PUT, HEAD, POST, and DELETE.
7787 //
7788 // AllowedMethods is a required field
7789 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
7790
7791 // One or more origins you want customers to be able to access the bucket from.
7792 //
7793 // AllowedOrigins is a required field
7794 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"`
7795
7796 // One or more headers in the response that you want customers to be able to
7797 // access from their applications (for example, from a JavaScript XMLHttpRequest
7798 // object).
7799 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"`
7800
7801 // The time in seconds that your browser is to cache the preflight response
7802 // for the specified resource.
7803 MaxAgeSeconds *int64 `type:"integer"`
7804 }
7805
7806 // String returns the string representation
7807 func (s CORSRule) String() string {
7808 return awsutil.Prettify(s)
7809 }
7810
7811 // GoString returns the string representation
7812 func (s CORSRule) GoString() string {
7813 return s.String()
7814 }
7815
7816 // Validate inspects the fields of the type to determine if they are valid.
7817 func (s *CORSRule) Validate() error {
7818 invalidParams := request.ErrInvalidParams{Context: "CORSRule"}
7819 if s.AllowedMethods == nil {
7820 invalidParams.Add(request.NewErrParamRequired("AllowedMethods"))
7821 }
7822 if s.AllowedOrigins == nil {
7823 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins"))
7824 }
7825
7826 if invalidParams.Len() > 0 {
7827 return invalidParams
7828 }
7829 return nil
7830 }
7831
7832 // SetAllowedHeaders sets the AllowedHeaders field's value.
7833 func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule {
7834 s.AllowedHeaders = v
7835 return s
7836 }
7837
7838 // SetAllowedMethods sets the AllowedMethods field's value.
7839 func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule {
7840 s.AllowedMethods = v
7841 return s
7842 }
7843
7844 // SetAllowedOrigins sets the AllowedOrigins field's value.
7845 func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule {
7846 s.AllowedOrigins = v
7847 return s
7848 }
7849
7850 // SetExposeHeaders sets the ExposeHeaders field's value.
7851 func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule {
7852 s.ExposeHeaders = v
7853 return s
7854 }
7855
7856 // SetMaxAgeSeconds sets the MaxAgeSeconds field's value.
7857 func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
7858 s.MaxAgeSeconds = &v
7859 return s
7860 }
7861
7862 // Describes how a CSV-formatted input object is formatted.
7863 type CSVInput struct {
7864 _ struct{} `type:"structure"`
7865
7866 // Specifies that CSV field values may contain quoted record delimiters and
7867 // such records should be allowed. Default value is FALSE. Setting this value
7868 // to TRUE may lower performance.
7869 AllowQuotedRecordDelimiter *bool `type:"boolean"`
7870
7871 // The single character used to indicate a row should be ignored when present
7872 // at the start of a row.
7873 Comments *string `type:"string"`
7874
7875 // The value used to separate individual fields in a record.
7876 FieldDelimiter *string `type:"string"`
7877
7878 // Describes the first line of input. Valid values: None, Ignore, Use.
7879 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
7880
7881 // Value used for escaping where the field delimiter is part of the value.
7882 QuoteCharacter *string `type:"string"`
7883
7884 // The single character used for escaping the quote character inside an already
7885 // escaped value.
7886 QuoteEscapeCharacter *string `type:"string"`
7887
7888 // The value used to separate individual records.
7889 RecordDelimiter *string `type:"string"`
7890 }
7891
7892 // String returns the string representation
7893 func (s CSVInput) String() string {
7894 return awsutil.Prettify(s)
7895 }
7896
7897 // GoString returns the string representation
7898 func (s CSVInput) GoString() string {
7899 return s.String()
7900 }
7901
7902 // SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
7903 func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
7904 s.AllowQuotedRecordDelimiter = &v
7905 return s
7906 }
7907
7908 // SetComments sets the Comments field's value.
7909 func (s *CSVInput) SetComments(v string) *CSVInput {
7910 s.Comments = &v
7911 return s
7912 }
7913
7914 // SetFieldDelimiter sets the FieldDelimiter field's value.
7915 func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
7916 s.FieldDelimiter = &v
7917 return s
7918 }
7919
7920 // SetFileHeaderInfo sets the FileHeaderInfo field's value.
7921 func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
7922 s.FileHeaderInfo = &v
7923 return s
7924 }
7925
7926 // SetQuoteCharacter sets the QuoteCharacter field's value.
7927 func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
7928 s.QuoteCharacter = &v
7929 return s
7930 }
7931
7932 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7933 func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
7934 s.QuoteEscapeCharacter = &v
7935 return s
7936 }
7937
7938 // SetRecordDelimiter sets the RecordDelimiter field's value.
7939 func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
7940 s.RecordDelimiter = &v
7941 return s
7942 }
7943
7944 // Describes how CSV-formatted results are formatted.
7945 type CSVOutput struct {
7946 _ struct{} `type:"structure"`
7947
7948 // The value used to separate individual fields in a record.
7949 FieldDelimiter *string `type:"string"`
7950
7951 // The value used for escaping where the field delimiter is part of the value.
7952 QuoteCharacter *string `type:"string"`
7953
7954 // Th single character used for escaping the quote character inside an already
7955 // escaped value.
7956 QuoteEscapeCharacter *string `type:"string"`
7957
7958 // Indicates whether or not all output fields should be quoted.
7959 QuoteFields *string `type:"string" enum:"QuoteFields"`
7960
7961 // The value used to separate individual records.
7962 RecordDelimiter *string `type:"string"`
7963 }
7964
7965 // String returns the string representation
7966 func (s CSVOutput) String() string {
7967 return awsutil.Prettify(s)
7968 }
7969
7970 // GoString returns the string representation
7971 func (s CSVOutput) GoString() string {
7972 return s.String()
7973 }
7974
7975 // SetFieldDelimiter sets the FieldDelimiter field's value.
7976 func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
7977 s.FieldDelimiter = &v
7978 return s
7979 }
7980
7981 // SetQuoteCharacter sets the QuoteCharacter field's value.
7982 func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
7983 s.QuoteCharacter = &v
7984 return s
7985 }
7986
7987 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7988 func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
7989 s.QuoteEscapeCharacter = &v
7990 return s
7991 }
7992
7993 // SetQuoteFields sets the QuoteFields field's value.
7994 func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
7995 s.QuoteFields = &v
7996 return s
7997 }
7998
7999 // SetRecordDelimiter sets the RecordDelimiter field's value.
8000 func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
8001 s.RecordDelimiter = &v
8002 return s
8003 }
8004
8005 type CloudFunctionConfiguration struct {
8006 _ struct{} `type:"structure"`
8007
8008 CloudFunction *string `type:"string"`
8009
8010 // The bucket event for which to send notifications.
8011 //
8012 // Deprecated: Event has been deprecated
8013 Event *string `deprecated:"true" type:"string" enum:"Event"`
8014
8015 Events []*string `locationName:"Event" type:"list" flattened:"true"`
8016
8017 // An optional unique identifier for configurations in a notification configuration.
8018 // If you don't provide one, Amazon S3 will assign an ID.
8019 Id *string `type:"string"`
8020
8021 InvocationRole *string `type:"string"`
8022 }
8023
8024 // String returns the string representation
8025 func (s CloudFunctionConfiguration) String() string {
8026 return awsutil.Prettify(s)
8027 }
8028
8029 // GoString returns the string representation
8030 func (s CloudFunctionConfiguration) GoString() string {
8031 return s.String()
8032 }
8033
8034 // SetCloudFunction sets the CloudFunction field's value.
8035 func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration {
8036 s.CloudFunction = &v
8037 return s
8038 }
8039
8040 // SetEvent sets the Event field's value.
8041 func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration {
8042 s.Event = &v
8043 return s
8044 }
8045
8046 // SetEvents sets the Events field's value.
8047 func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration {
8048 s.Events = v
8049 return s
8050 }
8051
8052 // SetId sets the Id field's value.
8053 func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration {
8054 s.Id = &v
8055 return s
8056 }
8057
8058 // SetInvocationRole sets the InvocationRole field's value.
8059 func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration {
8060 s.InvocationRole = &v
8061 return s
8062 }
8063
8064 type CommonPrefix struct {
8065 _ struct{} `type:"structure"`
8066
8067 Prefix *string `type:"string"`
8068 }
8069
8070 // String returns the string representation
8071 func (s CommonPrefix) String() string {
8072 return awsutil.Prettify(s)
8073 }
8074
8075 // GoString returns the string representation
8076 func (s CommonPrefix) GoString() string {
8077 return s.String()
8078 }
8079
8080 // SetPrefix sets the Prefix field's value.
8081 func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
8082 s.Prefix = &v
8083 return s
8084 }
8085
8086 type CompleteMultipartUploadInput struct {
8087 _ struct{} `type:"structure" payload:"MultipartUpload"`
8088
8089 // Bucket is a required field
8090 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8091
8092 // Key is a required field
8093 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8094
8095 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
8096
8097 // Confirms that the requester knows that she or he will be charged for the
8098 // request. Bucket owners need not specify this parameter in their requests.
8099 // Documentation on downloading objects from requester pays buckets can be found
8100 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8101 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8102
8103 // UploadId is a required field
8104 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
8105 }
8106
8107 // String returns the string representation
8108 func (s CompleteMultipartUploadInput) String() string {
8109 return awsutil.Prettify(s)
8110 }
8111
8112 // GoString returns the string representation
8113 func (s CompleteMultipartUploadInput) GoString() string {
8114 return s.String()
8115 }
8116
8117 // Validate inspects the fields of the type to determine if they are valid.
8118 func (s *CompleteMultipartUploadInput) Validate() error {
8119 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"}
8120 if s.Bucket == nil {
8121 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8122 }
8123 if s.Bucket != nil && len(*s.Bucket) < 1 {
8124 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8125 }
8126 if s.Key == nil {
8127 invalidParams.Add(request.NewErrParamRequired("Key"))
8128 }
8129 if s.Key != nil && len(*s.Key) < 1 {
8130 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8131 }
8132 if s.UploadId == nil {
8133 invalidParams.Add(request.NewErrParamRequired("UploadId"))
8134 }
8135
8136 if invalidParams.Len() > 0 {
8137 return invalidParams
8138 }
8139 return nil
8140 }
8141
8142 // SetBucket sets the Bucket field's value.
8143 func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput {
8144 s.Bucket = &v
8145 return s
8146 }
8147
8148 func (s *CompleteMultipartUploadInput) getBucket() (v string) {
8149 if s.Bucket == nil {
8150 return v
8151 }
8152 return *s.Bucket
8153 }
8154
8155 // SetKey sets the Key field's value.
8156 func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
8157 s.Key = &v
8158 return s
8159 }
8160
8161 // SetMultipartUpload sets the MultipartUpload field's value.
8162 func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput {
8163 s.MultipartUpload = v
8164 return s
8165 }
8166
8167 // SetRequestPayer sets the RequestPayer field's value.
8168 func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput {
8169 s.RequestPayer = &v
8170 return s
8171 }
8172
8173 // SetUploadId sets the UploadId field's value.
8174 func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
8175 s.UploadId = &v
8176 return s
8177 }
8178
8179 type CompleteMultipartUploadOutput struct {
8180 _ struct{} `type:"structure"`
8181
8182 Bucket *string `type:"string"`
8183
8184 // Entity tag of the object.
8185 ETag *string `type:"string"`
8186
8187 // If the object expiration is configured, this will contain the expiration
8188 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
8189 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8190
8191 Key *string `min:"1" type:"string"`
8192
8193 Location *string `type:"string"`
8194
8195 // If present, indicates that the requester was successfully charged for the
8196 // request.
8197 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8198
8199 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8200 // encryption key that was used for the object.
8201 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
8202
8203 // The Server-side encryption algorithm used when storing this object in S3
8204 // (e.g., AES256, aws:kms).
8205 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8206
8207 // Version of the object.
8208 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8209 }
8210
8211 // String returns the string representation
8212 func (s CompleteMultipartUploadOutput) String() string {
8213 return awsutil.Prettify(s)
8214 }
8215
8216 // GoString returns the string representation
8217 func (s CompleteMultipartUploadOutput) GoString() string {
8218 return s.String()
8219 }
8220
8221 // SetBucket sets the Bucket field's value.
8222 func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput {
8223 s.Bucket = &v
8224 return s
8225 }
8226
8227 func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
8228 if s.Bucket == nil {
8229 return v
8230 }
8231 return *s.Bucket
8232 }
8233
8234 // SetETag sets the ETag field's value.
8235 func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
8236 s.ETag = &v
8237 return s
8238 }
8239
8240 // SetExpiration sets the Expiration field's value.
8241 func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput {
8242 s.Expiration = &v
8243 return s
8244 }
8245
8246 // SetKey sets the Key field's value.
8247 func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput {
8248 s.Key = &v
8249 return s
8250 }
8251
8252 // SetLocation sets the Location field's value.
8253 func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput {
8254 s.Location = &v
8255 return s
8256 }
8257
8258 // SetRequestCharged sets the RequestCharged field's value.
8259 func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput {
8260 s.RequestCharged = &v
8261 return s
8262 }
8263
8264 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8265 func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput {
8266 s.SSEKMSKeyId = &v
8267 return s
8268 }
8269
8270 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8271 func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput {
8272 s.ServerSideEncryption = &v
8273 return s
8274 }
8275
8276 // SetVersionId sets the VersionId field's value.
8277 func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput {
8278 s.VersionId = &v
8279 return s
8280 }
8281
8282 type CompletedMultipartUpload struct {
8283 _ struct{} `type:"structure"`
8284
8285 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
8286 }
8287
8288 // String returns the string representation
8289 func (s CompletedMultipartUpload) String() string {
8290 return awsutil.Prettify(s)
8291 }
8292
8293 // GoString returns the string representation
8294 func (s CompletedMultipartUpload) GoString() string {
8295 return s.String()
8296 }
8297
8298 // SetParts sets the Parts field's value.
8299 func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload {
8300 s.Parts = v
8301 return s
8302 }
8303
8304 type CompletedPart struct {
8305 _ struct{} `type:"structure"`
8306
8307 // Entity tag returned when the part was uploaded.
8308 ETag *string `type:"string"`
8309
8310 // Part number that identifies the part. This is a positive integer between
8311 // 1 and 10,000.
8312 PartNumber *int64 `type:"integer"`
8313 }
8314
8315 // String returns the string representation
8316 func (s CompletedPart) String() string {
8317 return awsutil.Prettify(s)
8318 }
8319
8320 // GoString returns the string representation
8321 func (s CompletedPart) GoString() string {
8322 return s.String()
8323 }
8324
8325 // SetETag sets the ETag field's value.
8326 func (s *CompletedPart) SetETag(v string) *CompletedPart {
8327 s.ETag = &v
8328 return s
8329 }
8330
8331 // SetPartNumber sets the PartNumber field's value.
8332 func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
8333 s.PartNumber = &v
8334 return s
8335 }
8336
8337 // Specifies a condition that must be met for a redirect to apply.
8338 type Condition struct {
8339 _ struct{} `type:"structure"`
8340
8341 // The HTTP error code when the redirect is applied. In the event of an error,
8342 // if the error code equals this value, then the specified redirect is applied.
8343 // Required when parent element Condition is specified and sibling KeyPrefixEquals
8344 // is not specified. If both are specified, then both must be true for the redirect
8345 // to be applied.
8346 HttpErrorCodeReturnedEquals *string `type:"string"`
8347
8348 // The object key name prefix when the redirect is applied. For example, to
8349 // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html.
8350 // To redirect request for all pages with the prefix docs/, the key prefix will
8351 // be /docs, which identifies all objects in the docs/ folder. Required when
8352 // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals
8353 // is not specified. If both conditions are specified, both must be true for
8354 // the redirect to be applied.
8355 KeyPrefixEquals *string `type:"string"`
8356 }
8357
8358 // String returns the string representation
8359 func (s Condition) String() string {
8360 return awsutil.Prettify(s)
8361 }
8362
8363 // GoString returns the string representation
8364 func (s Condition) GoString() string {
8365 return s.String()
8366 }
8367
8368 // SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
8369 func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition {
8370 s.HttpErrorCodeReturnedEquals = &v
8371 return s
8372 }
8373
8374 // SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
8375 func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
8376 s.KeyPrefixEquals = &v
8377 return s
8378 }
8379
8380 type ContinuationEvent struct {
8381 _ struct{} `locationName:"ContinuationEvent" type:"structure"`
8382 }
8383
8384 // String returns the string representation
8385 func (s ContinuationEvent) String() string {
8386 return awsutil.Prettify(s)
8387 }
8388
8389 // GoString returns the string representation
8390 func (s ContinuationEvent) GoString() string {
8391 return s.String()
8392 }
8393
8394 // The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
8395 func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
8396
8397 // UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value.
8398 // This method is only used internally within the SDK's EventStream handling.
8399 func (s *ContinuationEvent) UnmarshalEvent(
8400 payloadUnmarshaler protocol.PayloadUnmarshaler,
8401 msg eventstream.Message,
8402 ) error {
8403 return nil
8404 }
8405
8406 type CopyObjectInput struct {
8407 _ struct{} `type:"structure"`
8408
8409 // The canned ACL to apply to the object.
8410 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
8411
8412 // Bucket is a required field
8413 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8414
8415 // Specifies caching behavior along the request/reply chain.
8416 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
8417
8418 // Specifies presentational information for the object.
8419 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
8420
8421 // Specifies what content encodings have been applied to the object and thus
8422 // what decoding mechanisms must be applied to obtain the media-type referenced
8423 // by the Content-Type header field.
8424 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
8425
8426 // The language the content is in.
8427 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
8428
8429 // A standard MIME type describing the format of the object data.
8430 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
8431
8432 // The name of the source bucket and key name of the source object, separated
8433 // by a slash (/). Must be URL-encoded.
8434 //
8435 // CopySource is a required field
8436 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
8437
8438 // Copies the object if its entity tag (ETag) matches the specified tag.
8439 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
8440
8441 // Copies the object if it has been modified since the specified time.
8442 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
8443
8444 // Copies the object if its entity tag (ETag) is different than the specified
8445 // ETag.
8446 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
8447
8448 // Copies the object if it hasn't been modified since the specified time.
8449 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
8450
8451 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
8452 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
8453
8454 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
8455 // the source object. The encryption key provided in this header must be one
8456 // that was used when the source object was created.
8457 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
8458
8459 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8460 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8461 // key was transmitted without error.
8462 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
8463
8464 // The date and time at which the object is no longer cacheable.
8465 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
8466
8467 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
8468 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8469
8470 // Allows grantee to read the object data and its metadata.
8471 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8472
8473 // Allows grantee to read the object ACL.
8474 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8475
8476 // Allows grantee to write the ACL for the applicable object.
8477 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8478
8479 // Key is a required field
8480 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8481
8482 // A map of metadata to store with the object in S3.
8483 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
8484
8485 // Specifies whether the metadata is copied from the source object or replaced
8486 // with metadata provided in the request.
8487 MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"`
8488
8489 // Specifies whether you want to apply a Legal Hold to the copied object.
8490 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
8491
8492 // The object lock mode that you want to apply to the copied object.
8493 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
8494
8495 // The date and time when you want the copied object's object lock to expire.
8496 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
8497
8498 // Confirms that the requester knows that she or he will be charged for the
8499 // request. Bucket owners need not specify this parameter in their requests.
8500 // Documentation on downloading objects from requester pays buckets can be found
8501 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8502 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8503
8504 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
8505 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8506
8507 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
8508 // data. This value is used to store the object and then it is discarded; Amazon
8509 // does not store the encryption key. The key must be appropriate for use with
8510 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
8511 // header.
8512 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
8513
8514 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8515 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8516 // key was transmitted without error.
8517 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8518
8519 // Specifies the AWS KMS Encryption Context to use for object encryption. The
8520 // value of this header is a base64-encoded UTF-8 string holding JSON with the
8521 // encryption context key-value pairs.
8522 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
8523
8524 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
8525 // requests for an object protected by AWS KMS will fail if not made via SSL
8526 // or using SigV4. Documentation on configuring any of the officially supported
8527 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
8528 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
8529
8530 // The Server-side encryption algorithm used when storing this object in S3
8531 // (e.g., AES256, aws:kms).
8532 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8533
8534 // The type of storage to use for the object. Defaults to 'STANDARD'.
8535 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
8536
8537 // The tag-set for the object destination object this value must be used in
8538 // conjunction with the TaggingDirective. The tag-set must be encoded as URL
8539 // Query parameters
8540 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
8541
8542 // Specifies whether the object tag-set are copied from the source object or
8543 // replaced with tag-set provided in the request.
8544 TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"`
8545
8546 // If the bucket is configured as a website, redirects requests for this object
8547 // to another object in the same bucket or to an external URL. Amazon S3 stores
8548 // the value of this header in the object metadata.
8549 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
8550 }
8551
8552 // String returns the string representation
8553 func (s CopyObjectInput) String() string {
8554 return awsutil.Prettify(s)
8555 }
8556
8557 // GoString returns the string representation
8558 func (s CopyObjectInput) GoString() string {
8559 return s.String()
8560 }
8561
8562 // Validate inspects the fields of the type to determine if they are valid.
8563 func (s *CopyObjectInput) Validate() error {
8564 invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"}
8565 if s.Bucket == nil {
8566 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8567 }
8568 if s.Bucket != nil && len(*s.Bucket) < 1 {
8569 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8570 }
8571 if s.CopySource == nil {
8572 invalidParams.Add(request.NewErrParamRequired("CopySource"))
8573 }
8574 if s.Key == nil {
8575 invalidParams.Add(request.NewErrParamRequired("Key"))
8576 }
8577 if s.Key != nil && len(*s.Key) < 1 {
8578 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8579 }
8580
8581 if invalidParams.Len() > 0 {
8582 return invalidParams
8583 }
8584 return nil
8585 }
8586
8587 // SetACL sets the ACL field's value.
8588 func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput {
8589 s.ACL = &v
8590 return s
8591 }
8592
8593 // SetBucket sets the Bucket field's value.
8594 func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
8595 s.Bucket = &v
8596 return s
8597 }
8598
8599 func (s *CopyObjectInput) getBucket() (v string) {
8600 if s.Bucket == nil {
8601 return v
8602 }
8603 return *s.Bucket
8604 }
8605
8606 // SetCacheControl sets the CacheControl field's value.
8607 func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
8608 s.CacheControl = &v
8609 return s
8610 }
8611
8612 // SetContentDisposition sets the ContentDisposition field's value.
8613 func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
8614 s.ContentDisposition = &v
8615 return s
8616 }
8617
8618 // SetContentEncoding sets the ContentEncoding field's value.
8619 func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput {
8620 s.ContentEncoding = &v
8621 return s
8622 }
8623
8624 // SetContentLanguage sets the ContentLanguage field's value.
8625 func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput {
8626 s.ContentLanguage = &v
8627 return s
8628 }
8629
8630 // SetContentType sets the ContentType field's value.
8631 func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput {
8632 s.ContentType = &v
8633 return s
8634 }
8635
8636 // SetCopySource sets the CopySource field's value.
8637 func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput {
8638 s.CopySource = &v
8639 return s
8640 }
8641
8642 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
8643 func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput {
8644 s.CopySourceIfMatch = &v
8645 return s
8646 }
8647
8648 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
8649 func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput {
8650 s.CopySourceIfModifiedSince = &v
8651 return s
8652 }
8653
8654 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
8655 func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput {
8656 s.CopySourceIfNoneMatch = &v
8657 return s
8658 }
8659
8660 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
8661 func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput {
8662 s.CopySourceIfUnmodifiedSince = &v
8663 return s
8664 }
8665
8666 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
8667 func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput {
8668 s.CopySourceSSECustomerAlgorithm = &v
8669 return s
8670 }
8671
8672 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
8673 func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput {
8674 s.CopySourceSSECustomerKey = &v
8675 return s
8676 }
8677
8678 func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
8679 if s.CopySourceSSECustomerKey == nil {
8680 return v
8681 }
8682 return *s.CopySourceSSECustomerKey
8683 }
8684
8685 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
8686 func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
8687 s.CopySourceSSECustomerKeyMD5 = &v
8688 return s
8689 }
8690
8691 // SetExpires sets the Expires field's value.
8692 func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput {
8693 s.Expires = &v
8694 return s
8695 }
8696
8697 // SetGrantFullControl sets the GrantFullControl field's value.
8698 func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput {
8699 s.GrantFullControl = &v
8700 return s
8701 }
8702
8703 // SetGrantRead sets the GrantRead field's value.
8704 func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput {
8705 s.GrantRead = &v
8706 return s
8707 }
8708
8709 // SetGrantReadACP sets the GrantReadACP field's value.
8710 func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput {
8711 s.GrantReadACP = &v
8712 return s
8713 }
8714
8715 // SetGrantWriteACP sets the GrantWriteACP field's value.
8716 func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput {
8717 s.GrantWriteACP = &v
8718 return s
8719 }
8720
8721 // SetKey sets the Key field's value.
8722 func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput {
8723 s.Key = &v
8724 return s
8725 }
8726
8727 // SetMetadata sets the Metadata field's value.
8728 func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput {
8729 s.Metadata = v
8730 return s
8731 }
8732
8733 // SetMetadataDirective sets the MetadataDirective field's value.
8734 func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput {
8735 s.MetadataDirective = &v
8736 return s
8737 }
8738
8739 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
8740 func (s *CopyObjectInput) SetObjectLockLegalHoldStatus(v string) *CopyObjectInput {
8741 s.ObjectLockLegalHoldStatus = &v
8742 return s
8743 }
8744
8745 // SetObjectLockMode sets the ObjectLockMode field's value.
8746 func (s *CopyObjectInput) SetObjectLockMode(v string) *CopyObjectInput {
8747 s.ObjectLockMode = &v
8748 return s
8749 }
8750
8751 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
8752 func (s *CopyObjectInput) SetObjectLockRetainUntilDate(v time.Time) *CopyObjectInput {
8753 s.ObjectLockRetainUntilDate = &v
8754 return s
8755 }
8756
8757 // SetRequestPayer sets the RequestPayer field's value.
8758 func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput {
8759 s.RequestPayer = &v
8760 return s
8761 }
8762
8763 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8764 func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput {
8765 s.SSECustomerAlgorithm = &v
8766 return s
8767 }
8768
8769 // SetSSECustomerKey sets the SSECustomerKey field's value.
8770 func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
8771 s.SSECustomerKey = &v
8772 return s
8773 }
8774
8775 func (s *CopyObjectInput) getSSECustomerKey() (v string) {
8776 if s.SSECustomerKey == nil {
8777 return v
8778 }
8779 return *s.SSECustomerKey
8780 }
8781
8782 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8783 func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
8784 s.SSECustomerKeyMD5 = &v
8785 return s
8786 }
8787
8788 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8789 func (s *CopyObjectInput) SetSSEKMSEncryptionContext(v string) *CopyObjectInput {
8790 s.SSEKMSEncryptionContext = &v
8791 return s
8792 }
8793
8794 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8795 func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
8796 s.SSEKMSKeyId = &v
8797 return s
8798 }
8799
8800 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8801 func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput {
8802 s.ServerSideEncryption = &v
8803 return s
8804 }
8805
8806 // SetStorageClass sets the StorageClass field's value.
8807 func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput {
8808 s.StorageClass = &v
8809 return s
8810 }
8811
8812 // SetTagging sets the Tagging field's value.
8813 func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput {
8814 s.Tagging = &v
8815 return s
8816 }
8817
8818 // SetTaggingDirective sets the TaggingDirective field's value.
8819 func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput {
8820 s.TaggingDirective = &v
8821 return s
8822 }
8823
8824 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
8825 func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput {
8826 s.WebsiteRedirectLocation = &v
8827 return s
8828 }
8829
8830 type CopyObjectOutput struct {
8831 _ struct{} `type:"structure" payload:"CopyObjectResult"`
8832
8833 CopyObjectResult *CopyObjectResult `type:"structure"`
8834
8835 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
8836
8837 // If the object expiration is configured, the response includes this header.
8838 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8839
8840 // If present, indicates that the requester was successfully charged for the
8841 // request.
8842 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8843
8844 // If server-side encryption with a customer-provided encryption key was requested,
8845 // the response will include this header confirming the encryption algorithm
8846 // used.
8847 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8848
8849 // If server-side encryption with a customer-provided encryption key was requested,
8850 // the response will include this header to provide round trip message integrity
8851 // verification of the customer-provided encryption key.
8852 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8853
8854 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
8855 // The value of this header is a base64-encoded UTF-8 string holding JSON with
8856 // the encryption context key-value pairs.
8857 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
8858
8859 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8860 // encryption key that was used for the object.
8861 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
8862
8863 // The Server-side encryption algorithm used when storing this object in S3
8864 // (e.g., AES256, aws:kms).
8865 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8866
8867 // Version ID of the newly created copy.
8868 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8869 }
8870
8871 // String returns the string representation
8872 func (s CopyObjectOutput) String() string {
8873 return awsutil.Prettify(s)
8874 }
8875
8876 // GoString returns the string representation
8877 func (s CopyObjectOutput) GoString() string {
8878 return s.String()
8879 }
8880
8881 // SetCopyObjectResult sets the CopyObjectResult field's value.
8882 func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
8883 s.CopyObjectResult = v
8884 return s
8885 }
8886
8887 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
8888 func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput {
8889 s.CopySourceVersionId = &v
8890 return s
8891 }
8892
8893 // SetExpiration sets the Expiration field's value.
8894 func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput {
8895 s.Expiration = &v
8896 return s
8897 }
8898
8899 // SetRequestCharged sets the RequestCharged field's value.
8900 func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput {
8901 s.RequestCharged = &v
8902 return s
8903 }
8904
8905 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8906 func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput {
8907 s.SSECustomerAlgorithm = &v
8908 return s
8909 }
8910
8911 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8912 func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
8913 s.SSECustomerKeyMD5 = &v
8914 return s
8915 }
8916
8917 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8918 func (s *CopyObjectOutput) SetSSEKMSEncryptionContext(v string) *CopyObjectOutput {
8919 s.SSEKMSEncryptionContext = &v
8920 return s
8921 }
8922
8923 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8924 func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
8925 s.SSEKMSKeyId = &v
8926 return s
8927 }
8928
8929 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8930 func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput {
8931 s.ServerSideEncryption = &v
8932 return s
8933 }
8934
8935 // SetVersionId sets the VersionId field's value.
8936 func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
8937 s.VersionId = &v
8938 return s
8939 }
8940
8941 type CopyObjectResult struct {
8942 _ struct{} `type:"structure"`
8943
8944 ETag *string `type:"string"`
8945
8946 LastModified *time.Time `type:"timestamp"`
8947 }
8948
8949 // String returns the string representation
8950 func (s CopyObjectResult) String() string {
8951 return awsutil.Prettify(s)
8952 }
8953
8954 // GoString returns the string representation
8955 func (s CopyObjectResult) GoString() string {
8956 return s.String()
8957 }
8958
8959 // SetETag sets the ETag field's value.
8960 func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
8961 s.ETag = &v
8962 return s
8963 }
8964
8965 // SetLastModified sets the LastModified field's value.
8966 func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
8967 s.LastModified = &v
8968 return s
8969 }
8970
8971 type CopyPartResult struct {
8972 _ struct{} `type:"structure"`
8973
8974 // Entity tag of the object.
8975 ETag *string `type:"string"`
8976
8977 // Date and time at which the object was uploaded.
8978 LastModified *time.Time `type:"timestamp"`
8979 }
8980
8981 // String returns the string representation
8982 func (s CopyPartResult) String() string {
8983 return awsutil.Prettify(s)
8984 }
8985
8986 // GoString returns the string representation
8987 func (s CopyPartResult) GoString() string {
8988 return s.String()
8989 }
8990
8991 // SetETag sets the ETag field's value.
8992 func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
8993 s.ETag = &v
8994 return s
8995 }
8996
8997 // SetLastModified sets the LastModified field's value.
8998 func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
8999 s.LastModified = &v
9000 return s
9001 }
9002
9003 type CreateBucketConfiguration struct {
9004 _ struct{} `type:"structure"`
9005
9006 // Specifies the region where the bucket will be created. If you don't specify
9007 // a region, the bucket is created in US East (N. Virginia) Region (us-east-1).
9008 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
9009 }
9010
9011 // String returns the string representation
9012 func (s CreateBucketConfiguration) String() string {
9013 return awsutil.Prettify(s)
9014 }
9015
9016 // GoString returns the string representation
9017 func (s CreateBucketConfiguration) GoString() string {
9018 return s.String()
9019 }
9020
9021 // SetLocationConstraint sets the LocationConstraint field's value.
9022 func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration {
9023 s.LocationConstraint = &v
9024 return s
9025 }
9026
9027 type CreateBucketInput struct {
9028 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
9029
9030 // The canned ACL to apply to the bucket.
9031 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
9032
9033 // Bucket is a required field
9034 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9035
9036 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
9037
9038 // Allows grantee the read, write, read ACP, and write ACP permissions on the
9039 // bucket.
9040 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
9041
9042 // Allows grantee to list the objects in the bucket.
9043 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9044
9045 // Allows grantee to read the bucket ACL.
9046 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
9047
9048 // Allows grantee to create, overwrite, and delete any object in the bucket.
9049 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
9050
9051 // Allows grantee to write the ACL for the applicable bucket.
9052 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
9053
9054 // Specifies whether you want Amazon S3 object lock to be enabled for the new
9055 // bucket.
9056 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"`
9057 }
9058
9059 // String returns the string representation
9060 func (s CreateBucketInput) String() string {
9061 return awsutil.Prettify(s)
9062 }
9063
9064 // GoString returns the string representation
9065 func (s CreateBucketInput) GoString() string {
9066 return s.String()
9067 }
9068
9069 // Validate inspects the fields of the type to determine if they are valid.
9070 func (s *CreateBucketInput) Validate() error {
9071 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
9072 if s.Bucket == nil {
9073 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9074 }
9075 if s.Bucket != nil && len(*s.Bucket) < 1 {
9076 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9077 }
9078
9079 if invalidParams.Len() > 0 {
9080 return invalidParams
9081 }
9082 return nil
9083 }
9084
9085 // SetACL sets the ACL field's value.
9086 func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput {
9087 s.ACL = &v
9088 return s
9089 }
9090
9091 // SetBucket sets the Bucket field's value.
9092 func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
9093 s.Bucket = &v
9094 return s
9095 }
9096
9097 func (s *CreateBucketInput) getBucket() (v string) {
9098 if s.Bucket == nil {
9099 return v
9100 }
9101 return *s.Bucket
9102 }
9103
9104 // SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
9105 func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
9106 s.CreateBucketConfiguration = v
9107 return s
9108 }
9109
9110 // SetGrantFullControl sets the GrantFullControl field's value.
9111 func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput {
9112 s.GrantFullControl = &v
9113 return s
9114 }
9115
9116 // SetGrantRead sets the GrantRead field's value.
9117 func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput {
9118 s.GrantRead = &v
9119 return s
9120 }
9121
9122 // SetGrantReadACP sets the GrantReadACP field's value.
9123 func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput {
9124 s.GrantReadACP = &v
9125 return s
9126 }
9127
9128 // SetGrantWrite sets the GrantWrite field's value.
9129 func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput {
9130 s.GrantWrite = &v
9131 return s
9132 }
9133
9134 // SetGrantWriteACP sets the GrantWriteACP field's value.
9135 func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
9136 s.GrantWriteACP = &v
9137 return s
9138 }
9139
9140 // SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value.
9141 func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput {
9142 s.ObjectLockEnabledForBucket = &v
9143 return s
9144 }
9145
9146 type CreateBucketOutput struct {
9147 _ struct{} `type:"structure"`
9148
9149 Location *string `location:"header" locationName:"Location" type:"string"`
9150 }
9151
9152 // String returns the string representation
9153 func (s CreateBucketOutput) String() string {
9154 return awsutil.Prettify(s)
9155 }
9156
9157 // GoString returns the string representation
9158 func (s CreateBucketOutput) GoString() string {
9159 return s.String()
9160 }
9161
9162 // SetLocation sets the Location field's value.
9163 func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
9164 s.Location = &v
9165 return s
9166 }
9167
9168 type CreateMultipartUploadInput struct {
9169 _ struct{} `type:"structure"`
9170
9171 // The canned ACL to apply to the object.
9172 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
9173
9174 // Bucket is a required field
9175 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9176
9177 // Specifies caching behavior along the request/reply chain.
9178 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
9179
9180 // Specifies presentational information for the object.
9181 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
9182
9183 // Specifies what content encodings have been applied to the object and thus
9184 // what decoding mechanisms must be applied to obtain the media-type referenced
9185 // by the Content-Type header field.
9186 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
9187
9188 // The language the content is in.
9189 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
9190
9191 // A standard MIME type describing the format of the object data.
9192 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
9193
9194 // The date and time at which the object is no longer cacheable.
9195 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
9196
9197 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
9198 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
9199
9200 // Allows grantee to read the object data and its metadata.
9201 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9202
9203 // Allows grantee to read the object ACL.
9204 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
9205
9206 // Allows grantee to write the ACL for the applicable object.
9207 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
9208
9209 // Key is a required field
9210 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
9211
9212 // A map of metadata to store with the object in S3.
9213 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
9214
9215 // Specifies whether you want to apply a Legal Hold to the uploaded object.
9216 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
9217
9218 // Specifies the object lock mode that you want to apply to the uploaded object.
9219 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
9220
9221 // Specifies the date and time when you want the object lock to expire.
9222 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
9223
9224 // Confirms that the requester knows that she or he will be charged for the
9225 // request. Bucket owners need not specify this parameter in their requests.
9226 // Documentation on downloading objects from requester pays buckets can be found
9227 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
9228 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
9229
9230 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
9231 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9232
9233 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
9234 // data. This value is used to store the object and then it is discarded; Amazon
9235 // does not store the encryption key. The key must be appropriate for use with
9236 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
9237 // header.
9238 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
9239
9240 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
9241 // Amazon S3 uses this header for a message integrity check to ensure the encryption
9242 // key was transmitted without error.
9243 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9244
9245 // Specifies the AWS KMS Encryption Context to use for object encryption. The
9246 // value of this header is a base64-encoded UTF-8 string holding JSON with the
9247 // encryption context key-value pairs.
9248 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
9249
9250 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
9251 // requests for an object protected by AWS KMS will fail if not made via SSL
9252 // or using SigV4. Documentation on configuring any of the officially supported
9253 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
9254 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
9255
9256 // The Server-side encryption algorithm used when storing this object in S3
9257 // (e.g., AES256, aws:kms).
9258 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9259
9260 // The type of storage to use for the object. Defaults to 'STANDARD'.
9261 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
9262
9263 // The tag-set for the object. The tag-set must be encoded as URL Query parameters
9264 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
9265
9266 // If the bucket is configured as a website, redirects requests for this object
9267 // to another object in the same bucket or to an external URL. Amazon S3 stores
9268 // the value of this header in the object metadata.
9269 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
9270 }
9271
9272 // String returns the string representation
9273 func (s CreateMultipartUploadInput) String() string {
9274 return awsutil.Prettify(s)
9275 }
9276
9277 // GoString returns the string representation
9278 func (s CreateMultipartUploadInput) GoString() string {
9279 return s.String()
9280 }
9281
9282 // Validate inspects the fields of the type to determine if they are valid.
9283 func (s *CreateMultipartUploadInput) Validate() error {
9284 invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"}
9285 if s.Bucket == nil {
9286 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9287 }
9288 if s.Bucket != nil && len(*s.Bucket) < 1 {
9289 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9290 }
9291 if s.Key == nil {
9292 invalidParams.Add(request.NewErrParamRequired("Key"))
9293 }
9294 if s.Key != nil && len(*s.Key) < 1 {
9295 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9296 }
9297
9298 if invalidParams.Len() > 0 {
9299 return invalidParams
9300 }
9301 return nil
9302 }
9303
9304 // SetACL sets the ACL field's value.
9305 func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput {
9306 s.ACL = &v
9307 return s
9308 }
9309
9310 // SetBucket sets the Bucket field's value.
9311 func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput {
9312 s.Bucket = &v
9313 return s
9314 }
9315
9316 func (s *CreateMultipartUploadInput) getBucket() (v string) {
9317 if s.Bucket == nil {
9318 return v
9319 }
9320 return *s.Bucket
9321 }
9322
9323 // SetCacheControl sets the CacheControl field's value.
9324 func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
9325 s.CacheControl = &v
9326 return s
9327 }
9328
9329 // SetContentDisposition sets the ContentDisposition field's value.
9330 func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
9331 s.ContentDisposition = &v
9332 return s
9333 }
9334
9335 // SetContentEncoding sets the ContentEncoding field's value.
9336 func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput {
9337 s.ContentEncoding = &v
9338 return s
9339 }
9340
9341 // SetContentLanguage sets the ContentLanguage field's value.
9342 func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput {
9343 s.ContentLanguage = &v
9344 return s
9345 }
9346
9347 // SetContentType sets the ContentType field's value.
9348 func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput {
9349 s.ContentType = &v
9350 return s
9351 }
9352
9353 // SetExpires sets the Expires field's value.
9354 func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput {
9355 s.Expires = &v
9356 return s
9357 }
9358
9359 // SetGrantFullControl sets the GrantFullControl field's value.
9360 func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput {
9361 s.GrantFullControl = &v
9362 return s
9363 }
9364
9365 // SetGrantRead sets the GrantRead field's value.
9366 func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput {
9367 s.GrantRead = &v
9368 return s
9369 }
9370
9371 // SetGrantReadACP sets the GrantReadACP field's value.
9372 func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput {
9373 s.GrantReadACP = &v
9374 return s
9375 }
9376
9377 // SetGrantWriteACP sets the GrantWriteACP field's value.
9378 func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput {
9379 s.GrantWriteACP = &v
9380 return s
9381 }
9382
9383 // SetKey sets the Key field's value.
9384 func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput {
9385 s.Key = &v
9386 return s
9387 }
9388
9389 // SetMetadata sets the Metadata field's value.
9390 func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput {
9391 s.Metadata = v
9392 return s
9393 }
9394
9395 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
9396 func (s *CreateMultipartUploadInput) SetObjectLockLegalHoldStatus(v string) *CreateMultipartUploadInput {
9397 s.ObjectLockLegalHoldStatus = &v
9398 return s
9399 }
9400
9401 // SetObjectLockMode sets the ObjectLockMode field's value.
9402 func (s *CreateMultipartUploadInput) SetObjectLockMode(v string) *CreateMultipartUploadInput {
9403 s.ObjectLockMode = &v
9404 return s
9405 }
9406
9407 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
9408 func (s *CreateMultipartUploadInput) SetObjectLockRetainUntilDate(v time.Time) *CreateMultipartUploadInput {
9409 s.ObjectLockRetainUntilDate = &v
9410 return s
9411 }
9412
9413 // SetRequestPayer sets the RequestPayer field's value.
9414 func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput {
9415 s.RequestPayer = &v
9416 return s
9417 }
9418
9419 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9420 func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput {
9421 s.SSECustomerAlgorithm = &v
9422 return s
9423 }
9424
9425 // SetSSECustomerKey sets the SSECustomerKey field's value.
9426 func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput {
9427 s.SSECustomerKey = &v
9428 return s
9429 }
9430
9431 func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
9432 if s.SSECustomerKey == nil {
9433 return v
9434 }
9435 return *s.SSECustomerKey
9436 }
9437
9438 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9439 func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
9440 s.SSECustomerKeyMD5 = &v
9441 return s
9442 }
9443
9444 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9445 func (s *CreateMultipartUploadInput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadInput {
9446 s.SSEKMSEncryptionContext = &v
9447 return s
9448 }
9449
9450 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9451 func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
9452 s.SSEKMSKeyId = &v
9453 return s
9454 }
9455
9456 // SetServerSideEncryption sets the ServerSideEncryption field's value.
9457 func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput {
9458 s.ServerSideEncryption = &v
9459 return s
9460 }
9461
9462 // SetStorageClass sets the StorageClass field's value.
9463 func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput {
9464 s.StorageClass = &v
9465 return s
9466 }
9467
9468 // SetTagging sets the Tagging field's value.
9469 func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
9470 s.Tagging = &v
9471 return s
9472 }
9473
9474 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
9475 func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
9476 s.WebsiteRedirectLocation = &v
9477 return s
9478 }
9479
9480 type CreateMultipartUploadOutput struct {
9481 _ struct{} `type:"structure"`
9482
9483 // Date when multipart upload will become eligible for abort operation by lifecycle.
9484 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
9485
9486 // Id of the lifecycle rule that makes a multipart upload eligible for abort
9487 // operation.
9488 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
9489
9490 // Name of the bucket to which the multipart upload was initiated.
9491 Bucket *string `locationName:"Bucket" type:"string"`
9492
9493 // Object key for which the multipart upload was initiated.
9494 Key *string `min:"1" type:"string"`
9495
9496 // If present, indicates that the requester was successfully charged for the
9497 // request.
9498 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
9499
9500 // If server-side encryption with a customer-provided encryption key was requested,
9501 // the response will include this header confirming the encryption algorithm
9502 // used.
9503 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9504
9505 // If server-side encryption with a customer-provided encryption key was requested,
9506 // the response will include this header to provide round trip message integrity
9507 // verification of the customer-provided encryption key.
9508 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9509
9510 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
9511 // The value of this header is a base64-encoded UTF-8 string holding JSON with
9512 // the encryption context key-value pairs.
9513 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
9514
9515 // If present, specifies the ID of the AWS Key Management Service (KMS) master
9516 // encryption key that was used for the object.
9517 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
9518
9519 // The Server-side encryption algorithm used when storing this object in S3
9520 // (e.g., AES256, aws:kms).
9521 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9522
9523 // ID for the initiated multipart upload.
9524 UploadId *string `type:"string"`
9525 }
9526
9527 // String returns the string representation
9528 func (s CreateMultipartUploadOutput) String() string {
9529 return awsutil.Prettify(s)
9530 }
9531
9532 // GoString returns the string representation
9533 func (s CreateMultipartUploadOutput) GoString() string {
9534 return s.String()
9535 }
9536
9537 // SetAbortDate sets the AbortDate field's value.
9538 func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput {
9539 s.AbortDate = &v
9540 return s
9541 }
9542
9543 // SetAbortRuleId sets the AbortRuleId field's value.
9544 func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput {
9545 s.AbortRuleId = &v
9546 return s
9547 }
9548
9549 // SetBucket sets the Bucket field's value.
9550 func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput {
9551 s.Bucket = &v
9552 return s
9553 }
9554
9555 func (s *CreateMultipartUploadOutput) getBucket() (v string) {
9556 if s.Bucket == nil {
9557 return v
9558 }
9559 return *s.Bucket
9560 }
9561
9562 // SetKey sets the Key field's value.
9563 func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
9564 s.Key = &v
9565 return s
9566 }
9567
9568 // SetRequestCharged sets the RequestCharged field's value.
9569 func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput {
9570 s.RequestCharged = &v
9571 return s
9572 }
9573
9574 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9575 func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput {
9576 s.SSECustomerAlgorithm = &v
9577 return s
9578 }
9579
9580 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9581 func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput {
9582 s.SSECustomerKeyMD5 = &v
9583 return s
9584 }
9585
9586 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9587 func (s *CreateMultipartUploadOutput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadOutput {
9588 s.SSEKMSEncryptionContext = &v
9589 return s
9590 }
9591
9592 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9593 func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
9594 s.SSEKMSKeyId = &v
9595 return s
9596 }
9597
9598 // SetServerSideEncryption sets the ServerSideEncryption field's value.
9599 func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput {
9600 s.ServerSideEncryption = &v
9601 return s
9602 }
9603
9604 // SetUploadId sets the UploadId field's value.
9605 func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput {
9606 s.UploadId = &v
9607 return s
9608 }
9609
9610 // The container element for specifying the default object lock retention settings
9611 // for new objects placed in the specified bucket.
9612 type DefaultRetention struct {
9613 _ struct{} `type:"structure"`
9614
9615 // The number of days that you want to specify for the default retention period.
9616 Days *int64 `type:"integer"`
9617
9618 // The default object lock retention mode you want to apply to new objects placed
9619 // in the specified bucket.
9620 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
9621
9622 // The number of years that you want to specify for the default retention period.
9623 Years *int64 `type:"integer"`
9624 }
9625
9626 // String returns the string representation
9627 func (s DefaultRetention) String() string {
9628 return awsutil.Prettify(s)
9629 }
9630
9631 // GoString returns the string representation
9632 func (s DefaultRetention) GoString() string {
9633 return s.String()
9634 }
9635
9636 // SetDays sets the Days field's value.
9637 func (s *DefaultRetention) SetDays(v int64) *DefaultRetention {
9638 s.Days = &v
9639 return s
9640 }
9641
9642 // SetMode sets the Mode field's value.
9643 func (s *DefaultRetention) SetMode(v string) *DefaultRetention {
9644 s.Mode = &v
9645 return s
9646 }
9647
9648 // SetYears sets the Years field's value.
9649 func (s *DefaultRetention) SetYears(v int64) *DefaultRetention {
9650 s.Years = &v
9651 return s
9652 }
9653
9654 type Delete struct {
9655 _ struct{} `type:"structure"`
9656
9657 // Objects is a required field
9658 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`
9659
9660 // Element to enable quiet mode for the request. When you add this element,
9661 // you must set its value to true.
9662 Quiet *bool `type:"boolean"`
9663 }
9664
9665 // String returns the string representation
9666 func (s Delete) String() string {
9667 return awsutil.Prettify(s)
9668 }
9669
9670 // GoString returns the string representation
9671 func (s Delete) GoString() string {
9672 return s.String()
9673 }
9674
9675 // Validate inspects the fields of the type to determine if they are valid.
9676 func (s *Delete) Validate() error {
9677 invalidParams := request.ErrInvalidParams{Context: "Delete"}
9678 if s.Objects == nil {
9679 invalidParams.Add(request.NewErrParamRequired("Objects"))
9680 }
9681 if s.Objects != nil {
9682 for i, v := range s.Objects {
9683 if v == nil {
9684 continue
9685 }
9686 if err := v.Validate(); err != nil {
9687 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams))
9688 }
9689 }
9690 }
9691
9692 if invalidParams.Len() > 0 {
9693 return invalidParams
9694 }
9695 return nil
9696 }
9697
9698 // SetObjects sets the Objects field's value.
9699 func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete {
9700 s.Objects = v
9701 return s
9702 }
9703
9704 // SetQuiet sets the Quiet field's value.
9705 func (s *Delete) SetQuiet(v bool) *Delete {
9706 s.Quiet = &v
9707 return s
9708 }
9709
9710 type DeleteBucketAnalyticsConfigurationInput struct {
9711 _ struct{} `type:"structure"`
9712
9713 // The name of the bucket from which an analytics configuration is deleted.
9714 //
9715 // Bucket is a required field
9716 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9717
9718 // The ID that identifies the analytics configuration.
9719 //
9720 // Id is a required field
9721 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9722 }
9723
9724 // String returns the string representation
9725 func (s DeleteBucketAnalyticsConfigurationInput) String() string {
9726 return awsutil.Prettify(s)
9727 }
9728
9729 // GoString returns the string representation
9730 func (s DeleteBucketAnalyticsConfigurationInput) GoString() string {
9731 return s.String()
9732 }
9733
9734 // Validate inspects the fields of the type to determine if they are valid.
9735 func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error {
9736 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"}
9737 if s.Bucket == nil {
9738 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9739 }
9740 if s.Bucket != nil && len(*s.Bucket) < 1 {
9741 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9742 }
9743 if s.Id == nil {
9744 invalidParams.Add(request.NewErrParamRequired("Id"))
9745 }
9746
9747 if invalidParams.Len() > 0 {
9748 return invalidParams
9749 }
9750 return nil
9751 }
9752
9753 // SetBucket sets the Bucket field's value.
9754 func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput {
9755 s.Bucket = &v
9756 return s
9757 }
9758
9759 func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
9760 if s.Bucket == nil {
9761 return v
9762 }
9763 return *s.Bucket
9764 }
9765
9766 // SetId sets the Id field's value.
9767 func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
9768 s.Id = &v
9769 return s
9770 }
9771
9772 type DeleteBucketAnalyticsConfigurationOutput struct {
9773 _ struct{} `type:"structure"`
9774 }
9775
9776 // String returns the string representation
9777 func (s DeleteBucketAnalyticsConfigurationOutput) String() string {
9778 return awsutil.Prettify(s)
9779 }
9780
9781 // GoString returns the string representation
9782 func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
9783 return s.String()
9784 }
9785
9786 type DeleteBucketCorsInput struct {
9787 _ struct{} `type:"structure"`
9788
9789 // Bucket is a required field
9790 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9791 }
9792
9793 // String returns the string representation
9794 func (s DeleteBucketCorsInput) String() string {
9795 return awsutil.Prettify(s)
9796 }
9797
9798 // GoString returns the string representation
9799 func (s DeleteBucketCorsInput) GoString() string {
9800 return s.String()
9801 }
9802
9803 // Validate inspects the fields of the type to determine if they are valid.
9804 func (s *DeleteBucketCorsInput) Validate() error {
9805 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"}
9806 if s.Bucket == nil {
9807 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9808 }
9809 if s.Bucket != nil && len(*s.Bucket) < 1 {
9810 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9811 }
9812
9813 if invalidParams.Len() > 0 {
9814 return invalidParams
9815 }
9816 return nil
9817 }
9818
9819 // SetBucket sets the Bucket field's value.
9820 func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
9821 s.Bucket = &v
9822 return s
9823 }
9824
9825 func (s *DeleteBucketCorsInput) getBucket() (v string) {
9826 if s.Bucket == nil {
9827 return v
9828 }
9829 return *s.Bucket
9830 }
9831
9832 type DeleteBucketCorsOutput struct {
9833 _ struct{} `type:"structure"`
9834 }
9835
9836 // String returns the string representation
9837 func (s DeleteBucketCorsOutput) String() string {
9838 return awsutil.Prettify(s)
9839 }
9840
9841 // GoString returns the string representation
9842 func (s DeleteBucketCorsOutput) GoString() string {
9843 return s.String()
9844 }
9845
9846 type DeleteBucketEncryptionInput struct {
9847 _ struct{} `type:"structure"`
9848
9849 // The name of the bucket containing the server-side encryption configuration
9850 // to delete.
9851 //
9852 // Bucket is a required field
9853 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9854 }
9855
9856 // String returns the string representation
9857 func (s DeleteBucketEncryptionInput) String() string {
9858 return awsutil.Prettify(s)
9859 }
9860
9861 // GoString returns the string representation
9862 func (s DeleteBucketEncryptionInput) GoString() string {
9863 return s.String()
9864 }
9865
9866 // Validate inspects the fields of the type to determine if they are valid.
9867 func (s *DeleteBucketEncryptionInput) Validate() error {
9868 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"}
9869 if s.Bucket == nil {
9870 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9871 }
9872 if s.Bucket != nil && len(*s.Bucket) < 1 {
9873 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9874 }
9875
9876 if invalidParams.Len() > 0 {
9877 return invalidParams
9878 }
9879 return nil
9880 }
9881
9882 // SetBucket sets the Bucket field's value.
9883 func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
9884 s.Bucket = &v
9885 return s
9886 }
9887
9888 func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
9889 if s.Bucket == nil {
9890 return v
9891 }
9892 return *s.Bucket
9893 }
9894
9895 type DeleteBucketEncryptionOutput struct {
9896 _ struct{} `type:"structure"`
9897 }
9898
9899 // String returns the string representation
9900 func (s DeleteBucketEncryptionOutput) String() string {
9901 return awsutil.Prettify(s)
9902 }
9903
9904 // GoString returns the string representation
9905 func (s DeleteBucketEncryptionOutput) GoString() string {
9906 return s.String()
9907 }
9908
9909 type DeleteBucketInput struct {
9910 _ struct{} `type:"structure"`
9911
9912 // Bucket is a required field
9913 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9914 }
9915
9916 // String returns the string representation
9917 func (s DeleteBucketInput) String() string {
9918 return awsutil.Prettify(s)
9919 }
9920
9921 // GoString returns the string representation
9922 func (s DeleteBucketInput) GoString() string {
9923 return s.String()
9924 }
9925
9926 // Validate inspects the fields of the type to determine if they are valid.
9927 func (s *DeleteBucketInput) Validate() error {
9928 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
9929 if s.Bucket == nil {
9930 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9931 }
9932 if s.Bucket != nil && len(*s.Bucket) < 1 {
9933 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9934 }
9935
9936 if invalidParams.Len() > 0 {
9937 return invalidParams
9938 }
9939 return nil
9940 }
9941
9942 // SetBucket sets the Bucket field's value.
9943 func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
9944 s.Bucket = &v
9945 return s
9946 }
9947
9948 func (s *DeleteBucketInput) getBucket() (v string) {
9949 if s.Bucket == nil {
9950 return v
9951 }
9952 return *s.Bucket
9953 }
9954
9955 type DeleteBucketInventoryConfigurationInput struct {
9956 _ struct{} `type:"structure"`
9957
9958 // The name of the bucket containing the inventory configuration to delete.
9959 //
9960 // Bucket is a required field
9961 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9962
9963 // The ID used to identify the inventory configuration.
9964 //
9965 // Id is a required field
9966 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9967 }
9968
9969 // String returns the string representation
9970 func (s DeleteBucketInventoryConfigurationInput) String() string {
9971 return awsutil.Prettify(s)
9972 }
9973
9974 // GoString returns the string representation
9975 func (s DeleteBucketInventoryConfigurationInput) GoString() string {
9976 return s.String()
9977 }
9978
9979 // Validate inspects the fields of the type to determine if they are valid.
9980 func (s *DeleteBucketInventoryConfigurationInput) Validate() error {
9981 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"}
9982 if s.Bucket == nil {
9983 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9984 }
9985 if s.Bucket != nil && len(*s.Bucket) < 1 {
9986 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9987 }
9988 if s.Id == nil {
9989 invalidParams.Add(request.NewErrParamRequired("Id"))
9990 }
9991
9992 if invalidParams.Len() > 0 {
9993 return invalidParams
9994 }
9995 return nil
9996 }
9997
9998 // SetBucket sets the Bucket field's value.
9999 func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput {
10000 s.Bucket = &v
10001 return s
10002 }
10003
10004 func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
10005 if s.Bucket == nil {
10006 return v
10007 }
10008 return *s.Bucket
10009 }
10010
10011 // SetId sets the Id field's value.
10012 func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
10013 s.Id = &v
10014 return s
10015 }
10016
10017 type DeleteBucketInventoryConfigurationOutput struct {
10018 _ struct{} `type:"structure"`
10019 }
10020
10021 // String returns the string representation
10022 func (s DeleteBucketInventoryConfigurationOutput) String() string {
10023 return awsutil.Prettify(s)
10024 }
10025
10026 // GoString returns the string representation
10027 func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
10028 return s.String()
10029 }
10030
10031 type DeleteBucketLifecycleInput struct {
10032 _ struct{} `type:"structure"`
10033
10034 // Bucket is a required field
10035 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10036 }
10037
10038 // String returns the string representation
10039 func (s DeleteBucketLifecycleInput) String() string {
10040 return awsutil.Prettify(s)
10041 }
10042
10043 // GoString returns the string representation
10044 func (s DeleteBucketLifecycleInput) GoString() string {
10045 return s.String()
10046 }
10047
10048 // Validate inspects the fields of the type to determine if they are valid.
10049 func (s *DeleteBucketLifecycleInput) Validate() error {
10050 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"}
10051 if s.Bucket == nil {
10052 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10053 }
10054 if s.Bucket != nil && len(*s.Bucket) < 1 {
10055 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10056 }
10057
10058 if invalidParams.Len() > 0 {
10059 return invalidParams
10060 }
10061 return nil
10062 }
10063
10064 // SetBucket sets the Bucket field's value.
10065 func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput {
10066 s.Bucket = &v
10067 return s
10068 }
10069
10070 func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
10071 if s.Bucket == nil {
10072 return v
10073 }
10074 return *s.Bucket
10075 }
10076
10077 type DeleteBucketLifecycleOutput struct {
10078 _ struct{} `type:"structure"`
10079 }
10080
10081 // String returns the string representation
10082 func (s DeleteBucketLifecycleOutput) String() string {
10083 return awsutil.Prettify(s)
10084 }
10085
10086 // GoString returns the string representation
10087 func (s DeleteBucketLifecycleOutput) GoString() string {
10088 return s.String()
10089 }
10090
10091 type DeleteBucketMetricsConfigurationInput struct {
10092 _ struct{} `type:"structure"`
10093
10094 // The name of the bucket containing the metrics configuration to delete.
10095 //
10096 // Bucket is a required field
10097 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10098
10099 // The ID used to identify the metrics configuration.
10100 //
10101 // Id is a required field
10102 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10103 }
10104
10105 // String returns the string representation
10106 func (s DeleteBucketMetricsConfigurationInput) String() string {
10107 return awsutil.Prettify(s)
10108 }
10109
10110 // GoString returns the string representation
10111 func (s DeleteBucketMetricsConfigurationInput) GoString() string {
10112 return s.String()
10113 }
10114
10115 // Validate inspects the fields of the type to determine if they are valid.
10116 func (s *DeleteBucketMetricsConfigurationInput) Validate() error {
10117 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"}
10118 if s.Bucket == nil {
10119 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10120 }
10121 if s.Bucket != nil && len(*s.Bucket) < 1 {
10122 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10123 }
10124 if s.Id == nil {
10125 invalidParams.Add(request.NewErrParamRequired("Id"))
10126 }
10127
10128 if invalidParams.Len() > 0 {
10129 return invalidParams
10130 }
10131 return nil
10132 }
10133
10134 // SetBucket sets the Bucket field's value.
10135 func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput {
10136 s.Bucket = &v
10137 return s
10138 }
10139
10140 func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
10141 if s.Bucket == nil {
10142 return v
10143 }
10144 return *s.Bucket
10145 }
10146
10147 // SetId sets the Id field's value.
10148 func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
10149 s.Id = &v
10150 return s
10151 }
10152
10153 type DeleteBucketMetricsConfigurationOutput struct {
10154 _ struct{} `type:"structure"`
10155 }
10156
10157 // String returns the string representation
10158 func (s DeleteBucketMetricsConfigurationOutput) String() string {
10159 return awsutil.Prettify(s)
10160 }
10161
10162 // GoString returns the string representation
10163 func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
10164 return s.String()
10165 }
10166
10167 type DeleteBucketOutput struct {
10168 _ struct{} `type:"structure"`
10169 }
10170
10171 // String returns the string representation
10172 func (s DeleteBucketOutput) String() string {
10173 return awsutil.Prettify(s)
10174 }
10175
10176 // GoString returns the string representation
10177 func (s DeleteBucketOutput) GoString() string {
10178 return s.String()
10179 }
10180
10181 type DeleteBucketPolicyInput struct {
10182 _ struct{} `type:"structure"`
10183
10184 // Bucket is a required field
10185 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10186 }
10187
10188 // String returns the string representation
10189 func (s DeleteBucketPolicyInput) String() string {
10190 return awsutil.Prettify(s)
10191 }
10192
10193 // GoString returns the string representation
10194 func (s DeleteBucketPolicyInput) GoString() string {
10195 return s.String()
10196 }
10197
10198 // Validate inspects the fields of the type to determine if they are valid.
10199 func (s *DeleteBucketPolicyInput) Validate() error {
10200 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"}
10201 if s.Bucket == nil {
10202 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10203 }
10204 if s.Bucket != nil && len(*s.Bucket) < 1 {
10205 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10206 }
10207
10208 if invalidParams.Len() > 0 {
10209 return invalidParams
10210 }
10211 return nil
10212 }
10213
10214 // SetBucket sets the Bucket field's value.
10215 func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
10216 s.Bucket = &v
10217 return s
10218 }
10219
10220 func (s *DeleteBucketPolicyInput) getBucket() (v string) {
10221 if s.Bucket == nil {
10222 return v
10223 }
10224 return *s.Bucket
10225 }
10226
10227 type DeleteBucketPolicyOutput struct {
10228 _ struct{} `type:"structure"`
10229 }
10230
10231 // String returns the string representation
10232 func (s DeleteBucketPolicyOutput) String() string {
10233 return awsutil.Prettify(s)
10234 }
10235
10236 // GoString returns the string representation
10237 func (s DeleteBucketPolicyOutput) GoString() string {
10238 return s.String()
10239 }
10240
10241 type DeleteBucketReplicationInput struct {
10242 _ struct{} `type:"structure"`
10243
10244 // The bucket name.
10245 //
10246 // It can take a while to propagate the deletion of a replication configuration
10247 // to all Amazon S3 systems.
10248 //
10249 // Bucket is a required field
10250 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10251 }
10252
10253 // String returns the string representation
10254 func (s DeleteBucketReplicationInput) String() string {
10255 return awsutil.Prettify(s)
10256 }
10257
10258 // GoString returns the string representation
10259 func (s DeleteBucketReplicationInput) GoString() string {
10260 return s.String()
10261 }
10262
10263 // Validate inspects the fields of the type to determine if they are valid.
10264 func (s *DeleteBucketReplicationInput) Validate() error {
10265 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"}
10266 if s.Bucket == nil {
10267 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10268 }
10269 if s.Bucket != nil && len(*s.Bucket) < 1 {
10270 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10271 }
10272
10273 if invalidParams.Len() > 0 {
10274 return invalidParams
10275 }
10276 return nil
10277 }
10278
10279 // SetBucket sets the Bucket field's value.
10280 func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput {
10281 s.Bucket = &v
10282 return s
10283 }
10284
10285 func (s *DeleteBucketReplicationInput) getBucket() (v string) {
10286 if s.Bucket == nil {
10287 return v
10288 }
10289 return *s.Bucket
10290 }
10291
10292 type DeleteBucketReplicationOutput struct {
10293 _ struct{} `type:"structure"`
10294 }
10295
10296 // String returns the string representation
10297 func (s DeleteBucketReplicationOutput) String() string {
10298 return awsutil.Prettify(s)
10299 }
10300
10301 // GoString returns the string representation
10302 func (s DeleteBucketReplicationOutput) GoString() string {
10303 return s.String()
10304 }
10305
10306 type DeleteBucketTaggingInput struct {
10307 _ struct{} `type:"structure"`
10308
10309 // Bucket is a required field
10310 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10311 }
10312
10313 // String returns the string representation
10314 func (s DeleteBucketTaggingInput) String() string {
10315 return awsutil.Prettify(s)
10316 }
10317
10318 // GoString returns the string representation
10319 func (s DeleteBucketTaggingInput) GoString() string {
10320 return s.String()
10321 }
10322
10323 // Validate inspects the fields of the type to determine if they are valid.
10324 func (s *DeleteBucketTaggingInput) Validate() error {
10325 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"}
10326 if s.Bucket == nil {
10327 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10328 }
10329 if s.Bucket != nil && len(*s.Bucket) < 1 {
10330 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10331 }
10332
10333 if invalidParams.Len() > 0 {
10334 return invalidParams
10335 }
10336 return nil
10337 }
10338
10339 // SetBucket sets the Bucket field's value.
10340 func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput {
10341 s.Bucket = &v
10342 return s
10343 }
10344
10345 func (s *DeleteBucketTaggingInput) getBucket() (v string) {
10346 if s.Bucket == nil {
10347 return v
10348 }
10349 return *s.Bucket
10350 }
10351
10352 type DeleteBucketTaggingOutput struct {
10353 _ struct{} `type:"structure"`
10354 }
10355
10356 // String returns the string representation
10357 func (s DeleteBucketTaggingOutput) String() string {
10358 return awsutil.Prettify(s)
10359 }
10360
10361 // GoString returns the string representation
10362 func (s DeleteBucketTaggingOutput) GoString() string {
10363 return s.String()
10364 }
10365
10366 type DeleteBucketWebsiteInput struct {
10367 _ struct{} `type:"structure"`
10368
10369 // Bucket is a required field
10370 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10371 }
10372
10373 // String returns the string representation
10374 func (s DeleteBucketWebsiteInput) String() string {
10375 return awsutil.Prettify(s)
10376 }
10377
10378 // GoString returns the string representation
10379 func (s DeleteBucketWebsiteInput) GoString() string {
10380 return s.String()
10381 }
10382
10383 // Validate inspects the fields of the type to determine if they are valid.
10384 func (s *DeleteBucketWebsiteInput) Validate() error {
10385 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"}
10386 if s.Bucket == nil {
10387 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10388 }
10389 if s.Bucket != nil && len(*s.Bucket) < 1 {
10390 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10391 }
10392
10393 if invalidParams.Len() > 0 {
10394 return invalidParams
10395 }
10396 return nil
10397 }
10398
10399 // SetBucket sets the Bucket field's value.
10400 func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput {
10401 s.Bucket = &v
10402 return s
10403 }
10404
10405 func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
10406 if s.Bucket == nil {
10407 return v
10408 }
10409 return *s.Bucket
10410 }
10411
10412 type DeleteBucketWebsiteOutput struct {
10413 _ struct{} `type:"structure"`
10414 }
10415
10416 // String returns the string representation
10417 func (s DeleteBucketWebsiteOutput) String() string {
10418 return awsutil.Prettify(s)
10419 }
10420
10421 // GoString returns the string representation
10422 func (s DeleteBucketWebsiteOutput) GoString() string {
10423 return s.String()
10424 }
10425
10426 type DeleteMarkerEntry struct {
10427 _ struct{} `type:"structure"`
10428
10429 // Specifies whether the object is (true) or is not (false) the latest version
10430 // of an object.
10431 IsLatest *bool `type:"boolean"`
10432
10433 // The object key.
10434 Key *string `min:"1" type:"string"`
10435
10436 // Date and time the object was last modified.
10437 LastModified *time.Time `type:"timestamp"`
10438
10439 Owner *Owner `type:"structure"`
10440
10441 // Version ID of an object.
10442 VersionId *string `type:"string"`
10443 }
10444
10445 // String returns the string representation
10446 func (s DeleteMarkerEntry) String() string {
10447 return awsutil.Prettify(s)
10448 }
10449
10450 // GoString returns the string representation
10451 func (s DeleteMarkerEntry) GoString() string {
10452 return s.String()
10453 }
10454
10455 // SetIsLatest sets the IsLatest field's value.
10456 func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry {
10457 s.IsLatest = &v
10458 return s
10459 }
10460
10461 // SetKey sets the Key field's value.
10462 func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry {
10463 s.Key = &v
10464 return s
10465 }
10466
10467 // SetLastModified sets the LastModified field's value.
10468 func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry {
10469 s.LastModified = &v
10470 return s
10471 }
10472
10473 // SetOwner sets the Owner field's value.
10474 func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry {
10475 s.Owner = v
10476 return s
10477 }
10478
10479 // SetVersionId sets the VersionId field's value.
10480 func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
10481 s.VersionId = &v
10482 return s
10483 }
10484
10485 // Specifies whether Amazon S3 should replicate delete makers.
10486 type DeleteMarkerReplication struct {
10487 _ struct{} `type:"structure"`
10488
10489 // The status of the delete marker replication.
10490 //
10491 // In the current implementation, Amazon S3 doesn't replicate the delete markers.
10492 // The status must be Disabled.
10493 Status *string `type:"string" enum:"DeleteMarkerReplicationStatus"`
10494 }
10495
10496 // String returns the string representation
10497 func (s DeleteMarkerReplication) String() string {
10498 return awsutil.Prettify(s)
10499 }
10500
10501 // GoString returns the string representation
10502 func (s DeleteMarkerReplication) GoString() string {
10503 return s.String()
10504 }
10505
10506 // SetStatus sets the Status field's value.
10507 func (s *DeleteMarkerReplication) SetStatus(v string) *DeleteMarkerReplication {
10508 s.Status = &v
10509 return s
10510 }
10511
10512 type DeleteObjectInput struct {
10513 _ struct{} `type:"structure"`
10514
10515 // Bucket is a required field
10516 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10517
10518 // Indicates whether Amazon S3 object lock should bypass governance-mode restrictions
10519 // to process this operation.
10520 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10521
10522 // Key is a required field
10523 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10524
10525 // The concatenation of the authentication device's serial number, a space,
10526 // and the value that is displayed on your authentication device.
10527 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10528
10529 // Confirms that the requester knows that she or he will be charged for the
10530 // request. Bucket owners need not specify this parameter in their requests.
10531 // Documentation on downloading objects from requester pays buckets can be found
10532 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10533 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10534
10535 // VersionId used to reference a specific version of the object.
10536 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10537 }
10538
10539 // String returns the string representation
10540 func (s DeleteObjectInput) String() string {
10541 return awsutil.Prettify(s)
10542 }
10543
10544 // GoString returns the string representation
10545 func (s DeleteObjectInput) GoString() string {
10546 return s.String()
10547 }
10548
10549 // Validate inspects the fields of the type to determine if they are valid.
10550 func (s *DeleteObjectInput) Validate() error {
10551 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"}
10552 if s.Bucket == nil {
10553 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10554 }
10555 if s.Bucket != nil && len(*s.Bucket) < 1 {
10556 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10557 }
10558 if s.Key == nil {
10559 invalidParams.Add(request.NewErrParamRequired("Key"))
10560 }
10561 if s.Key != nil && len(*s.Key) < 1 {
10562 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10563 }
10564
10565 if invalidParams.Len() > 0 {
10566 return invalidParams
10567 }
10568 return nil
10569 }
10570
10571 // SetBucket sets the Bucket field's value.
10572 func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
10573 s.Bucket = &v
10574 return s
10575 }
10576
10577 func (s *DeleteObjectInput) getBucket() (v string) {
10578 if s.Bucket == nil {
10579 return v
10580 }
10581 return *s.Bucket
10582 }
10583
10584 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10585 func (s *DeleteObjectInput) SetBypassGovernanceRetention(v bool) *DeleteObjectInput {
10586 s.BypassGovernanceRetention = &v
10587 return s
10588 }
10589
10590 // SetKey sets the Key field's value.
10591 func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
10592 s.Key = &v
10593 return s
10594 }
10595
10596 // SetMFA sets the MFA field's value.
10597 func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput {
10598 s.MFA = &v
10599 return s
10600 }
10601
10602 // SetRequestPayer sets the RequestPayer field's value.
10603 func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput {
10604 s.RequestPayer = &v
10605 return s
10606 }
10607
10608 // SetVersionId sets the VersionId field's value.
10609 func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
10610 s.VersionId = &v
10611 return s
10612 }
10613
10614 type DeleteObjectOutput struct {
10615 _ struct{} `type:"structure"`
10616
10617 // Specifies whether the versioned object that was permanently deleted was (true)
10618 // or was not (false) a delete marker.
10619 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
10620
10621 // If present, indicates that the requester was successfully charged for the
10622 // request.
10623 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10624
10625 // Returns the version ID of the delete marker created as a result of the DELETE
10626 // operation.
10627 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10628 }
10629
10630 // String returns the string representation
10631 func (s DeleteObjectOutput) String() string {
10632 return awsutil.Prettify(s)
10633 }
10634
10635 // GoString returns the string representation
10636 func (s DeleteObjectOutput) GoString() string {
10637 return s.String()
10638 }
10639
10640 // SetDeleteMarker sets the DeleteMarker field's value.
10641 func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput {
10642 s.DeleteMarker = &v
10643 return s
10644 }
10645
10646 // SetRequestCharged sets the RequestCharged field's value.
10647 func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput {
10648 s.RequestCharged = &v
10649 return s
10650 }
10651
10652 // SetVersionId sets the VersionId field's value.
10653 func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
10654 s.VersionId = &v
10655 return s
10656 }
10657
10658 type DeleteObjectTaggingInput struct {
10659 _ struct{} `type:"structure"`
10660
10661 // Bucket is a required field
10662 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10663
10664 // Key is a required field
10665 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10666
10667 // The versionId of the object that the tag-set will be removed from.
10668 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10669 }
10670
10671 // String returns the string representation
10672 func (s DeleteObjectTaggingInput) String() string {
10673 return awsutil.Prettify(s)
10674 }
10675
10676 // GoString returns the string representation
10677 func (s DeleteObjectTaggingInput) GoString() string {
10678 return s.String()
10679 }
10680
10681 // Validate inspects the fields of the type to determine if they are valid.
10682 func (s *DeleteObjectTaggingInput) Validate() error {
10683 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"}
10684 if s.Bucket == nil {
10685 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10686 }
10687 if s.Bucket != nil && len(*s.Bucket) < 1 {
10688 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10689 }
10690 if s.Key == nil {
10691 invalidParams.Add(request.NewErrParamRequired("Key"))
10692 }
10693 if s.Key != nil && len(*s.Key) < 1 {
10694 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10695 }
10696
10697 if invalidParams.Len() > 0 {
10698 return invalidParams
10699 }
10700 return nil
10701 }
10702
10703 // SetBucket sets the Bucket field's value.
10704 func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput {
10705 s.Bucket = &v
10706 return s
10707 }
10708
10709 func (s *DeleteObjectTaggingInput) getBucket() (v string) {
10710 if s.Bucket == nil {
10711 return v
10712 }
10713 return *s.Bucket
10714 }
10715
10716 // SetKey sets the Key field's value.
10717 func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
10718 s.Key = &v
10719 return s
10720 }
10721
10722 // SetVersionId sets the VersionId field's value.
10723 func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput {
10724 s.VersionId = &v
10725 return s
10726 }
10727
10728 type DeleteObjectTaggingOutput struct {
10729 _ struct{} `type:"structure"`
10730
10731 // The versionId of the object the tag-set was removed from.
10732 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10733 }
10734
10735 // String returns the string representation
10736 func (s DeleteObjectTaggingOutput) String() string {
10737 return awsutil.Prettify(s)
10738 }
10739
10740 // GoString returns the string representation
10741 func (s DeleteObjectTaggingOutput) GoString() string {
10742 return s.String()
10743 }
10744
10745 // SetVersionId sets the VersionId field's value.
10746 func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput {
10747 s.VersionId = &v
10748 return s
10749 }
10750
10751 type DeleteObjectsInput struct {
10752 _ struct{} `type:"structure" payload:"Delete"`
10753
10754 // Bucket is a required field
10755 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10756
10757 // Specifies whether you want to delete this object even if it has a Governance-type
10758 // object lock in place. You must have sufficient permissions to perform this
10759 // operation.
10760 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10761
10762 // Delete is a required field
10763 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
10764
10765 // The concatenation of the authentication device's serial number, a space,
10766 // and the value that is displayed on your authentication device.
10767 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10768
10769 // Confirms that the requester knows that she or he will be charged for the
10770 // request. Bucket owners need not specify this parameter in their requests.
10771 // Documentation on downloading objects from requester pays buckets can be found
10772 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10773 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10774 }
10775
10776 // String returns the string representation
10777 func (s DeleteObjectsInput) String() string {
10778 return awsutil.Prettify(s)
10779 }
10780
10781 // GoString returns the string representation
10782 func (s DeleteObjectsInput) GoString() string {
10783 return s.String()
10784 }
10785
10786 // Validate inspects the fields of the type to determine if they are valid.
10787 func (s *DeleteObjectsInput) Validate() error {
10788 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"}
10789 if s.Bucket == nil {
10790 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10791 }
10792 if s.Bucket != nil && len(*s.Bucket) < 1 {
10793 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10794 }
10795 if s.Delete == nil {
10796 invalidParams.Add(request.NewErrParamRequired("Delete"))
10797 }
10798 if s.Delete != nil {
10799 if err := s.Delete.Validate(); err != nil {
10800 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
10801 }
10802 }
10803
10804 if invalidParams.Len() > 0 {
10805 return invalidParams
10806 }
10807 return nil
10808 }
10809
10810 // SetBucket sets the Bucket field's value.
10811 func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
10812 s.Bucket = &v
10813 return s
10814 }
10815
10816 func (s *DeleteObjectsInput) getBucket() (v string) {
10817 if s.Bucket == nil {
10818 return v
10819 }
10820 return *s.Bucket
10821 }
10822
10823 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10824 func (s *DeleteObjectsInput) SetBypassGovernanceRetention(v bool) *DeleteObjectsInput {
10825 s.BypassGovernanceRetention = &v
10826 return s
10827 }
10828
10829 // SetDelete sets the Delete field's value.
10830 func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
10831 s.Delete = v
10832 return s
10833 }
10834
10835 // SetMFA sets the MFA field's value.
10836 func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput {
10837 s.MFA = &v
10838 return s
10839 }
10840
10841 // SetRequestPayer sets the RequestPayer field's value.
10842 func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
10843 s.RequestPayer = &v
10844 return s
10845 }
10846
10847 type DeleteObjectsOutput struct {
10848 _ struct{} `type:"structure"`
10849
10850 Deleted []*DeletedObject `type:"list" flattened:"true"`
10851
10852 Errors []*Error `locationName:"Error" type:"list" flattened:"true"`
10853
10854 // If present, indicates that the requester was successfully charged for the
10855 // request.
10856 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10857 }
10858
10859 // String returns the string representation
10860 func (s DeleteObjectsOutput) String() string {
10861 return awsutil.Prettify(s)
10862 }
10863
10864 // GoString returns the string representation
10865 func (s DeleteObjectsOutput) GoString() string {
10866 return s.String()
10867 }
10868
10869 // SetDeleted sets the Deleted field's value.
10870 func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput {
10871 s.Deleted = v
10872 return s
10873 }
10874
10875 // SetErrors sets the Errors field's value.
10876 func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput {
10877 s.Errors = v
10878 return s
10879 }
10880
10881 // SetRequestCharged sets the RequestCharged field's value.
10882 func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
10883 s.RequestCharged = &v
10884 return s
10885 }
10886
10887 type DeletePublicAccessBlockInput struct {
10888 _ struct{} `type:"structure"`
10889
10890 // The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.
10891 //
10892 // Bucket is a required field
10893 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10894 }
10895
10896 // String returns the string representation
10897 func (s DeletePublicAccessBlockInput) String() string {
10898 return awsutil.Prettify(s)
10899 }
10900
10901 // GoString returns the string representation
10902 func (s DeletePublicAccessBlockInput) GoString() string {
10903 return s.String()
10904 }
10905
10906 // Validate inspects the fields of the type to determine if they are valid.
10907 func (s *DeletePublicAccessBlockInput) Validate() error {
10908 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"}
10909 if s.Bucket == nil {
10910 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10911 }
10912 if s.Bucket != nil && len(*s.Bucket) < 1 {
10913 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10914 }
10915
10916 if invalidParams.Len() > 0 {
10917 return invalidParams
10918 }
10919 return nil
10920 }
10921
10922 // SetBucket sets the Bucket field's value.
10923 func (s *DeletePublicAccessBlockInput) SetBucket(v string) *DeletePublicAccessBlockInput {
10924 s.Bucket = &v
10925 return s
10926 }
10927
10928 func (s *DeletePublicAccessBlockInput) getBucket() (v string) {
10929 if s.Bucket == nil {
10930 return v
10931 }
10932 return *s.Bucket
10933 }
10934
10935 type DeletePublicAccessBlockOutput struct {
10936 _ struct{} `type:"structure"`
10937 }
10938
10939 // String returns the string representation
10940 func (s DeletePublicAccessBlockOutput) String() string {
10941 return awsutil.Prettify(s)
10942 }
10943
10944 // GoString returns the string representation
10945 func (s DeletePublicAccessBlockOutput) GoString() string {
10946 return s.String()
10947 }
10948
10949 type DeletedObject struct {
10950 _ struct{} `type:"structure"`
10951
10952 DeleteMarker *bool `type:"boolean"`
10953
10954 DeleteMarkerVersionId *string `type:"string"`
10955
10956 Key *string `min:"1" type:"string"`
10957
10958 VersionId *string `type:"string"`
10959 }
10960
10961 // String returns the string representation
10962 func (s DeletedObject) String() string {
10963 return awsutil.Prettify(s)
10964 }
10965
10966 // GoString returns the string representation
10967 func (s DeletedObject) GoString() string {
10968 return s.String()
10969 }
10970
10971 // SetDeleteMarker sets the DeleteMarker field's value.
10972 func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject {
10973 s.DeleteMarker = &v
10974 return s
10975 }
10976
10977 // SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value.
10978 func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject {
10979 s.DeleteMarkerVersionId = &v
10980 return s
10981 }
10982
10983 // SetKey sets the Key field's value.
10984 func (s *DeletedObject) SetKey(v string) *DeletedObject {
10985 s.Key = &v
10986 return s
10987 }
10988
10989 // SetVersionId sets the VersionId field's value.
10990 func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
10991 s.VersionId = &v
10992 return s
10993 }
10994
10995 // Specifies information about where to publish analysis or configuration results
10996 // for an Amazon S3 bucket.
10997 type Destination struct {
10998 _ struct{} `type:"structure"`
10999
11000 // Specify this only in a cross-account scenario (where source and destination
11001 // bucket owners are not the same), and you want to change replica ownership
11002 // to the AWS account that owns the destination bucket. If this is not specified
11003 // in the replication configuration, the replicas are owned by same AWS account
11004 // that owns the source object.
11005 AccessControlTranslation *AccessControlTranslation `type:"structure"`
11006
11007 // Destination bucket owner account ID. In a cross-account scenario, if you
11008 // direct Amazon S3 to change replica ownership to the AWS account that owns
11009 // the destination bucket by specifying the AccessControlTranslation property,
11010 // this is the account ID of the destination bucket owner. For more information,
11011 // see Cross-Region Replication Additional Configuration: Change Replica Owner
11012 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in
11013 // the Amazon Simple Storage Service Developer Guide.
11014 Account *string `type:"string"`
11015
11016 // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to
11017 // store replicas of the object identified by the rule.
11018 //
11019 // A replication configuration can replicate objects to only one destination
11020 // bucket. If there are multiple rules in your replication configuration, all
11021 // rules must specify the same destination bucket.
11022 //
11023 // Bucket is a required field
11024 Bucket *string `type:"string" required:"true"`
11025
11026 // A container that provides information about encryption. If SourceSelectionCriteria
11027 // is specified, you must specify this element.
11028 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
11029
11030 // The storage class to use when replicating objects, such as standard or reduced
11031 // redundancy. By default, Amazon S3 uses the storage class of the source object
11032 // to create the object replica.
11033 //
11034 // For valid values, see the StorageClass element of the PUT Bucket replication
11035 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html)
11036 // action in the Amazon Simple Storage Service API Reference.
11037 StorageClass *string `type:"string" enum:"StorageClass"`
11038 }
11039
11040 // String returns the string representation
11041 func (s Destination) String() string {
11042 return awsutil.Prettify(s)
11043 }
11044
11045 // GoString returns the string representation
11046 func (s Destination) GoString() string {
11047 return s.String()
11048 }
11049
11050 // Validate inspects the fields of the type to determine if they are valid.
11051 func (s *Destination) Validate() error {
11052 invalidParams := request.ErrInvalidParams{Context: "Destination"}
11053 if s.Bucket == nil {
11054 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11055 }
11056 if s.AccessControlTranslation != nil {
11057 if err := s.AccessControlTranslation.Validate(); err != nil {
11058 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
11059 }
11060 }
11061
11062 if invalidParams.Len() > 0 {
11063 return invalidParams
11064 }
11065 return nil
11066 }
11067
11068 // SetAccessControlTranslation sets the AccessControlTranslation field's value.
11069 func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
11070 s.AccessControlTranslation = v
11071 return s
11072 }
11073
11074 // SetAccount sets the Account field's value.
11075 func (s *Destination) SetAccount(v string) *Destination {
11076 s.Account = &v
11077 return s
11078 }
11079
11080 // SetBucket sets the Bucket field's value.
11081 func (s *Destination) SetBucket(v string) *Destination {
11082 s.Bucket = &v
11083 return s
11084 }
11085
11086 func (s *Destination) getBucket() (v string) {
11087 if s.Bucket == nil {
11088 return v
11089 }
11090 return *s.Bucket
11091 }
11092
11093 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
11094 func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
11095 s.EncryptionConfiguration = v
11096 return s
11097 }
11098
11099 // SetStorageClass sets the StorageClass field's value.
11100 func (s *Destination) SetStorageClass(v string) *Destination {
11101 s.StorageClass = &v
11102 return s
11103 }
11104
11105 // Describes the server-side encryption that will be applied to the restore
11106 // results.
11107 type Encryption struct {
11108 _ struct{} `type:"structure"`
11109
11110 // The server-side encryption algorithm used when storing job results in Amazon
11111 // S3 (e.g., AES256, aws:kms).
11112 //
11113 // EncryptionType is a required field
11114 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
11115
11116 // If the encryption type is aws:kms, this optional value can be used to specify
11117 // the encryption context for the restore results.
11118 KMSContext *string `type:"string"`
11119
11120 // If the encryption type is aws:kms, this optional value specifies the AWS
11121 // KMS key ID to use for encryption of job results.
11122 KMSKeyId *string `type:"string" sensitive:"true"`
11123 }
11124
11125 // String returns the string representation
11126 func (s Encryption) String() string {
11127 return awsutil.Prettify(s)
11128 }
11129
11130 // GoString returns the string representation
11131 func (s Encryption) GoString() string {
11132 return s.String()
11133 }
11134
11135 // Validate inspects the fields of the type to determine if they are valid.
11136 func (s *Encryption) Validate() error {
11137 invalidParams := request.ErrInvalidParams{Context: "Encryption"}
11138 if s.EncryptionType == nil {
11139 invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
11140 }
11141
11142 if invalidParams.Len() > 0 {
11143 return invalidParams
11144 }
11145 return nil
11146 }
11147
11148 // SetEncryptionType sets the EncryptionType field's value.
11149 func (s *Encryption) SetEncryptionType(v string) *Encryption {
11150 s.EncryptionType = &v
11151 return s
11152 }
11153
11154 // SetKMSContext sets the KMSContext field's value.
11155 func (s *Encryption) SetKMSContext(v string) *Encryption {
11156 s.KMSContext = &v
11157 return s
11158 }
11159
11160 // SetKMSKeyId sets the KMSKeyId field's value.
11161 func (s *Encryption) SetKMSKeyId(v string) *Encryption {
11162 s.KMSKeyId = &v
11163 return s
11164 }
11165
11166 // Specifies encryption-related information for an Amazon S3 bucket that is
11167 // a destination for replicated objects.
11168 type EncryptionConfiguration struct {
11169 _ struct{} `type:"structure"`
11170
11171 // Specifies the AWS KMS Key ID (Key ARN or Alias ARN) for the destination bucket.
11172 // Amazon S3 uses this key to encrypt replica objects.
11173 ReplicaKmsKeyID *string `type:"string"`
11174 }
11175
11176 // String returns the string representation
11177 func (s EncryptionConfiguration) String() string {
11178 return awsutil.Prettify(s)
11179 }
11180
11181 // GoString returns the string representation
11182 func (s EncryptionConfiguration) GoString() string {
11183 return s.String()
11184 }
11185
11186 // SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
11187 func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
11188 s.ReplicaKmsKeyID = &v
11189 return s
11190 }
11191
11192 type EndEvent struct {
11193 _ struct{} `locationName:"EndEvent" type:"structure"`
11194 }
11195
11196 // String returns the string representation
11197 func (s EndEvent) String() string {
11198 return awsutil.Prettify(s)
11199 }
11200
11201 // GoString returns the string representation
11202 func (s EndEvent) GoString() string {
11203 return s.String()
11204 }
11205
11206 // The EndEvent is and event in the SelectObjectContentEventStream group of events.
11207 func (s *EndEvent) eventSelectObjectContentEventStream() {}
11208
11209 // UnmarshalEvent unmarshals the EventStream Message into the EndEvent value.
11210 // This method is only used internally within the SDK's EventStream handling.
11211 func (s *EndEvent) UnmarshalEvent(
11212 payloadUnmarshaler protocol.PayloadUnmarshaler,
11213 msg eventstream.Message,
11214 ) error {
11215 return nil
11216 }
11217
11218 type Error struct {
11219 _ struct{} `type:"structure"`
11220
11221 Code *string `type:"string"`
11222
11223 Key *string `min:"1" type:"string"`
11224
11225 Message *string `type:"string"`
11226
11227 VersionId *string `type:"string"`
11228 }
11229
11230 // String returns the string representation
11231 func (s Error) String() string {
11232 return awsutil.Prettify(s)
11233 }
11234
11235 // GoString returns the string representation
11236 func (s Error) GoString() string {
11237 return s.String()
11238 }
11239
11240 // SetCode sets the Code field's value.
11241 func (s *Error) SetCode(v string) *Error {
11242 s.Code = &v
11243 return s
11244 }
11245
11246 // SetKey sets the Key field's value.
11247 func (s *Error) SetKey(v string) *Error {
11248 s.Key = &v
11249 return s
11250 }
11251
11252 // SetMessage sets the Message field's value.
11253 func (s *Error) SetMessage(v string) *Error {
11254 s.Message = &v
11255 return s
11256 }
11257
11258 // SetVersionId sets the VersionId field's value.
11259 func (s *Error) SetVersionId(v string) *Error {
11260 s.VersionId = &v
11261 return s
11262 }
11263
11264 type ErrorDocument struct {
11265 _ struct{} `type:"structure"`
11266
11267 // The object key name to use when a 4XX class error occurs.
11268 //
11269 // Key is a required field
11270 Key *string `min:"1" type:"string" required:"true"`
11271 }
11272
11273 // String returns the string representation
11274 func (s ErrorDocument) String() string {
11275 return awsutil.Prettify(s)
11276 }
11277
11278 // GoString returns the string representation
11279 func (s ErrorDocument) GoString() string {
11280 return s.String()
11281 }
11282
11283 // Validate inspects the fields of the type to determine if they are valid.
11284 func (s *ErrorDocument) Validate() error {
11285 invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"}
11286 if s.Key == nil {
11287 invalidParams.Add(request.NewErrParamRequired("Key"))
11288 }
11289 if s.Key != nil && len(*s.Key) < 1 {
11290 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11291 }
11292
11293 if invalidParams.Len() > 0 {
11294 return invalidParams
11295 }
11296 return nil
11297 }
11298
11299 // SetKey sets the Key field's value.
11300 func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
11301 s.Key = &v
11302 return s
11303 }
11304
11305 // Specifies the Amazon S3 object key name to filter on and whether to filter
11306 // on the suffix or prefix of the key name.
11307 type FilterRule struct {
11308 _ struct{} `type:"structure"`
11309
11310 // The object key name prefix or suffix identifying one or more objects to which
11311 // the filtering rule applies. The maximum length is 1,024 characters. Overlapping
11312 // prefixes and suffixes are not supported. For more information, see Configuring
11313 // Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
11314 // in the Amazon Simple Storage Service Developer Guide.
11315 Name *string `type:"string" enum:"FilterRuleName"`
11316
11317 // The value that the filter searches for in object key names.
11318 Value *string `type:"string"`
11319 }
11320
11321 // String returns the string representation
11322 func (s FilterRule) String() string {
11323 return awsutil.Prettify(s)
11324 }
11325
11326 // GoString returns the string representation
11327 func (s FilterRule) GoString() string {
11328 return s.String()
11329 }
11330
11331 // SetName sets the Name field's value.
11332 func (s *FilterRule) SetName(v string) *FilterRule {
11333 s.Name = &v
11334 return s
11335 }
11336
11337 // SetValue sets the Value field's value.
11338 func (s *FilterRule) SetValue(v string) *FilterRule {
11339 s.Value = &v
11340 return s
11341 }
11342
11343 type GetBucketAccelerateConfigurationInput struct {
11344 _ struct{} `type:"structure"`
11345
11346 // Name of the bucket for which the accelerate configuration is retrieved.
11347 //
11348 // Bucket is a required field
11349 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11350 }
11351
11352 // String returns the string representation
11353 func (s GetBucketAccelerateConfigurationInput) String() string {
11354 return awsutil.Prettify(s)
11355 }
11356
11357 // GoString returns the string representation
11358 func (s GetBucketAccelerateConfigurationInput) GoString() string {
11359 return s.String()
11360 }
11361
11362 // Validate inspects the fields of the type to determine if they are valid.
11363 func (s *GetBucketAccelerateConfigurationInput) Validate() error {
11364 invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"}
11365 if s.Bucket == nil {
11366 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11367 }
11368 if s.Bucket != nil && len(*s.Bucket) < 1 {
11369 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11370 }
11371
11372 if invalidParams.Len() > 0 {
11373 return invalidParams
11374 }
11375 return nil
11376 }
11377
11378 // SetBucket sets the Bucket field's value.
11379 func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput {
11380 s.Bucket = &v
11381 return s
11382 }
11383
11384 func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
11385 if s.Bucket == nil {
11386 return v
11387 }
11388 return *s.Bucket
11389 }
11390
11391 type GetBucketAccelerateConfigurationOutput struct {
11392 _ struct{} `type:"structure"`
11393
11394 // The accelerate configuration of the bucket.
11395 Status *string `type:"string" enum:"BucketAccelerateStatus"`
11396 }
11397
11398 // String returns the string representation
11399 func (s GetBucketAccelerateConfigurationOutput) String() string {
11400 return awsutil.Prettify(s)
11401 }
11402
11403 // GoString returns the string representation
11404 func (s GetBucketAccelerateConfigurationOutput) GoString() string {
11405 return s.String()
11406 }
11407
11408 // SetStatus sets the Status field's value.
11409 func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput {
11410 s.Status = &v
11411 return s
11412 }
11413
11414 type GetBucketAclInput struct {
11415 _ struct{} `type:"structure"`
11416
11417 // Bucket is a required field
11418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11419 }
11420
11421 // String returns the string representation
11422 func (s GetBucketAclInput) String() string {
11423 return awsutil.Prettify(s)
11424 }
11425
11426 // GoString returns the string representation
11427 func (s GetBucketAclInput) GoString() string {
11428 return s.String()
11429 }
11430
11431 // Validate inspects the fields of the type to determine if they are valid.
11432 func (s *GetBucketAclInput) Validate() error {
11433 invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"}
11434 if s.Bucket == nil {
11435 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11436 }
11437 if s.Bucket != nil && len(*s.Bucket) < 1 {
11438 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11439 }
11440
11441 if invalidParams.Len() > 0 {
11442 return invalidParams
11443 }
11444 return nil
11445 }
11446
11447 // SetBucket sets the Bucket field's value.
11448 func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
11449 s.Bucket = &v
11450 return s
11451 }
11452
11453 func (s *GetBucketAclInput) getBucket() (v string) {
11454 if s.Bucket == nil {
11455 return v
11456 }
11457 return *s.Bucket
11458 }
11459
11460 type GetBucketAclOutput struct {
11461 _ struct{} `type:"structure"`
11462
11463 // A list of grants.
11464 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
11465
11466 Owner *Owner `type:"structure"`
11467 }
11468
11469 // String returns the string representation
11470 func (s GetBucketAclOutput) String() string {
11471 return awsutil.Prettify(s)
11472 }
11473
11474 // GoString returns the string representation
11475 func (s GetBucketAclOutput) GoString() string {
11476 return s.String()
11477 }
11478
11479 // SetGrants sets the Grants field's value.
11480 func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput {
11481 s.Grants = v
11482 return s
11483 }
11484
11485 // SetOwner sets the Owner field's value.
11486 func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
11487 s.Owner = v
11488 return s
11489 }
11490
11491 type GetBucketAnalyticsConfigurationInput struct {
11492 _ struct{} `type:"structure"`
11493
11494 // The name of the bucket from which an analytics configuration is retrieved.
11495 //
11496 // Bucket is a required field
11497 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11498
11499 // The ID that identifies the analytics configuration.
11500 //
11501 // Id is a required field
11502 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11503 }
11504
11505 // String returns the string representation
11506 func (s GetBucketAnalyticsConfigurationInput) String() string {
11507 return awsutil.Prettify(s)
11508 }
11509
11510 // GoString returns the string representation
11511 func (s GetBucketAnalyticsConfigurationInput) GoString() string {
11512 return s.String()
11513 }
11514
11515 // Validate inspects the fields of the type to determine if they are valid.
11516 func (s *GetBucketAnalyticsConfigurationInput) Validate() error {
11517 invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"}
11518 if s.Bucket == nil {
11519 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11520 }
11521 if s.Bucket != nil && len(*s.Bucket) < 1 {
11522 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11523 }
11524 if s.Id == nil {
11525 invalidParams.Add(request.NewErrParamRequired("Id"))
11526 }
11527
11528 if invalidParams.Len() > 0 {
11529 return invalidParams
11530 }
11531 return nil
11532 }
11533
11534 // SetBucket sets the Bucket field's value.
11535 func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput {
11536 s.Bucket = &v
11537 return s
11538 }
11539
11540 func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
11541 if s.Bucket == nil {
11542 return v
11543 }
11544 return *s.Bucket
11545 }
11546
11547 // SetId sets the Id field's value.
11548 func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
11549 s.Id = &v
11550 return s
11551 }
11552
11553 type GetBucketAnalyticsConfigurationOutput struct {
11554 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
11555
11556 // The configuration and any analyses for the analytics filter.
11557 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"`
11558 }
11559
11560 // String returns the string representation
11561 func (s GetBucketAnalyticsConfigurationOutput) String() string {
11562 return awsutil.Prettify(s)
11563 }
11564
11565 // GoString returns the string representation
11566 func (s GetBucketAnalyticsConfigurationOutput) GoString() string {
11567 return s.String()
11568 }
11569
11570 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
11571 func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput {
11572 s.AnalyticsConfiguration = v
11573 return s
11574 }
11575
11576 type GetBucketCorsInput struct {
11577 _ struct{} `type:"structure"`
11578
11579 // Bucket is a required field
11580 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11581 }
11582
11583 // String returns the string representation
11584 func (s GetBucketCorsInput) String() string {
11585 return awsutil.Prettify(s)
11586 }
11587
11588 // GoString returns the string representation
11589 func (s GetBucketCorsInput) GoString() string {
11590 return s.String()
11591 }
11592
11593 // Validate inspects the fields of the type to determine if they are valid.
11594 func (s *GetBucketCorsInput) Validate() error {
11595 invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"}
11596 if s.Bucket == nil {
11597 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11598 }
11599 if s.Bucket != nil && len(*s.Bucket) < 1 {
11600 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11601 }
11602
11603 if invalidParams.Len() > 0 {
11604 return invalidParams
11605 }
11606 return nil
11607 }
11608
11609 // SetBucket sets the Bucket field's value.
11610 func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
11611 s.Bucket = &v
11612 return s
11613 }
11614
11615 func (s *GetBucketCorsInput) getBucket() (v string) {
11616 if s.Bucket == nil {
11617 return v
11618 }
11619 return *s.Bucket
11620 }
11621
11622 type GetBucketCorsOutput struct {
11623 _ struct{} `type:"structure"`
11624
11625 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`
11626 }
11627
11628 // String returns the string representation
11629 func (s GetBucketCorsOutput) String() string {
11630 return awsutil.Prettify(s)
11631 }
11632
11633 // GoString returns the string representation
11634 func (s GetBucketCorsOutput) GoString() string {
11635 return s.String()
11636 }
11637
11638 // SetCORSRules sets the CORSRules field's value.
11639 func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
11640 s.CORSRules = v
11641 return s
11642 }
11643
11644 type GetBucketEncryptionInput struct {
11645 _ struct{} `type:"structure"`
11646
11647 // The name of the bucket from which the server-side encryption configuration
11648 // is retrieved.
11649 //
11650 // Bucket is a required field
11651 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11652 }
11653
11654 // String returns the string representation
11655 func (s GetBucketEncryptionInput) String() string {
11656 return awsutil.Prettify(s)
11657 }
11658
11659 // GoString returns the string representation
11660 func (s GetBucketEncryptionInput) GoString() string {
11661 return s.String()
11662 }
11663
11664 // Validate inspects the fields of the type to determine if they are valid.
11665 func (s *GetBucketEncryptionInput) Validate() error {
11666 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"}
11667 if s.Bucket == nil {
11668 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11669 }
11670 if s.Bucket != nil && len(*s.Bucket) < 1 {
11671 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11672 }
11673
11674 if invalidParams.Len() > 0 {
11675 return invalidParams
11676 }
11677 return nil
11678 }
11679
11680 // SetBucket sets the Bucket field's value.
11681 func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
11682 s.Bucket = &v
11683 return s
11684 }
11685
11686 func (s *GetBucketEncryptionInput) getBucket() (v string) {
11687 if s.Bucket == nil {
11688 return v
11689 }
11690 return *s.Bucket
11691 }
11692
11693 type GetBucketEncryptionOutput struct {
11694 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
11695
11696 // Specifies the default server-side-encryption configuration.
11697 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
11698 }
11699
11700 // String returns the string representation
11701 func (s GetBucketEncryptionOutput) String() string {
11702 return awsutil.Prettify(s)
11703 }
11704
11705 // GoString returns the string representation
11706 func (s GetBucketEncryptionOutput) GoString() string {
11707 return s.String()
11708 }
11709
11710 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
11711 func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
11712 s.ServerSideEncryptionConfiguration = v
11713 return s
11714 }
11715
11716 type GetBucketInventoryConfigurationInput struct {
11717 _ struct{} `type:"structure"`
11718
11719 // The name of the bucket containing the inventory configuration to retrieve.
11720 //
11721 // Bucket is a required field
11722 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11723
11724 // The ID used to identify the inventory configuration.
11725 //
11726 // Id is a required field
11727 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11728 }
11729
11730 // String returns the string representation
11731 func (s GetBucketInventoryConfigurationInput) String() string {
11732 return awsutil.Prettify(s)
11733 }
11734
11735 // GoString returns the string representation
11736 func (s GetBucketInventoryConfigurationInput) GoString() string {
11737 return s.String()
11738 }
11739
11740 // Validate inspects the fields of the type to determine if they are valid.
11741 func (s *GetBucketInventoryConfigurationInput) Validate() error {
11742 invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"}
11743 if s.Bucket == nil {
11744 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11745 }
11746 if s.Bucket != nil && len(*s.Bucket) < 1 {
11747 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11748 }
11749 if s.Id == nil {
11750 invalidParams.Add(request.NewErrParamRequired("Id"))
11751 }
11752
11753 if invalidParams.Len() > 0 {
11754 return invalidParams
11755 }
11756 return nil
11757 }
11758
11759 // SetBucket sets the Bucket field's value.
11760 func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput {
11761 s.Bucket = &v
11762 return s
11763 }
11764
11765 func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
11766 if s.Bucket == nil {
11767 return v
11768 }
11769 return *s.Bucket
11770 }
11771
11772 // SetId sets the Id field's value.
11773 func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
11774 s.Id = &v
11775 return s
11776 }
11777
11778 type GetBucketInventoryConfigurationOutput struct {
11779 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
11780
11781 // Specifies the inventory configuration.
11782 InventoryConfiguration *InventoryConfiguration `type:"structure"`
11783 }
11784
11785 // String returns the string representation
11786 func (s GetBucketInventoryConfigurationOutput) String() string {
11787 return awsutil.Prettify(s)
11788 }
11789
11790 // GoString returns the string representation
11791 func (s GetBucketInventoryConfigurationOutput) GoString() string {
11792 return s.String()
11793 }
11794
11795 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
11796 func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput {
11797 s.InventoryConfiguration = v
11798 return s
11799 }
11800
11801 type GetBucketLifecycleConfigurationInput struct {
11802 _ struct{} `type:"structure"`
11803
11804 // Bucket is a required field
11805 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11806 }
11807
11808 // String returns the string representation
11809 func (s GetBucketLifecycleConfigurationInput) String() string {
11810 return awsutil.Prettify(s)
11811 }
11812
11813 // GoString returns the string representation
11814 func (s GetBucketLifecycleConfigurationInput) GoString() string {
11815 return s.String()
11816 }
11817
11818 // Validate inspects the fields of the type to determine if they are valid.
11819 func (s *GetBucketLifecycleConfigurationInput) Validate() error {
11820 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"}
11821 if s.Bucket == nil {
11822 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11823 }
11824 if s.Bucket != nil && len(*s.Bucket) < 1 {
11825 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11826 }
11827
11828 if invalidParams.Len() > 0 {
11829 return invalidParams
11830 }
11831 return nil
11832 }
11833
11834 // SetBucket sets the Bucket field's value.
11835 func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput {
11836 s.Bucket = &v
11837 return s
11838 }
11839
11840 func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
11841 if s.Bucket == nil {
11842 return v
11843 }
11844 return *s.Bucket
11845 }
11846
11847 type GetBucketLifecycleConfigurationOutput struct {
11848 _ struct{} `type:"structure"`
11849
11850 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`
11851 }
11852
11853 // String returns the string representation
11854 func (s GetBucketLifecycleConfigurationOutput) String() string {
11855 return awsutil.Prettify(s)
11856 }
11857
11858 // GoString returns the string representation
11859 func (s GetBucketLifecycleConfigurationOutput) GoString() string {
11860 return s.String()
11861 }
11862
11863 // SetRules sets the Rules field's value.
11864 func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput {
11865 s.Rules = v
11866 return s
11867 }
11868
11869 type GetBucketLifecycleInput struct {
11870 _ struct{} `type:"structure"`
11871
11872 // Bucket is a required field
11873 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11874 }
11875
11876 // String returns the string representation
11877 func (s GetBucketLifecycleInput) String() string {
11878 return awsutil.Prettify(s)
11879 }
11880
11881 // GoString returns the string representation
11882 func (s GetBucketLifecycleInput) GoString() string {
11883 return s.String()
11884 }
11885
11886 // Validate inspects the fields of the type to determine if they are valid.
11887 func (s *GetBucketLifecycleInput) Validate() error {
11888 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"}
11889 if s.Bucket == nil {
11890 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11891 }
11892 if s.Bucket != nil && len(*s.Bucket) < 1 {
11893 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11894 }
11895
11896 if invalidParams.Len() > 0 {
11897 return invalidParams
11898 }
11899 return nil
11900 }
11901
11902 // SetBucket sets the Bucket field's value.
11903 func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
11904 s.Bucket = &v
11905 return s
11906 }
11907
11908 func (s *GetBucketLifecycleInput) getBucket() (v string) {
11909 if s.Bucket == nil {
11910 return v
11911 }
11912 return *s.Bucket
11913 }
11914
11915 type GetBucketLifecycleOutput struct {
11916 _ struct{} `type:"structure"`
11917
11918 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"`
11919 }
11920
11921 // String returns the string representation
11922 func (s GetBucketLifecycleOutput) String() string {
11923 return awsutil.Prettify(s)
11924 }
11925
11926 // GoString returns the string representation
11927 func (s GetBucketLifecycleOutput) GoString() string {
11928 return s.String()
11929 }
11930
11931 // SetRules sets the Rules field's value.
11932 func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput {
11933 s.Rules = v
11934 return s
11935 }
11936
11937 type GetBucketLocationInput struct {
11938 _ struct{} `type:"structure"`
11939
11940 // Bucket is a required field
11941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11942 }
11943
11944 // String returns the string representation
11945 func (s GetBucketLocationInput) String() string {
11946 return awsutil.Prettify(s)
11947 }
11948
11949 // GoString returns the string representation
11950 func (s GetBucketLocationInput) GoString() string {
11951 return s.String()
11952 }
11953
11954 // Validate inspects the fields of the type to determine if they are valid.
11955 func (s *GetBucketLocationInput) Validate() error {
11956 invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"}
11957 if s.Bucket == nil {
11958 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11959 }
11960 if s.Bucket != nil && len(*s.Bucket) < 1 {
11961 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11962 }
11963
11964 if invalidParams.Len() > 0 {
11965 return invalidParams
11966 }
11967 return nil
11968 }
11969
11970 // SetBucket sets the Bucket field's value.
11971 func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
11972 s.Bucket = &v
11973 return s
11974 }
11975
11976 func (s *GetBucketLocationInput) getBucket() (v string) {
11977 if s.Bucket == nil {
11978 return v
11979 }
11980 return *s.Bucket
11981 }
11982
11983 type GetBucketLocationOutput struct {
11984 _ struct{} `type:"structure"`
11985
11986 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
11987 }
11988
11989 // String returns the string representation
11990 func (s GetBucketLocationOutput) String() string {
11991 return awsutil.Prettify(s)
11992 }
11993
11994 // GoString returns the string representation
11995 func (s GetBucketLocationOutput) GoString() string {
11996 return s.String()
11997 }
11998
11999 // SetLocationConstraint sets the LocationConstraint field's value.
12000 func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput {
12001 s.LocationConstraint = &v
12002 return s
12003 }
12004
12005 type GetBucketLoggingInput struct {
12006 _ struct{} `type:"structure"`
12007
12008 // Bucket is a required field
12009 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12010 }
12011
12012 // String returns the string representation
12013 func (s GetBucketLoggingInput) String() string {
12014 return awsutil.Prettify(s)
12015 }
12016
12017 // GoString returns the string representation
12018 func (s GetBucketLoggingInput) GoString() string {
12019 return s.String()
12020 }
12021
12022 // Validate inspects the fields of the type to determine if they are valid.
12023 func (s *GetBucketLoggingInput) Validate() error {
12024 invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"}
12025 if s.Bucket == nil {
12026 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12027 }
12028 if s.Bucket != nil && len(*s.Bucket) < 1 {
12029 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12030 }
12031
12032 if invalidParams.Len() > 0 {
12033 return invalidParams
12034 }
12035 return nil
12036 }
12037
12038 // SetBucket sets the Bucket field's value.
12039 func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
12040 s.Bucket = &v
12041 return s
12042 }
12043
12044 func (s *GetBucketLoggingInput) getBucket() (v string) {
12045 if s.Bucket == nil {
12046 return v
12047 }
12048 return *s.Bucket
12049 }
12050
12051 type GetBucketLoggingOutput struct {
12052 _ struct{} `type:"structure"`
12053
12054 // Describes where logs are stored and the prefix that Amazon S3 assigns to
12055 // all log object keys for a bucket. For more information, see PUT Bucket logging
12056 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
12057 // in the Amazon Simple Storage Service API Reference.
12058 LoggingEnabled *LoggingEnabled `type:"structure"`
12059 }
12060
12061 // String returns the string representation
12062 func (s GetBucketLoggingOutput) String() string {
12063 return awsutil.Prettify(s)
12064 }
12065
12066 // GoString returns the string representation
12067 func (s GetBucketLoggingOutput) GoString() string {
12068 return s.String()
12069 }
12070
12071 // SetLoggingEnabled sets the LoggingEnabled field's value.
12072 func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput {
12073 s.LoggingEnabled = v
12074 return s
12075 }
12076
12077 type GetBucketMetricsConfigurationInput struct {
12078 _ struct{} `type:"structure"`
12079
12080 // The name of the bucket containing the metrics configuration to retrieve.
12081 //
12082 // Bucket is a required field
12083 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12084
12085 // The ID used to identify the metrics configuration.
12086 //
12087 // Id is a required field
12088 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
12089 }
12090
12091 // String returns the string representation
12092 func (s GetBucketMetricsConfigurationInput) String() string {
12093 return awsutil.Prettify(s)
12094 }
12095
12096 // GoString returns the string representation
12097 func (s GetBucketMetricsConfigurationInput) GoString() string {
12098 return s.String()
12099 }
12100
12101 // Validate inspects the fields of the type to determine if they are valid.
12102 func (s *GetBucketMetricsConfigurationInput) Validate() error {
12103 invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"}
12104 if s.Bucket == nil {
12105 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12106 }
12107 if s.Bucket != nil && len(*s.Bucket) < 1 {
12108 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12109 }
12110 if s.Id == nil {
12111 invalidParams.Add(request.NewErrParamRequired("Id"))
12112 }
12113
12114 if invalidParams.Len() > 0 {
12115 return invalidParams
12116 }
12117 return nil
12118 }
12119
12120 // SetBucket sets the Bucket field's value.
12121 func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput {
12122 s.Bucket = &v
12123 return s
12124 }
12125
12126 func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
12127 if s.Bucket == nil {
12128 return v
12129 }
12130 return *s.Bucket
12131 }
12132
12133 // SetId sets the Id field's value.
12134 func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
12135 s.Id = &v
12136 return s
12137 }
12138
12139 type GetBucketMetricsConfigurationOutput struct {
12140 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
12141
12142 // Specifies the metrics configuration.
12143 MetricsConfiguration *MetricsConfiguration `type:"structure"`
12144 }
12145
12146 // String returns the string representation
12147 func (s GetBucketMetricsConfigurationOutput) String() string {
12148 return awsutil.Prettify(s)
12149 }
12150
12151 // GoString returns the string representation
12152 func (s GetBucketMetricsConfigurationOutput) GoString() string {
12153 return s.String()
12154 }
12155
12156 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
12157 func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput {
12158 s.MetricsConfiguration = v
12159 return s
12160 }
12161
12162 type GetBucketNotificationConfigurationRequest struct {
12163 _ struct{} `type:"structure"`
12164
12165 // Name of the bucket to get the notification configuration for.
12166 //
12167 // Bucket is a required field
12168 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12169 }
12170
12171 // String returns the string representation
12172 func (s GetBucketNotificationConfigurationRequest) String() string {
12173 return awsutil.Prettify(s)
12174 }
12175
12176 // GoString returns the string representation
12177 func (s GetBucketNotificationConfigurationRequest) GoString() string {
12178 return s.String()
12179 }
12180
12181 // Validate inspects the fields of the type to determine if they are valid.
12182 func (s *GetBucketNotificationConfigurationRequest) Validate() error {
12183 invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"}
12184 if s.Bucket == nil {
12185 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12186 }
12187 if s.Bucket != nil && len(*s.Bucket) < 1 {
12188 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12189 }
12190
12191 if invalidParams.Len() > 0 {
12192 return invalidParams
12193 }
12194 return nil
12195 }
12196
12197 // SetBucket sets the Bucket field's value.
12198 func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest {
12199 s.Bucket = &v
12200 return s
12201 }
12202
12203 func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
12204 if s.Bucket == nil {
12205 return v
12206 }
12207 return *s.Bucket
12208 }
12209
12210 type GetBucketPolicyInput struct {
12211 _ struct{} `type:"structure"`
12212
12213 // Bucket is a required field
12214 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12215 }
12216
12217 // String returns the string representation
12218 func (s GetBucketPolicyInput) String() string {
12219 return awsutil.Prettify(s)
12220 }
12221
12222 // GoString returns the string representation
12223 func (s GetBucketPolicyInput) GoString() string {
12224 return s.String()
12225 }
12226
12227 // Validate inspects the fields of the type to determine if they are valid.
12228 func (s *GetBucketPolicyInput) Validate() error {
12229 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"}
12230 if s.Bucket == nil {
12231 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12232 }
12233 if s.Bucket != nil && len(*s.Bucket) < 1 {
12234 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12235 }
12236
12237 if invalidParams.Len() > 0 {
12238 return invalidParams
12239 }
12240 return nil
12241 }
12242
12243 // SetBucket sets the Bucket field's value.
12244 func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
12245 s.Bucket = &v
12246 return s
12247 }
12248
12249 func (s *GetBucketPolicyInput) getBucket() (v string) {
12250 if s.Bucket == nil {
12251 return v
12252 }
12253 return *s.Bucket
12254 }
12255
12256 type GetBucketPolicyOutput struct {
12257 _ struct{} `type:"structure" payload:"Policy"`
12258
12259 // The bucket policy as a JSON document.
12260 Policy *string `type:"string"`
12261 }
12262
12263 // String returns the string representation
12264 func (s GetBucketPolicyOutput) String() string {
12265 return awsutil.Prettify(s)
12266 }
12267
12268 // GoString returns the string representation
12269 func (s GetBucketPolicyOutput) GoString() string {
12270 return s.String()
12271 }
12272
12273 // SetPolicy sets the Policy field's value.
12274 func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
12275 s.Policy = &v
12276 return s
12277 }
12278
12279 type GetBucketPolicyStatusInput struct {
12280 _ struct{} `type:"structure"`
12281
12282 // The name of the Amazon S3 bucket whose policy status you want to retrieve.
12283 //
12284 // Bucket is a required field
12285 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12286 }
12287
12288 // String returns the string representation
12289 func (s GetBucketPolicyStatusInput) String() string {
12290 return awsutil.Prettify(s)
12291 }
12292
12293 // GoString returns the string representation
12294 func (s GetBucketPolicyStatusInput) GoString() string {
12295 return s.String()
12296 }
12297
12298 // Validate inspects the fields of the type to determine if they are valid.
12299 func (s *GetBucketPolicyStatusInput) Validate() error {
12300 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyStatusInput"}
12301 if s.Bucket == nil {
12302 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12303 }
12304 if s.Bucket != nil && len(*s.Bucket) < 1 {
12305 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12306 }
12307
12308 if invalidParams.Len() > 0 {
12309 return invalidParams
12310 }
12311 return nil
12312 }
12313
12314 // SetBucket sets the Bucket field's value.
12315 func (s *GetBucketPolicyStatusInput) SetBucket(v string) *GetBucketPolicyStatusInput {
12316 s.Bucket = &v
12317 return s
12318 }
12319
12320 func (s *GetBucketPolicyStatusInput) getBucket() (v string) {
12321 if s.Bucket == nil {
12322 return v
12323 }
12324 return *s.Bucket
12325 }
12326
12327 type GetBucketPolicyStatusOutput struct {
12328 _ struct{} `type:"structure" payload:"PolicyStatus"`
12329
12330 // The policy status for the specified bucket.
12331 PolicyStatus *PolicyStatus `type:"structure"`
12332 }
12333
12334 // String returns the string representation
12335 func (s GetBucketPolicyStatusOutput) String() string {
12336 return awsutil.Prettify(s)
12337 }
12338
12339 // GoString returns the string representation
12340 func (s GetBucketPolicyStatusOutput) GoString() string {
12341 return s.String()
12342 }
12343
12344 // SetPolicyStatus sets the PolicyStatus field's value.
12345 func (s *GetBucketPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetBucketPolicyStatusOutput {
12346 s.PolicyStatus = v
12347 return s
12348 }
12349
12350 type GetBucketReplicationInput struct {
12351 _ struct{} `type:"structure"`
12352
12353 // Bucket is a required field
12354 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12355 }
12356
12357 // String returns the string representation
12358 func (s GetBucketReplicationInput) String() string {
12359 return awsutil.Prettify(s)
12360 }
12361
12362 // GoString returns the string representation
12363 func (s GetBucketReplicationInput) GoString() string {
12364 return s.String()
12365 }
12366
12367 // Validate inspects the fields of the type to determine if they are valid.
12368 func (s *GetBucketReplicationInput) Validate() error {
12369 invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"}
12370 if s.Bucket == nil {
12371 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12372 }
12373 if s.Bucket != nil && len(*s.Bucket) < 1 {
12374 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12375 }
12376
12377 if invalidParams.Len() > 0 {
12378 return invalidParams
12379 }
12380 return nil
12381 }
12382
12383 // SetBucket sets the Bucket field's value.
12384 func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput {
12385 s.Bucket = &v
12386 return s
12387 }
12388
12389 func (s *GetBucketReplicationInput) getBucket() (v string) {
12390 if s.Bucket == nil {
12391 return v
12392 }
12393 return *s.Bucket
12394 }
12395
12396 type GetBucketReplicationOutput struct {
12397 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
12398
12399 // A container for replication rules. You can add up to 1,000 rules. The maximum
12400 // size of a replication configuration is 2 MB.
12401 ReplicationConfiguration *ReplicationConfiguration `type:"structure"`
12402 }
12403
12404 // String returns the string representation
12405 func (s GetBucketReplicationOutput) String() string {
12406 return awsutil.Prettify(s)
12407 }
12408
12409 // GoString returns the string representation
12410 func (s GetBucketReplicationOutput) GoString() string {
12411 return s.String()
12412 }
12413
12414 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
12415 func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput {
12416 s.ReplicationConfiguration = v
12417 return s
12418 }
12419
12420 type GetBucketRequestPaymentInput struct {
12421 _ struct{} `type:"structure"`
12422
12423 // Bucket is a required field
12424 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12425 }
12426
12427 // String returns the string representation
12428 func (s GetBucketRequestPaymentInput) String() string {
12429 return awsutil.Prettify(s)
12430 }
12431
12432 // GoString returns the string representation
12433 func (s GetBucketRequestPaymentInput) GoString() string {
12434 return s.String()
12435 }
12436
12437 // Validate inspects the fields of the type to determine if they are valid.
12438 func (s *GetBucketRequestPaymentInput) Validate() error {
12439 invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"}
12440 if s.Bucket == nil {
12441 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12442 }
12443 if s.Bucket != nil && len(*s.Bucket) < 1 {
12444 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12445 }
12446
12447 if invalidParams.Len() > 0 {
12448 return invalidParams
12449 }
12450 return nil
12451 }
12452
12453 // SetBucket sets the Bucket field's value.
12454 func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput {
12455 s.Bucket = &v
12456 return s
12457 }
12458
12459 func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
12460 if s.Bucket == nil {
12461 return v
12462 }
12463 return *s.Bucket
12464 }
12465
12466 type GetBucketRequestPaymentOutput struct {
12467 _ struct{} `type:"structure"`
12468
12469 // Specifies who pays for the download and request fees.
12470 Payer *string `type:"string" enum:"Payer"`
12471 }
12472
12473 // String returns the string representation
12474 func (s GetBucketRequestPaymentOutput) String() string {
12475 return awsutil.Prettify(s)
12476 }
12477
12478 // GoString returns the string representation
12479 func (s GetBucketRequestPaymentOutput) GoString() string {
12480 return s.String()
12481 }
12482
12483 // SetPayer sets the Payer field's value.
12484 func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput {
12485 s.Payer = &v
12486 return s
12487 }
12488
12489 type GetBucketTaggingInput struct {
12490 _ struct{} `type:"structure"`
12491
12492 // Bucket is a required field
12493 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12494 }
12495
12496 // String returns the string representation
12497 func (s GetBucketTaggingInput) String() string {
12498 return awsutil.Prettify(s)
12499 }
12500
12501 // GoString returns the string representation
12502 func (s GetBucketTaggingInput) GoString() string {
12503 return s.String()
12504 }
12505
12506 // Validate inspects the fields of the type to determine if they are valid.
12507 func (s *GetBucketTaggingInput) Validate() error {
12508 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"}
12509 if s.Bucket == nil {
12510 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12511 }
12512 if s.Bucket != nil && len(*s.Bucket) < 1 {
12513 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12514 }
12515
12516 if invalidParams.Len() > 0 {
12517 return invalidParams
12518 }
12519 return nil
12520 }
12521
12522 // SetBucket sets the Bucket field's value.
12523 func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
12524 s.Bucket = &v
12525 return s
12526 }
12527
12528 func (s *GetBucketTaggingInput) getBucket() (v string) {
12529 if s.Bucket == nil {
12530 return v
12531 }
12532 return *s.Bucket
12533 }
12534
12535 type GetBucketTaggingOutput struct {
12536 _ struct{} `type:"structure"`
12537
12538 // TagSet is a required field
12539 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
12540 }
12541
12542 // String returns the string representation
12543 func (s GetBucketTaggingOutput) String() string {
12544 return awsutil.Prettify(s)
12545 }
12546
12547 // GoString returns the string representation
12548 func (s GetBucketTaggingOutput) GoString() string {
12549 return s.String()
12550 }
12551
12552 // SetTagSet sets the TagSet field's value.
12553 func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
12554 s.TagSet = v
12555 return s
12556 }
12557
12558 type GetBucketVersioningInput struct {
12559 _ struct{} `type:"structure"`
12560
12561 // Bucket is a required field
12562 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12563 }
12564
12565 // String returns the string representation
12566 func (s GetBucketVersioningInput) String() string {
12567 return awsutil.Prettify(s)
12568 }
12569
12570 // GoString returns the string representation
12571 func (s GetBucketVersioningInput) GoString() string {
12572 return s.String()
12573 }
12574
12575 // Validate inspects the fields of the type to determine if they are valid.
12576 func (s *GetBucketVersioningInput) Validate() error {
12577 invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"}
12578 if s.Bucket == nil {
12579 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12580 }
12581 if s.Bucket != nil && len(*s.Bucket) < 1 {
12582 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12583 }
12584
12585 if invalidParams.Len() > 0 {
12586 return invalidParams
12587 }
12588 return nil
12589 }
12590
12591 // SetBucket sets the Bucket field's value.
12592 func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput {
12593 s.Bucket = &v
12594 return s
12595 }
12596
12597 func (s *GetBucketVersioningInput) getBucket() (v string) {
12598 if s.Bucket == nil {
12599 return v
12600 }
12601 return *s.Bucket
12602 }
12603
12604 type GetBucketVersioningOutput struct {
12605 _ struct{} `type:"structure"`
12606
12607 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
12608 // This element is only returned if the bucket has been configured with MFA
12609 // delete. If the bucket has never been so configured, this element is not returned.
12610 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"`
12611
12612 // The versioning state of the bucket.
12613 Status *string `type:"string" enum:"BucketVersioningStatus"`
12614 }
12615
12616 // String returns the string representation
12617 func (s GetBucketVersioningOutput) String() string {
12618 return awsutil.Prettify(s)
12619 }
12620
12621 // GoString returns the string representation
12622 func (s GetBucketVersioningOutput) GoString() string {
12623 return s.String()
12624 }
12625
12626 // SetMFADelete sets the MFADelete field's value.
12627 func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput {
12628 s.MFADelete = &v
12629 return s
12630 }
12631
12632 // SetStatus sets the Status field's value.
12633 func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput {
12634 s.Status = &v
12635 return s
12636 }
12637
12638 type GetBucketWebsiteInput struct {
12639 _ struct{} `type:"structure"`
12640
12641 // Bucket is a required field
12642 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12643 }
12644
12645 // String returns the string representation
12646 func (s GetBucketWebsiteInput) String() string {
12647 return awsutil.Prettify(s)
12648 }
12649
12650 // GoString returns the string representation
12651 func (s GetBucketWebsiteInput) GoString() string {
12652 return s.String()
12653 }
12654
12655 // Validate inspects the fields of the type to determine if they are valid.
12656 func (s *GetBucketWebsiteInput) Validate() error {
12657 invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"}
12658 if s.Bucket == nil {
12659 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12660 }
12661 if s.Bucket != nil && len(*s.Bucket) < 1 {
12662 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12663 }
12664
12665 if invalidParams.Len() > 0 {
12666 return invalidParams
12667 }
12668 return nil
12669 }
12670
12671 // SetBucket sets the Bucket field's value.
12672 func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
12673 s.Bucket = &v
12674 return s
12675 }
12676
12677 func (s *GetBucketWebsiteInput) getBucket() (v string) {
12678 if s.Bucket == nil {
12679 return v
12680 }
12681 return *s.Bucket
12682 }
12683
12684 type GetBucketWebsiteOutput struct {
12685 _ struct{} `type:"structure"`
12686
12687 ErrorDocument *ErrorDocument `type:"structure"`
12688
12689 IndexDocument *IndexDocument `type:"structure"`
12690
12691 // Specifies the redirect behavior of all requests to a website endpoint of
12692 // an Amazon S3 bucket.
12693 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
12694
12695 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
12696 }
12697
12698 // String returns the string representation
12699 func (s GetBucketWebsiteOutput) String() string {
12700 return awsutil.Prettify(s)
12701 }
12702
12703 // GoString returns the string representation
12704 func (s GetBucketWebsiteOutput) GoString() string {
12705 return s.String()
12706 }
12707
12708 // SetErrorDocument sets the ErrorDocument field's value.
12709 func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput {
12710 s.ErrorDocument = v
12711 return s
12712 }
12713
12714 // SetIndexDocument sets the IndexDocument field's value.
12715 func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput {
12716 s.IndexDocument = v
12717 return s
12718 }
12719
12720 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
12721 func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput {
12722 s.RedirectAllRequestsTo = v
12723 return s
12724 }
12725
12726 // SetRoutingRules sets the RoutingRules field's value.
12727 func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput {
12728 s.RoutingRules = v
12729 return s
12730 }
12731
12732 type GetObjectAclInput struct {
12733 _ struct{} `type:"structure"`
12734
12735 // Bucket is a required field
12736 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12737
12738 // Key is a required field
12739 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12740
12741 // Confirms that the requester knows that she or he will be charged for the
12742 // request. Bucket owners need not specify this parameter in their requests.
12743 // Documentation on downloading objects from requester pays buckets can be found
12744 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12745 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12746
12747 // VersionId used to reference a specific version of the object.
12748 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12749 }
12750
12751 // String returns the string representation
12752 func (s GetObjectAclInput) String() string {
12753 return awsutil.Prettify(s)
12754 }
12755
12756 // GoString returns the string representation
12757 func (s GetObjectAclInput) GoString() string {
12758 return s.String()
12759 }
12760
12761 // Validate inspects the fields of the type to determine if they are valid.
12762 func (s *GetObjectAclInput) Validate() error {
12763 invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"}
12764 if s.Bucket == nil {
12765 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12766 }
12767 if s.Bucket != nil && len(*s.Bucket) < 1 {
12768 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12769 }
12770 if s.Key == nil {
12771 invalidParams.Add(request.NewErrParamRequired("Key"))
12772 }
12773 if s.Key != nil && len(*s.Key) < 1 {
12774 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12775 }
12776
12777 if invalidParams.Len() > 0 {
12778 return invalidParams
12779 }
12780 return nil
12781 }
12782
12783 // SetBucket sets the Bucket field's value.
12784 func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
12785 s.Bucket = &v
12786 return s
12787 }
12788
12789 func (s *GetObjectAclInput) getBucket() (v string) {
12790 if s.Bucket == nil {
12791 return v
12792 }
12793 return *s.Bucket
12794 }
12795
12796 // SetKey sets the Key field's value.
12797 func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
12798 s.Key = &v
12799 return s
12800 }
12801
12802 // SetRequestPayer sets the RequestPayer field's value.
12803 func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput {
12804 s.RequestPayer = &v
12805 return s
12806 }
12807
12808 // SetVersionId sets the VersionId field's value.
12809 func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
12810 s.VersionId = &v
12811 return s
12812 }
12813
12814 type GetObjectAclOutput struct {
12815 _ struct{} `type:"structure"`
12816
12817 // A list of grants.
12818 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
12819
12820 Owner *Owner `type:"structure"`
12821
12822 // If present, indicates that the requester was successfully charged for the
12823 // request.
12824 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
12825 }
12826
12827 // String returns the string representation
12828 func (s GetObjectAclOutput) String() string {
12829 return awsutil.Prettify(s)
12830 }
12831
12832 // GoString returns the string representation
12833 func (s GetObjectAclOutput) GoString() string {
12834 return s.String()
12835 }
12836
12837 // SetGrants sets the Grants field's value.
12838 func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput {
12839 s.Grants = v
12840 return s
12841 }
12842
12843 // SetOwner sets the Owner field's value.
12844 func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput {
12845 s.Owner = v
12846 return s
12847 }
12848
12849 // SetRequestCharged sets the RequestCharged field's value.
12850 func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
12851 s.RequestCharged = &v
12852 return s
12853 }
12854
12855 type GetObjectInput struct {
12856 _ struct{} `type:"structure"`
12857
12858 // Bucket is a required field
12859 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12860
12861 // Return the object only if its entity tag (ETag) is the same as the one specified,
12862 // otherwise return a 412 (precondition failed).
12863 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
12864
12865 // Return the object only if it has been modified since the specified time,
12866 // otherwise return a 304 (not modified).
12867 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
12868
12869 // Return the object only if its entity tag (ETag) is different from the one
12870 // specified, otherwise return a 304 (not modified).
12871 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
12872
12873 // Return the object only if it has not been modified since the specified time,
12874 // otherwise return a 412 (precondition failed).
12875 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
12876
12877 // Key is a required field
12878 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12879
12880 // Part number of the object being read. This is a positive integer between
12881 // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified.
12882 // Useful for downloading just a part of an object.
12883 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
12884
12885 // Downloads the specified range bytes of an object. For more information about
12886 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
12887 Range *string `location:"header" locationName:"Range" type:"string"`
12888
12889 // Confirms that the requester knows that she or he will be charged for the
12890 // request. Bucket owners need not specify this parameter in their requests.
12891 // Documentation on downloading objects from requester pays buckets can be found
12892 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12893 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12894
12895 // Sets the Cache-Control header of the response.
12896 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`
12897
12898 // Sets the Content-Disposition header of the response
12899 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`
12900
12901 // Sets the Content-Encoding header of the response.
12902 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`
12903
12904 // Sets the Content-Language header of the response.
12905 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`
12906
12907 // Sets the Content-Type header of the response.
12908 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
12909
12910 // Sets the Expires header of the response.
12911 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
12912
12913 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
12914 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
12915
12916 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
12917 // data. This value is used to store the object and then it is discarded; Amazon
12918 // does not store the encryption key. The key must be appropriate for use with
12919 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
12920 // header.
12921 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
12922
12923 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
12924 // Amazon S3 uses this header for a message integrity check to ensure the encryption
12925 // key was transmitted without error.
12926 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
12927
12928 // VersionId used to reference a specific version of the object.
12929 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12930 }
12931
12932 // String returns the string representation
12933 func (s GetObjectInput) String() string {
12934 return awsutil.Prettify(s)
12935 }
12936
12937 // GoString returns the string representation
12938 func (s GetObjectInput) GoString() string {
12939 return s.String()
12940 }
12941
12942 // Validate inspects the fields of the type to determine if they are valid.
12943 func (s *GetObjectInput) Validate() error {
12944 invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"}
12945 if s.Bucket == nil {
12946 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12947 }
12948 if s.Bucket != nil && len(*s.Bucket) < 1 {
12949 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12950 }
12951 if s.Key == nil {
12952 invalidParams.Add(request.NewErrParamRequired("Key"))
12953 }
12954 if s.Key != nil && len(*s.Key) < 1 {
12955 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12956 }
12957
12958 if invalidParams.Len() > 0 {
12959 return invalidParams
12960 }
12961 return nil
12962 }
12963
12964 // SetBucket sets the Bucket field's value.
12965 func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
12966 s.Bucket = &v
12967 return s
12968 }
12969
12970 func (s *GetObjectInput) getBucket() (v string) {
12971 if s.Bucket == nil {
12972 return v
12973 }
12974 return *s.Bucket
12975 }
12976
12977 // SetIfMatch sets the IfMatch field's value.
12978 func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
12979 s.IfMatch = &v
12980 return s
12981 }
12982
12983 // SetIfModifiedSince sets the IfModifiedSince field's value.
12984 func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput {
12985 s.IfModifiedSince = &v
12986 return s
12987 }
12988
12989 // SetIfNoneMatch sets the IfNoneMatch field's value.
12990 func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput {
12991 s.IfNoneMatch = &v
12992 return s
12993 }
12994
12995 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
12996 func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput {
12997 s.IfUnmodifiedSince = &v
12998 return s
12999 }
13000
13001 // SetKey sets the Key field's value.
13002 func (s *GetObjectInput) SetKey(v string) *GetObjectInput {
13003 s.Key = &v
13004 return s
13005 }
13006
13007 // SetPartNumber sets the PartNumber field's value.
13008 func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput {
13009 s.PartNumber = &v
13010 return s
13011 }
13012
13013 // SetRange sets the Range field's value.
13014 func (s *GetObjectInput) SetRange(v string) *GetObjectInput {
13015 s.Range = &v
13016 return s
13017 }
13018
13019 // SetRequestPayer sets the RequestPayer field's value.
13020 func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput {
13021 s.RequestPayer = &v
13022 return s
13023 }
13024
13025 // SetResponseCacheControl sets the ResponseCacheControl field's value.
13026 func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput {
13027 s.ResponseCacheControl = &v
13028 return s
13029 }
13030
13031 // SetResponseContentDisposition sets the ResponseContentDisposition field's value.
13032 func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput {
13033 s.ResponseContentDisposition = &v
13034 return s
13035 }
13036
13037 // SetResponseContentEncoding sets the ResponseContentEncoding field's value.
13038 func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput {
13039 s.ResponseContentEncoding = &v
13040 return s
13041 }
13042
13043 // SetResponseContentLanguage sets the ResponseContentLanguage field's value.
13044 func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput {
13045 s.ResponseContentLanguage = &v
13046 return s
13047 }
13048
13049 // SetResponseContentType sets the ResponseContentType field's value.
13050 func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput {
13051 s.ResponseContentType = &v
13052 return s
13053 }
13054
13055 // SetResponseExpires sets the ResponseExpires field's value.
13056 func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput {
13057 s.ResponseExpires = &v
13058 return s
13059 }
13060
13061 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13062 func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput {
13063 s.SSECustomerAlgorithm = &v
13064 return s
13065 }
13066
13067 // SetSSECustomerKey sets the SSECustomerKey field's value.
13068 func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
13069 s.SSECustomerKey = &v
13070 return s
13071 }
13072
13073 func (s *GetObjectInput) getSSECustomerKey() (v string) {
13074 if s.SSECustomerKey == nil {
13075 return v
13076 }
13077 return *s.SSECustomerKey
13078 }
13079
13080 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13081 func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
13082 s.SSECustomerKeyMD5 = &v
13083 return s
13084 }
13085
13086 // SetVersionId sets the VersionId field's value.
13087 func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
13088 s.VersionId = &v
13089 return s
13090 }
13091
13092 type GetObjectLegalHoldInput struct {
13093 _ struct{} `type:"structure"`
13094
13095 // The bucket containing the object whose Legal Hold status you want to retrieve.
13096 //
13097 // Bucket is a required field
13098 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13099
13100 // The key name for the object whose Legal Hold status you want to retrieve.
13101 //
13102 // Key is a required field
13103 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13104
13105 // Confirms that the requester knows that she or he will be charged for the
13106 // request. Bucket owners need not specify this parameter in their requests.
13107 // Documentation on downloading objects from requester pays buckets can be found
13108 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13109 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13110
13111 // The version ID of the object whose Legal Hold status you want to retrieve.
13112 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13113 }
13114
13115 // String returns the string representation
13116 func (s GetObjectLegalHoldInput) String() string {
13117 return awsutil.Prettify(s)
13118 }
13119
13120 // GoString returns the string representation
13121 func (s GetObjectLegalHoldInput) GoString() string {
13122 return s.String()
13123 }
13124
13125 // Validate inspects the fields of the type to determine if they are valid.
13126 func (s *GetObjectLegalHoldInput) Validate() error {
13127 invalidParams := request.ErrInvalidParams{Context: "GetObjectLegalHoldInput"}
13128 if s.Bucket == nil {
13129 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13130 }
13131 if s.Bucket != nil && len(*s.Bucket) < 1 {
13132 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13133 }
13134 if s.Key == nil {
13135 invalidParams.Add(request.NewErrParamRequired("Key"))
13136 }
13137 if s.Key != nil && len(*s.Key) < 1 {
13138 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13139 }
13140
13141 if invalidParams.Len() > 0 {
13142 return invalidParams
13143 }
13144 return nil
13145 }
13146
13147 // SetBucket sets the Bucket field's value.
13148 func (s *GetObjectLegalHoldInput) SetBucket(v string) *GetObjectLegalHoldInput {
13149 s.Bucket = &v
13150 return s
13151 }
13152
13153 func (s *GetObjectLegalHoldInput) getBucket() (v string) {
13154 if s.Bucket == nil {
13155 return v
13156 }
13157 return *s.Bucket
13158 }
13159
13160 // SetKey sets the Key field's value.
13161 func (s *GetObjectLegalHoldInput) SetKey(v string) *GetObjectLegalHoldInput {
13162 s.Key = &v
13163 return s
13164 }
13165
13166 // SetRequestPayer sets the RequestPayer field's value.
13167 func (s *GetObjectLegalHoldInput) SetRequestPayer(v string) *GetObjectLegalHoldInput {
13168 s.RequestPayer = &v
13169 return s
13170 }
13171
13172 // SetVersionId sets the VersionId field's value.
13173 func (s *GetObjectLegalHoldInput) SetVersionId(v string) *GetObjectLegalHoldInput {
13174 s.VersionId = &v
13175 return s
13176 }
13177
13178 type GetObjectLegalHoldOutput struct {
13179 _ struct{} `type:"structure" payload:"LegalHold"`
13180
13181 // The current Legal Hold status for the specified object.
13182 LegalHold *ObjectLockLegalHold `type:"structure"`
13183 }
13184
13185 // String returns the string representation
13186 func (s GetObjectLegalHoldOutput) String() string {
13187 return awsutil.Prettify(s)
13188 }
13189
13190 // GoString returns the string representation
13191 func (s GetObjectLegalHoldOutput) GoString() string {
13192 return s.String()
13193 }
13194
13195 // SetLegalHold sets the LegalHold field's value.
13196 func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObjectLegalHoldOutput {
13197 s.LegalHold = v
13198 return s
13199 }
13200
13201 type GetObjectLockConfigurationInput struct {
13202 _ struct{} `type:"structure"`
13203
13204 // The bucket whose object lock configuration you want to retrieve.
13205 //
13206 // Bucket is a required field
13207 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13208 }
13209
13210 // String returns the string representation
13211 func (s GetObjectLockConfigurationInput) String() string {
13212 return awsutil.Prettify(s)
13213 }
13214
13215 // GoString returns the string representation
13216 func (s GetObjectLockConfigurationInput) GoString() string {
13217 return s.String()
13218 }
13219
13220 // Validate inspects the fields of the type to determine if they are valid.
13221 func (s *GetObjectLockConfigurationInput) Validate() error {
13222 invalidParams := request.ErrInvalidParams{Context: "GetObjectLockConfigurationInput"}
13223 if s.Bucket == nil {
13224 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13225 }
13226 if s.Bucket != nil && len(*s.Bucket) < 1 {
13227 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13228 }
13229
13230 if invalidParams.Len() > 0 {
13231 return invalidParams
13232 }
13233 return nil
13234 }
13235
13236 // SetBucket sets the Bucket field's value.
13237 func (s *GetObjectLockConfigurationInput) SetBucket(v string) *GetObjectLockConfigurationInput {
13238 s.Bucket = &v
13239 return s
13240 }
13241
13242 func (s *GetObjectLockConfigurationInput) getBucket() (v string) {
13243 if s.Bucket == nil {
13244 return v
13245 }
13246 return *s.Bucket
13247 }
13248
13249 type GetObjectLockConfigurationOutput struct {
13250 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
13251
13252 // The specified bucket's object lock configuration.
13253 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"`
13254 }
13255
13256 // String returns the string representation
13257 func (s GetObjectLockConfigurationOutput) String() string {
13258 return awsutil.Prettify(s)
13259 }
13260
13261 // GoString returns the string representation
13262 func (s GetObjectLockConfigurationOutput) GoString() string {
13263 return s.String()
13264 }
13265
13266 // SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
13267 func (s *GetObjectLockConfigurationOutput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *GetObjectLockConfigurationOutput {
13268 s.ObjectLockConfiguration = v
13269 return s
13270 }
13271
13272 type GetObjectOutput struct {
13273 _ struct{} `type:"structure" payload:"Body"`
13274
13275 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
13276
13277 // Object data.
13278 Body io.ReadCloser `type:"blob"`
13279
13280 // Specifies caching behavior along the request/reply chain.
13281 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
13282
13283 // Specifies presentational information for the object.
13284 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
13285
13286 // Specifies what content encodings have been applied to the object and thus
13287 // what decoding mechanisms must be applied to obtain the media-type referenced
13288 // by the Content-Type header field.
13289 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
13290
13291 // The language the content is in.
13292 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
13293
13294 // Size of the body in bytes.
13295 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
13296
13297 // The portion of the object returned in the response.
13298 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
13299
13300 // A standard MIME type describing the format of the object data.
13301 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
13302
13303 // Specifies whether the object retrieved was (true) or was not (false) a Delete
13304 // Marker. If false, this response header does not appear in the response.
13305 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
13306
13307 // An ETag is an opaque identifier assigned by a web server to a specific version
13308 // of a resource found at a URL
13309 ETag *string `location:"header" locationName:"ETag" type:"string"`
13310
13311 // If the object expiration is configured (see PUT Bucket lifecycle), the response
13312 // includes this header. It includes the expiry-date and rule-id key value pairs
13313 // providing object expiration information. The value of the rule-id is URL
13314 // encoded.
13315 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
13316
13317 // The date and time at which the object is no longer cacheable.
13318 Expires *string `location:"header" locationName:"Expires" type:"string"`
13319
13320 // Last modified date of the object
13321 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
13322
13323 // A map of metadata to store with the object in S3.
13324 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
13325
13326 // This is set to the number of metadata entries not returned in x-amz-meta
13327 // headers. This can happen if you create metadata using an API like SOAP that
13328 // supports more flexible metadata than the REST API. For example, using SOAP,
13329 // you can create metadata whose values are not legal HTTP headers.
13330 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
13331
13332 // Indicates whether this object has an active legal hold. This field is only
13333 // returned if you have permission to view an object's legal hold status.
13334 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
13335
13336 // The object lock mode currently in place for this object.
13337 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
13338
13339 // The date and time when this object's object lock will expire.
13340 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
13341
13342 // The count of parts this object has.
13343 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
13344
13345 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
13346
13347 // If present, indicates that the requester was successfully charged for the
13348 // request.
13349 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13350
13351 // Provides information about object restoration operation and expiration time
13352 // of the restored object copy.
13353 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
13354
13355 // If server-side encryption with a customer-provided encryption key was requested,
13356 // the response will include this header confirming the encryption algorithm
13357 // used.
13358 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
13359
13360 // If server-side encryption with a customer-provided encryption key was requested,
13361 // the response will include this header to provide round trip message integrity
13362 // verification of the customer-provided encryption key.
13363 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
13364
13365 // If present, specifies the ID of the AWS Key Management Service (KMS) master
13366 // encryption key that was used for the object.
13367 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
13368
13369 // The Server-side encryption algorithm used when storing this object in S3
13370 // (e.g., AES256, aws:kms).
13371 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
13372
13373 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
13374
13375 // The number of tags, if any, on the object.
13376 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"`
13377
13378 // Version of the object.
13379 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13380
13381 // If the bucket is configured as a website, redirects requests for this object
13382 // to another object in the same bucket or to an external URL. Amazon S3 stores
13383 // the value of this header in the object metadata.
13384 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
13385 }
13386
13387 // String returns the string representation
13388 func (s GetObjectOutput) String() string {
13389 return awsutil.Prettify(s)
13390 }
13391
13392 // GoString returns the string representation
13393 func (s GetObjectOutput) GoString() string {
13394 return s.String()
13395 }
13396
13397 // SetAcceptRanges sets the AcceptRanges field's value.
13398 func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput {
13399 s.AcceptRanges = &v
13400 return s
13401 }
13402
13403 // SetBody sets the Body field's value.
13404 func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput {
13405 s.Body = v
13406 return s
13407 }
13408
13409 // SetCacheControl sets the CacheControl field's value.
13410 func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput {
13411 s.CacheControl = &v
13412 return s
13413 }
13414
13415 // SetContentDisposition sets the ContentDisposition field's value.
13416 func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
13417 s.ContentDisposition = &v
13418 return s
13419 }
13420
13421 // SetContentEncoding sets the ContentEncoding field's value.
13422 func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput {
13423 s.ContentEncoding = &v
13424 return s
13425 }
13426
13427 // SetContentLanguage sets the ContentLanguage field's value.
13428 func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput {
13429 s.ContentLanguage = &v
13430 return s
13431 }
13432
13433 // SetContentLength sets the ContentLength field's value.
13434 func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput {
13435 s.ContentLength = &v
13436 return s
13437 }
13438
13439 // SetContentRange sets the ContentRange field's value.
13440 func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput {
13441 s.ContentRange = &v
13442 return s
13443 }
13444
13445 // SetContentType sets the ContentType field's value.
13446 func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput {
13447 s.ContentType = &v
13448 return s
13449 }
13450
13451 // SetDeleteMarker sets the DeleteMarker field's value.
13452 func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput {
13453 s.DeleteMarker = &v
13454 return s
13455 }
13456
13457 // SetETag sets the ETag field's value.
13458 func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput {
13459 s.ETag = &v
13460 return s
13461 }
13462
13463 // SetExpiration sets the Expiration field's value.
13464 func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput {
13465 s.Expiration = &v
13466 return s
13467 }
13468
13469 // SetExpires sets the Expires field's value.
13470 func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput {
13471 s.Expires = &v
13472 return s
13473 }
13474
13475 // SetLastModified sets the LastModified field's value.
13476 func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput {
13477 s.LastModified = &v
13478 return s
13479 }
13480
13481 // SetMetadata sets the Metadata field's value.
13482 func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput {
13483 s.Metadata = v
13484 return s
13485 }
13486
13487 // SetMissingMeta sets the MissingMeta field's value.
13488 func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput {
13489 s.MissingMeta = &v
13490 return s
13491 }
13492
13493 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
13494 func (s *GetObjectOutput) SetObjectLockLegalHoldStatus(v string) *GetObjectOutput {
13495 s.ObjectLockLegalHoldStatus = &v
13496 return s
13497 }
13498
13499 // SetObjectLockMode sets the ObjectLockMode field's value.
13500 func (s *GetObjectOutput) SetObjectLockMode(v string) *GetObjectOutput {
13501 s.ObjectLockMode = &v
13502 return s
13503 }
13504
13505 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
13506 func (s *GetObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *GetObjectOutput {
13507 s.ObjectLockRetainUntilDate = &v
13508 return s
13509 }
13510
13511 // SetPartsCount sets the PartsCount field's value.
13512 func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput {
13513 s.PartsCount = &v
13514 return s
13515 }
13516
13517 // SetReplicationStatus sets the ReplicationStatus field's value.
13518 func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput {
13519 s.ReplicationStatus = &v
13520 return s
13521 }
13522
13523 // SetRequestCharged sets the RequestCharged field's value.
13524 func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput {
13525 s.RequestCharged = &v
13526 return s
13527 }
13528
13529 // SetRestore sets the Restore field's value.
13530 func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput {
13531 s.Restore = &v
13532 return s
13533 }
13534
13535 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13536 func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput {
13537 s.SSECustomerAlgorithm = &v
13538 return s
13539 }
13540
13541 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13542 func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput {
13543 s.SSECustomerKeyMD5 = &v
13544 return s
13545 }
13546
13547 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
13548 func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput {
13549 s.SSEKMSKeyId = &v
13550 return s
13551 }
13552
13553 // SetServerSideEncryption sets the ServerSideEncryption field's value.
13554 func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput {
13555 s.ServerSideEncryption = &v
13556 return s
13557 }
13558
13559 // SetStorageClass sets the StorageClass field's value.
13560 func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput {
13561 s.StorageClass = &v
13562 return s
13563 }
13564
13565 // SetTagCount sets the TagCount field's value.
13566 func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput {
13567 s.TagCount = &v
13568 return s
13569 }
13570
13571 // SetVersionId sets the VersionId field's value.
13572 func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput {
13573 s.VersionId = &v
13574 return s
13575 }
13576
13577 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
13578 func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput {
13579 s.WebsiteRedirectLocation = &v
13580 return s
13581 }
13582
13583 type GetObjectRetentionInput struct {
13584 _ struct{} `type:"structure"`
13585
13586 // The bucket containing the object whose retention settings you want to retrieve.
13587 //
13588 // Bucket is a required field
13589 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13590
13591 // The key name for the object whose retention settings you want to retrieve.
13592 //
13593 // Key is a required field
13594 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13595
13596 // Confirms that the requester knows that she or he will be charged for the
13597 // request. Bucket owners need not specify this parameter in their requests.
13598 // Documentation on downloading objects from requester pays buckets can be found
13599 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13600 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13601
13602 // The version ID for the object whose retention settings you want to retrieve.
13603 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13604 }
13605
13606 // String returns the string representation
13607 func (s GetObjectRetentionInput) String() string {
13608 return awsutil.Prettify(s)
13609 }
13610
13611 // GoString returns the string representation
13612 func (s GetObjectRetentionInput) 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 *GetObjectRetentionInput) Validate() error {
13618 invalidParams := request.ErrInvalidParams{Context: "GetObjectRetentionInput"}
13619 if s.Bucket == nil {
13620 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13621 }
13622 if s.Bucket != nil && len(*s.Bucket) < 1 {
13623 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13624 }
13625 if s.Key == nil {
13626 invalidParams.Add(request.NewErrParamRequired("Key"))
13627 }
13628 if s.Key != nil && len(*s.Key) < 1 {
13629 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13630 }
13631
13632 if invalidParams.Len() > 0 {
13633 return invalidParams
13634 }
13635 return nil
13636 }
13637
13638 // SetBucket sets the Bucket field's value.
13639 func (s *GetObjectRetentionInput) SetBucket(v string) *GetObjectRetentionInput {
13640 s.Bucket = &v
13641 return s
13642 }
13643
13644 func (s *GetObjectRetentionInput) getBucket() (v string) {
13645 if s.Bucket == nil {
13646 return v
13647 }
13648 return *s.Bucket
13649 }
13650
13651 // SetKey sets the Key field's value.
13652 func (s *GetObjectRetentionInput) SetKey(v string) *GetObjectRetentionInput {
13653 s.Key = &v
13654 return s
13655 }
13656
13657 // SetRequestPayer sets the RequestPayer field's value.
13658 func (s *GetObjectRetentionInput) SetRequestPayer(v string) *GetObjectRetentionInput {
13659 s.RequestPayer = &v
13660 return s
13661 }
13662
13663 // SetVersionId sets the VersionId field's value.
13664 func (s *GetObjectRetentionInput) SetVersionId(v string) *GetObjectRetentionInput {
13665 s.VersionId = &v
13666 return s
13667 }
13668
13669 type GetObjectRetentionOutput struct {
13670 _ struct{} `type:"structure" payload:"Retention"`
13671
13672 // The container element for an object's retention settings.
13673 Retention *ObjectLockRetention `type:"structure"`
13674 }
13675
13676 // String returns the string representation
13677 func (s GetObjectRetentionOutput) String() string {
13678 return awsutil.Prettify(s)
13679 }
13680
13681 // GoString returns the string representation
13682 func (s GetObjectRetentionOutput) GoString() string {
13683 return s.String()
13684 }
13685
13686 // SetRetention sets the Retention field's value.
13687 func (s *GetObjectRetentionOutput) SetRetention(v *ObjectLockRetention) *GetObjectRetentionOutput {
13688 s.Retention = v
13689 return s
13690 }
13691
13692 type GetObjectTaggingInput struct {
13693 _ struct{} `type:"structure"`
13694
13695 // Bucket is a required field
13696 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13697
13698 // Key is a required field
13699 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13700
13701 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13702 }
13703
13704 // String returns the string representation
13705 func (s GetObjectTaggingInput) String() string {
13706 return awsutil.Prettify(s)
13707 }
13708
13709 // GoString returns the string representation
13710 func (s GetObjectTaggingInput) GoString() string {
13711 return s.String()
13712 }
13713
13714 // Validate inspects the fields of the type to determine if they are valid.
13715 func (s *GetObjectTaggingInput) Validate() error {
13716 invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"}
13717 if s.Bucket == nil {
13718 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13719 }
13720 if s.Bucket != nil && len(*s.Bucket) < 1 {
13721 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13722 }
13723 if s.Key == nil {
13724 invalidParams.Add(request.NewErrParamRequired("Key"))
13725 }
13726 if s.Key != nil && len(*s.Key) < 1 {
13727 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13728 }
13729
13730 if invalidParams.Len() > 0 {
13731 return invalidParams
13732 }
13733 return nil
13734 }
13735
13736 // SetBucket sets the Bucket field's value.
13737 func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
13738 s.Bucket = &v
13739 return s
13740 }
13741
13742 func (s *GetObjectTaggingInput) getBucket() (v string) {
13743 if s.Bucket == nil {
13744 return v
13745 }
13746 return *s.Bucket
13747 }
13748
13749 // SetKey sets the Key field's value.
13750 func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
13751 s.Key = &v
13752 return s
13753 }
13754
13755 // SetVersionId sets the VersionId field's value.
13756 func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
13757 s.VersionId = &v
13758 return s
13759 }
13760
13761 type GetObjectTaggingOutput struct {
13762 _ struct{} `type:"structure"`
13763
13764 // TagSet is a required field
13765 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
13766
13767 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13768 }
13769
13770 // String returns the string representation
13771 func (s GetObjectTaggingOutput) String() string {
13772 return awsutil.Prettify(s)
13773 }
13774
13775 // GoString returns the string representation
13776 func (s GetObjectTaggingOutput) GoString() string {
13777 return s.String()
13778 }
13779
13780 // SetTagSet sets the TagSet field's value.
13781 func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput {
13782 s.TagSet = v
13783 return s
13784 }
13785
13786 // SetVersionId sets the VersionId field's value.
13787 func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput {
13788 s.VersionId = &v
13789 return s
13790 }
13791
13792 type GetObjectTorrentInput struct {
13793 _ struct{} `type:"structure"`
13794
13795 // Bucket is a required field
13796 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13797
13798 // Key is a required field
13799 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13800
13801 // Confirms that the requester knows that she or he will be charged for the
13802 // request. Bucket owners need not specify this parameter in their requests.
13803 // Documentation on downloading objects from requester pays buckets can be found
13804 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13805 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13806 }
13807
13808 // String returns the string representation
13809 func (s GetObjectTorrentInput) String() string {
13810 return awsutil.Prettify(s)
13811 }
13812
13813 // GoString returns the string representation
13814 func (s GetObjectTorrentInput) GoString() string {
13815 return s.String()
13816 }
13817
13818 // Validate inspects the fields of the type to determine if they are valid.
13819 func (s *GetObjectTorrentInput) Validate() error {
13820 invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"}
13821 if s.Bucket == nil {
13822 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13823 }
13824 if s.Bucket != nil && len(*s.Bucket) < 1 {
13825 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13826 }
13827 if s.Key == nil {
13828 invalidParams.Add(request.NewErrParamRequired("Key"))
13829 }
13830 if s.Key != nil && len(*s.Key) < 1 {
13831 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13832 }
13833
13834 if invalidParams.Len() > 0 {
13835 return invalidParams
13836 }
13837 return nil
13838 }
13839
13840 // SetBucket sets the Bucket field's value.
13841 func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
13842 s.Bucket = &v
13843 return s
13844 }
13845
13846 func (s *GetObjectTorrentInput) getBucket() (v string) {
13847 if s.Bucket == nil {
13848 return v
13849 }
13850 return *s.Bucket
13851 }
13852
13853 // SetKey sets the Key field's value.
13854 func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
13855 s.Key = &v
13856 return s
13857 }
13858
13859 // SetRequestPayer sets the RequestPayer field's value.
13860 func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput {
13861 s.RequestPayer = &v
13862 return s
13863 }
13864
13865 type GetObjectTorrentOutput struct {
13866 _ struct{} `type:"structure" payload:"Body"`
13867
13868 Body io.ReadCloser `type:"blob"`
13869
13870 // If present, indicates that the requester was successfully charged for the
13871 // request.
13872 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13873 }
13874
13875 // String returns the string representation
13876 func (s GetObjectTorrentOutput) String() string {
13877 return awsutil.Prettify(s)
13878 }
13879
13880 // GoString returns the string representation
13881 func (s GetObjectTorrentOutput) GoString() string {
13882 return s.String()
13883 }
13884
13885 // SetBody sets the Body field's value.
13886 func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput {
13887 s.Body = v
13888 return s
13889 }
13890
13891 // SetRequestCharged sets the RequestCharged field's value.
13892 func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput {
13893 s.RequestCharged = &v
13894 return s
13895 }
13896
13897 type GetPublicAccessBlockInput struct {
13898 _ struct{} `type:"structure"`
13899
13900 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
13901 // want to retrieve.
13902 //
13903 // Bucket is a required field
13904 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13905 }
13906
13907 // String returns the string representation
13908 func (s GetPublicAccessBlockInput) String() string {
13909 return awsutil.Prettify(s)
13910 }
13911
13912 // GoString returns the string representation
13913 func (s GetPublicAccessBlockInput) GoString() string {
13914 return s.String()
13915 }
13916
13917 // Validate inspects the fields of the type to determine if they are valid.
13918 func (s *GetPublicAccessBlockInput) Validate() error {
13919 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"}
13920 if s.Bucket == nil {
13921 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13922 }
13923 if s.Bucket != nil && len(*s.Bucket) < 1 {
13924 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13925 }
13926
13927 if invalidParams.Len() > 0 {
13928 return invalidParams
13929 }
13930 return nil
13931 }
13932
13933 // SetBucket sets the Bucket field's value.
13934 func (s *GetPublicAccessBlockInput) SetBucket(v string) *GetPublicAccessBlockInput {
13935 s.Bucket = &v
13936 return s
13937 }
13938
13939 func (s *GetPublicAccessBlockInput) getBucket() (v string) {
13940 if s.Bucket == nil {
13941 return v
13942 }
13943 return *s.Bucket
13944 }
13945
13946 type GetPublicAccessBlockOutput struct {
13947 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
13948
13949 // The PublicAccessBlock configuration currently in effect for this Amazon S3
13950 // bucket.
13951 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"`
13952 }
13953
13954 // String returns the string representation
13955 func (s GetPublicAccessBlockOutput) String() string {
13956 return awsutil.Prettify(s)
13957 }
13958
13959 // GoString returns the string representation
13960 func (s GetPublicAccessBlockOutput) GoString() string {
13961 return s.String()
13962 }
13963
13964 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
13965 func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput {
13966 s.PublicAccessBlockConfiguration = v
13967 return s
13968 }
13969
13970 type GlacierJobParameters struct {
13971 _ struct{} `type:"structure"`
13972
13973 // Glacier retrieval tier at which the restore will be processed.
13974 //
13975 // Tier is a required field
13976 Tier *string `type:"string" required:"true" enum:"Tier"`
13977 }
13978
13979 // String returns the string representation
13980 func (s GlacierJobParameters) String() string {
13981 return awsutil.Prettify(s)
13982 }
13983
13984 // GoString returns the string representation
13985 func (s GlacierJobParameters) GoString() string {
13986 return s.String()
13987 }
13988
13989 // Validate inspects the fields of the type to determine if they are valid.
13990 func (s *GlacierJobParameters) Validate() error {
13991 invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"}
13992 if s.Tier == nil {
13993 invalidParams.Add(request.NewErrParamRequired("Tier"))
13994 }
13995
13996 if invalidParams.Len() > 0 {
13997 return invalidParams
13998 }
13999 return nil
14000 }
14001
14002 // SetTier sets the Tier field's value.
14003 func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
14004 s.Tier = &v
14005 return s
14006 }
14007
14008 type Grant struct {
14009 _ struct{} `type:"structure"`
14010
14011 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
14012
14013 // Specifies the permission given to the grantee.
14014 Permission *string `type:"string" enum:"Permission"`
14015 }
14016
14017 // String returns the string representation
14018 func (s Grant) String() string {
14019 return awsutil.Prettify(s)
14020 }
14021
14022 // GoString returns the string representation
14023 func (s Grant) GoString() string {
14024 return s.String()
14025 }
14026
14027 // Validate inspects the fields of the type to determine if they are valid.
14028 func (s *Grant) Validate() error {
14029 invalidParams := request.ErrInvalidParams{Context: "Grant"}
14030 if s.Grantee != nil {
14031 if err := s.Grantee.Validate(); err != nil {
14032 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
14033 }
14034 }
14035
14036 if invalidParams.Len() > 0 {
14037 return invalidParams
14038 }
14039 return nil
14040 }
14041
14042 // SetGrantee sets the Grantee field's value.
14043 func (s *Grant) SetGrantee(v *Grantee) *Grant {
14044 s.Grantee = v
14045 return s
14046 }
14047
14048 // SetPermission sets the Permission field's value.
14049 func (s *Grant) SetPermission(v string) *Grant {
14050 s.Permission = &v
14051 return s
14052 }
14053
14054 type Grantee struct {
14055 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
14056
14057 // Screen name of the grantee.
14058 DisplayName *string `type:"string"`
14059
14060 // Email address of the grantee.
14061 EmailAddress *string `type:"string"`
14062
14063 // The canonical user ID of the grantee.
14064 ID *string `type:"string"`
14065
14066 // Type of grantee
14067 //
14068 // Type is a required field
14069 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"`
14070
14071 // URI of the grantee group.
14072 URI *string `type:"string"`
14073 }
14074
14075 // String returns the string representation
14076 func (s Grantee) String() string {
14077 return awsutil.Prettify(s)
14078 }
14079
14080 // GoString returns the string representation
14081 func (s Grantee) GoString() string {
14082 return s.String()
14083 }
14084
14085 // Validate inspects the fields of the type to determine if they are valid.
14086 func (s *Grantee) Validate() error {
14087 invalidParams := request.ErrInvalidParams{Context: "Grantee"}
14088 if s.Type == nil {
14089 invalidParams.Add(request.NewErrParamRequired("Type"))
14090 }
14091
14092 if invalidParams.Len() > 0 {
14093 return invalidParams
14094 }
14095 return nil
14096 }
14097
14098 // SetDisplayName sets the DisplayName field's value.
14099 func (s *Grantee) SetDisplayName(v string) *Grantee {
14100 s.DisplayName = &v
14101 return s
14102 }
14103
14104 // SetEmailAddress sets the EmailAddress field's value.
14105 func (s *Grantee) SetEmailAddress(v string) *Grantee {
14106 s.EmailAddress = &v
14107 return s
14108 }
14109
14110 // SetID sets the ID field's value.
14111 func (s *Grantee) SetID(v string) *Grantee {
14112 s.ID = &v
14113 return s
14114 }
14115
14116 // SetType sets the Type field's value.
14117 func (s *Grantee) SetType(v string) *Grantee {
14118 s.Type = &v
14119 return s
14120 }
14121
14122 // SetURI sets the URI field's value.
14123 func (s *Grantee) SetURI(v string) *Grantee {
14124 s.URI = &v
14125 return s
14126 }
14127
14128 type HeadBucketInput struct {
14129 _ struct{} `type:"structure"`
14130
14131 // Bucket is a required field
14132 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14133 }
14134
14135 // String returns the string representation
14136 func (s HeadBucketInput) String() string {
14137 return awsutil.Prettify(s)
14138 }
14139
14140 // GoString returns the string representation
14141 func (s HeadBucketInput) GoString() string {
14142 return s.String()
14143 }
14144
14145 // Validate inspects the fields of the type to determine if they are valid.
14146 func (s *HeadBucketInput) Validate() error {
14147 invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"}
14148 if s.Bucket == nil {
14149 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14150 }
14151 if s.Bucket != nil && len(*s.Bucket) < 1 {
14152 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14153 }
14154
14155 if invalidParams.Len() > 0 {
14156 return invalidParams
14157 }
14158 return nil
14159 }
14160
14161 // SetBucket sets the Bucket field's value.
14162 func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
14163 s.Bucket = &v
14164 return s
14165 }
14166
14167 func (s *HeadBucketInput) getBucket() (v string) {
14168 if s.Bucket == nil {
14169 return v
14170 }
14171 return *s.Bucket
14172 }
14173
14174 type HeadBucketOutput struct {
14175 _ struct{} `type:"structure"`
14176 }
14177
14178 // String returns the string representation
14179 func (s HeadBucketOutput) String() string {
14180 return awsutil.Prettify(s)
14181 }
14182
14183 // GoString returns the string representation
14184 func (s HeadBucketOutput) GoString() string {
14185 return s.String()
14186 }
14187
14188 type HeadObjectInput struct {
14189 _ struct{} `type:"structure"`
14190
14191 // Bucket is a required field
14192 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14193
14194 // Return the object only if its entity tag (ETag) is the same as the one specified,
14195 // otherwise return a 412 (precondition failed).
14196 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
14197
14198 // Return the object only if it has been modified since the specified time,
14199 // otherwise return a 304 (not modified).
14200 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
14201
14202 // Return the object only if its entity tag (ETag) is different from the one
14203 // specified, otherwise return a 304 (not modified).
14204 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
14205
14206 // Return the object only if it has not been modified since the specified time,
14207 // otherwise return a 412 (precondition failed).
14208 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
14209
14210 // Key is a required field
14211 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
14212
14213 // Part number of the object being read. This is a positive integer between
14214 // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified.
14215 // Useful querying about the size of the part and the number of parts in this
14216 // object.
14217 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
14218
14219 // Downloads the specified range bytes of an object. For more information about
14220 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
14221 Range *string `location:"header" locationName:"Range" type:"string"`
14222
14223 // Confirms that the requester knows that she or he will be charged for the
14224 // request. Bucket owners need not specify this parameter in their requests.
14225 // Documentation on downloading objects from requester pays buckets can be found
14226 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
14227 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
14228
14229 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
14230 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14231
14232 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
14233 // data. This value is used to store the object and then it is discarded; Amazon
14234 // does not store the encryption key. The key must be appropriate for use with
14235 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
14236 // header.
14237 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
14238
14239 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
14240 // Amazon S3 uses this header for a message integrity check to ensure the encryption
14241 // key was transmitted without error.
14242 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14243
14244 // VersionId used to reference a specific version of the object.
14245 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
14246 }
14247
14248 // String returns the string representation
14249 func (s HeadObjectInput) String() string {
14250 return awsutil.Prettify(s)
14251 }
14252
14253 // GoString returns the string representation
14254 func (s HeadObjectInput) GoString() string {
14255 return s.String()
14256 }
14257
14258 // Validate inspects the fields of the type to determine if they are valid.
14259 func (s *HeadObjectInput) Validate() error {
14260 invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"}
14261 if s.Bucket == nil {
14262 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14263 }
14264 if s.Bucket != nil && len(*s.Bucket) < 1 {
14265 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14266 }
14267 if s.Key == nil {
14268 invalidParams.Add(request.NewErrParamRequired("Key"))
14269 }
14270 if s.Key != nil && len(*s.Key) < 1 {
14271 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14272 }
14273
14274 if invalidParams.Len() > 0 {
14275 return invalidParams
14276 }
14277 return nil
14278 }
14279
14280 // SetBucket sets the Bucket field's value.
14281 func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
14282 s.Bucket = &v
14283 return s
14284 }
14285
14286 func (s *HeadObjectInput) getBucket() (v string) {
14287 if s.Bucket == nil {
14288 return v
14289 }
14290 return *s.Bucket
14291 }
14292
14293 // SetIfMatch sets the IfMatch field's value.
14294 func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
14295 s.IfMatch = &v
14296 return s
14297 }
14298
14299 // SetIfModifiedSince sets the IfModifiedSince field's value.
14300 func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput {
14301 s.IfModifiedSince = &v
14302 return s
14303 }
14304
14305 // SetIfNoneMatch sets the IfNoneMatch field's value.
14306 func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput {
14307 s.IfNoneMatch = &v
14308 return s
14309 }
14310
14311 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
14312 func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput {
14313 s.IfUnmodifiedSince = &v
14314 return s
14315 }
14316
14317 // SetKey sets the Key field's value.
14318 func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput {
14319 s.Key = &v
14320 return s
14321 }
14322
14323 // SetPartNumber sets the PartNumber field's value.
14324 func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput {
14325 s.PartNumber = &v
14326 return s
14327 }
14328
14329 // SetRange sets the Range field's value.
14330 func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput {
14331 s.Range = &v
14332 return s
14333 }
14334
14335 // SetRequestPayer sets the RequestPayer field's value.
14336 func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput {
14337 s.RequestPayer = &v
14338 return s
14339 }
14340
14341 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14342 func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput {
14343 s.SSECustomerAlgorithm = &v
14344 return s
14345 }
14346
14347 // SetSSECustomerKey sets the SSECustomerKey field's value.
14348 func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
14349 s.SSECustomerKey = &v
14350 return s
14351 }
14352
14353 func (s *HeadObjectInput) getSSECustomerKey() (v string) {
14354 if s.SSECustomerKey == nil {
14355 return v
14356 }
14357 return *s.SSECustomerKey
14358 }
14359
14360 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14361 func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
14362 s.SSECustomerKeyMD5 = &v
14363 return s
14364 }
14365
14366 // SetVersionId sets the VersionId field's value.
14367 func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
14368 s.VersionId = &v
14369 return s
14370 }
14371
14372 type HeadObjectOutput struct {
14373 _ struct{} `type:"structure"`
14374
14375 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
14376
14377 // Specifies caching behavior along the request/reply chain.
14378 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
14379
14380 // Specifies presentational information for the object.
14381 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
14382
14383 // Specifies what content encodings have been applied to the object and thus
14384 // what decoding mechanisms must be applied to obtain the media-type referenced
14385 // by the Content-Type header field.
14386 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
14387
14388 // The language the content is in.
14389 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
14390
14391 // Size of the body in bytes.
14392 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
14393
14394 // A standard MIME type describing the format of the object data.
14395 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
14396
14397 // Specifies whether the object retrieved was (true) or was not (false) a Delete
14398 // Marker. If false, this response header does not appear in the response.
14399 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
14400
14401 // An ETag is an opaque identifier assigned by a web server to a specific version
14402 // of a resource found at a URL
14403 ETag *string `location:"header" locationName:"ETag" type:"string"`
14404
14405 // If the object expiration is configured (see PUT Bucket lifecycle), the response
14406 // includes this header. It includes the expiry-date and rule-id key value pairs
14407 // providing object expiration information. The value of the rule-id is URL
14408 // encoded.
14409 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
14410
14411 // The date and time at which the object is no longer cacheable.
14412 Expires *string `location:"header" locationName:"Expires" type:"string"`
14413
14414 // Last modified date of the object
14415 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
14416
14417 // A map of metadata to store with the object in S3.
14418 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
14419
14420 // This is set to the number of metadata entries not returned in x-amz-meta
14421 // headers. This can happen if you create metadata using an API like SOAP that
14422 // supports more flexible metadata than the REST API. For example, using SOAP,
14423 // you can create metadata whose values are not legal HTTP headers.
14424 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
14425
14426 // The Legal Hold status for the specified object.
14427 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
14428
14429 // The object lock mode currently in place for this object.
14430 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
14431
14432 // The date and time when this object's object lock expires.
14433 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
14434
14435 // The count of parts this object has.
14436 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
14437
14438 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
14439
14440 // If present, indicates that the requester was successfully charged for the
14441 // request.
14442 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
14443
14444 // Provides information about object restoration operation and expiration time
14445 // of the restored object copy.
14446 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
14447
14448 // If server-side encryption with a customer-provided encryption key was requested,
14449 // the response will include this header confirming the encryption algorithm
14450 // used.
14451 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14452
14453 // If server-side encryption with a customer-provided encryption key was requested,
14454 // the response will include this header to provide round trip message integrity
14455 // verification of the customer-provided encryption key.
14456 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14457
14458 // If present, specifies the ID of the AWS Key Management Service (KMS) master
14459 // encryption key that was used for the object.
14460 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
14461
14462 // The Server-side encryption algorithm used when storing this object in S3
14463 // (e.g., AES256, aws:kms).
14464 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
14465
14466 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
14467
14468 // Version of the object.
14469 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
14470
14471 // If the bucket is configured as a website, redirects requests for this object
14472 // to another object in the same bucket or to an external URL. Amazon S3 stores
14473 // the value of this header in the object metadata.
14474 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
14475 }
14476
14477 // String returns the string representation
14478 func (s HeadObjectOutput) String() string {
14479 return awsutil.Prettify(s)
14480 }
14481
14482 // GoString returns the string representation
14483 func (s HeadObjectOutput) GoString() string {
14484 return s.String()
14485 }
14486
14487 // SetAcceptRanges sets the AcceptRanges field's value.
14488 func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
14489 s.AcceptRanges = &v
14490 return s
14491 }
14492
14493 // SetCacheControl sets the CacheControl field's value.
14494 func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
14495 s.CacheControl = &v
14496 return s
14497 }
14498
14499 // SetContentDisposition sets the ContentDisposition field's value.
14500 func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
14501 s.ContentDisposition = &v
14502 return s
14503 }
14504
14505 // SetContentEncoding sets the ContentEncoding field's value.
14506 func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput {
14507 s.ContentEncoding = &v
14508 return s
14509 }
14510
14511 // SetContentLanguage sets the ContentLanguage field's value.
14512 func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput {
14513 s.ContentLanguage = &v
14514 return s
14515 }
14516
14517 // SetContentLength sets the ContentLength field's value.
14518 func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput {
14519 s.ContentLength = &v
14520 return s
14521 }
14522
14523 // SetContentType sets the ContentType field's value.
14524 func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput {
14525 s.ContentType = &v
14526 return s
14527 }
14528
14529 // SetDeleteMarker sets the DeleteMarker field's value.
14530 func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput {
14531 s.DeleteMarker = &v
14532 return s
14533 }
14534
14535 // SetETag sets the ETag field's value.
14536 func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput {
14537 s.ETag = &v
14538 return s
14539 }
14540
14541 // SetExpiration sets the Expiration field's value.
14542 func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput {
14543 s.Expiration = &v
14544 return s
14545 }
14546
14547 // SetExpires sets the Expires field's value.
14548 func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput {
14549 s.Expires = &v
14550 return s
14551 }
14552
14553 // SetLastModified sets the LastModified field's value.
14554 func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput {
14555 s.LastModified = &v
14556 return s
14557 }
14558
14559 // SetMetadata sets the Metadata field's value.
14560 func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput {
14561 s.Metadata = v
14562 return s
14563 }
14564
14565 // SetMissingMeta sets the MissingMeta field's value.
14566 func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput {
14567 s.MissingMeta = &v
14568 return s
14569 }
14570
14571 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
14572 func (s *HeadObjectOutput) SetObjectLockLegalHoldStatus(v string) *HeadObjectOutput {
14573 s.ObjectLockLegalHoldStatus = &v
14574 return s
14575 }
14576
14577 // SetObjectLockMode sets the ObjectLockMode field's value.
14578 func (s *HeadObjectOutput) SetObjectLockMode(v string) *HeadObjectOutput {
14579 s.ObjectLockMode = &v
14580 return s
14581 }
14582
14583 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
14584 func (s *HeadObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *HeadObjectOutput {
14585 s.ObjectLockRetainUntilDate = &v
14586 return s
14587 }
14588
14589 // SetPartsCount sets the PartsCount field's value.
14590 func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput {
14591 s.PartsCount = &v
14592 return s
14593 }
14594
14595 // SetReplicationStatus sets the ReplicationStatus field's value.
14596 func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput {
14597 s.ReplicationStatus = &v
14598 return s
14599 }
14600
14601 // SetRequestCharged sets the RequestCharged field's value.
14602 func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput {
14603 s.RequestCharged = &v
14604 return s
14605 }
14606
14607 // SetRestore sets the Restore field's value.
14608 func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput {
14609 s.Restore = &v
14610 return s
14611 }
14612
14613 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14614 func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput {
14615 s.SSECustomerAlgorithm = &v
14616 return s
14617 }
14618
14619 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14620 func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput {
14621 s.SSECustomerKeyMD5 = &v
14622 return s
14623 }
14624
14625 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
14626 func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput {
14627 s.SSEKMSKeyId = &v
14628 return s
14629 }
14630
14631 // SetServerSideEncryption sets the ServerSideEncryption field's value.
14632 func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput {
14633 s.ServerSideEncryption = &v
14634 return s
14635 }
14636
14637 // SetStorageClass sets the StorageClass field's value.
14638 func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput {
14639 s.StorageClass = &v
14640 return s
14641 }
14642
14643 // SetVersionId sets the VersionId field's value.
14644 func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput {
14645 s.VersionId = &v
14646 return s
14647 }
14648
14649 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
14650 func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput {
14651 s.WebsiteRedirectLocation = &v
14652 return s
14653 }
14654
14655 type IndexDocument struct {
14656 _ struct{} `type:"structure"`
14657
14658 // A suffix that is appended to a request that is for a directory on the website
14659 // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
14660 // the data that is returned will be for the object with the key name images/index.html)
14661 // The suffix must not be empty and must not include a slash character.
14662 //
14663 // Suffix is a required field
14664 Suffix *string `type:"string" required:"true"`
14665 }
14666
14667 // String returns the string representation
14668 func (s IndexDocument) String() string {
14669 return awsutil.Prettify(s)
14670 }
14671
14672 // GoString returns the string representation
14673 func (s IndexDocument) GoString() string {
14674 return s.String()
14675 }
14676
14677 // Validate inspects the fields of the type to determine if they are valid.
14678 func (s *IndexDocument) Validate() error {
14679 invalidParams := request.ErrInvalidParams{Context: "IndexDocument"}
14680 if s.Suffix == nil {
14681 invalidParams.Add(request.NewErrParamRequired("Suffix"))
14682 }
14683
14684 if invalidParams.Len() > 0 {
14685 return invalidParams
14686 }
14687 return nil
14688 }
14689
14690 // SetSuffix sets the Suffix field's value.
14691 func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
14692 s.Suffix = &v
14693 return s
14694 }
14695
14696 type Initiator struct {
14697 _ struct{} `type:"structure"`
14698
14699 // Name of the Principal.
14700 DisplayName *string `type:"string"`
14701
14702 // If the principal is an AWS account, it provides the Canonical User ID. If
14703 // the principal is an IAM User, it provides a user ARN value.
14704 ID *string `type:"string"`
14705 }
14706
14707 // String returns the string representation
14708 func (s Initiator) String() string {
14709 return awsutil.Prettify(s)
14710 }
14711
14712 // GoString returns the string representation
14713 func (s Initiator) GoString() string {
14714 return s.String()
14715 }
14716
14717 // SetDisplayName sets the DisplayName field's value.
14718 func (s *Initiator) SetDisplayName(v string) *Initiator {
14719 s.DisplayName = &v
14720 return s
14721 }
14722
14723 // SetID sets the ID field's value.
14724 func (s *Initiator) SetID(v string) *Initiator {
14725 s.ID = &v
14726 return s
14727 }
14728
14729 // Describes the serialization format of the object.
14730 type InputSerialization struct {
14731 _ struct{} `type:"structure"`
14732
14733 // Describes the serialization of a CSV-encoded object.
14734 CSV *CSVInput `type:"structure"`
14735
14736 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default
14737 // Value: NONE.
14738 CompressionType *string `type:"string" enum:"CompressionType"`
14739
14740 // Specifies JSON as object's input serialization format.
14741 JSON *JSONInput `type:"structure"`
14742
14743 // Specifies Parquet as object's input serialization format.
14744 Parquet *ParquetInput `type:"structure"`
14745 }
14746
14747 // String returns the string representation
14748 func (s InputSerialization) String() string {
14749 return awsutil.Prettify(s)
14750 }
14751
14752 // GoString returns the string representation
14753 func (s InputSerialization) GoString() string {
14754 return s.String()
14755 }
14756
14757 // SetCSV sets the CSV field's value.
14758 func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
14759 s.CSV = v
14760 return s
14761 }
14762
14763 // SetCompressionType sets the CompressionType field's value.
14764 func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
14765 s.CompressionType = &v
14766 return s
14767 }
14768
14769 // SetJSON sets the JSON field's value.
14770 func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
14771 s.JSON = v
14772 return s
14773 }
14774
14775 // SetParquet sets the Parquet field's value.
14776 func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization {
14777 s.Parquet = v
14778 return s
14779 }
14780
14781 // Specifies the inventory configuration for an Amazon S3 bucket. For more information,
14782 // see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html)
14783 // in the Amazon Simple Storage Service API Reference.
14784 type InventoryConfiguration struct {
14785 _ struct{} `type:"structure"`
14786
14787 // Contains information about where to publish the inventory results.
14788 //
14789 // Destination is a required field
14790 Destination *InventoryDestination `type:"structure" required:"true"`
14791
14792 // Specifies an inventory filter. The inventory only includes objects that meet
14793 // the filter's criteria.
14794 Filter *InventoryFilter `type:"structure"`
14795
14796 // The ID used to identify the inventory configuration.
14797 //
14798 // Id is a required field
14799 Id *string `type:"string" required:"true"`
14800
14801 // Object versions to include in the inventory list. If set to All, the list
14802 // includes all the object versions, which adds the version-related fields VersionId,
14803 // IsLatest, and DeleteMarker to the list. If set to Current, the list does
14804 // not contain these version-related fields.
14805 //
14806 // IncludedObjectVersions is a required field
14807 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
14808
14809 // Specifies whether the inventory is enabled or disabled. If set to True, an
14810 // inventory list is generated. If set to False, no inventory list is generated.
14811 //
14812 // IsEnabled is a required field
14813 IsEnabled *bool `type:"boolean" required:"true"`
14814
14815 // Contains the optional fields that are included in the inventory results.
14816 OptionalFields []*string `locationNameList:"Field" type:"list"`
14817
14818 // Specifies the schedule for generating inventory results.
14819 //
14820 // Schedule is a required field
14821 Schedule *InventorySchedule `type:"structure" required:"true"`
14822 }
14823
14824 // String returns the string representation
14825 func (s InventoryConfiguration) String() string {
14826 return awsutil.Prettify(s)
14827 }
14828
14829 // GoString returns the string representation
14830 func (s InventoryConfiguration) GoString() string {
14831 return s.String()
14832 }
14833
14834 // Validate inspects the fields of the type to determine if they are valid.
14835 func (s *InventoryConfiguration) Validate() error {
14836 invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"}
14837 if s.Destination == nil {
14838 invalidParams.Add(request.NewErrParamRequired("Destination"))
14839 }
14840 if s.Id == nil {
14841 invalidParams.Add(request.NewErrParamRequired("Id"))
14842 }
14843 if s.IncludedObjectVersions == nil {
14844 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions"))
14845 }
14846 if s.IsEnabled == nil {
14847 invalidParams.Add(request.NewErrParamRequired("IsEnabled"))
14848 }
14849 if s.Schedule == nil {
14850 invalidParams.Add(request.NewErrParamRequired("Schedule"))
14851 }
14852 if s.Destination != nil {
14853 if err := s.Destination.Validate(); err != nil {
14854 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
14855 }
14856 }
14857 if s.Filter != nil {
14858 if err := s.Filter.Validate(); err != nil {
14859 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
14860 }
14861 }
14862 if s.Schedule != nil {
14863 if err := s.Schedule.Validate(); err != nil {
14864 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
14865 }
14866 }
14867
14868 if invalidParams.Len() > 0 {
14869 return invalidParams
14870 }
14871 return nil
14872 }
14873
14874 // SetDestination sets the Destination field's value.
14875 func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration {
14876 s.Destination = v
14877 return s
14878 }
14879
14880 // SetFilter sets the Filter field's value.
14881 func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration {
14882 s.Filter = v
14883 return s
14884 }
14885
14886 // SetId sets the Id field's value.
14887 func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration {
14888 s.Id = &v
14889 return s
14890 }
14891
14892 // SetIncludedObjectVersions sets the IncludedObjectVersions field's value.
14893 func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration {
14894 s.IncludedObjectVersions = &v
14895 return s
14896 }
14897
14898 // SetIsEnabled sets the IsEnabled field's value.
14899 func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration {
14900 s.IsEnabled = &v
14901 return s
14902 }
14903
14904 // SetOptionalFields sets the OptionalFields field's value.
14905 func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration {
14906 s.OptionalFields = v
14907 return s
14908 }
14909
14910 // SetSchedule sets the Schedule field's value.
14911 func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration {
14912 s.Schedule = v
14913 return s
14914 }
14915
14916 type InventoryDestination struct {
14917 _ struct{} `type:"structure"`
14918
14919 // Contains the bucket name, file format, bucket owner (optional), and prefix
14920 // (optional) where inventory results are published.
14921 //
14922 // S3BucketDestination is a required field
14923 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"`
14924 }
14925
14926 // String returns the string representation
14927 func (s InventoryDestination) String() string {
14928 return awsutil.Prettify(s)
14929 }
14930
14931 // GoString returns the string representation
14932 func (s InventoryDestination) GoString() string {
14933 return s.String()
14934 }
14935
14936 // Validate inspects the fields of the type to determine if they are valid.
14937 func (s *InventoryDestination) Validate() error {
14938 invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"}
14939 if s.S3BucketDestination == nil {
14940 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
14941 }
14942 if s.S3BucketDestination != nil {
14943 if err := s.S3BucketDestination.Validate(); err != nil {
14944 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
14945 }
14946 }
14947
14948 if invalidParams.Len() > 0 {
14949 return invalidParams
14950 }
14951 return nil
14952 }
14953
14954 // SetS3BucketDestination sets the S3BucketDestination field's value.
14955 func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination {
14956 s.S3BucketDestination = v
14957 return s
14958 }
14959
14960 // Contains the type of server-side encryption used to encrypt the inventory
14961 // results.
14962 type InventoryEncryption struct {
14963 _ struct{} `type:"structure"`
14964
14965 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
14966 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
14967
14968 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
14969 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
14970 }
14971
14972 // String returns the string representation
14973 func (s InventoryEncryption) String() string {
14974 return awsutil.Prettify(s)
14975 }
14976
14977 // GoString returns the string representation
14978 func (s InventoryEncryption) GoString() string {
14979 return s.String()
14980 }
14981
14982 // Validate inspects the fields of the type to determine if they are valid.
14983 func (s *InventoryEncryption) Validate() error {
14984 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"}
14985 if s.SSEKMS != nil {
14986 if err := s.SSEKMS.Validate(); err != nil {
14987 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams))
14988 }
14989 }
14990
14991 if invalidParams.Len() > 0 {
14992 return invalidParams
14993 }
14994 return nil
14995 }
14996
14997 // SetSSEKMS sets the SSEKMS field's value.
14998 func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
14999 s.SSEKMS = v
15000 return s
15001 }
15002
15003 // SetSSES3 sets the SSES3 field's value.
15004 func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
15005 s.SSES3 = v
15006 return s
15007 }
15008
15009 type InventoryFilter struct {
15010 _ struct{} `type:"structure"`
15011
15012 // The prefix that an object must have to be included in the inventory results.
15013 //
15014 // Prefix is a required field
15015 Prefix *string `type:"string" required:"true"`
15016 }
15017
15018 // String returns the string representation
15019 func (s InventoryFilter) String() string {
15020 return awsutil.Prettify(s)
15021 }
15022
15023 // GoString returns the string representation
15024 func (s InventoryFilter) GoString() string {
15025 return s.String()
15026 }
15027
15028 // Validate inspects the fields of the type to determine if they are valid.
15029 func (s *InventoryFilter) Validate() error {
15030 invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
15031 if s.Prefix == nil {
15032 invalidParams.Add(request.NewErrParamRequired("Prefix"))
15033 }
15034
15035 if invalidParams.Len() > 0 {
15036 return invalidParams
15037 }
15038 return nil
15039 }
15040
15041 // SetPrefix sets the Prefix field's value.
15042 func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
15043 s.Prefix = &v
15044 return s
15045 }
15046
15047 type InventoryS3BucketDestination struct {
15048 _ struct{} `type:"structure"`
15049
15050 // The ID of the account that owns the destination bucket.
15051 AccountId *string `type:"string"`
15052
15053 // The Amazon resource name (ARN) of the bucket where inventory results will
15054 // be published.
15055 //
15056 // Bucket is a required field
15057 Bucket *string `type:"string" required:"true"`
15058
15059 // Contains the type of server-side encryption used to encrypt the inventory
15060 // results.
15061 Encryption *InventoryEncryption `type:"structure"`
15062
15063 // Specifies the output format of the inventory results.
15064 //
15065 // Format is a required field
15066 Format *string `type:"string" required:"true" enum:"InventoryFormat"`
15067
15068 // The prefix that is prepended to all inventory results.
15069 Prefix *string `type:"string"`
15070 }
15071
15072 // String returns the string representation
15073 func (s InventoryS3BucketDestination) String() string {
15074 return awsutil.Prettify(s)
15075 }
15076
15077 // GoString returns the string representation
15078 func (s InventoryS3BucketDestination) GoString() string {
15079 return s.String()
15080 }
15081
15082 // Validate inspects the fields of the type to determine if they are valid.
15083 func (s *InventoryS3BucketDestination) Validate() error {
15084 invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"}
15085 if s.Bucket == nil {
15086 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15087 }
15088 if s.Format == nil {
15089 invalidParams.Add(request.NewErrParamRequired("Format"))
15090 }
15091 if s.Encryption != nil {
15092 if err := s.Encryption.Validate(); err != nil {
15093 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
15094 }
15095 }
15096
15097 if invalidParams.Len() > 0 {
15098 return invalidParams
15099 }
15100 return nil
15101 }
15102
15103 // SetAccountId sets the AccountId field's value.
15104 func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination {
15105 s.AccountId = &v
15106 return s
15107 }
15108
15109 // SetBucket sets the Bucket field's value.
15110 func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination {
15111 s.Bucket = &v
15112 return s
15113 }
15114
15115 func (s *InventoryS3BucketDestination) getBucket() (v string) {
15116 if s.Bucket == nil {
15117 return v
15118 }
15119 return *s.Bucket
15120 }
15121
15122 // SetEncryption sets the Encryption field's value.
15123 func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
15124 s.Encryption = v
15125 return s
15126 }
15127
15128 // SetFormat sets the Format field's value.
15129 func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
15130 s.Format = &v
15131 return s
15132 }
15133
15134 // SetPrefix sets the Prefix field's value.
15135 func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination {
15136 s.Prefix = &v
15137 return s
15138 }
15139
15140 type InventorySchedule struct {
15141 _ struct{} `type:"structure"`
15142
15143 // Specifies how frequently inventory results are produced.
15144 //
15145 // Frequency is a required field
15146 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"`
15147 }
15148
15149 // String returns the string representation
15150 func (s InventorySchedule) String() string {
15151 return awsutil.Prettify(s)
15152 }
15153
15154 // GoString returns the string representation
15155 func (s InventorySchedule) GoString() string {
15156 return s.String()
15157 }
15158
15159 // Validate inspects the fields of the type to determine if they are valid.
15160 func (s *InventorySchedule) Validate() error {
15161 invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"}
15162 if s.Frequency == nil {
15163 invalidParams.Add(request.NewErrParamRequired("Frequency"))
15164 }
15165
15166 if invalidParams.Len() > 0 {
15167 return invalidParams
15168 }
15169 return nil
15170 }
15171
15172 // SetFrequency sets the Frequency field's value.
15173 func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
15174 s.Frequency = &v
15175 return s
15176 }
15177
15178 type JSONInput struct {
15179 _ struct{} `type:"structure"`
15180
15181 // The type of JSON. Valid values: Document, Lines.
15182 Type *string `type:"string" enum:"JSONType"`
15183 }
15184
15185 // String returns the string representation
15186 func (s JSONInput) String() string {
15187 return awsutil.Prettify(s)
15188 }
15189
15190 // GoString returns the string representation
15191 func (s JSONInput) GoString() string {
15192 return s.String()
15193 }
15194
15195 // SetType sets the Type field's value.
15196 func (s *JSONInput) SetType(v string) *JSONInput {
15197 s.Type = &v
15198 return s
15199 }
15200
15201 type JSONOutput struct {
15202 _ struct{} `type:"structure"`
15203
15204 // The value used to separate individual records in the output.
15205 RecordDelimiter *string `type:"string"`
15206 }
15207
15208 // String returns the string representation
15209 func (s JSONOutput) String() string {
15210 return awsutil.Prettify(s)
15211 }
15212
15213 // GoString returns the string representation
15214 func (s JSONOutput) GoString() string {
15215 return s.String()
15216 }
15217
15218 // SetRecordDelimiter sets the RecordDelimiter field's value.
15219 func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
15220 s.RecordDelimiter = &v
15221 return s
15222 }
15223
15224 // A container for object key name prefix and suffix filtering rules.
15225 type KeyFilter struct {
15226 _ struct{} `type:"structure"`
15227
15228 // A list of containers for the key value pair that defines the criteria for
15229 // the filter rule.
15230 FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"`
15231 }
15232
15233 // String returns the string representation
15234 func (s KeyFilter) String() string {
15235 return awsutil.Prettify(s)
15236 }
15237
15238 // GoString returns the string representation
15239 func (s KeyFilter) GoString() string {
15240 return s.String()
15241 }
15242
15243 // SetFilterRules sets the FilterRules field's value.
15244 func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
15245 s.FilterRules = v
15246 return s
15247 }
15248
15249 // A container for specifying the configuration for AWS Lambda notifications.
15250 type LambdaFunctionConfiguration struct {
15251 _ struct{} `type:"structure"`
15252
15253 // The Amazon S3 bucket event for which to invoke the AWS Lambda function. For
15254 // more information, see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15255 // in the Amazon Simple Storage Service Developer Guide.
15256 //
15257 // Events is a required field
15258 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
15259
15260 // Specifies object key name filtering rules. For information about key name
15261 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15262 // in the Amazon Simple Storage Service Developer Guide.
15263 Filter *NotificationConfigurationFilter `type:"structure"`
15264
15265 // An optional unique identifier for configurations in a notification configuration.
15266 // If you don't provide one, Amazon S3 will assign an ID.
15267 Id *string `type:"string"`
15268
15269 // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3
15270 // invokes when the specified event type occurs.
15271 //
15272 // LambdaFunctionArn is a required field
15273 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
15274 }
15275
15276 // String returns the string representation
15277 func (s LambdaFunctionConfiguration) String() string {
15278 return awsutil.Prettify(s)
15279 }
15280
15281 // GoString returns the string representation
15282 func (s LambdaFunctionConfiguration) GoString() string {
15283 return s.String()
15284 }
15285
15286 // Validate inspects the fields of the type to determine if they are valid.
15287 func (s *LambdaFunctionConfiguration) Validate() error {
15288 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"}
15289 if s.Events == nil {
15290 invalidParams.Add(request.NewErrParamRequired("Events"))
15291 }
15292 if s.LambdaFunctionArn == nil {
15293 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
15294 }
15295
15296 if invalidParams.Len() > 0 {
15297 return invalidParams
15298 }
15299 return nil
15300 }
15301
15302 // SetEvents sets the Events field's value.
15303 func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration {
15304 s.Events = v
15305 return s
15306 }
15307
15308 // SetFilter sets the Filter field's value.
15309 func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration {
15310 s.Filter = v
15311 return s
15312 }
15313
15314 // SetId sets the Id field's value.
15315 func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration {
15316 s.Id = &v
15317 return s
15318 }
15319
15320 // SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
15321 func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration {
15322 s.LambdaFunctionArn = &v
15323 return s
15324 }
15325
15326 type LifecycleConfiguration struct {
15327 _ struct{} `type:"structure"`
15328
15329 // Rules is a required field
15330 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
15331 }
15332
15333 // String returns the string representation
15334 func (s LifecycleConfiguration) String() string {
15335 return awsutil.Prettify(s)
15336 }
15337
15338 // GoString returns the string representation
15339 func (s LifecycleConfiguration) GoString() string {
15340 return s.String()
15341 }
15342
15343 // Validate inspects the fields of the type to determine if they are valid.
15344 func (s *LifecycleConfiguration) Validate() error {
15345 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"}
15346 if s.Rules == nil {
15347 invalidParams.Add(request.NewErrParamRequired("Rules"))
15348 }
15349 if s.Rules != nil {
15350 for i, v := range s.Rules {
15351 if v == nil {
15352 continue
15353 }
15354 if err := v.Validate(); err != nil {
15355 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
15356 }
15357 }
15358 }
15359
15360 if invalidParams.Len() > 0 {
15361 return invalidParams
15362 }
15363 return nil
15364 }
15365
15366 // SetRules sets the Rules field's value.
15367 func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
15368 s.Rules = v
15369 return s
15370 }
15371
15372 type LifecycleExpiration struct {
15373 _ struct{} `type:"structure"`
15374
15375 // Indicates at what date the object is to be moved or deleted. Should be in
15376 // GMT ISO 8601 Format.
15377 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15378
15379 // Indicates the lifetime, in days, of the objects that are subject to the rule.
15380 // The value must be a non-zero positive integer.
15381 Days *int64 `type:"integer"`
15382
15383 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent
15384 // versions. If set to true, the delete marker will be expired; if set to false
15385 // the policy takes no action. This cannot be specified with Days or Date in
15386 // a Lifecycle Expiration Policy.
15387 ExpiredObjectDeleteMarker *bool `type:"boolean"`
15388 }
15389
15390 // String returns the string representation
15391 func (s LifecycleExpiration) String() string {
15392 return awsutil.Prettify(s)
15393 }
15394
15395 // GoString returns the string representation
15396 func (s LifecycleExpiration) GoString() string {
15397 return s.String()
15398 }
15399
15400 // SetDate sets the Date field's value.
15401 func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration {
15402 s.Date = &v
15403 return s
15404 }
15405
15406 // SetDays sets the Days field's value.
15407 func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration {
15408 s.Days = &v
15409 return s
15410 }
15411
15412 // SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
15413 func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration {
15414 s.ExpiredObjectDeleteMarker = &v
15415 return s
15416 }
15417
15418 type LifecycleRule struct {
15419 _ struct{} `type:"structure"`
15420
15421 // Specifies the days since the initiation of an incomplete multipart upload
15422 // that Amazon S3 will wait before permanently removing all parts of the upload.
15423 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
15424 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
15425 // in the Amazon Simple Storage Service Developer Guide.
15426 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
15427
15428 Expiration *LifecycleExpiration `type:"structure"`
15429
15430 // The Filter is used to identify objects that a Lifecycle Rule applies to.
15431 // A Filter must have exactly one of Prefix, Tag, or And specified.
15432 Filter *LifecycleRuleFilter `type:"structure"`
15433
15434 // Unique identifier for the rule. The value cannot be longer than 255 characters.
15435 ID *string `type:"string"`
15436
15437 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
15438 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
15439 // configuration action on a bucket that has versioning enabled (or suspended)
15440 // to request that Amazon S3 delete noncurrent object versions at a specific
15441 // period in the object's lifetime.
15442 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
15443
15444 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
15445
15446 // Prefix identifying one or more objects to which the rule applies. This is
15447 // No longer used; use Filter instead.
15448 //
15449 // Deprecated: Prefix has been deprecated
15450 Prefix *string `deprecated:"true" type:"string"`
15451
15452 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
15453 // is not currently being applied.
15454 //
15455 // Status is a required field
15456 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
15457
15458 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`
15459 }
15460
15461 // String returns the string representation
15462 func (s LifecycleRule) String() string {
15463 return awsutil.Prettify(s)
15464 }
15465
15466 // GoString returns the string representation
15467 func (s LifecycleRule) GoString() string {
15468 return s.String()
15469 }
15470
15471 // Validate inspects the fields of the type to determine if they are valid.
15472 func (s *LifecycleRule) Validate() error {
15473 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"}
15474 if s.Status == nil {
15475 invalidParams.Add(request.NewErrParamRequired("Status"))
15476 }
15477 if s.Filter != nil {
15478 if err := s.Filter.Validate(); err != nil {
15479 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
15480 }
15481 }
15482
15483 if invalidParams.Len() > 0 {
15484 return invalidParams
15485 }
15486 return nil
15487 }
15488
15489 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
15490 func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule {
15491 s.AbortIncompleteMultipartUpload = v
15492 return s
15493 }
15494
15495 // SetExpiration sets the Expiration field's value.
15496 func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule {
15497 s.Expiration = v
15498 return s
15499 }
15500
15501 // SetFilter sets the Filter field's value.
15502 func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule {
15503 s.Filter = v
15504 return s
15505 }
15506
15507 // SetID sets the ID field's value.
15508 func (s *LifecycleRule) SetID(v string) *LifecycleRule {
15509 s.ID = &v
15510 return s
15511 }
15512
15513 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
15514 func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule {
15515 s.NoncurrentVersionExpiration = v
15516 return s
15517 }
15518
15519 // SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
15520 func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule {
15521 s.NoncurrentVersionTransitions = v
15522 return s
15523 }
15524
15525 // SetPrefix sets the Prefix field's value.
15526 func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule {
15527 s.Prefix = &v
15528 return s
15529 }
15530
15531 // SetStatus sets the Status field's value.
15532 func (s *LifecycleRule) SetStatus(v string) *LifecycleRule {
15533 s.Status = &v
15534 return s
15535 }
15536
15537 // SetTransitions sets the Transitions field's value.
15538 func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
15539 s.Transitions = v
15540 return s
15541 }
15542
15543 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15544 // more predicates. The Lifecycle Rule will apply to any object matching all
15545 // of the predicates configured inside the And operator.
15546 type LifecycleRuleAndOperator struct {
15547 _ struct{} `type:"structure"`
15548
15549 Prefix *string `type:"string"`
15550
15551 // All of these tags must exist in the object's tag set in order for the rule
15552 // to apply.
15553 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
15554 }
15555
15556 // String returns the string representation
15557 func (s LifecycleRuleAndOperator) String() string {
15558 return awsutil.Prettify(s)
15559 }
15560
15561 // GoString returns the string representation
15562 func (s LifecycleRuleAndOperator) GoString() string {
15563 return s.String()
15564 }
15565
15566 // Validate inspects the fields of the type to determine if they are valid.
15567 func (s *LifecycleRuleAndOperator) Validate() error {
15568 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"}
15569 if s.Tags != nil {
15570 for i, v := range s.Tags {
15571 if v == nil {
15572 continue
15573 }
15574 if err := v.Validate(); err != nil {
15575 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15576 }
15577 }
15578 }
15579
15580 if invalidParams.Len() > 0 {
15581 return invalidParams
15582 }
15583 return nil
15584 }
15585
15586 // SetPrefix sets the Prefix field's value.
15587 func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
15588 s.Prefix = &v
15589 return s
15590 }
15591
15592 // SetTags sets the Tags field's value.
15593 func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
15594 s.Tags = v
15595 return s
15596 }
15597
15598 // The Filter is used to identify objects that a Lifecycle Rule applies to.
15599 // A Filter must have exactly one of Prefix, Tag, or And specified.
15600 type LifecycleRuleFilter struct {
15601 _ struct{} `type:"structure"`
15602
15603 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15604 // more predicates. The Lifecycle Rule will apply to any object matching all
15605 // of the predicates configured inside the And operator.
15606 And *LifecycleRuleAndOperator `type:"structure"`
15607
15608 // Prefix identifying one or more objects to which the rule applies.
15609 Prefix *string `type:"string"`
15610
15611 // This tag must exist in the object's tag set in order for the rule to apply.
15612 Tag *Tag `type:"structure"`
15613 }
15614
15615 // String returns the string representation
15616 func (s LifecycleRuleFilter) String() string {
15617 return awsutil.Prettify(s)
15618 }
15619
15620 // GoString returns the string representation
15621 func (s LifecycleRuleFilter) GoString() string {
15622 return s.String()
15623 }
15624
15625 // Validate inspects the fields of the type to determine if they are valid.
15626 func (s *LifecycleRuleFilter) Validate() error {
15627 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"}
15628 if s.And != nil {
15629 if err := s.And.Validate(); err != nil {
15630 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
15631 }
15632 }
15633 if s.Tag != nil {
15634 if err := s.Tag.Validate(); err != nil {
15635 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
15636 }
15637 }
15638
15639 if invalidParams.Len() > 0 {
15640 return invalidParams
15641 }
15642 return nil
15643 }
15644
15645 // SetAnd sets the And field's value.
15646 func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter {
15647 s.And = v
15648 return s
15649 }
15650
15651 // SetPrefix sets the Prefix field's value.
15652 func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
15653 s.Prefix = &v
15654 return s
15655 }
15656
15657 // SetTag sets the Tag field's value.
15658 func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
15659 s.Tag = v
15660 return s
15661 }
15662
15663 type ListBucketAnalyticsConfigurationsInput struct {
15664 _ struct{} `type:"structure"`
15665
15666 // The name of the bucket from which analytics configurations are retrieved.
15667 //
15668 // Bucket is a required field
15669 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15670
15671 // The ContinuationToken that represents a placeholder from where this request
15672 // should begin.
15673 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15674 }
15675
15676 // String returns the string representation
15677 func (s ListBucketAnalyticsConfigurationsInput) String() string {
15678 return awsutil.Prettify(s)
15679 }
15680
15681 // GoString returns the string representation
15682 func (s ListBucketAnalyticsConfigurationsInput) GoString() string {
15683 return s.String()
15684 }
15685
15686 // Validate inspects the fields of the type to determine if they are valid.
15687 func (s *ListBucketAnalyticsConfigurationsInput) Validate() error {
15688 invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"}
15689 if s.Bucket == nil {
15690 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15691 }
15692 if s.Bucket != nil && len(*s.Bucket) < 1 {
15693 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15694 }
15695
15696 if invalidParams.Len() > 0 {
15697 return invalidParams
15698 }
15699 return nil
15700 }
15701
15702 // SetBucket sets the Bucket field's value.
15703 func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput {
15704 s.Bucket = &v
15705 return s
15706 }
15707
15708 func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
15709 if s.Bucket == nil {
15710 return v
15711 }
15712 return *s.Bucket
15713 }
15714
15715 // SetContinuationToken sets the ContinuationToken field's value.
15716 func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
15717 s.ContinuationToken = &v
15718 return s
15719 }
15720
15721 type ListBucketAnalyticsConfigurationsOutput struct {
15722 _ struct{} `type:"structure"`
15723
15724 // The list of analytics configurations for a bucket.
15725 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"`
15726
15727 // The ContinuationToken that represents where this request began.
15728 ContinuationToken *string `type:"string"`
15729
15730 // Indicates whether the returned list of analytics configurations is complete.
15731 // A value of true indicates that the list is not complete and the NextContinuationToken
15732 // will be provided for a subsequent request.
15733 IsTruncated *bool `type:"boolean"`
15734
15735 // NextContinuationToken is sent when isTruncated is true, which indicates that
15736 // there are more analytics configurations to list. The next request must include
15737 // this NextContinuationToken. The token is obfuscated and is not a usable value.
15738 NextContinuationToken *string `type:"string"`
15739 }
15740
15741 // String returns the string representation
15742 func (s ListBucketAnalyticsConfigurationsOutput) String() string {
15743 return awsutil.Prettify(s)
15744 }
15745
15746 // GoString returns the string representation
15747 func (s ListBucketAnalyticsConfigurationsOutput) GoString() string {
15748 return s.String()
15749 }
15750
15751 // SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value.
15752 func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput {
15753 s.AnalyticsConfigurationList = v
15754 return s
15755 }
15756
15757 // SetContinuationToken sets the ContinuationToken field's value.
15758 func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15759 s.ContinuationToken = &v
15760 return s
15761 }
15762
15763 // SetIsTruncated sets the IsTruncated field's value.
15764 func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput {
15765 s.IsTruncated = &v
15766 return s
15767 }
15768
15769 // SetNextContinuationToken sets the NextContinuationToken field's value.
15770 func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15771 s.NextContinuationToken = &v
15772 return s
15773 }
15774
15775 type ListBucketInventoryConfigurationsInput struct {
15776 _ struct{} `type:"structure"`
15777
15778 // The name of the bucket containing the inventory configurations to retrieve.
15779 //
15780 // Bucket is a required field
15781 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15782
15783 // The marker used to continue an inventory configuration listing that has been
15784 // truncated. Use the NextContinuationToken from a previously truncated list
15785 // response to continue the listing. The continuation token is an opaque value
15786 // that Amazon S3 understands.
15787 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15788 }
15789
15790 // String returns the string representation
15791 func (s ListBucketInventoryConfigurationsInput) String() string {
15792 return awsutil.Prettify(s)
15793 }
15794
15795 // GoString returns the string representation
15796 func (s ListBucketInventoryConfigurationsInput) GoString() string {
15797 return s.String()
15798 }
15799
15800 // Validate inspects the fields of the type to determine if they are valid.
15801 func (s *ListBucketInventoryConfigurationsInput) Validate() error {
15802 invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"}
15803 if s.Bucket == nil {
15804 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15805 }
15806 if s.Bucket != nil && len(*s.Bucket) < 1 {
15807 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15808 }
15809
15810 if invalidParams.Len() > 0 {
15811 return invalidParams
15812 }
15813 return nil
15814 }
15815
15816 // SetBucket sets the Bucket field's value.
15817 func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput {
15818 s.Bucket = &v
15819 return s
15820 }
15821
15822 func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
15823 if s.Bucket == nil {
15824 return v
15825 }
15826 return *s.Bucket
15827 }
15828
15829 // SetContinuationToken sets the ContinuationToken field's value.
15830 func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
15831 s.ContinuationToken = &v
15832 return s
15833 }
15834
15835 type ListBucketInventoryConfigurationsOutput struct {
15836 _ struct{} `type:"structure"`
15837
15838 // If sent in the request, the marker that is used as a starting point for this
15839 // inventory configuration list response.
15840 ContinuationToken *string `type:"string"`
15841
15842 // The list of inventory configurations for a bucket.
15843 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`
15844
15845 // Indicates whether the returned list of inventory configurations is truncated
15846 // in this response. A value of true indicates that the list is truncated.
15847 IsTruncated *bool `type:"boolean"`
15848
15849 // The marker used to continue this inventory configuration listing. Use the
15850 // NextContinuationToken from this response to continue the listing in a subsequent
15851 // request. The continuation token is an opaque value that Amazon S3 understands.
15852 NextContinuationToken *string `type:"string"`
15853 }
15854
15855 // String returns the string representation
15856 func (s ListBucketInventoryConfigurationsOutput) String() string {
15857 return awsutil.Prettify(s)
15858 }
15859
15860 // GoString returns the string representation
15861 func (s ListBucketInventoryConfigurationsOutput) GoString() string {
15862 return s.String()
15863 }
15864
15865 // SetContinuationToken sets the ContinuationToken field's value.
15866 func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15867 s.ContinuationToken = &v
15868 return s
15869 }
15870
15871 // SetInventoryConfigurationList sets the InventoryConfigurationList field's value.
15872 func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput {
15873 s.InventoryConfigurationList = v
15874 return s
15875 }
15876
15877 // SetIsTruncated sets the IsTruncated field's value.
15878 func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput {
15879 s.IsTruncated = &v
15880 return s
15881 }
15882
15883 // SetNextContinuationToken sets the NextContinuationToken field's value.
15884 func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15885 s.NextContinuationToken = &v
15886 return s
15887 }
15888
15889 type ListBucketMetricsConfigurationsInput struct {
15890 _ struct{} `type:"structure"`
15891
15892 // The name of the bucket containing the metrics configurations to retrieve.
15893 //
15894 // Bucket is a required field
15895 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15896
15897 // The marker that is used to continue a metrics configuration listing that
15898 // has been truncated. Use the NextContinuationToken from a previously truncated
15899 // list response to continue the listing. The continuation token is an opaque
15900 // value that Amazon S3 understands.
15901 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15902 }
15903
15904 // String returns the string representation
15905 func (s ListBucketMetricsConfigurationsInput) String() string {
15906 return awsutil.Prettify(s)
15907 }
15908
15909 // GoString returns the string representation
15910 func (s ListBucketMetricsConfigurationsInput) GoString() string {
15911 return s.String()
15912 }
15913
15914 // Validate inspects the fields of the type to determine if they are valid.
15915 func (s *ListBucketMetricsConfigurationsInput) Validate() error {
15916 invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"}
15917 if s.Bucket == nil {
15918 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15919 }
15920 if s.Bucket != nil && len(*s.Bucket) < 1 {
15921 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15922 }
15923
15924 if invalidParams.Len() > 0 {
15925 return invalidParams
15926 }
15927 return nil
15928 }
15929
15930 // SetBucket sets the Bucket field's value.
15931 func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput {
15932 s.Bucket = &v
15933 return s
15934 }
15935
15936 func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
15937 if s.Bucket == nil {
15938 return v
15939 }
15940 return *s.Bucket
15941 }
15942
15943 // SetContinuationToken sets the ContinuationToken field's value.
15944 func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
15945 s.ContinuationToken = &v
15946 return s
15947 }
15948
15949 type ListBucketMetricsConfigurationsOutput struct {
15950 _ struct{} `type:"structure"`
15951
15952 // The marker that is used as a starting point for this metrics configuration
15953 // list response. This value is present if it was sent in the request.
15954 ContinuationToken *string `type:"string"`
15955
15956 // Indicates whether the returned list of metrics configurations is complete.
15957 // A value of true indicates that the list is not complete and the NextContinuationToken
15958 // will be provided for a subsequent request.
15959 IsTruncated *bool `type:"boolean"`
15960
15961 // The list of metrics configurations for a bucket.
15962 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"`
15963
15964 // The marker used to continue a metrics configuration listing that has been
15965 // truncated. Use the NextContinuationToken from a previously truncated list
15966 // response to continue the listing. The continuation token is an opaque value
15967 // that Amazon S3 understands.
15968 NextContinuationToken *string `type:"string"`
15969 }
15970
15971 // String returns the string representation
15972 func (s ListBucketMetricsConfigurationsOutput) String() string {
15973 return awsutil.Prettify(s)
15974 }
15975
15976 // GoString returns the string representation
15977 func (s ListBucketMetricsConfigurationsOutput) GoString() string {
15978 return s.String()
15979 }
15980
15981 // SetContinuationToken sets the ContinuationToken field's value.
15982 func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
15983 s.ContinuationToken = &v
15984 return s
15985 }
15986
15987 // SetIsTruncated sets the IsTruncated field's value.
15988 func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput {
15989 s.IsTruncated = &v
15990 return s
15991 }
15992
15993 // SetMetricsConfigurationList sets the MetricsConfigurationList field's value.
15994 func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput {
15995 s.MetricsConfigurationList = v
15996 return s
15997 }
15998
15999 // SetNextContinuationToken sets the NextContinuationToken field's value.
16000 func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
16001 s.NextContinuationToken = &v
16002 return s
16003 }
16004
16005 type ListBucketsInput struct {
16006 _ struct{} `type:"structure"`
16007 }
16008
16009 // String returns the string representation
16010 func (s ListBucketsInput) String() string {
16011 return awsutil.Prettify(s)
16012 }
16013
16014 // GoString returns the string representation
16015 func (s ListBucketsInput) GoString() string {
16016 return s.String()
16017 }
16018
16019 type ListBucketsOutput struct {
16020 _ struct{} `type:"structure"`
16021
16022 Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
16023
16024 Owner *Owner `type:"structure"`
16025 }
16026
16027 // String returns the string representation
16028 func (s ListBucketsOutput) String() string {
16029 return awsutil.Prettify(s)
16030 }
16031
16032 // GoString returns the string representation
16033 func (s ListBucketsOutput) GoString() string {
16034 return s.String()
16035 }
16036
16037 // SetBuckets sets the Buckets field's value.
16038 func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput {
16039 s.Buckets = v
16040 return s
16041 }
16042
16043 // SetOwner sets the Owner field's value.
16044 func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
16045 s.Owner = v
16046 return s
16047 }
16048
16049 type ListMultipartUploadsInput struct {
16050 _ struct{} `type:"structure"`
16051
16052 // Bucket is a required field
16053 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16054
16055 // Character you use to group keys.
16056 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16057
16058 // Requests Amazon S3 to encode the object keys in the response and specifies
16059 // the encoding method to use. An object key may contain any Unicode character;
16060 // however, XML 1.0 parser cannot parse some characters, such as characters
16061 // with an ASCII value from 0 to 10. For characters that are not supported in
16062 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16063 // keys in the response.
16064 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16065
16066 // Together with upload-id-marker, this parameter specifies the multipart upload
16067 // after which listing should begin.
16068 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
16069
16070 // Sets the maximum number of multipart uploads, from 1 to 1,000, to return
16071 // in the response body. 1,000 is the maximum number of uploads that can be
16072 // returned in a response.
16073 MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"`
16074
16075 // Lists in-progress uploads only for those keys that begin with the specified
16076 // prefix.
16077 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16078
16079 // Together with key-marker, specifies the multipart upload after which listing
16080 // should begin. If key-marker is not specified, the upload-id-marker parameter
16081 // is ignored.
16082 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`
16083 }
16084
16085 // String returns the string representation
16086 func (s ListMultipartUploadsInput) String() string {
16087 return awsutil.Prettify(s)
16088 }
16089
16090 // GoString returns the string representation
16091 func (s ListMultipartUploadsInput) GoString() string {
16092 return s.String()
16093 }
16094
16095 // Validate inspects the fields of the type to determine if they are valid.
16096 func (s *ListMultipartUploadsInput) Validate() error {
16097 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"}
16098 if s.Bucket == nil {
16099 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16100 }
16101 if s.Bucket != nil && len(*s.Bucket) < 1 {
16102 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16103 }
16104
16105 if invalidParams.Len() > 0 {
16106 return invalidParams
16107 }
16108 return nil
16109 }
16110
16111 // SetBucket sets the Bucket field's value.
16112 func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput {
16113 s.Bucket = &v
16114 return s
16115 }
16116
16117 func (s *ListMultipartUploadsInput) getBucket() (v string) {
16118 if s.Bucket == nil {
16119 return v
16120 }
16121 return *s.Bucket
16122 }
16123
16124 // SetDelimiter sets the Delimiter field's value.
16125 func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
16126 s.Delimiter = &v
16127 return s
16128 }
16129
16130 // SetEncodingType sets the EncodingType field's value.
16131 func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput {
16132 s.EncodingType = &v
16133 return s
16134 }
16135
16136 // SetKeyMarker sets the KeyMarker field's value.
16137 func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput {
16138 s.KeyMarker = &v
16139 return s
16140 }
16141
16142 // SetMaxUploads sets the MaxUploads field's value.
16143 func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput {
16144 s.MaxUploads = &v
16145 return s
16146 }
16147
16148 // SetPrefix sets the Prefix field's value.
16149 func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput {
16150 s.Prefix = &v
16151 return s
16152 }
16153
16154 // SetUploadIdMarker sets the UploadIdMarker field's value.
16155 func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput {
16156 s.UploadIdMarker = &v
16157 return s
16158 }
16159
16160 type ListMultipartUploadsOutput struct {
16161 _ struct{} `type:"structure"`
16162
16163 // Name of the bucket to which the multipart upload was initiated.
16164 Bucket *string `type:"string"`
16165
16166 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16167
16168 Delimiter *string `type:"string"`
16169
16170 // Encoding type used by Amazon S3 to encode object keys in the response.
16171 EncodingType *string `type:"string" enum:"EncodingType"`
16172
16173 // Indicates whether the returned list of multipart uploads is truncated. A
16174 // value of true indicates that the list was truncated. The list can be truncated
16175 // if the number of multipart uploads exceeds the limit allowed or specified
16176 // by max uploads.
16177 IsTruncated *bool `type:"boolean"`
16178
16179 // The key at or after which the listing began.
16180 KeyMarker *string `type:"string"`
16181
16182 // Maximum number of multipart uploads that could have been included in the
16183 // response.
16184 MaxUploads *int64 `type:"integer"`
16185
16186 // When a list is truncated, this element specifies the value that should be
16187 // used for the key-marker request parameter in a subsequent request.
16188 NextKeyMarker *string `type:"string"`
16189
16190 // When a list is truncated, this element specifies the value that should be
16191 // used for the upload-id-marker request parameter in a subsequent request.
16192 NextUploadIdMarker *string `type:"string"`
16193
16194 // When a prefix is provided in the request, this field contains the specified
16195 // prefix. The result contains only keys starting with the specified prefix.
16196 Prefix *string `type:"string"`
16197
16198 // Upload ID after which listing began.
16199 UploadIdMarker *string `type:"string"`
16200
16201 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`
16202 }
16203
16204 // String returns the string representation
16205 func (s ListMultipartUploadsOutput) String() string {
16206 return awsutil.Prettify(s)
16207 }
16208
16209 // GoString returns the string representation
16210 func (s ListMultipartUploadsOutput) GoString() string {
16211 return s.String()
16212 }
16213
16214 // SetBucket sets the Bucket field's value.
16215 func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput {
16216 s.Bucket = &v
16217 return s
16218 }
16219
16220 func (s *ListMultipartUploadsOutput) getBucket() (v string) {
16221 if s.Bucket == nil {
16222 return v
16223 }
16224 return *s.Bucket
16225 }
16226
16227 // SetCommonPrefixes sets the CommonPrefixes field's value.
16228 func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
16229 s.CommonPrefixes = v
16230 return s
16231 }
16232
16233 // SetDelimiter sets the Delimiter field's value.
16234 func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput {
16235 s.Delimiter = &v
16236 return s
16237 }
16238
16239 // SetEncodingType sets the EncodingType field's value.
16240 func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput {
16241 s.EncodingType = &v
16242 return s
16243 }
16244
16245 // SetIsTruncated sets the IsTruncated field's value.
16246 func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput {
16247 s.IsTruncated = &v
16248 return s
16249 }
16250
16251 // SetKeyMarker sets the KeyMarker field's value.
16252 func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput {
16253 s.KeyMarker = &v
16254 return s
16255 }
16256
16257 // SetMaxUploads sets the MaxUploads field's value.
16258 func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput {
16259 s.MaxUploads = &v
16260 return s
16261 }
16262
16263 // SetNextKeyMarker sets the NextKeyMarker field's value.
16264 func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput {
16265 s.NextKeyMarker = &v
16266 return s
16267 }
16268
16269 // SetNextUploadIdMarker sets the NextUploadIdMarker field's value.
16270 func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput {
16271 s.NextUploadIdMarker = &v
16272 return s
16273 }
16274
16275 // SetPrefix sets the Prefix field's value.
16276 func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput {
16277 s.Prefix = &v
16278 return s
16279 }
16280
16281 // SetUploadIdMarker sets the UploadIdMarker field's value.
16282 func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput {
16283 s.UploadIdMarker = &v
16284 return s
16285 }
16286
16287 // SetUploads sets the Uploads field's value.
16288 func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput {
16289 s.Uploads = v
16290 return s
16291 }
16292
16293 type ListObjectVersionsInput struct {
16294 _ struct{} `type:"structure"`
16295
16296 // Bucket is a required field
16297 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16298
16299 // A delimiter is a character you use to group keys.
16300 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16301
16302 // Requests Amazon S3 to encode the object keys in the response and specifies
16303 // the encoding method to use. An object key may contain any Unicode character;
16304 // however, XML 1.0 parser cannot parse some characters, such as characters
16305 // with an ASCII value from 0 to 10. For characters that are not supported in
16306 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16307 // keys in the response.
16308 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16309
16310 // Specifies the key to start with when listing objects in a bucket.
16311 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
16312
16313 // Sets the maximum number of keys returned in the response. The response might
16314 // contain fewer keys but will never contain more.
16315 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16316
16317 // Limits the response to keys that begin with the specified prefix.
16318 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16319
16320 // Specifies the object version you want to start listing from.
16321 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`
16322 }
16323
16324 // String returns the string representation
16325 func (s ListObjectVersionsInput) String() string {
16326 return awsutil.Prettify(s)
16327 }
16328
16329 // GoString returns the string representation
16330 func (s ListObjectVersionsInput) GoString() string {
16331 return s.String()
16332 }
16333
16334 // Validate inspects the fields of the type to determine if they are valid.
16335 func (s *ListObjectVersionsInput) Validate() error {
16336 invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"}
16337 if s.Bucket == nil {
16338 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16339 }
16340 if s.Bucket != nil && len(*s.Bucket) < 1 {
16341 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16342 }
16343
16344 if invalidParams.Len() > 0 {
16345 return invalidParams
16346 }
16347 return nil
16348 }
16349
16350 // SetBucket sets the Bucket field's value.
16351 func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
16352 s.Bucket = &v
16353 return s
16354 }
16355
16356 func (s *ListObjectVersionsInput) getBucket() (v string) {
16357 if s.Bucket == nil {
16358 return v
16359 }
16360 return *s.Bucket
16361 }
16362
16363 // SetDelimiter sets the Delimiter field's value.
16364 func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
16365 s.Delimiter = &v
16366 return s
16367 }
16368
16369 // SetEncodingType sets the EncodingType field's value.
16370 func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput {
16371 s.EncodingType = &v
16372 return s
16373 }
16374
16375 // SetKeyMarker sets the KeyMarker field's value.
16376 func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput {
16377 s.KeyMarker = &v
16378 return s
16379 }
16380
16381 // SetMaxKeys sets the MaxKeys field's value.
16382 func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput {
16383 s.MaxKeys = &v
16384 return s
16385 }
16386
16387 // SetPrefix sets the Prefix field's value.
16388 func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput {
16389 s.Prefix = &v
16390 return s
16391 }
16392
16393 // SetVersionIdMarker sets the VersionIdMarker field's value.
16394 func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput {
16395 s.VersionIdMarker = &v
16396 return s
16397 }
16398
16399 type ListObjectVersionsOutput struct {
16400 _ struct{} `type:"structure"`
16401
16402 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16403
16404 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
16405
16406 Delimiter *string `type:"string"`
16407
16408 // Encoding type used by Amazon S3 to encode object keys in the response.
16409 EncodingType *string `type:"string" enum:"EncodingType"`
16410
16411 // A flag that indicates whether or not Amazon S3 returned all of the results
16412 // that satisfied the search criteria. If your results were truncated, you can
16413 // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
16414 // response parameters as a starting place in another request to return the
16415 // rest of the results.
16416 IsTruncated *bool `type:"boolean"`
16417
16418 // Marks the last Key returned in a truncated response.
16419 KeyMarker *string `type:"string"`
16420
16421 MaxKeys *int64 `type:"integer"`
16422
16423 Name *string `type:"string"`
16424
16425 // Use this value for the key marker request parameter in a subsequent request.
16426 NextKeyMarker *string `type:"string"`
16427
16428 // Use this value for the next version id marker parameter in a subsequent request.
16429 NextVersionIdMarker *string `type:"string"`
16430
16431 Prefix *string `type:"string"`
16432
16433 VersionIdMarker *string `type:"string"`
16434
16435 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`
16436 }
16437
16438 // String returns the string representation
16439 func (s ListObjectVersionsOutput) String() string {
16440 return awsutil.Prettify(s)
16441 }
16442
16443 // GoString returns the string representation
16444 func (s ListObjectVersionsOutput) GoString() string {
16445 return s.String()
16446 }
16447
16448 // SetCommonPrefixes sets the CommonPrefixes field's value.
16449 func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput {
16450 s.CommonPrefixes = v
16451 return s
16452 }
16453
16454 // SetDeleteMarkers sets the DeleteMarkers field's value.
16455 func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput {
16456 s.DeleteMarkers = v
16457 return s
16458 }
16459
16460 // SetDelimiter sets the Delimiter field's value.
16461 func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput {
16462 s.Delimiter = &v
16463 return s
16464 }
16465
16466 // SetEncodingType sets the EncodingType field's value.
16467 func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput {
16468 s.EncodingType = &v
16469 return s
16470 }
16471
16472 // SetIsTruncated sets the IsTruncated field's value.
16473 func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput {
16474 s.IsTruncated = &v
16475 return s
16476 }
16477
16478 // SetKeyMarker sets the KeyMarker field's value.
16479 func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput {
16480 s.KeyMarker = &v
16481 return s
16482 }
16483
16484 // SetMaxKeys sets the MaxKeys field's value.
16485 func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput {
16486 s.MaxKeys = &v
16487 return s
16488 }
16489
16490 // SetName sets the Name field's value.
16491 func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput {
16492 s.Name = &v
16493 return s
16494 }
16495
16496 // SetNextKeyMarker sets the NextKeyMarker field's value.
16497 func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput {
16498 s.NextKeyMarker = &v
16499 return s
16500 }
16501
16502 // SetNextVersionIdMarker sets the NextVersionIdMarker field's value.
16503 func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput {
16504 s.NextVersionIdMarker = &v
16505 return s
16506 }
16507
16508 // SetPrefix sets the Prefix field's value.
16509 func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput {
16510 s.Prefix = &v
16511 return s
16512 }
16513
16514 // SetVersionIdMarker sets the VersionIdMarker field's value.
16515 func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput {
16516 s.VersionIdMarker = &v
16517 return s
16518 }
16519
16520 // SetVersions sets the Versions field's value.
16521 func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput {
16522 s.Versions = v
16523 return s
16524 }
16525
16526 type ListObjectsInput struct {
16527 _ struct{} `type:"structure"`
16528
16529 // Bucket is a required field
16530 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16531
16532 // A delimiter is a character you use to group keys.
16533 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16534
16535 // Requests Amazon S3 to encode the object keys in the response and specifies
16536 // the encoding method to use. An object key may contain any Unicode character;
16537 // however, XML 1.0 parser cannot parse some characters, such as characters
16538 // with an ASCII value from 0 to 10. For characters that are not supported in
16539 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16540 // keys in the response.
16541 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16542
16543 // Specifies the key to start with when listing objects in a bucket.
16544 Marker *string `location:"querystring" locationName:"marker" type:"string"`
16545
16546 // Sets the maximum number of keys returned in the response. The response might
16547 // contain fewer keys but will never contain more.
16548 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16549
16550 // Limits the response to keys that begin with the specified prefix.
16551 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16552
16553 // Confirms that the requester knows that she or he will be charged for the
16554 // list objects request. Bucket owners need not specify this parameter in their
16555 // requests.
16556 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16557 }
16558
16559 // String returns the string representation
16560 func (s ListObjectsInput) String() string {
16561 return awsutil.Prettify(s)
16562 }
16563
16564 // GoString returns the string representation
16565 func (s ListObjectsInput) GoString() string {
16566 return s.String()
16567 }
16568
16569 // Validate inspects the fields of the type to determine if they are valid.
16570 func (s *ListObjectsInput) Validate() error {
16571 invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"}
16572 if s.Bucket == nil {
16573 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16574 }
16575 if s.Bucket != nil && len(*s.Bucket) < 1 {
16576 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16577 }
16578
16579 if invalidParams.Len() > 0 {
16580 return invalidParams
16581 }
16582 return nil
16583 }
16584
16585 // SetBucket sets the Bucket field's value.
16586 func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
16587 s.Bucket = &v
16588 return s
16589 }
16590
16591 func (s *ListObjectsInput) getBucket() (v string) {
16592 if s.Bucket == nil {
16593 return v
16594 }
16595 return *s.Bucket
16596 }
16597
16598 // SetDelimiter sets the Delimiter field's value.
16599 func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
16600 s.Delimiter = &v
16601 return s
16602 }
16603
16604 // SetEncodingType sets the EncodingType field's value.
16605 func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput {
16606 s.EncodingType = &v
16607 return s
16608 }
16609
16610 // SetMarker sets the Marker field's value.
16611 func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput {
16612 s.Marker = &v
16613 return s
16614 }
16615
16616 // SetMaxKeys sets the MaxKeys field's value.
16617 func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput {
16618 s.MaxKeys = &v
16619 return s
16620 }
16621
16622 // SetPrefix sets the Prefix field's value.
16623 func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput {
16624 s.Prefix = &v
16625 return s
16626 }
16627
16628 // SetRequestPayer sets the RequestPayer field's value.
16629 func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
16630 s.RequestPayer = &v
16631 return s
16632 }
16633
16634 type ListObjectsOutput struct {
16635 _ struct{} `type:"structure"`
16636
16637 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16638
16639 Contents []*Object `type:"list" flattened:"true"`
16640
16641 Delimiter *string `type:"string"`
16642
16643 // Encoding type used by Amazon S3 to encode object keys in the response.
16644 EncodingType *string `type:"string" enum:"EncodingType"`
16645
16646 // A flag that indicates whether or not Amazon S3 returned all of the results
16647 // that satisfied the search criteria.
16648 IsTruncated *bool `type:"boolean"`
16649
16650 Marker *string `type:"string"`
16651
16652 MaxKeys *int64 `type:"integer"`
16653
16654 Name *string `type:"string"`
16655
16656 // When response is truncated (the IsTruncated element value in the response
16657 // is true), you can use the key name in this field as marker in the subsequent
16658 // request to get next set of objects. Amazon S3 lists objects in alphabetical
16659 // order Note: This element is returned only if you have delimiter request parameter
16660 // specified. If response does not include the NextMaker and it is truncated,
16661 // you can use the value of the last Key in the response as the marker in the
16662 // subsequent request to get the next set of object keys.
16663 NextMarker *string `type:"string"`
16664
16665 Prefix *string `type:"string"`
16666 }
16667
16668 // String returns the string representation
16669 func (s ListObjectsOutput) String() string {
16670 return awsutil.Prettify(s)
16671 }
16672
16673 // GoString returns the string representation
16674 func (s ListObjectsOutput) GoString() string {
16675 return s.String()
16676 }
16677
16678 // SetCommonPrefixes sets the CommonPrefixes field's value.
16679 func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput {
16680 s.CommonPrefixes = v
16681 return s
16682 }
16683
16684 // SetContents sets the Contents field's value.
16685 func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput {
16686 s.Contents = v
16687 return s
16688 }
16689
16690 // SetDelimiter sets the Delimiter field's value.
16691 func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput {
16692 s.Delimiter = &v
16693 return s
16694 }
16695
16696 // SetEncodingType sets the EncodingType field's value.
16697 func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput {
16698 s.EncodingType = &v
16699 return s
16700 }
16701
16702 // SetIsTruncated sets the IsTruncated field's value.
16703 func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput {
16704 s.IsTruncated = &v
16705 return s
16706 }
16707
16708 // SetMarker sets the Marker field's value.
16709 func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput {
16710 s.Marker = &v
16711 return s
16712 }
16713
16714 // SetMaxKeys sets the MaxKeys field's value.
16715 func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput {
16716 s.MaxKeys = &v
16717 return s
16718 }
16719
16720 // SetName sets the Name field's value.
16721 func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput {
16722 s.Name = &v
16723 return s
16724 }
16725
16726 // SetNextMarker sets the NextMarker field's value.
16727 func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput {
16728 s.NextMarker = &v
16729 return s
16730 }
16731
16732 // SetPrefix sets the Prefix field's value.
16733 func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
16734 s.Prefix = &v
16735 return s
16736 }
16737
16738 type ListObjectsV2Input struct {
16739 _ struct{} `type:"structure"`
16740
16741 // Name of the bucket to list.
16742 //
16743 // Bucket is a required field
16744 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16745
16746 // ContinuationToken indicates Amazon S3 that the list is being continued on
16747 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16748 // key
16749 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
16750
16751 // A delimiter is a character you use to group keys.
16752 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16753
16754 // Encoding type used by Amazon S3 to encode object keys in the response.
16755 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16756
16757 // The owner field is not present in listV2 by default, if you want to return
16758 // owner field with each key in the result then set the fetch owner field to
16759 // true
16760 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
16761
16762 // Sets the maximum number of keys returned in the response. The response might
16763 // contain fewer keys but will never contain more.
16764 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16765
16766 // Limits the response to keys that begin with the specified prefix.
16767 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16768
16769 // Confirms that the requester knows that she or he will be charged for the
16770 // list objects request in V2 style. Bucket owners need not specify this parameter
16771 // in their requests.
16772 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16773
16774 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16775 // listing after this specified key. StartAfter can be any key in the bucket
16776 StartAfter *string `location:"querystring" locationName:"start-after" type:"string"`
16777 }
16778
16779 // String returns the string representation
16780 func (s ListObjectsV2Input) String() string {
16781 return awsutil.Prettify(s)
16782 }
16783
16784 // GoString returns the string representation
16785 func (s ListObjectsV2Input) GoString() string {
16786 return s.String()
16787 }
16788
16789 // Validate inspects the fields of the type to determine if they are valid.
16790 func (s *ListObjectsV2Input) Validate() error {
16791 invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"}
16792 if s.Bucket == nil {
16793 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16794 }
16795 if s.Bucket != nil && len(*s.Bucket) < 1 {
16796 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16797 }
16798
16799 if invalidParams.Len() > 0 {
16800 return invalidParams
16801 }
16802 return nil
16803 }
16804
16805 // SetBucket sets the Bucket field's value.
16806 func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
16807 s.Bucket = &v
16808 return s
16809 }
16810
16811 func (s *ListObjectsV2Input) getBucket() (v string) {
16812 if s.Bucket == nil {
16813 return v
16814 }
16815 return *s.Bucket
16816 }
16817
16818 // SetContinuationToken sets the ContinuationToken field's value.
16819 func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
16820 s.ContinuationToken = &v
16821 return s
16822 }
16823
16824 // SetDelimiter sets the Delimiter field's value.
16825 func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input {
16826 s.Delimiter = &v
16827 return s
16828 }
16829
16830 // SetEncodingType sets the EncodingType field's value.
16831 func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input {
16832 s.EncodingType = &v
16833 return s
16834 }
16835
16836 // SetFetchOwner sets the FetchOwner field's value.
16837 func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input {
16838 s.FetchOwner = &v
16839 return s
16840 }
16841
16842 // SetMaxKeys sets the MaxKeys field's value.
16843 func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input {
16844 s.MaxKeys = &v
16845 return s
16846 }
16847
16848 // SetPrefix sets the Prefix field's value.
16849 func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input {
16850 s.Prefix = &v
16851 return s
16852 }
16853
16854 // SetRequestPayer sets the RequestPayer field's value.
16855 func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input {
16856 s.RequestPayer = &v
16857 return s
16858 }
16859
16860 // SetStartAfter sets the StartAfter field's value.
16861 func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
16862 s.StartAfter = &v
16863 return s
16864 }
16865
16866 type ListObjectsV2Output struct {
16867 _ struct{} `type:"structure"`
16868
16869 // CommonPrefixes contains all (if there are any) keys between Prefix and the
16870 // next occurrence of the string specified by delimiter
16871 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16872
16873 // Metadata about each object returned.
16874 Contents []*Object `type:"list" flattened:"true"`
16875
16876 // ContinuationToken indicates Amazon S3 that the list is being continued on
16877 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16878 // key
16879 ContinuationToken *string `type:"string"`
16880
16881 // A delimiter is a character you use to group keys.
16882 Delimiter *string `type:"string"`
16883
16884 // Encoding type used by Amazon S3 to encode object keys in the response.
16885 EncodingType *string `type:"string" enum:"EncodingType"`
16886
16887 // A flag that indicates whether or not Amazon S3 returned all of the results
16888 // that satisfied the search criteria.
16889 IsTruncated *bool `type:"boolean"`
16890
16891 // KeyCount is the number of keys returned with this request. KeyCount will
16892 // always be less than equals to MaxKeys field. Say you ask for 50 keys, your
16893 // result will include less than equals 50 keys
16894 KeyCount *int64 `type:"integer"`
16895
16896 // Sets the maximum number of keys returned in the response. The response might
16897 // contain fewer keys but will never contain more.
16898 MaxKeys *int64 `type:"integer"`
16899
16900 // Name of the bucket to list.
16901 Name *string `type:"string"`
16902
16903 // NextContinuationToken is sent when isTruncated is true which means there
16904 // are more keys in the bucket that can be listed. The next list requests to
16905 // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken
16906 // is obfuscated and is not a real key
16907 NextContinuationToken *string `type:"string"`
16908
16909 // Limits the response to keys that begin with the specified prefix.
16910 Prefix *string `type:"string"`
16911
16912 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16913 // listing after this specified key. StartAfter can be any key in the bucket
16914 StartAfter *string `type:"string"`
16915 }
16916
16917 // String returns the string representation
16918 func (s ListObjectsV2Output) String() string {
16919 return awsutil.Prettify(s)
16920 }
16921
16922 // GoString returns the string representation
16923 func (s ListObjectsV2Output) GoString() string {
16924 return s.String()
16925 }
16926
16927 // SetCommonPrefixes sets the CommonPrefixes field's value.
16928 func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output {
16929 s.CommonPrefixes = v
16930 return s
16931 }
16932
16933 // SetContents sets the Contents field's value.
16934 func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output {
16935 s.Contents = v
16936 return s
16937 }
16938
16939 // SetContinuationToken sets the ContinuationToken field's value.
16940 func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output {
16941 s.ContinuationToken = &v
16942 return s
16943 }
16944
16945 // SetDelimiter sets the Delimiter field's value.
16946 func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output {
16947 s.Delimiter = &v
16948 return s
16949 }
16950
16951 // SetEncodingType sets the EncodingType field's value.
16952 func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output {
16953 s.EncodingType = &v
16954 return s
16955 }
16956
16957 // SetIsTruncated sets the IsTruncated field's value.
16958 func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output {
16959 s.IsTruncated = &v
16960 return s
16961 }
16962
16963 // SetKeyCount sets the KeyCount field's value.
16964 func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output {
16965 s.KeyCount = &v
16966 return s
16967 }
16968
16969 // SetMaxKeys sets the MaxKeys field's value.
16970 func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output {
16971 s.MaxKeys = &v
16972 return s
16973 }
16974
16975 // SetName sets the Name field's value.
16976 func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output {
16977 s.Name = &v
16978 return s
16979 }
16980
16981 // SetNextContinuationToken sets the NextContinuationToken field's value.
16982 func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output {
16983 s.NextContinuationToken = &v
16984 return s
16985 }
16986
16987 // SetPrefix sets the Prefix field's value.
16988 func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output {
16989 s.Prefix = &v
16990 return s
16991 }
16992
16993 // SetStartAfter sets the StartAfter field's value.
16994 func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
16995 s.StartAfter = &v
16996 return s
16997 }
16998
16999 type ListPartsInput struct {
17000 _ struct{} `type:"structure"`
17001
17002 // Bucket is a required field
17003 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17004
17005 // Key is a required field
17006 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
17007
17008 // Sets the maximum number of parts to return.
17009 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`
17010
17011 // Specifies the part after which listing should begin. Only parts with higher
17012 // part numbers will be listed.
17013 PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"`
17014
17015 // Confirms that the requester knows that she or he will be charged for the
17016 // request. Bucket owners need not specify this parameter in their requests.
17017 // Documentation on downloading objects from requester pays buckets can be found
17018 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
17019 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
17020
17021 // Upload ID identifying the multipart upload whose parts are being listed.
17022 //
17023 // UploadId is a required field
17024 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
17025 }
17026
17027 // String returns the string representation
17028 func (s ListPartsInput) String() string {
17029 return awsutil.Prettify(s)
17030 }
17031
17032 // GoString returns the string representation
17033 func (s ListPartsInput) GoString() string {
17034 return s.String()
17035 }
17036
17037 // Validate inspects the fields of the type to determine if they are valid.
17038 func (s *ListPartsInput) Validate() error {
17039 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"}
17040 if s.Bucket == nil {
17041 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17042 }
17043 if s.Bucket != nil && len(*s.Bucket) < 1 {
17044 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
17045 }
17046 if s.Key == nil {
17047 invalidParams.Add(request.NewErrParamRequired("Key"))
17048 }
17049 if s.Key != nil && len(*s.Key) < 1 {
17050 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17051 }
17052 if s.UploadId == nil {
17053 invalidParams.Add(request.NewErrParamRequired("UploadId"))
17054 }
17055
17056 if invalidParams.Len() > 0 {
17057 return invalidParams
17058 }
17059 return nil
17060 }
17061
17062 // SetBucket sets the Bucket field's value.
17063 func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
17064 s.Bucket = &v
17065 return s
17066 }
17067
17068 func (s *ListPartsInput) getBucket() (v string) {
17069 if s.Bucket == nil {
17070 return v
17071 }
17072 return *s.Bucket
17073 }
17074
17075 // SetKey sets the Key field's value.
17076 func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
17077 s.Key = &v
17078 return s
17079 }
17080
17081 // SetMaxParts sets the MaxParts field's value.
17082 func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput {
17083 s.MaxParts = &v
17084 return s
17085 }
17086
17087 // SetPartNumberMarker sets the PartNumberMarker field's value.
17088 func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput {
17089 s.PartNumberMarker = &v
17090 return s
17091 }
17092
17093 // SetRequestPayer sets the RequestPayer field's value.
17094 func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
17095 s.RequestPayer = &v
17096 return s
17097 }
17098
17099 // SetUploadId sets the UploadId field's value.
17100 func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
17101 s.UploadId = &v
17102 return s
17103 }
17104
17105 type ListPartsOutput struct {
17106 _ struct{} `type:"structure"`
17107
17108 // Date when multipart upload will become eligible for abort operation by lifecycle.
17109 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
17110
17111 // Id of the lifecycle rule that makes a multipart upload eligible for abort
17112 // operation.
17113 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
17114
17115 // Name of the bucket to which the multipart upload was initiated.
17116 Bucket *string `type:"string"`
17117
17118 // Identifies who initiated the multipart upload.
17119 Initiator *Initiator `type:"structure"`
17120
17121 // Indicates whether the returned list of parts is truncated.
17122 IsTruncated *bool `type:"boolean"`
17123
17124 // Object key for which the multipart upload was initiated.
17125 Key *string `min:"1" type:"string"`
17126
17127 // Maximum number of parts that were allowed in the response.
17128 MaxParts *int64 `type:"integer"`
17129
17130 // When a list is truncated, this element specifies the last part in the list,
17131 // as well as the value to use for the part-number-marker request parameter
17132 // in a subsequent request.
17133 NextPartNumberMarker *int64 `type:"integer"`
17134
17135 Owner *Owner `type:"structure"`
17136
17137 // Part number after which listing begins.
17138 PartNumberMarker *int64 `type:"integer"`
17139
17140 Parts []*Part `locationName:"Part" type:"list" flattened:"true"`
17141
17142 // If present, indicates that the requester was successfully charged for the
17143 // request.
17144 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
17145
17146 // The class of storage used to store the object.
17147 StorageClass *string `type:"string" enum:"StorageClass"`
17148
17149 // Upload ID identifying the multipart upload whose parts are being listed.
17150 UploadId *string `type:"string"`
17151 }
17152
17153 // String returns the string representation
17154 func (s ListPartsOutput) String() string {
17155 return awsutil.Prettify(s)
17156 }
17157
17158 // GoString returns the string representation
17159 func (s ListPartsOutput) GoString() string {
17160 return s.String()
17161 }
17162
17163 // SetAbortDate sets the AbortDate field's value.
17164 func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput {
17165 s.AbortDate = &v
17166 return s
17167 }
17168
17169 // SetAbortRuleId sets the AbortRuleId field's value.
17170 func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput {
17171 s.AbortRuleId = &v
17172 return s
17173 }
17174
17175 // SetBucket sets the Bucket field's value.
17176 func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
17177 s.Bucket = &v
17178 return s
17179 }
17180
17181 func (s *ListPartsOutput) getBucket() (v string) {
17182 if s.Bucket == nil {
17183 return v
17184 }
17185 return *s.Bucket
17186 }
17187
17188 // SetInitiator sets the Initiator field's value.
17189 func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
17190 s.Initiator = v
17191 return s
17192 }
17193
17194 // SetIsTruncated sets the IsTruncated field's value.
17195 func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput {
17196 s.IsTruncated = &v
17197 return s
17198 }
17199
17200 // SetKey sets the Key field's value.
17201 func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput {
17202 s.Key = &v
17203 return s
17204 }
17205
17206 // SetMaxParts sets the MaxParts field's value.
17207 func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput {
17208 s.MaxParts = &v
17209 return s
17210 }
17211
17212 // SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
17213 func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput {
17214 s.NextPartNumberMarker = &v
17215 return s
17216 }
17217
17218 // SetOwner sets the Owner field's value.
17219 func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput {
17220 s.Owner = v
17221 return s
17222 }
17223
17224 // SetPartNumberMarker sets the PartNumberMarker field's value.
17225 func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput {
17226 s.PartNumberMarker = &v
17227 return s
17228 }
17229
17230 // SetParts sets the Parts field's value.
17231 func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput {
17232 s.Parts = v
17233 return s
17234 }
17235
17236 // SetRequestCharged sets the RequestCharged field's value.
17237 func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput {
17238 s.RequestCharged = &v
17239 return s
17240 }
17241
17242 // SetStorageClass sets the StorageClass field's value.
17243 func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput {
17244 s.StorageClass = &v
17245 return s
17246 }
17247
17248 // SetUploadId sets the UploadId field's value.
17249 func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
17250 s.UploadId = &v
17251 return s
17252 }
17253
17254 // Describes an S3 location that will receive the results of the restore request.
17255 type Location struct {
17256 _ struct{} `type:"structure"`
17257
17258 // A list of grants that control access to the staged results.
17259 AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
17260
17261 // The name of the bucket where the restore results will be placed.
17262 //
17263 // BucketName is a required field
17264 BucketName *string `type:"string" required:"true"`
17265
17266 // The canned ACL to apply to the restore results.
17267 CannedACL *string `type:"string" enum:"ObjectCannedACL"`
17268
17269 // Describes the server-side encryption that will be applied to the restore
17270 // results.
17271 Encryption *Encryption `type:"structure"`
17272
17273 // The prefix that is prepended to the restore results for this request.
17274 //
17275 // Prefix is a required field
17276 Prefix *string `type:"string" required:"true"`
17277
17278 // The class of storage used to store the restore results.
17279 StorageClass *string `type:"string" enum:"StorageClass"`
17280
17281 // The tag-set that is applied to the restore results.
17282 Tagging *Tagging `type:"structure"`
17283
17284 // A list of metadata to store with the restore results in S3.
17285 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
17286 }
17287
17288 // String returns the string representation
17289 func (s Location) String() string {
17290 return awsutil.Prettify(s)
17291 }
17292
17293 // GoString returns the string representation
17294 func (s Location) GoString() string {
17295 return s.String()
17296 }
17297
17298 // Validate inspects the fields of the type to determine if they are valid.
17299 func (s *Location) Validate() error {
17300 invalidParams := request.ErrInvalidParams{Context: "Location"}
17301 if s.BucketName == nil {
17302 invalidParams.Add(request.NewErrParamRequired("BucketName"))
17303 }
17304 if s.Prefix == nil {
17305 invalidParams.Add(request.NewErrParamRequired("Prefix"))
17306 }
17307 if s.AccessControlList != nil {
17308 for i, v := range s.AccessControlList {
17309 if v == nil {
17310 continue
17311 }
17312 if err := v.Validate(); err != nil {
17313 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
17314 }
17315 }
17316 }
17317 if s.Encryption != nil {
17318 if err := s.Encryption.Validate(); err != nil {
17319 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
17320 }
17321 }
17322 if s.Tagging != nil {
17323 if err := s.Tagging.Validate(); err != nil {
17324 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
17325 }
17326 }
17327
17328 if invalidParams.Len() > 0 {
17329 return invalidParams
17330 }
17331 return nil
17332 }
17333
17334 // SetAccessControlList sets the AccessControlList field's value.
17335 func (s *Location) SetAccessControlList(v []*Grant) *Location {
17336 s.AccessControlList = v
17337 return s
17338 }
17339
17340 // SetBucketName sets the BucketName field's value.
17341 func (s *Location) SetBucketName(v string) *Location {
17342 s.BucketName = &v
17343 return s
17344 }
17345
17346 // SetCannedACL sets the CannedACL field's value.
17347 func (s *Location) SetCannedACL(v string) *Location {
17348 s.CannedACL = &v
17349 return s
17350 }
17351
17352 // SetEncryption sets the Encryption field's value.
17353 func (s *Location) SetEncryption(v *Encryption) *Location {
17354 s.Encryption = v
17355 return s
17356 }
17357
17358 // SetPrefix sets the Prefix field's value.
17359 func (s *Location) SetPrefix(v string) *Location {
17360 s.Prefix = &v
17361 return s
17362 }
17363
17364 // SetStorageClass sets the StorageClass field's value.
17365 func (s *Location) SetStorageClass(v string) *Location {
17366 s.StorageClass = &v
17367 return s
17368 }
17369
17370 // SetTagging sets the Tagging field's value.
17371 func (s *Location) SetTagging(v *Tagging) *Location {
17372 s.Tagging = v
17373 return s
17374 }
17375
17376 // SetUserMetadata sets the UserMetadata field's value.
17377 func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
17378 s.UserMetadata = v
17379 return s
17380 }
17381
17382 // Describes where logs are stored and the prefix that Amazon S3 assigns to
17383 // all log object keys for a bucket. For more information, see PUT Bucket logging
17384 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
17385 // in the Amazon Simple Storage Service API Reference.
17386 type LoggingEnabled struct {
17387 _ struct{} `type:"structure"`
17388
17389 // Specifies the bucket where you want Amazon S3 to store server access logs.
17390 // You can have your logs delivered to any bucket that you own, including the
17391 // same bucket that is being logged. You can also configure multiple buckets
17392 // to deliver their logs to the same target bucket. In this case you should
17393 // choose a different TargetPrefix for each source bucket so that the delivered
17394 // log files can be distinguished by key.
17395 //
17396 // TargetBucket is a required field
17397 TargetBucket *string `type:"string" required:"true"`
17398
17399 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
17400
17401 // A prefix for all log object keys. If you store log files from multiple Amazon
17402 // S3 buckets in a single bucket, you can use a prefix to distinguish which
17403 // log files came from which bucket.
17404 //
17405 // TargetPrefix is a required field
17406 TargetPrefix *string `type:"string" required:"true"`
17407 }
17408
17409 // String returns the string representation
17410 func (s LoggingEnabled) String() string {
17411 return awsutil.Prettify(s)
17412 }
17413
17414 // GoString returns the string representation
17415 func (s LoggingEnabled) GoString() string {
17416 return s.String()
17417 }
17418
17419 // Validate inspects the fields of the type to determine if they are valid.
17420 func (s *LoggingEnabled) Validate() error {
17421 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"}
17422 if s.TargetBucket == nil {
17423 invalidParams.Add(request.NewErrParamRequired("TargetBucket"))
17424 }
17425 if s.TargetPrefix == nil {
17426 invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
17427 }
17428 if s.TargetGrants != nil {
17429 for i, v := range s.TargetGrants {
17430 if v == nil {
17431 continue
17432 }
17433 if err := v.Validate(); err != nil {
17434 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams))
17435 }
17436 }
17437 }
17438
17439 if invalidParams.Len() > 0 {
17440 return invalidParams
17441 }
17442 return nil
17443 }
17444
17445 // SetTargetBucket sets the TargetBucket field's value.
17446 func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled {
17447 s.TargetBucket = &v
17448 return s
17449 }
17450
17451 // SetTargetGrants sets the TargetGrants field's value.
17452 func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled {
17453 s.TargetGrants = v
17454 return s
17455 }
17456
17457 // SetTargetPrefix sets the TargetPrefix field's value.
17458 func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
17459 s.TargetPrefix = &v
17460 return s
17461 }
17462
17463 // A metadata key-value pair to store with an object.
17464 type MetadataEntry struct {
17465 _ struct{} `type:"structure"`
17466
17467 Name *string `type:"string"`
17468
17469 Value *string `type:"string"`
17470 }
17471
17472 // String returns the string representation
17473 func (s MetadataEntry) String() string {
17474 return awsutil.Prettify(s)
17475 }
17476
17477 // GoString returns the string representation
17478 func (s MetadataEntry) GoString() string {
17479 return s.String()
17480 }
17481
17482 // SetName sets the Name field's value.
17483 func (s *MetadataEntry) SetName(v string) *MetadataEntry {
17484 s.Name = &v
17485 return s
17486 }
17487
17488 // SetValue sets the Value field's value.
17489 func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
17490 s.Value = &v
17491 return s
17492 }
17493
17494 type MetricsAndOperator struct {
17495 _ struct{} `type:"structure"`
17496
17497 // The prefix used when evaluating an AND predicate.
17498 Prefix *string `type:"string"`
17499
17500 // The list of tags used when evaluating an AND predicate.
17501 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
17502 }
17503
17504 // String returns the string representation
17505 func (s MetricsAndOperator) String() string {
17506 return awsutil.Prettify(s)
17507 }
17508
17509 // GoString returns the string representation
17510 func (s MetricsAndOperator) GoString() string {
17511 return s.String()
17512 }
17513
17514 // Validate inspects the fields of the type to determine if they are valid.
17515 func (s *MetricsAndOperator) Validate() error {
17516 invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"}
17517 if s.Tags != nil {
17518 for i, v := range s.Tags {
17519 if v == nil {
17520 continue
17521 }
17522 if err := v.Validate(); err != nil {
17523 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17524 }
17525 }
17526 }
17527
17528 if invalidParams.Len() > 0 {
17529 return invalidParams
17530 }
17531 return nil
17532 }
17533
17534 // SetPrefix sets the Prefix field's value.
17535 func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator {
17536 s.Prefix = &v
17537 return s
17538 }
17539
17540 // SetTags sets the Tags field's value.
17541 func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
17542 s.Tags = v
17543 return s
17544 }
17545
17546 // Specifies a metrics configuration for the CloudWatch request metrics (specified
17547 // by the metrics configuration ID) from an Amazon S3 bucket. If you're updating
17548 // an existing metrics configuration, note that this is a full replacement of
17549 // the existing metrics configuration. If you don't include the elements you
17550 // want to keep, they are erased. For more information, see PUT Bucket metrics
17551 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html)
17552 // in the Amazon Simple Storage Service API Reference.
17553 type MetricsConfiguration struct {
17554 _ struct{} `type:"structure"`
17555
17556 // Specifies a metrics configuration filter. The metrics configuration will
17557 // only include objects that meet the filter's criteria. A filter must be a
17558 // prefix, a tag, or a conjunction (MetricsAndOperator).
17559 Filter *MetricsFilter `type:"structure"`
17560
17561 // The ID used to identify the metrics configuration.
17562 //
17563 // Id is a required field
17564 Id *string `type:"string" required:"true"`
17565 }
17566
17567 // String returns the string representation
17568 func (s MetricsConfiguration) String() string {
17569 return awsutil.Prettify(s)
17570 }
17571
17572 // GoString returns the string representation
17573 func (s MetricsConfiguration) GoString() string {
17574 return s.String()
17575 }
17576
17577 // Validate inspects the fields of the type to determine if they are valid.
17578 func (s *MetricsConfiguration) Validate() error {
17579 invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"}
17580 if s.Id == nil {
17581 invalidParams.Add(request.NewErrParamRequired("Id"))
17582 }
17583 if s.Filter != nil {
17584 if err := s.Filter.Validate(); err != nil {
17585 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
17586 }
17587 }
17588
17589 if invalidParams.Len() > 0 {
17590 return invalidParams
17591 }
17592 return nil
17593 }
17594
17595 // SetFilter sets the Filter field's value.
17596 func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration {
17597 s.Filter = v
17598 return s
17599 }
17600
17601 // SetId sets the Id field's value.
17602 func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
17603 s.Id = &v
17604 return s
17605 }
17606
17607 type MetricsFilter struct {
17608 _ struct{} `type:"structure"`
17609
17610 // A conjunction (logical AND) of predicates, which is used in evaluating a
17611 // metrics filter. The operator must have at least two predicates, and an object
17612 // must match all of the predicates in order for the filter to apply.
17613 And *MetricsAndOperator `type:"structure"`
17614
17615 // The prefix used when evaluating a metrics filter.
17616 Prefix *string `type:"string"`
17617
17618 // The tag used when evaluating a metrics filter.
17619 Tag *Tag `type:"structure"`
17620 }
17621
17622 // String returns the string representation
17623 func (s MetricsFilter) String() string {
17624 return awsutil.Prettify(s)
17625 }
17626
17627 // GoString returns the string representation
17628 func (s MetricsFilter) GoString() string {
17629 return s.String()
17630 }
17631
17632 // Validate inspects the fields of the type to determine if they are valid.
17633 func (s *MetricsFilter) Validate() error {
17634 invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"}
17635 if s.And != nil {
17636 if err := s.And.Validate(); err != nil {
17637 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
17638 }
17639 }
17640 if s.Tag != nil {
17641 if err := s.Tag.Validate(); err != nil {
17642 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
17643 }
17644 }
17645
17646 if invalidParams.Len() > 0 {
17647 return invalidParams
17648 }
17649 return nil
17650 }
17651
17652 // SetAnd sets the And field's value.
17653 func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter {
17654 s.And = v
17655 return s
17656 }
17657
17658 // SetPrefix sets the Prefix field's value.
17659 func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter {
17660 s.Prefix = &v
17661 return s
17662 }
17663
17664 // SetTag sets the Tag field's value.
17665 func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
17666 s.Tag = v
17667 return s
17668 }
17669
17670 type MultipartUpload struct {
17671 _ struct{} `type:"structure"`
17672
17673 // Date and time at which the multipart upload was initiated.
17674 Initiated *time.Time `type:"timestamp"`
17675
17676 // Identifies who initiated the multipart upload.
17677 Initiator *Initiator `type:"structure"`
17678
17679 // Key of the object for which the multipart upload was initiated.
17680 Key *string `min:"1" type:"string"`
17681
17682 Owner *Owner `type:"structure"`
17683
17684 // The class of storage used to store the object.
17685 StorageClass *string `type:"string" enum:"StorageClass"`
17686
17687 // Upload ID that identifies the multipart upload.
17688 UploadId *string `type:"string"`
17689 }
17690
17691 // String returns the string representation
17692 func (s MultipartUpload) String() string {
17693 return awsutil.Prettify(s)
17694 }
17695
17696 // GoString returns the string representation
17697 func (s MultipartUpload) GoString() string {
17698 return s.String()
17699 }
17700
17701 // SetInitiated sets the Initiated field's value.
17702 func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
17703 s.Initiated = &v
17704 return s
17705 }
17706
17707 // SetInitiator sets the Initiator field's value.
17708 func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload {
17709 s.Initiator = v
17710 return s
17711 }
17712
17713 // SetKey sets the Key field's value.
17714 func (s *MultipartUpload) SetKey(v string) *MultipartUpload {
17715 s.Key = &v
17716 return s
17717 }
17718
17719 // SetOwner sets the Owner field's value.
17720 func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload {
17721 s.Owner = v
17722 return s
17723 }
17724
17725 // SetStorageClass sets the StorageClass field's value.
17726 func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload {
17727 s.StorageClass = &v
17728 return s
17729 }
17730
17731 // SetUploadId sets the UploadId field's value.
17732 func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
17733 s.UploadId = &v
17734 return s
17735 }
17736
17737 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
17738 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
17739 // configuration action on a bucket that has versioning enabled (or suspended)
17740 // to request that Amazon S3 delete noncurrent object versions at a specific
17741 // period in the object's lifetime.
17742 type NoncurrentVersionExpiration struct {
17743 _ struct{} `type:"structure"`
17744
17745 // Specifies the number of days an object is noncurrent before Amazon S3 can
17746 // perform the associated action. For information about the noncurrent days
17747 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
17748 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
17749 // in the Amazon Simple Storage Service Developer Guide.
17750 NoncurrentDays *int64 `type:"integer"`
17751 }
17752
17753 // String returns the string representation
17754 func (s NoncurrentVersionExpiration) String() string {
17755 return awsutil.Prettify(s)
17756 }
17757
17758 // GoString returns the string representation
17759 func (s NoncurrentVersionExpiration) GoString() string {
17760 return s.String()
17761 }
17762
17763 // SetNoncurrentDays sets the NoncurrentDays field's value.
17764 func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
17765 s.NoncurrentDays = &v
17766 return s
17767 }
17768
17769 // Container for the transition rule that describes when noncurrent objects
17770 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
17771 // or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
17772 // is suspended), you can set this action to request that Amazon S3 transition
17773 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
17774 // GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
17775 // lifetime.
17776 type NoncurrentVersionTransition struct {
17777 _ struct{} `type:"structure"`
17778
17779 // Specifies the number of days an object is noncurrent before Amazon S3 can
17780 // perform the associated action. For information about the noncurrent days
17781 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
17782 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
17783 // in the Amazon Simple Storage Service Developer Guide.
17784 NoncurrentDays *int64 `type:"integer"`
17785
17786 // The class of storage used to store the object.
17787 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
17788 }
17789
17790 // String returns the string representation
17791 func (s NoncurrentVersionTransition) String() string {
17792 return awsutil.Prettify(s)
17793 }
17794
17795 // GoString returns the string representation
17796 func (s NoncurrentVersionTransition) GoString() string {
17797 return s.String()
17798 }
17799
17800 // SetNoncurrentDays sets the NoncurrentDays field's value.
17801 func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
17802 s.NoncurrentDays = &v
17803 return s
17804 }
17805
17806 // SetStorageClass sets the StorageClass field's value.
17807 func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition {
17808 s.StorageClass = &v
17809 return s
17810 }
17811
17812 // A container for specifying the notification configuration of the bucket.
17813 // If this element is empty, notifications are turned off for the bucket.
17814 type NotificationConfiguration struct {
17815 _ struct{} `type:"structure"`
17816
17817 // Describes the AWS Lambda functions to invoke and the events for which to
17818 // invoke them.
17819 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
17820
17821 // The Amazon Simple Queue Service queues to publish messages to and the events
17822 // for which to publish messages.
17823 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`
17824
17825 // The topic to which notifications are sent and the events for which notifications
17826 // are generated.
17827 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
17828 }
17829
17830 // String returns the string representation
17831 func (s NotificationConfiguration) String() string {
17832 return awsutil.Prettify(s)
17833 }
17834
17835 // GoString returns the string representation
17836 func (s NotificationConfiguration) GoString() string {
17837 return s.String()
17838 }
17839
17840 // Validate inspects the fields of the type to determine if they are valid.
17841 func (s *NotificationConfiguration) Validate() error {
17842 invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"}
17843 if s.LambdaFunctionConfigurations != nil {
17844 for i, v := range s.LambdaFunctionConfigurations {
17845 if v == nil {
17846 continue
17847 }
17848 if err := v.Validate(); err != nil {
17849 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams))
17850 }
17851 }
17852 }
17853 if s.QueueConfigurations != nil {
17854 for i, v := range s.QueueConfigurations {
17855 if v == nil {
17856 continue
17857 }
17858 if err := v.Validate(); err != nil {
17859 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams))
17860 }
17861 }
17862 }
17863 if s.TopicConfigurations != nil {
17864 for i, v := range s.TopicConfigurations {
17865 if v == nil {
17866 continue
17867 }
17868 if err := v.Validate(); err != nil {
17869 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams))
17870 }
17871 }
17872 }
17873
17874 if invalidParams.Len() > 0 {
17875 return invalidParams
17876 }
17877 return nil
17878 }
17879
17880 // SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
17881 func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
17882 s.LambdaFunctionConfigurations = v
17883 return s
17884 }
17885
17886 // SetQueueConfigurations sets the QueueConfigurations field's value.
17887 func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration {
17888 s.QueueConfigurations = v
17889 return s
17890 }
17891
17892 // SetTopicConfigurations sets the TopicConfigurations field's value.
17893 func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration {
17894 s.TopicConfigurations = v
17895 return s
17896 }
17897
17898 type NotificationConfigurationDeprecated struct {
17899 _ struct{} `type:"structure"`
17900
17901 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`
17902
17903 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
17904
17905 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
17906 }
17907
17908 // String returns the string representation
17909 func (s NotificationConfigurationDeprecated) String() string {
17910 return awsutil.Prettify(s)
17911 }
17912
17913 // GoString returns the string representation
17914 func (s NotificationConfigurationDeprecated) GoString() string {
17915 return s.String()
17916 }
17917
17918 // SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value.
17919 func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated {
17920 s.CloudFunctionConfiguration = v
17921 return s
17922 }
17923
17924 // SetQueueConfiguration sets the QueueConfiguration field's value.
17925 func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated {
17926 s.QueueConfiguration = v
17927 return s
17928 }
17929
17930 // SetTopicConfiguration sets the TopicConfiguration field's value.
17931 func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated {
17932 s.TopicConfiguration = v
17933 return s
17934 }
17935
17936 // Specifies object key name filtering rules. For information about key name
17937 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
17938 // in the Amazon Simple Storage Service Developer Guide.
17939 type NotificationConfigurationFilter struct {
17940 _ struct{} `type:"structure"`
17941
17942 // A container for object key name prefix and suffix filtering rules.
17943 Key *KeyFilter `locationName:"S3Key" type:"structure"`
17944 }
17945
17946 // String returns the string representation
17947 func (s NotificationConfigurationFilter) String() string {
17948 return awsutil.Prettify(s)
17949 }
17950
17951 // GoString returns the string representation
17952 func (s NotificationConfigurationFilter) GoString() string {
17953 return s.String()
17954 }
17955
17956 // SetKey sets the Key field's value.
17957 func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter {
17958 s.Key = v
17959 return s
17960 }
17961
17962 type Object struct {
17963 _ struct{} `type:"structure"`
17964
17965 ETag *string `type:"string"`
17966
17967 Key *string `min:"1" type:"string"`
17968
17969 LastModified *time.Time `type:"timestamp"`
17970
17971 Owner *Owner `type:"structure"`
17972
17973 Size *int64 `type:"integer"`
17974
17975 // The class of storage used to store the object.
17976 StorageClass *string `type:"string" enum:"ObjectStorageClass"`
17977 }
17978
17979 // String returns the string representation
17980 func (s Object) String() string {
17981 return awsutil.Prettify(s)
17982 }
17983
17984 // GoString returns the string representation
17985 func (s Object) GoString() string {
17986 return s.String()
17987 }
17988
17989 // SetETag sets the ETag field's value.
17990 func (s *Object) SetETag(v string) *Object {
17991 s.ETag = &v
17992 return s
17993 }
17994
17995 // SetKey sets the Key field's value.
17996 func (s *Object) SetKey(v string) *Object {
17997 s.Key = &v
17998 return s
17999 }
18000
18001 // SetLastModified sets the LastModified field's value.
18002 func (s *Object) SetLastModified(v time.Time) *Object {
18003 s.LastModified = &v
18004 return s
18005 }
18006
18007 // SetOwner sets the Owner field's value.
18008 func (s *Object) SetOwner(v *Owner) *Object {
18009 s.Owner = v
18010 return s
18011 }
18012
18013 // SetSize sets the Size field's value.
18014 func (s *Object) SetSize(v int64) *Object {
18015 s.Size = &v
18016 return s
18017 }
18018
18019 // SetStorageClass sets the StorageClass field's value.
18020 func (s *Object) SetStorageClass(v string) *Object {
18021 s.StorageClass = &v
18022 return s
18023 }
18024
18025 type ObjectIdentifier struct {
18026 _ struct{} `type:"structure"`
18027
18028 // Key name of the object to delete.
18029 //
18030 // Key is a required field
18031 Key *string `min:"1" type:"string" required:"true"`
18032
18033 // VersionId for the specific version of the object to delete.
18034 VersionId *string `type:"string"`
18035 }
18036
18037 // String returns the string representation
18038 func (s ObjectIdentifier) String() string {
18039 return awsutil.Prettify(s)
18040 }
18041
18042 // GoString returns the string representation
18043 func (s ObjectIdentifier) GoString() string {
18044 return s.String()
18045 }
18046
18047 // Validate inspects the fields of the type to determine if they are valid.
18048 func (s *ObjectIdentifier) Validate() error {
18049 invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"}
18050 if s.Key == nil {
18051 invalidParams.Add(request.NewErrParamRequired("Key"))
18052 }
18053 if s.Key != nil && len(*s.Key) < 1 {
18054 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18055 }
18056
18057 if invalidParams.Len() > 0 {
18058 return invalidParams
18059 }
18060 return nil
18061 }
18062
18063 // SetKey sets the Key field's value.
18064 func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier {
18065 s.Key = &v
18066 return s
18067 }
18068
18069 // SetVersionId sets the VersionId field's value.
18070 func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
18071 s.VersionId = &v
18072 return s
18073 }
18074
18075 // The container element for object lock configuration parameters.
18076 type ObjectLockConfiguration struct {
18077 _ struct{} `type:"structure"`
18078
18079 // Indicates whether this bucket has an object lock configuration enabled.
18080 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"`
18081
18082 // The object lock rule in place for the specified object.
18083 Rule *ObjectLockRule `type:"structure"`
18084 }
18085
18086 // String returns the string representation
18087 func (s ObjectLockConfiguration) String() string {
18088 return awsutil.Prettify(s)
18089 }
18090
18091 // GoString returns the string representation
18092 func (s ObjectLockConfiguration) GoString() string {
18093 return s.String()
18094 }
18095
18096 // SetObjectLockEnabled sets the ObjectLockEnabled field's value.
18097 func (s *ObjectLockConfiguration) SetObjectLockEnabled(v string) *ObjectLockConfiguration {
18098 s.ObjectLockEnabled = &v
18099 return s
18100 }
18101
18102 // SetRule sets the Rule field's value.
18103 func (s *ObjectLockConfiguration) SetRule(v *ObjectLockRule) *ObjectLockConfiguration {
18104 s.Rule = v
18105 return s
18106 }
18107
18108 // A Legal Hold configuration for an object.
18109 type ObjectLockLegalHold struct {
18110 _ struct{} `type:"structure"`
18111
18112 // Indicates whether the specified object has a Legal Hold in place.
18113 Status *string `type:"string" enum:"ObjectLockLegalHoldStatus"`
18114 }
18115
18116 // String returns the string representation
18117 func (s ObjectLockLegalHold) String() string {
18118 return awsutil.Prettify(s)
18119 }
18120
18121 // GoString returns the string representation
18122 func (s ObjectLockLegalHold) GoString() string {
18123 return s.String()
18124 }
18125
18126 // SetStatus sets the Status field's value.
18127 func (s *ObjectLockLegalHold) SetStatus(v string) *ObjectLockLegalHold {
18128 s.Status = &v
18129 return s
18130 }
18131
18132 // A Retention configuration for an object.
18133 type ObjectLockRetention struct {
18134 _ struct{} `type:"structure"`
18135
18136 // Indicates the Retention mode for the specified object.
18137 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
18138
18139 // The date on which this object lock retention expires.
18140 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
18141 }
18142
18143 // String returns the string representation
18144 func (s ObjectLockRetention) String() string {
18145 return awsutil.Prettify(s)
18146 }
18147
18148 // GoString returns the string representation
18149 func (s ObjectLockRetention) GoString() string {
18150 return s.String()
18151 }
18152
18153 // SetMode sets the Mode field's value.
18154 func (s *ObjectLockRetention) SetMode(v string) *ObjectLockRetention {
18155 s.Mode = &v
18156 return s
18157 }
18158
18159 // SetRetainUntilDate sets the RetainUntilDate field's value.
18160 func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetention {
18161 s.RetainUntilDate = &v
18162 return s
18163 }
18164
18165 // The container element for an object lock rule.
18166 type ObjectLockRule struct {
18167 _ struct{} `type:"structure"`
18168
18169 // The default retention period that you want to apply to new objects placed
18170 // in the specified bucket.
18171 DefaultRetention *DefaultRetention `type:"structure"`
18172 }
18173
18174 // String returns the string representation
18175 func (s ObjectLockRule) String() string {
18176 return awsutil.Prettify(s)
18177 }
18178
18179 // GoString returns the string representation
18180 func (s ObjectLockRule) GoString() string {
18181 return s.String()
18182 }
18183
18184 // SetDefaultRetention sets the DefaultRetention field's value.
18185 func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRule {
18186 s.DefaultRetention = v
18187 return s
18188 }
18189
18190 type ObjectVersion struct {
18191 _ struct{} `type:"structure"`
18192
18193 ETag *string `type:"string"`
18194
18195 // Specifies whether the object is (true) or is not (false) the latest version
18196 // of an object.
18197 IsLatest *bool `type:"boolean"`
18198
18199 // The object key.
18200 Key *string `min:"1" type:"string"`
18201
18202 // Date and time the object was last modified.
18203 LastModified *time.Time `type:"timestamp"`
18204
18205 Owner *Owner `type:"structure"`
18206
18207 // Size in bytes of the object.
18208 Size *int64 `type:"integer"`
18209
18210 // The class of storage used to store the object.
18211 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"`
18212
18213 // Version ID of an object.
18214 VersionId *string `type:"string"`
18215 }
18216
18217 // String returns the string representation
18218 func (s ObjectVersion) String() string {
18219 return awsutil.Prettify(s)
18220 }
18221
18222 // GoString returns the string representation
18223 func (s ObjectVersion) GoString() string {
18224 return s.String()
18225 }
18226
18227 // SetETag sets the ETag field's value.
18228 func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
18229 s.ETag = &v
18230 return s
18231 }
18232
18233 // SetIsLatest sets the IsLatest field's value.
18234 func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion {
18235 s.IsLatest = &v
18236 return s
18237 }
18238
18239 // SetKey sets the Key field's value.
18240 func (s *ObjectVersion) SetKey(v string) *ObjectVersion {
18241 s.Key = &v
18242 return s
18243 }
18244
18245 // SetLastModified sets the LastModified field's value.
18246 func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion {
18247 s.LastModified = &v
18248 return s
18249 }
18250
18251 // SetOwner sets the Owner field's value.
18252 func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion {
18253 s.Owner = v
18254 return s
18255 }
18256
18257 // SetSize sets the Size field's value.
18258 func (s *ObjectVersion) SetSize(v int64) *ObjectVersion {
18259 s.Size = &v
18260 return s
18261 }
18262
18263 // SetStorageClass sets the StorageClass field's value.
18264 func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion {
18265 s.StorageClass = &v
18266 return s
18267 }
18268
18269 // SetVersionId sets the VersionId field's value.
18270 func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
18271 s.VersionId = &v
18272 return s
18273 }
18274
18275 // Describes the location where the restore job's output is stored.
18276 type OutputLocation struct {
18277 _ struct{} `type:"structure"`
18278
18279 // Describes an S3 location that will receive the results of the restore request.
18280 S3 *Location `type:"structure"`
18281 }
18282
18283 // String returns the string representation
18284 func (s OutputLocation) String() string {
18285 return awsutil.Prettify(s)
18286 }
18287
18288 // GoString returns the string representation
18289 func (s OutputLocation) GoString() string {
18290 return s.String()
18291 }
18292
18293 // Validate inspects the fields of the type to determine if they are valid.
18294 func (s *OutputLocation) Validate() error {
18295 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
18296 if s.S3 != nil {
18297 if err := s.S3.Validate(); err != nil {
18298 invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
18299 }
18300 }
18301
18302 if invalidParams.Len() > 0 {
18303 return invalidParams
18304 }
18305 return nil
18306 }
18307
18308 // SetS3 sets the S3 field's value.
18309 func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
18310 s.S3 = v
18311 return s
18312 }
18313
18314 // Describes how results of the Select job are serialized.
18315 type OutputSerialization struct {
18316 _ struct{} `type:"structure"`
18317
18318 // Describes the serialization of CSV-encoded Select results.
18319 CSV *CSVOutput `type:"structure"`
18320
18321 // Specifies JSON as request's output serialization format.
18322 JSON *JSONOutput `type:"structure"`
18323 }
18324
18325 // String returns the string representation
18326 func (s OutputSerialization) String() string {
18327 return awsutil.Prettify(s)
18328 }
18329
18330 // GoString returns the string representation
18331 func (s OutputSerialization) GoString() string {
18332 return s.String()
18333 }
18334
18335 // SetCSV sets the CSV field's value.
18336 func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
18337 s.CSV = v
18338 return s
18339 }
18340
18341 // SetJSON sets the JSON field's value.
18342 func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
18343 s.JSON = v
18344 return s
18345 }
18346
18347 type Owner struct {
18348 _ struct{} `type:"structure"`
18349
18350 DisplayName *string `type:"string"`
18351
18352 ID *string `type:"string"`
18353 }
18354
18355 // String returns the string representation
18356 func (s Owner) String() string {
18357 return awsutil.Prettify(s)
18358 }
18359
18360 // GoString returns the string representation
18361 func (s Owner) GoString() string {
18362 return s.String()
18363 }
18364
18365 // SetDisplayName sets the DisplayName field's value.
18366 func (s *Owner) SetDisplayName(v string) *Owner {
18367 s.DisplayName = &v
18368 return s
18369 }
18370
18371 // SetID sets the ID field's value.
18372 func (s *Owner) SetID(v string) *Owner {
18373 s.ID = &v
18374 return s
18375 }
18376
18377 type ParquetInput struct {
18378 _ struct{} `type:"structure"`
18379 }
18380
18381 // String returns the string representation
18382 func (s ParquetInput) String() string {
18383 return awsutil.Prettify(s)
18384 }
18385
18386 // GoString returns the string representation
18387 func (s ParquetInput) GoString() string {
18388 return s.String()
18389 }
18390
18391 type Part struct {
18392 _ struct{} `type:"structure"`
18393
18394 // Entity tag returned when the part was uploaded.
18395 ETag *string `type:"string"`
18396
18397 // Date and time at which the part was uploaded.
18398 LastModified *time.Time `type:"timestamp"`
18399
18400 // Part number identifying the part. This is a positive integer between 1 and
18401 // 10,000.
18402 PartNumber *int64 `type:"integer"`
18403
18404 // Size in bytes of the uploaded part data.
18405 Size *int64 `type:"integer"`
18406 }
18407
18408 // String returns the string representation
18409 func (s Part) String() string {
18410 return awsutil.Prettify(s)
18411 }
18412
18413 // GoString returns the string representation
18414 func (s Part) GoString() string {
18415 return s.String()
18416 }
18417
18418 // SetETag sets the ETag field's value.
18419 func (s *Part) SetETag(v string) *Part {
18420 s.ETag = &v
18421 return s
18422 }
18423
18424 // SetLastModified sets the LastModified field's value.
18425 func (s *Part) SetLastModified(v time.Time) *Part {
18426 s.LastModified = &v
18427 return s
18428 }
18429
18430 // SetPartNumber sets the PartNumber field's value.
18431 func (s *Part) SetPartNumber(v int64) *Part {
18432 s.PartNumber = &v
18433 return s
18434 }
18435
18436 // SetSize sets the Size field's value.
18437 func (s *Part) SetSize(v int64) *Part {
18438 s.Size = &v
18439 return s
18440 }
18441
18442 // The container element for a bucket's policy status.
18443 type PolicyStatus struct {
18444 _ struct{} `type:"structure"`
18445
18446 // The policy status for this bucket. TRUE indicates that this bucket is public.
18447 // FALSE indicates that the bucket is not public.
18448 IsPublic *bool `locationName:"IsPublic" type:"boolean"`
18449 }
18450
18451 // String returns the string representation
18452 func (s PolicyStatus) String() string {
18453 return awsutil.Prettify(s)
18454 }
18455
18456 // GoString returns the string representation
18457 func (s PolicyStatus) GoString() string {
18458 return s.String()
18459 }
18460
18461 // SetIsPublic sets the IsPublic field's value.
18462 func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus {
18463 s.IsPublic = &v
18464 return s
18465 }
18466
18467 type Progress struct {
18468 _ struct{} `type:"structure"`
18469
18470 // The current number of uncompressed object bytes processed.
18471 BytesProcessed *int64 `type:"long"`
18472
18473 // The current number of bytes of records payload data returned.
18474 BytesReturned *int64 `type:"long"`
18475
18476 // The current number of object bytes scanned.
18477 BytesScanned *int64 `type:"long"`
18478 }
18479
18480 // String returns the string representation
18481 func (s Progress) String() string {
18482 return awsutil.Prettify(s)
18483 }
18484
18485 // GoString returns the string representation
18486 func (s Progress) GoString() string {
18487 return s.String()
18488 }
18489
18490 // SetBytesProcessed sets the BytesProcessed field's value.
18491 func (s *Progress) SetBytesProcessed(v int64) *Progress {
18492 s.BytesProcessed = &v
18493 return s
18494 }
18495
18496 // SetBytesReturned sets the BytesReturned field's value.
18497 func (s *Progress) SetBytesReturned(v int64) *Progress {
18498 s.BytesReturned = &v
18499 return s
18500 }
18501
18502 // SetBytesScanned sets the BytesScanned field's value.
18503 func (s *Progress) SetBytesScanned(v int64) *Progress {
18504 s.BytesScanned = &v
18505 return s
18506 }
18507
18508 type ProgressEvent struct {
18509 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
18510
18511 // The Progress event details.
18512 Details *Progress `locationName:"Details" type:"structure"`
18513 }
18514
18515 // String returns the string representation
18516 func (s ProgressEvent) String() string {
18517 return awsutil.Prettify(s)
18518 }
18519
18520 // GoString returns the string representation
18521 func (s ProgressEvent) GoString() string {
18522 return s.String()
18523 }
18524
18525 // SetDetails sets the Details field's value.
18526 func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
18527 s.Details = v
18528 return s
18529 }
18530
18531 // The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
18532 func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
18533
18534 // UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value.
18535 // This method is only used internally within the SDK's EventStream handling.
18536 func (s *ProgressEvent) UnmarshalEvent(
18537 payloadUnmarshaler protocol.PayloadUnmarshaler,
18538 msg eventstream.Message,
18539 ) error {
18540 if err := payloadUnmarshaler.UnmarshalPayload(
18541 bytes.NewReader(msg.Payload), s,
18542 ); err != nil {
18543 return err
18544 }
18545 return nil
18546 }
18547
18548 // Specifies the Block Public Access configuration for an Amazon S3 bucket.
18549 type PublicAccessBlockConfiguration struct {
18550 _ struct{} `type:"structure"`
18551
18552 // Specifies whether Amazon S3 should block public access control lists (ACLs)
18553 // for this bucket and objects in this bucket. Setting this element to TRUE
18554 // causes the following behavior:
18555 //
18556 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is
18557 // public.
18558 //
18559 // * PUT Object calls fail if the request includes a public ACL.
18560 //
18561 // Enabling this setting doesn't affect existing policies or ACLs.
18562 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"`
18563
18564 // Specifies whether Amazon S3 should block public bucket policies for this
18565 // bucket. Setting this element to TRUE causes Amazon S3 to reject calls to
18566 // PUT Bucket policy if the specified bucket policy allows public access.
18567 //
18568 // Enabling this setting doesn't affect existing bucket policies.
18569 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"`
18570
18571 // Specifies whether Amazon S3 should ignore public ACLs for this bucket and
18572 // objects in this bucket. Setting this element to TRUE causes Amazon S3 to
18573 // ignore all public ACLs on this bucket and objects in this bucket.
18574 //
18575 // Enabling this setting doesn't affect the persistence of any existing ACLs
18576 // and doesn't prevent new public ACLs from being set.
18577 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"`
18578
18579 // Specifies whether Amazon S3 should restrict public bucket policies for this
18580 // bucket. Setting this element to TRUE restricts access to this bucket to only
18581 // AWS services and authorized users within this account if the bucket has a
18582 // public policy.
18583 //
18584 // Enabling this setting doesn't affect previously stored bucket policies, except
18585 // that public and cross-account access within any public bucket policy, including
18586 // non-public delegation to specific accounts, is blocked.
18587 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"`
18588 }
18589
18590 // String returns the string representation
18591 func (s PublicAccessBlockConfiguration) String() string {
18592 return awsutil.Prettify(s)
18593 }
18594
18595 // GoString returns the string representation
18596 func (s PublicAccessBlockConfiguration) GoString() string {
18597 return s.String()
18598 }
18599
18600 // SetBlockPublicAcls sets the BlockPublicAcls field's value.
18601 func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration {
18602 s.BlockPublicAcls = &v
18603 return s
18604 }
18605
18606 // SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
18607 func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration {
18608 s.BlockPublicPolicy = &v
18609 return s
18610 }
18611
18612 // SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
18613 func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration {
18614 s.IgnorePublicAcls = &v
18615 return s
18616 }
18617
18618 // SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
18619 func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration {
18620 s.RestrictPublicBuckets = &v
18621 return s
18622 }
18623
18624 type PutBucketAccelerateConfigurationInput struct {
18625 _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
18626
18627 // Specifies the Accelerate Configuration you want to set for the bucket.
18628 //
18629 // AccelerateConfiguration is a required field
18630 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18631
18632 // Name of the bucket for which the accelerate configuration is set.
18633 //
18634 // Bucket is a required field
18635 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18636 }
18637
18638 // String returns the string representation
18639 func (s PutBucketAccelerateConfigurationInput) String() string {
18640 return awsutil.Prettify(s)
18641 }
18642
18643 // GoString returns the string representation
18644 func (s PutBucketAccelerateConfigurationInput) GoString() string {
18645 return s.String()
18646 }
18647
18648 // Validate inspects the fields of the type to determine if they are valid.
18649 func (s *PutBucketAccelerateConfigurationInput) Validate() error {
18650 invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"}
18651 if s.AccelerateConfiguration == nil {
18652 invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration"))
18653 }
18654 if s.Bucket == nil {
18655 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18656 }
18657 if s.Bucket != nil && len(*s.Bucket) < 1 {
18658 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18659 }
18660
18661 if invalidParams.Len() > 0 {
18662 return invalidParams
18663 }
18664 return nil
18665 }
18666
18667 // SetAccelerateConfiguration sets the AccelerateConfiguration field's value.
18668 func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput {
18669 s.AccelerateConfiguration = v
18670 return s
18671 }
18672
18673 // SetBucket sets the Bucket field's value.
18674 func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput {
18675 s.Bucket = &v
18676 return s
18677 }
18678
18679 func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
18680 if s.Bucket == nil {
18681 return v
18682 }
18683 return *s.Bucket
18684 }
18685
18686 type PutBucketAccelerateConfigurationOutput struct {
18687 _ struct{} `type:"structure"`
18688 }
18689
18690 // String returns the string representation
18691 func (s PutBucketAccelerateConfigurationOutput) String() string {
18692 return awsutil.Prettify(s)
18693 }
18694
18695 // GoString returns the string representation
18696 func (s PutBucketAccelerateConfigurationOutput) GoString() string {
18697 return s.String()
18698 }
18699
18700 type PutBucketAclInput struct {
18701 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
18702
18703 // The canned ACL to apply to the bucket.
18704 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
18705
18706 // Contains the elements that set the ACL permissions for an object per grantee.
18707 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18708
18709 // Bucket is a required field
18710 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18711
18712 // Allows grantee the read, write, read ACP, and write ACP permissions on the
18713 // bucket.
18714 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
18715
18716 // Allows grantee to list the objects in the bucket.
18717 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
18718
18719 // Allows grantee to read the bucket ACL.
18720 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
18721
18722 // Allows grantee to create, overwrite, and delete any object in the bucket.
18723 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
18724
18725 // Allows grantee to write the ACL for the applicable bucket.
18726 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
18727 }
18728
18729 // String returns the string representation
18730 func (s PutBucketAclInput) String() string {
18731 return awsutil.Prettify(s)
18732 }
18733
18734 // GoString returns the string representation
18735 func (s PutBucketAclInput) GoString() string {
18736 return s.String()
18737 }
18738
18739 // Validate inspects the fields of the type to determine if they are valid.
18740 func (s *PutBucketAclInput) Validate() error {
18741 invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"}
18742 if s.Bucket == nil {
18743 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18744 }
18745 if s.Bucket != nil && len(*s.Bucket) < 1 {
18746 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18747 }
18748 if s.AccessControlPolicy != nil {
18749 if err := s.AccessControlPolicy.Validate(); err != nil {
18750 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
18751 }
18752 }
18753
18754 if invalidParams.Len() > 0 {
18755 return invalidParams
18756 }
18757 return nil
18758 }
18759
18760 // SetACL sets the ACL field's value.
18761 func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput {
18762 s.ACL = &v
18763 return s
18764 }
18765
18766 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
18767 func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput {
18768 s.AccessControlPolicy = v
18769 return s
18770 }
18771
18772 // SetBucket sets the Bucket field's value.
18773 func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
18774 s.Bucket = &v
18775 return s
18776 }
18777
18778 func (s *PutBucketAclInput) getBucket() (v string) {
18779 if s.Bucket == nil {
18780 return v
18781 }
18782 return *s.Bucket
18783 }
18784
18785 // SetGrantFullControl sets the GrantFullControl field's value.
18786 func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
18787 s.GrantFullControl = &v
18788 return s
18789 }
18790
18791 // SetGrantRead sets the GrantRead field's value.
18792 func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput {
18793 s.GrantRead = &v
18794 return s
18795 }
18796
18797 // SetGrantReadACP sets the GrantReadACP field's value.
18798 func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput {
18799 s.GrantReadACP = &v
18800 return s
18801 }
18802
18803 // SetGrantWrite sets the GrantWrite field's value.
18804 func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput {
18805 s.GrantWrite = &v
18806 return s
18807 }
18808
18809 // SetGrantWriteACP sets the GrantWriteACP field's value.
18810 func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
18811 s.GrantWriteACP = &v
18812 return s
18813 }
18814
18815 type PutBucketAclOutput struct {
18816 _ struct{} `type:"structure"`
18817 }
18818
18819 // String returns the string representation
18820 func (s PutBucketAclOutput) String() string {
18821 return awsutil.Prettify(s)
18822 }
18823
18824 // GoString returns the string representation
18825 func (s PutBucketAclOutput) GoString() string {
18826 return s.String()
18827 }
18828
18829 type PutBucketAnalyticsConfigurationInput struct {
18830 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
18831
18832 // The configuration and any analyses for the analytics filter.
18833 //
18834 // AnalyticsConfiguration is a required field
18835 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18836
18837 // The name of the bucket to which an analytics configuration is stored.
18838 //
18839 // Bucket is a required field
18840 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18841
18842 // The ID that identifies the analytics configuration.
18843 //
18844 // Id is a required field
18845 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
18846 }
18847
18848 // String returns the string representation
18849 func (s PutBucketAnalyticsConfigurationInput) String() string {
18850 return awsutil.Prettify(s)
18851 }
18852
18853 // GoString returns the string representation
18854 func (s PutBucketAnalyticsConfigurationInput) GoString() string {
18855 return s.String()
18856 }
18857
18858 // Validate inspects the fields of the type to determine if they are valid.
18859 func (s *PutBucketAnalyticsConfigurationInput) Validate() error {
18860 invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"}
18861 if s.AnalyticsConfiguration == nil {
18862 invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration"))
18863 }
18864 if s.Bucket == nil {
18865 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18866 }
18867 if s.Bucket != nil && len(*s.Bucket) < 1 {
18868 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18869 }
18870 if s.Id == nil {
18871 invalidParams.Add(request.NewErrParamRequired("Id"))
18872 }
18873 if s.AnalyticsConfiguration != nil {
18874 if err := s.AnalyticsConfiguration.Validate(); err != nil {
18875 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
18876 }
18877 }
18878
18879 if invalidParams.Len() > 0 {
18880 return invalidParams
18881 }
18882 return nil
18883 }
18884
18885 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
18886 func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput {
18887 s.AnalyticsConfiguration = v
18888 return s
18889 }
18890
18891 // SetBucket sets the Bucket field's value.
18892 func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput {
18893 s.Bucket = &v
18894 return s
18895 }
18896
18897 func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
18898 if s.Bucket == nil {
18899 return v
18900 }
18901 return *s.Bucket
18902 }
18903
18904 // SetId sets the Id field's value.
18905 func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
18906 s.Id = &v
18907 return s
18908 }
18909
18910 type PutBucketAnalyticsConfigurationOutput struct {
18911 _ struct{} `type:"structure"`
18912 }
18913
18914 // String returns the string representation
18915 func (s PutBucketAnalyticsConfigurationOutput) String() string {
18916 return awsutil.Prettify(s)
18917 }
18918
18919 // GoString returns the string representation
18920 func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
18921 return s.String()
18922 }
18923
18924 type PutBucketCorsInput struct {
18925 _ struct{} `type:"structure" payload:"CORSConfiguration"`
18926
18927 // Bucket is a required field
18928 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18929
18930 // Describes the cross-origin access configuration for objects in an Amazon
18931 // S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
18932 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
18933 // Simple Storage Service Developer Guide.
18934 //
18935 // CORSConfiguration is a required field
18936 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18937 }
18938
18939 // String returns the string representation
18940 func (s PutBucketCorsInput) String() string {
18941 return awsutil.Prettify(s)
18942 }
18943
18944 // GoString returns the string representation
18945 func (s PutBucketCorsInput) GoString() string {
18946 return s.String()
18947 }
18948
18949 // Validate inspects the fields of the type to determine if they are valid.
18950 func (s *PutBucketCorsInput) Validate() error {
18951 invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"}
18952 if s.Bucket == nil {
18953 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18954 }
18955 if s.Bucket != nil && len(*s.Bucket) < 1 {
18956 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18957 }
18958 if s.CORSConfiguration == nil {
18959 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration"))
18960 }
18961 if s.CORSConfiguration != nil {
18962 if err := s.CORSConfiguration.Validate(); err != nil {
18963 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams))
18964 }
18965 }
18966
18967 if invalidParams.Len() > 0 {
18968 return invalidParams
18969 }
18970 return nil
18971 }
18972
18973 // SetBucket sets the Bucket field's value.
18974 func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
18975 s.Bucket = &v
18976 return s
18977 }
18978
18979 func (s *PutBucketCorsInput) getBucket() (v string) {
18980 if s.Bucket == nil {
18981 return v
18982 }
18983 return *s.Bucket
18984 }
18985
18986 // SetCORSConfiguration sets the CORSConfiguration field's value.
18987 func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
18988 s.CORSConfiguration = v
18989 return s
18990 }
18991
18992 type PutBucketCorsOutput struct {
18993 _ struct{} `type:"structure"`
18994 }
18995
18996 // String returns the string representation
18997 func (s PutBucketCorsOutput) String() string {
18998 return awsutil.Prettify(s)
18999 }
19000
19001 // GoString returns the string representation
19002 func (s PutBucketCorsOutput) GoString() string {
19003 return s.String()
19004 }
19005
19006 type PutBucketEncryptionInput struct {
19007 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
19008
19009 // Specifies default encryption for a bucket using server-side encryption with
19010 // Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS). For information
19011 // about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket
19012 // Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
19013 // in the Amazon Simple Storage Service Developer Guide.
19014 //
19015 // Bucket is a required field
19016 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19017
19018 // Specifies the default server-side-encryption configuration.
19019 //
19020 // ServerSideEncryptionConfiguration is a required field
19021 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19022 }
19023
19024 // String returns the string representation
19025 func (s PutBucketEncryptionInput) String() string {
19026 return awsutil.Prettify(s)
19027 }
19028
19029 // GoString returns the string representation
19030 func (s PutBucketEncryptionInput) GoString() string {
19031 return s.String()
19032 }
19033
19034 // Validate inspects the fields of the type to determine if they are valid.
19035 func (s *PutBucketEncryptionInput) Validate() error {
19036 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"}
19037 if s.Bucket == nil {
19038 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19039 }
19040 if s.Bucket != nil && len(*s.Bucket) < 1 {
19041 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19042 }
19043 if s.ServerSideEncryptionConfiguration == nil {
19044 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
19045 }
19046 if s.ServerSideEncryptionConfiguration != nil {
19047 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
19048 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
19049 }
19050 }
19051
19052 if invalidParams.Len() > 0 {
19053 return invalidParams
19054 }
19055 return nil
19056 }
19057
19058 // SetBucket sets the Bucket field's value.
19059 func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
19060 s.Bucket = &v
19061 return s
19062 }
19063
19064 func (s *PutBucketEncryptionInput) getBucket() (v string) {
19065 if s.Bucket == nil {
19066 return v
19067 }
19068 return *s.Bucket
19069 }
19070
19071 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
19072 func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
19073 s.ServerSideEncryptionConfiguration = v
19074 return s
19075 }
19076
19077 type PutBucketEncryptionOutput struct {
19078 _ struct{} `type:"structure"`
19079 }
19080
19081 // String returns the string representation
19082 func (s PutBucketEncryptionOutput) String() string {
19083 return awsutil.Prettify(s)
19084 }
19085
19086 // GoString returns the string representation
19087 func (s PutBucketEncryptionOutput) GoString() string {
19088 return s.String()
19089 }
19090
19091 type PutBucketInventoryConfigurationInput struct {
19092 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
19093
19094 // The name of the bucket where the inventory configuration will be stored.
19095 //
19096 // Bucket is a required field
19097 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19098
19099 // The ID used to identify the inventory configuration.
19100 //
19101 // Id is a required field
19102 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19103
19104 // Specifies the inventory configuration.
19105 //
19106 // InventoryConfiguration is a required field
19107 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19108 }
19109
19110 // String returns the string representation
19111 func (s PutBucketInventoryConfigurationInput) String() string {
19112 return awsutil.Prettify(s)
19113 }
19114
19115 // GoString returns the string representation
19116 func (s PutBucketInventoryConfigurationInput) GoString() string {
19117 return s.String()
19118 }
19119
19120 // Validate inspects the fields of the type to determine if they are valid.
19121 func (s *PutBucketInventoryConfigurationInput) Validate() error {
19122 invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"}
19123 if s.Bucket == nil {
19124 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19125 }
19126 if s.Bucket != nil && len(*s.Bucket) < 1 {
19127 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19128 }
19129 if s.Id == nil {
19130 invalidParams.Add(request.NewErrParamRequired("Id"))
19131 }
19132 if s.InventoryConfiguration == nil {
19133 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration"))
19134 }
19135 if s.InventoryConfiguration != nil {
19136 if err := s.InventoryConfiguration.Validate(); err != nil {
19137 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams))
19138 }
19139 }
19140
19141 if invalidParams.Len() > 0 {
19142 return invalidParams
19143 }
19144 return nil
19145 }
19146
19147 // SetBucket sets the Bucket field's value.
19148 func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput {
19149 s.Bucket = &v
19150 return s
19151 }
19152
19153 func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
19154 if s.Bucket == nil {
19155 return v
19156 }
19157 return *s.Bucket
19158 }
19159
19160 // SetId sets the Id field's value.
19161 func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
19162 s.Id = &v
19163 return s
19164 }
19165
19166 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
19167 func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput {
19168 s.InventoryConfiguration = v
19169 return s
19170 }
19171
19172 type PutBucketInventoryConfigurationOutput struct {
19173 _ struct{} `type:"structure"`
19174 }
19175
19176 // String returns the string representation
19177 func (s PutBucketInventoryConfigurationOutput) String() string {
19178 return awsutil.Prettify(s)
19179 }
19180
19181 // GoString returns the string representation
19182 func (s PutBucketInventoryConfigurationOutput) GoString() string {
19183 return s.String()
19184 }
19185
19186 type PutBucketLifecycleConfigurationInput struct {
19187 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19188
19189 // Bucket is a required field
19190 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19191
19192 // Specifies the lifecycle configuration for objects in an Amazon S3 bucket.
19193 // For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
19194 // in the Amazon Simple Storage Service Developer Guide.
19195 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19196 }
19197
19198 // String returns the string representation
19199 func (s PutBucketLifecycleConfigurationInput) String() string {
19200 return awsutil.Prettify(s)
19201 }
19202
19203 // GoString returns the string representation
19204 func (s PutBucketLifecycleConfigurationInput) GoString() string {
19205 return s.String()
19206 }
19207
19208 // Validate inspects the fields of the type to determine if they are valid.
19209 func (s *PutBucketLifecycleConfigurationInput) Validate() error {
19210 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"}
19211 if s.Bucket == nil {
19212 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19213 }
19214 if s.Bucket != nil && len(*s.Bucket) < 1 {
19215 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19216 }
19217 if s.LifecycleConfiguration != nil {
19218 if err := s.LifecycleConfiguration.Validate(); err != nil {
19219 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19220 }
19221 }
19222
19223 if invalidParams.Len() > 0 {
19224 return invalidParams
19225 }
19226 return nil
19227 }
19228
19229 // SetBucket sets the Bucket field's value.
19230 func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput {
19231 s.Bucket = &v
19232 return s
19233 }
19234
19235 func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
19236 if s.Bucket == nil {
19237 return v
19238 }
19239 return *s.Bucket
19240 }
19241
19242 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19243 func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
19244 s.LifecycleConfiguration = v
19245 return s
19246 }
19247
19248 type PutBucketLifecycleConfigurationOutput struct {
19249 _ struct{} `type:"structure"`
19250 }
19251
19252 // String returns the string representation
19253 func (s PutBucketLifecycleConfigurationOutput) String() string {
19254 return awsutil.Prettify(s)
19255 }
19256
19257 // GoString returns the string representation
19258 func (s PutBucketLifecycleConfigurationOutput) GoString() string {
19259 return s.String()
19260 }
19261
19262 type PutBucketLifecycleInput struct {
19263 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19264
19265 // Bucket is a required field
19266 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19267
19268 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19269 }
19270
19271 // String returns the string representation
19272 func (s PutBucketLifecycleInput) String() string {
19273 return awsutil.Prettify(s)
19274 }
19275
19276 // GoString returns the string representation
19277 func (s PutBucketLifecycleInput) GoString() string {
19278 return s.String()
19279 }
19280
19281 // Validate inspects the fields of the type to determine if they are valid.
19282 func (s *PutBucketLifecycleInput) Validate() error {
19283 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"}
19284 if s.Bucket == nil {
19285 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19286 }
19287 if s.Bucket != nil && len(*s.Bucket) < 1 {
19288 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19289 }
19290 if s.LifecycleConfiguration != nil {
19291 if err := s.LifecycleConfiguration.Validate(); err != nil {
19292 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19293 }
19294 }
19295
19296 if invalidParams.Len() > 0 {
19297 return invalidParams
19298 }
19299 return nil
19300 }
19301
19302 // SetBucket sets the Bucket field's value.
19303 func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
19304 s.Bucket = &v
19305 return s
19306 }
19307
19308 func (s *PutBucketLifecycleInput) getBucket() (v string) {
19309 if s.Bucket == nil {
19310 return v
19311 }
19312 return *s.Bucket
19313 }
19314
19315 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19316 func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
19317 s.LifecycleConfiguration = v
19318 return s
19319 }
19320
19321 type PutBucketLifecycleOutput struct {
19322 _ struct{} `type:"structure"`
19323 }
19324
19325 // String returns the string representation
19326 func (s PutBucketLifecycleOutput) String() string {
19327 return awsutil.Prettify(s)
19328 }
19329
19330 // GoString returns the string representation
19331 func (s PutBucketLifecycleOutput) GoString() string {
19332 return s.String()
19333 }
19334
19335 type PutBucketLoggingInput struct {
19336 _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
19337
19338 // Bucket is a required field
19339 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19340
19341 // BucketLoggingStatus is a required field
19342 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19343 }
19344
19345 // String returns the string representation
19346 func (s PutBucketLoggingInput) String() string {
19347 return awsutil.Prettify(s)
19348 }
19349
19350 // GoString returns the string representation
19351 func (s PutBucketLoggingInput) GoString() string {
19352 return s.String()
19353 }
19354
19355 // Validate inspects the fields of the type to determine if they are valid.
19356 func (s *PutBucketLoggingInput) Validate() error {
19357 invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"}
19358 if s.Bucket == nil {
19359 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19360 }
19361 if s.Bucket != nil && len(*s.Bucket) < 1 {
19362 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19363 }
19364 if s.BucketLoggingStatus == nil {
19365 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus"))
19366 }
19367 if s.BucketLoggingStatus != nil {
19368 if err := s.BucketLoggingStatus.Validate(); err != nil {
19369 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams))
19370 }
19371 }
19372
19373 if invalidParams.Len() > 0 {
19374 return invalidParams
19375 }
19376 return nil
19377 }
19378
19379 // SetBucket sets the Bucket field's value.
19380 func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
19381 s.Bucket = &v
19382 return s
19383 }
19384
19385 func (s *PutBucketLoggingInput) getBucket() (v string) {
19386 if s.Bucket == nil {
19387 return v
19388 }
19389 return *s.Bucket
19390 }
19391
19392 // SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
19393 func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
19394 s.BucketLoggingStatus = v
19395 return s
19396 }
19397
19398 type PutBucketLoggingOutput struct {
19399 _ struct{} `type:"structure"`
19400 }
19401
19402 // String returns the string representation
19403 func (s PutBucketLoggingOutput) String() string {
19404 return awsutil.Prettify(s)
19405 }
19406
19407 // GoString returns the string representation
19408 func (s PutBucketLoggingOutput) GoString() string {
19409 return s.String()
19410 }
19411
19412 type PutBucketMetricsConfigurationInput struct {
19413 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
19414
19415 // The name of the bucket for which the metrics configuration is set.
19416 //
19417 // Bucket is a required field
19418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19419
19420 // The ID used to identify the metrics configuration.
19421 //
19422 // Id is a required field
19423 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19424
19425 // Specifies the metrics configuration.
19426 //
19427 // MetricsConfiguration is a required field
19428 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19429 }
19430
19431 // String returns the string representation
19432 func (s PutBucketMetricsConfigurationInput) String() string {
19433 return awsutil.Prettify(s)
19434 }
19435
19436 // GoString returns the string representation
19437 func (s PutBucketMetricsConfigurationInput) GoString() string {
19438 return s.String()
19439 }
19440
19441 // Validate inspects the fields of the type to determine if they are valid.
19442 func (s *PutBucketMetricsConfigurationInput) Validate() error {
19443 invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"}
19444 if s.Bucket == nil {
19445 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19446 }
19447 if s.Bucket != nil && len(*s.Bucket) < 1 {
19448 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19449 }
19450 if s.Id == nil {
19451 invalidParams.Add(request.NewErrParamRequired("Id"))
19452 }
19453 if s.MetricsConfiguration == nil {
19454 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration"))
19455 }
19456 if s.MetricsConfiguration != nil {
19457 if err := s.MetricsConfiguration.Validate(); err != nil {
19458 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
19459 }
19460 }
19461
19462 if invalidParams.Len() > 0 {
19463 return invalidParams
19464 }
19465 return nil
19466 }
19467
19468 // SetBucket sets the Bucket field's value.
19469 func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput {
19470 s.Bucket = &v
19471 return s
19472 }
19473
19474 func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
19475 if s.Bucket == nil {
19476 return v
19477 }
19478 return *s.Bucket
19479 }
19480
19481 // SetId sets the Id field's value.
19482 func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
19483 s.Id = &v
19484 return s
19485 }
19486
19487 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
19488 func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput {
19489 s.MetricsConfiguration = v
19490 return s
19491 }
19492
19493 type PutBucketMetricsConfigurationOutput struct {
19494 _ struct{} `type:"structure"`
19495 }
19496
19497 // String returns the string representation
19498 func (s PutBucketMetricsConfigurationOutput) String() string {
19499 return awsutil.Prettify(s)
19500 }
19501
19502 // GoString returns the string representation
19503 func (s PutBucketMetricsConfigurationOutput) GoString() string {
19504 return s.String()
19505 }
19506
19507 type PutBucketNotificationConfigurationInput struct {
19508 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19509
19510 // Bucket is a required field
19511 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19512
19513 // A container for specifying the notification configuration of the bucket.
19514 // If this element is empty, notifications are turned off for the bucket.
19515 //
19516 // NotificationConfiguration is a required field
19517 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19518 }
19519
19520 // String returns the string representation
19521 func (s PutBucketNotificationConfigurationInput) String() string {
19522 return awsutil.Prettify(s)
19523 }
19524
19525 // GoString returns the string representation
19526 func (s PutBucketNotificationConfigurationInput) GoString() string {
19527 return s.String()
19528 }
19529
19530 // Validate inspects the fields of the type to determine if they are valid.
19531 func (s *PutBucketNotificationConfigurationInput) Validate() error {
19532 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"}
19533 if s.Bucket == nil {
19534 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19535 }
19536 if s.Bucket != nil && len(*s.Bucket) < 1 {
19537 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19538 }
19539 if s.NotificationConfiguration == nil {
19540 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19541 }
19542 if s.NotificationConfiguration != nil {
19543 if err := s.NotificationConfiguration.Validate(); err != nil {
19544 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams))
19545 }
19546 }
19547
19548 if invalidParams.Len() > 0 {
19549 return invalidParams
19550 }
19551 return nil
19552 }
19553
19554 // SetBucket sets the Bucket field's value.
19555 func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput {
19556 s.Bucket = &v
19557 return s
19558 }
19559
19560 func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
19561 if s.Bucket == nil {
19562 return v
19563 }
19564 return *s.Bucket
19565 }
19566
19567 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
19568 func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
19569 s.NotificationConfiguration = v
19570 return s
19571 }
19572
19573 type PutBucketNotificationConfigurationOutput struct {
19574 _ struct{} `type:"structure"`
19575 }
19576
19577 // String returns the string representation
19578 func (s PutBucketNotificationConfigurationOutput) String() string {
19579 return awsutil.Prettify(s)
19580 }
19581
19582 // GoString returns the string representation
19583 func (s PutBucketNotificationConfigurationOutput) GoString() string {
19584 return s.String()
19585 }
19586
19587 type PutBucketNotificationInput struct {
19588 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19589
19590 // Bucket is a required field
19591 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19592
19593 // NotificationConfiguration is a required field
19594 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19595 }
19596
19597 // String returns the string representation
19598 func (s PutBucketNotificationInput) String() string {
19599 return awsutil.Prettify(s)
19600 }
19601
19602 // GoString returns the string representation
19603 func (s PutBucketNotificationInput) GoString() string {
19604 return s.String()
19605 }
19606
19607 // Validate inspects the fields of the type to determine if they are valid.
19608 func (s *PutBucketNotificationInput) Validate() error {
19609 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"}
19610 if s.Bucket == nil {
19611 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19612 }
19613 if s.Bucket != nil && len(*s.Bucket) < 1 {
19614 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19615 }
19616 if s.NotificationConfiguration == nil {
19617 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19618 }
19619
19620 if invalidParams.Len() > 0 {
19621 return invalidParams
19622 }
19623 return nil
19624 }
19625
19626 // SetBucket sets the Bucket field's value.
19627 func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput {
19628 s.Bucket = &v
19629 return s
19630 }
19631
19632 func (s *PutBucketNotificationInput) getBucket() (v string) {
19633 if s.Bucket == nil {
19634 return v
19635 }
19636 return *s.Bucket
19637 }
19638
19639 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
19640 func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
19641 s.NotificationConfiguration = v
19642 return s
19643 }
19644
19645 type PutBucketNotificationOutput struct {
19646 _ struct{} `type:"structure"`
19647 }
19648
19649 // String returns the string representation
19650 func (s PutBucketNotificationOutput) String() string {
19651 return awsutil.Prettify(s)
19652 }
19653
19654 // GoString returns the string representation
19655 func (s PutBucketNotificationOutput) GoString() string {
19656 return s.String()
19657 }
19658
19659 type PutBucketPolicyInput struct {
19660 _ struct{} `type:"structure" payload:"Policy"`
19661
19662 // Bucket is a required field
19663 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19664
19665 // Set this parameter to true to confirm that you want to remove your permissions
19666 // to change this bucket policy in the future.
19667 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
19668
19669 // The bucket policy as a JSON document.
19670 //
19671 // Policy is a required field
19672 Policy *string `type:"string" required:"true"`
19673 }
19674
19675 // String returns the string representation
19676 func (s PutBucketPolicyInput) String() string {
19677 return awsutil.Prettify(s)
19678 }
19679
19680 // GoString returns the string representation
19681 func (s PutBucketPolicyInput) GoString() string {
19682 return s.String()
19683 }
19684
19685 // Validate inspects the fields of the type to determine if they are valid.
19686 func (s *PutBucketPolicyInput) Validate() error {
19687 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"}
19688 if s.Bucket == nil {
19689 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19690 }
19691 if s.Bucket != nil && len(*s.Bucket) < 1 {
19692 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19693 }
19694 if s.Policy == nil {
19695 invalidParams.Add(request.NewErrParamRequired("Policy"))
19696 }
19697
19698 if invalidParams.Len() > 0 {
19699 return invalidParams
19700 }
19701 return nil
19702 }
19703
19704 // SetBucket sets the Bucket field's value.
19705 func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
19706 s.Bucket = &v
19707 return s
19708 }
19709
19710 func (s *PutBucketPolicyInput) getBucket() (v string) {
19711 if s.Bucket == nil {
19712 return v
19713 }
19714 return *s.Bucket
19715 }
19716
19717 // SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
19718 func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
19719 s.ConfirmRemoveSelfBucketAccess = &v
19720 return s
19721 }
19722
19723 // SetPolicy sets the Policy field's value.
19724 func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
19725 s.Policy = &v
19726 return s
19727 }
19728
19729 type PutBucketPolicyOutput struct {
19730 _ struct{} `type:"structure"`
19731 }
19732
19733 // String returns the string representation
19734 func (s PutBucketPolicyOutput) String() string {
19735 return awsutil.Prettify(s)
19736 }
19737
19738 // GoString returns the string representation
19739 func (s PutBucketPolicyOutput) GoString() string {
19740 return s.String()
19741 }
19742
19743 type PutBucketReplicationInput struct {
19744 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
19745
19746 // Bucket is a required field
19747 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19748
19749 // A container for replication rules. You can add up to 1,000 rules. The maximum
19750 // size of a replication configuration is 2 MB.
19751 //
19752 // ReplicationConfiguration is a required field
19753 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19754
19755 // A token that allows Amazon S3 object lock to be enabled for an existing bucket.
19756 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
19757 }
19758
19759 // String returns the string representation
19760 func (s PutBucketReplicationInput) String() string {
19761 return awsutil.Prettify(s)
19762 }
19763
19764 // GoString returns the string representation
19765 func (s PutBucketReplicationInput) GoString() string {
19766 return s.String()
19767 }
19768
19769 // Validate inspects the fields of the type to determine if they are valid.
19770 func (s *PutBucketReplicationInput) Validate() error {
19771 invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"}
19772 if s.Bucket == nil {
19773 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19774 }
19775 if s.Bucket != nil && len(*s.Bucket) < 1 {
19776 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19777 }
19778 if s.ReplicationConfiguration == nil {
19779 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
19780 }
19781 if s.ReplicationConfiguration != nil {
19782 if err := s.ReplicationConfiguration.Validate(); err != nil {
19783 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
19784 }
19785 }
19786
19787 if invalidParams.Len() > 0 {
19788 return invalidParams
19789 }
19790 return nil
19791 }
19792
19793 // SetBucket sets the Bucket field's value.
19794 func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput {
19795 s.Bucket = &v
19796 return s
19797 }
19798
19799 func (s *PutBucketReplicationInput) getBucket() (v string) {
19800 if s.Bucket == nil {
19801 return v
19802 }
19803 return *s.Bucket
19804 }
19805
19806 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
19807 func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
19808 s.ReplicationConfiguration = v
19809 return s
19810 }
19811
19812 // SetToken sets the Token field's value.
19813 func (s *PutBucketReplicationInput) SetToken(v string) *PutBucketReplicationInput {
19814 s.Token = &v
19815 return s
19816 }
19817
19818 type PutBucketReplicationOutput struct {
19819 _ struct{} `type:"structure"`
19820 }
19821
19822 // String returns the string representation
19823 func (s PutBucketReplicationOutput) String() string {
19824 return awsutil.Prettify(s)
19825 }
19826
19827 // GoString returns the string representation
19828 func (s PutBucketReplicationOutput) GoString() string {
19829 return s.String()
19830 }
19831
19832 type PutBucketRequestPaymentInput struct {
19833 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
19834
19835 // Bucket is a required field
19836 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19837
19838 // RequestPaymentConfiguration is a required field
19839 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19840 }
19841
19842 // String returns the string representation
19843 func (s PutBucketRequestPaymentInput) String() string {
19844 return awsutil.Prettify(s)
19845 }
19846
19847 // GoString returns the string representation
19848 func (s PutBucketRequestPaymentInput) GoString() string {
19849 return s.String()
19850 }
19851
19852 // Validate inspects the fields of the type to determine if they are valid.
19853 func (s *PutBucketRequestPaymentInput) Validate() error {
19854 invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"}
19855 if s.Bucket == nil {
19856 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19857 }
19858 if s.Bucket != nil && len(*s.Bucket) < 1 {
19859 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19860 }
19861 if s.RequestPaymentConfiguration == nil {
19862 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration"))
19863 }
19864 if s.RequestPaymentConfiguration != nil {
19865 if err := s.RequestPaymentConfiguration.Validate(); err != nil {
19866 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams))
19867 }
19868 }
19869
19870 if invalidParams.Len() > 0 {
19871 return invalidParams
19872 }
19873 return nil
19874 }
19875
19876 // SetBucket sets the Bucket field's value.
19877 func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput {
19878 s.Bucket = &v
19879 return s
19880 }
19881
19882 func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
19883 if s.Bucket == nil {
19884 return v
19885 }
19886 return *s.Bucket
19887 }
19888
19889 // SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
19890 func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
19891 s.RequestPaymentConfiguration = v
19892 return s
19893 }
19894
19895 type PutBucketRequestPaymentOutput struct {
19896 _ struct{} `type:"structure"`
19897 }
19898
19899 // String returns the string representation
19900 func (s PutBucketRequestPaymentOutput) String() string {
19901 return awsutil.Prettify(s)
19902 }
19903
19904 // GoString returns the string representation
19905 func (s PutBucketRequestPaymentOutput) GoString() string {
19906 return s.String()
19907 }
19908
19909 type PutBucketTaggingInput struct {
19910 _ struct{} `type:"structure" payload:"Tagging"`
19911
19912 // Bucket is a required field
19913 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19914
19915 // Tagging is a required field
19916 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19917 }
19918
19919 // String returns the string representation
19920 func (s PutBucketTaggingInput) String() string {
19921 return awsutil.Prettify(s)
19922 }
19923
19924 // GoString returns the string representation
19925 func (s PutBucketTaggingInput) GoString() string {
19926 return s.String()
19927 }
19928
19929 // Validate inspects the fields of the type to determine if they are valid.
19930 func (s *PutBucketTaggingInput) Validate() error {
19931 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"}
19932 if s.Bucket == nil {
19933 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19934 }
19935 if s.Bucket != nil && len(*s.Bucket) < 1 {
19936 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19937 }
19938 if s.Tagging == nil {
19939 invalidParams.Add(request.NewErrParamRequired("Tagging"))
19940 }
19941 if s.Tagging != nil {
19942 if err := s.Tagging.Validate(); err != nil {
19943 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
19944 }
19945 }
19946
19947 if invalidParams.Len() > 0 {
19948 return invalidParams
19949 }
19950 return nil
19951 }
19952
19953 // SetBucket sets the Bucket field's value.
19954 func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
19955 s.Bucket = &v
19956 return s
19957 }
19958
19959 func (s *PutBucketTaggingInput) getBucket() (v string) {
19960 if s.Bucket == nil {
19961 return v
19962 }
19963 return *s.Bucket
19964 }
19965
19966 // SetTagging sets the Tagging field's value.
19967 func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
19968 s.Tagging = v
19969 return s
19970 }
19971
19972 type PutBucketTaggingOutput struct {
19973 _ struct{} `type:"structure"`
19974 }
19975
19976 // String returns the string representation
19977 func (s PutBucketTaggingOutput) String() string {
19978 return awsutil.Prettify(s)
19979 }
19980
19981 // GoString returns the string representation
19982 func (s PutBucketTaggingOutput) GoString() string {
19983 return s.String()
19984 }
19985
19986 type PutBucketVersioningInput struct {
19987 _ struct{} `type:"structure" payload:"VersioningConfiguration"`
19988
19989 // Bucket is a required field
19990 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19991
19992 // The concatenation of the authentication device's serial number, a space,
19993 // and the value that is displayed on your authentication device.
19994 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
19995
19996 // Describes the versioning state of an Amazon S3 bucket. For more information,
19997 // see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html)
19998 // in the Amazon Simple Storage Service API Reference.
19999 //
20000 // VersioningConfiguration is a required field
20001 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20002 }
20003
20004 // String returns the string representation
20005 func (s PutBucketVersioningInput) String() string {
20006 return awsutil.Prettify(s)
20007 }
20008
20009 // GoString returns the string representation
20010 func (s PutBucketVersioningInput) GoString() string {
20011 return s.String()
20012 }
20013
20014 // Validate inspects the fields of the type to determine if they are valid.
20015 func (s *PutBucketVersioningInput) Validate() error {
20016 invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"}
20017 if s.Bucket == nil {
20018 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20019 }
20020 if s.Bucket != nil && len(*s.Bucket) < 1 {
20021 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20022 }
20023 if s.VersioningConfiguration == nil {
20024 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration"))
20025 }
20026
20027 if invalidParams.Len() > 0 {
20028 return invalidParams
20029 }
20030 return nil
20031 }
20032
20033 // SetBucket sets the Bucket field's value.
20034 func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput {
20035 s.Bucket = &v
20036 return s
20037 }
20038
20039 func (s *PutBucketVersioningInput) getBucket() (v string) {
20040 if s.Bucket == nil {
20041 return v
20042 }
20043 return *s.Bucket
20044 }
20045
20046 // SetMFA sets the MFA field's value.
20047 func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
20048 s.MFA = &v
20049 return s
20050 }
20051
20052 // SetVersioningConfiguration sets the VersioningConfiguration field's value.
20053 func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput {
20054 s.VersioningConfiguration = v
20055 return s
20056 }
20057
20058 type PutBucketVersioningOutput struct {
20059 _ struct{} `type:"structure"`
20060 }
20061
20062 // String returns the string representation
20063 func (s PutBucketVersioningOutput) String() string {
20064 return awsutil.Prettify(s)
20065 }
20066
20067 // GoString returns the string representation
20068 func (s PutBucketVersioningOutput) GoString() string {
20069 return s.String()
20070 }
20071
20072 type PutBucketWebsiteInput struct {
20073 _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
20074
20075 // Bucket is a required field
20076 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20077
20078 // Specifies website configuration parameters for an Amazon S3 bucket.
20079 //
20080 // WebsiteConfiguration is a required field
20081 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20082 }
20083
20084 // String returns the string representation
20085 func (s PutBucketWebsiteInput) String() string {
20086 return awsutil.Prettify(s)
20087 }
20088
20089 // GoString returns the string representation
20090 func (s PutBucketWebsiteInput) GoString() string {
20091 return s.String()
20092 }
20093
20094 // Validate inspects the fields of the type to determine if they are valid.
20095 func (s *PutBucketWebsiteInput) Validate() error {
20096 invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"}
20097 if s.Bucket == nil {
20098 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20099 }
20100 if s.Bucket != nil && len(*s.Bucket) < 1 {
20101 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20102 }
20103 if s.WebsiteConfiguration == nil {
20104 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration"))
20105 }
20106 if s.WebsiteConfiguration != nil {
20107 if err := s.WebsiteConfiguration.Validate(); err != nil {
20108 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams))
20109 }
20110 }
20111
20112 if invalidParams.Len() > 0 {
20113 return invalidParams
20114 }
20115 return nil
20116 }
20117
20118 // SetBucket sets the Bucket field's value.
20119 func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
20120 s.Bucket = &v
20121 return s
20122 }
20123
20124 func (s *PutBucketWebsiteInput) getBucket() (v string) {
20125 if s.Bucket == nil {
20126 return v
20127 }
20128 return *s.Bucket
20129 }
20130
20131 // SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
20132 func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
20133 s.WebsiteConfiguration = v
20134 return s
20135 }
20136
20137 type PutBucketWebsiteOutput struct {
20138 _ struct{} `type:"structure"`
20139 }
20140
20141 // String returns the string representation
20142 func (s PutBucketWebsiteOutput) String() string {
20143 return awsutil.Prettify(s)
20144 }
20145
20146 // GoString returns the string representation
20147 func (s PutBucketWebsiteOutput) GoString() string {
20148 return s.String()
20149 }
20150
20151 type PutObjectAclInput struct {
20152 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
20153
20154 // The canned ACL to apply to the object.
20155 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20156
20157 // Contains the elements that set the ACL permissions for an object per grantee.
20158 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20159
20160 // Bucket is a required field
20161 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20162
20163 // Allows grantee the read, write, read ACP, and write ACP permissions on the
20164 // bucket.
20165 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20166
20167 // Allows grantee to list the objects in the bucket.
20168 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20169
20170 // Allows grantee to read the bucket ACL.
20171 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20172
20173 // Allows grantee to create, overwrite, and delete any object in the bucket.
20174 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
20175
20176 // Allows grantee to write the ACL for the applicable bucket.
20177 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20178
20179 // Key is a required field
20180 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20181
20182 // Confirms that the requester knows that she or he will be charged for the
20183 // request. Bucket owners need not specify this parameter in their requests.
20184 // Documentation on downloading objects from requester pays buckets can be found
20185 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20186 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20187
20188 // VersionId used to reference a specific version of the object.
20189 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20190 }
20191
20192 // String returns the string representation
20193 func (s PutObjectAclInput) String() string {
20194 return awsutil.Prettify(s)
20195 }
20196
20197 // GoString returns the string representation
20198 func (s PutObjectAclInput) GoString() string {
20199 return s.String()
20200 }
20201
20202 // Validate inspects the fields of the type to determine if they are valid.
20203 func (s *PutObjectAclInput) Validate() error {
20204 invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"}
20205 if s.Bucket == nil {
20206 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20207 }
20208 if s.Bucket != nil && len(*s.Bucket) < 1 {
20209 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20210 }
20211 if s.Key == nil {
20212 invalidParams.Add(request.NewErrParamRequired("Key"))
20213 }
20214 if s.Key != nil && len(*s.Key) < 1 {
20215 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20216 }
20217 if s.AccessControlPolicy != nil {
20218 if err := s.AccessControlPolicy.Validate(); err != nil {
20219 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
20220 }
20221 }
20222
20223 if invalidParams.Len() > 0 {
20224 return invalidParams
20225 }
20226 return nil
20227 }
20228
20229 // SetACL sets the ACL field's value.
20230 func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput {
20231 s.ACL = &v
20232 return s
20233 }
20234
20235 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
20236 func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput {
20237 s.AccessControlPolicy = v
20238 return s
20239 }
20240
20241 // SetBucket sets the Bucket field's value.
20242 func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
20243 s.Bucket = &v
20244 return s
20245 }
20246
20247 func (s *PutObjectAclInput) getBucket() (v string) {
20248 if s.Bucket == nil {
20249 return v
20250 }
20251 return *s.Bucket
20252 }
20253
20254 // SetGrantFullControl sets the GrantFullControl field's value.
20255 func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
20256 s.GrantFullControl = &v
20257 return s
20258 }
20259
20260 // SetGrantRead sets the GrantRead field's value.
20261 func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput {
20262 s.GrantRead = &v
20263 return s
20264 }
20265
20266 // SetGrantReadACP sets the GrantReadACP field's value.
20267 func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput {
20268 s.GrantReadACP = &v
20269 return s
20270 }
20271
20272 // SetGrantWrite sets the GrantWrite field's value.
20273 func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput {
20274 s.GrantWrite = &v
20275 return s
20276 }
20277
20278 // SetGrantWriteACP sets the GrantWriteACP field's value.
20279 func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput {
20280 s.GrantWriteACP = &v
20281 return s
20282 }
20283
20284 // SetKey sets the Key field's value.
20285 func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput {
20286 s.Key = &v
20287 return s
20288 }
20289
20290 // SetRequestPayer sets the RequestPayer field's value.
20291 func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput {
20292 s.RequestPayer = &v
20293 return s
20294 }
20295
20296 // SetVersionId sets the VersionId field's value.
20297 func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
20298 s.VersionId = &v
20299 return s
20300 }
20301
20302 type PutObjectAclOutput struct {
20303 _ struct{} `type:"structure"`
20304
20305 // If present, indicates that the requester was successfully charged for the
20306 // request.
20307 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20308 }
20309
20310 // String returns the string representation
20311 func (s PutObjectAclOutput) String() string {
20312 return awsutil.Prettify(s)
20313 }
20314
20315 // GoString returns the string representation
20316 func (s PutObjectAclOutput) GoString() string {
20317 return s.String()
20318 }
20319
20320 // SetRequestCharged sets the RequestCharged field's value.
20321 func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
20322 s.RequestCharged = &v
20323 return s
20324 }
20325
20326 type PutObjectInput struct {
20327 _ struct{} `type:"structure" payload:"Body"`
20328
20329 // The canned ACL to apply to the object.
20330 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20331
20332 // Object data.
20333 Body io.ReadSeeker `type:"blob"`
20334
20335 // Name of the bucket to which the PUT operation was initiated.
20336 //
20337 // Bucket is a required field
20338 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20339
20340 // Specifies caching behavior along the request/reply chain.
20341 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
20342
20343 // Specifies presentational information for the object.
20344 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
20345
20346 // Specifies what content encodings have been applied to the object and thus
20347 // what decoding mechanisms must be applied to obtain the media-type referenced
20348 // by the Content-Type header field.
20349 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
20350
20351 // The language the content is in.
20352 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
20353
20354 // Size of the body in bytes. This parameter is useful when the size of the
20355 // body cannot be determined automatically.
20356 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
20357
20358 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
20359 // auto-populated when using the command from the CLI. This parameted is required
20360 // if object lock parameters are specified.
20361 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
20362
20363 // A standard MIME type describing the format of the object data.
20364 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
20365
20366 // The date and time at which the object is no longer cacheable.
20367 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
20368
20369 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
20370 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20371
20372 // Allows grantee to read the object data and its metadata.
20373 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20374
20375 // Allows grantee to read the object ACL.
20376 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20377
20378 // Allows grantee to write the ACL for the applicable object.
20379 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20380
20381 // Object key for which the PUT operation was initiated.
20382 //
20383 // Key is a required field
20384 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20385
20386 // A map of metadata to store with the object in S3.
20387 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
20388
20389 // The Legal Hold status that you want to apply to the specified object.
20390 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
20391
20392 // The object lock mode that you want to apply to this object.
20393 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
20394
20395 // The date and time when you want this object's object lock to expire.
20396 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
20397
20398 // Confirms that the requester knows that she or he will be charged for the
20399 // request. Bucket owners need not specify this parameter in their requests.
20400 // Documentation on downloading objects from requester pays buckets can be found
20401 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20402 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20403
20404 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
20405 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20406
20407 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
20408 // data. This value is used to store the object and then it is discarded; Amazon
20409 // does not store the encryption key. The key must be appropriate for use with
20410 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
20411 // header.
20412 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
20413
20414 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
20415 // Amazon S3 uses this header for a message integrity check to ensure the encryption
20416 // key was transmitted without error.
20417 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20418
20419 // Specifies the AWS KMS Encryption Context to use for object encryption. The
20420 // value of this header is a base64-encoded UTF-8 string holding JSON with the
20421 // encryption context key-value pairs.
20422 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
20423
20424 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
20425 // requests for an object protected by AWS KMS will fail if not made via SSL
20426 // or using SigV4. Documentation on configuring any of the officially supported
20427 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
20428 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
20429
20430 // The Server-side encryption algorithm used when storing this object in S3
20431 // (e.g., AES256, aws:kms).
20432 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20433
20434 // The type of storage to use for the object. Defaults to 'STANDARD'.
20435 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
20436
20437 // The tag-set for the object. The tag-set must be encoded as URL Query parameters.
20438 // (For example, "Key1=Value1")
20439 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
20440
20441 // If the bucket is configured as a website, redirects requests for this object
20442 // to another object in the same bucket or to an external URL. Amazon S3 stores
20443 // the value of this header in the object metadata.
20444 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
20445 }
20446
20447 // String returns the string representation
20448 func (s PutObjectInput) String() string {
20449 return awsutil.Prettify(s)
20450 }
20451
20452 // GoString returns the string representation
20453 func (s PutObjectInput) GoString() string {
20454 return s.String()
20455 }
20456
20457 // Validate inspects the fields of the type to determine if they are valid.
20458 func (s *PutObjectInput) Validate() error {
20459 invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"}
20460 if s.Bucket == nil {
20461 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20462 }
20463 if s.Bucket != nil && len(*s.Bucket) < 1 {
20464 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20465 }
20466 if s.Key == nil {
20467 invalidParams.Add(request.NewErrParamRequired("Key"))
20468 }
20469 if s.Key != nil && len(*s.Key) < 1 {
20470 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20471 }
20472
20473 if invalidParams.Len() > 0 {
20474 return invalidParams
20475 }
20476 return nil
20477 }
20478
20479 // SetACL sets the ACL field's value.
20480 func (s *PutObjectInput) SetACL(v string) *PutObjectInput {
20481 s.ACL = &v
20482 return s
20483 }
20484
20485 // SetBody sets the Body field's value.
20486 func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput {
20487 s.Body = v
20488 return s
20489 }
20490
20491 // SetBucket sets the Bucket field's value.
20492 func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
20493 s.Bucket = &v
20494 return s
20495 }
20496
20497 func (s *PutObjectInput) getBucket() (v string) {
20498 if s.Bucket == nil {
20499 return v
20500 }
20501 return *s.Bucket
20502 }
20503
20504 // SetCacheControl sets the CacheControl field's value.
20505 func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
20506 s.CacheControl = &v
20507 return s
20508 }
20509
20510 // SetContentDisposition sets the ContentDisposition field's value.
20511 func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
20512 s.ContentDisposition = &v
20513 return s
20514 }
20515
20516 // SetContentEncoding sets the ContentEncoding field's value.
20517 func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput {
20518 s.ContentEncoding = &v
20519 return s
20520 }
20521
20522 // SetContentLanguage sets the ContentLanguage field's value.
20523 func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput {
20524 s.ContentLanguage = &v
20525 return s
20526 }
20527
20528 // SetContentLength sets the ContentLength field's value.
20529 func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
20530 s.ContentLength = &v
20531 return s
20532 }
20533
20534 // SetContentMD5 sets the ContentMD5 field's value.
20535 func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
20536 s.ContentMD5 = &v
20537 return s
20538 }
20539
20540 // SetContentType sets the ContentType field's value.
20541 func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
20542 s.ContentType = &v
20543 return s
20544 }
20545
20546 // SetExpires sets the Expires field's value.
20547 func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput {
20548 s.Expires = &v
20549 return s
20550 }
20551
20552 // SetGrantFullControl sets the GrantFullControl field's value.
20553 func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput {
20554 s.GrantFullControl = &v
20555 return s
20556 }
20557
20558 // SetGrantRead sets the GrantRead field's value.
20559 func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput {
20560 s.GrantRead = &v
20561 return s
20562 }
20563
20564 // SetGrantReadACP sets the GrantReadACP field's value.
20565 func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput {
20566 s.GrantReadACP = &v
20567 return s
20568 }
20569
20570 // SetGrantWriteACP sets the GrantWriteACP field's value.
20571 func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput {
20572 s.GrantWriteACP = &v
20573 return s
20574 }
20575
20576 // SetKey sets the Key field's value.
20577 func (s *PutObjectInput) SetKey(v string) *PutObjectInput {
20578 s.Key = &v
20579 return s
20580 }
20581
20582 // SetMetadata sets the Metadata field's value.
20583 func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput {
20584 s.Metadata = v
20585 return s
20586 }
20587
20588 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
20589 func (s *PutObjectInput) SetObjectLockLegalHoldStatus(v string) *PutObjectInput {
20590 s.ObjectLockLegalHoldStatus = &v
20591 return s
20592 }
20593
20594 // SetObjectLockMode sets the ObjectLockMode field's value.
20595 func (s *PutObjectInput) SetObjectLockMode(v string) *PutObjectInput {
20596 s.ObjectLockMode = &v
20597 return s
20598 }
20599
20600 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
20601 func (s *PutObjectInput) SetObjectLockRetainUntilDate(v time.Time) *PutObjectInput {
20602 s.ObjectLockRetainUntilDate = &v
20603 return s
20604 }
20605
20606 // SetRequestPayer sets the RequestPayer field's value.
20607 func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput {
20608 s.RequestPayer = &v
20609 return s
20610 }
20611
20612 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20613 func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput {
20614 s.SSECustomerAlgorithm = &v
20615 return s
20616 }
20617
20618 // SetSSECustomerKey sets the SSECustomerKey field's value.
20619 func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
20620 s.SSECustomerKey = &v
20621 return s
20622 }
20623
20624 func (s *PutObjectInput) getSSECustomerKey() (v string) {
20625 if s.SSECustomerKey == nil {
20626 return v
20627 }
20628 return *s.SSECustomerKey
20629 }
20630
20631 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20632 func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
20633 s.SSECustomerKeyMD5 = &v
20634 return s
20635 }
20636
20637 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20638 func (s *PutObjectInput) SetSSEKMSEncryptionContext(v string) *PutObjectInput {
20639 s.SSEKMSEncryptionContext = &v
20640 return s
20641 }
20642
20643 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20644 func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
20645 s.SSEKMSKeyId = &v
20646 return s
20647 }
20648
20649 // SetServerSideEncryption sets the ServerSideEncryption field's value.
20650 func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput {
20651 s.ServerSideEncryption = &v
20652 return s
20653 }
20654
20655 // SetStorageClass sets the StorageClass field's value.
20656 func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput {
20657 s.StorageClass = &v
20658 return s
20659 }
20660
20661 // SetTagging sets the Tagging field's value.
20662 func (s *PutObjectInput) SetTagging(v string) *PutObjectInput {
20663 s.Tagging = &v
20664 return s
20665 }
20666
20667 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
20668 func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
20669 s.WebsiteRedirectLocation = &v
20670 return s
20671 }
20672
20673 type PutObjectLegalHoldInput struct {
20674 _ struct{} `type:"structure" payload:"LegalHold"`
20675
20676 // The bucket containing the object that you want to place a Legal Hold on.
20677 //
20678 // Bucket is a required field
20679 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20680
20681 // The key name for the object that you want to place a Legal Hold on.
20682 //
20683 // Key is a required field
20684 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20685
20686 // Container element for the Legal Hold configuration you want to apply to the
20687 // specified object.
20688 LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20689
20690 // Confirms that the requester knows that she or he will be charged for the
20691 // request. Bucket owners need not specify this parameter in their requests.
20692 // Documentation on downloading objects from requester pays buckets can be found
20693 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20694 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20695
20696 // The version ID of the object that you want to place a Legal Hold on.
20697 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20698 }
20699
20700 // String returns the string representation
20701 func (s PutObjectLegalHoldInput) String() string {
20702 return awsutil.Prettify(s)
20703 }
20704
20705 // GoString returns the string representation
20706 func (s PutObjectLegalHoldInput) GoString() string {
20707 return s.String()
20708 }
20709
20710 // Validate inspects the fields of the type to determine if they are valid.
20711 func (s *PutObjectLegalHoldInput) Validate() error {
20712 invalidParams := request.ErrInvalidParams{Context: "PutObjectLegalHoldInput"}
20713 if s.Bucket == nil {
20714 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20715 }
20716 if s.Bucket != nil && len(*s.Bucket) < 1 {
20717 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20718 }
20719 if s.Key == nil {
20720 invalidParams.Add(request.NewErrParamRequired("Key"))
20721 }
20722 if s.Key != nil && len(*s.Key) < 1 {
20723 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20724 }
20725
20726 if invalidParams.Len() > 0 {
20727 return invalidParams
20728 }
20729 return nil
20730 }
20731
20732 // SetBucket sets the Bucket field's value.
20733 func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput {
20734 s.Bucket = &v
20735 return s
20736 }
20737
20738 func (s *PutObjectLegalHoldInput) getBucket() (v string) {
20739 if s.Bucket == nil {
20740 return v
20741 }
20742 return *s.Bucket
20743 }
20744
20745 // SetKey sets the Key field's value.
20746 func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput {
20747 s.Key = &v
20748 return s
20749 }
20750
20751 // SetLegalHold sets the LegalHold field's value.
20752 func (s *PutObjectLegalHoldInput) SetLegalHold(v *ObjectLockLegalHold) *PutObjectLegalHoldInput {
20753 s.LegalHold = v
20754 return s
20755 }
20756
20757 // SetRequestPayer sets the RequestPayer field's value.
20758 func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput {
20759 s.RequestPayer = &v
20760 return s
20761 }
20762
20763 // SetVersionId sets the VersionId field's value.
20764 func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput {
20765 s.VersionId = &v
20766 return s
20767 }
20768
20769 type PutObjectLegalHoldOutput struct {
20770 _ struct{} `type:"structure"`
20771
20772 // If present, indicates that the requester was successfully charged for the
20773 // request.
20774 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20775 }
20776
20777 // String returns the string representation
20778 func (s PutObjectLegalHoldOutput) String() string {
20779 return awsutil.Prettify(s)
20780 }
20781
20782 // GoString returns the string representation
20783 func (s PutObjectLegalHoldOutput) GoString() string {
20784 return s.String()
20785 }
20786
20787 // SetRequestCharged sets the RequestCharged field's value.
20788 func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHoldOutput {
20789 s.RequestCharged = &v
20790 return s
20791 }
20792
20793 type PutObjectLockConfigurationInput struct {
20794 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
20795
20796 // The bucket whose object lock configuration you want to create or replace.
20797 //
20798 // Bucket is a required field
20799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20800
20801 // The object lock configuration that you want to apply to the specified bucket.
20802 ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20803
20804 // Confirms that the requester knows that she or he will be charged for the
20805 // request. Bucket owners need not specify this parameter in their requests.
20806 // Documentation on downloading objects from requester pays buckets can be found
20807 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20808 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20809
20810 // A token to allow Amazon S3 object lock to be enabled for an existing bucket.
20811 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
20812 }
20813
20814 // String returns the string representation
20815 func (s PutObjectLockConfigurationInput) String() string {
20816 return awsutil.Prettify(s)
20817 }
20818
20819 // GoString returns the string representation
20820 func (s PutObjectLockConfigurationInput) GoString() string {
20821 return s.String()
20822 }
20823
20824 // Validate inspects the fields of the type to determine if they are valid.
20825 func (s *PutObjectLockConfigurationInput) Validate() error {
20826 invalidParams := request.ErrInvalidParams{Context: "PutObjectLockConfigurationInput"}
20827 if s.Bucket == nil {
20828 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20829 }
20830 if s.Bucket != nil && len(*s.Bucket) < 1 {
20831 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20832 }
20833
20834 if invalidParams.Len() > 0 {
20835 return invalidParams
20836 }
20837 return nil
20838 }
20839
20840 // SetBucket sets the Bucket field's value.
20841 func (s *PutObjectLockConfigurationInput) SetBucket(v string) *PutObjectLockConfigurationInput {
20842 s.Bucket = &v
20843 return s
20844 }
20845
20846 func (s *PutObjectLockConfigurationInput) getBucket() (v string) {
20847 if s.Bucket == nil {
20848 return v
20849 }
20850 return *s.Bucket
20851 }
20852
20853 // SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
20854 func (s *PutObjectLockConfigurationInput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *PutObjectLockConfigurationInput {
20855 s.ObjectLockConfiguration = v
20856 return s
20857 }
20858
20859 // SetRequestPayer sets the RequestPayer field's value.
20860 func (s *PutObjectLockConfigurationInput) SetRequestPayer(v string) *PutObjectLockConfigurationInput {
20861 s.RequestPayer = &v
20862 return s
20863 }
20864
20865 // SetToken sets the Token field's value.
20866 func (s *PutObjectLockConfigurationInput) SetToken(v string) *PutObjectLockConfigurationInput {
20867 s.Token = &v
20868 return s
20869 }
20870
20871 type PutObjectLockConfigurationOutput struct {
20872 _ struct{} `type:"structure"`
20873
20874 // If present, indicates that the requester was successfully charged for the
20875 // request.
20876 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20877 }
20878
20879 // String returns the string representation
20880 func (s PutObjectLockConfigurationOutput) String() string {
20881 return awsutil.Prettify(s)
20882 }
20883
20884 // GoString returns the string representation
20885 func (s PutObjectLockConfigurationOutput) GoString() string {
20886 return s.String()
20887 }
20888
20889 // SetRequestCharged sets the RequestCharged field's value.
20890 func (s *PutObjectLockConfigurationOutput) SetRequestCharged(v string) *PutObjectLockConfigurationOutput {
20891 s.RequestCharged = &v
20892 return s
20893 }
20894
20895 type PutObjectOutput struct {
20896 _ struct{} `type:"structure"`
20897
20898 // Entity tag for the uploaded object.
20899 ETag *string `location:"header" locationName:"ETag" type:"string"`
20900
20901 // If the object expiration is configured, this will contain the expiration
20902 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
20903 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
20904
20905 // If present, indicates that the requester was successfully charged for the
20906 // request.
20907 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20908
20909 // If server-side encryption with a customer-provided encryption key was requested,
20910 // the response will include this header confirming the encryption algorithm
20911 // used.
20912 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20913
20914 // If server-side encryption with a customer-provided encryption key was requested,
20915 // the response will include this header to provide round trip message integrity
20916 // verification of the customer-provided encryption key.
20917 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20918
20919 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
20920 // The value of this header is a base64-encoded UTF-8 string holding JSON with
20921 // the encryption context key-value pairs.
20922 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
20923
20924 // If present, specifies the ID of the AWS Key Management Service (KMS) master
20925 // encryption key that was used for the object.
20926 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
20927
20928 // The Server-side encryption algorithm used when storing this object in S3
20929 // (e.g., AES256, aws:kms).
20930 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20931
20932 // Version of the object.
20933 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
20934 }
20935
20936 // String returns the string representation
20937 func (s PutObjectOutput) String() string {
20938 return awsutil.Prettify(s)
20939 }
20940
20941 // GoString returns the string representation
20942 func (s PutObjectOutput) GoString() string {
20943 return s.String()
20944 }
20945
20946 // SetETag sets the ETag field's value.
20947 func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
20948 s.ETag = &v
20949 return s
20950 }
20951
20952 // SetExpiration sets the Expiration field's value.
20953 func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput {
20954 s.Expiration = &v
20955 return s
20956 }
20957
20958 // SetRequestCharged sets the RequestCharged field's value.
20959 func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput {
20960 s.RequestCharged = &v
20961 return s
20962 }
20963
20964 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20965 func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput {
20966 s.SSECustomerAlgorithm = &v
20967 return s
20968 }
20969
20970 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20971 func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
20972 s.SSECustomerKeyMD5 = &v
20973 return s
20974 }
20975
20976 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20977 func (s *PutObjectOutput) SetSSEKMSEncryptionContext(v string) *PutObjectOutput {
20978 s.SSEKMSEncryptionContext = &v
20979 return s
20980 }
20981
20982 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20983 func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
20984 s.SSEKMSKeyId = &v
20985 return s
20986 }
20987
20988 // SetServerSideEncryption sets the ServerSideEncryption field's value.
20989 func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput {
20990 s.ServerSideEncryption = &v
20991 return s
20992 }
20993
20994 // SetVersionId sets the VersionId field's value.
20995 func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
20996 s.VersionId = &v
20997 return s
20998 }
20999
21000 type PutObjectRetentionInput struct {
21001 _ struct{} `type:"structure" payload:"Retention"`
21002
21003 // The bucket that contains the object you want to apply this Object Retention
21004 // configuration to.
21005 //
21006 // Bucket is a required field
21007 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21008
21009 // Indicates whether this operation should bypass Governance-mode restrictions.j
21010 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
21011
21012 // The key name for the object that you want to apply this Object Retention
21013 // configuration to.
21014 //
21015 // Key is a required field
21016 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21017
21018 // Confirms that the requester knows that she or he will be charged for the
21019 // request. Bucket owners need not specify this parameter in their requests.
21020 // Documentation on downloading objects from requester pays buckets can be found
21021 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
21022 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
21023
21024 // The container element for the Object Retention configuration.
21025 Retention *ObjectLockRetention `locationName:"Retention" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21026
21027 // The version ID for the object that you want to apply this Object Retention
21028 // configuration to.
21029 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
21030 }
21031
21032 // String returns the string representation
21033 func (s PutObjectRetentionInput) String() string {
21034 return awsutil.Prettify(s)
21035 }
21036
21037 // GoString returns the string representation
21038 func (s PutObjectRetentionInput) GoString() string {
21039 return s.String()
21040 }
21041
21042 // Validate inspects the fields of the type to determine if they are valid.
21043 func (s *PutObjectRetentionInput) Validate() error {
21044 invalidParams := request.ErrInvalidParams{Context: "PutObjectRetentionInput"}
21045 if s.Bucket == nil {
21046 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21047 }
21048 if s.Bucket != nil && len(*s.Bucket) < 1 {
21049 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21050 }
21051 if s.Key == nil {
21052 invalidParams.Add(request.NewErrParamRequired("Key"))
21053 }
21054 if s.Key != nil && len(*s.Key) < 1 {
21055 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21056 }
21057
21058 if invalidParams.Len() > 0 {
21059 return invalidParams
21060 }
21061 return nil
21062 }
21063
21064 // SetBucket sets the Bucket field's value.
21065 func (s *PutObjectRetentionInput) SetBucket(v string) *PutObjectRetentionInput {
21066 s.Bucket = &v
21067 return s
21068 }
21069
21070 func (s *PutObjectRetentionInput) getBucket() (v string) {
21071 if s.Bucket == nil {
21072 return v
21073 }
21074 return *s.Bucket
21075 }
21076
21077 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
21078 func (s *PutObjectRetentionInput) SetBypassGovernanceRetention(v bool) *PutObjectRetentionInput {
21079 s.BypassGovernanceRetention = &v
21080 return s
21081 }
21082
21083 // SetKey sets the Key field's value.
21084 func (s *PutObjectRetentionInput) SetKey(v string) *PutObjectRetentionInput {
21085 s.Key = &v
21086 return s
21087 }
21088
21089 // SetRequestPayer sets the RequestPayer field's value.
21090 func (s *PutObjectRetentionInput) SetRequestPayer(v string) *PutObjectRetentionInput {
21091 s.RequestPayer = &v
21092 return s
21093 }
21094
21095 // SetRetention sets the Retention field's value.
21096 func (s *PutObjectRetentionInput) SetRetention(v *ObjectLockRetention) *PutObjectRetentionInput {
21097 s.Retention = v
21098 return s
21099 }
21100
21101 // SetVersionId sets the VersionId field's value.
21102 func (s *PutObjectRetentionInput) SetVersionId(v string) *PutObjectRetentionInput {
21103 s.VersionId = &v
21104 return s
21105 }
21106
21107 type PutObjectRetentionOutput struct {
21108 _ struct{} `type:"structure"`
21109
21110 // If present, indicates that the requester was successfully charged for the
21111 // request.
21112 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
21113 }
21114
21115 // String returns the string representation
21116 func (s PutObjectRetentionOutput) String() string {
21117 return awsutil.Prettify(s)
21118 }
21119
21120 // GoString returns the string representation
21121 func (s PutObjectRetentionOutput) GoString() string {
21122 return s.String()
21123 }
21124
21125 // SetRequestCharged sets the RequestCharged field's value.
21126 func (s *PutObjectRetentionOutput) SetRequestCharged(v string) *PutObjectRetentionOutput {
21127 s.RequestCharged = &v
21128 return s
21129 }
21130
21131 type PutObjectTaggingInput struct {
21132 _ struct{} `type:"structure" payload:"Tagging"`
21133
21134 // Bucket is a required field
21135 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21136
21137 // Key is a required field
21138 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21139
21140 // Tagging is a required field
21141 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21142
21143 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
21144 }
21145
21146 // String returns the string representation
21147 func (s PutObjectTaggingInput) String() string {
21148 return awsutil.Prettify(s)
21149 }
21150
21151 // GoString returns the string representation
21152 func (s PutObjectTaggingInput) GoString() string {
21153 return s.String()
21154 }
21155
21156 // Validate inspects the fields of the type to determine if they are valid.
21157 func (s *PutObjectTaggingInput) Validate() error {
21158 invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"}
21159 if s.Bucket == nil {
21160 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21161 }
21162 if s.Bucket != nil && len(*s.Bucket) < 1 {
21163 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21164 }
21165 if s.Key == nil {
21166 invalidParams.Add(request.NewErrParamRequired("Key"))
21167 }
21168 if s.Key != nil && len(*s.Key) < 1 {
21169 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21170 }
21171 if s.Tagging == nil {
21172 invalidParams.Add(request.NewErrParamRequired("Tagging"))
21173 }
21174 if s.Tagging != nil {
21175 if err := s.Tagging.Validate(); err != nil {
21176 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
21177 }
21178 }
21179
21180 if invalidParams.Len() > 0 {
21181 return invalidParams
21182 }
21183 return nil
21184 }
21185
21186 // SetBucket sets the Bucket field's value.
21187 func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
21188 s.Bucket = &v
21189 return s
21190 }
21191
21192 func (s *PutObjectTaggingInput) getBucket() (v string) {
21193 if s.Bucket == nil {
21194 return v
21195 }
21196 return *s.Bucket
21197 }
21198
21199 // SetKey sets the Key field's value.
21200 func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
21201 s.Key = &v
21202 return s
21203 }
21204
21205 // SetTagging sets the Tagging field's value.
21206 func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput {
21207 s.Tagging = v
21208 return s
21209 }
21210
21211 // SetVersionId sets the VersionId field's value.
21212 func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
21213 s.VersionId = &v
21214 return s
21215 }
21216
21217 type PutObjectTaggingOutput struct {
21218 _ struct{} `type:"structure"`
21219
21220 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
21221 }
21222
21223 // String returns the string representation
21224 func (s PutObjectTaggingOutput) String() string {
21225 return awsutil.Prettify(s)
21226 }
21227
21228 // GoString returns the string representation
21229 func (s PutObjectTaggingOutput) GoString() string {
21230 return s.String()
21231 }
21232
21233 // SetVersionId sets the VersionId field's value.
21234 func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput {
21235 s.VersionId = &v
21236 return s
21237 }
21238
21239 type PutPublicAccessBlockInput struct {
21240 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
21241
21242 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
21243 // want to set.
21244 //
21245 // Bucket is a required field
21246 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21247
21248 // The PublicAccessBlock configuration that you want to apply to this Amazon
21249 // S3 bucket. You can enable the configuration options in any combination. For
21250 // more information about when Amazon S3 considers a bucket or object public,
21251 // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
21252 // in the Amazon Simple Storage Service Developer Guide.
21253 //
21254 // PublicAccessBlockConfiguration is a required field
21255 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21256 }
21257
21258 // String returns the string representation
21259 func (s PutPublicAccessBlockInput) String() string {
21260 return awsutil.Prettify(s)
21261 }
21262
21263 // GoString returns the string representation
21264 func (s PutPublicAccessBlockInput) GoString() string {
21265 return s.String()
21266 }
21267
21268 // Validate inspects the fields of the type to determine if they are valid.
21269 func (s *PutPublicAccessBlockInput) Validate() error {
21270 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"}
21271 if s.Bucket == nil {
21272 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21273 }
21274 if s.Bucket != nil && len(*s.Bucket) < 1 {
21275 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21276 }
21277 if s.PublicAccessBlockConfiguration == nil {
21278 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration"))
21279 }
21280
21281 if invalidParams.Len() > 0 {
21282 return invalidParams
21283 }
21284 return nil
21285 }
21286
21287 // SetBucket sets the Bucket field's value.
21288 func (s *PutPublicAccessBlockInput) SetBucket(v string) *PutPublicAccessBlockInput {
21289 s.Bucket = &v
21290 return s
21291 }
21292
21293 func (s *PutPublicAccessBlockInput) getBucket() (v string) {
21294 if s.Bucket == nil {
21295 return v
21296 }
21297 return *s.Bucket
21298 }
21299
21300 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
21301 func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput {
21302 s.PublicAccessBlockConfiguration = v
21303 return s
21304 }
21305
21306 type PutPublicAccessBlockOutput struct {
21307 _ struct{} `type:"structure"`
21308 }
21309
21310 // String returns the string representation
21311 func (s PutPublicAccessBlockOutput) String() string {
21312 return awsutil.Prettify(s)
21313 }
21314
21315 // GoString returns the string representation
21316 func (s PutPublicAccessBlockOutput) GoString() string {
21317 return s.String()
21318 }
21319
21320 // Specifies the configuration for publishing messages to an Amazon Simple Queue
21321 // Service (Amazon SQS) queue when Amazon S3 detects specified events.
21322 type QueueConfiguration struct {
21323 _ struct{} `type:"structure"`
21324
21325 // Events is a required field
21326 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
21327
21328 // Specifies object key name filtering rules. For information about key name
21329 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
21330 // in the Amazon Simple Storage Service Developer Guide.
21331 Filter *NotificationConfigurationFilter `type:"structure"`
21332
21333 // An optional unique identifier for configurations in a notification configuration.
21334 // If you don't provide one, Amazon S3 will assign an ID.
21335 Id *string `type:"string"`
21336
21337 // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
21338 // publishes a message when it detects events of the specified type.
21339 //
21340 // QueueArn is a required field
21341 QueueArn *string `locationName:"Queue" type:"string" required:"true"`
21342 }
21343
21344 // String returns the string representation
21345 func (s QueueConfiguration) String() string {
21346 return awsutil.Prettify(s)
21347 }
21348
21349 // GoString returns the string representation
21350 func (s QueueConfiguration) GoString() string {
21351 return s.String()
21352 }
21353
21354 // Validate inspects the fields of the type to determine if they are valid.
21355 func (s *QueueConfiguration) Validate() error {
21356 invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"}
21357 if s.Events == nil {
21358 invalidParams.Add(request.NewErrParamRequired("Events"))
21359 }
21360 if s.QueueArn == nil {
21361 invalidParams.Add(request.NewErrParamRequired("QueueArn"))
21362 }
21363
21364 if invalidParams.Len() > 0 {
21365 return invalidParams
21366 }
21367 return nil
21368 }
21369
21370 // SetEvents sets the Events field's value.
21371 func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration {
21372 s.Events = v
21373 return s
21374 }
21375
21376 // SetFilter sets the Filter field's value.
21377 func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration {
21378 s.Filter = v
21379 return s
21380 }
21381
21382 // SetId sets the Id field's value.
21383 func (s *QueueConfiguration) SetId(v string) *QueueConfiguration {
21384 s.Id = &v
21385 return s
21386 }
21387
21388 // SetQueueArn sets the QueueArn field's value.
21389 func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
21390 s.QueueArn = &v
21391 return s
21392 }
21393
21394 type QueueConfigurationDeprecated struct {
21395 _ struct{} `type:"structure"`
21396
21397 // The bucket event for which to send notifications.
21398 //
21399 // Deprecated: Event has been deprecated
21400 Event *string `deprecated:"true" type:"string" enum:"Event"`
21401
21402 Events []*string `locationName:"Event" type:"list" flattened:"true"`
21403
21404 // An optional unique identifier for configurations in a notification configuration.
21405 // If you don't provide one, Amazon S3 will assign an ID.
21406 Id *string `type:"string"`
21407
21408 Queue *string `type:"string"`
21409 }
21410
21411 // String returns the string representation
21412 func (s QueueConfigurationDeprecated) String() string {
21413 return awsutil.Prettify(s)
21414 }
21415
21416 // GoString returns the string representation
21417 func (s QueueConfigurationDeprecated) GoString() string {
21418 return s.String()
21419 }
21420
21421 // SetEvent sets the Event field's value.
21422 func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated {
21423 s.Event = &v
21424 return s
21425 }
21426
21427 // SetEvents sets the Events field's value.
21428 func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated {
21429 s.Events = v
21430 return s
21431 }
21432
21433 // SetId sets the Id field's value.
21434 func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated {
21435 s.Id = &v
21436 return s
21437 }
21438
21439 // SetQueue sets the Queue field's value.
21440 func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated {
21441 s.Queue = &v
21442 return s
21443 }
21444
21445 type RecordsEvent struct {
21446 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
21447
21448 // The byte array of partial, one or more result records.
21449 //
21450 // Payload is automatically base64 encoded/decoded by the SDK.
21451 Payload []byte `type:"blob"`
21452 }
21453
21454 // String returns the string representation
21455 func (s RecordsEvent) String() string {
21456 return awsutil.Prettify(s)
21457 }
21458
21459 // GoString returns the string representation
21460 func (s RecordsEvent) GoString() string {
21461 return s.String()
21462 }
21463
21464 // SetPayload sets the Payload field's value.
21465 func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
21466 s.Payload = v
21467 return s
21468 }
21469
21470 // The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
21471 func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
21472
21473 // UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value.
21474 // This method is only used internally within the SDK's EventStream handling.
21475 func (s *RecordsEvent) UnmarshalEvent(
21476 payloadUnmarshaler protocol.PayloadUnmarshaler,
21477 msg eventstream.Message,
21478 ) error {
21479 s.Payload = make([]byte, len(msg.Payload))
21480 copy(s.Payload, msg.Payload)
21481 return nil
21482 }
21483
21484 // Specifies how requests are redirected. In the event of an error, you can
21485 // specify a different error code to return.
21486 type Redirect struct {
21487 _ struct{} `type:"structure"`
21488
21489 // The host name to use in the redirect request.
21490 HostName *string `type:"string"`
21491
21492 // The HTTP redirect code to use on the response. Not required if one of the
21493 // siblings is present.
21494 HttpRedirectCode *string `type:"string"`
21495
21496 // Protocol to use when redirecting requests. The default is the protocol that
21497 // is used in the original request.
21498 Protocol *string `type:"string" enum:"Protocol"`
21499
21500 // The object key prefix to use in the redirect request. For example, to redirect
21501 // requests for all pages with prefix docs/ (objects in the docs/ folder) to
21502 // documents/, you can set a condition block with KeyPrefixEquals set to docs/
21503 // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required
21504 // if one of the siblings is present. Can be present only if ReplaceKeyWith
21505 // is not provided.
21506 ReplaceKeyPrefixWith *string `type:"string"`
21507
21508 // The specific object key to use in the redirect request. For example, redirect
21509 // request to error.html. Not required if one of the siblings is present. Can
21510 // be present only if ReplaceKeyPrefixWith is not provided.
21511 ReplaceKeyWith *string `type:"string"`
21512 }
21513
21514 // String returns the string representation
21515 func (s Redirect) String() string {
21516 return awsutil.Prettify(s)
21517 }
21518
21519 // GoString returns the string representation
21520 func (s Redirect) GoString() string {
21521 return s.String()
21522 }
21523
21524 // SetHostName sets the HostName field's value.
21525 func (s *Redirect) SetHostName(v string) *Redirect {
21526 s.HostName = &v
21527 return s
21528 }
21529
21530 // SetHttpRedirectCode sets the HttpRedirectCode field's value.
21531 func (s *Redirect) SetHttpRedirectCode(v string) *Redirect {
21532 s.HttpRedirectCode = &v
21533 return s
21534 }
21535
21536 // SetProtocol sets the Protocol field's value.
21537 func (s *Redirect) SetProtocol(v string) *Redirect {
21538 s.Protocol = &v
21539 return s
21540 }
21541
21542 // SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
21543 func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect {
21544 s.ReplaceKeyPrefixWith = &v
21545 return s
21546 }
21547
21548 // SetReplaceKeyWith sets the ReplaceKeyWith field's value.
21549 func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
21550 s.ReplaceKeyWith = &v
21551 return s
21552 }
21553
21554 // Specifies the redirect behavior of all requests to a website endpoint of
21555 // an Amazon S3 bucket.
21556 type RedirectAllRequestsTo struct {
21557 _ struct{} `type:"structure"`
21558
21559 // Name of the host where requests are redirected.
21560 //
21561 // HostName is a required field
21562 HostName *string `type:"string" required:"true"`
21563
21564 // Protocol to use when redirecting requests. The default is the protocol that
21565 // is used in the original request.
21566 Protocol *string `type:"string" enum:"Protocol"`
21567 }
21568
21569 // String returns the string representation
21570 func (s RedirectAllRequestsTo) String() string {
21571 return awsutil.Prettify(s)
21572 }
21573
21574 // GoString returns the string representation
21575 func (s RedirectAllRequestsTo) GoString() string {
21576 return s.String()
21577 }
21578
21579 // Validate inspects the fields of the type to determine if they are valid.
21580 func (s *RedirectAllRequestsTo) Validate() error {
21581 invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"}
21582 if s.HostName == nil {
21583 invalidParams.Add(request.NewErrParamRequired("HostName"))
21584 }
21585
21586 if invalidParams.Len() > 0 {
21587 return invalidParams
21588 }
21589 return nil
21590 }
21591
21592 // SetHostName sets the HostName field's value.
21593 func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo {
21594 s.HostName = &v
21595 return s
21596 }
21597
21598 // SetProtocol sets the Protocol field's value.
21599 func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
21600 s.Protocol = &v
21601 return s
21602 }
21603
21604 // A container for replication rules. You can add up to 1,000 rules. The maximum
21605 // size of a replication configuration is 2 MB.
21606 type ReplicationConfiguration struct {
21607 _ struct{} `type:"structure"`
21608
21609 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management
21610 // (IAM) role that Amazon S3 assumes when replicating objects. For more information,
21611 // see How to Set Up Cross-Region Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-how-setup.html)
21612 // in the Amazon Simple Storage Service Developer Guide.
21613 //
21614 // Role is a required field
21615 Role *string `type:"string" required:"true"`
21616
21617 // A container for one or more replication rules. A replication configuration
21618 // must have at least one rule and can contain a maximum of 1,000 rules.
21619 //
21620 // Rules is a required field
21621 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
21622 }
21623
21624 // String returns the string representation
21625 func (s ReplicationConfiguration) String() string {
21626 return awsutil.Prettify(s)
21627 }
21628
21629 // GoString returns the string representation
21630 func (s ReplicationConfiguration) GoString() string {
21631 return s.String()
21632 }
21633
21634 // Validate inspects the fields of the type to determine if they are valid.
21635 func (s *ReplicationConfiguration) Validate() error {
21636 invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"}
21637 if s.Role == nil {
21638 invalidParams.Add(request.NewErrParamRequired("Role"))
21639 }
21640 if s.Rules == nil {
21641 invalidParams.Add(request.NewErrParamRequired("Rules"))
21642 }
21643 if s.Rules != nil {
21644 for i, v := range s.Rules {
21645 if v == nil {
21646 continue
21647 }
21648 if err := v.Validate(); err != nil {
21649 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
21650 }
21651 }
21652 }
21653
21654 if invalidParams.Len() > 0 {
21655 return invalidParams
21656 }
21657 return nil
21658 }
21659
21660 // SetRole sets the Role field's value.
21661 func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration {
21662 s.Role = &v
21663 return s
21664 }
21665
21666 // SetRules sets the Rules field's value.
21667 func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
21668 s.Rules = v
21669 return s
21670 }
21671
21672 // Specifies which Amazon S3 objects to replicate and where to store the replicas.
21673 type ReplicationRule struct {
21674 _ struct{} `type:"structure"`
21675
21676 // Specifies whether Amazon S3 should replicate delete makers.
21677 DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"`
21678
21679 // A container for information about the replication destination.
21680 //
21681 // Destination is a required field
21682 Destination *Destination `type:"structure" required:"true"`
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 Filter *ReplicationRuleFilter `type:"structure"`
21687
21688 // A unique identifier for the rule. The maximum value is 255 characters.
21689 ID *string `type:"string"`
21690
21691 // An object keyname prefix that identifies the object or objects to which the
21692 // rule applies. The maximum prefix length is 1,024 characters. To include all
21693 // objects in a bucket, specify an empty string.
21694 //
21695 // Deprecated: Prefix has been deprecated
21696 Prefix *string `deprecated:"true" type:"string"`
21697
21698 // The priority associated with the rule. If you specify multiple rules in a
21699 // replication configuration, Amazon S3 prioritizes the rules to prevent conflicts
21700 // when filtering. If two or more rules identify the same object based on a
21701 // specified filter, the rule with higher priority takes precedence. For example:
21702 //
21703 // * Same object quality prefix based filter criteria If prefixes you specified
21704 // in multiple rules overlap
21705 //
21706 // * Same object qualify tag based filter criteria specified in multiple
21707 // rules
21708 //
21709 // For more information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
21710 // in the Amazon S3 Developer Guide.
21711 Priority *int64 `type:"integer"`
21712
21713 // A container that describes additional filters for identifying the source
21714 // objects that you want to replicate. You can choose to enable or disable the
21715 // replication of these objects. Currently, Amazon S3 supports only the filter
21716 // that you can specify for objects created with server-side encryption using
21717 // an AWS KMS-Managed Key (SSE-KMS).
21718 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
21719
21720 // Specifies whether the rule is enabled.
21721 //
21722 // Status is a required field
21723 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
21724 }
21725
21726 // String returns the string representation
21727 func (s ReplicationRule) String() string {
21728 return awsutil.Prettify(s)
21729 }
21730
21731 // GoString returns the string representation
21732 func (s ReplicationRule) GoString() string {
21733 return s.String()
21734 }
21735
21736 // Validate inspects the fields of the type to determine if they are valid.
21737 func (s *ReplicationRule) Validate() error {
21738 invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"}
21739 if s.Destination == nil {
21740 invalidParams.Add(request.NewErrParamRequired("Destination"))
21741 }
21742 if s.Status == nil {
21743 invalidParams.Add(request.NewErrParamRequired("Status"))
21744 }
21745 if s.Destination != nil {
21746 if err := s.Destination.Validate(); err != nil {
21747 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
21748 }
21749 }
21750 if s.Filter != nil {
21751 if err := s.Filter.Validate(); err != nil {
21752 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
21753 }
21754 }
21755 if s.SourceSelectionCriteria != nil {
21756 if err := s.SourceSelectionCriteria.Validate(); err != nil {
21757 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
21758 }
21759 }
21760
21761 if invalidParams.Len() > 0 {
21762 return invalidParams
21763 }
21764 return nil
21765 }
21766
21767 // SetDeleteMarkerReplication sets the DeleteMarkerReplication field's value.
21768 func (s *ReplicationRule) SetDeleteMarkerReplication(v *DeleteMarkerReplication) *ReplicationRule {
21769 s.DeleteMarkerReplication = v
21770 return s
21771 }
21772
21773 // SetDestination sets the Destination field's value.
21774 func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule {
21775 s.Destination = v
21776 return s
21777 }
21778
21779 // SetFilter sets the Filter field's value.
21780 func (s *ReplicationRule) SetFilter(v *ReplicationRuleFilter) *ReplicationRule {
21781 s.Filter = v
21782 return s
21783 }
21784
21785 // SetID sets the ID field's value.
21786 func (s *ReplicationRule) SetID(v string) *ReplicationRule {
21787 s.ID = &v
21788 return s
21789 }
21790
21791 // SetPrefix sets the Prefix field's value.
21792 func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
21793 s.Prefix = &v
21794 return s
21795 }
21796
21797 // SetPriority sets the Priority field's value.
21798 func (s *ReplicationRule) SetPriority(v int64) *ReplicationRule {
21799 s.Priority = &v
21800 return s
21801 }
21802
21803 // SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
21804 func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
21805 s.SourceSelectionCriteria = v
21806 return s
21807 }
21808
21809 // SetStatus sets the Status field's value.
21810 func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
21811 s.Status = &v
21812 return s
21813 }
21814
21815 type ReplicationRuleAndOperator struct {
21816 _ struct{} `type:"structure"`
21817
21818 Prefix *string `type:"string"`
21819
21820 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
21821 }
21822
21823 // String returns the string representation
21824 func (s ReplicationRuleAndOperator) String() string {
21825 return awsutil.Prettify(s)
21826 }
21827
21828 // GoString returns the string representation
21829 func (s ReplicationRuleAndOperator) GoString() string {
21830 return s.String()
21831 }
21832
21833 // Validate inspects the fields of the type to determine if they are valid.
21834 func (s *ReplicationRuleAndOperator) Validate() error {
21835 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleAndOperator"}
21836 if s.Tags != nil {
21837 for i, v := range s.Tags {
21838 if v == nil {
21839 continue
21840 }
21841 if err := v.Validate(); err != nil {
21842 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21843 }
21844 }
21845 }
21846
21847 if invalidParams.Len() > 0 {
21848 return invalidParams
21849 }
21850 return nil
21851 }
21852
21853 // SetPrefix sets the Prefix field's value.
21854 func (s *ReplicationRuleAndOperator) SetPrefix(v string) *ReplicationRuleAndOperator {
21855 s.Prefix = &v
21856 return s
21857 }
21858
21859 // SetTags sets the Tags field's value.
21860 func (s *ReplicationRuleAndOperator) SetTags(v []*Tag) *ReplicationRuleAndOperator {
21861 s.Tags = v
21862 return s
21863 }
21864
21865 // A filter that identifies the subset of objects to which the replication rule
21866 // applies. A Filter must specify exactly one Prefix, Tag, or an And child element.
21867 type ReplicationRuleFilter struct {
21868 _ struct{} `type:"structure"`
21869
21870 // A container for specifying rule filters. The filters determine the subset
21871 // of objects to which the rule applies. This element is required only if you
21872 // specify more than one filter. For example:
21873 //
21874 // * If you specify both a Prefix and a Tag filter, wrap these filters in
21875 // an And tag.
21876 //
21877 // * If you specify a filter based on multiple tags, wrap the Tag elements
21878 // in an And tag.
21879 And *ReplicationRuleAndOperator `type:"structure"`
21880
21881 // An object keyname prefix that identifies the subset of objects to which the
21882 // rule applies.
21883 Prefix *string `type:"string"`
21884
21885 // A container for specifying a tag key and value.
21886 //
21887 // The rule applies only to objects that have the tag in their tag set.
21888 Tag *Tag `type:"structure"`
21889 }
21890
21891 // String returns the string representation
21892 func (s ReplicationRuleFilter) String() string {
21893 return awsutil.Prettify(s)
21894 }
21895
21896 // GoString returns the string representation
21897 func (s ReplicationRuleFilter) GoString() string {
21898 return s.String()
21899 }
21900
21901 // Validate inspects the fields of the type to determine if they are valid.
21902 func (s *ReplicationRuleFilter) Validate() error {
21903 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleFilter"}
21904 if s.And != nil {
21905 if err := s.And.Validate(); err != nil {
21906 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
21907 }
21908 }
21909 if s.Tag != nil {
21910 if err := s.Tag.Validate(); err != nil {
21911 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
21912 }
21913 }
21914
21915 if invalidParams.Len() > 0 {
21916 return invalidParams
21917 }
21918 return nil
21919 }
21920
21921 // SetAnd sets the And field's value.
21922 func (s *ReplicationRuleFilter) SetAnd(v *ReplicationRuleAndOperator) *ReplicationRuleFilter {
21923 s.And = v
21924 return s
21925 }
21926
21927 // SetPrefix sets the Prefix field's value.
21928 func (s *ReplicationRuleFilter) SetPrefix(v string) *ReplicationRuleFilter {
21929 s.Prefix = &v
21930 return s
21931 }
21932
21933 // SetTag sets the Tag field's value.
21934 func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter {
21935 s.Tag = v
21936 return s
21937 }
21938
21939 type RequestPaymentConfiguration struct {
21940 _ struct{} `type:"structure"`
21941
21942 // Specifies who pays for the download and request fees.
21943 //
21944 // Payer is a required field
21945 Payer *string `type:"string" required:"true" enum:"Payer"`
21946 }
21947
21948 // String returns the string representation
21949 func (s RequestPaymentConfiguration) String() string {
21950 return awsutil.Prettify(s)
21951 }
21952
21953 // GoString returns the string representation
21954 func (s RequestPaymentConfiguration) GoString() string {
21955 return s.String()
21956 }
21957
21958 // Validate inspects the fields of the type to determine if they are valid.
21959 func (s *RequestPaymentConfiguration) Validate() error {
21960 invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"}
21961 if s.Payer == nil {
21962 invalidParams.Add(request.NewErrParamRequired("Payer"))
21963 }
21964
21965 if invalidParams.Len() > 0 {
21966 return invalidParams
21967 }
21968 return nil
21969 }
21970
21971 // SetPayer sets the Payer field's value.
21972 func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration {
21973 s.Payer = &v
21974 return s
21975 }
21976
21977 type RequestProgress struct {
21978 _ struct{} `type:"structure"`
21979
21980 // Specifies whether periodic QueryProgress frames should be sent. Valid values:
21981 // TRUE, FALSE. Default value: FALSE.
21982 Enabled *bool `type:"boolean"`
21983 }
21984
21985 // String returns the string representation
21986 func (s RequestProgress) String() string {
21987 return awsutil.Prettify(s)
21988 }
21989
21990 // GoString returns the string representation
21991 func (s RequestProgress) GoString() string {
21992 return s.String()
21993 }
21994
21995 // SetEnabled sets the Enabled field's value.
21996 func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
21997 s.Enabled = &v
21998 return s
21999 }
22000
22001 type RestoreObjectInput struct {
22002 _ struct{} `type:"structure" payload:"RestoreRequest"`
22003
22004 // Bucket is a required field
22005 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22006
22007 // Key is a required field
22008 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
22009
22010 // Confirms that the requester knows that she or he will be charged for the
22011 // request. Bucket owners need not specify this parameter in their requests.
22012 // Documentation on downloading objects from requester pays buckets can be found
22013 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
22014 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
22015
22016 // Container for restore job parameters.
22017 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
22018
22019 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
22020 }
22021
22022 // String returns the string representation
22023 func (s RestoreObjectInput) String() string {
22024 return awsutil.Prettify(s)
22025 }
22026
22027 // GoString returns the string representation
22028 func (s RestoreObjectInput) GoString() string {
22029 return s.String()
22030 }
22031
22032 // Validate inspects the fields of the type to determine if they are valid.
22033 func (s *RestoreObjectInput) Validate() error {
22034 invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"}
22035 if s.Bucket == nil {
22036 invalidParams.Add(request.NewErrParamRequired("Bucket"))
22037 }
22038 if s.Bucket != nil && len(*s.Bucket) < 1 {
22039 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22040 }
22041 if s.Key == nil {
22042 invalidParams.Add(request.NewErrParamRequired("Key"))
22043 }
22044 if s.Key != nil && len(*s.Key) < 1 {
22045 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22046 }
22047 if s.RestoreRequest != nil {
22048 if err := s.RestoreRequest.Validate(); err != nil {
22049 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams))
22050 }
22051 }
22052
22053 if invalidParams.Len() > 0 {
22054 return invalidParams
22055 }
22056 return nil
22057 }
22058
22059 // SetBucket sets the Bucket field's value.
22060 func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
22061 s.Bucket = &v
22062 return s
22063 }
22064
22065 func (s *RestoreObjectInput) getBucket() (v string) {
22066 if s.Bucket == nil {
22067 return v
22068 }
22069 return *s.Bucket
22070 }
22071
22072 // SetKey sets the Key field's value.
22073 func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
22074 s.Key = &v
22075 return s
22076 }
22077
22078 // SetRequestPayer sets the RequestPayer field's value.
22079 func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput {
22080 s.RequestPayer = &v
22081 return s
22082 }
22083
22084 // SetRestoreRequest sets the RestoreRequest field's value.
22085 func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput {
22086 s.RestoreRequest = v
22087 return s
22088 }
22089
22090 // SetVersionId sets the VersionId field's value.
22091 func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
22092 s.VersionId = &v
22093 return s
22094 }
22095
22096 type RestoreObjectOutput struct {
22097 _ struct{} `type:"structure"`
22098
22099 // If present, indicates that the requester was successfully charged for the
22100 // request.
22101 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
22102
22103 // Indicates the path in the provided S3 output location where Select results
22104 // will be restored to.
22105 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"`
22106 }
22107
22108 // String returns the string representation
22109 func (s RestoreObjectOutput) String() string {
22110 return awsutil.Prettify(s)
22111 }
22112
22113 // GoString returns the string representation
22114 func (s RestoreObjectOutput) GoString() string {
22115 return s.String()
22116 }
22117
22118 // SetRequestCharged sets the RequestCharged field's value.
22119 func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
22120 s.RequestCharged = &v
22121 return s
22122 }
22123
22124 // SetRestoreOutputPath sets the RestoreOutputPath field's value.
22125 func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
22126 s.RestoreOutputPath = &v
22127 return s
22128 }
22129
22130 // Container for restore job parameters.
22131 type RestoreRequest struct {
22132 _ struct{} `type:"structure"`
22133
22134 // Lifetime of the active copy in days. Do not use with restores that specify
22135 // OutputLocation.
22136 Days *int64 `type:"integer"`
22137
22138 // The optional description for the job.
22139 Description *string `type:"string"`
22140
22141 // Glacier related parameters pertaining to this job. Do not use with restores
22142 // that specify OutputLocation.
22143 GlacierJobParameters *GlacierJobParameters `type:"structure"`
22144
22145 // Describes the location where the restore job's output is stored.
22146 OutputLocation *OutputLocation `type:"structure"`
22147
22148 // Describes the parameters for Select job types.
22149 SelectParameters *SelectParameters `type:"structure"`
22150
22151 // Glacier retrieval tier at which the restore will be processed.
22152 Tier *string `type:"string" enum:"Tier"`
22153
22154 // Type of restore request.
22155 Type *string `type:"string" enum:"RestoreRequestType"`
22156 }
22157
22158 // String returns the string representation
22159 func (s RestoreRequest) String() string {
22160 return awsutil.Prettify(s)
22161 }
22162
22163 // GoString returns the string representation
22164 func (s RestoreRequest) GoString() string {
22165 return s.String()
22166 }
22167
22168 // Validate inspects the fields of the type to determine if they are valid.
22169 func (s *RestoreRequest) Validate() error {
22170 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"}
22171 if s.GlacierJobParameters != nil {
22172 if err := s.GlacierJobParameters.Validate(); err != nil {
22173 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams))
22174 }
22175 }
22176 if s.OutputLocation != nil {
22177 if err := s.OutputLocation.Validate(); err != nil {
22178 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
22179 }
22180 }
22181 if s.SelectParameters != nil {
22182 if err := s.SelectParameters.Validate(); err != nil {
22183 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
22184 }
22185 }
22186
22187 if invalidParams.Len() > 0 {
22188 return invalidParams
22189 }
22190 return nil
22191 }
22192
22193 // SetDays sets the Days field's value.
22194 func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
22195 s.Days = &v
22196 return s
22197 }
22198
22199 // SetDescription sets the Description field's value.
22200 func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
22201 s.Description = &v
22202 return s
22203 }
22204
22205 // SetGlacierJobParameters sets the GlacierJobParameters field's value.
22206 func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
22207 s.GlacierJobParameters = v
22208 return s
22209 }
22210
22211 // SetOutputLocation sets the OutputLocation field's value.
22212 func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
22213 s.OutputLocation = v
22214 return s
22215 }
22216
22217 // SetSelectParameters sets the SelectParameters field's value.
22218 func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
22219 s.SelectParameters = v
22220 return s
22221 }
22222
22223 // SetTier sets the Tier field's value.
22224 func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
22225 s.Tier = &v
22226 return s
22227 }
22228
22229 // SetType sets the Type field's value.
22230 func (s *RestoreRequest) SetType(v string) *RestoreRequest {
22231 s.Type = &v
22232 return s
22233 }
22234
22235 // Specifies the redirect behavior and when a redirect is applied.
22236 type RoutingRule struct {
22237 _ struct{} `type:"structure"`
22238
22239 // A container for describing a condition that must be met for the specified
22240 // redirect to apply. For example, 1. If request is for pages in the /docs folder,
22241 // redirect to the /documents folder. 2. If request results in HTTP error 4xx,
22242 // redirect request to another host where you might process the error.
22243 Condition *Condition `type:"structure"`
22244
22245 // Container for redirect information. You can redirect requests to another
22246 // host, to another page, or with another protocol. In the event of an error,
22247 // you can specify a different error code to return.
22248 //
22249 // Redirect is a required field
22250 Redirect *Redirect `type:"structure" required:"true"`
22251 }
22252
22253 // String returns the string representation
22254 func (s RoutingRule) String() string {
22255 return awsutil.Prettify(s)
22256 }
22257
22258 // GoString returns the string representation
22259 func (s RoutingRule) GoString() string {
22260 return s.String()
22261 }
22262
22263 // Validate inspects the fields of the type to determine if they are valid.
22264 func (s *RoutingRule) Validate() error {
22265 invalidParams := request.ErrInvalidParams{Context: "RoutingRule"}
22266 if s.Redirect == nil {
22267 invalidParams.Add(request.NewErrParamRequired("Redirect"))
22268 }
22269
22270 if invalidParams.Len() > 0 {
22271 return invalidParams
22272 }
22273 return nil
22274 }
22275
22276 // SetCondition sets the Condition field's value.
22277 func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule {
22278 s.Condition = v
22279 return s
22280 }
22281
22282 // SetRedirect sets the Redirect field's value.
22283 func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
22284 s.Redirect = v
22285 return s
22286 }
22287
22288 // Specifies lifecycle rules for an Amazon S3 bucket. For more information,
22289 // see PUT Bucket lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html)
22290 // in the Amazon Simple Storage Service API Reference.
22291 type Rule struct {
22292 _ struct{} `type:"structure"`
22293
22294 // Specifies the days since the initiation of an incomplete multipart upload
22295 // that Amazon S3 will wait before permanently removing all parts of the upload.
22296 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
22297 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
22298 // in the Amazon Simple Storage Service Developer Guide.
22299 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
22300
22301 Expiration *LifecycleExpiration `type:"structure"`
22302
22303 // Unique identifier for the rule. The value can't be longer than 255 characters.
22304 ID *string `type:"string"`
22305
22306 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
22307 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
22308 // configuration action on a bucket that has versioning enabled (or suspended)
22309 // to request that Amazon S3 delete noncurrent object versions at a specific
22310 // period in the object's lifetime.
22311 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
22312
22313 // Container for the transition rule that describes when noncurrent objects
22314 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
22315 // or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
22316 // is suspended), you can set this action to request that Amazon S3 transition
22317 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
22318 // GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
22319 // lifetime.
22320 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
22321
22322 // Object key prefix that identifies one or more objects to which this rule
22323 // applies.
22324 //
22325 // Prefix is a required field
22326 Prefix *string `type:"string" required:"true"`
22327
22328 // If Enabled, the rule is currently being applied. If Disabled, the rule is
22329 // not currently being applied.
22330 //
22331 // Status is a required field
22332 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
22333
22334 // Specifies when an object transitions to a specified storage class.
22335 Transition *Transition `type:"structure"`
22336 }
22337
22338 // String returns the string representation
22339 func (s Rule) String() string {
22340 return awsutil.Prettify(s)
22341 }
22342
22343 // GoString returns the string representation
22344 func (s Rule) GoString() string {
22345 return s.String()
22346 }
22347
22348 // Validate inspects the fields of the type to determine if they are valid.
22349 func (s *Rule) Validate() error {
22350 invalidParams := request.ErrInvalidParams{Context: "Rule"}
22351 if s.Prefix == nil {
22352 invalidParams.Add(request.NewErrParamRequired("Prefix"))
22353 }
22354 if s.Status == nil {
22355 invalidParams.Add(request.NewErrParamRequired("Status"))
22356 }
22357
22358 if invalidParams.Len() > 0 {
22359 return invalidParams
22360 }
22361 return nil
22362 }
22363
22364 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
22365 func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule {
22366 s.AbortIncompleteMultipartUpload = v
22367 return s
22368 }
22369
22370 // SetExpiration sets the Expiration field's value.
22371 func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule {
22372 s.Expiration = v
22373 return s
22374 }
22375
22376 // SetID sets the ID field's value.
22377 func (s *Rule) SetID(v string) *Rule {
22378 s.ID = &v
22379 return s
22380 }
22381
22382 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
22383 func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule {
22384 s.NoncurrentVersionExpiration = v
22385 return s
22386 }
22387
22388 // SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value.
22389 func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule {
22390 s.NoncurrentVersionTransition = v
22391 return s
22392 }
22393
22394 // SetPrefix sets the Prefix field's value.
22395 func (s *Rule) SetPrefix(v string) *Rule {
22396 s.Prefix = &v
22397 return s
22398 }
22399
22400 // SetStatus sets the Status field's value.
22401 func (s *Rule) SetStatus(v string) *Rule {
22402 s.Status = &v
22403 return s
22404 }
22405
22406 // SetTransition sets the Transition field's value.
22407 func (s *Rule) SetTransition(v *Transition) *Rule {
22408 s.Transition = v
22409 return s
22410 }
22411
22412 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
22413 type SSEKMS struct {
22414 _ struct{} `locationName:"SSE-KMS" type:"structure"`
22415
22416 // Specifies the ID of the AWS Key Management Service (KMS) master encryption
22417 // key to use for encrypting Inventory reports.
22418 //
22419 // KeyId is a required field
22420 KeyId *string `type:"string" required:"true" sensitive:"true"`
22421 }
22422
22423 // String returns the string representation
22424 func (s SSEKMS) String() string {
22425 return awsutil.Prettify(s)
22426 }
22427
22428 // GoString returns the string representation
22429 func (s SSEKMS) GoString() string {
22430 return s.String()
22431 }
22432
22433 // Validate inspects the fields of the type to determine if they are valid.
22434 func (s *SSEKMS) Validate() error {
22435 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"}
22436 if s.KeyId == nil {
22437 invalidParams.Add(request.NewErrParamRequired("KeyId"))
22438 }
22439
22440 if invalidParams.Len() > 0 {
22441 return invalidParams
22442 }
22443 return nil
22444 }
22445
22446 // SetKeyId sets the KeyId field's value.
22447 func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
22448 s.KeyId = &v
22449 return s
22450 }
22451
22452 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
22453 type SSES3 struct {
22454 _ struct{} `locationName:"SSE-S3" type:"structure"`
22455 }
22456
22457 // String returns the string representation
22458 func (s SSES3) String() string {
22459 return awsutil.Prettify(s)
22460 }
22461
22462 // GoString returns the string representation
22463 func (s SSES3) GoString() string {
22464 return s.String()
22465 }
22466
22467 // SelectObjectContentEventStream provides handling of EventStreams for
22468 // the SelectObjectContent API.
22469 //
22470 // Use this type to receive SelectObjectContentEventStream events. The events
22471 // can be read from the Events channel member.
22472 //
22473 // The events that can be received are:
22474 //
22475 // * ContinuationEvent
22476 // * EndEvent
22477 // * ProgressEvent
22478 // * RecordsEvent
22479 // * StatsEvent
22480 type SelectObjectContentEventStream struct {
22481 // Reader is the EventStream reader for the SelectObjectContentEventStream
22482 // events. This value is automatically set by the SDK when the API call is made
22483 // Use this member when unit testing your code with the SDK to mock out the
22484 // EventStream Reader.
22485 //
22486 // Must not be nil.
22487 Reader SelectObjectContentEventStreamReader
22488
22489 // StreamCloser is the io.Closer for the EventStream connection. For HTTP
22490 // EventStream this is the response Body. The stream will be closed when
22491 // the Close method of the EventStream is called.
22492 StreamCloser io.Closer
22493 }
22494
22495 // Close closes the EventStream. This will also cause the Events channel to be
22496 // closed. You can use the closing of the Events channel to terminate your
22497 // application's read from the API's EventStream.
22498 //
22499 // Will close the underlying EventStream reader. For EventStream over HTTP
22500 // connection this will also close the HTTP connection.
22501 //
22502 // Close must be called when done using the EventStream API. Not calling Close
22503 // may result in resource leaks.
22504 func (es *SelectObjectContentEventStream) Close() (err error) {
22505 es.Reader.Close()
22506 return es.Err()
22507 }
22508
22509 // Err returns any error that occurred while reading EventStream Events from
22510 // the service API's response. Returns nil if there were no errors.
22511 func (es *SelectObjectContentEventStream) Err() error {
22512 if err := es.Reader.Err(); err != nil {
22513 return err
22514 }
22515 es.StreamCloser.Close()
22516
22517 return nil
22518 }
22519
22520 // Events returns a channel to read EventStream Events from the
22521 // SelectObjectContent API.
22522 //
22523 // These events are:
22524 //
22525 // * ContinuationEvent
22526 // * EndEvent
22527 // * ProgressEvent
22528 // * RecordsEvent
22529 // * StatsEvent
22530 func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22531 return es.Reader.Events()
22532 }
22533
22534 // SelectObjectContentEventStreamEvent groups together all EventStream
22535 // events read from the SelectObjectContent API.
22536 //
22537 // These events are:
22538 //
22539 // * ContinuationEvent
22540 // * EndEvent
22541 // * ProgressEvent
22542 // * RecordsEvent
22543 // * StatsEvent
22544 type SelectObjectContentEventStreamEvent interface {
22545 eventSelectObjectContentEventStream()
22546 }
22547
22548 // SelectObjectContentEventStreamReader provides the interface for reading EventStream
22549 // Events from the SelectObjectContent API. The
22550 // default implementation for this interface will be SelectObjectContentEventStream.
22551 //
22552 // The reader's Close method must allow multiple concurrent calls.
22553 //
22554 // These events are:
22555 //
22556 // * ContinuationEvent
22557 // * EndEvent
22558 // * ProgressEvent
22559 // * RecordsEvent
22560 // * StatsEvent
22561 type SelectObjectContentEventStreamReader interface {
22562 // Returns a channel of events as they are read from the event stream.
22563 Events() <-chan SelectObjectContentEventStreamEvent
22564
22565 // Close will close the underlying event stream reader. For event stream over
22566 // HTTP this will also close the HTTP connection.
22567 Close() error
22568
22569 // Returns any error that has occurred while reading from the event stream.
22570 Err() error
22571 }
22572
22573 type readSelectObjectContentEventStream struct {
22574 eventReader *eventstreamapi.EventReader
22575 stream chan SelectObjectContentEventStreamEvent
22576 errVal atomic.Value
22577
22578 done chan struct{}
22579 closeOnce sync.Once
22580 }
22581
22582 func newReadSelectObjectContentEventStream(
22583 reader io.ReadCloser,
22584 unmarshalers request.HandlerList,
22585 logger aws.Logger,
22586 logLevel aws.LogLevelType,
22587 ) *readSelectObjectContentEventStream {
22588 r := &readSelectObjectContentEventStream{
22589 stream: make(chan SelectObjectContentEventStreamEvent),
22590 done: make(chan struct{}),
22591 }
22592
22593 r.eventReader = eventstreamapi.NewEventReader(
22594 reader,
22595 protocol.HandlerPayloadUnmarshal{
22596 Unmarshalers: unmarshalers,
22597 },
22598 r.unmarshalerForEventType,
22599 )
22600 r.eventReader.UseLogger(logger, logLevel)
22601
22602 return r
22603 }
22604
22605 // Close will close the underlying event stream reader. For EventStream over
22606 // HTTP this will also close the HTTP connection.
22607 func (r *readSelectObjectContentEventStream) Close() error {
22608 r.closeOnce.Do(r.safeClose)
22609
22610 return r.Err()
22611 }
22612
22613 func (r *readSelectObjectContentEventStream) safeClose() {
22614 close(r.done)
22615 err := r.eventReader.Close()
22616 if err != nil {
22617 r.errVal.Store(err)
22618 }
22619 }
22620
22621 func (r *readSelectObjectContentEventStream) Err() error {
22622 if v := r.errVal.Load(); v != nil {
22623 return v.(error)
22624 }
22625
22626 return nil
22627 }
22628
22629 func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22630 return r.stream
22631 }
22632
22633 func (r *readSelectObjectContentEventStream) readEventStream() {
22634 defer close(r.stream)
22635
22636 for {
22637 event, err := r.eventReader.ReadEvent()
22638 if err != nil {
22639 if err == io.EOF {
22640 return
22641 }
22642 select {
22643 case <-r.done:
22644 // If closed already ignore the error
22645 return
22646 default:
22647 }
22648 r.errVal.Store(err)
22649 return
22650 }
22651
22652 select {
22653 case r.stream <- event.(SelectObjectContentEventStreamEvent):
22654 case <-r.done:
22655 return
22656 }
22657 }
22658 }
22659
22660 func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
22661 eventType string,
22662 ) (eventstreamapi.Unmarshaler, error) {
22663 switch eventType {
22664 case "Cont":
22665 return &ContinuationEvent{}, nil
22666
22667 case "End":
22668 return &EndEvent{}, nil
22669
22670 case "Progress":
22671 return &ProgressEvent{}, nil
22672
22673 case "Records":
22674 return &RecordsEvent{}, nil
22675
22676 case "Stats":
22677 return &StatsEvent{}, nil
22678 default:
22679 return nil, awserr.New(
22680 request.ErrCodeSerialization,
22681 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
22682 nil,
22683 )
22684 }
22685 }
22686
22687 // Request to filter the contents of an Amazon S3 object based on a simple Structured
22688 // Query Language (SQL) statement. In the request, along with the SQL expression,
22689 // you must specify a data serialization format (JSON or CSV) of the object.
22690 // Amazon S3 uses this to parse object data into records. It returns only records
22691 // that match the specified SQL expression. You must also specify the data serialization
22692 // format for the response. For more information, see S3Select API Documentation
22693 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html).
22694 type SelectObjectContentInput struct {
22695 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
22696
22697 // The S3 bucket.
22698 //
22699 // Bucket is a required field
22700 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22701
22702 // The expression that is used to query the object.
22703 //
22704 // Expression is a required field
22705 Expression *string `type:"string" required:"true"`
22706
22707 // The type of the provided expression (for example., SQL).
22708 //
22709 // ExpressionType is a required field
22710 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22711
22712 // Describes the format of the data in the object that is being queried.
22713 //
22714 // InputSerialization is a required field
22715 InputSerialization *InputSerialization `type:"structure" required:"true"`
22716
22717 // The object key.
22718 //
22719 // Key is a required field
22720 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
22721
22722 // Describes the format of the data that you want Amazon S3 to return in response.
22723 //
22724 // OutputSerialization is a required field
22725 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22726
22727 // Specifies if periodic request progress information should be enabled.
22728 RequestProgress *RequestProgress `type:"structure"`
22729
22730 // The SSE Algorithm used to encrypt the object. For more information, see Server-Side
22731 // Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22732 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
22733
22734 // The SSE Customer Key. For more information, see Server-Side Encryption (Using
22735 // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22736 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
22737
22738 // The SSE Customer Key MD5. For more information, see Server-Side Encryption
22739 // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22740 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
22741 }
22742
22743 // String returns the string representation
22744 func (s SelectObjectContentInput) String() string {
22745 return awsutil.Prettify(s)
22746 }
22747
22748 // GoString returns the string representation
22749 func (s SelectObjectContentInput) GoString() string {
22750 return s.String()
22751 }
22752
22753 // Validate inspects the fields of the type to determine if they are valid.
22754 func (s *SelectObjectContentInput) Validate() error {
22755 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"}
22756 if s.Bucket == nil {
22757 invalidParams.Add(request.NewErrParamRequired("Bucket"))
22758 }
22759 if s.Bucket != nil && len(*s.Bucket) < 1 {
22760 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22761 }
22762 if s.Expression == nil {
22763 invalidParams.Add(request.NewErrParamRequired("Expression"))
22764 }
22765 if s.ExpressionType == nil {
22766 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22767 }
22768 if s.InputSerialization == nil {
22769 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22770 }
22771 if s.Key == nil {
22772 invalidParams.Add(request.NewErrParamRequired("Key"))
22773 }
22774 if s.Key != nil && len(*s.Key) < 1 {
22775 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22776 }
22777 if s.OutputSerialization == nil {
22778 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22779 }
22780
22781 if invalidParams.Len() > 0 {
22782 return invalidParams
22783 }
22784 return nil
22785 }
22786
22787 // SetBucket sets the Bucket field's value.
22788 func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
22789 s.Bucket = &v
22790 return s
22791 }
22792
22793 func (s *SelectObjectContentInput) getBucket() (v string) {
22794 if s.Bucket == nil {
22795 return v
22796 }
22797 return *s.Bucket
22798 }
22799
22800 // SetExpression sets the Expression field's value.
22801 func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
22802 s.Expression = &v
22803 return s
22804 }
22805
22806 // SetExpressionType sets the ExpressionType field's value.
22807 func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
22808 s.ExpressionType = &v
22809 return s
22810 }
22811
22812 // SetInputSerialization sets the InputSerialization field's value.
22813 func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
22814 s.InputSerialization = v
22815 return s
22816 }
22817
22818 // SetKey sets the Key field's value.
22819 func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
22820 s.Key = &v
22821 return s
22822 }
22823
22824 // SetOutputSerialization sets the OutputSerialization field's value.
22825 func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
22826 s.OutputSerialization = v
22827 return s
22828 }
22829
22830 // SetRequestProgress sets the RequestProgress field's value.
22831 func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
22832 s.RequestProgress = v
22833 return s
22834 }
22835
22836 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
22837 func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
22838 s.SSECustomerAlgorithm = &v
22839 return s
22840 }
22841
22842 // SetSSECustomerKey sets the SSECustomerKey field's value.
22843 func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
22844 s.SSECustomerKey = &v
22845 return s
22846 }
22847
22848 func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
22849 if s.SSECustomerKey == nil {
22850 return v
22851 }
22852 return *s.SSECustomerKey
22853 }
22854
22855 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
22856 func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
22857 s.SSECustomerKeyMD5 = &v
22858 return s
22859 }
22860
22861 type SelectObjectContentOutput struct {
22862 _ struct{} `type:"structure" payload:"Payload"`
22863
22864 // Use EventStream to use the API's stream.
22865 EventStream *SelectObjectContentEventStream `type:"structure"`
22866 }
22867
22868 // String returns the string representation
22869 func (s SelectObjectContentOutput) String() string {
22870 return awsutil.Prettify(s)
22871 }
22872
22873 // GoString returns the string representation
22874 func (s SelectObjectContentOutput) GoString() string {
22875 return s.String()
22876 }
22877
22878 // SetEventStream sets the EventStream field's value.
22879 func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
22880 s.EventStream = v
22881 return s
22882 }
22883
22884 func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
22885 if r.Error != nil {
22886 return
22887 }
22888 reader := newReadSelectObjectContentEventStream(
22889 r.HTTPResponse.Body,
22890 r.Handlers.UnmarshalStream,
22891 r.Config.Logger,
22892 r.Config.LogLevel.Value(),
22893 )
22894 go reader.readEventStream()
22895
22896 eventStream := &SelectObjectContentEventStream{
22897 StreamCloser: r.HTTPResponse.Body,
22898 Reader: reader,
22899 }
22900 s.EventStream = eventStream
22901 }
22902
22903 // Describes the parameters for Select job types.
22904 type SelectParameters struct {
22905 _ struct{} `type:"structure"`
22906
22907 // The expression that is used to query the object.
22908 //
22909 // Expression is a required field
22910 Expression *string `type:"string" required:"true"`
22911
22912 // The type of the provided expression (e.g., SQL).
22913 //
22914 // ExpressionType is a required field
22915 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22916
22917 // Describes the serialization format of the object.
22918 //
22919 // InputSerialization is a required field
22920 InputSerialization *InputSerialization `type:"structure" required:"true"`
22921
22922 // Describes how the results of the Select job are serialized.
22923 //
22924 // OutputSerialization is a required field
22925 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22926 }
22927
22928 // String returns the string representation
22929 func (s SelectParameters) String() string {
22930 return awsutil.Prettify(s)
22931 }
22932
22933 // GoString returns the string representation
22934 func (s SelectParameters) GoString() string {
22935 return s.String()
22936 }
22937
22938 // Validate inspects the fields of the type to determine if they are valid.
22939 func (s *SelectParameters) Validate() error {
22940 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"}
22941 if s.Expression == nil {
22942 invalidParams.Add(request.NewErrParamRequired("Expression"))
22943 }
22944 if s.ExpressionType == nil {
22945 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22946 }
22947 if s.InputSerialization == nil {
22948 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22949 }
22950 if s.OutputSerialization == nil {
22951 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22952 }
22953
22954 if invalidParams.Len() > 0 {
22955 return invalidParams
22956 }
22957 return nil
22958 }
22959
22960 // SetExpression sets the Expression field's value.
22961 func (s *SelectParameters) SetExpression(v string) *SelectParameters {
22962 s.Expression = &v
22963 return s
22964 }
22965
22966 // SetExpressionType sets the ExpressionType field's value.
22967 func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
22968 s.ExpressionType = &v
22969 return s
22970 }
22971
22972 // SetInputSerialization sets the InputSerialization field's value.
22973 func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
22974 s.InputSerialization = v
22975 return s
22976 }
22977
22978 // SetOutputSerialization sets the OutputSerialization field's value.
22979 func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
22980 s.OutputSerialization = v
22981 return s
22982 }
22983
22984 // Describes the default server-side encryption to apply to new objects in the
22985 // bucket. If a PUT Object request doesn't specify any server-side encryption,
22986 // this default encryption will be applied. For more information, see PUT Bucket
22987 // encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html)
22988 // in the Amazon Simple Storage Service API Reference.
22989 type ServerSideEncryptionByDefault struct {
22990 _ struct{} `type:"structure"`
22991
22992 // KMS master key ID to use for the default encryption. This parameter is allowed
22993 // if and only if SSEAlgorithm is set to aws:kms.
22994 KMSMasterKeyID *string `type:"string" sensitive:"true"`
22995
22996 // Server-side encryption algorithm to use for the default encryption.
22997 //
22998 // SSEAlgorithm is a required field
22999 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
23000 }
23001
23002 // String returns the string representation
23003 func (s ServerSideEncryptionByDefault) String() string {
23004 return awsutil.Prettify(s)
23005 }
23006
23007 // GoString returns the string representation
23008 func (s ServerSideEncryptionByDefault) GoString() string {
23009 return s.String()
23010 }
23011
23012 // Validate inspects the fields of the type to determine if they are valid.
23013 func (s *ServerSideEncryptionByDefault) Validate() error {
23014 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"}
23015 if s.SSEAlgorithm == nil {
23016 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm"))
23017 }
23018
23019 if invalidParams.Len() > 0 {
23020 return invalidParams
23021 }
23022 return nil
23023 }
23024
23025 // SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
23026 func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
23027 s.KMSMasterKeyID = &v
23028 return s
23029 }
23030
23031 // SetSSEAlgorithm sets the SSEAlgorithm field's value.
23032 func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
23033 s.SSEAlgorithm = &v
23034 return s
23035 }
23036
23037 // Specifies the default server-side-encryption configuration.
23038 type ServerSideEncryptionConfiguration struct {
23039 _ struct{} `type:"structure"`
23040
23041 // Container for information about a particular server-side encryption configuration
23042 // rule.
23043 //
23044 // Rules is a required field
23045 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
23046 }
23047
23048 // String returns the string representation
23049 func (s ServerSideEncryptionConfiguration) String() string {
23050 return awsutil.Prettify(s)
23051 }
23052
23053 // GoString returns the string representation
23054 func (s ServerSideEncryptionConfiguration) GoString() string {
23055 return s.String()
23056 }
23057
23058 // Validate inspects the fields of the type to determine if they are valid.
23059 func (s *ServerSideEncryptionConfiguration) Validate() error {
23060 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
23061 if s.Rules == nil {
23062 invalidParams.Add(request.NewErrParamRequired("Rules"))
23063 }
23064 if s.Rules != nil {
23065 for i, v := range s.Rules {
23066 if v == nil {
23067 continue
23068 }
23069 if err := v.Validate(); err != nil {
23070 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
23071 }
23072 }
23073 }
23074
23075 if invalidParams.Len() > 0 {
23076 return invalidParams
23077 }
23078 return nil
23079 }
23080
23081 // SetRules sets the Rules field's value.
23082 func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
23083 s.Rules = v
23084 return s
23085 }
23086
23087 // Specifies the default server-side encryption configuration.
23088 type ServerSideEncryptionRule struct {
23089 _ struct{} `type:"structure"`
23090
23091 // Specifies the default server-side encryption to apply to new objects in the
23092 // bucket. If a PUT Object request doesn't specify any server-side encryption,
23093 // this default encryption will be applied.
23094 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
23095 }
23096
23097 // String returns the string representation
23098 func (s ServerSideEncryptionRule) String() string {
23099 return awsutil.Prettify(s)
23100 }
23101
23102 // GoString returns the string representation
23103 func (s ServerSideEncryptionRule) GoString() string {
23104 return s.String()
23105 }
23106
23107 // Validate inspects the fields of the type to determine if they are valid.
23108 func (s *ServerSideEncryptionRule) Validate() error {
23109 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"}
23110 if s.ApplyServerSideEncryptionByDefault != nil {
23111 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil {
23112 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams))
23113 }
23114 }
23115
23116 if invalidParams.Len() > 0 {
23117 return invalidParams
23118 }
23119 return nil
23120 }
23121
23122 // SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
23123 func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
23124 s.ApplyServerSideEncryptionByDefault = v
23125 return s
23126 }
23127
23128 // A container that describes additional filters for identifying the source
23129 // objects that you want to replicate. You can choose to enable or disable the
23130 // replication of these objects. Currently, Amazon S3 supports only the filter
23131 // that you can specify for objects created with server-side encryption using
23132 // an AWS KMS-Managed Key (SSE-KMS).
23133 type SourceSelectionCriteria struct {
23134 _ struct{} `type:"structure"`
23135
23136 // A container for filter information for the selection of Amazon S3 objects
23137 // encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication
23138 // configuration, this element is required.
23139 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
23140 }
23141
23142 // String returns the string representation
23143 func (s SourceSelectionCriteria) String() string {
23144 return awsutil.Prettify(s)
23145 }
23146
23147 // GoString returns the string representation
23148 func (s SourceSelectionCriteria) GoString() string {
23149 return s.String()
23150 }
23151
23152 // Validate inspects the fields of the type to determine if they are valid.
23153 func (s *SourceSelectionCriteria) Validate() error {
23154 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"}
23155 if s.SseKmsEncryptedObjects != nil {
23156 if err := s.SseKmsEncryptedObjects.Validate(); err != nil {
23157 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams))
23158 }
23159 }
23160
23161 if invalidParams.Len() > 0 {
23162 return invalidParams
23163 }
23164 return nil
23165 }
23166
23167 // SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
23168 func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
23169 s.SseKmsEncryptedObjects = v
23170 return s
23171 }
23172
23173 // A container for filter information for the selection of S3 objects encrypted
23174 // with AWS KMS.
23175 type SseKmsEncryptedObjects struct {
23176 _ struct{} `type:"structure"`
23177
23178 // Specifies whether Amazon S3 replicates objects created with server-side encryption
23179 // using an AWS KMS-managed key.
23180 //
23181 // Status is a required field
23182 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
23183 }
23184
23185 // String returns the string representation
23186 func (s SseKmsEncryptedObjects) String() string {
23187 return awsutil.Prettify(s)
23188 }
23189
23190 // GoString returns the string representation
23191 func (s SseKmsEncryptedObjects) GoString() string {
23192 return s.String()
23193 }
23194
23195 // Validate inspects the fields of the type to determine if they are valid.
23196 func (s *SseKmsEncryptedObjects) Validate() error {
23197 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"}
23198 if s.Status == nil {
23199 invalidParams.Add(request.NewErrParamRequired("Status"))
23200 }
23201
23202 if invalidParams.Len() > 0 {
23203 return invalidParams
23204 }
23205 return nil
23206 }
23207
23208 // SetStatus sets the Status field's value.
23209 func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
23210 s.Status = &v
23211 return s
23212 }
23213
23214 type Stats struct {
23215 _ struct{} `type:"structure"`
23216
23217 // The total number of uncompressed object bytes processed.
23218 BytesProcessed *int64 `type:"long"`
23219
23220 // The total number of bytes of records payload data returned.
23221 BytesReturned *int64 `type:"long"`
23222
23223 // The total number of object bytes scanned.
23224 BytesScanned *int64 `type:"long"`
23225 }
23226
23227 // String returns the string representation
23228 func (s Stats) String() string {
23229 return awsutil.Prettify(s)
23230 }
23231
23232 // GoString returns the string representation
23233 func (s Stats) GoString() string {
23234 return s.String()
23235 }
23236
23237 // SetBytesProcessed sets the BytesProcessed field's value.
23238 func (s *Stats) SetBytesProcessed(v int64) *Stats {
23239 s.BytesProcessed = &v
23240 return s
23241 }
23242
23243 // SetBytesReturned sets the BytesReturned field's value.
23244 func (s *Stats) SetBytesReturned(v int64) *Stats {
23245 s.BytesReturned = &v
23246 return s
23247 }
23248
23249 // SetBytesScanned sets the BytesScanned field's value.
23250 func (s *Stats) SetBytesScanned(v int64) *Stats {
23251 s.BytesScanned = &v
23252 return s
23253 }
23254
23255 type StatsEvent struct {
23256 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
23257
23258 // The Stats event details.
23259 Details *Stats `locationName:"Details" type:"structure"`
23260 }
23261
23262 // String returns the string representation
23263 func (s StatsEvent) String() string {
23264 return awsutil.Prettify(s)
23265 }
23266
23267 // GoString returns the string representation
23268 func (s StatsEvent) GoString() string {
23269 return s.String()
23270 }
23271
23272 // SetDetails sets the Details field's value.
23273 func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
23274 s.Details = v
23275 return s
23276 }
23277
23278 // The StatsEvent is and event in the SelectObjectContentEventStream group of events.
23279 func (s *StatsEvent) eventSelectObjectContentEventStream() {}
23280
23281 // UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value.
23282 // This method is only used internally within the SDK's EventStream handling.
23283 func (s *StatsEvent) UnmarshalEvent(
23284 payloadUnmarshaler protocol.PayloadUnmarshaler,
23285 msg eventstream.Message,
23286 ) error {
23287 if err := payloadUnmarshaler.UnmarshalPayload(
23288 bytes.NewReader(msg.Payload), s,
23289 ); err != nil {
23290 return err
23291 }
23292 return nil
23293 }
23294
23295 // Specifies data related to access patterns to be collected and made available
23296 // to analyze the tradeoffs between different storage classes for an Amazon
23297 // S3 bucket.
23298 type StorageClassAnalysis struct {
23299 _ struct{} `type:"structure"`
23300
23301 // Specifies how data related to the storage class analysis for an Amazon S3
23302 // bucket should be exported.
23303 DataExport *StorageClassAnalysisDataExport `type:"structure"`
23304 }
23305
23306 // String returns the string representation
23307 func (s StorageClassAnalysis) String() string {
23308 return awsutil.Prettify(s)
23309 }
23310
23311 // GoString returns the string representation
23312 func (s StorageClassAnalysis) GoString() string {
23313 return s.String()
23314 }
23315
23316 // Validate inspects the fields of the type to determine if they are valid.
23317 func (s *StorageClassAnalysis) Validate() error {
23318 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"}
23319 if s.DataExport != nil {
23320 if err := s.DataExport.Validate(); err != nil {
23321 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams))
23322 }
23323 }
23324
23325 if invalidParams.Len() > 0 {
23326 return invalidParams
23327 }
23328 return nil
23329 }
23330
23331 // SetDataExport sets the DataExport field's value.
23332 func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis {
23333 s.DataExport = v
23334 return s
23335 }
23336
23337 type StorageClassAnalysisDataExport struct {
23338 _ struct{} `type:"structure"`
23339
23340 // The place to store the data for an analysis.
23341 //
23342 // Destination is a required field
23343 Destination *AnalyticsExportDestination `type:"structure" required:"true"`
23344
23345 // The version of the output schema to use when exporting data. Must be V_1.
23346 //
23347 // OutputSchemaVersion is a required field
23348 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"`
23349 }
23350
23351 // String returns the string representation
23352 func (s StorageClassAnalysisDataExport) String() string {
23353 return awsutil.Prettify(s)
23354 }
23355
23356 // GoString returns the string representation
23357 func (s StorageClassAnalysisDataExport) GoString() string {
23358 return s.String()
23359 }
23360
23361 // Validate inspects the fields of the type to determine if they are valid.
23362 func (s *StorageClassAnalysisDataExport) Validate() error {
23363 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"}
23364 if s.Destination == nil {
23365 invalidParams.Add(request.NewErrParamRequired("Destination"))
23366 }
23367 if s.OutputSchemaVersion == nil {
23368 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion"))
23369 }
23370 if s.Destination != nil {
23371 if err := s.Destination.Validate(); err != nil {
23372 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
23373 }
23374 }
23375
23376 if invalidParams.Len() > 0 {
23377 return invalidParams
23378 }
23379 return nil
23380 }
23381
23382 // SetDestination sets the Destination field's value.
23383 func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport {
23384 s.Destination = v
23385 return s
23386 }
23387
23388 // SetOutputSchemaVersion sets the OutputSchemaVersion field's value.
23389 func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport {
23390 s.OutputSchemaVersion = &v
23391 return s
23392 }
23393
23394 type Tag struct {
23395 _ struct{} `type:"structure"`
23396
23397 // Name of the tag.
23398 //
23399 // Key is a required field
23400 Key *string `min:"1" type:"string" required:"true"`
23401
23402 // Value of the tag.
23403 //
23404 // Value is a required field
23405 Value *string `type:"string" required:"true"`
23406 }
23407
23408 // String returns the string representation
23409 func (s Tag) String() string {
23410 return awsutil.Prettify(s)
23411 }
23412
23413 // GoString returns the string representation
23414 func (s Tag) GoString() string {
23415 return s.String()
23416 }
23417
23418 // Validate inspects the fields of the type to determine if they are valid.
23419 func (s *Tag) Validate() error {
23420 invalidParams := request.ErrInvalidParams{Context: "Tag"}
23421 if s.Key == nil {
23422 invalidParams.Add(request.NewErrParamRequired("Key"))
23423 }
23424 if s.Key != nil && len(*s.Key) < 1 {
23425 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23426 }
23427 if s.Value == nil {
23428 invalidParams.Add(request.NewErrParamRequired("Value"))
23429 }
23430
23431 if invalidParams.Len() > 0 {
23432 return invalidParams
23433 }
23434 return nil
23435 }
23436
23437 // SetKey sets the Key field's value.
23438 func (s *Tag) SetKey(v string) *Tag {
23439 s.Key = &v
23440 return s
23441 }
23442
23443 // SetValue sets the Value field's value.
23444 func (s *Tag) SetValue(v string) *Tag {
23445 s.Value = &v
23446 return s
23447 }
23448
23449 type Tagging struct {
23450 _ struct{} `type:"structure"`
23451
23452 // TagSet is a required field
23453 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
23454 }
23455
23456 // String returns the string representation
23457 func (s Tagging) String() string {
23458 return awsutil.Prettify(s)
23459 }
23460
23461 // GoString returns the string representation
23462 func (s Tagging) GoString() string {
23463 return s.String()
23464 }
23465
23466 // Validate inspects the fields of the type to determine if they are valid.
23467 func (s *Tagging) Validate() error {
23468 invalidParams := request.ErrInvalidParams{Context: "Tagging"}
23469 if s.TagSet == nil {
23470 invalidParams.Add(request.NewErrParamRequired("TagSet"))
23471 }
23472 if s.TagSet != nil {
23473 for i, v := range s.TagSet {
23474 if v == nil {
23475 continue
23476 }
23477 if err := v.Validate(); err != nil {
23478 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams))
23479 }
23480 }
23481 }
23482
23483 if invalidParams.Len() > 0 {
23484 return invalidParams
23485 }
23486 return nil
23487 }
23488
23489 // SetTagSet sets the TagSet field's value.
23490 func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
23491 s.TagSet = v
23492 return s
23493 }
23494
23495 type TargetGrant struct {
23496 _ struct{} `type:"structure"`
23497
23498 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
23499
23500 // Logging permissions assigned to the Grantee for the bucket.
23501 Permission *string `type:"string" enum:"BucketLogsPermission"`
23502 }
23503
23504 // String returns the string representation
23505 func (s TargetGrant) String() string {
23506 return awsutil.Prettify(s)
23507 }
23508
23509 // GoString returns the string representation
23510 func (s TargetGrant) GoString() string {
23511 return s.String()
23512 }
23513
23514 // Validate inspects the fields of the type to determine if they are valid.
23515 func (s *TargetGrant) Validate() error {
23516 invalidParams := request.ErrInvalidParams{Context: "TargetGrant"}
23517 if s.Grantee != nil {
23518 if err := s.Grantee.Validate(); err != nil {
23519 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
23520 }
23521 }
23522
23523 if invalidParams.Len() > 0 {
23524 return invalidParams
23525 }
23526 return nil
23527 }
23528
23529 // SetGrantee sets the Grantee field's value.
23530 func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant {
23531 s.Grantee = v
23532 return s
23533 }
23534
23535 // SetPermission sets the Permission field's value.
23536 func (s *TargetGrant) SetPermission(v string) *TargetGrant {
23537 s.Permission = &v
23538 return s
23539 }
23540
23541 // A container for specifying the configuration for publication of messages
23542 // to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3
23543 // detects specified events.
23544 type TopicConfiguration struct {
23545 _ struct{} `type:"structure"`
23546
23547 // The Amazon S3 bucket event about which to send notifications. For more information,
23548 // see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
23549 // in the Amazon Simple Storage Service Developer Guide.
23550 //
23551 // Events is a required field
23552 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
23553
23554 // Specifies object key name filtering rules. For information about key name
23555 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
23556 // in the Amazon Simple Storage Service Developer Guide.
23557 Filter *NotificationConfigurationFilter `type:"structure"`
23558
23559 // An optional unique identifier for configurations in a notification configuration.
23560 // If you don't provide one, Amazon S3 will assign an ID.
23561 Id *string `type:"string"`
23562
23563 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3
23564 // publishes a message when it detects events of the specified type.
23565 //
23566 // TopicArn is a required field
23567 TopicArn *string `locationName:"Topic" type:"string" required:"true"`
23568 }
23569
23570 // String returns the string representation
23571 func (s TopicConfiguration) String() string {
23572 return awsutil.Prettify(s)
23573 }
23574
23575 // GoString returns the string representation
23576 func (s TopicConfiguration) GoString() string {
23577 return s.String()
23578 }
23579
23580 // Validate inspects the fields of the type to determine if they are valid.
23581 func (s *TopicConfiguration) Validate() error {
23582 invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"}
23583 if s.Events == nil {
23584 invalidParams.Add(request.NewErrParamRequired("Events"))
23585 }
23586 if s.TopicArn == nil {
23587 invalidParams.Add(request.NewErrParamRequired("TopicArn"))
23588 }
23589
23590 if invalidParams.Len() > 0 {
23591 return invalidParams
23592 }
23593 return nil
23594 }
23595
23596 // SetEvents sets the Events field's value.
23597 func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration {
23598 s.Events = v
23599 return s
23600 }
23601
23602 // SetFilter sets the Filter field's value.
23603 func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration {
23604 s.Filter = v
23605 return s
23606 }
23607
23608 // SetId sets the Id field's value.
23609 func (s *TopicConfiguration) SetId(v string) *TopicConfiguration {
23610 s.Id = &v
23611 return s
23612 }
23613
23614 // SetTopicArn sets the TopicArn field's value.
23615 func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
23616 s.TopicArn = &v
23617 return s
23618 }
23619
23620 type TopicConfigurationDeprecated struct {
23621 _ struct{} `type:"structure"`
23622
23623 // Bucket event for which to send notifications.
23624 //
23625 // Deprecated: Event has been deprecated
23626 Event *string `deprecated:"true" type:"string" enum:"Event"`
23627
23628 Events []*string `locationName:"Event" type:"list" flattened:"true"`
23629
23630 // An optional unique identifier for configurations in a notification configuration.
23631 // If you don't provide one, Amazon S3 will assign an ID.
23632 Id *string `type:"string"`
23633
23634 // Amazon SNS topic to which Amazon S3 will publish a message to report the
23635 // specified events for the bucket.
23636 Topic *string `type:"string"`
23637 }
23638
23639 // String returns the string representation
23640 func (s TopicConfigurationDeprecated) String() string {
23641 return awsutil.Prettify(s)
23642 }
23643
23644 // GoString returns the string representation
23645 func (s TopicConfigurationDeprecated) GoString() string {
23646 return s.String()
23647 }
23648
23649 // SetEvent sets the Event field's value.
23650 func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated {
23651 s.Event = &v
23652 return s
23653 }
23654
23655 // SetEvents sets the Events field's value.
23656 func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated {
23657 s.Events = v
23658 return s
23659 }
23660
23661 // SetId sets the Id field's value.
23662 func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated {
23663 s.Id = &v
23664 return s
23665 }
23666
23667 // SetTopic sets the Topic field's value.
23668 func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated {
23669 s.Topic = &v
23670 return s
23671 }
23672
23673 // Specifies when an object transitions to a specified storage class.
23674 type Transition struct {
23675 _ struct{} `type:"structure"`
23676
23677 // Indicates when objects are transitioned to the specified storage class. The
23678 // date value must be in ISO 8601 format. The time is always midnight UTC.
23679 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
23680
23681 // Indicates the number of days after creation when objects are transitioned
23682 // to the specified storage class. The value must be a positive integer.
23683 Days *int64 `type:"integer"`
23684
23685 // The storage class to which you want the object to transition.
23686 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
23687 }
23688
23689 // String returns the string representation
23690 func (s Transition) String() string {
23691 return awsutil.Prettify(s)
23692 }
23693
23694 // GoString returns the string representation
23695 func (s Transition) GoString() string {
23696 return s.String()
23697 }
23698
23699 // SetDate sets the Date field's value.
23700 func (s *Transition) SetDate(v time.Time) *Transition {
23701 s.Date = &v
23702 return s
23703 }
23704
23705 // SetDays sets the Days field's value.
23706 func (s *Transition) SetDays(v int64) *Transition {
23707 s.Days = &v
23708 return s
23709 }
23710
23711 // SetStorageClass sets the StorageClass field's value.
23712 func (s *Transition) SetStorageClass(v string) *Transition {
23713 s.StorageClass = &v
23714 return s
23715 }
23716
23717 type UploadPartCopyInput struct {
23718 _ struct{} `type:"structure"`
23719
23720 // Bucket is a required field
23721 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
23722
23723 // The name of the source bucket and key name of the source object, separated
23724 // by a slash (/). Must be URL-encoded.
23725 //
23726 // CopySource is a required field
23727 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
23728
23729 // Copies the object if its entity tag (ETag) matches the specified tag.
23730 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
23731
23732 // Copies the object if it has been modified since the specified time.
23733 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
23734
23735 // Copies the object if its entity tag (ETag) is different than the specified
23736 // ETag.
23737 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
23738
23739 // Copies the object if it hasn't been modified since the specified time.
23740 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
23741
23742 // The range of bytes to copy from the source object. The range value must use
23743 // the form bytes=first-last, where the first and last are the zero-based byte
23744 // offsets to copy. For example, bytes=0-9 indicates that you want to copy the
23745 // first ten bytes of the source. You can copy a range only if the source object
23746 // is greater than 5 MB.
23747 CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`
23748
23749 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
23750 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
23751
23752 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
23753 // the source object. The encryption key provided in this header must be one
23754 // that was used when the source object was created.
23755 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23756
23757 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23758 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23759 // key was transmitted without error.
23760 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
23761
23762 // Key is a required field
23763 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
23764
23765 // Part number of part being copied. This is a positive integer between 1 and
23766 // 10,000.
23767 //
23768 // PartNumber is a required field
23769 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
23770
23771 // Confirms that the requester knows that she or he will be charged for the
23772 // request. Bucket owners need not specify this parameter in their requests.
23773 // Documentation on downloading objects from requester pays buckets can be found
23774 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
23775 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
23776
23777 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
23778 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23779
23780 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
23781 // data. This value is used to store the object and then it is discarded; Amazon
23782 // does not store the encryption key. The key must be appropriate for use with
23783 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23784 // header. This must be the same encryption key specified in the initiate multipart
23785 // upload request.
23786 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23787
23788 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23789 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23790 // key was transmitted without error.
23791 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23792
23793 // Upload ID identifying the multipart upload whose part is being copied.
23794 //
23795 // UploadId is a required field
23796 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
23797 }
23798
23799 // String returns the string representation
23800 func (s UploadPartCopyInput) String() string {
23801 return awsutil.Prettify(s)
23802 }
23803
23804 // GoString returns the string representation
23805 func (s UploadPartCopyInput) GoString() string {
23806 return s.String()
23807 }
23808
23809 // Validate inspects the fields of the type to determine if they are valid.
23810 func (s *UploadPartCopyInput) Validate() error {
23811 invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"}
23812 if s.Bucket == nil {
23813 invalidParams.Add(request.NewErrParamRequired("Bucket"))
23814 }
23815 if s.Bucket != nil && len(*s.Bucket) < 1 {
23816 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
23817 }
23818 if s.CopySource == nil {
23819 invalidParams.Add(request.NewErrParamRequired("CopySource"))
23820 }
23821 if s.Key == nil {
23822 invalidParams.Add(request.NewErrParamRequired("Key"))
23823 }
23824 if s.Key != nil && len(*s.Key) < 1 {
23825 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23826 }
23827 if s.PartNumber == nil {
23828 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
23829 }
23830 if s.UploadId == nil {
23831 invalidParams.Add(request.NewErrParamRequired("UploadId"))
23832 }
23833
23834 if invalidParams.Len() > 0 {
23835 return invalidParams
23836 }
23837 return nil
23838 }
23839
23840 // SetBucket sets the Bucket field's value.
23841 func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
23842 s.Bucket = &v
23843 return s
23844 }
23845
23846 func (s *UploadPartCopyInput) getBucket() (v string) {
23847 if s.Bucket == nil {
23848 return v
23849 }
23850 return *s.Bucket
23851 }
23852
23853 // SetCopySource sets the CopySource field's value.
23854 func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
23855 s.CopySource = &v
23856 return s
23857 }
23858
23859 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
23860 func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
23861 s.CopySourceIfMatch = &v
23862 return s
23863 }
23864
23865 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
23866 func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput {
23867 s.CopySourceIfModifiedSince = &v
23868 return s
23869 }
23870
23871 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
23872 func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput {
23873 s.CopySourceIfNoneMatch = &v
23874 return s
23875 }
23876
23877 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
23878 func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput {
23879 s.CopySourceIfUnmodifiedSince = &v
23880 return s
23881 }
23882
23883 // SetCopySourceRange sets the CopySourceRange field's value.
23884 func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput {
23885 s.CopySourceRange = &v
23886 return s
23887 }
23888
23889 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
23890 func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23891 s.CopySourceSSECustomerAlgorithm = &v
23892 return s
23893 }
23894
23895 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
23896 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput {
23897 s.CopySourceSSECustomerKey = &v
23898 return s
23899 }
23900
23901 func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
23902 if s.CopySourceSSECustomerKey == nil {
23903 return v
23904 }
23905 return *s.CopySourceSSECustomerKey
23906 }
23907
23908 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
23909 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23910 s.CopySourceSSECustomerKeyMD5 = &v
23911 return s
23912 }
23913
23914 // SetKey sets the Key field's value.
23915 func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput {
23916 s.Key = &v
23917 return s
23918 }
23919
23920 // SetPartNumber sets the PartNumber field's value.
23921 func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput {
23922 s.PartNumber = &v
23923 return s
23924 }
23925
23926 // SetRequestPayer sets the RequestPayer field's value.
23927 func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput {
23928 s.RequestPayer = &v
23929 return s
23930 }
23931
23932 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23933 func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23934 s.SSECustomerAlgorithm = &v
23935 return s
23936 }
23937
23938 // SetSSECustomerKey sets the SSECustomerKey field's value.
23939 func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
23940 s.SSECustomerKey = &v
23941 return s
23942 }
23943
23944 func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
23945 if s.SSECustomerKey == nil {
23946 return v
23947 }
23948 return *s.SSECustomerKey
23949 }
23950
23951 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
23952 func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23953 s.SSECustomerKeyMD5 = &v
23954 return s
23955 }
23956
23957 // SetUploadId sets the UploadId field's value.
23958 func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
23959 s.UploadId = &v
23960 return s
23961 }
23962
23963 type UploadPartCopyOutput struct {
23964 _ struct{} `type:"structure" payload:"CopyPartResult"`
23965
23966 CopyPartResult *CopyPartResult `type:"structure"`
23967
23968 // The version of the source object that was copied, if you have enabled versioning
23969 // on the source bucket.
23970 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
23971
23972 // If present, indicates that the requester was successfully charged for the
23973 // request.
23974 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
23975
23976 // If server-side encryption with a customer-provided encryption key was requested,
23977 // the response will include this header confirming the encryption algorithm
23978 // used.
23979 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23980
23981 // If server-side encryption with a customer-provided encryption key was requested,
23982 // the response will include this header to provide round trip message integrity
23983 // verification of the customer-provided encryption key.
23984 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23985
23986 // If present, specifies the ID of the AWS Key Management Service (KMS) master
23987 // encryption key that was used for the object.
23988 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
23989
23990 // The Server-side encryption algorithm used when storing this object in S3
23991 // (e.g., AES256, aws:kms).
23992 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
23993 }
23994
23995 // String returns the string representation
23996 func (s UploadPartCopyOutput) String() string {
23997 return awsutil.Prettify(s)
23998 }
23999
24000 // GoString returns the string representation
24001 func (s UploadPartCopyOutput) GoString() string {
24002 return s.String()
24003 }
24004
24005 // SetCopyPartResult sets the CopyPartResult field's value.
24006 func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput {
24007 s.CopyPartResult = v
24008 return s
24009 }
24010
24011 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
24012 func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput {
24013 s.CopySourceVersionId = &v
24014 return s
24015 }
24016
24017 // SetRequestCharged sets the RequestCharged field's value.
24018 func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput {
24019 s.RequestCharged = &v
24020 return s
24021 }
24022
24023 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24024 func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput {
24025 s.SSECustomerAlgorithm = &v
24026 return s
24027 }
24028
24029 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24030 func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput {
24031 s.SSECustomerKeyMD5 = &v
24032 return s
24033 }
24034
24035 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24036 func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput {
24037 s.SSEKMSKeyId = &v
24038 return s
24039 }
24040
24041 // SetServerSideEncryption sets the ServerSideEncryption field's value.
24042 func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput {
24043 s.ServerSideEncryption = &v
24044 return s
24045 }
24046
24047 type UploadPartInput struct {
24048 _ struct{} `type:"structure" payload:"Body"`
24049
24050 // Object data.
24051 Body io.ReadSeeker `type:"blob"`
24052
24053 // Name of the bucket to which the multipart upload was initiated.
24054 //
24055 // Bucket is a required field
24056 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
24057
24058 // Size of the body in bytes. This parameter is useful when the size of the
24059 // body cannot be determined automatically.
24060 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
24061
24062 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
24063 // auto-populated when using the command from the CLI. This parameted is required
24064 // if object lock parameters are specified.
24065 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
24066
24067 // Object key for which the multipart upload was initiated.
24068 //
24069 // Key is a required field
24070 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
24071
24072 // Part number of part being uploaded. This is a positive integer between 1
24073 // and 10,000.
24074 //
24075 // PartNumber is a required field
24076 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
24077
24078 // Confirms that the requester knows that she or he will be charged for the
24079 // request. Bucket owners need not specify this parameter in their requests.
24080 // Documentation on downloading objects from requester pays buckets can be found
24081 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
24082 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
24083
24084 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
24085 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
24086
24087 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
24088 // data. This value is used to store the object and then it is discarded; Amazon
24089 // does not store the encryption key. The key must be appropriate for use with
24090 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
24091 // header. This must be the same encryption key specified in the initiate multipart
24092 // upload request.
24093 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
24094
24095 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
24096 // Amazon S3 uses this header for a message integrity check to ensure the encryption
24097 // key was transmitted without error.
24098 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
24099
24100 // Upload ID identifying the multipart upload whose part is being uploaded.
24101 //
24102 // UploadId is a required field
24103 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
24104 }
24105
24106 // String returns the string representation
24107 func (s UploadPartInput) String() string {
24108 return awsutil.Prettify(s)
24109 }
24110
24111 // GoString returns the string representation
24112 func (s UploadPartInput) GoString() string {
24113 return s.String()
24114 }
24115
24116 // Validate inspects the fields of the type to determine if they are valid.
24117 func (s *UploadPartInput) Validate() error {
24118 invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"}
24119 if s.Bucket == nil {
24120 invalidParams.Add(request.NewErrParamRequired("Bucket"))
24121 }
24122 if s.Bucket != nil && len(*s.Bucket) < 1 {
24123 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
24124 }
24125 if s.Key == nil {
24126 invalidParams.Add(request.NewErrParamRequired("Key"))
24127 }
24128 if s.Key != nil && len(*s.Key) < 1 {
24129 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
24130 }
24131 if s.PartNumber == nil {
24132 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
24133 }
24134 if s.UploadId == nil {
24135 invalidParams.Add(request.NewErrParamRequired("UploadId"))
24136 }
24137
24138 if invalidParams.Len() > 0 {
24139 return invalidParams
24140 }
24141 return nil
24142 }
24143
24144 // SetBody sets the Body field's value.
24145 func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput {
24146 s.Body = v
24147 return s
24148 }
24149
24150 // SetBucket sets the Bucket field's value.
24151 func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
24152 s.Bucket = &v
24153 return s
24154 }
24155
24156 func (s *UploadPartInput) getBucket() (v string) {
24157 if s.Bucket == nil {
24158 return v
24159 }
24160 return *s.Bucket
24161 }
24162
24163 // SetContentLength sets the ContentLength field's value.
24164 func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
24165 s.ContentLength = &v
24166 return s
24167 }
24168
24169 // SetContentMD5 sets the ContentMD5 field's value.
24170 func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
24171 s.ContentMD5 = &v
24172 return s
24173 }
24174
24175 // SetKey sets the Key field's value.
24176 func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
24177 s.Key = &v
24178 return s
24179 }
24180
24181 // SetPartNumber sets the PartNumber field's value.
24182 func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput {
24183 s.PartNumber = &v
24184 return s
24185 }
24186
24187 // SetRequestPayer sets the RequestPayer field's value.
24188 func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput {
24189 s.RequestPayer = &v
24190 return s
24191 }
24192
24193 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24194 func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput {
24195 s.SSECustomerAlgorithm = &v
24196 return s
24197 }
24198
24199 // SetSSECustomerKey sets the SSECustomerKey field's value.
24200 func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
24201 s.SSECustomerKey = &v
24202 return s
24203 }
24204
24205 func (s *UploadPartInput) getSSECustomerKey() (v string) {
24206 if s.SSECustomerKey == nil {
24207 return v
24208 }
24209 return *s.SSECustomerKey
24210 }
24211
24212 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24213 func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
24214 s.SSECustomerKeyMD5 = &v
24215 return s
24216 }
24217
24218 // SetUploadId sets the UploadId field's value.
24219 func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
24220 s.UploadId = &v
24221 return s
24222 }
24223
24224 type UploadPartOutput struct {
24225 _ struct{} `type:"structure"`
24226
24227 // Entity tag for the uploaded object.
24228 ETag *string `location:"header" locationName:"ETag" type:"string"`
24229
24230 // If present, indicates that the requester was successfully charged for the
24231 // request.
24232 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
24233
24234 // If server-side encryption with a customer-provided encryption key was requested,
24235 // the response will include this header confirming the encryption algorithm
24236 // used.
24237 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
24238
24239 // If server-side encryption with a customer-provided encryption key was requested,
24240 // the response will include this header to provide round trip message integrity
24241 // verification of the customer-provided encryption key.
24242 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
24243
24244 // If present, specifies the ID of the AWS Key Management Service (KMS) master
24245 // encryption key that was used for the object.
24246 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
24247
24248 // The Server-side encryption algorithm used when storing this object in S3
24249 // (e.g., AES256, aws:kms).
24250 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
24251 }
24252
24253 // String returns the string representation
24254 func (s UploadPartOutput) String() string {
24255 return awsutil.Prettify(s)
24256 }
24257
24258 // GoString returns the string representation
24259 func (s UploadPartOutput) GoString() string {
24260 return s.String()
24261 }
24262
24263 // SetETag sets the ETag field's value.
24264 func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
24265 s.ETag = &v
24266 return s
24267 }
24268
24269 // SetRequestCharged sets the RequestCharged field's value.
24270 func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput {
24271 s.RequestCharged = &v
24272 return s
24273 }
24274
24275 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24276 func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput {
24277 s.SSECustomerAlgorithm = &v
24278 return s
24279 }
24280
24281 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24282 func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput {
24283 s.SSECustomerKeyMD5 = &v
24284 return s
24285 }
24286
24287 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24288 func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput {
24289 s.SSEKMSKeyId = &v
24290 return s
24291 }
24292
24293 // SetServerSideEncryption sets the ServerSideEncryption field's value.
24294 func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
24295 s.ServerSideEncryption = &v
24296 return s
24297 }
24298
24299 // Describes the versioning state of an Amazon S3 bucket. For more information,
24300 // see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html)
24301 // in the Amazon Simple Storage Service API Reference.
24302 type VersioningConfiguration struct {
24303 _ struct{} `type:"structure"`
24304
24305 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
24306 // This element is only returned if the bucket has been configured with MFA
24307 // delete. If the bucket has never been so configured, this element is not returned.
24308 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"`
24309
24310 // The versioning state of the bucket.
24311 Status *string `type:"string" enum:"BucketVersioningStatus"`
24312 }
24313
24314 // String returns the string representation
24315 func (s VersioningConfiguration) String() string {
24316 return awsutil.Prettify(s)
24317 }
24318
24319 // GoString returns the string representation
24320 func (s VersioningConfiguration) GoString() string {
24321 return s.String()
24322 }
24323
24324 // SetMFADelete sets the MFADelete field's value.
24325 func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration {
24326 s.MFADelete = &v
24327 return s
24328 }
24329
24330 // SetStatus sets the Status field's value.
24331 func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
24332 s.Status = &v
24333 return s
24334 }
24335
24336 // Specifies website configuration parameters for an Amazon S3 bucket.
24337 type WebsiteConfiguration struct {
24338 _ struct{} `type:"structure"`
24339
24340 // The name of the error document for the website.
24341 ErrorDocument *ErrorDocument `type:"structure"`
24342
24343 // The name of the index document for the website.
24344 IndexDocument *IndexDocument `type:"structure"`
24345
24346 // The redirect behavior for every request to this bucket's website endpoint.
24347 //
24348 // If you specify this property, you can't specify any other property.
24349 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
24350
24351 // Rules that define when a redirect is applied and the redirect behavior.
24352 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
24353 }
24354
24355 // String returns the string representation
24356 func (s WebsiteConfiguration) String() string {
24357 return awsutil.Prettify(s)
24358 }
24359
24360 // GoString returns the string representation
24361 func (s WebsiteConfiguration) GoString() string {
24362 return s.String()
24363 }
24364
24365 // Validate inspects the fields of the type to determine if they are valid.
24366 func (s *WebsiteConfiguration) Validate() error {
24367 invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"}
24368 if s.ErrorDocument != nil {
24369 if err := s.ErrorDocument.Validate(); err != nil {
24370 invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams))
24371 }
24372 }
24373 if s.IndexDocument != nil {
24374 if err := s.IndexDocument.Validate(); err != nil {
24375 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams))
24376 }
24377 }
24378 if s.RedirectAllRequestsTo != nil {
24379 if err := s.RedirectAllRequestsTo.Validate(); err != nil {
24380 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams))
24381 }
24382 }
24383 if s.RoutingRules != nil {
24384 for i, v := range s.RoutingRules {
24385 if v == nil {
24386 continue
24387 }
24388 if err := v.Validate(); err != nil {
24389 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams))
24390 }
24391 }
24392 }
24393
24394 if invalidParams.Len() > 0 {
24395 return invalidParams
24396 }
24397 return nil
24398 }
24399
24400 // SetErrorDocument sets the ErrorDocument field's value.
24401 func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration {
24402 s.ErrorDocument = v
24403 return s
24404 }
24405
24406 // SetIndexDocument sets the IndexDocument field's value.
24407 func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration {
24408 s.IndexDocument = v
24409 return s
24410 }
24411
24412 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
24413 func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration {
24414 s.RedirectAllRequestsTo = v
24415 return s
24416 }
24417
24418 // SetRoutingRules sets the RoutingRules field's value.
24419 func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration {
24420 s.RoutingRules = v
24421 return s
24422 }
24423
24424 const (
24425 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value
24426 AnalyticsS3ExportFileFormatCsv = "CSV"
24427 )
24428
24429 const (
24430 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
24431 BucketAccelerateStatusEnabled = "Enabled"
24432
24433 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value
24434 BucketAccelerateStatusSuspended = "Suspended"
24435 )
24436
24437 const (
24438 // BucketCannedACLPrivate is a BucketCannedACL enum value
24439 BucketCannedACLPrivate = "private"
24440
24441 // BucketCannedACLPublicRead is a BucketCannedACL enum value
24442 BucketCannedACLPublicRead = "public-read"
24443
24444 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
24445 BucketCannedACLPublicReadWrite = "public-read-write"
24446
24447 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
24448 BucketCannedACLAuthenticatedRead = "authenticated-read"
24449 )
24450
24451 const (
24452 // BucketLocationConstraintEu is a BucketLocationConstraint enum value
24453 BucketLocationConstraintEu = "EU"
24454
24455 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value
24456 BucketLocationConstraintEuWest1 = "eu-west-1"
24457
24458 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value
24459 BucketLocationConstraintUsWest1 = "us-west-1"
24460
24461 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value
24462 BucketLocationConstraintUsWest2 = "us-west-2"
24463
24464 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value
24465 BucketLocationConstraintApSouth1 = "ap-south-1"
24466
24467 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value
24468 BucketLocationConstraintApSoutheast1 = "ap-southeast-1"
24469
24470 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value
24471 BucketLocationConstraintApSoutheast2 = "ap-southeast-2"
24472
24473 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value
24474 BucketLocationConstraintApNortheast1 = "ap-northeast-1"
24475
24476 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value
24477 BucketLocationConstraintSaEast1 = "sa-east-1"
24478
24479 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value
24480 BucketLocationConstraintCnNorth1 = "cn-north-1"
24481
24482 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value
24483 BucketLocationConstraintEuCentral1 = "eu-central-1"
24484 )
24485
24486 const (
24487 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value
24488 BucketLogsPermissionFullControl = "FULL_CONTROL"
24489
24490 // BucketLogsPermissionRead is a BucketLogsPermission enum value
24491 BucketLogsPermissionRead = "READ"
24492
24493 // BucketLogsPermissionWrite is a BucketLogsPermission enum value
24494 BucketLogsPermissionWrite = "WRITE"
24495 )
24496
24497 const (
24498 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value
24499 BucketVersioningStatusEnabled = "Enabled"
24500
24501 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value
24502 BucketVersioningStatusSuspended = "Suspended"
24503 )
24504
24505 const (
24506 // CompressionTypeNone is a CompressionType enum value
24507 CompressionTypeNone = "NONE"
24508
24509 // CompressionTypeGzip is a CompressionType enum value
24510 CompressionTypeGzip = "GZIP"
24511
24512 // CompressionTypeBzip2 is a CompressionType enum value
24513 CompressionTypeBzip2 = "BZIP2"
24514 )
24515
24516 const (
24517 // DeleteMarkerReplicationStatusEnabled is a DeleteMarkerReplicationStatus enum value
24518 DeleteMarkerReplicationStatusEnabled = "Enabled"
24519
24520 // DeleteMarkerReplicationStatusDisabled is a DeleteMarkerReplicationStatus enum value
24521 DeleteMarkerReplicationStatusDisabled = "Disabled"
24522 )
24523
24524 // Requests Amazon S3 to encode the object keys in the response and specifies
24525 // the encoding method to use. An object key may contain any Unicode character;
24526 // however, XML 1.0 parser cannot parse some characters, such as characters
24527 // with an ASCII value from 0 to 10. For characters that are not supported in
24528 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
24529 // keys in the response.
24530 const (
24531 // EncodingTypeUrl is a EncodingType enum value
24532 EncodingTypeUrl = "url"
24533 )
24534
24535 // The bucket event for which to send notifications.
24536 const (
24537 // EventS3ReducedRedundancyLostObject is a Event enum value
24538 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"
24539
24540 // EventS3ObjectCreated is a Event enum value
24541 EventS3ObjectCreated = "s3:ObjectCreated:*"
24542
24543 // EventS3ObjectCreatedPut is a Event enum value
24544 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put"
24545
24546 // EventS3ObjectCreatedPost is a Event enum value
24547 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"
24548
24549 // EventS3ObjectCreatedCopy is a Event enum value
24550 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"
24551
24552 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value
24553 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"
24554
24555 // EventS3ObjectRemoved is a Event enum value
24556 EventS3ObjectRemoved = "s3:ObjectRemoved:*"
24557
24558 // EventS3ObjectRemovedDelete is a Event enum value
24559 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"
24560
24561 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value
24562 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"
24563
24564 // EventS3ObjectRestorePost is a Event enum value
24565 EventS3ObjectRestorePost = "s3:ObjectRestore:Post"
24566
24567 // EventS3ObjectRestoreCompleted is a Event enum value
24568 EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed"
24569 )
24570
24571 const (
24572 // ExpirationStatusEnabled is a ExpirationStatus enum value
24573 ExpirationStatusEnabled = "Enabled"
24574
24575 // ExpirationStatusDisabled is a ExpirationStatus enum value
24576 ExpirationStatusDisabled = "Disabled"
24577 )
24578
24579 const (
24580 // ExpressionTypeSql is a ExpressionType enum value
24581 ExpressionTypeSql = "SQL"
24582 )
24583
24584 const (
24585 // FileHeaderInfoUse is a FileHeaderInfo enum value
24586 FileHeaderInfoUse = "USE"
24587
24588 // FileHeaderInfoIgnore is a FileHeaderInfo enum value
24589 FileHeaderInfoIgnore = "IGNORE"
24590
24591 // FileHeaderInfoNone is a FileHeaderInfo enum value
24592 FileHeaderInfoNone = "NONE"
24593 )
24594
24595 const (
24596 // FilterRuleNamePrefix is a FilterRuleName enum value
24597 FilterRuleNamePrefix = "prefix"
24598
24599 // FilterRuleNameSuffix is a FilterRuleName enum value
24600 FilterRuleNameSuffix = "suffix"
24601 )
24602
24603 const (
24604 // InventoryFormatCsv is a InventoryFormat enum value
24605 InventoryFormatCsv = "CSV"
24606
24607 // InventoryFormatOrc is a InventoryFormat enum value
24608 InventoryFormatOrc = "ORC"
24609
24610 // InventoryFormatParquet is a InventoryFormat enum value
24611 InventoryFormatParquet = "Parquet"
24612 )
24613
24614 const (
24615 // InventoryFrequencyDaily is a InventoryFrequency enum value
24616 InventoryFrequencyDaily = "Daily"
24617
24618 // InventoryFrequencyWeekly is a InventoryFrequency enum value
24619 InventoryFrequencyWeekly = "Weekly"
24620 )
24621
24622 const (
24623 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value
24624 InventoryIncludedObjectVersionsAll = "All"
24625
24626 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value
24627 InventoryIncludedObjectVersionsCurrent = "Current"
24628 )
24629
24630 const (
24631 // InventoryOptionalFieldSize is a InventoryOptionalField enum value
24632 InventoryOptionalFieldSize = "Size"
24633
24634 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value
24635 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"
24636
24637 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value
24638 InventoryOptionalFieldStorageClass = "StorageClass"
24639
24640 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value
24641 InventoryOptionalFieldEtag = "ETag"
24642
24643 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value
24644 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"
24645
24646 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
24647 InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
24648
24649 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
24650 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
24651
24652 // InventoryOptionalFieldObjectLockRetainUntilDate is a InventoryOptionalField enum value
24653 InventoryOptionalFieldObjectLockRetainUntilDate = "ObjectLockRetainUntilDate"
24654
24655 // InventoryOptionalFieldObjectLockMode is a InventoryOptionalField enum value
24656 InventoryOptionalFieldObjectLockMode = "ObjectLockMode"
24657
24658 // InventoryOptionalFieldObjectLockLegalHoldStatus is a InventoryOptionalField enum value
24659 InventoryOptionalFieldObjectLockLegalHoldStatus = "ObjectLockLegalHoldStatus"
24660 )
24661
24662 const (
24663 // JSONTypeDocument is a JSONType enum value
24664 JSONTypeDocument = "DOCUMENT"
24665
24666 // JSONTypeLines is a JSONType enum value
24667 JSONTypeLines = "LINES"
24668 )
24669
24670 const (
24671 // MFADeleteEnabled is a MFADelete enum value
24672 MFADeleteEnabled = "Enabled"
24673
24674 // MFADeleteDisabled is a MFADelete enum value
24675 MFADeleteDisabled = "Disabled"
24676 )
24677
24678 const (
24679 // MFADeleteStatusEnabled is a MFADeleteStatus enum value
24680 MFADeleteStatusEnabled = "Enabled"
24681
24682 // MFADeleteStatusDisabled is a MFADeleteStatus enum value
24683 MFADeleteStatusDisabled = "Disabled"
24684 )
24685
24686 const (
24687 // MetadataDirectiveCopy is a MetadataDirective enum value
24688 MetadataDirectiveCopy = "COPY"
24689
24690 // MetadataDirectiveReplace is a MetadataDirective enum value
24691 MetadataDirectiveReplace = "REPLACE"
24692 )
24693
24694 const (
24695 // ObjectCannedACLPrivate is a ObjectCannedACL enum value
24696 ObjectCannedACLPrivate = "private"
24697
24698 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value
24699 ObjectCannedACLPublicRead = "public-read"
24700
24701 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
24702 ObjectCannedACLPublicReadWrite = "public-read-write"
24703
24704 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
24705 ObjectCannedACLAuthenticatedRead = "authenticated-read"
24706
24707 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
24708 ObjectCannedACLAwsExecRead = "aws-exec-read"
24709
24710 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
24711 ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
24712
24713 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
24714 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
24715 )
24716
24717 const (
24718 // ObjectLockEnabledEnabled is a ObjectLockEnabled enum value
24719 ObjectLockEnabledEnabled = "Enabled"
24720 )
24721
24722 const (
24723 // ObjectLockLegalHoldStatusOn is a ObjectLockLegalHoldStatus enum value
24724 ObjectLockLegalHoldStatusOn = "ON"
24725
24726 // ObjectLockLegalHoldStatusOff is a ObjectLockLegalHoldStatus enum value
24727 ObjectLockLegalHoldStatusOff = "OFF"
24728 )
24729
24730 const (
24731 // ObjectLockModeGovernance is a ObjectLockMode enum value
24732 ObjectLockModeGovernance = "GOVERNANCE"
24733
24734 // ObjectLockModeCompliance is a ObjectLockMode enum value
24735 ObjectLockModeCompliance = "COMPLIANCE"
24736 )
24737
24738 const (
24739 // ObjectLockRetentionModeGovernance is a ObjectLockRetentionMode enum value
24740 ObjectLockRetentionModeGovernance = "GOVERNANCE"
24741
24742 // ObjectLockRetentionModeCompliance is a ObjectLockRetentionMode enum value
24743 ObjectLockRetentionModeCompliance = "COMPLIANCE"
24744 )
24745
24746 const (
24747 // ObjectStorageClassStandard is a ObjectStorageClass enum value
24748 ObjectStorageClassStandard = "STANDARD"
24749
24750 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value
24751 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24752
24753 // ObjectStorageClassGlacier is a ObjectStorageClass enum value
24754 ObjectStorageClassGlacier = "GLACIER"
24755
24756 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
24757 ObjectStorageClassStandardIa = "STANDARD_IA"
24758
24759 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
24760 ObjectStorageClassOnezoneIa = "ONEZONE_IA"
24761
24762 // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value
24763 ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24764
24765 // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value
24766 ObjectStorageClassDeepArchive = "DEEP_ARCHIVE"
24767 )
24768
24769 const (
24770 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value
24771 ObjectVersionStorageClassStandard = "STANDARD"
24772 )
24773
24774 const (
24775 // OwnerOverrideDestination is a OwnerOverride enum value
24776 OwnerOverrideDestination = "Destination"
24777 )
24778
24779 const (
24780 // PayerRequester is a Payer enum value
24781 PayerRequester = "Requester"
24782
24783 // PayerBucketOwner is a Payer enum value
24784 PayerBucketOwner = "BucketOwner"
24785 )
24786
24787 const (
24788 // PermissionFullControl is a Permission enum value
24789 PermissionFullControl = "FULL_CONTROL"
24790
24791 // PermissionWrite is a Permission enum value
24792 PermissionWrite = "WRITE"
24793
24794 // PermissionWriteAcp is a Permission enum value
24795 PermissionWriteAcp = "WRITE_ACP"
24796
24797 // PermissionRead is a Permission enum value
24798 PermissionRead = "READ"
24799
24800 // PermissionReadAcp is a Permission enum value
24801 PermissionReadAcp = "READ_ACP"
24802 )
24803
24804 const (
24805 // ProtocolHttp is a Protocol enum value
24806 ProtocolHttp = "http"
24807
24808 // ProtocolHttps is a Protocol enum value
24809 ProtocolHttps = "https"
24810 )
24811
24812 const (
24813 // QuoteFieldsAlways is a QuoteFields enum value
24814 QuoteFieldsAlways = "ALWAYS"
24815
24816 // QuoteFieldsAsneeded is a QuoteFields enum value
24817 QuoteFieldsAsneeded = "ASNEEDED"
24818 )
24819
24820 const (
24821 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
24822 ReplicationRuleStatusEnabled = "Enabled"
24823
24824 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value
24825 ReplicationRuleStatusDisabled = "Disabled"
24826 )
24827
24828 const (
24829 // ReplicationStatusComplete is a ReplicationStatus enum value
24830 ReplicationStatusComplete = "COMPLETE"
24831
24832 // ReplicationStatusPending is a ReplicationStatus enum value
24833 ReplicationStatusPending = "PENDING"
24834
24835 // ReplicationStatusFailed is a ReplicationStatus enum value
24836 ReplicationStatusFailed = "FAILED"
24837
24838 // ReplicationStatusReplica is a ReplicationStatus enum value
24839 ReplicationStatusReplica = "REPLICA"
24840 )
24841
24842 // If present, indicates that the requester was successfully charged for the
24843 // request.
24844 const (
24845 // RequestChargedRequester is a RequestCharged enum value
24846 RequestChargedRequester = "requester"
24847 )
24848
24849 // Confirms that the requester knows that she or he will be charged for the
24850 // request. Bucket owners need not specify this parameter in their requests.
24851 // Documentation on downloading objects from requester pays buckets can be found
24852 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
24853 const (
24854 // RequestPayerRequester is a RequestPayer enum value
24855 RequestPayerRequester = "requester"
24856 )
24857
24858 const (
24859 // RestoreRequestTypeSelect is a RestoreRequestType enum value
24860 RestoreRequestTypeSelect = "SELECT"
24861 )
24862
24863 const (
24864 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
24865 ServerSideEncryptionAes256 = "AES256"
24866
24867 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value
24868 ServerSideEncryptionAwsKms = "aws:kms"
24869 )
24870
24871 const (
24872 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
24873 SseKmsEncryptedObjectsStatusEnabled = "Enabled"
24874
24875 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
24876 SseKmsEncryptedObjectsStatusDisabled = "Disabled"
24877 )
24878
24879 const (
24880 // StorageClassStandard is a StorageClass enum value
24881 StorageClassStandard = "STANDARD"
24882
24883 // StorageClassReducedRedundancy is a StorageClass enum value
24884 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24885
24886 // StorageClassStandardIa is a StorageClass enum value
24887 StorageClassStandardIa = "STANDARD_IA"
24888
24889 // StorageClassOnezoneIa is a StorageClass enum value
24890 StorageClassOnezoneIa = "ONEZONE_IA"
24891
24892 // StorageClassIntelligentTiering is a StorageClass enum value
24893 StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24894
24895 // StorageClassGlacier is a StorageClass enum value
24896 StorageClassGlacier = "GLACIER"
24897
24898 // StorageClassDeepArchive is a StorageClass enum value
24899 StorageClassDeepArchive = "DEEP_ARCHIVE"
24900 )
24901
24902 const (
24903 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value
24904 StorageClassAnalysisSchemaVersionV1 = "V_1"
24905 )
24906
24907 const (
24908 // TaggingDirectiveCopy is a TaggingDirective enum value
24909 TaggingDirectiveCopy = "COPY"
24910
24911 // TaggingDirectiveReplace is a TaggingDirective enum value
24912 TaggingDirectiveReplace = "REPLACE"
24913 )
24914
24915 const (
24916 // TierStandard is a Tier enum value
24917 TierStandard = "Standard"
24918
24919 // TierBulk is a Tier enum value
24920 TierBulk = "Bulk"
24921
24922 // TierExpedited is a Tier enum value
24923 TierExpedited = "Expedited"
24924 )
24925
24926 const (
24927 // TransitionStorageClassGlacier is a TransitionStorageClass enum value
24928 TransitionStorageClassGlacier = "GLACIER"
24929
24930 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
24931 TransitionStorageClassStandardIa = "STANDARD_IA"
24932
24933 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
24934 TransitionStorageClassOnezoneIa = "ONEZONE_IA"
24935
24936 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value
24937 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24938
24939 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value
24940 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE"
24941 )
24942
24943 const (
24944 // TypeCanonicalUser is a Type enum value
24945 TypeCanonicalUser = "CanonicalUser"
24946
24947 // TypeAmazonCustomerByEmail is a Type enum value
24948 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
24949
24950 // TypeGroup is a Type enum value
24951 TypeGroup = "Group"
24952 )