1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
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"
25 const opAbortMultipartUpload = "AbortMultipartUpload"
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
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.
35 // See AbortMultipartUpload for more information on using the AbortMultipartUpload
36 // API call, and error handling.
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.
42 // // Example sending a request using the AbortMultipartUploadRequest method.
43 // req, resp := client.AbortMultipartUploadRequest(params)
46 // if err == nil { // resp is now filled
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,
55 HTTPPath: "/{Bucket}/{Key+}",
59 input = &AbortMultipartUploadInput{}
62 output = &AbortMultipartUploadOutput{}
63 req = c.newRequest(op, input, output)
67 // AbortMultipartUpload API operation for Amazon Simple Storage Service.
69 // Aborts a multipart upload.
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.
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
79 // See the AWS API reference guide for Amazon Simple Storage Service's
80 // API operation AbortMultipartUpload for usage and error information.
82 // Returned Error Codes:
83 // * ErrCodeNoSuchUpload "NoSuchUpload"
84 // The specified multipart upload does not exist.
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()
92 // AbortMultipartUploadWithContext is the same as AbortMultipartUpload with the addition of
93 // the ability to pass a context and additional request options.
95 // See AbortMultipartUpload for details on how to use this API operation.
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)
104 req.ApplyOptions(opts...)
105 return out, req.Send()
108 const opCompleteMultipartUpload = "CompleteMultipartUpload"
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
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.
118 // See CompleteMultipartUpload for more information on using the CompleteMultipartUpload
119 // API call, and error handling.
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.
125 // // Example sending a request using the CompleteMultipartUploadRequest method.
126 // req, resp := client.CompleteMultipartUploadRequest(params)
129 // if err == nil { // resp is now filled
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,
138 HTTPPath: "/{Bucket}/{Key+}",
142 input = &CompleteMultipartUploadInput{}
145 output = &CompleteMultipartUploadOutput{}
146 req = c.newRequest(op, input, output)
150 // CompleteMultipartUpload API operation for Amazon Simple Storage Service.
152 // Completes a multipart upload by assembling previously uploaded parts.
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
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()
166 // CompleteMultipartUploadWithContext is the same as CompleteMultipartUpload with the addition of
167 // the ability to pass a context and additional request options.
169 // See CompleteMultipartUpload for details on how to use this API operation.
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)
178 req.ApplyOptions(opts...)
179 return out, req.Send()
182 const opCopyObject = "CopyObject"
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
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.
192 // See CopyObject for more information on using the CopyObject
193 // API call, and error handling.
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.
199 // // Example sending a request using the CopyObjectRequest method.
200 // req, resp := client.CopyObjectRequest(params)
203 // if err == nil { // resp is now filled
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{
212 HTTPPath: "/{Bucket}/{Key+}",
216 input = &CopyObjectInput{}
219 output = &CopyObjectOutput{}
220 req = c.newRequest(op, input, output)
224 // CopyObject API operation for Amazon Simple Storage Service.
226 // Creates a copy of an object that is already stored in Amazon S3.
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
232 // See the AWS API reference guide for Amazon Simple Storage Service's
233 // API operation CopyObject for usage and error information.
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.
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()
246 // CopyObjectWithContext is the same as CopyObject with the addition of
247 // the ability to pass a context and additional request options.
249 // See CopyObject for details on how to use this API operation.
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)
258 req.ApplyOptions(opts...)
259 return out, req.Send()
262 const opCreateBucket = "CreateBucket"
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
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.
272 // See CreateBucket for more information on using the CreateBucket
273 // API call, and error handling.
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.
279 // // Example sending a request using the CreateBucketRequest method.
280 // req, resp := client.CreateBucketRequest(params)
283 // if err == nil { // resp is now filled
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,
292 HTTPPath: "/{Bucket}",
296 input = &CreateBucketInput{}
299 output = &CreateBucketOutput{}
300 req = c.newRequest(op, input, output)
304 // CreateBucket API operation for Amazon Simple Storage Service.
306 // Creates a new bucket.
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
312 // See the AWS API reference guide for Amazon Simple Storage Service's
313 // API operation CreateBucket for usage and error information.
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.
320 // * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou"
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()
328 // CreateBucketWithContext is the same as CreateBucket with the addition of
329 // the ability to pass a context and additional request options.
331 // See CreateBucket for details on how to use this API operation.
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)
340 req.ApplyOptions(opts...)
341 return out, req.Send()
344 const opCreateMultipartUpload = "CreateMultipartUpload"
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
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.
354 // See CreateMultipartUpload for more information on using the CreateMultipartUpload
355 // API call, and error handling.
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.
361 // // Example sending a request using the CreateMultipartUploadRequest method.
362 // req, resp := client.CreateMultipartUploadRequest(params)
365 // if err == nil { // resp is now filled
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,
374 HTTPPath: "/{Bucket}/{Key+}?uploads",
378 input = &CreateMultipartUploadInput{}
381 output = &CreateMultipartUploadOutput{}
382 req = c.newRequest(op, input, output)
386 // CreateMultipartUpload API operation for Amazon Simple Storage Service.
388 // Initiates a multipart upload and returns an upload ID.
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.
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
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()
408 // CreateMultipartUploadWithContext is the same as CreateMultipartUpload with the addition of
409 // the ability to pass a context and additional request options.
411 // See CreateMultipartUpload for details on how to use this API operation.
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)
420 req.ApplyOptions(opts...)
421 return out, req.Send()
424 const opDeleteBucket = "DeleteBucket"
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
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.
434 // See DeleteBucket for more information on using the DeleteBucket
435 // API call, and error handling.
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.
441 // // Example sending a request using the DeleteBucketRequest method.
442 // req, resp := client.DeleteBucketRequest(params)
445 // if err == nil { // resp is now filled
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}",
458 input = &DeleteBucketInput{}
461 output = &DeleteBucketOutput{}
462 req = c.newRequest(op, input, output)
463 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
467 // DeleteBucket API operation for Amazon Simple Storage Service.
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.
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
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()
484 // DeleteBucketWithContext is the same as DeleteBucket with the addition of
485 // the ability to pass a context and additional request options.
487 // See DeleteBucket for details on how to use this API operation.
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)
496 req.ApplyOptions(opts...)
497 return out, req.Send()
500 const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration"
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
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.
510 // See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration
511 // API call, and error handling.
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.
517 // // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method.
518 // req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params)
521 // if err == nil { // resp is now filled
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",
534 input = &DeleteBucketAnalyticsConfigurationInput{}
537 output = &DeleteBucketAnalyticsConfigurationOutput{}
538 req = c.newRequest(op, input, output)
539 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
543 // DeleteBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
545 // Deletes an analytics configuration for the bucket (specified by the analytics
546 // configuration ID).
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.
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
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()
564 // DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
565 // the ability to pass a context and additional request options.
567 // See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
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)
576 req.ApplyOptions(opts...)
577 return out, req.Send()
580 const opDeleteBucketCors = "DeleteBucketCors"
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
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.
590 // See DeleteBucketCors for more information on using the DeleteBucketCors
591 // API call, and error handling.
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.
597 // // Example sending a request using the DeleteBucketCorsRequest method.
598 // req, resp := client.DeleteBucketCorsRequest(params)
601 // if err == nil { // resp is now filled
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",
614 input = &DeleteBucketCorsInput{}
617 output = &DeleteBucketCorsOutput{}
618 req = c.newRequest(op, input, output)
619 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
623 // DeleteBucketCors API operation for Amazon Simple Storage Service.
625 // Deletes the CORS configuration information set for the bucket.
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
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()
639 // DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
640 // the ability to pass a context and additional request options.
642 // See DeleteBucketCors for details on how to use this API operation.
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)
651 req.ApplyOptions(opts...)
652 return out, req.Send()
655 const opDeleteBucketEncryption = "DeleteBucketEncryption"
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
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.
665 // See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
666 // API call, and error handling.
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.
672 // // Example sending a request using the DeleteBucketEncryptionRequest method.
673 // req, resp := client.DeleteBucketEncryptionRequest(params)
676 // if err == nil { // resp is now filled
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",
689 input = &DeleteBucketEncryptionInput{}
692 output = &DeleteBucketEncryptionOutput{}
693 req = c.newRequest(op, input, output)
694 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
698 // DeleteBucketEncryption API operation for Amazon Simple Storage Service.
700 // Deletes the server-side encryption configuration from the bucket.
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
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()
714 // DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
715 // the ability to pass a context and additional request options.
717 // See DeleteBucketEncryption for details on how to use this API operation.
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)
726 req.ApplyOptions(opts...)
727 return out, req.Send()
730 const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
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
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.
740 // See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
741 // API call, and error handling.
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.
747 // // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
748 // req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
751 // if err == nil { // resp is now filled
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",
764 input = &DeleteBucketInventoryConfigurationInput{}
767 output = &DeleteBucketInventoryConfigurationOutput{}
768 req = c.newRequest(op, input, output)
769 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
773 // DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
775 // Deletes an inventory configuration (identified by the inventory ID) from
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
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()
790 // DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
791 // the ability to pass a context and additional request options.
793 // See DeleteBucketInventoryConfiguration for details on how to use this API operation.
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)
802 req.ApplyOptions(opts...)
803 return out, req.Send()
806 const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
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
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.
816 // See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
817 // API call, and error handling.
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.
823 // // Example sending a request using the DeleteBucketLifecycleRequest method.
824 // req, resp := client.DeleteBucketLifecycleRequest(params)
827 // if err == nil { // resp is now filled
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",
840 input = &DeleteBucketLifecycleInput{}
843 output = &DeleteBucketLifecycleOutput{}
844 req = c.newRequest(op, input, output)
845 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
849 // DeleteBucketLifecycle API operation for Amazon Simple Storage Service.
851 // Deletes the lifecycle configuration from the bucket.
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
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()
865 // DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
866 // the ability to pass a context and additional request options.
868 // See DeleteBucketLifecycle for details on how to use this API operation.
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)
877 req.ApplyOptions(opts...)
878 return out, req.Send()
881 const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
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
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.
891 // See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
892 // API call, and error handling.
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.
898 // // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
899 // req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
902 // if err == nil { // resp is now filled
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",
915 input = &DeleteBucketMetricsConfigurationInput{}
918 output = &DeleteBucketMetricsConfigurationOutput{}
919 req = c.newRequest(op, input, output)
920 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
924 // DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
926 // Deletes a metrics configuration (specified by the metrics configuration ID)
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
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()
941 // DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
942 // the ability to pass a context and additional request options.
944 // See DeleteBucketMetricsConfiguration for details on how to use this API operation.
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)
953 req.ApplyOptions(opts...)
954 return out, req.Send()
957 const opDeleteBucketPolicy = "DeleteBucketPolicy"
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
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.
967 // See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
968 // API call, and error handling.
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.
974 // // Example sending a request using the DeleteBucketPolicyRequest method.
975 // req, resp := client.DeleteBucketPolicyRequest(params)
978 // if err == nil { // resp is now filled
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",
991 input = &DeleteBucketPolicyInput{}
994 output = &DeleteBucketPolicyOutput{}
995 req = c.newRequest(op, input, output)
996 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1000 // DeleteBucketPolicy API operation for Amazon Simple Storage Service.
1002 // Deletes the policy from the bucket.
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
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()
1016 // DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
1017 // the ability to pass a context and additional request options.
1019 // See DeleteBucketPolicy for details on how to use this API operation.
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)
1028 req.ApplyOptions(opts...)
1029 return out, req.Send()
1032 const opDeleteBucketReplication = "DeleteBucketReplication"
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
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.
1042 // See DeleteBucketReplication for more information on using the DeleteBucketReplication
1043 // API call, and error handling.
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.
1049 // // Example sending a request using the DeleteBucketReplicationRequest method.
1050 // req, resp := client.DeleteBucketReplicationRequest(params)
1052 // err := req.Send()
1053 // if err == nil { // resp is now filled
1054 // fmt.Println(resp)
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",
1066 input = &DeleteBucketReplicationInput{}
1069 output = &DeleteBucketReplicationOutput{}
1070 req = c.newRequest(op, input, output)
1071 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1075 // DeleteBucketReplication API operation for Amazon Simple Storage Service.
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.
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
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()
1093 // DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
1094 // the ability to pass a context and additional request options.
1096 // See DeleteBucketReplication for details on how to use this API operation.
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)
1105 req.ApplyOptions(opts...)
1106 return out, req.Send()
1109 const opDeleteBucketTagging = "DeleteBucketTagging"
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
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.
1119 // See DeleteBucketTagging for more information on using the DeleteBucketTagging
1120 // API call, and error handling.
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.
1126 // // Example sending a request using the DeleteBucketTaggingRequest method.
1127 // req, resp := client.DeleteBucketTaggingRequest(params)
1129 // err := req.Send()
1130 // if err == nil { // resp is now filled
1131 // fmt.Println(resp)
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",
1143 input = &DeleteBucketTaggingInput{}
1146 output = &DeleteBucketTaggingOutput{}
1147 req = c.newRequest(op, input, output)
1148 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1152 // DeleteBucketTagging API operation for Amazon Simple Storage Service.
1154 // Deletes the tags from the bucket.
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
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()
1168 // DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
1169 // the ability to pass a context and additional request options.
1171 // See DeleteBucketTagging for details on how to use this API operation.
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)
1180 req.ApplyOptions(opts...)
1181 return out, req.Send()
1184 const opDeleteBucketWebsite = "DeleteBucketWebsite"
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
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.
1194 // See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
1195 // API call, and error handling.
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.
1201 // // Example sending a request using the DeleteBucketWebsiteRequest method.
1202 // req, resp := client.DeleteBucketWebsiteRequest(params)
1204 // err := req.Send()
1205 // if err == nil { // resp is now filled
1206 // fmt.Println(resp)
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",
1218 input = &DeleteBucketWebsiteInput{}
1221 output = &DeleteBucketWebsiteOutput{}
1222 req = c.newRequest(op, input, output)
1223 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1227 // DeleteBucketWebsite API operation for Amazon Simple Storage Service.
1229 // This operation removes the website configuration from the bucket.
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
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()
1243 // DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
1244 // the ability to pass a context and additional request options.
1246 // See DeleteBucketWebsite for details on how to use this API operation.
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)
1255 req.ApplyOptions(opts...)
1256 return out, req.Send()
1259 const opDeleteObject = "DeleteObject"
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
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.
1269 // See DeleteObject for more information on using the DeleteObject
1270 // API call, and error handling.
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.
1276 // // Example sending a request using the DeleteObjectRequest method.
1277 // req, resp := client.DeleteObjectRequest(params)
1279 // err := req.Send()
1280 // if err == nil { // resp is now filled
1281 // fmt.Println(resp)
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+}",
1293 input = &DeleteObjectInput{}
1296 output = &DeleteObjectOutput{}
1297 req = c.newRequest(op, input, output)
1301 // DeleteObject API operation for Amazon Simple Storage Service.
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.
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
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()
1319 // DeleteObjectWithContext is the same as DeleteObject with the addition of
1320 // the ability to pass a context and additional request options.
1322 // See DeleteObject for details on how to use this API operation.
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)
1331 req.ApplyOptions(opts...)
1332 return out, req.Send()
1335 const opDeleteObjectTagging = "DeleteObjectTagging"
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
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.
1345 // See DeleteObjectTagging for more information on using the DeleteObjectTagging
1346 // API call, and error handling.
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.
1352 // // Example sending a request using the DeleteObjectTaggingRequest method.
1353 // req, resp := client.DeleteObjectTaggingRequest(params)
1355 // err := req.Send()
1356 // if err == nil { // resp is now filled
1357 // fmt.Println(resp)
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",
1369 input = &DeleteObjectTaggingInput{}
1372 output = &DeleteObjectTaggingOutput{}
1373 req = c.newRequest(op, input, output)
1377 // DeleteObjectTagging API operation for Amazon Simple Storage Service.
1379 // Removes the tag-set from an existing object.
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
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()
1393 // DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
1394 // the ability to pass a context and additional request options.
1396 // See DeleteObjectTagging for details on how to use this API operation.
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)
1405 req.ApplyOptions(opts...)
1406 return out, req.Send()
1409 const opDeleteObjects = "DeleteObjects"
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
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.
1419 // See DeleteObjects for more information on using the DeleteObjects
1420 // API call, and error handling.
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.
1426 // // Example sending a request using the DeleteObjectsRequest method.
1427 // req, resp := client.DeleteObjectsRequest(params)
1429 // err := req.Send()
1430 // if err == nil { // resp is now filled
1431 // fmt.Println(resp)
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,
1439 HTTPPath: "/{Bucket}?delete",
1443 input = &DeleteObjectsInput{}
1446 output = &DeleteObjectsOutput{}
1447 req = c.newRequest(op, input, output)
1451 // DeleteObjects API operation for Amazon Simple Storage Service.
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.
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
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()
1468 // DeleteObjectsWithContext is the same as DeleteObjects with the addition of
1469 // the ability to pass a context and additional request options.
1471 // See DeleteObjects for details on how to use this API operation.
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)
1480 req.ApplyOptions(opts...)
1481 return out, req.Send()
1484 const opDeletePublicAccessBlock = "DeletePublicAccessBlock"
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
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.
1494 // See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock
1495 // API call, and error handling.
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.
1501 // // Example sending a request using the DeletePublicAccessBlockRequest method.
1502 // req, resp := client.DeletePublicAccessBlockRequest(params)
1504 // err := req.Send()
1505 // if err == nil { // resp is now filled
1506 // fmt.Println(resp)
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",
1518 input = &DeletePublicAccessBlockInput{}
1521 output = &DeletePublicAccessBlockOutput{}
1522 req = c.newRequest(op, input, output)
1523 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1527 // DeletePublicAccessBlock API operation for Amazon Simple Storage Service.
1529 // Removes the PublicAccessBlock configuration from an Amazon S3 bucket.
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
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()
1543 // DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of
1544 // the ability to pass a context and additional request options.
1546 // See DeletePublicAccessBlock for details on how to use this API operation.
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)
1555 req.ApplyOptions(opts...)
1556 return out, req.Send()
1559 const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
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
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.
1569 // See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
1570 // API call, and error handling.
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.
1576 // // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
1577 // req, resp := client.GetBucketAccelerateConfigurationRequest(params)
1579 // err := req.Send()
1580 // if err == nil { // resp is now filled
1581 // fmt.Println(resp)
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,
1589 HTTPPath: "/{Bucket}?accelerate",
1593 input = &GetBucketAccelerateConfigurationInput{}
1596 output = &GetBucketAccelerateConfigurationOutput{}
1597 req = c.newRequest(op, input, output)
1601 // GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
1603 // Returns the accelerate configuration of a bucket.
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
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()
1617 // GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
1618 // the ability to pass a context and additional request options.
1620 // See GetBucketAccelerateConfiguration for details on how to use this API operation.
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)
1629 req.ApplyOptions(opts...)
1630 return out, req.Send()
1633 const opGetBucketAcl = "GetBucketAcl"
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
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.
1643 // See GetBucketAcl for more information on using the GetBucketAcl
1644 // API call, and error handling.
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.
1650 // // Example sending a request using the GetBucketAclRequest method.
1651 // req, resp := client.GetBucketAclRequest(params)
1653 // err := req.Send()
1654 // if err == nil { // resp is now filled
1655 // fmt.Println(resp)
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,
1663 HTTPPath: "/{Bucket}?acl",
1667 input = &GetBucketAclInput{}
1670 output = &GetBucketAclOutput{}
1671 req = c.newRequest(op, input, output)
1675 // GetBucketAcl API operation for Amazon Simple Storage Service.
1677 // Gets the access control policy for the bucket.
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
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()
1691 // GetBucketAclWithContext is the same as GetBucketAcl with the addition of
1692 // the ability to pass a context and additional request options.
1694 // See GetBucketAcl for details on how to use this API operation.
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)
1703 req.ApplyOptions(opts...)
1704 return out, req.Send()
1707 const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
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
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.
1717 // See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
1718 // API call, and error handling.
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.
1724 // // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
1725 // req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
1727 // err := req.Send()
1728 // if err == nil { // resp is now filled
1729 // fmt.Println(resp)
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,
1737 HTTPPath: "/{Bucket}?analytics",
1741 input = &GetBucketAnalyticsConfigurationInput{}
1744 output = &GetBucketAnalyticsConfigurationOutput{}
1745 req = c.newRequest(op, input, output)
1749 // GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
1751 // Gets an analytics configuration for the bucket (specified by the analytics
1752 // configuration ID).
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
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()
1766 // GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
1767 // the ability to pass a context and additional request options.
1769 // See GetBucketAnalyticsConfiguration for details on how to use this API operation.
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)
1778 req.ApplyOptions(opts...)
1779 return out, req.Send()
1782 const opGetBucketCors = "GetBucketCors"
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
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.
1792 // See GetBucketCors for more information on using the GetBucketCors
1793 // API call, and error handling.
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.
1799 // // Example sending a request using the GetBucketCorsRequest method.
1800 // req, resp := client.GetBucketCorsRequest(params)
1802 // err := req.Send()
1803 // if err == nil { // resp is now filled
1804 // fmt.Println(resp)
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,
1812 HTTPPath: "/{Bucket}?cors",
1816 input = &GetBucketCorsInput{}
1819 output = &GetBucketCorsOutput{}
1820 req = c.newRequest(op, input, output)
1824 // GetBucketCors API operation for Amazon Simple Storage Service.
1826 // Returns the CORS configuration for the bucket.
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
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()
1840 // GetBucketCorsWithContext is the same as GetBucketCors with the addition of
1841 // the ability to pass a context and additional request options.
1843 // See GetBucketCors for details on how to use this API operation.
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)
1852 req.ApplyOptions(opts...)
1853 return out, req.Send()
1856 const opGetBucketEncryption = "GetBucketEncryption"
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
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.
1866 // See GetBucketEncryption for more information on using the GetBucketEncryption
1867 // API call, and error handling.
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.
1873 // // Example sending a request using the GetBucketEncryptionRequest method.
1874 // req, resp := client.GetBucketEncryptionRequest(params)
1876 // err := req.Send()
1877 // if err == nil { // resp is now filled
1878 // fmt.Println(resp)
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,
1886 HTTPPath: "/{Bucket}?encryption",
1890 input = &GetBucketEncryptionInput{}
1893 output = &GetBucketEncryptionOutput{}
1894 req = c.newRequest(op, input, output)
1898 // GetBucketEncryption API operation for Amazon Simple Storage Service.
1900 // Returns the server-side encryption configuration of a bucket.
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
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()
1914 // GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
1915 // the ability to pass a context and additional request options.
1917 // See GetBucketEncryption for details on how to use this API operation.
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)
1926 req.ApplyOptions(opts...)
1927 return out, req.Send()
1930 const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
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
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.
1940 // See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
1941 // API call, and error handling.
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.
1947 // // Example sending a request using the GetBucketInventoryConfigurationRequest method.
1948 // req, resp := client.GetBucketInventoryConfigurationRequest(params)
1950 // err := req.Send()
1951 // if err == nil { // resp is now filled
1952 // fmt.Println(resp)
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,
1960 HTTPPath: "/{Bucket}?inventory",
1964 input = &GetBucketInventoryConfigurationInput{}
1967 output = &GetBucketInventoryConfigurationOutput{}
1968 req = c.newRequest(op, input, output)
1972 // GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
1974 // Returns an inventory configuration (identified by the inventory ID) from
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
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()
1989 // GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
1990 // the ability to pass a context and additional request options.
1992 // See GetBucketInventoryConfiguration for details on how to use this API operation.
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)
2001 req.ApplyOptions(opts...)
2002 return out, req.Send()
2005 const opGetBucketLifecycle = "GetBucketLifecycle"
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
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.
2015 // See GetBucketLifecycle for more information on using the GetBucketLifecycle
2016 // API call, and error handling.
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.
2022 // // Example sending a request using the GetBucketLifecycleRequest method.
2023 // req, resp := client.GetBucketLifecycleRequest(params)
2025 // err := req.Send()
2026 // if err == nil { // resp is now filled
2027 // fmt.Println(resp)
2030 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
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")
2037 op := &request.Operation{
2038 Name: opGetBucketLifecycle,
2040 HTTPPath: "/{Bucket}?lifecycle",
2044 input = &GetBucketLifecycleInput{}
2047 output = &GetBucketLifecycleOutput{}
2048 req = c.newRequest(op, input, output)
2052 // GetBucketLifecycle API operation for Amazon Simple Storage Service.
2054 // No longer used, see the GetBucketLifecycleConfiguration operation.
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
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
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()
2070 // GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
2071 // the ability to pass a context and additional request options.
2073 // See GetBucketLifecycle for details on how to use this API operation.
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.
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)
2084 req.ApplyOptions(opts...)
2085 return out, req.Send()
2088 const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
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
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.
2098 // See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
2099 // API call, and error handling.
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.
2105 // // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
2106 // req, resp := client.GetBucketLifecycleConfigurationRequest(params)
2108 // err := req.Send()
2109 // if err == nil { // resp is now filled
2110 // fmt.Println(resp)
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,
2118 HTTPPath: "/{Bucket}?lifecycle",
2122 input = &GetBucketLifecycleConfigurationInput{}
2125 output = &GetBucketLifecycleConfigurationOutput{}
2126 req = c.newRequest(op, input, output)
2130 // GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
2132 // Returns the lifecycle configuration information set on the bucket.
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
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()
2146 // GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
2147 // the ability to pass a context and additional request options.
2149 // See GetBucketLifecycleConfiguration for details on how to use this API operation.
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)
2158 req.ApplyOptions(opts...)
2159 return out, req.Send()
2162 const opGetBucketLocation = "GetBucketLocation"
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
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.
2172 // See GetBucketLocation for more information on using the GetBucketLocation
2173 // API call, and error handling.
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.
2179 // // Example sending a request using the GetBucketLocationRequest method.
2180 // req, resp := client.GetBucketLocationRequest(params)
2182 // err := req.Send()
2183 // if err == nil { // resp is now filled
2184 // fmt.Println(resp)
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,
2192 HTTPPath: "/{Bucket}?location",
2196 input = &GetBucketLocationInput{}
2199 output = &GetBucketLocationOutput{}
2200 req = c.newRequest(op, input, output)
2204 // GetBucketLocation API operation for Amazon Simple Storage Service.
2206 // Returns the region the bucket resides in.
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
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()
2220 // GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
2221 // the ability to pass a context and additional request options.
2223 // See GetBucketLocation for details on how to use this API operation.
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)
2232 req.ApplyOptions(opts...)
2233 return out, req.Send()
2236 const opGetBucketLogging = "GetBucketLogging"
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
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.
2246 // See GetBucketLogging for more information on using the GetBucketLogging
2247 // API call, and error handling.
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.
2253 // // Example sending a request using the GetBucketLoggingRequest method.
2254 // req, resp := client.GetBucketLoggingRequest(params)
2256 // err := req.Send()
2257 // if err == nil { // resp is now filled
2258 // fmt.Println(resp)
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,
2266 HTTPPath: "/{Bucket}?logging",
2270 input = &GetBucketLoggingInput{}
2273 output = &GetBucketLoggingOutput{}
2274 req = c.newRequest(op, input, output)
2278 // GetBucketLogging API operation for Amazon Simple Storage Service.
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.
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
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()
2295 // GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
2296 // the ability to pass a context and additional request options.
2298 // See GetBucketLogging for details on how to use this API operation.
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)
2307 req.ApplyOptions(opts...)
2308 return out, req.Send()
2311 const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
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
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.
2321 // See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
2322 // API call, and error handling.
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.
2328 // // Example sending a request using the GetBucketMetricsConfigurationRequest method.
2329 // req, resp := client.GetBucketMetricsConfigurationRequest(params)
2331 // err := req.Send()
2332 // if err == nil { // resp is now filled
2333 // fmt.Println(resp)
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,
2341 HTTPPath: "/{Bucket}?metrics",
2345 input = &GetBucketMetricsConfigurationInput{}
2348 output = &GetBucketMetricsConfigurationOutput{}
2349 req = c.newRequest(op, input, output)
2353 // GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
2355 // Gets a metrics configuration (specified by the metrics configuration ID)
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
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()
2370 // GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
2371 // the ability to pass a context and additional request options.
2373 // See GetBucketMetricsConfiguration for details on how to use this API operation.
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)
2382 req.ApplyOptions(opts...)
2383 return out, req.Send()
2386 const opGetBucketNotification = "GetBucketNotification"
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
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.
2396 // See GetBucketNotification for more information on using the GetBucketNotification
2397 // API call, and error handling.
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.
2403 // // Example sending a request using the GetBucketNotificationRequest method.
2404 // req, resp := client.GetBucketNotificationRequest(params)
2406 // err := req.Send()
2407 // if err == nil { // resp is now filled
2408 // fmt.Println(resp)
2411 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
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")
2418 op := &request.Operation{
2419 Name: opGetBucketNotification,
2421 HTTPPath: "/{Bucket}?notification",
2425 input = &GetBucketNotificationConfigurationRequest{}
2428 output = &NotificationConfigurationDeprecated{}
2429 req = c.newRequest(op, input, output)
2433 // GetBucketNotification API operation for Amazon Simple Storage Service.
2435 // No longer used, see the GetBucketNotificationConfiguration operation.
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
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
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()
2451 // GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
2452 // the ability to pass a context and additional request options.
2454 // See GetBucketNotification for details on how to use this API operation.
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.
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)
2465 req.ApplyOptions(opts...)
2466 return out, req.Send()
2469 const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
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
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.
2479 // See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
2480 // API call, and error handling.
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.
2486 // // Example sending a request using the GetBucketNotificationConfigurationRequest method.
2487 // req, resp := client.GetBucketNotificationConfigurationRequest(params)
2489 // err := req.Send()
2490 // if err == nil { // resp is now filled
2491 // fmt.Println(resp)
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,
2499 HTTPPath: "/{Bucket}?notification",
2503 input = &GetBucketNotificationConfigurationRequest{}
2506 output = &NotificationConfiguration{}
2507 req = c.newRequest(op, input, output)
2511 // GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
2513 // Returns the notification configuration of a bucket.
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
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()
2527 // GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
2528 // the ability to pass a context and additional request options.
2530 // See GetBucketNotificationConfiguration for details on how to use this API operation.
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)
2539 req.ApplyOptions(opts...)
2540 return out, req.Send()
2543 const opGetBucketPolicy = "GetBucketPolicy"
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
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.
2553 // See GetBucketPolicy for more information on using the GetBucketPolicy
2554 // API call, and error handling.
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.
2560 // // Example sending a request using the GetBucketPolicyRequest method.
2561 // req, resp := client.GetBucketPolicyRequest(params)
2563 // err := req.Send()
2564 // if err == nil { // resp is now filled
2565 // fmt.Println(resp)
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,
2573 HTTPPath: "/{Bucket}?policy",
2577 input = &GetBucketPolicyInput{}
2580 output = &GetBucketPolicyOutput{}
2581 req = c.newRequest(op, input, output)
2585 // GetBucketPolicy API operation for Amazon Simple Storage Service.
2587 // Returns the policy of a specified bucket.
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
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()
2601 // GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
2602 // the ability to pass a context and additional request options.
2604 // See GetBucketPolicy for details on how to use this API operation.
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)
2613 req.ApplyOptions(opts...)
2614 return out, req.Send()
2617 const opGetBucketPolicyStatus = "GetBucketPolicyStatus"
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
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.
2627 // See GetBucketPolicyStatus for more information on using the GetBucketPolicyStatus
2628 // API call, and error handling.
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.
2634 // // Example sending a request using the GetBucketPolicyStatusRequest method.
2635 // req, resp := client.GetBucketPolicyStatusRequest(params)
2637 // err := req.Send()
2638 // if err == nil { // resp is now filled
2639 // fmt.Println(resp)
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,
2647 HTTPPath: "/{Bucket}?policyStatus",
2651 input = &GetBucketPolicyStatusInput{}
2654 output = &GetBucketPolicyStatusOutput{}
2655 req = c.newRequest(op, input, output)
2659 // GetBucketPolicyStatus API operation for Amazon Simple Storage Service.
2661 // Retrieves the policy status for an Amazon S3 bucket, indicating whether the
2662 // bucket is public.
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
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()
2676 // GetBucketPolicyStatusWithContext is the same as GetBucketPolicyStatus with the addition of
2677 // the ability to pass a context and additional request options.
2679 // See GetBucketPolicyStatus for details on how to use this API operation.
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)
2688 req.ApplyOptions(opts...)
2689 return out, req.Send()
2692 const opGetBucketReplication = "GetBucketReplication"
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
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.
2702 // See GetBucketReplication for more information on using the GetBucketReplication
2703 // API call, and error handling.
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.
2709 // // Example sending a request using the GetBucketReplicationRequest method.
2710 // req, resp := client.GetBucketReplicationRequest(params)
2712 // err := req.Send()
2713 // if err == nil { // resp is now filled
2714 // fmt.Println(resp)
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,
2722 HTTPPath: "/{Bucket}?replication",
2726 input = &GetBucketReplicationInput{}
2729 output = &GetBucketReplicationOutput{}
2730 req = c.newRequest(op, input, output)
2734 // GetBucketReplication API operation for Amazon Simple Storage Service.
2736 // Returns the replication configuration of a bucket.
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.
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
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()
2754 // GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
2755 // the ability to pass a context and additional request options.
2757 // See GetBucketReplication for details on how to use this API operation.
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)
2766 req.ApplyOptions(opts...)
2767 return out, req.Send()
2770 const opGetBucketRequestPayment = "GetBucketRequestPayment"
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
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.
2780 // See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
2781 // API call, and error handling.
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.
2787 // // Example sending a request using the GetBucketRequestPaymentRequest method.
2788 // req, resp := client.GetBucketRequestPaymentRequest(params)
2790 // err := req.Send()
2791 // if err == nil { // resp is now filled
2792 // fmt.Println(resp)
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,
2800 HTTPPath: "/{Bucket}?requestPayment",
2804 input = &GetBucketRequestPaymentInput{}
2807 output = &GetBucketRequestPaymentOutput{}
2808 req = c.newRequest(op, input, output)
2812 // GetBucketRequestPayment API operation for Amazon Simple Storage Service.
2814 // Returns the request payment configuration of a bucket.
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
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()
2828 // GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
2829 // the ability to pass a context and additional request options.
2831 // See GetBucketRequestPayment for details on how to use this API operation.
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)
2840 req.ApplyOptions(opts...)
2841 return out, req.Send()
2844 const opGetBucketTagging = "GetBucketTagging"
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
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.
2854 // See GetBucketTagging for more information on using the GetBucketTagging
2855 // API call, and error handling.
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.
2861 // // Example sending a request using the GetBucketTaggingRequest method.
2862 // req, resp := client.GetBucketTaggingRequest(params)
2864 // err := req.Send()
2865 // if err == nil { // resp is now filled
2866 // fmt.Println(resp)
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,
2874 HTTPPath: "/{Bucket}?tagging",
2878 input = &GetBucketTaggingInput{}
2881 output = &GetBucketTaggingOutput{}
2882 req = c.newRequest(op, input, output)
2886 // GetBucketTagging API operation for Amazon Simple Storage Service.
2888 // Returns the tag set associated with the bucket.
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
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()
2902 // GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
2903 // the ability to pass a context and additional request options.
2905 // See GetBucketTagging for details on how to use this API operation.
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)
2914 req.ApplyOptions(opts...)
2915 return out, req.Send()
2918 const opGetBucketVersioning = "GetBucketVersioning"
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
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.
2928 // See GetBucketVersioning for more information on using the GetBucketVersioning
2929 // API call, and error handling.
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.
2935 // // Example sending a request using the GetBucketVersioningRequest method.
2936 // req, resp := client.GetBucketVersioningRequest(params)
2938 // err := req.Send()
2939 // if err == nil { // resp is now filled
2940 // fmt.Println(resp)
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,
2948 HTTPPath: "/{Bucket}?versioning",
2952 input = &GetBucketVersioningInput{}
2955 output = &GetBucketVersioningOutput{}
2956 req = c.newRequest(op, input, output)
2960 // GetBucketVersioning API operation for Amazon Simple Storage Service.
2962 // Returns the versioning state of a bucket.
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
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()
2976 // GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
2977 // the ability to pass a context and additional request options.
2979 // See GetBucketVersioning for details on how to use this API operation.
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)
2988 req.ApplyOptions(opts...)
2989 return out, req.Send()
2992 const opGetBucketWebsite = "GetBucketWebsite"
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
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.
3002 // See GetBucketWebsite for more information on using the GetBucketWebsite
3003 // API call, and error handling.
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.
3009 // // Example sending a request using the GetBucketWebsiteRequest method.
3010 // req, resp := client.GetBucketWebsiteRequest(params)
3012 // err := req.Send()
3013 // if err == nil { // resp is now filled
3014 // fmt.Println(resp)
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,
3022 HTTPPath: "/{Bucket}?website",
3026 input = &GetBucketWebsiteInput{}
3029 output = &GetBucketWebsiteOutput{}
3030 req = c.newRequest(op, input, output)
3034 // GetBucketWebsite API operation for Amazon Simple Storage Service.
3036 // Returns the website configuration for a bucket.
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
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()
3050 // GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
3051 // the ability to pass a context and additional request options.
3053 // See GetBucketWebsite for details on how to use this API operation.
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)
3062 req.ApplyOptions(opts...)
3063 return out, req.Send()
3066 const opGetObject = "GetObject"
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
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.
3076 // See GetObject for more information on using the GetObject
3077 // API call, and error handling.
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.
3083 // // Example sending a request using the GetObjectRequest method.
3084 // req, resp := client.GetObjectRequest(params)
3086 // err := req.Send()
3087 // if err == nil { // resp is now filled
3088 // fmt.Println(resp)
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{
3096 HTTPPath: "/{Bucket}/{Key+}",
3100 input = &GetObjectInput{}
3103 output = &GetObjectOutput{}
3104 req = c.newRequest(op, input, output)
3108 // GetObject API operation for Amazon Simple Storage Service.
3110 // Retrieves objects from Amazon S3.
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
3116 // See the AWS API reference guide for Amazon Simple Storage Service's
3117 // API operation GetObject for usage and error information.
3119 // Returned Error Codes:
3120 // * ErrCodeNoSuchKey "NoSuchKey"
3121 // The specified key does not exist.
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()
3129 // GetObjectWithContext is the same as GetObject with the addition of
3130 // the ability to pass a context and additional request options.
3132 // See GetObject for details on how to use this API operation.
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)
3141 req.ApplyOptions(opts...)
3142 return out, req.Send()
3145 const opGetObjectAcl = "GetObjectAcl"
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
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.
3155 // See GetObjectAcl for more information on using the GetObjectAcl
3156 // API call, and error handling.
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.
3162 // // Example sending a request using the GetObjectAclRequest method.
3163 // req, resp := client.GetObjectAclRequest(params)
3165 // err := req.Send()
3166 // if err == nil { // resp is now filled
3167 // fmt.Println(resp)
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,
3175 HTTPPath: "/{Bucket}/{Key+}?acl",
3179 input = &GetObjectAclInput{}
3182 output = &GetObjectAclOutput{}
3183 req = c.newRequest(op, input, output)
3187 // GetObjectAcl API operation for Amazon Simple Storage Service.
3189 // Returns the access control list (ACL) of an object.
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
3195 // See the AWS API reference guide for Amazon Simple Storage Service's
3196 // API operation GetObjectAcl for usage and error information.
3198 // Returned Error Codes:
3199 // * ErrCodeNoSuchKey "NoSuchKey"
3200 // The specified key does not exist.
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()
3208 // GetObjectAclWithContext is the same as GetObjectAcl with the addition of
3209 // the ability to pass a context and additional request options.
3211 // See GetObjectAcl for details on how to use this API operation.
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)
3220 req.ApplyOptions(opts...)
3221 return out, req.Send()
3224 const opGetObjectLegalHold = "GetObjectLegalHold"
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
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.
3234 // See GetObjectLegalHold for more information on using the GetObjectLegalHold
3235 // API call, and error handling.
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.
3241 // // Example sending a request using the GetObjectLegalHoldRequest method.
3242 // req, resp := client.GetObjectLegalHoldRequest(params)
3244 // err := req.Send()
3245 // if err == nil { // resp is now filled
3246 // fmt.Println(resp)
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,
3254 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
3258 input = &GetObjectLegalHoldInput{}
3261 output = &GetObjectLegalHoldOutput{}
3262 req = c.newRequest(op, input, output)
3266 // GetObjectLegalHold API operation for Amazon Simple Storage Service.
3268 // Gets an object's current Legal Hold status.
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
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()
3282 // GetObjectLegalHoldWithContext is the same as GetObjectLegalHold with the addition of
3283 // the ability to pass a context and additional request options.
3285 // See GetObjectLegalHold for details on how to use this API operation.
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)
3294 req.ApplyOptions(opts...)
3295 return out, req.Send()
3298 const opGetObjectLockConfiguration = "GetObjectLockConfiguration"
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
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.
3308 // See GetObjectLockConfiguration for more information on using the GetObjectLockConfiguration
3309 // API call, and error handling.
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.
3315 // // Example sending a request using the GetObjectLockConfigurationRequest method.
3316 // req, resp := client.GetObjectLockConfigurationRequest(params)
3318 // err := req.Send()
3319 // if err == nil { // resp is now filled
3320 // fmt.Println(resp)
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,
3328 HTTPPath: "/{Bucket}?object-lock",
3332 input = &GetObjectLockConfigurationInput{}
3335 output = &GetObjectLockConfigurationOutput{}
3336 req = c.newRequest(op, input, output)
3340 // GetObjectLockConfiguration API operation for Amazon Simple Storage Service.
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.
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
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()
3358 // GetObjectLockConfigurationWithContext is the same as GetObjectLockConfiguration with the addition of
3359 // the ability to pass a context and additional request options.
3361 // See GetObjectLockConfiguration for details on how to use this API operation.
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)
3370 req.ApplyOptions(opts...)
3371 return out, req.Send()
3374 const opGetObjectRetention = "GetObjectRetention"
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
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.
3384 // See GetObjectRetention for more information on using the GetObjectRetention
3385 // API call, and error handling.
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.
3391 // // Example sending a request using the GetObjectRetentionRequest method.
3392 // req, resp := client.GetObjectRetentionRequest(params)
3394 // err := req.Send()
3395 // if err == nil { // resp is now filled
3396 // fmt.Println(resp)
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,
3404 HTTPPath: "/{Bucket}/{Key+}?retention",
3408 input = &GetObjectRetentionInput{}
3411 output = &GetObjectRetentionOutput{}
3412 req = c.newRequest(op, input, output)
3416 // GetObjectRetention API operation for Amazon Simple Storage Service.
3418 // Retrieves an object's retention settings.
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
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()
3432 // GetObjectRetentionWithContext is the same as GetObjectRetention with the addition of
3433 // the ability to pass a context and additional request options.
3435 // See GetObjectRetention for details on how to use this API operation.
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)
3444 req.ApplyOptions(opts...)
3445 return out, req.Send()
3448 const opGetObjectTagging = "GetObjectTagging"
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
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.
3458 // See GetObjectTagging for more information on using the GetObjectTagging
3459 // API call, and error handling.
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.
3465 // // Example sending a request using the GetObjectTaggingRequest method.
3466 // req, resp := client.GetObjectTaggingRequest(params)
3468 // err := req.Send()
3469 // if err == nil { // resp is now filled
3470 // fmt.Println(resp)
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,
3478 HTTPPath: "/{Bucket}/{Key+}?tagging",
3482 input = &GetObjectTaggingInput{}
3485 output = &GetObjectTaggingOutput{}
3486 req = c.newRequest(op, input, output)
3490 // GetObjectTagging API operation for Amazon Simple Storage Service.
3492 // Returns the tag-set of an object.
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
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()
3506 // GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
3507 // the ability to pass a context and additional request options.
3509 // See GetObjectTagging for details on how to use this API operation.
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)
3518 req.ApplyOptions(opts...)
3519 return out, req.Send()
3522 const opGetObjectTorrent = "GetObjectTorrent"
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
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.
3532 // See GetObjectTorrent for more information on using the GetObjectTorrent
3533 // API call, and error handling.
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.
3539 // // Example sending a request using the GetObjectTorrentRequest method.
3540 // req, resp := client.GetObjectTorrentRequest(params)
3542 // err := req.Send()
3543 // if err == nil { // resp is now filled
3544 // fmt.Println(resp)
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,
3552 HTTPPath: "/{Bucket}/{Key+}?torrent",
3556 input = &GetObjectTorrentInput{}
3559 output = &GetObjectTorrentOutput{}
3560 req = c.newRequest(op, input, output)
3564 // GetObjectTorrent API operation for Amazon Simple Storage Service.
3566 // Return torrent files from a bucket.
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
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()
3580 // GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
3581 // the ability to pass a context and additional request options.
3583 // See GetObjectTorrent for details on how to use this API operation.
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)
3592 req.ApplyOptions(opts...)
3593 return out, req.Send()
3596 const opGetPublicAccessBlock = "GetPublicAccessBlock"
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
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.
3606 // See GetPublicAccessBlock for more information on using the GetPublicAccessBlock
3607 // API call, and error handling.
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.
3613 // // Example sending a request using the GetPublicAccessBlockRequest method.
3614 // req, resp := client.GetPublicAccessBlockRequest(params)
3616 // err := req.Send()
3617 // if err == nil { // resp is now filled
3618 // fmt.Println(resp)
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,
3626 HTTPPath: "/{Bucket}?publicAccessBlock",
3630 input = &GetPublicAccessBlockInput{}
3633 output = &GetPublicAccessBlockOutput{}
3634 req = c.newRequest(op, input, output)
3638 // GetPublicAccessBlock API operation for Amazon Simple Storage Service.
3640 // Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
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
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()
3654 // GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of
3655 // the ability to pass a context and additional request options.
3657 // See GetPublicAccessBlock for details on how to use this API operation.
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)
3666 req.ApplyOptions(opts...)
3667 return out, req.Send()
3670 const opHeadBucket = "HeadBucket"
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
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.
3680 // See HeadBucket for more information on using the HeadBucket
3681 // API call, and error handling.
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.
3687 // // Example sending a request using the HeadBucketRequest method.
3688 // req, resp := client.HeadBucketRequest(params)
3690 // err := req.Send()
3691 // if err == nil { // resp is now filled
3692 // fmt.Println(resp)
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{
3700 HTTPPath: "/{Bucket}",
3704 input = &HeadBucketInput{}
3707 output = &HeadBucketOutput{}
3708 req = c.newRequest(op, input, output)
3709 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3713 // HeadBucket API operation for Amazon Simple Storage Service.
3715 // This operation is useful to determine if a bucket exists and you have permission
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
3722 // See the AWS API reference guide for Amazon Simple Storage Service's
3723 // API operation HeadBucket for usage and error information.
3725 // Returned Error Codes:
3726 // * ErrCodeNoSuchBucket "NoSuchBucket"
3727 // The specified bucket does not exist.
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()
3735 // HeadBucketWithContext is the same as HeadBucket with the addition of
3736 // the ability to pass a context and additional request options.
3738 // See HeadBucket for details on how to use this API operation.
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)
3747 req.ApplyOptions(opts...)
3748 return out, req.Send()
3751 const opHeadObject = "HeadObject"
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
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.
3761 // See HeadObject for more information on using the HeadObject
3762 // API call, and error handling.
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.
3768 // // Example sending a request using the HeadObjectRequest method.
3769 // req, resp := client.HeadObjectRequest(params)
3771 // err := req.Send()
3772 // if err == nil { // resp is now filled
3773 // fmt.Println(resp)
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{
3781 HTTPPath: "/{Bucket}/{Key+}",
3785 input = &HeadObjectInput{}
3788 output = &HeadObjectOutput{}
3789 req = c.newRequest(op, input, output)
3793 // HeadObject API operation for Amazon Simple Storage Service.
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.
3799 // See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
3800 // for more information on returned errors.
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
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()
3814 // HeadObjectWithContext is the same as HeadObject with the addition of
3815 // the ability to pass a context and additional request options.
3817 // See HeadObject for details on how to use this API operation.
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)
3826 req.ApplyOptions(opts...)
3827 return out, req.Send()
3830 const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
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
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.
3840 // See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
3841 // API call, and error handling.
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.
3847 // // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
3848 // req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
3850 // err := req.Send()
3851 // if err == nil { // resp is now filled
3852 // fmt.Println(resp)
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,
3860 HTTPPath: "/{Bucket}?analytics",
3864 input = &ListBucketAnalyticsConfigurationsInput{}
3867 output = &ListBucketAnalyticsConfigurationsOutput{}
3868 req = c.newRequest(op, input, output)
3872 // ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service.
3874 // Lists the analytics configurations for the bucket.
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
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()
3888 // ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
3889 // the ability to pass a context and additional request options.
3891 // See ListBucketAnalyticsConfigurations for details on how to use this API operation.
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)
3900 req.ApplyOptions(opts...)
3901 return out, req.Send()
3904 const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
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
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.
3914 // See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
3915 // API call, and error handling.
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.
3921 // // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
3922 // req, resp := client.ListBucketInventoryConfigurationsRequest(params)
3924 // err := req.Send()
3925 // if err == nil { // resp is now filled
3926 // fmt.Println(resp)
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,
3934 HTTPPath: "/{Bucket}?inventory",
3938 input = &ListBucketInventoryConfigurationsInput{}
3941 output = &ListBucketInventoryConfigurationsOutput{}
3942 req = c.newRequest(op, input, output)
3946 // ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service.
3948 // Returns a list of inventory configurations for the bucket.
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
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()
3962 // ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
3963 // the ability to pass a context and additional request options.
3965 // See ListBucketInventoryConfigurations for details on how to use this API operation.
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)
3974 req.ApplyOptions(opts...)
3975 return out, req.Send()
3978 const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
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
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.
3988 // See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
3989 // API call, and error handling.
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.
3995 // // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
3996 // req, resp := client.ListBucketMetricsConfigurationsRequest(params)
3998 // err := req.Send()
3999 // if err == nil { // resp is now filled
4000 // fmt.Println(resp)
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,
4008 HTTPPath: "/{Bucket}?metrics",
4012 input = &ListBucketMetricsConfigurationsInput{}
4015 output = &ListBucketMetricsConfigurationsOutput{}
4016 req = c.newRequest(op, input, output)
4020 // ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service.
4022 // Lists the metrics configurations for the bucket.
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
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()
4036 // ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
4037 // the ability to pass a context and additional request options.
4039 // See ListBucketMetricsConfigurations for details on how to use this API operation.
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)
4048 req.ApplyOptions(opts...)
4049 return out, req.Send()
4052 const opListBuckets = "ListBuckets"
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
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.
4062 // See ListBuckets for more information on using the ListBuckets
4063 // API call, and error handling.
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.
4069 // // Example sending a request using the ListBucketsRequest method.
4070 // req, resp := client.ListBucketsRequest(params)
4072 // err := req.Send()
4073 // if err == nil { // resp is now filled
4074 // fmt.Println(resp)
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,
4086 input = &ListBucketsInput{}
4089 output = &ListBucketsOutput{}
4090 req = c.newRequest(op, input, output)
4094 // ListBuckets API operation for Amazon Simple Storage Service.
4096 // Returns a list of all buckets owned by the authenticated sender of the request.
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
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()
4110 // ListBucketsWithContext is the same as ListBuckets with the addition of
4111 // the ability to pass a context and additional request options.
4113 // See ListBuckets for details on how to use this API operation.
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)
4122 req.ApplyOptions(opts...)
4123 return out, req.Send()
4126 const opListMultipartUploads = "ListMultipartUploads"
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
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.
4136 // See ListMultipartUploads for more information on using the ListMultipartUploads
4137 // API call, and error handling.
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.
4143 // // Example sending a request using the ListMultipartUploadsRequest method.
4144 // req, resp := client.ListMultipartUploadsRequest(params)
4146 // err := req.Send()
4147 // if err == nil { // resp is now filled
4148 // fmt.Println(resp)
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,
4156 HTTPPath: "/{Bucket}?uploads",
4157 Paginator: &request.Paginator{
4158 InputTokens: []string{"KeyMarker", "UploadIdMarker"},
4159 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"},
4160 LimitToken: "MaxUploads",
4161 TruncationToken: "IsTruncated",
4166 input = &ListMultipartUploadsInput{}
4169 output = &ListMultipartUploadsOutput{}
4170 req = c.newRequest(op, input, output)
4174 // ListMultipartUploads API operation for Amazon Simple Storage Service.
4176 // This operation lists in-progress multipart uploads.
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
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()
4190 // ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
4191 // the ability to pass a context and additional request options.
4193 // See ListMultipartUploads for details on how to use this API operation.
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)
4202 req.ApplyOptions(opts...)
4203 return out, req.Send()
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.
4210 // See ListMultipartUploads method for more information on how to use this operation.
4212 // Note: This operation can generate multiple requests to a service.
4214 // // Example iterating over at most 3 pages of a ListMultipartUploads operation.
4216 // err := client.ListMultipartUploadsPages(params,
4217 // func(page *s3.ListMultipartUploadsOutput, lastPage bool) bool {
4219 // fmt.Println(page)
4220 // return pageNum <= 3
4223 func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
4224 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
4227 // ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except
4228 // it takes a Context and allows setting request options on the pages.
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
4242 req, _ := c.ListMultipartUploadsRequest(inCpy)
4244 req.ApplyOptions(opts...)
4250 for p.Next() && cont {
4251 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
4256 const opListObjectVersions = "ListObjectVersions"
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
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.
4266 // See ListObjectVersions for more information on using the ListObjectVersions
4267 // API call, and error handling.
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.
4273 // // Example sending a request using the ListObjectVersionsRequest method.
4274 // req, resp := client.ListObjectVersionsRequest(params)
4276 // err := req.Send()
4277 // if err == nil { // resp is now filled
4278 // fmt.Println(resp)
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,
4286 HTTPPath: "/{Bucket}?versions",
4287 Paginator: &request.Paginator{
4288 InputTokens: []string{"KeyMarker", "VersionIdMarker"},
4289 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"},
4290 LimitToken: "MaxKeys",
4291 TruncationToken: "IsTruncated",
4296 input = &ListObjectVersionsInput{}
4299 output = &ListObjectVersionsOutput{}
4300 req = c.newRequest(op, input, output)
4304 // ListObjectVersions API operation for Amazon Simple Storage Service.
4306 // Returns metadata about all of the versions of objects in a bucket.
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
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()
4320 // ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
4321 // the ability to pass a context and additional request options.
4323 // See ListObjectVersions for details on how to use this API operation.
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)
4332 req.ApplyOptions(opts...)
4333 return out, req.Send()
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.
4340 // See ListObjectVersions method for more information on how to use this operation.
4342 // Note: This operation can generate multiple requests to a service.
4344 // // Example iterating over at most 3 pages of a ListObjectVersions operation.
4346 // err := client.ListObjectVersionsPages(params,
4347 // func(page *s3.ListObjectVersionsOutput, lastPage bool) bool {
4349 // fmt.Println(page)
4350 // return pageNum <= 3
4353 func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
4354 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
4357 // ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except
4358 // it takes a Context and allows setting request options on the pages.
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
4372 req, _ := c.ListObjectVersionsRequest(inCpy)
4374 req.ApplyOptions(opts...)
4380 for p.Next() && cont {
4381 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
4386 const opListObjects = "ListObjects"
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
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.
4396 // See ListObjects for more information on using the ListObjects
4397 // API call, and error handling.
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.
4403 // // Example sending a request using the ListObjectsRequest method.
4404 // req, resp := client.ListObjectsRequest(params)
4406 // err := req.Send()
4407 // if err == nil { // resp is now filled
4408 // fmt.Println(resp)
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,
4416 HTTPPath: "/{Bucket}",
4417 Paginator: &request.Paginator{
4418 InputTokens: []string{"Marker"},
4419 OutputTokens: []string{"NextMarker || Contents[-1].Key"},
4420 LimitToken: "MaxKeys",
4421 TruncationToken: "IsTruncated",
4426 input = &ListObjectsInput{}
4429 output = &ListObjectsOutput{}
4430 req = c.newRequest(op, input, output)
4434 // ListObjects API operation for Amazon Simple Storage Service.
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
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
4444 // See the AWS API reference guide for Amazon Simple Storage Service's
4445 // API operation ListObjects for usage and error information.
4447 // Returned Error Codes:
4448 // * ErrCodeNoSuchBucket "NoSuchBucket"
4449 // The specified bucket does not exist.
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()
4457 // ListObjectsWithContext is the same as ListObjects with the addition of
4458 // the ability to pass a context and additional request options.
4460 // See ListObjects for details on how to use this API operation.
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)
4469 req.ApplyOptions(opts...)
4470 return out, req.Send()
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.
4477 // See ListObjects method for more information on how to use this operation.
4479 // Note: This operation can generate multiple requests to a service.
4481 // // Example iterating over at most 3 pages of a ListObjects operation.
4483 // err := client.ListObjectsPages(params,
4484 // func(page *s3.ListObjectsOutput, lastPage bool) bool {
4486 // fmt.Println(page)
4487 // return pageNum <= 3
4490 func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
4491 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4494 // ListObjectsPagesWithContext same as ListObjectsPages except
4495 // it takes a Context and allows setting request options on the pages.
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
4509 req, _ := c.ListObjectsRequest(inCpy)
4511 req.ApplyOptions(opts...)
4517 for p.Next() && cont {
4518 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
4523 const opListObjectsV2 = "ListObjectsV2"
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
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.
4533 // See ListObjectsV2 for more information on using the ListObjectsV2
4534 // API call, and error handling.
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.
4540 // // Example sending a request using the ListObjectsV2Request method.
4541 // req, resp := client.ListObjectsV2Request(params)
4543 // err := req.Send()
4544 // if err == nil { // resp is now filled
4545 // fmt.Println(resp)
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,
4553 HTTPPath: "/{Bucket}?list-type=2",
4554 Paginator: &request.Paginator{
4555 InputTokens: []string{"ContinuationToken"},
4556 OutputTokens: []string{"NextContinuationToken"},
4557 LimitToken: "MaxKeys",
4558 TruncationToken: "",
4563 input = &ListObjectsV2Input{}
4566 output = &ListObjectsV2Output{}
4567 req = c.newRequest(op, input, output)
4571 // ListObjectsV2 API operation for Amazon Simple Storage Service.
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.
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
4582 // See the AWS API reference guide for Amazon Simple Storage Service's
4583 // API operation ListObjectsV2 for usage and error information.
4585 // Returned Error Codes:
4586 // * ErrCodeNoSuchBucket "NoSuchBucket"
4587 // The specified bucket does not exist.
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()
4595 // ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
4596 // the ability to pass a context and additional request options.
4598 // See ListObjectsV2 for details on how to use this API operation.
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)
4607 req.ApplyOptions(opts...)
4608 return out, req.Send()
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.
4615 // See ListObjectsV2 method for more information on how to use this operation.
4617 // Note: This operation can generate multiple requests to a service.
4619 // // Example iterating over at most 3 pages of a ListObjectsV2 operation.
4621 // err := client.ListObjectsV2Pages(params,
4622 // func(page *s3.ListObjectsV2Output, lastPage bool) bool {
4624 // fmt.Println(page)
4625 // return pageNum <= 3
4628 func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
4629 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
4632 // ListObjectsV2PagesWithContext same as ListObjectsV2Pages except
4633 // it takes a Context and allows setting request options on the pages.
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
4647 req, _ := c.ListObjectsV2Request(inCpy)
4649 req.ApplyOptions(opts...)
4655 for p.Next() && cont {
4656 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
4661 const opListParts = "ListParts"
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
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.
4671 // See ListParts for more information on using the ListParts
4672 // API call, and error handling.
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.
4678 // // Example sending a request using the ListPartsRequest method.
4679 // req, resp := client.ListPartsRequest(params)
4681 // err := req.Send()
4682 // if err == nil { // resp is now filled
4683 // fmt.Println(resp)
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{
4691 HTTPPath: "/{Bucket}/{Key+}",
4692 Paginator: &request.Paginator{
4693 InputTokens: []string{"PartNumberMarker"},
4694 OutputTokens: []string{"NextPartNumberMarker"},
4695 LimitToken: "MaxParts",
4696 TruncationToken: "IsTruncated",
4701 input = &ListPartsInput{}
4704 output = &ListPartsOutput{}
4705 req = c.newRequest(op, input, output)
4709 // ListParts API operation for Amazon Simple Storage Service.
4711 // Lists the parts that have been uploaded for a specific multipart upload.
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
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()
4725 // ListPartsWithContext is the same as ListParts with the addition of
4726 // the ability to pass a context and additional request options.
4728 // See ListParts for details on how to use this API operation.
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)
4737 req.ApplyOptions(opts...)
4738 return out, req.Send()
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.
4745 // See ListParts method for more information on how to use this operation.
4747 // Note: This operation can generate multiple requests to a service.
4749 // // Example iterating over at most 3 pages of a ListParts operation.
4751 // err := client.ListPartsPages(params,
4752 // func(page *s3.ListPartsOutput, lastPage bool) bool {
4754 // fmt.Println(page)
4755 // return pageNum <= 3
4758 func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
4759 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
4762 // ListPartsPagesWithContext same as ListPartsPages except
4763 // it takes a Context and allows setting request options on the pages.
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
4777 req, _ := c.ListPartsRequest(inCpy)
4779 req.ApplyOptions(opts...)
4785 for p.Next() && cont {
4786 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
4791 const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
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
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.
4801 // See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
4802 // API call, and error handling.
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.
4808 // // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
4809 // req, resp := client.PutBucketAccelerateConfigurationRequest(params)
4811 // err := req.Send()
4812 // if err == nil { // resp is now filled
4813 // fmt.Println(resp)
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,
4821 HTTPPath: "/{Bucket}?accelerate",
4825 input = &PutBucketAccelerateConfigurationInput{}
4828 output = &PutBucketAccelerateConfigurationOutput{}
4829 req = c.newRequest(op, input, output)
4830 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4834 // PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
4836 // Sets the accelerate configuration of an existing bucket.
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
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()
4850 // PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
4851 // the ability to pass a context and additional request options.
4853 // See PutBucketAccelerateConfiguration for details on how to use this API operation.
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)
4862 req.ApplyOptions(opts...)
4863 return out, req.Send()
4866 const opPutBucketAcl = "PutBucketAcl"
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
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.
4876 // See PutBucketAcl for more information on using the PutBucketAcl
4877 // API call, and error handling.
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.
4883 // // Example sending a request using the PutBucketAclRequest method.
4884 // req, resp := client.PutBucketAclRequest(params)
4886 // err := req.Send()
4887 // if err == nil { // resp is now filled
4888 // fmt.Println(resp)
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,
4896 HTTPPath: "/{Bucket}?acl",
4900 input = &PutBucketAclInput{}
4903 output = &PutBucketAclOutput{}
4904 req = c.newRequest(op, input, output)
4905 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4909 // PutBucketAcl API operation for Amazon Simple Storage Service.
4911 // Sets the permissions on a bucket using access control lists (ACL).
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
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()
4925 // PutBucketAclWithContext is the same as PutBucketAcl with the addition of
4926 // the ability to pass a context and additional request options.
4928 // See PutBucketAcl for details on how to use this API operation.
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)
4937 req.ApplyOptions(opts...)
4938 return out, req.Send()
4941 const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
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
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.
4951 // See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
4952 // API call, and error handling.
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.
4958 // // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
4959 // req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
4961 // err := req.Send()
4962 // if err == nil { // resp is now filled
4963 // fmt.Println(resp)
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,
4971 HTTPPath: "/{Bucket}?analytics",
4975 input = &PutBucketAnalyticsConfigurationInput{}
4978 output = &PutBucketAnalyticsConfigurationOutput{}
4979 req = c.newRequest(op, input, output)
4980 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4984 // PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
4986 // Sets an analytics configuration for the bucket (specified by the analytics
4987 // configuration ID).
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
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()
5001 // PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
5002 // the ability to pass a context and additional request options.
5004 // See PutBucketAnalyticsConfiguration for details on how to use this API operation.
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)
5013 req.ApplyOptions(opts...)
5014 return out, req.Send()
5017 const opPutBucketCors = "PutBucketCors"
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
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.
5027 // See PutBucketCors for more information on using the PutBucketCors
5028 // API call, and error handling.
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.
5034 // // Example sending a request using the PutBucketCorsRequest method.
5035 // req, resp := client.PutBucketCorsRequest(params)
5037 // err := req.Send()
5038 // if err == nil { // resp is now filled
5039 // fmt.Println(resp)
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,
5047 HTTPPath: "/{Bucket}?cors",
5051 input = &PutBucketCorsInput{}
5054 output = &PutBucketCorsOutput{}
5055 req = c.newRequest(op, input, output)
5056 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5060 // PutBucketCors API operation for Amazon Simple Storage Service.
5062 // Sets the CORS configuration for a bucket.
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
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()
5076 // PutBucketCorsWithContext is the same as PutBucketCors with the addition of
5077 // the ability to pass a context and additional request options.
5079 // See PutBucketCors for details on how to use this API operation.
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)
5088 req.ApplyOptions(opts...)
5089 return out, req.Send()
5092 const opPutBucketEncryption = "PutBucketEncryption"
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
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.
5102 // See PutBucketEncryption for more information on using the PutBucketEncryption
5103 // API call, and error handling.
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.
5109 // // Example sending a request using the PutBucketEncryptionRequest method.
5110 // req, resp := client.PutBucketEncryptionRequest(params)
5112 // err := req.Send()
5113 // if err == nil { // resp is now filled
5114 // fmt.Println(resp)
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,
5122 HTTPPath: "/{Bucket}?encryption",
5126 input = &PutBucketEncryptionInput{}
5129 output = &PutBucketEncryptionOutput{}
5130 req = c.newRequest(op, input, output)
5131 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5135 // PutBucketEncryption API operation for Amazon Simple Storage Service.
5137 // Creates a new server-side encryption configuration (or replaces an existing
5138 // one, if present).
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
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()
5152 // PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
5153 // the ability to pass a context and additional request options.
5155 // See PutBucketEncryption for details on how to use this API operation.
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)
5164 req.ApplyOptions(opts...)
5165 return out, req.Send()
5168 const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
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
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.
5178 // See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
5179 // API call, and error handling.
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.
5185 // // Example sending a request using the PutBucketInventoryConfigurationRequest method.
5186 // req, resp := client.PutBucketInventoryConfigurationRequest(params)
5188 // err := req.Send()
5189 // if err == nil { // resp is now filled
5190 // fmt.Println(resp)
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,
5198 HTTPPath: "/{Bucket}?inventory",
5202 input = &PutBucketInventoryConfigurationInput{}
5205 output = &PutBucketInventoryConfigurationOutput{}
5206 req = c.newRequest(op, input, output)
5207 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5211 // PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
5213 // Adds an inventory configuration (identified by the inventory ID) from the
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
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()
5228 // PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
5229 // the ability to pass a context and additional request options.
5231 // See PutBucketInventoryConfiguration for details on how to use this API operation.
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)
5240 req.ApplyOptions(opts...)
5241 return out, req.Send()
5244 const opPutBucketLifecycle = "PutBucketLifecycle"
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
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.
5254 // See PutBucketLifecycle for more information on using the PutBucketLifecycle
5255 // API call, and error handling.
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.
5261 // // Example sending a request using the PutBucketLifecycleRequest method.
5262 // req, resp := client.PutBucketLifecycleRequest(params)
5264 // err := req.Send()
5265 // if err == nil { // resp is now filled
5266 // fmt.Println(resp)
5269 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
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")
5276 op := &request.Operation{
5277 Name: opPutBucketLifecycle,
5279 HTTPPath: "/{Bucket}?lifecycle",
5283 input = &PutBucketLifecycleInput{}
5286 output = &PutBucketLifecycleOutput{}
5287 req = c.newRequest(op, input, output)
5288 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5292 // PutBucketLifecycle API operation for Amazon Simple Storage Service.
5294 // No longer used, see the PutBucketLifecycleConfiguration operation.
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
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
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()
5310 // PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
5311 // the ability to pass a context and additional request options.
5313 // See PutBucketLifecycle for details on how to use this API operation.
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.
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)
5324 req.ApplyOptions(opts...)
5325 return out, req.Send()
5328 const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
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
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.
5338 // See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
5339 // API call, and error handling.
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.
5345 // // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
5346 // req, resp := client.PutBucketLifecycleConfigurationRequest(params)
5348 // err := req.Send()
5349 // if err == nil { // resp is now filled
5350 // fmt.Println(resp)
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,
5358 HTTPPath: "/{Bucket}?lifecycle",
5362 input = &PutBucketLifecycleConfigurationInput{}
5365 output = &PutBucketLifecycleConfigurationOutput{}
5366 req = c.newRequest(op, input, output)
5367 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5371 // PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
5373 // Sets lifecycle configuration for your bucket. If a lifecycle configuration
5374 // exists, it replaces it.
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
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()
5388 // PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
5389 // the ability to pass a context and additional request options.
5391 // See PutBucketLifecycleConfiguration for details on how to use this API operation.
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)
5400 req.ApplyOptions(opts...)
5401 return out, req.Send()
5404 const opPutBucketLogging = "PutBucketLogging"
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
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.
5414 // See PutBucketLogging for more information on using the PutBucketLogging
5415 // API call, and error handling.
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.
5421 // // Example sending a request using the PutBucketLoggingRequest method.
5422 // req, resp := client.PutBucketLoggingRequest(params)
5424 // err := req.Send()
5425 // if err == nil { // resp is now filled
5426 // fmt.Println(resp)
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,
5434 HTTPPath: "/{Bucket}?logging",
5438 input = &PutBucketLoggingInput{}
5441 output = &PutBucketLoggingOutput{}
5442 req = c.newRequest(op, input, output)
5443 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5447 // PutBucketLogging API operation for Amazon Simple Storage Service.
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.
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
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()
5465 // PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
5466 // the ability to pass a context and additional request options.
5468 // See PutBucketLogging for details on how to use this API operation.
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)
5477 req.ApplyOptions(opts...)
5478 return out, req.Send()
5481 const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
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
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.
5491 // See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
5492 // API call, and error handling.
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.
5498 // // Example sending a request using the PutBucketMetricsConfigurationRequest method.
5499 // req, resp := client.PutBucketMetricsConfigurationRequest(params)
5501 // err := req.Send()
5502 // if err == nil { // resp is now filled
5503 // fmt.Println(resp)
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,
5511 HTTPPath: "/{Bucket}?metrics",
5515 input = &PutBucketMetricsConfigurationInput{}
5518 output = &PutBucketMetricsConfigurationOutput{}
5519 req = c.newRequest(op, input, output)
5520 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5524 // PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
5526 // Sets a metrics configuration (specified by the metrics configuration ID)
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
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()
5541 // PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
5542 // the ability to pass a context and additional request options.
5544 // See PutBucketMetricsConfiguration for details on how to use this API operation.
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)
5553 req.ApplyOptions(opts...)
5554 return out, req.Send()
5557 const opPutBucketNotification = "PutBucketNotification"
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
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.
5567 // See PutBucketNotification for more information on using the PutBucketNotification
5568 // API call, and error handling.
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.
5574 // // Example sending a request using the PutBucketNotificationRequest method.
5575 // req, resp := client.PutBucketNotificationRequest(params)
5577 // err := req.Send()
5578 // if err == nil { // resp is now filled
5579 // fmt.Println(resp)
5582 // See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
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")
5589 op := &request.Operation{
5590 Name: opPutBucketNotification,
5592 HTTPPath: "/{Bucket}?notification",
5596 input = &PutBucketNotificationInput{}
5599 output = &PutBucketNotificationOutput{}
5600 req = c.newRequest(op, input, output)
5601 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5605 // PutBucketNotification API operation for Amazon Simple Storage Service.
5607 // No longer used, see the PutBucketNotificationConfiguration operation.
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
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
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()
5623 // PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
5624 // the ability to pass a context and additional request options.
5626 // See PutBucketNotification for details on how to use this API operation.
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.
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)
5637 req.ApplyOptions(opts...)
5638 return out, req.Send()
5641 const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
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
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.
5651 // See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
5652 // API call, and error handling.
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.
5658 // // Example sending a request using the PutBucketNotificationConfigurationRequest method.
5659 // req, resp := client.PutBucketNotificationConfigurationRequest(params)
5661 // err := req.Send()
5662 // if err == nil { // resp is now filled
5663 // fmt.Println(resp)
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,
5671 HTTPPath: "/{Bucket}?notification",
5675 input = &PutBucketNotificationConfigurationInput{}
5678 output = &PutBucketNotificationConfigurationOutput{}
5679 req = c.newRequest(op, input, output)
5680 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5684 // PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
5686 // Enables notifications of specified events for a bucket.
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
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()
5700 // PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
5701 // the ability to pass a context and additional request options.
5703 // See PutBucketNotificationConfiguration for details on how to use this API operation.
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)
5712 req.ApplyOptions(opts...)
5713 return out, req.Send()
5716 const opPutBucketPolicy = "PutBucketPolicy"
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
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.
5726 // See PutBucketPolicy for more information on using the PutBucketPolicy
5727 // API call, and error handling.
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.
5733 // // Example sending a request using the PutBucketPolicyRequest method.
5734 // req, resp := client.PutBucketPolicyRequest(params)
5736 // err := req.Send()
5737 // if err == nil { // resp is now filled
5738 // fmt.Println(resp)
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,
5746 HTTPPath: "/{Bucket}?policy",
5750 input = &PutBucketPolicyInput{}
5753 output = &PutBucketPolicyOutput{}
5754 req = c.newRequest(op, input, output)
5755 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5759 // PutBucketPolicy API operation for Amazon Simple Storage Service.
5761 // Applies an Amazon S3 bucket policy to an Amazon S3 bucket.
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
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()
5775 // PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
5776 // the ability to pass a context and additional request options.
5778 // See PutBucketPolicy for details on how to use this API operation.
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)
5787 req.ApplyOptions(opts...)
5788 return out, req.Send()
5791 const opPutBucketReplication = "PutBucketReplication"
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
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.
5801 // See PutBucketReplication for more information on using the PutBucketReplication
5802 // API call, and error handling.
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.
5808 // // Example sending a request using the PutBucketReplicationRequest method.
5809 // req, resp := client.PutBucketReplicationRequest(params)
5811 // err := req.Send()
5812 // if err == nil { // resp is now filled
5813 // fmt.Println(resp)
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,
5821 HTTPPath: "/{Bucket}?replication",
5825 input = &PutBucketReplicationInput{}
5828 output = &PutBucketReplicationOutput{}
5829 req = c.newRequest(op, input, output)
5830 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5834 // PutBucketReplication API operation for Amazon Simple Storage Service.
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.
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
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()
5852 // PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
5853 // the ability to pass a context and additional request options.
5855 // See PutBucketReplication for details on how to use this API operation.
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)
5864 req.ApplyOptions(opts...)
5865 return out, req.Send()
5868 const opPutBucketRequestPayment = "PutBucketRequestPayment"
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
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.
5878 // See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
5879 // API call, and error handling.
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.
5885 // // Example sending a request using the PutBucketRequestPaymentRequest method.
5886 // req, resp := client.PutBucketRequestPaymentRequest(params)
5888 // err := req.Send()
5889 // if err == nil { // resp is now filled
5890 // fmt.Println(resp)
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,
5898 HTTPPath: "/{Bucket}?requestPayment",
5902 input = &PutBucketRequestPaymentInput{}
5905 output = &PutBucketRequestPaymentOutput{}
5906 req = c.newRequest(op, input, output)
5907 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5911 // PutBucketRequestPayment API operation for Amazon Simple Storage Service.
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
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
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()
5931 // PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
5932 // the ability to pass a context and additional request options.
5934 // See PutBucketRequestPayment for details on how to use this API operation.
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)
5943 req.ApplyOptions(opts...)
5944 return out, req.Send()
5947 const opPutBucketTagging = "PutBucketTagging"
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
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.
5957 // See PutBucketTagging for more information on using the PutBucketTagging
5958 // API call, and error handling.
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.
5964 // // Example sending a request using the PutBucketTaggingRequest method.
5965 // req, resp := client.PutBucketTaggingRequest(params)
5967 // err := req.Send()
5968 // if err == nil { // resp is now filled
5969 // fmt.Println(resp)
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,
5977 HTTPPath: "/{Bucket}?tagging",
5981 input = &PutBucketTaggingInput{}
5984 output = &PutBucketTaggingOutput{}
5985 req = c.newRequest(op, input, output)
5986 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5990 // PutBucketTagging API operation for Amazon Simple Storage Service.
5992 // Sets the tags for a bucket.
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
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()
6006 // PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
6007 // the ability to pass a context and additional request options.
6009 // See PutBucketTagging for details on how to use this API operation.
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)
6018 req.ApplyOptions(opts...)
6019 return out, req.Send()
6022 const opPutBucketVersioning = "PutBucketVersioning"
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
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.
6032 // See PutBucketVersioning for more information on using the PutBucketVersioning
6033 // API call, and error handling.
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.
6039 // // Example sending a request using the PutBucketVersioningRequest method.
6040 // req, resp := client.PutBucketVersioningRequest(params)
6042 // err := req.Send()
6043 // if err == nil { // resp is now filled
6044 // fmt.Println(resp)
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,
6052 HTTPPath: "/{Bucket}?versioning",
6056 input = &PutBucketVersioningInput{}
6059 output = &PutBucketVersioningOutput{}
6060 req = c.newRequest(op, input, output)
6061 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6065 // PutBucketVersioning API operation for Amazon Simple Storage Service.
6067 // Sets the versioning state of an existing bucket. To set the versioning state,
6068 // you must be the bucket owner.
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
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()
6082 // PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
6083 // the ability to pass a context and additional request options.
6085 // See PutBucketVersioning for details on how to use this API operation.
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)
6094 req.ApplyOptions(opts...)
6095 return out, req.Send()
6098 const opPutBucketWebsite = "PutBucketWebsite"
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
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.
6108 // See PutBucketWebsite for more information on using the PutBucketWebsite
6109 // API call, and error handling.
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.
6115 // // Example sending a request using the PutBucketWebsiteRequest method.
6116 // req, resp := client.PutBucketWebsiteRequest(params)
6118 // err := req.Send()
6119 // if err == nil { // resp is now filled
6120 // fmt.Println(resp)
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,
6128 HTTPPath: "/{Bucket}?website",
6132 input = &PutBucketWebsiteInput{}
6135 output = &PutBucketWebsiteOutput{}
6136 req = c.newRequest(op, input, output)
6137 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6141 // PutBucketWebsite API operation for Amazon Simple Storage Service.
6143 // Set the website configuration for a bucket.
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
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()
6157 // PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
6158 // the ability to pass a context and additional request options.
6160 // See PutBucketWebsite for details on how to use this API operation.
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)
6169 req.ApplyOptions(opts...)
6170 return out, req.Send()
6173 const opPutObject = "PutObject"
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
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.
6183 // See PutObject for more information on using the PutObject
6184 // API call, and error handling.
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.
6190 // // Example sending a request using the PutObjectRequest method.
6191 // req, resp := client.PutObjectRequest(params)
6193 // err := req.Send()
6194 // if err == nil { // resp is now filled
6195 // fmt.Println(resp)
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{
6203 HTTPPath: "/{Bucket}/{Key+}",
6207 input = &PutObjectInput{}
6210 output = &PutObjectOutput{}
6211 req = c.newRequest(op, input, output)
6215 // PutObject API operation for Amazon Simple Storage Service.
6217 // Adds an object to a bucket.
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
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()
6231 // PutObjectWithContext is the same as PutObject with the addition of
6232 // the ability to pass a context and additional request options.
6234 // See PutObject for details on how to use this API operation.
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)
6243 req.ApplyOptions(opts...)
6244 return out, req.Send()
6247 const opPutObjectAcl = "PutObjectAcl"
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
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.
6257 // See PutObjectAcl for more information on using the PutObjectAcl
6258 // API call, and error handling.
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.
6264 // // Example sending a request using the PutObjectAclRequest method.
6265 // req, resp := client.PutObjectAclRequest(params)
6267 // err := req.Send()
6268 // if err == nil { // resp is now filled
6269 // fmt.Println(resp)
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,
6277 HTTPPath: "/{Bucket}/{Key+}?acl",
6281 input = &PutObjectAclInput{}
6284 output = &PutObjectAclOutput{}
6285 req = c.newRequest(op, input, output)
6289 // PutObjectAcl API operation for Amazon Simple Storage Service.
6291 // uses the acl subresource to set the access control list (ACL) permissions
6292 // for an object that already exists in a bucket
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
6298 // See the AWS API reference guide for Amazon Simple Storage Service's
6299 // API operation PutObjectAcl for usage and error information.
6301 // Returned Error Codes:
6302 // * ErrCodeNoSuchKey "NoSuchKey"
6303 // The specified key does not exist.
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()
6311 // PutObjectAclWithContext is the same as PutObjectAcl with the addition of
6312 // the ability to pass a context and additional request options.
6314 // See PutObjectAcl for details on how to use this API operation.
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)
6323 req.ApplyOptions(opts...)
6324 return out, req.Send()
6327 const opPutObjectLegalHold = "PutObjectLegalHold"
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
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.
6337 // See PutObjectLegalHold for more information on using the PutObjectLegalHold
6338 // API call, and error handling.
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.
6344 // // Example sending a request using the PutObjectLegalHoldRequest method.
6345 // req, resp := client.PutObjectLegalHoldRequest(params)
6347 // err := req.Send()
6348 // if err == nil { // resp is now filled
6349 // fmt.Println(resp)
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,
6357 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
6361 input = &PutObjectLegalHoldInput{}
6364 output = &PutObjectLegalHoldOutput{}
6365 req = c.newRequest(op, input, output)
6369 // PutObjectLegalHold API operation for Amazon Simple Storage Service.
6371 // Applies a Legal Hold configuration to the specified object.
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
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()
6385 // PutObjectLegalHoldWithContext is the same as PutObjectLegalHold with the addition of
6386 // the ability to pass a context and additional request options.
6388 // See PutObjectLegalHold for details on how to use this API operation.
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)
6397 req.ApplyOptions(opts...)
6398 return out, req.Send()
6401 const opPutObjectLockConfiguration = "PutObjectLockConfiguration"
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
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.
6411 // See PutObjectLockConfiguration for more information on using the PutObjectLockConfiguration
6412 // API call, and error handling.
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.
6418 // // Example sending a request using the PutObjectLockConfigurationRequest method.
6419 // req, resp := client.PutObjectLockConfigurationRequest(params)
6421 // err := req.Send()
6422 // if err == nil { // resp is now filled
6423 // fmt.Println(resp)
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,
6431 HTTPPath: "/{Bucket}?object-lock",
6435 input = &PutObjectLockConfigurationInput{}
6438 output = &PutObjectLockConfigurationOutput{}
6439 req = c.newRequest(op, input, output)
6443 // PutObjectLockConfiguration API operation for Amazon Simple Storage Service.
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.
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
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()
6461 // PutObjectLockConfigurationWithContext is the same as PutObjectLockConfiguration with the addition of
6462 // the ability to pass a context and additional request options.
6464 // See PutObjectLockConfiguration for details on how to use this API operation.
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)
6473 req.ApplyOptions(opts...)
6474 return out, req.Send()
6477 const opPutObjectRetention = "PutObjectRetention"
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
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.
6487 // See PutObjectRetention for more information on using the PutObjectRetention
6488 // API call, and error handling.
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.
6494 // // Example sending a request using the PutObjectRetentionRequest method.
6495 // req, resp := client.PutObjectRetentionRequest(params)
6497 // err := req.Send()
6498 // if err == nil { // resp is now filled
6499 // fmt.Println(resp)
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,
6507 HTTPPath: "/{Bucket}/{Key+}?retention",
6511 input = &PutObjectRetentionInput{}
6514 output = &PutObjectRetentionOutput{}
6515 req = c.newRequest(op, input, output)
6519 // PutObjectRetention API operation for Amazon Simple Storage Service.
6521 // Places an Object Retention configuration on an object.
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
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()
6535 // PutObjectRetentionWithContext is the same as PutObjectRetention with the addition of
6536 // the ability to pass a context and additional request options.
6538 // See PutObjectRetention for details on how to use this API operation.
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)
6547 req.ApplyOptions(opts...)
6548 return out, req.Send()
6551 const opPutObjectTagging = "PutObjectTagging"
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
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.
6561 // See PutObjectTagging for more information on using the PutObjectTagging
6562 // API call, and error handling.
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.
6568 // // Example sending a request using the PutObjectTaggingRequest method.
6569 // req, resp := client.PutObjectTaggingRequest(params)
6571 // err := req.Send()
6572 // if err == nil { // resp is now filled
6573 // fmt.Println(resp)
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,
6581 HTTPPath: "/{Bucket}/{Key+}?tagging",
6585 input = &PutObjectTaggingInput{}
6588 output = &PutObjectTaggingOutput{}
6589 req = c.newRequest(op, input, output)
6593 // PutObjectTagging API operation for Amazon Simple Storage Service.
6595 // Sets the supplied tag-set to an object that already exists in a bucket
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
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()
6609 // PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
6610 // the ability to pass a context and additional request options.
6612 // See PutObjectTagging for details on how to use this API operation.
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)
6621 req.ApplyOptions(opts...)
6622 return out, req.Send()
6625 const opPutPublicAccessBlock = "PutPublicAccessBlock"
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
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.
6635 // See PutPublicAccessBlock for more information on using the PutPublicAccessBlock
6636 // API call, and error handling.
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.
6642 // // Example sending a request using the PutPublicAccessBlockRequest method.
6643 // req, resp := client.PutPublicAccessBlockRequest(params)
6645 // err := req.Send()
6646 // if err == nil { // resp is now filled
6647 // fmt.Println(resp)
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,
6655 HTTPPath: "/{Bucket}?publicAccessBlock",
6659 input = &PutPublicAccessBlockInput{}
6662 output = &PutPublicAccessBlockOutput{}
6663 req = c.newRequest(op, input, output)
6664 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6668 // PutPublicAccessBlock API operation for Amazon Simple Storage Service.
6670 // Creates or modifies the PublicAccessBlock configuration for an Amazon S3
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
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()
6685 // PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of
6686 // the ability to pass a context and additional request options.
6688 // See PutPublicAccessBlock for details on how to use this API operation.
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)
6697 req.ApplyOptions(opts...)
6698 return out, req.Send()
6701 const opRestoreObject = "RestoreObject"
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
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.
6711 // See RestoreObject for more information on using the RestoreObject
6712 // API call, and error handling.
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.
6718 // // Example sending a request using the RestoreObjectRequest method.
6719 // req, resp := client.RestoreObjectRequest(params)
6721 // err := req.Send()
6722 // if err == nil { // resp is now filled
6723 // fmt.Println(resp)
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,
6731 HTTPPath: "/{Bucket}/{Key+}?restore",
6735 input = &RestoreObjectInput{}
6738 output = &RestoreObjectOutput{}
6739 req = c.newRequest(op, input, output)
6743 // RestoreObject API operation for Amazon Simple Storage Service.
6745 // Restores an archived copy of an object back into Amazon S3
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
6751 // See the AWS API reference guide for Amazon Simple Storage Service's
6752 // API operation RestoreObject for usage and error information.
6754 // Returned Error Codes:
6755 // * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
6756 // This operation is not allowed against this storage tier
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()
6764 // RestoreObjectWithContext is the same as RestoreObject with the addition of
6765 // the ability to pass a context and additional request options.
6767 // See RestoreObject for details on how to use this API operation.
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)
6776 req.ApplyOptions(opts...)
6777 return out, req.Send()
6780 const opSelectObjectContent = "SelectObjectContent"
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
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.
6790 // See SelectObjectContent for more information on using the SelectObjectContent
6791 // API call, and error handling.
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.
6797 // // Example sending a request using the SelectObjectContentRequest method.
6798 // req, resp := client.SelectObjectContentRequest(params)
6800 // err := req.Send()
6801 // if err == nil { // resp is now filled
6802 // fmt.Println(resp)
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,
6810 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
6814 input = &SelectObjectContentInput{}
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)
6825 // SelectObjectContent API operation for Amazon Simple Storage Service.
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.
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
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()
6846 // SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
6847 // the ability to pass a context and additional request options.
6849 // See SelectObjectContent for details on how to use this API operation.
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)
6858 req.ApplyOptions(opts...)
6859 return out, req.Send()
6862 const opUploadPart = "UploadPart"
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
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.
6872 // See UploadPart for more information on using the UploadPart
6873 // API call, and error handling.
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.
6879 // // Example sending a request using the UploadPartRequest method.
6880 // req, resp := client.UploadPartRequest(params)
6882 // err := req.Send()
6883 // if err == nil { // resp is now filled
6884 // fmt.Println(resp)
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{
6892 HTTPPath: "/{Bucket}/{Key+}",
6896 input = &UploadPartInput{}
6899 output = &UploadPartOutput{}
6900 req = c.newRequest(op, input, output)
6904 // UploadPart API operation for Amazon Simple Storage Service.
6906 // Uploads a part in a multipart upload.
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.
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
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()
6926 // UploadPartWithContext is the same as UploadPart with the addition of
6927 // the ability to pass a context and additional request options.
6929 // See UploadPart for details on how to use this API operation.
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)
6938 req.ApplyOptions(opts...)
6939 return out, req.Send()
6942 const opUploadPartCopy = "UploadPartCopy"
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
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.
6952 // See UploadPartCopy for more information on using the UploadPartCopy
6953 // API call, and error handling.
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.
6959 // // Example sending a request using the UploadPartCopyRequest method.
6960 // req, resp := client.UploadPartCopyRequest(params)
6962 // err := req.Send()
6963 // if err == nil { // resp is now filled
6964 // fmt.Println(resp)
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,
6972 HTTPPath: "/{Bucket}/{Key+}",
6976 input = &UploadPartCopyInput{}
6979 output = &UploadPartCopyOutput{}
6980 req = c.newRequest(op, input, output)
6984 // UploadPartCopy API operation for Amazon Simple Storage Service.
6986 // Uploads a part by copying data from an existing object as data source.
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
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()
7000 // UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
7001 // the ability to pass a context and additional request options.
7003 // See UploadPartCopy for details on how to use this API operation.
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)
7012 req.ApplyOptions(opts...)
7013 return out, req.Send()
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"`
7024 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart
7026 DaysAfterInitiation *int64 `type:"integer"`
7029 // String returns the string representation
7030 func (s AbortIncompleteMultipartUpload) String() string {
7031 return awsutil.Prettify(s)
7034 // GoString returns the string representation
7035 func (s AbortIncompleteMultipartUpload) GoString() string {
7039 // SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
7040 func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload {
7041 s.DaysAfterInitiation = &v
7045 type AbortMultipartUploadInput struct {
7046 _ struct{} `type:"structure"`
7048 // Name of the bucket to which the multipart upload was initiated.
7050 // Bucket is a required field
7051 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7053 // Key of the object for which the multipart upload was initiated.
7055 // Key is a required field
7056 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
7064 // Upload ID that identifies the multipart upload.
7066 // UploadId is a required field
7067 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
7070 // String returns the string representation
7071 func (s AbortMultipartUploadInput) String() string {
7072 return awsutil.Prettify(s)
7075 // GoString returns the string representation
7076 func (s AbortMultipartUploadInput) GoString() string {
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"))
7086 if s.Bucket != nil && len(*s.Bucket) < 1 {
7087 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
7090 invalidParams.Add(request.NewErrParamRequired("Key"))
7092 if s.Key != nil && len(*s.Key) < 1 {
7093 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7095 if s.UploadId == nil {
7096 invalidParams.Add(request.NewErrParamRequired("UploadId"))
7099 if invalidParams.Len() > 0 {
7100 return invalidParams
7105 // SetBucket sets the Bucket field's value.
7106 func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput {
7111 func (s *AbortMultipartUploadInput) getBucket() (v string) {
7112 if s.Bucket == nil {
7118 // SetKey sets the Key field's value.
7119 func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
7124 // SetRequestPayer sets the RequestPayer field's value.
7125 func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput {
7130 // SetUploadId sets the UploadId field's value.
7131 func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput {
7136 type AbortMultipartUploadOutput struct {
7137 _ struct{} `type:"structure"`
7139 // If present, indicates that the requester was successfully charged for the
7141 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
7144 // String returns the string representation
7145 func (s AbortMultipartUploadOutput) String() string {
7146 return awsutil.Prettify(s)
7149 // GoString returns the string representation
7150 func (s AbortMultipartUploadOutput) GoString() string {
7154 // SetRequestCharged sets the RequestCharged field's value.
7155 func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput {
7156 s.RequestCharged = &v
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"`
7166 // Specifies the transfer acceleration status of the bucket.
7167 Status *string `type:"string" enum:"BucketAccelerateStatus"`
7170 // String returns the string representation
7171 func (s AccelerateConfiguration) String() string {
7172 return awsutil.Prettify(s)
7175 // GoString returns the string representation
7176 func (s AccelerateConfiguration) GoString() string {
7180 // SetStatus sets the Status field's value.
7181 func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
7186 // Contains the elements that set the ACL permissions for an object per grantee.
7187 type AccessControlPolicy struct {
7188 _ struct{} `type:"structure"`
7190 // A list of grants.
7191 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
7193 // Container for the bucket owner's display name and ID.
7194 Owner *Owner `type:"structure"`
7197 // String returns the string representation
7198 func (s AccessControlPolicy) String() string {
7199 return awsutil.Prettify(s)
7202 // GoString returns the string representation
7203 func (s AccessControlPolicy) GoString() string {
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 {
7215 if err := v.Validate(); err != nil {
7216 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams))
7221 if invalidParams.Len() > 0 {
7222 return invalidParams
7227 // SetGrants sets the Grants field's value.
7228 func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy {
7233 // SetOwner sets the Owner field's value.
7234 func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
7239 // A container for information about access control for replicas.
7240 type AccessControlTranslation struct {
7241 _ struct{} `type:"structure"`
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.
7247 // Owner is a required field
7248 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
7251 // String returns the string representation
7252 func (s AccessControlTranslation) String() string {
7253 return awsutil.Prettify(s)
7256 // GoString returns the string representation
7257 func (s AccessControlTranslation) GoString() string {
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"}
7265 invalidParams.Add(request.NewErrParamRequired("Owner"))
7268 if invalidParams.Len() > 0 {
7269 return invalidParams
7274 // SetOwner sets the Owner field's value.
7275 func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
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"`
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"`
7290 // The list of tags to use when evaluating an AND predicate.
7291 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
7294 // String returns the string representation
7295 func (s AnalyticsAndOperator) String() string {
7296 return awsutil.Prettify(s)
7299 // GoString returns the string representation
7300 func (s AnalyticsAndOperator) GoString() string {
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"}
7308 for i, v := range s.Tags {
7312 if err := v.Validate(); err != nil {
7313 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7318 if invalidParams.Len() > 0 {
7319 return invalidParams
7324 // SetPrefix sets the Prefix field's value.
7325 func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator {
7330 // SetTags sets the Tags field's value.
7331 func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
7336 // Specifies the configuration and any analyses for the analytics filter of
7337 // an Amazon S3 bucket.
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"`
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"`
7349 // The ID that identifies the analytics configuration.
7351 // Id is a required field
7352 Id *string `type:"string" required:"true"`
7354 // Contains data related to access patterns to be collected and made available
7355 // to analyze the tradeoffs between different storage classes.
7357 // StorageClassAnalysis is a required field
7358 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
7361 // String returns the string representation
7362 func (s AnalyticsConfiguration) String() string {
7363 return awsutil.Prettify(s)
7366 // GoString returns the string representation
7367 func (s AnalyticsConfiguration) GoString() string {
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"}
7375 invalidParams.Add(request.NewErrParamRequired("Id"))
7377 if s.StorageClassAnalysis == nil {
7378 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis"))
7380 if s.Filter != nil {
7381 if err := s.Filter.Validate(); err != nil {
7382 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7385 if s.StorageClassAnalysis != nil {
7386 if err := s.StorageClassAnalysis.Validate(); err != nil {
7387 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams))
7391 if invalidParams.Len() > 0 {
7392 return invalidParams
7397 // SetFilter sets the Filter field's value.
7398 func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration {
7403 // SetId sets the Id field's value.
7404 func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration {
7409 // SetStorageClassAnalysis sets the StorageClassAnalysis field's value.
7410 func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration {
7411 s.StorageClassAnalysis = v
7415 // Where to publish the analytics results.
7416 type AnalyticsExportDestination struct {
7417 _ struct{} `type:"structure"`
7419 // A destination signifying output to an S3 bucket.
7421 // S3BucketDestination is a required field
7422 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"`
7425 // String returns the string representation
7426 func (s AnalyticsExportDestination) String() string {
7427 return awsutil.Prettify(s)
7430 // GoString returns the string representation
7431 func (s AnalyticsExportDestination) GoString() string {
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"))
7441 if s.S3BucketDestination != nil {
7442 if err := s.S3BucketDestination.Validate(); err != nil {
7443 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
7447 if invalidParams.Len() > 0 {
7448 return invalidParams
7453 // SetS3BucketDestination sets the S3BucketDestination field's value.
7454 func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination {
7455 s.S3BucketDestination = v
7459 type AnalyticsFilter struct {
7460 _ struct{} `type:"structure"`
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"`
7466 // The prefix to use when evaluating an analytics filter.
7467 Prefix *string `type:"string"`
7469 // The tag to use when evaluating an analytics filter.
7470 Tag *Tag `type:"structure"`
7473 // String returns the string representation
7474 func (s AnalyticsFilter) String() string {
7475 return awsutil.Prettify(s)
7478 // GoString returns the string representation
7479 func (s AnalyticsFilter) GoString() string {
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"}
7487 if err := s.And.Validate(); err != nil {
7488 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
7492 if err := s.Tag.Validate(); err != nil {
7493 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
7497 if invalidParams.Len() > 0 {
7498 return invalidParams
7503 // SetAnd sets the And field's value.
7504 func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter {
7509 // SetPrefix sets the Prefix field's value.
7510 func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter {
7515 // SetTag sets the Tag field's value.
7516 func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
7521 type AnalyticsS3BucketDestination struct {
7522 _ struct{} `type:"structure"`
7524 // The Amazon Resource Name (ARN) of the bucket to which data is exported.
7526 // Bucket is a required field
7527 Bucket *string `type:"string" required:"true"`
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"`
7533 // Specifies the file format used when exporting data to Amazon S3.
7535 // Format is a required field
7536 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
7538 // The prefix to use when exporting data. The prefix is prepended to all results.
7539 Prefix *string `type:"string"`
7542 // String returns the string representation
7543 func (s AnalyticsS3BucketDestination) String() string {
7544 return awsutil.Prettify(s)
7547 // GoString returns the string representation
7548 func (s AnalyticsS3BucketDestination) GoString() string {
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"))
7558 if s.Format == nil {
7559 invalidParams.Add(request.NewErrParamRequired("Format"))
7562 if invalidParams.Len() > 0 {
7563 return invalidParams
7568 // SetBucket sets the Bucket field's value.
7569 func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination {
7574 func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
7575 if s.Bucket == nil {
7581 // SetBucketAccountId sets the BucketAccountId field's value.
7582 func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
7583 s.BucketAccountId = &v
7587 // SetFormat sets the Format field's value.
7588 func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination {
7593 // SetPrefix sets the Prefix field's value.
7594 func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination {
7599 type Bucket struct {
7600 _ struct{} `type:"structure"`
7602 // Date the bucket was created.
7603 CreationDate *time.Time `type:"timestamp"`
7605 // The name of the bucket.
7606 Name *string `type:"string"`
7609 // String returns the string representation
7610 func (s Bucket) String() string {
7611 return awsutil.Prettify(s)
7614 // GoString returns the string representation
7615 func (s Bucket) GoString() string {
7619 // SetCreationDate sets the CreationDate field's value.
7620 func (s *Bucket) SetCreationDate(v time.Time) *Bucket {
7625 // SetName sets the Name field's value.
7626 func (s *Bucket) SetName(v string) *Bucket {
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"`
7637 // A lifecycle rule for individual objects in an Amazon S3 bucket.
7639 // Rules is a required field
7640 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
7643 // String returns the string representation
7644 func (s BucketLifecycleConfiguration) String() string {
7645 return awsutil.Prettify(s)
7648 // GoString returns the string representation
7649 func (s BucketLifecycleConfiguration) GoString() string {
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"}
7657 invalidParams.Add(request.NewErrParamRequired("Rules"))
7660 for i, v := range s.Rules {
7664 if err := v.Validate(); err != nil {
7665 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
7670 if invalidParams.Len() > 0 {
7671 return invalidParams
7676 // SetRules sets the Rules field's value.
7677 func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration {
7682 type BucketLoggingStatus struct {
7683 _ struct{} `type:"structure"`
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"`
7692 // String returns the string representation
7693 func (s BucketLoggingStatus) String() string {
7694 return awsutil.Prettify(s)
7697 // GoString returns the string representation
7698 func (s BucketLoggingStatus) GoString() string {
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))
7711 if invalidParams.Len() > 0 {
7712 return invalidParams
7717 // SetLoggingEnabled sets the LoggingEnabled field's value.
7718 func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus {
7719 s.LoggingEnabled = v
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"`
7730 // A set of allowed origins and methods.
7732 // CORSRules is a required field
7733 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
7736 // String returns the string representation
7737 func (s CORSConfiguration) String() string {
7738 return awsutil.Prettify(s)
7741 // GoString returns the string representation
7742 func (s CORSConfiguration) GoString() string {
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"))
7752 if s.CORSRules != nil {
7753 for i, v := range s.CORSRules {
7757 if err := v.Validate(); err != nil {
7758 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams))
7763 if invalidParams.Len() > 0 {
7764 return invalidParams
7769 // SetCORSRules sets the CORSRules field's value.
7770 func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
7775 // Specifies a cross-origin access rule for an Amazon S3 bucket.
7776 type CORSRule struct {
7777 _ struct{} `type:"structure"`
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
7783 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
7785 // An HTTP method that you allow the origin to execute. Valid values are GET,
7786 // PUT, HEAD, POST, and DELETE.
7788 // AllowedMethods is a required field
7789 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
7791 // One or more origins you want customers to be able to access the bucket from.
7793 // AllowedOrigins is a required field
7794 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"`
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
7799 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"`
7801 // The time in seconds that your browser is to cache the preflight response
7802 // for the specified resource.
7803 MaxAgeSeconds *int64 `type:"integer"`
7806 // String returns the string representation
7807 func (s CORSRule) String() string {
7808 return awsutil.Prettify(s)
7811 // GoString returns the string representation
7812 func (s CORSRule) GoString() string {
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"))
7822 if s.AllowedOrigins == nil {
7823 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins"))
7826 if invalidParams.Len() > 0 {
7827 return invalidParams
7832 // SetAllowedHeaders sets the AllowedHeaders field's value.
7833 func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule {
7834 s.AllowedHeaders = v
7838 // SetAllowedMethods sets the AllowedMethods field's value.
7839 func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule {
7840 s.AllowedMethods = v
7844 // SetAllowedOrigins sets the AllowedOrigins field's value.
7845 func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule {
7846 s.AllowedOrigins = v
7850 // SetExposeHeaders sets the ExposeHeaders field's value.
7851 func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule {
7856 // SetMaxAgeSeconds sets the MaxAgeSeconds field's value.
7857 func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
7858 s.MaxAgeSeconds = &v
7862 // Describes how a CSV-formatted input object is formatted.
7863 type CSVInput struct {
7864 _ struct{} `type:"structure"`
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"`
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"`
7875 // The value used to separate individual fields in a record.
7876 FieldDelimiter *string `type:"string"`
7878 // Describes the first line of input. Valid values: None, Ignore, Use.
7879 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
7881 // Value used for escaping where the field delimiter is part of the value.
7882 QuoteCharacter *string `type:"string"`
7884 // The single character used for escaping the quote character inside an already
7886 QuoteEscapeCharacter *string `type:"string"`
7888 // The value used to separate individual records.
7889 RecordDelimiter *string `type:"string"`
7892 // String returns the string representation
7893 func (s CSVInput) String() string {
7894 return awsutil.Prettify(s)
7897 // GoString returns the string representation
7898 func (s CSVInput) GoString() string {
7902 // SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
7903 func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
7904 s.AllowQuotedRecordDelimiter = &v
7908 // SetComments sets the Comments field's value.
7909 func (s *CSVInput) SetComments(v string) *CSVInput {
7914 // SetFieldDelimiter sets the FieldDelimiter field's value.
7915 func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
7916 s.FieldDelimiter = &v
7920 // SetFileHeaderInfo sets the FileHeaderInfo field's value.
7921 func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
7922 s.FileHeaderInfo = &v
7926 // SetQuoteCharacter sets the QuoteCharacter field's value.
7927 func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
7928 s.QuoteCharacter = &v
7932 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7933 func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
7934 s.QuoteEscapeCharacter = &v
7938 // SetRecordDelimiter sets the RecordDelimiter field's value.
7939 func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
7940 s.RecordDelimiter = &v
7944 // Describes how CSV-formatted results are formatted.
7945 type CSVOutput struct {
7946 _ struct{} `type:"structure"`
7948 // The value used to separate individual fields in a record.
7949 FieldDelimiter *string `type:"string"`
7951 // The value used for escaping where the field delimiter is part of the value.
7952 QuoteCharacter *string `type:"string"`
7954 // Th single character used for escaping the quote character inside an already
7956 QuoteEscapeCharacter *string `type:"string"`
7958 // Indicates whether or not all output fields should be quoted.
7959 QuoteFields *string `type:"string" enum:"QuoteFields"`
7961 // The value used to separate individual records.
7962 RecordDelimiter *string `type:"string"`
7965 // String returns the string representation
7966 func (s CSVOutput) String() string {
7967 return awsutil.Prettify(s)
7970 // GoString returns the string representation
7971 func (s CSVOutput) GoString() string {
7975 // SetFieldDelimiter sets the FieldDelimiter field's value.
7976 func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
7977 s.FieldDelimiter = &v
7981 // SetQuoteCharacter sets the QuoteCharacter field's value.
7982 func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
7983 s.QuoteCharacter = &v
7987 // SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7988 func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
7989 s.QuoteEscapeCharacter = &v
7993 // SetQuoteFields sets the QuoteFields field's value.
7994 func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
7999 // SetRecordDelimiter sets the RecordDelimiter field's value.
8000 func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
8001 s.RecordDelimiter = &v
8005 type CloudFunctionConfiguration struct {
8006 _ struct{} `type:"structure"`
8008 CloudFunction *string `type:"string"`
8010 // The bucket event for which to send notifications.
8012 // Deprecated: Event has been deprecated
8013 Event *string `deprecated:"true" type:"string" enum:"Event"`
8015 Events []*string `locationName:"Event" type:"list" flattened:"true"`
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"`
8021 InvocationRole *string `type:"string"`
8024 // String returns the string representation
8025 func (s CloudFunctionConfiguration) String() string {
8026 return awsutil.Prettify(s)
8029 // GoString returns the string representation
8030 func (s CloudFunctionConfiguration) GoString() string {
8034 // SetCloudFunction sets the CloudFunction field's value.
8035 func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration {
8036 s.CloudFunction = &v
8040 // SetEvent sets the Event field's value.
8041 func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration {
8046 // SetEvents sets the Events field's value.
8047 func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration {
8052 // SetId sets the Id field's value.
8053 func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration {
8058 // SetInvocationRole sets the InvocationRole field's value.
8059 func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration {
8060 s.InvocationRole = &v
8064 type CommonPrefix struct {
8065 _ struct{} `type:"structure"`
8067 Prefix *string `type:"string"`
8070 // String returns the string representation
8071 func (s CommonPrefix) String() string {
8072 return awsutil.Prettify(s)
8075 // GoString returns the string representation
8076 func (s CommonPrefix) GoString() string {
8080 // SetPrefix sets the Prefix field's value.
8081 func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
8086 type CompleteMultipartUploadInput struct {
8087 _ struct{} `type:"structure" payload:"MultipartUpload"`
8089 // Bucket is a required field
8090 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8092 // Key is a required field
8093 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8095 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
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"`
8103 // UploadId is a required field
8104 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
8107 // String returns the string representation
8108 func (s CompleteMultipartUploadInput) String() string {
8109 return awsutil.Prettify(s)
8112 // GoString returns the string representation
8113 func (s CompleteMultipartUploadInput) GoString() string {
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"))
8123 if s.Bucket != nil && len(*s.Bucket) < 1 {
8124 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8127 invalidParams.Add(request.NewErrParamRequired("Key"))
8129 if s.Key != nil && len(*s.Key) < 1 {
8130 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8132 if s.UploadId == nil {
8133 invalidParams.Add(request.NewErrParamRequired("UploadId"))
8136 if invalidParams.Len() > 0 {
8137 return invalidParams
8142 // SetBucket sets the Bucket field's value.
8143 func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput {
8148 func (s *CompleteMultipartUploadInput) getBucket() (v string) {
8149 if s.Bucket == nil {
8155 // SetKey sets the Key field's value.
8156 func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
8161 // SetMultipartUpload sets the MultipartUpload field's value.
8162 func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput {
8163 s.MultipartUpload = v
8167 // SetRequestPayer sets the RequestPayer field's value.
8168 func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput {
8173 // SetUploadId sets the UploadId field's value.
8174 func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
8179 type CompleteMultipartUploadOutput struct {
8180 _ struct{} `type:"structure"`
8182 Bucket *string `type:"string"`
8184 // Entity tag of the object.
8185 ETag *string `type:"string"`
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"`
8191 Key *string `min:"1" type:"string"`
8193 Location *string `type:"string"`
8195 // If present, indicates that the requester was successfully charged for the
8197 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
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"`
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"`
8207 // Version of the object.
8208 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8211 // String returns the string representation
8212 func (s CompleteMultipartUploadOutput) String() string {
8213 return awsutil.Prettify(s)
8216 // GoString returns the string representation
8217 func (s CompleteMultipartUploadOutput) GoString() string {
8221 // SetBucket sets the Bucket field's value.
8222 func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput {
8227 func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
8228 if s.Bucket == nil {
8234 // SetETag sets the ETag field's value.
8235 func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
8240 // SetExpiration sets the Expiration field's value.
8241 func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput {
8246 // SetKey sets the Key field's value.
8247 func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput {
8252 // SetLocation sets the Location field's value.
8253 func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput {
8258 // SetRequestCharged sets the RequestCharged field's value.
8259 func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput {
8260 s.RequestCharged = &v
8264 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8265 func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput {
8270 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8271 func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput {
8272 s.ServerSideEncryption = &v
8276 // SetVersionId sets the VersionId field's value.
8277 func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput {
8282 type CompletedMultipartUpload struct {
8283 _ struct{} `type:"structure"`
8285 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
8288 // String returns the string representation
8289 func (s CompletedMultipartUpload) String() string {
8290 return awsutil.Prettify(s)
8293 // GoString returns the string representation
8294 func (s CompletedMultipartUpload) GoString() string {
8298 // SetParts sets the Parts field's value.
8299 func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload {
8304 type CompletedPart struct {
8305 _ struct{} `type:"structure"`
8307 // Entity tag returned when the part was uploaded.
8308 ETag *string `type:"string"`
8310 // Part number that identifies the part. This is a positive integer between
8312 PartNumber *int64 `type:"integer"`
8315 // String returns the string representation
8316 func (s CompletedPart) String() string {
8317 return awsutil.Prettify(s)
8320 // GoString returns the string representation
8321 func (s CompletedPart) GoString() string {
8325 // SetETag sets the ETag field's value.
8326 func (s *CompletedPart) SetETag(v string) *CompletedPart {
8331 // SetPartNumber sets the PartNumber field's value.
8332 func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
8337 // Specifies a condition that must be met for a redirect to apply.
8338 type Condition struct {
8339 _ struct{} `type:"structure"`
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
8346 HttpErrorCodeReturnedEquals *string `type:"string"`
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"`
8358 // String returns the string representation
8359 func (s Condition) String() string {
8360 return awsutil.Prettify(s)
8363 // GoString returns the string representation
8364 func (s Condition) GoString() string {
8368 // SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
8369 func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition {
8370 s.HttpErrorCodeReturnedEquals = &v
8374 // SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
8375 func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
8376 s.KeyPrefixEquals = &v
8380 type ContinuationEvent struct {
8381 _ struct{} `locationName:"ContinuationEvent" type:"structure"`
8384 // String returns the string representation
8385 func (s ContinuationEvent) String() string {
8386 return awsutil.Prettify(s)
8389 // GoString returns the string representation
8390 func (s ContinuationEvent) GoString() string {
8394 // The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
8395 func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
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,
8406 type CopyObjectInput struct {
8407 _ struct{} `type:"structure"`
8409 // The canned ACL to apply to the object.
8410 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
8412 // Bucket is a required field
8413 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8415 // Specifies caching behavior along the request/reply chain.
8416 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
8418 // Specifies presentational information for the object.
8419 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
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"`
8426 // The language the content is in.
8427 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
8429 // A standard MIME type describing the format of the object data.
8430 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
8432 // The name of the source bucket and key name of the source object, separated
8433 // by a slash (/). Must be URL-encoded.
8435 // CopySource is a required field
8436 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
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"`
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"`
8444 // Copies the object if its entity tag (ETag) is different than the specified
8446 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
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"`
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"`
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"`
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"`
8464 // The date and time at which the object is no longer cacheable.
8465 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
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"`
8470 // Allows grantee to read the object data and its metadata.
8471 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8473 // Allows grantee to read the object ACL.
8474 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8476 // Allows grantee to write the ACL for the applicable object.
8477 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8479 // Key is a required field
8480 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
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"`
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"`
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"`
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"`
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"`
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"`
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
8512 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
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"`
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"`
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"`
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"`
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"`
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
8540 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
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"`
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"`
8552 // String returns the string representation
8553 func (s CopyObjectInput) String() string {
8554 return awsutil.Prettify(s)
8557 // GoString returns the string representation
8558 func (s CopyObjectInput) GoString() string {
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"))
8568 if s.Bucket != nil && len(*s.Bucket) < 1 {
8569 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8571 if s.CopySource == nil {
8572 invalidParams.Add(request.NewErrParamRequired("CopySource"))
8575 invalidParams.Add(request.NewErrParamRequired("Key"))
8577 if s.Key != nil && len(*s.Key) < 1 {
8578 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8581 if invalidParams.Len() > 0 {
8582 return invalidParams
8587 // SetACL sets the ACL field's value.
8588 func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput {
8593 // SetBucket sets the Bucket field's value.
8594 func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
8599 func (s *CopyObjectInput) getBucket() (v string) {
8600 if s.Bucket == nil {
8606 // SetCacheControl sets the CacheControl field's value.
8607 func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
8612 // SetContentDisposition sets the ContentDisposition field's value.
8613 func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
8614 s.ContentDisposition = &v
8618 // SetContentEncoding sets the ContentEncoding field's value.
8619 func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput {
8620 s.ContentEncoding = &v
8624 // SetContentLanguage sets the ContentLanguage field's value.
8625 func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput {
8626 s.ContentLanguage = &v
8630 // SetContentType sets the ContentType field's value.
8631 func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput {
8636 // SetCopySource sets the CopySource field's value.
8637 func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput {
8642 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
8643 func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput {
8644 s.CopySourceIfMatch = &v
8648 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
8649 func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput {
8650 s.CopySourceIfModifiedSince = &v
8654 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
8655 func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput {
8656 s.CopySourceIfNoneMatch = &v
8660 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
8661 func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput {
8662 s.CopySourceIfUnmodifiedSince = &v
8666 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
8667 func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput {
8668 s.CopySourceSSECustomerAlgorithm = &v
8672 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
8673 func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput {
8674 s.CopySourceSSECustomerKey = &v
8678 func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
8679 if s.CopySourceSSECustomerKey == nil {
8682 return *s.CopySourceSSECustomerKey
8685 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
8686 func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
8687 s.CopySourceSSECustomerKeyMD5 = &v
8691 // SetExpires sets the Expires field's value.
8692 func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput {
8697 // SetGrantFullControl sets the GrantFullControl field's value.
8698 func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput {
8699 s.GrantFullControl = &v
8703 // SetGrantRead sets the GrantRead field's value.
8704 func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput {
8709 // SetGrantReadACP sets the GrantReadACP field's value.
8710 func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput {
8715 // SetGrantWriteACP sets the GrantWriteACP field's value.
8716 func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput {
8717 s.GrantWriteACP = &v
8721 // SetKey sets the Key field's value.
8722 func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput {
8727 // SetMetadata sets the Metadata field's value.
8728 func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput {
8733 // SetMetadataDirective sets the MetadataDirective field's value.
8734 func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput {
8735 s.MetadataDirective = &v
8739 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
8740 func (s *CopyObjectInput) SetObjectLockLegalHoldStatus(v string) *CopyObjectInput {
8741 s.ObjectLockLegalHoldStatus = &v
8745 // SetObjectLockMode sets the ObjectLockMode field's value.
8746 func (s *CopyObjectInput) SetObjectLockMode(v string) *CopyObjectInput {
8747 s.ObjectLockMode = &v
8751 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
8752 func (s *CopyObjectInput) SetObjectLockRetainUntilDate(v time.Time) *CopyObjectInput {
8753 s.ObjectLockRetainUntilDate = &v
8757 // SetRequestPayer sets the RequestPayer field's value.
8758 func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput {
8763 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8764 func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput {
8765 s.SSECustomerAlgorithm = &v
8769 // SetSSECustomerKey sets the SSECustomerKey field's value.
8770 func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
8771 s.SSECustomerKey = &v
8775 func (s *CopyObjectInput) getSSECustomerKey() (v string) {
8776 if s.SSECustomerKey == nil {
8779 return *s.SSECustomerKey
8782 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8783 func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
8784 s.SSECustomerKeyMD5 = &v
8788 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8789 func (s *CopyObjectInput) SetSSEKMSEncryptionContext(v string) *CopyObjectInput {
8790 s.SSEKMSEncryptionContext = &v
8794 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8795 func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
8800 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8801 func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput {
8802 s.ServerSideEncryption = &v
8806 // SetStorageClass sets the StorageClass field's value.
8807 func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput {
8812 // SetTagging sets the Tagging field's value.
8813 func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput {
8818 // SetTaggingDirective sets the TaggingDirective field's value.
8819 func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput {
8820 s.TaggingDirective = &v
8824 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
8825 func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput {
8826 s.WebsiteRedirectLocation = &v
8830 type CopyObjectOutput struct {
8831 _ struct{} `type:"structure" payload:"CopyObjectResult"`
8833 CopyObjectResult *CopyObjectResult `type:"structure"`
8835 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
8837 // If the object expiration is configured, the response includes this header.
8838 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8840 // If present, indicates that the requester was successfully charged for the
8842 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8844 // If server-side encryption with a customer-provided encryption key was requested,
8845 // the response will include this header confirming the encryption algorithm
8847 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
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"`
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"`
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"`
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"`
8867 // Version ID of the newly created copy.
8868 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8871 // String returns the string representation
8872 func (s CopyObjectOutput) String() string {
8873 return awsutil.Prettify(s)
8876 // GoString returns the string representation
8877 func (s CopyObjectOutput) GoString() string {
8881 // SetCopyObjectResult sets the CopyObjectResult field's value.
8882 func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
8883 s.CopyObjectResult = v
8887 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
8888 func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput {
8889 s.CopySourceVersionId = &v
8893 // SetExpiration sets the Expiration field's value.
8894 func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput {
8899 // SetRequestCharged sets the RequestCharged field's value.
8900 func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput {
8901 s.RequestCharged = &v
8905 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8906 func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput {
8907 s.SSECustomerAlgorithm = &v
8911 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8912 func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
8913 s.SSECustomerKeyMD5 = &v
8917 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8918 func (s *CopyObjectOutput) SetSSEKMSEncryptionContext(v string) *CopyObjectOutput {
8919 s.SSEKMSEncryptionContext = &v
8923 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8924 func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
8929 // SetServerSideEncryption sets the ServerSideEncryption field's value.
8930 func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput {
8931 s.ServerSideEncryption = &v
8935 // SetVersionId sets the VersionId field's value.
8936 func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
8941 type CopyObjectResult struct {
8942 _ struct{} `type:"structure"`
8944 ETag *string `type:"string"`
8946 LastModified *time.Time `type:"timestamp"`
8949 // String returns the string representation
8950 func (s CopyObjectResult) String() string {
8951 return awsutil.Prettify(s)
8954 // GoString returns the string representation
8955 func (s CopyObjectResult) GoString() string {
8959 // SetETag sets the ETag field's value.
8960 func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
8965 // SetLastModified sets the LastModified field's value.
8966 func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
8971 type CopyPartResult struct {
8972 _ struct{} `type:"structure"`
8974 // Entity tag of the object.
8975 ETag *string `type:"string"`
8977 // Date and time at which the object was uploaded.
8978 LastModified *time.Time `type:"timestamp"`
8981 // String returns the string representation
8982 func (s CopyPartResult) String() string {
8983 return awsutil.Prettify(s)
8986 // GoString returns the string representation
8987 func (s CopyPartResult) GoString() string {
8991 // SetETag sets the ETag field's value.
8992 func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
8997 // SetLastModified sets the LastModified field's value.
8998 func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
9003 type CreateBucketConfiguration struct {
9004 _ struct{} `type:"structure"`
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"`
9011 // String returns the string representation
9012 func (s CreateBucketConfiguration) String() string {
9013 return awsutil.Prettify(s)
9016 // GoString returns the string representation
9017 func (s CreateBucketConfiguration) GoString() string {
9021 // SetLocationConstraint sets the LocationConstraint field's value.
9022 func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration {
9023 s.LocationConstraint = &v
9027 type CreateBucketInput struct {
9028 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
9030 // The canned ACL to apply to the bucket.
9031 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
9033 // Bucket is a required field
9034 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9036 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
9038 // Allows grantee the read, write, read ACP, and write ACP permissions on the
9040 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
9042 // Allows grantee to list the objects in the bucket.
9043 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9045 // Allows grantee to read the bucket ACL.
9046 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
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"`
9051 // Allows grantee to write the ACL for the applicable bucket.
9052 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
9054 // Specifies whether you want Amazon S3 object lock to be enabled for the new
9056 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"`
9059 // String returns the string representation
9060 func (s CreateBucketInput) String() string {
9061 return awsutil.Prettify(s)
9064 // GoString returns the string representation
9065 func (s CreateBucketInput) GoString() string {
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"))
9075 if s.Bucket != nil && len(*s.Bucket) < 1 {
9076 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9079 if invalidParams.Len() > 0 {
9080 return invalidParams
9085 // SetACL sets the ACL field's value.
9086 func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput {
9091 // SetBucket sets the Bucket field's value.
9092 func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
9097 func (s *CreateBucketInput) getBucket() (v string) {
9098 if s.Bucket == nil {
9104 // SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
9105 func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
9106 s.CreateBucketConfiguration = v
9110 // SetGrantFullControl sets the GrantFullControl field's value.
9111 func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput {
9112 s.GrantFullControl = &v
9116 // SetGrantRead sets the GrantRead field's value.
9117 func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput {
9122 // SetGrantReadACP sets the GrantReadACP field's value.
9123 func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput {
9128 // SetGrantWrite sets the GrantWrite field's value.
9129 func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput {
9134 // SetGrantWriteACP sets the GrantWriteACP field's value.
9135 func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
9136 s.GrantWriteACP = &v
9140 // SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value.
9141 func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput {
9142 s.ObjectLockEnabledForBucket = &v
9146 type CreateBucketOutput struct {
9147 _ struct{} `type:"structure"`
9149 Location *string `location:"header" locationName:"Location" type:"string"`
9152 // String returns the string representation
9153 func (s CreateBucketOutput) String() string {
9154 return awsutil.Prettify(s)
9157 // GoString returns the string representation
9158 func (s CreateBucketOutput) GoString() string {
9162 // SetLocation sets the Location field's value.
9163 func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
9168 type CreateMultipartUploadInput struct {
9169 _ struct{} `type:"structure"`
9171 // The canned ACL to apply to the object.
9172 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
9174 // Bucket is a required field
9175 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9177 // Specifies caching behavior along the request/reply chain.
9178 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
9180 // Specifies presentational information for the object.
9181 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
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"`
9188 // The language the content is in.
9189 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
9191 // A standard MIME type describing the format of the object data.
9192 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
9194 // The date and time at which the object is no longer cacheable.
9195 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
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"`
9200 // Allows grantee to read the object data and its metadata.
9201 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9203 // Allows grantee to read the object ACL.
9204 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
9206 // Allows grantee to write the ACL for the applicable object.
9207 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
9209 // Key is a required field
9210 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
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"`
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"`
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"`
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"`
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"`
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
9238 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
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"`
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"`
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"`
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"`
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"`
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"`
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"`
9272 // String returns the string representation
9273 func (s CreateMultipartUploadInput) String() string {
9274 return awsutil.Prettify(s)
9277 // GoString returns the string representation
9278 func (s CreateMultipartUploadInput) GoString() string {
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"))
9288 if s.Bucket != nil && len(*s.Bucket) < 1 {
9289 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9292 invalidParams.Add(request.NewErrParamRequired("Key"))
9294 if s.Key != nil && len(*s.Key) < 1 {
9295 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9298 if invalidParams.Len() > 0 {
9299 return invalidParams
9304 // SetACL sets the ACL field's value.
9305 func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput {
9310 // SetBucket sets the Bucket field's value.
9311 func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput {
9316 func (s *CreateMultipartUploadInput) getBucket() (v string) {
9317 if s.Bucket == nil {
9323 // SetCacheControl sets the CacheControl field's value.
9324 func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
9329 // SetContentDisposition sets the ContentDisposition field's value.
9330 func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
9331 s.ContentDisposition = &v
9335 // SetContentEncoding sets the ContentEncoding field's value.
9336 func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput {
9337 s.ContentEncoding = &v
9341 // SetContentLanguage sets the ContentLanguage field's value.
9342 func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput {
9343 s.ContentLanguage = &v
9347 // SetContentType sets the ContentType field's value.
9348 func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput {
9353 // SetExpires sets the Expires field's value.
9354 func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput {
9359 // SetGrantFullControl sets the GrantFullControl field's value.
9360 func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput {
9361 s.GrantFullControl = &v
9365 // SetGrantRead sets the GrantRead field's value.
9366 func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput {
9371 // SetGrantReadACP sets the GrantReadACP field's value.
9372 func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput {
9377 // SetGrantWriteACP sets the GrantWriteACP field's value.
9378 func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput {
9379 s.GrantWriteACP = &v
9383 // SetKey sets the Key field's value.
9384 func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput {
9389 // SetMetadata sets the Metadata field's value.
9390 func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput {
9395 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
9396 func (s *CreateMultipartUploadInput) SetObjectLockLegalHoldStatus(v string) *CreateMultipartUploadInput {
9397 s.ObjectLockLegalHoldStatus = &v
9401 // SetObjectLockMode sets the ObjectLockMode field's value.
9402 func (s *CreateMultipartUploadInput) SetObjectLockMode(v string) *CreateMultipartUploadInput {
9403 s.ObjectLockMode = &v
9407 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
9408 func (s *CreateMultipartUploadInput) SetObjectLockRetainUntilDate(v time.Time) *CreateMultipartUploadInput {
9409 s.ObjectLockRetainUntilDate = &v
9413 // SetRequestPayer sets the RequestPayer field's value.
9414 func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput {
9419 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9420 func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput {
9421 s.SSECustomerAlgorithm = &v
9425 // SetSSECustomerKey sets the SSECustomerKey field's value.
9426 func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput {
9427 s.SSECustomerKey = &v
9431 func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
9432 if s.SSECustomerKey == nil {
9435 return *s.SSECustomerKey
9438 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9439 func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
9440 s.SSECustomerKeyMD5 = &v
9444 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9445 func (s *CreateMultipartUploadInput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadInput {
9446 s.SSEKMSEncryptionContext = &v
9450 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9451 func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
9456 // SetServerSideEncryption sets the ServerSideEncryption field's value.
9457 func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput {
9458 s.ServerSideEncryption = &v
9462 // SetStorageClass sets the StorageClass field's value.
9463 func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput {
9468 // SetTagging sets the Tagging field's value.
9469 func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
9474 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
9475 func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
9476 s.WebsiteRedirectLocation = &v
9480 type CreateMultipartUploadOutput struct {
9481 _ struct{} `type:"structure"`
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"`
9486 // Id of the lifecycle rule that makes a multipart upload eligible for abort
9488 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
9490 // Name of the bucket to which the multipart upload was initiated.
9491 Bucket *string `locationName:"Bucket" type:"string"`
9493 // Object key for which the multipart upload was initiated.
9494 Key *string `min:"1" type:"string"`
9496 // If present, indicates that the requester was successfully charged for the
9498 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
9500 // If server-side encryption with a customer-provided encryption key was requested,
9501 // the response will include this header confirming the encryption algorithm
9503 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
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"`
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"`
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"`
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"`
9523 // ID for the initiated multipart upload.
9524 UploadId *string `type:"string"`
9527 // String returns the string representation
9528 func (s CreateMultipartUploadOutput) String() string {
9529 return awsutil.Prettify(s)
9532 // GoString returns the string representation
9533 func (s CreateMultipartUploadOutput) GoString() string {
9537 // SetAbortDate sets the AbortDate field's value.
9538 func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput {
9543 // SetAbortRuleId sets the AbortRuleId field's value.
9544 func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput {
9549 // SetBucket sets the Bucket field's value.
9550 func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput {
9555 func (s *CreateMultipartUploadOutput) getBucket() (v string) {
9556 if s.Bucket == nil {
9562 // SetKey sets the Key field's value.
9563 func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
9568 // SetRequestCharged sets the RequestCharged field's value.
9569 func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput {
9570 s.RequestCharged = &v
9574 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9575 func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput {
9576 s.SSECustomerAlgorithm = &v
9580 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9581 func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput {
9582 s.SSECustomerKeyMD5 = &v
9586 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9587 func (s *CreateMultipartUploadOutput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadOutput {
9588 s.SSEKMSEncryptionContext = &v
9592 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9593 func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
9598 // SetServerSideEncryption sets the ServerSideEncryption field's value.
9599 func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput {
9600 s.ServerSideEncryption = &v
9604 // SetUploadId sets the UploadId field's value.
9605 func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput {
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"`
9615 // The number of days that you want to specify for the default retention period.
9616 Days *int64 `type:"integer"`
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"`
9622 // The number of years that you want to specify for the default retention period.
9623 Years *int64 `type:"integer"`
9626 // String returns the string representation
9627 func (s DefaultRetention) String() string {
9628 return awsutil.Prettify(s)
9631 // GoString returns the string representation
9632 func (s DefaultRetention) GoString() string {
9636 // SetDays sets the Days field's value.
9637 func (s *DefaultRetention) SetDays(v int64) *DefaultRetention {
9642 // SetMode sets the Mode field's value.
9643 func (s *DefaultRetention) SetMode(v string) *DefaultRetention {
9648 // SetYears sets the Years field's value.
9649 func (s *DefaultRetention) SetYears(v int64) *DefaultRetention {
9654 type Delete struct {
9655 _ struct{} `type:"structure"`
9657 // Objects is a required field
9658 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`
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"`
9665 // String returns the string representation
9666 func (s Delete) String() string {
9667 return awsutil.Prettify(s)
9670 // GoString returns the string representation
9671 func (s Delete) GoString() string {
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"))
9681 if s.Objects != nil {
9682 for i, v := range s.Objects {
9686 if err := v.Validate(); err != nil {
9687 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams))
9692 if invalidParams.Len() > 0 {
9693 return invalidParams
9698 // SetObjects sets the Objects field's value.
9699 func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete {
9704 // SetQuiet sets the Quiet field's value.
9705 func (s *Delete) SetQuiet(v bool) *Delete {
9710 type DeleteBucketAnalyticsConfigurationInput struct {
9711 _ struct{} `type:"structure"`
9713 // The name of the bucket from which an analytics configuration is deleted.
9715 // Bucket is a required field
9716 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9718 // The ID that identifies the analytics configuration.
9720 // Id is a required field
9721 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9724 // String returns the string representation
9725 func (s DeleteBucketAnalyticsConfigurationInput) String() string {
9726 return awsutil.Prettify(s)
9729 // GoString returns the string representation
9730 func (s DeleteBucketAnalyticsConfigurationInput) GoString() string {
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"))
9740 if s.Bucket != nil && len(*s.Bucket) < 1 {
9741 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9744 invalidParams.Add(request.NewErrParamRequired("Id"))
9747 if invalidParams.Len() > 0 {
9748 return invalidParams
9753 // SetBucket sets the Bucket field's value.
9754 func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput {
9759 func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
9760 if s.Bucket == nil {
9766 // SetId sets the Id field's value.
9767 func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
9772 type DeleteBucketAnalyticsConfigurationOutput struct {
9773 _ struct{} `type:"structure"`
9776 // String returns the string representation
9777 func (s DeleteBucketAnalyticsConfigurationOutput) String() string {
9778 return awsutil.Prettify(s)
9781 // GoString returns the string representation
9782 func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
9786 type DeleteBucketCorsInput struct {
9787 _ struct{} `type:"structure"`
9789 // Bucket is a required field
9790 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9793 // String returns the string representation
9794 func (s DeleteBucketCorsInput) String() string {
9795 return awsutil.Prettify(s)
9798 // GoString returns the string representation
9799 func (s DeleteBucketCorsInput) GoString() string {
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"))
9809 if s.Bucket != nil && len(*s.Bucket) < 1 {
9810 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9813 if invalidParams.Len() > 0 {
9814 return invalidParams
9819 // SetBucket sets the Bucket field's value.
9820 func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
9825 func (s *DeleteBucketCorsInput) getBucket() (v string) {
9826 if s.Bucket == nil {
9832 type DeleteBucketCorsOutput struct {
9833 _ struct{} `type:"structure"`
9836 // String returns the string representation
9837 func (s DeleteBucketCorsOutput) String() string {
9838 return awsutil.Prettify(s)
9841 // GoString returns the string representation
9842 func (s DeleteBucketCorsOutput) GoString() string {
9846 type DeleteBucketEncryptionInput struct {
9847 _ struct{} `type:"structure"`
9849 // The name of the bucket containing the server-side encryption configuration
9852 // Bucket is a required field
9853 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9856 // String returns the string representation
9857 func (s DeleteBucketEncryptionInput) String() string {
9858 return awsutil.Prettify(s)
9861 // GoString returns the string representation
9862 func (s DeleteBucketEncryptionInput) GoString() string {
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"))
9872 if s.Bucket != nil && len(*s.Bucket) < 1 {
9873 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9876 if invalidParams.Len() > 0 {
9877 return invalidParams
9882 // SetBucket sets the Bucket field's value.
9883 func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
9888 func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
9889 if s.Bucket == nil {
9895 type DeleteBucketEncryptionOutput struct {
9896 _ struct{} `type:"structure"`
9899 // String returns the string representation
9900 func (s DeleteBucketEncryptionOutput) String() string {
9901 return awsutil.Prettify(s)
9904 // GoString returns the string representation
9905 func (s DeleteBucketEncryptionOutput) GoString() string {
9909 type DeleteBucketInput struct {
9910 _ struct{} `type:"structure"`
9912 // Bucket is a required field
9913 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9916 // String returns the string representation
9917 func (s DeleteBucketInput) String() string {
9918 return awsutil.Prettify(s)
9921 // GoString returns the string representation
9922 func (s DeleteBucketInput) GoString() string {
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"))
9932 if s.Bucket != nil && len(*s.Bucket) < 1 {
9933 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9936 if invalidParams.Len() > 0 {
9937 return invalidParams
9942 // SetBucket sets the Bucket field's value.
9943 func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
9948 func (s *DeleteBucketInput) getBucket() (v string) {
9949 if s.Bucket == nil {
9955 type DeleteBucketInventoryConfigurationInput struct {
9956 _ struct{} `type:"structure"`
9958 // The name of the bucket containing the inventory configuration to delete.
9960 // Bucket is a required field
9961 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9963 // The ID used to identify the inventory configuration.
9965 // Id is a required field
9966 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9969 // String returns the string representation
9970 func (s DeleteBucketInventoryConfigurationInput) String() string {
9971 return awsutil.Prettify(s)
9974 // GoString returns the string representation
9975 func (s DeleteBucketInventoryConfigurationInput) GoString() string {
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"))
9985 if s.Bucket != nil && len(*s.Bucket) < 1 {
9986 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9989 invalidParams.Add(request.NewErrParamRequired("Id"))
9992 if invalidParams.Len() > 0 {
9993 return invalidParams
9998 // SetBucket sets the Bucket field's value.
9999 func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput {
10004 func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
10005 if s.Bucket == nil {
10011 // SetId sets the Id field's value.
10012 func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
10017 type DeleteBucketInventoryConfigurationOutput struct {
10018 _ struct{} `type:"structure"`
10021 // String returns the string representation
10022 func (s DeleteBucketInventoryConfigurationOutput) String() string {
10023 return awsutil.Prettify(s)
10026 // GoString returns the string representation
10027 func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
10031 type DeleteBucketLifecycleInput struct {
10032 _ struct{} `type:"structure"`
10034 // Bucket is a required field
10035 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10038 // String returns the string representation
10039 func (s DeleteBucketLifecycleInput) String() string {
10040 return awsutil.Prettify(s)
10043 // GoString returns the string representation
10044 func (s DeleteBucketLifecycleInput) GoString() string {
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"))
10054 if s.Bucket != nil && len(*s.Bucket) < 1 {
10055 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10058 if invalidParams.Len() > 0 {
10059 return invalidParams
10064 // SetBucket sets the Bucket field's value.
10065 func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput {
10070 func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
10071 if s.Bucket == nil {
10077 type DeleteBucketLifecycleOutput struct {
10078 _ struct{} `type:"structure"`
10081 // String returns the string representation
10082 func (s DeleteBucketLifecycleOutput) String() string {
10083 return awsutil.Prettify(s)
10086 // GoString returns the string representation
10087 func (s DeleteBucketLifecycleOutput) GoString() string {
10091 type DeleteBucketMetricsConfigurationInput struct {
10092 _ struct{} `type:"structure"`
10094 // The name of the bucket containing the metrics configuration to delete.
10096 // Bucket is a required field
10097 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10099 // The ID used to identify the metrics configuration.
10101 // Id is a required field
10102 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10105 // String returns the string representation
10106 func (s DeleteBucketMetricsConfigurationInput) String() string {
10107 return awsutil.Prettify(s)
10110 // GoString returns the string representation
10111 func (s DeleteBucketMetricsConfigurationInput) GoString() string {
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"))
10121 if s.Bucket != nil && len(*s.Bucket) < 1 {
10122 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10125 invalidParams.Add(request.NewErrParamRequired("Id"))
10128 if invalidParams.Len() > 0 {
10129 return invalidParams
10134 // SetBucket sets the Bucket field's value.
10135 func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput {
10140 func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
10141 if s.Bucket == nil {
10147 // SetId sets the Id field's value.
10148 func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
10153 type DeleteBucketMetricsConfigurationOutput struct {
10154 _ struct{} `type:"structure"`
10157 // String returns the string representation
10158 func (s DeleteBucketMetricsConfigurationOutput) String() string {
10159 return awsutil.Prettify(s)
10162 // GoString returns the string representation
10163 func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
10167 type DeleteBucketOutput struct {
10168 _ struct{} `type:"structure"`
10171 // String returns the string representation
10172 func (s DeleteBucketOutput) String() string {
10173 return awsutil.Prettify(s)
10176 // GoString returns the string representation
10177 func (s DeleteBucketOutput) GoString() string {
10181 type DeleteBucketPolicyInput struct {
10182 _ struct{} `type:"structure"`
10184 // Bucket is a required field
10185 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10188 // String returns the string representation
10189 func (s DeleteBucketPolicyInput) String() string {
10190 return awsutil.Prettify(s)
10193 // GoString returns the string representation
10194 func (s DeleteBucketPolicyInput) GoString() string {
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"))
10204 if s.Bucket != nil && len(*s.Bucket) < 1 {
10205 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10208 if invalidParams.Len() > 0 {
10209 return invalidParams
10214 // SetBucket sets the Bucket field's value.
10215 func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
10220 func (s *DeleteBucketPolicyInput) getBucket() (v string) {
10221 if s.Bucket == nil {
10227 type DeleteBucketPolicyOutput struct {
10228 _ struct{} `type:"structure"`
10231 // String returns the string representation
10232 func (s DeleteBucketPolicyOutput) String() string {
10233 return awsutil.Prettify(s)
10236 // GoString returns the string representation
10237 func (s DeleteBucketPolicyOutput) GoString() string {
10241 type DeleteBucketReplicationInput struct {
10242 _ struct{} `type:"structure"`
10244 // The bucket name.
10246 // It can take a while to propagate the deletion of a replication configuration
10247 // to all Amazon S3 systems.
10249 // Bucket is a required field
10250 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10253 // String returns the string representation
10254 func (s DeleteBucketReplicationInput) String() string {
10255 return awsutil.Prettify(s)
10258 // GoString returns the string representation
10259 func (s DeleteBucketReplicationInput) GoString() string {
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"))
10269 if s.Bucket != nil && len(*s.Bucket) < 1 {
10270 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10273 if invalidParams.Len() > 0 {
10274 return invalidParams
10279 // SetBucket sets the Bucket field's value.
10280 func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput {
10285 func (s *DeleteBucketReplicationInput) getBucket() (v string) {
10286 if s.Bucket == nil {
10292 type DeleteBucketReplicationOutput struct {
10293 _ struct{} `type:"structure"`
10296 // String returns the string representation
10297 func (s DeleteBucketReplicationOutput) String() string {
10298 return awsutil.Prettify(s)
10301 // GoString returns the string representation
10302 func (s DeleteBucketReplicationOutput) GoString() string {
10306 type DeleteBucketTaggingInput struct {
10307 _ struct{} `type:"structure"`
10309 // Bucket is a required field
10310 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10313 // String returns the string representation
10314 func (s DeleteBucketTaggingInput) String() string {
10315 return awsutil.Prettify(s)
10318 // GoString returns the string representation
10319 func (s DeleteBucketTaggingInput) GoString() string {
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"))
10329 if s.Bucket != nil && len(*s.Bucket) < 1 {
10330 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10333 if invalidParams.Len() > 0 {
10334 return invalidParams
10339 // SetBucket sets the Bucket field's value.
10340 func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput {
10345 func (s *DeleteBucketTaggingInput) getBucket() (v string) {
10346 if s.Bucket == nil {
10352 type DeleteBucketTaggingOutput struct {
10353 _ struct{} `type:"structure"`
10356 // String returns the string representation
10357 func (s DeleteBucketTaggingOutput) String() string {
10358 return awsutil.Prettify(s)
10361 // GoString returns the string representation
10362 func (s DeleteBucketTaggingOutput) GoString() string {
10366 type DeleteBucketWebsiteInput struct {
10367 _ struct{} `type:"structure"`
10369 // Bucket is a required field
10370 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10373 // String returns the string representation
10374 func (s DeleteBucketWebsiteInput) String() string {
10375 return awsutil.Prettify(s)
10378 // GoString returns the string representation
10379 func (s DeleteBucketWebsiteInput) GoString() string {
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"))
10389 if s.Bucket != nil && len(*s.Bucket) < 1 {
10390 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10393 if invalidParams.Len() > 0 {
10394 return invalidParams
10399 // SetBucket sets the Bucket field's value.
10400 func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput {
10405 func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
10406 if s.Bucket == nil {
10412 type DeleteBucketWebsiteOutput struct {
10413 _ struct{} `type:"structure"`
10416 // String returns the string representation
10417 func (s DeleteBucketWebsiteOutput) String() string {
10418 return awsutil.Prettify(s)
10421 // GoString returns the string representation
10422 func (s DeleteBucketWebsiteOutput) GoString() string {
10426 type DeleteMarkerEntry struct {
10427 _ struct{} `type:"structure"`
10429 // Specifies whether the object is (true) or is not (false) the latest version
10431 IsLatest *bool `type:"boolean"`
10434 Key *string `min:"1" type:"string"`
10436 // Date and time the object was last modified.
10437 LastModified *time.Time `type:"timestamp"`
10439 Owner *Owner `type:"structure"`
10441 // Version ID of an object.
10442 VersionId *string `type:"string"`
10445 // String returns the string representation
10446 func (s DeleteMarkerEntry) String() string {
10447 return awsutil.Prettify(s)
10450 // GoString returns the string representation
10451 func (s DeleteMarkerEntry) GoString() string {
10455 // SetIsLatest sets the IsLatest field's value.
10456 func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry {
10461 // SetKey sets the Key field's value.
10462 func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry {
10467 // SetLastModified sets the LastModified field's value.
10468 func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry {
10469 s.LastModified = &v
10473 // SetOwner sets the Owner field's value.
10474 func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry {
10479 // SetVersionId sets the VersionId field's value.
10480 func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
10485 // Specifies whether Amazon S3 should replicate delete makers.
10486 type DeleteMarkerReplication struct {
10487 _ struct{} `type:"structure"`
10489 // The status of the delete marker replication.
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"`
10496 // String returns the string representation
10497 func (s DeleteMarkerReplication) String() string {
10498 return awsutil.Prettify(s)
10501 // GoString returns the string representation
10502 func (s DeleteMarkerReplication) GoString() string {
10506 // SetStatus sets the Status field's value.
10507 func (s *DeleteMarkerReplication) SetStatus(v string) *DeleteMarkerReplication {
10512 type DeleteObjectInput struct {
10513 _ struct{} `type:"structure"`
10515 // Bucket is a required field
10516 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
10522 // Key is a required field
10523 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
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"`
10535 // VersionId used to reference a specific version of the object.
10536 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10539 // String returns the string representation
10540 func (s DeleteObjectInput) String() string {
10541 return awsutil.Prettify(s)
10544 // GoString returns the string representation
10545 func (s DeleteObjectInput) GoString() string {
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"))
10555 if s.Bucket != nil && len(*s.Bucket) < 1 {
10556 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10559 invalidParams.Add(request.NewErrParamRequired("Key"))
10561 if s.Key != nil && len(*s.Key) < 1 {
10562 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10565 if invalidParams.Len() > 0 {
10566 return invalidParams
10571 // SetBucket sets the Bucket field's value.
10572 func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
10577 func (s *DeleteObjectInput) getBucket() (v string) {
10578 if s.Bucket == nil {
10584 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10585 func (s *DeleteObjectInput) SetBypassGovernanceRetention(v bool) *DeleteObjectInput {
10586 s.BypassGovernanceRetention = &v
10590 // SetKey sets the Key field's value.
10591 func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
10596 // SetMFA sets the MFA field's value.
10597 func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput {
10602 // SetRequestPayer sets the RequestPayer field's value.
10603 func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput {
10604 s.RequestPayer = &v
10608 // SetVersionId sets the VersionId field's value.
10609 func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
10614 type DeleteObjectOutput struct {
10615 _ struct{} `type:"structure"`
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"`
10621 // If present, indicates that the requester was successfully charged for the
10623 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10625 // Returns the version ID of the delete marker created as a result of the DELETE
10627 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10630 // String returns the string representation
10631 func (s DeleteObjectOutput) String() string {
10632 return awsutil.Prettify(s)
10635 // GoString returns the string representation
10636 func (s DeleteObjectOutput) GoString() string {
10640 // SetDeleteMarker sets the DeleteMarker field's value.
10641 func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput {
10642 s.DeleteMarker = &v
10646 // SetRequestCharged sets the RequestCharged field's value.
10647 func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput {
10648 s.RequestCharged = &v
10652 // SetVersionId sets the VersionId field's value.
10653 func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
10658 type DeleteObjectTaggingInput struct {
10659 _ struct{} `type:"structure"`
10661 // Bucket is a required field
10662 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10664 // Key is a required field
10665 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10667 // The versionId of the object that the tag-set will be removed from.
10668 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10671 // String returns the string representation
10672 func (s DeleteObjectTaggingInput) String() string {
10673 return awsutil.Prettify(s)
10676 // GoString returns the string representation
10677 func (s DeleteObjectTaggingInput) GoString() string {
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"))
10687 if s.Bucket != nil && len(*s.Bucket) < 1 {
10688 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10691 invalidParams.Add(request.NewErrParamRequired("Key"))
10693 if s.Key != nil && len(*s.Key) < 1 {
10694 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10697 if invalidParams.Len() > 0 {
10698 return invalidParams
10703 // SetBucket sets the Bucket field's value.
10704 func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput {
10709 func (s *DeleteObjectTaggingInput) getBucket() (v string) {
10710 if s.Bucket == nil {
10716 // SetKey sets the Key field's value.
10717 func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
10722 // SetVersionId sets the VersionId field's value.
10723 func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput {
10728 type DeleteObjectTaggingOutput struct {
10729 _ struct{} `type:"structure"`
10731 // The versionId of the object the tag-set was removed from.
10732 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10735 // String returns the string representation
10736 func (s DeleteObjectTaggingOutput) String() string {
10737 return awsutil.Prettify(s)
10740 // GoString returns the string representation
10741 func (s DeleteObjectTaggingOutput) GoString() string {
10745 // SetVersionId sets the VersionId field's value.
10746 func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput {
10751 type DeleteObjectsInput struct {
10752 _ struct{} `type:"structure" payload:"Delete"`
10754 // Bucket is a required field
10755 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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
10760 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10762 // Delete is a required field
10763 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
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"`
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"`
10776 // String returns the string representation
10777 func (s DeleteObjectsInput) String() string {
10778 return awsutil.Prettify(s)
10781 // GoString returns the string representation
10782 func (s DeleteObjectsInput) GoString() string {
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"))
10792 if s.Bucket != nil && len(*s.Bucket) < 1 {
10793 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10795 if s.Delete == nil {
10796 invalidParams.Add(request.NewErrParamRequired("Delete"))
10798 if s.Delete != nil {
10799 if err := s.Delete.Validate(); err != nil {
10800 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
10804 if invalidParams.Len() > 0 {
10805 return invalidParams
10810 // SetBucket sets the Bucket field's value.
10811 func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
10816 func (s *DeleteObjectsInput) getBucket() (v string) {
10817 if s.Bucket == nil {
10823 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10824 func (s *DeleteObjectsInput) SetBypassGovernanceRetention(v bool) *DeleteObjectsInput {
10825 s.BypassGovernanceRetention = &v
10829 // SetDelete sets the Delete field's value.
10830 func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
10835 // SetMFA sets the MFA field's value.
10836 func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput {
10841 // SetRequestPayer sets the RequestPayer field's value.
10842 func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
10843 s.RequestPayer = &v
10847 type DeleteObjectsOutput struct {
10848 _ struct{} `type:"structure"`
10850 Deleted []*DeletedObject `type:"list" flattened:"true"`
10852 Errors []*Error `locationName:"Error" type:"list" flattened:"true"`
10854 // If present, indicates that the requester was successfully charged for the
10856 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10859 // String returns the string representation
10860 func (s DeleteObjectsOutput) String() string {
10861 return awsutil.Prettify(s)
10864 // GoString returns the string representation
10865 func (s DeleteObjectsOutput) GoString() string {
10869 // SetDeleted sets the Deleted field's value.
10870 func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput {
10875 // SetErrors sets the Errors field's value.
10876 func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput {
10881 // SetRequestCharged sets the RequestCharged field's value.
10882 func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
10883 s.RequestCharged = &v
10887 type DeletePublicAccessBlockInput struct {
10888 _ struct{} `type:"structure"`
10890 // The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.
10892 // Bucket is a required field
10893 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10896 // String returns the string representation
10897 func (s DeletePublicAccessBlockInput) String() string {
10898 return awsutil.Prettify(s)
10901 // GoString returns the string representation
10902 func (s DeletePublicAccessBlockInput) GoString() string {
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"))
10912 if s.Bucket != nil && len(*s.Bucket) < 1 {
10913 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10916 if invalidParams.Len() > 0 {
10917 return invalidParams
10922 // SetBucket sets the Bucket field's value.
10923 func (s *DeletePublicAccessBlockInput) SetBucket(v string) *DeletePublicAccessBlockInput {
10928 func (s *DeletePublicAccessBlockInput) getBucket() (v string) {
10929 if s.Bucket == nil {
10935 type DeletePublicAccessBlockOutput struct {
10936 _ struct{} `type:"structure"`
10939 // String returns the string representation
10940 func (s DeletePublicAccessBlockOutput) String() string {
10941 return awsutil.Prettify(s)
10944 // GoString returns the string representation
10945 func (s DeletePublicAccessBlockOutput) GoString() string {
10949 type DeletedObject struct {
10950 _ struct{} `type:"structure"`
10952 DeleteMarker *bool `type:"boolean"`
10954 DeleteMarkerVersionId *string `type:"string"`
10956 Key *string `min:"1" type:"string"`
10958 VersionId *string `type:"string"`
10961 // String returns the string representation
10962 func (s DeletedObject) String() string {
10963 return awsutil.Prettify(s)
10966 // GoString returns the string representation
10967 func (s DeletedObject) GoString() string {
10971 // SetDeleteMarker sets the DeleteMarker field's value.
10972 func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject {
10973 s.DeleteMarker = &v
10977 // SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value.
10978 func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject {
10979 s.DeleteMarkerVersionId = &v
10983 // SetKey sets the Key field's value.
10984 func (s *DeletedObject) SetKey(v string) *DeletedObject {
10989 // SetVersionId sets the VersionId field's value.
10990 func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
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"`
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"`
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"`
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.
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.
11023 // Bucket is a required field
11024 Bucket *string `type:"string" required:"true"`
11026 // A container that provides information about encryption. If SourceSelectionCriteria
11027 // is specified, you must specify this element.
11028 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
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.
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"`
11040 // String returns the string representation
11041 func (s Destination) String() string {
11042 return awsutil.Prettify(s)
11045 // GoString returns the string representation
11046 func (s Destination) GoString() string {
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"))
11056 if s.AccessControlTranslation != nil {
11057 if err := s.AccessControlTranslation.Validate(); err != nil {
11058 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
11062 if invalidParams.Len() > 0 {
11063 return invalidParams
11068 // SetAccessControlTranslation sets the AccessControlTranslation field's value.
11069 func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
11070 s.AccessControlTranslation = v
11074 // SetAccount sets the Account field's value.
11075 func (s *Destination) SetAccount(v string) *Destination {
11080 // SetBucket sets the Bucket field's value.
11081 func (s *Destination) SetBucket(v string) *Destination {
11086 func (s *Destination) getBucket() (v string) {
11087 if s.Bucket == nil {
11093 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
11094 func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
11095 s.EncryptionConfiguration = v
11099 // SetStorageClass sets the StorageClass field's value.
11100 func (s *Destination) SetStorageClass(v string) *Destination {
11101 s.StorageClass = &v
11105 // Describes the server-side encryption that will be applied to the restore
11107 type Encryption struct {
11108 _ struct{} `type:"structure"`
11110 // The server-side encryption algorithm used when storing job results in Amazon
11111 // S3 (e.g., AES256, aws:kms).
11113 // EncryptionType is a required field
11114 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
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"`
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"`
11125 // String returns the string representation
11126 func (s Encryption) String() string {
11127 return awsutil.Prettify(s)
11130 // GoString returns the string representation
11131 func (s Encryption) GoString() string {
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"))
11142 if invalidParams.Len() > 0 {
11143 return invalidParams
11148 // SetEncryptionType sets the EncryptionType field's value.
11149 func (s *Encryption) SetEncryptionType(v string) *Encryption {
11150 s.EncryptionType = &v
11154 // SetKMSContext sets the KMSContext field's value.
11155 func (s *Encryption) SetKMSContext(v string) *Encryption {
11160 // SetKMSKeyId sets the KMSKeyId field's value.
11161 func (s *Encryption) SetKMSKeyId(v string) *Encryption {
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"`
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"`
11176 // String returns the string representation
11177 func (s EncryptionConfiguration) String() string {
11178 return awsutil.Prettify(s)
11181 // GoString returns the string representation
11182 func (s EncryptionConfiguration) GoString() string {
11186 // SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
11187 func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
11188 s.ReplicaKmsKeyID = &v
11192 type EndEvent struct {
11193 _ struct{} `locationName:"EndEvent" type:"structure"`
11196 // String returns the string representation
11197 func (s EndEvent) String() string {
11198 return awsutil.Prettify(s)
11201 // GoString returns the string representation
11202 func (s EndEvent) GoString() string {
11206 // The EndEvent is and event in the SelectObjectContentEventStream group of events.
11207 func (s *EndEvent) eventSelectObjectContentEventStream() {}
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,
11218 type Error struct {
11219 _ struct{} `type:"structure"`
11221 Code *string `type:"string"`
11223 Key *string `min:"1" type:"string"`
11225 Message *string `type:"string"`
11227 VersionId *string `type:"string"`
11230 // String returns the string representation
11231 func (s Error) String() string {
11232 return awsutil.Prettify(s)
11235 // GoString returns the string representation
11236 func (s Error) GoString() string {
11240 // SetCode sets the Code field's value.
11241 func (s *Error) SetCode(v string) *Error {
11246 // SetKey sets the Key field's value.
11247 func (s *Error) SetKey(v string) *Error {
11252 // SetMessage sets the Message field's value.
11253 func (s *Error) SetMessage(v string) *Error {
11258 // SetVersionId sets the VersionId field's value.
11259 func (s *Error) SetVersionId(v string) *Error {
11264 type ErrorDocument struct {
11265 _ struct{} `type:"structure"`
11267 // The object key name to use when a 4XX class error occurs.
11269 // Key is a required field
11270 Key *string `min:"1" type:"string" required:"true"`
11273 // String returns the string representation
11274 func (s ErrorDocument) String() string {
11275 return awsutil.Prettify(s)
11278 // GoString returns the string representation
11279 func (s ErrorDocument) GoString() string {
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"}
11287 invalidParams.Add(request.NewErrParamRequired("Key"))
11289 if s.Key != nil && len(*s.Key) < 1 {
11290 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11293 if invalidParams.Len() > 0 {
11294 return invalidParams
11299 // SetKey sets the Key field's value.
11300 func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
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"`
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"`
11317 // The value that the filter searches for in object key names.
11318 Value *string `type:"string"`
11321 // String returns the string representation
11322 func (s FilterRule) String() string {
11323 return awsutil.Prettify(s)
11326 // GoString returns the string representation
11327 func (s FilterRule) GoString() string {
11331 // SetName sets the Name field's value.
11332 func (s *FilterRule) SetName(v string) *FilterRule {
11337 // SetValue sets the Value field's value.
11338 func (s *FilterRule) SetValue(v string) *FilterRule {
11343 type GetBucketAccelerateConfigurationInput struct {
11344 _ struct{} `type:"structure"`
11346 // Name of the bucket for which the accelerate configuration is retrieved.
11348 // Bucket is a required field
11349 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11352 // String returns the string representation
11353 func (s GetBucketAccelerateConfigurationInput) String() string {
11354 return awsutil.Prettify(s)
11357 // GoString returns the string representation
11358 func (s GetBucketAccelerateConfigurationInput) GoString() string {
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"))
11368 if s.Bucket != nil && len(*s.Bucket) < 1 {
11369 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11372 if invalidParams.Len() > 0 {
11373 return invalidParams
11378 // SetBucket sets the Bucket field's value.
11379 func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput {
11384 func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
11385 if s.Bucket == nil {
11391 type GetBucketAccelerateConfigurationOutput struct {
11392 _ struct{} `type:"structure"`
11394 // The accelerate configuration of the bucket.
11395 Status *string `type:"string" enum:"BucketAccelerateStatus"`
11398 // String returns the string representation
11399 func (s GetBucketAccelerateConfigurationOutput) String() string {
11400 return awsutil.Prettify(s)
11403 // GoString returns the string representation
11404 func (s GetBucketAccelerateConfigurationOutput) GoString() string {
11408 // SetStatus sets the Status field's value.
11409 func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput {
11414 type GetBucketAclInput struct {
11415 _ struct{} `type:"structure"`
11417 // Bucket is a required field
11418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11421 // String returns the string representation
11422 func (s GetBucketAclInput) String() string {
11423 return awsutil.Prettify(s)
11426 // GoString returns the string representation
11427 func (s GetBucketAclInput) GoString() string {
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"))
11437 if s.Bucket != nil && len(*s.Bucket) < 1 {
11438 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11441 if invalidParams.Len() > 0 {
11442 return invalidParams
11447 // SetBucket sets the Bucket field's value.
11448 func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
11453 func (s *GetBucketAclInput) getBucket() (v string) {
11454 if s.Bucket == nil {
11460 type GetBucketAclOutput struct {
11461 _ struct{} `type:"structure"`
11463 // A list of grants.
11464 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
11466 Owner *Owner `type:"structure"`
11469 // String returns the string representation
11470 func (s GetBucketAclOutput) String() string {
11471 return awsutil.Prettify(s)
11474 // GoString returns the string representation
11475 func (s GetBucketAclOutput) GoString() string {
11479 // SetGrants sets the Grants field's value.
11480 func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput {
11485 // SetOwner sets the Owner field's value.
11486 func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
11491 type GetBucketAnalyticsConfigurationInput struct {
11492 _ struct{} `type:"structure"`
11494 // The name of the bucket from which an analytics configuration is retrieved.
11496 // Bucket is a required field
11497 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11499 // The ID that identifies the analytics configuration.
11501 // Id is a required field
11502 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11505 // String returns the string representation
11506 func (s GetBucketAnalyticsConfigurationInput) String() string {
11507 return awsutil.Prettify(s)
11510 // GoString returns the string representation
11511 func (s GetBucketAnalyticsConfigurationInput) GoString() string {
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"))
11521 if s.Bucket != nil && len(*s.Bucket) < 1 {
11522 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11525 invalidParams.Add(request.NewErrParamRequired("Id"))
11528 if invalidParams.Len() > 0 {
11529 return invalidParams
11534 // SetBucket sets the Bucket field's value.
11535 func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput {
11540 func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
11541 if s.Bucket == nil {
11547 // SetId sets the Id field's value.
11548 func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
11553 type GetBucketAnalyticsConfigurationOutput struct {
11554 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
11556 // The configuration and any analyses for the analytics filter.
11557 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"`
11560 // String returns the string representation
11561 func (s GetBucketAnalyticsConfigurationOutput) String() string {
11562 return awsutil.Prettify(s)
11565 // GoString returns the string representation
11566 func (s GetBucketAnalyticsConfigurationOutput) GoString() string {
11570 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
11571 func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput {
11572 s.AnalyticsConfiguration = v
11576 type GetBucketCorsInput struct {
11577 _ struct{} `type:"structure"`
11579 // Bucket is a required field
11580 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11583 // String returns the string representation
11584 func (s GetBucketCorsInput) String() string {
11585 return awsutil.Prettify(s)
11588 // GoString returns the string representation
11589 func (s GetBucketCorsInput) GoString() string {
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"))
11599 if s.Bucket != nil && len(*s.Bucket) < 1 {
11600 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11603 if invalidParams.Len() > 0 {
11604 return invalidParams
11609 // SetBucket sets the Bucket field's value.
11610 func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
11615 func (s *GetBucketCorsInput) getBucket() (v string) {
11616 if s.Bucket == nil {
11622 type GetBucketCorsOutput struct {
11623 _ struct{} `type:"structure"`
11625 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`
11628 // String returns the string representation
11629 func (s GetBucketCorsOutput) String() string {
11630 return awsutil.Prettify(s)
11633 // GoString returns the string representation
11634 func (s GetBucketCorsOutput) GoString() string {
11638 // SetCORSRules sets the CORSRules field's value.
11639 func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
11644 type GetBucketEncryptionInput struct {
11645 _ struct{} `type:"structure"`
11647 // The name of the bucket from which the server-side encryption configuration
11650 // Bucket is a required field
11651 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11654 // String returns the string representation
11655 func (s GetBucketEncryptionInput) String() string {
11656 return awsutil.Prettify(s)
11659 // GoString returns the string representation
11660 func (s GetBucketEncryptionInput) GoString() string {
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"))
11670 if s.Bucket != nil && len(*s.Bucket) < 1 {
11671 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11674 if invalidParams.Len() > 0 {
11675 return invalidParams
11680 // SetBucket sets the Bucket field's value.
11681 func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
11686 func (s *GetBucketEncryptionInput) getBucket() (v string) {
11687 if s.Bucket == nil {
11693 type GetBucketEncryptionOutput struct {
11694 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
11696 // Specifies the default server-side-encryption configuration.
11697 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
11700 // String returns the string representation
11701 func (s GetBucketEncryptionOutput) String() string {
11702 return awsutil.Prettify(s)
11705 // GoString returns the string representation
11706 func (s GetBucketEncryptionOutput) GoString() string {
11710 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
11711 func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
11712 s.ServerSideEncryptionConfiguration = v
11716 type GetBucketInventoryConfigurationInput struct {
11717 _ struct{} `type:"structure"`
11719 // The name of the bucket containing the inventory configuration to retrieve.
11721 // Bucket is a required field
11722 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11724 // The ID used to identify the inventory configuration.
11726 // Id is a required field
11727 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11730 // String returns the string representation
11731 func (s GetBucketInventoryConfigurationInput) String() string {
11732 return awsutil.Prettify(s)
11735 // GoString returns the string representation
11736 func (s GetBucketInventoryConfigurationInput) GoString() string {
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"))
11746 if s.Bucket != nil && len(*s.Bucket) < 1 {
11747 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11750 invalidParams.Add(request.NewErrParamRequired("Id"))
11753 if invalidParams.Len() > 0 {
11754 return invalidParams
11759 // SetBucket sets the Bucket field's value.
11760 func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput {
11765 func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
11766 if s.Bucket == nil {
11772 // SetId sets the Id field's value.
11773 func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
11778 type GetBucketInventoryConfigurationOutput struct {
11779 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
11781 // Specifies the inventory configuration.
11782 InventoryConfiguration *InventoryConfiguration `type:"structure"`
11785 // String returns the string representation
11786 func (s GetBucketInventoryConfigurationOutput) String() string {
11787 return awsutil.Prettify(s)
11790 // GoString returns the string representation
11791 func (s GetBucketInventoryConfigurationOutput) GoString() string {
11795 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
11796 func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput {
11797 s.InventoryConfiguration = v
11801 type GetBucketLifecycleConfigurationInput struct {
11802 _ struct{} `type:"structure"`
11804 // Bucket is a required field
11805 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11808 // String returns the string representation
11809 func (s GetBucketLifecycleConfigurationInput) String() string {
11810 return awsutil.Prettify(s)
11813 // GoString returns the string representation
11814 func (s GetBucketLifecycleConfigurationInput) GoString() string {
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"))
11824 if s.Bucket != nil && len(*s.Bucket) < 1 {
11825 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11828 if invalidParams.Len() > 0 {
11829 return invalidParams
11834 // SetBucket sets the Bucket field's value.
11835 func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput {
11840 func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
11841 if s.Bucket == nil {
11847 type GetBucketLifecycleConfigurationOutput struct {
11848 _ struct{} `type:"structure"`
11850 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`
11853 // String returns the string representation
11854 func (s GetBucketLifecycleConfigurationOutput) String() string {
11855 return awsutil.Prettify(s)
11858 // GoString returns the string representation
11859 func (s GetBucketLifecycleConfigurationOutput) GoString() string {
11863 // SetRules sets the Rules field's value.
11864 func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput {
11869 type GetBucketLifecycleInput struct {
11870 _ struct{} `type:"structure"`
11872 // Bucket is a required field
11873 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11876 // String returns the string representation
11877 func (s GetBucketLifecycleInput) String() string {
11878 return awsutil.Prettify(s)
11881 // GoString returns the string representation
11882 func (s GetBucketLifecycleInput) GoString() string {
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"))
11892 if s.Bucket != nil && len(*s.Bucket) < 1 {
11893 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11896 if invalidParams.Len() > 0 {
11897 return invalidParams
11902 // SetBucket sets the Bucket field's value.
11903 func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
11908 func (s *GetBucketLifecycleInput) getBucket() (v string) {
11909 if s.Bucket == nil {
11915 type GetBucketLifecycleOutput struct {
11916 _ struct{} `type:"structure"`
11918 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"`
11921 // String returns the string representation
11922 func (s GetBucketLifecycleOutput) String() string {
11923 return awsutil.Prettify(s)
11926 // GoString returns the string representation
11927 func (s GetBucketLifecycleOutput) GoString() string {
11931 // SetRules sets the Rules field's value.
11932 func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput {
11937 type GetBucketLocationInput struct {
11938 _ struct{} `type:"structure"`
11940 // Bucket is a required field
11941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11944 // String returns the string representation
11945 func (s GetBucketLocationInput) String() string {
11946 return awsutil.Prettify(s)
11949 // GoString returns the string representation
11950 func (s GetBucketLocationInput) GoString() string {
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"))
11960 if s.Bucket != nil && len(*s.Bucket) < 1 {
11961 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11964 if invalidParams.Len() > 0 {
11965 return invalidParams
11970 // SetBucket sets the Bucket field's value.
11971 func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
11976 func (s *GetBucketLocationInput) getBucket() (v string) {
11977 if s.Bucket == nil {
11983 type GetBucketLocationOutput struct {
11984 _ struct{} `type:"structure"`
11986 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
11989 // String returns the string representation
11990 func (s GetBucketLocationOutput) String() string {
11991 return awsutil.Prettify(s)
11994 // GoString returns the string representation
11995 func (s GetBucketLocationOutput) GoString() string {
11999 // SetLocationConstraint sets the LocationConstraint field's value.
12000 func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput {
12001 s.LocationConstraint = &v
12005 type GetBucketLoggingInput struct {
12006 _ struct{} `type:"structure"`
12008 // Bucket is a required field
12009 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12012 // String returns the string representation
12013 func (s GetBucketLoggingInput) String() string {
12014 return awsutil.Prettify(s)
12017 // GoString returns the string representation
12018 func (s GetBucketLoggingInput) GoString() string {
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"))
12028 if s.Bucket != nil && len(*s.Bucket) < 1 {
12029 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12032 if invalidParams.Len() > 0 {
12033 return invalidParams
12038 // SetBucket sets the Bucket field's value.
12039 func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
12044 func (s *GetBucketLoggingInput) getBucket() (v string) {
12045 if s.Bucket == nil {
12051 type GetBucketLoggingOutput struct {
12052 _ struct{} `type:"structure"`
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"`
12061 // String returns the string representation
12062 func (s GetBucketLoggingOutput) String() string {
12063 return awsutil.Prettify(s)
12066 // GoString returns the string representation
12067 func (s GetBucketLoggingOutput) GoString() string {
12071 // SetLoggingEnabled sets the LoggingEnabled field's value.
12072 func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput {
12073 s.LoggingEnabled = v
12077 type GetBucketMetricsConfigurationInput struct {
12078 _ struct{} `type:"structure"`
12080 // The name of the bucket containing the metrics configuration to retrieve.
12082 // Bucket is a required field
12083 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12085 // The ID used to identify the metrics configuration.
12087 // Id is a required field
12088 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
12091 // String returns the string representation
12092 func (s GetBucketMetricsConfigurationInput) String() string {
12093 return awsutil.Prettify(s)
12096 // GoString returns the string representation
12097 func (s GetBucketMetricsConfigurationInput) GoString() string {
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"))
12107 if s.Bucket != nil && len(*s.Bucket) < 1 {
12108 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12111 invalidParams.Add(request.NewErrParamRequired("Id"))
12114 if invalidParams.Len() > 0 {
12115 return invalidParams
12120 // SetBucket sets the Bucket field's value.
12121 func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput {
12126 func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
12127 if s.Bucket == nil {
12133 // SetId sets the Id field's value.
12134 func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
12139 type GetBucketMetricsConfigurationOutput struct {
12140 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
12142 // Specifies the metrics configuration.
12143 MetricsConfiguration *MetricsConfiguration `type:"structure"`
12146 // String returns the string representation
12147 func (s GetBucketMetricsConfigurationOutput) String() string {
12148 return awsutil.Prettify(s)
12151 // GoString returns the string representation
12152 func (s GetBucketMetricsConfigurationOutput) GoString() string {
12156 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
12157 func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput {
12158 s.MetricsConfiguration = v
12162 type GetBucketNotificationConfigurationRequest struct {
12163 _ struct{} `type:"structure"`
12165 // Name of the bucket to get the notification configuration for.
12167 // Bucket is a required field
12168 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12171 // String returns the string representation
12172 func (s GetBucketNotificationConfigurationRequest) String() string {
12173 return awsutil.Prettify(s)
12176 // GoString returns the string representation
12177 func (s GetBucketNotificationConfigurationRequest) GoString() string {
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"))
12187 if s.Bucket != nil && len(*s.Bucket) < 1 {
12188 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12191 if invalidParams.Len() > 0 {
12192 return invalidParams
12197 // SetBucket sets the Bucket field's value.
12198 func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest {
12203 func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
12204 if s.Bucket == nil {
12210 type GetBucketPolicyInput struct {
12211 _ struct{} `type:"structure"`
12213 // Bucket is a required field
12214 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12217 // String returns the string representation
12218 func (s GetBucketPolicyInput) String() string {
12219 return awsutil.Prettify(s)
12222 // GoString returns the string representation
12223 func (s GetBucketPolicyInput) GoString() string {
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"))
12233 if s.Bucket != nil && len(*s.Bucket) < 1 {
12234 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12237 if invalidParams.Len() > 0 {
12238 return invalidParams
12243 // SetBucket sets the Bucket field's value.
12244 func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
12249 func (s *GetBucketPolicyInput) getBucket() (v string) {
12250 if s.Bucket == nil {
12256 type GetBucketPolicyOutput struct {
12257 _ struct{} `type:"structure" payload:"Policy"`
12259 // The bucket policy as a JSON document.
12260 Policy *string `type:"string"`
12263 // String returns the string representation
12264 func (s GetBucketPolicyOutput) String() string {
12265 return awsutil.Prettify(s)
12268 // GoString returns the string representation
12269 func (s GetBucketPolicyOutput) GoString() string {
12273 // SetPolicy sets the Policy field's value.
12274 func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
12279 type GetBucketPolicyStatusInput struct {
12280 _ struct{} `type:"structure"`
12282 // The name of the Amazon S3 bucket whose policy status you want to retrieve.
12284 // Bucket is a required field
12285 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12288 // String returns the string representation
12289 func (s GetBucketPolicyStatusInput) String() string {
12290 return awsutil.Prettify(s)
12293 // GoString returns the string representation
12294 func (s GetBucketPolicyStatusInput) GoString() string {
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"))
12304 if s.Bucket != nil && len(*s.Bucket) < 1 {
12305 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12308 if invalidParams.Len() > 0 {
12309 return invalidParams
12314 // SetBucket sets the Bucket field's value.
12315 func (s *GetBucketPolicyStatusInput) SetBucket(v string) *GetBucketPolicyStatusInput {
12320 func (s *GetBucketPolicyStatusInput) getBucket() (v string) {
12321 if s.Bucket == nil {
12327 type GetBucketPolicyStatusOutput struct {
12328 _ struct{} `type:"structure" payload:"PolicyStatus"`
12330 // The policy status for the specified bucket.
12331 PolicyStatus *PolicyStatus `type:"structure"`
12334 // String returns the string representation
12335 func (s GetBucketPolicyStatusOutput) String() string {
12336 return awsutil.Prettify(s)
12339 // GoString returns the string representation
12340 func (s GetBucketPolicyStatusOutput) GoString() string {
12344 // SetPolicyStatus sets the PolicyStatus field's value.
12345 func (s *GetBucketPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetBucketPolicyStatusOutput {
12350 type GetBucketReplicationInput struct {
12351 _ struct{} `type:"structure"`
12353 // Bucket is a required field
12354 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12357 // String returns the string representation
12358 func (s GetBucketReplicationInput) String() string {
12359 return awsutil.Prettify(s)
12362 // GoString returns the string representation
12363 func (s GetBucketReplicationInput) GoString() string {
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"))
12373 if s.Bucket != nil && len(*s.Bucket) < 1 {
12374 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12377 if invalidParams.Len() > 0 {
12378 return invalidParams
12383 // SetBucket sets the Bucket field's value.
12384 func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput {
12389 func (s *GetBucketReplicationInput) getBucket() (v string) {
12390 if s.Bucket == nil {
12396 type GetBucketReplicationOutput struct {
12397 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
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"`
12404 // String returns the string representation
12405 func (s GetBucketReplicationOutput) String() string {
12406 return awsutil.Prettify(s)
12409 // GoString returns the string representation
12410 func (s GetBucketReplicationOutput) GoString() string {
12414 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
12415 func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput {
12416 s.ReplicationConfiguration = v
12420 type GetBucketRequestPaymentInput struct {
12421 _ struct{} `type:"structure"`
12423 // Bucket is a required field
12424 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12427 // String returns the string representation
12428 func (s GetBucketRequestPaymentInput) String() string {
12429 return awsutil.Prettify(s)
12432 // GoString returns the string representation
12433 func (s GetBucketRequestPaymentInput) GoString() string {
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"))
12443 if s.Bucket != nil && len(*s.Bucket) < 1 {
12444 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12447 if invalidParams.Len() > 0 {
12448 return invalidParams
12453 // SetBucket sets the Bucket field's value.
12454 func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput {
12459 func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
12460 if s.Bucket == nil {
12466 type GetBucketRequestPaymentOutput struct {
12467 _ struct{} `type:"structure"`
12469 // Specifies who pays for the download and request fees.
12470 Payer *string `type:"string" enum:"Payer"`
12473 // String returns the string representation
12474 func (s GetBucketRequestPaymentOutput) String() string {
12475 return awsutil.Prettify(s)
12478 // GoString returns the string representation
12479 func (s GetBucketRequestPaymentOutput) GoString() string {
12483 // SetPayer sets the Payer field's value.
12484 func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput {
12489 type GetBucketTaggingInput struct {
12490 _ struct{} `type:"structure"`
12492 // Bucket is a required field
12493 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12496 // String returns the string representation
12497 func (s GetBucketTaggingInput) String() string {
12498 return awsutil.Prettify(s)
12501 // GoString returns the string representation
12502 func (s GetBucketTaggingInput) GoString() string {
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"))
12512 if s.Bucket != nil && len(*s.Bucket) < 1 {
12513 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12516 if invalidParams.Len() > 0 {
12517 return invalidParams
12522 // SetBucket sets the Bucket field's value.
12523 func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
12528 func (s *GetBucketTaggingInput) getBucket() (v string) {
12529 if s.Bucket == nil {
12535 type GetBucketTaggingOutput struct {
12536 _ struct{} `type:"structure"`
12538 // TagSet is a required field
12539 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
12542 // String returns the string representation
12543 func (s GetBucketTaggingOutput) String() string {
12544 return awsutil.Prettify(s)
12547 // GoString returns the string representation
12548 func (s GetBucketTaggingOutput) GoString() string {
12552 // SetTagSet sets the TagSet field's value.
12553 func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
12558 type GetBucketVersioningInput struct {
12559 _ struct{} `type:"structure"`
12561 // Bucket is a required field
12562 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12565 // String returns the string representation
12566 func (s GetBucketVersioningInput) String() string {
12567 return awsutil.Prettify(s)
12570 // GoString returns the string representation
12571 func (s GetBucketVersioningInput) GoString() string {
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"))
12581 if s.Bucket != nil && len(*s.Bucket) < 1 {
12582 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12585 if invalidParams.Len() > 0 {
12586 return invalidParams
12591 // SetBucket sets the Bucket field's value.
12592 func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput {
12597 func (s *GetBucketVersioningInput) getBucket() (v string) {
12598 if s.Bucket == nil {
12604 type GetBucketVersioningOutput struct {
12605 _ struct{} `type:"structure"`
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"`
12612 // The versioning state of the bucket.
12613 Status *string `type:"string" enum:"BucketVersioningStatus"`
12616 // String returns the string representation
12617 func (s GetBucketVersioningOutput) String() string {
12618 return awsutil.Prettify(s)
12621 // GoString returns the string representation
12622 func (s GetBucketVersioningOutput) GoString() string {
12626 // SetMFADelete sets the MFADelete field's value.
12627 func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput {
12632 // SetStatus sets the Status field's value.
12633 func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput {
12638 type GetBucketWebsiteInput struct {
12639 _ struct{} `type:"structure"`
12641 // Bucket is a required field
12642 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12645 // String returns the string representation
12646 func (s GetBucketWebsiteInput) String() string {
12647 return awsutil.Prettify(s)
12650 // GoString returns the string representation
12651 func (s GetBucketWebsiteInput) GoString() string {
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"))
12661 if s.Bucket != nil && len(*s.Bucket) < 1 {
12662 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12665 if invalidParams.Len() > 0 {
12666 return invalidParams
12671 // SetBucket sets the Bucket field's value.
12672 func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
12677 func (s *GetBucketWebsiteInput) getBucket() (v string) {
12678 if s.Bucket == nil {
12684 type GetBucketWebsiteOutput struct {
12685 _ struct{} `type:"structure"`
12687 ErrorDocument *ErrorDocument `type:"structure"`
12689 IndexDocument *IndexDocument `type:"structure"`
12691 // Specifies the redirect behavior of all requests to a website endpoint of
12692 // an Amazon S3 bucket.
12693 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
12695 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
12698 // String returns the string representation
12699 func (s GetBucketWebsiteOutput) String() string {
12700 return awsutil.Prettify(s)
12703 // GoString returns the string representation
12704 func (s GetBucketWebsiteOutput) GoString() string {
12708 // SetErrorDocument sets the ErrorDocument field's value.
12709 func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput {
12710 s.ErrorDocument = v
12714 // SetIndexDocument sets the IndexDocument field's value.
12715 func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput {
12716 s.IndexDocument = v
12720 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
12721 func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput {
12722 s.RedirectAllRequestsTo = v
12726 // SetRoutingRules sets the RoutingRules field's value.
12727 func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput {
12732 type GetObjectAclInput struct {
12733 _ struct{} `type:"structure"`
12735 // Bucket is a required field
12736 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12738 // Key is a required field
12739 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
12747 // VersionId used to reference a specific version of the object.
12748 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12751 // String returns the string representation
12752 func (s GetObjectAclInput) String() string {
12753 return awsutil.Prettify(s)
12756 // GoString returns the string representation
12757 func (s GetObjectAclInput) GoString() string {
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"))
12767 if s.Bucket != nil && len(*s.Bucket) < 1 {
12768 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12771 invalidParams.Add(request.NewErrParamRequired("Key"))
12773 if s.Key != nil && len(*s.Key) < 1 {
12774 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12777 if invalidParams.Len() > 0 {
12778 return invalidParams
12783 // SetBucket sets the Bucket field's value.
12784 func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
12789 func (s *GetObjectAclInput) getBucket() (v string) {
12790 if s.Bucket == nil {
12796 // SetKey sets the Key field's value.
12797 func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
12802 // SetRequestPayer sets the RequestPayer field's value.
12803 func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput {
12804 s.RequestPayer = &v
12808 // SetVersionId sets the VersionId field's value.
12809 func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
12814 type GetObjectAclOutput struct {
12815 _ struct{} `type:"structure"`
12817 // A list of grants.
12818 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
12820 Owner *Owner `type:"structure"`
12822 // If present, indicates that the requester was successfully charged for the
12824 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
12827 // String returns the string representation
12828 func (s GetObjectAclOutput) String() string {
12829 return awsutil.Prettify(s)
12832 // GoString returns the string representation
12833 func (s GetObjectAclOutput) GoString() string {
12837 // SetGrants sets the Grants field's value.
12838 func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput {
12843 // SetOwner sets the Owner field's value.
12844 func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput {
12849 // SetRequestCharged sets the RequestCharged field's value.
12850 func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
12851 s.RequestCharged = &v
12855 type GetObjectInput struct {
12856 _ struct{} `type:"structure"`
12858 // Bucket is a required field
12859 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
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"`
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"`
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"`
12877 // Key is a required field
12878 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
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"`
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"`
12895 // Sets the Cache-Control header of the response.
12896 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`
12898 // Sets the Content-Disposition header of the response
12899 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`
12901 // Sets the Content-Encoding header of the response.
12902 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`
12904 // Sets the Content-Language header of the response.
12905 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`
12907 // Sets the Content-Type header of the response.
12908 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
12910 // Sets the Expires header of the response.
12911 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
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"`
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
12921 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
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"`
12928 // VersionId used to reference a specific version of the object.
12929 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12932 // String returns the string representation
12933 func (s GetObjectInput) String() string {
12934 return awsutil.Prettify(s)
12937 // GoString returns the string representation
12938 func (s GetObjectInput) GoString() string {
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"))
12948 if s.Bucket != nil && len(*s.Bucket) < 1 {
12949 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12952 invalidParams.Add(request.NewErrParamRequired("Key"))
12954 if s.Key != nil && len(*s.Key) < 1 {
12955 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12958 if invalidParams.Len() > 0 {
12959 return invalidParams
12964 // SetBucket sets the Bucket field's value.
12965 func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
12970 func (s *GetObjectInput) getBucket() (v string) {
12971 if s.Bucket == nil {
12977 // SetIfMatch sets the IfMatch field's value.
12978 func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
12983 // SetIfModifiedSince sets the IfModifiedSince field's value.
12984 func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput {
12985 s.IfModifiedSince = &v
12989 // SetIfNoneMatch sets the IfNoneMatch field's value.
12990 func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput {
12995 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
12996 func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput {
12997 s.IfUnmodifiedSince = &v
13001 // SetKey sets the Key field's value.
13002 func (s *GetObjectInput) SetKey(v string) *GetObjectInput {
13007 // SetPartNumber sets the PartNumber field's value.
13008 func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput {
13013 // SetRange sets the Range field's value.
13014 func (s *GetObjectInput) SetRange(v string) *GetObjectInput {
13019 // SetRequestPayer sets the RequestPayer field's value.
13020 func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput {
13021 s.RequestPayer = &v
13025 // SetResponseCacheControl sets the ResponseCacheControl field's value.
13026 func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput {
13027 s.ResponseCacheControl = &v
13031 // SetResponseContentDisposition sets the ResponseContentDisposition field's value.
13032 func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput {
13033 s.ResponseContentDisposition = &v
13037 // SetResponseContentEncoding sets the ResponseContentEncoding field's value.
13038 func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput {
13039 s.ResponseContentEncoding = &v
13043 // SetResponseContentLanguage sets the ResponseContentLanguage field's value.
13044 func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput {
13045 s.ResponseContentLanguage = &v
13049 // SetResponseContentType sets the ResponseContentType field's value.
13050 func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput {
13051 s.ResponseContentType = &v
13055 // SetResponseExpires sets the ResponseExpires field's value.
13056 func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput {
13057 s.ResponseExpires = &v
13061 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13062 func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput {
13063 s.SSECustomerAlgorithm = &v
13067 // SetSSECustomerKey sets the SSECustomerKey field's value.
13068 func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
13069 s.SSECustomerKey = &v
13073 func (s *GetObjectInput) getSSECustomerKey() (v string) {
13074 if s.SSECustomerKey == nil {
13077 return *s.SSECustomerKey
13080 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13081 func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
13082 s.SSECustomerKeyMD5 = &v
13086 // SetVersionId sets the VersionId field's value.
13087 func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
13092 type GetObjectLegalHoldInput struct {
13093 _ struct{} `type:"structure"`
13095 // The bucket containing the object whose Legal Hold status you want to retrieve.
13097 // Bucket is a required field
13098 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13100 // The key name for the object whose Legal Hold status you want to retrieve.
13102 // Key is a required field
13103 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
13111 // The version ID of the object whose Legal Hold status you want to retrieve.
13112 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13115 // String returns the string representation
13116 func (s GetObjectLegalHoldInput) String() string {
13117 return awsutil.Prettify(s)
13120 // GoString returns the string representation
13121 func (s GetObjectLegalHoldInput) GoString() string {
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"))
13131 if s.Bucket != nil && len(*s.Bucket) < 1 {
13132 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13135 invalidParams.Add(request.NewErrParamRequired("Key"))
13137 if s.Key != nil && len(*s.Key) < 1 {
13138 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13141 if invalidParams.Len() > 0 {
13142 return invalidParams
13147 // SetBucket sets the Bucket field's value.
13148 func (s *GetObjectLegalHoldInput) SetBucket(v string) *GetObjectLegalHoldInput {
13153 func (s *GetObjectLegalHoldInput) getBucket() (v string) {
13154 if s.Bucket == nil {
13160 // SetKey sets the Key field's value.
13161 func (s *GetObjectLegalHoldInput) SetKey(v string) *GetObjectLegalHoldInput {
13166 // SetRequestPayer sets the RequestPayer field's value.
13167 func (s *GetObjectLegalHoldInput) SetRequestPayer(v string) *GetObjectLegalHoldInput {
13168 s.RequestPayer = &v
13172 // SetVersionId sets the VersionId field's value.
13173 func (s *GetObjectLegalHoldInput) SetVersionId(v string) *GetObjectLegalHoldInput {
13178 type GetObjectLegalHoldOutput struct {
13179 _ struct{} `type:"structure" payload:"LegalHold"`
13181 // The current Legal Hold status for the specified object.
13182 LegalHold *ObjectLockLegalHold `type:"structure"`
13185 // String returns the string representation
13186 func (s GetObjectLegalHoldOutput) String() string {
13187 return awsutil.Prettify(s)
13190 // GoString returns the string representation
13191 func (s GetObjectLegalHoldOutput) GoString() string {
13195 // SetLegalHold sets the LegalHold field's value.
13196 func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObjectLegalHoldOutput {
13201 type GetObjectLockConfigurationInput struct {
13202 _ struct{} `type:"structure"`
13204 // The bucket whose object lock configuration you want to retrieve.
13206 // Bucket is a required field
13207 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13210 // String returns the string representation
13211 func (s GetObjectLockConfigurationInput) String() string {
13212 return awsutil.Prettify(s)
13215 // GoString returns the string representation
13216 func (s GetObjectLockConfigurationInput) GoString() string {
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"))
13226 if s.Bucket != nil && len(*s.Bucket) < 1 {
13227 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13230 if invalidParams.Len() > 0 {
13231 return invalidParams
13236 // SetBucket sets the Bucket field's value.
13237 func (s *GetObjectLockConfigurationInput) SetBucket(v string) *GetObjectLockConfigurationInput {
13242 func (s *GetObjectLockConfigurationInput) getBucket() (v string) {
13243 if s.Bucket == nil {
13249 type GetObjectLockConfigurationOutput struct {
13250 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
13252 // The specified bucket's object lock configuration.
13253 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"`
13256 // String returns the string representation
13257 func (s GetObjectLockConfigurationOutput) String() string {
13258 return awsutil.Prettify(s)
13261 // GoString returns the string representation
13262 func (s GetObjectLockConfigurationOutput) GoString() string {
13266 // SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
13267 func (s *GetObjectLockConfigurationOutput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *GetObjectLockConfigurationOutput {
13268 s.ObjectLockConfiguration = v
13272 type GetObjectOutput struct {
13273 _ struct{} `type:"structure" payload:"Body"`
13275 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
13278 Body io.ReadCloser `type:"blob"`
13280 // Specifies caching behavior along the request/reply chain.
13281 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
13283 // Specifies presentational information for the object.
13284 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
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"`
13291 // The language the content is in.
13292 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
13294 // Size of the body in bytes.
13295 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
13297 // The portion of the object returned in the response.
13298 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
13300 // A standard MIME type describing the format of the object data.
13301 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
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"`
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"`
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
13315 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
13317 // The date and time at which the object is no longer cacheable.
13318 Expires *string `location:"header" locationName:"Expires" type:"string"`
13320 // Last modified date of the object
13321 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
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"`
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"`
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"`
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"`
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"`
13342 // The count of parts this object has.
13343 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
13345 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
13347 // If present, indicates that the requester was successfully charged for the
13349 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
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"`
13355 // If server-side encryption with a customer-provided encryption key was requested,
13356 // the response will include this header confirming the encryption algorithm
13358 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
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"`
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"`
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"`
13373 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
13375 // The number of tags, if any, on the object.
13376 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"`
13378 // Version of the object.
13379 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
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"`
13387 // String returns the string representation
13388 func (s GetObjectOutput) String() string {
13389 return awsutil.Prettify(s)
13392 // GoString returns the string representation
13393 func (s GetObjectOutput) GoString() string {
13397 // SetAcceptRanges sets the AcceptRanges field's value.
13398 func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput {
13399 s.AcceptRanges = &v
13403 // SetBody sets the Body field's value.
13404 func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput {
13409 // SetCacheControl sets the CacheControl field's value.
13410 func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput {
13411 s.CacheControl = &v
13415 // SetContentDisposition sets the ContentDisposition field's value.
13416 func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
13417 s.ContentDisposition = &v
13421 // SetContentEncoding sets the ContentEncoding field's value.
13422 func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput {
13423 s.ContentEncoding = &v
13427 // SetContentLanguage sets the ContentLanguage field's value.
13428 func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput {
13429 s.ContentLanguage = &v
13433 // SetContentLength sets the ContentLength field's value.
13434 func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput {
13435 s.ContentLength = &v
13439 // SetContentRange sets the ContentRange field's value.
13440 func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput {
13441 s.ContentRange = &v
13445 // SetContentType sets the ContentType field's value.
13446 func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput {
13451 // SetDeleteMarker sets the DeleteMarker field's value.
13452 func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput {
13453 s.DeleteMarker = &v
13457 // SetETag sets the ETag field's value.
13458 func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput {
13463 // SetExpiration sets the Expiration field's value.
13464 func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput {
13469 // SetExpires sets the Expires field's value.
13470 func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput {
13475 // SetLastModified sets the LastModified field's value.
13476 func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput {
13477 s.LastModified = &v
13481 // SetMetadata sets the Metadata field's value.
13482 func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput {
13487 // SetMissingMeta sets the MissingMeta field's value.
13488 func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput {
13493 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
13494 func (s *GetObjectOutput) SetObjectLockLegalHoldStatus(v string) *GetObjectOutput {
13495 s.ObjectLockLegalHoldStatus = &v
13499 // SetObjectLockMode sets the ObjectLockMode field's value.
13500 func (s *GetObjectOutput) SetObjectLockMode(v string) *GetObjectOutput {
13501 s.ObjectLockMode = &v
13505 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
13506 func (s *GetObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *GetObjectOutput {
13507 s.ObjectLockRetainUntilDate = &v
13511 // SetPartsCount sets the PartsCount field's value.
13512 func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput {
13517 // SetReplicationStatus sets the ReplicationStatus field's value.
13518 func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput {
13519 s.ReplicationStatus = &v
13523 // SetRequestCharged sets the RequestCharged field's value.
13524 func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput {
13525 s.RequestCharged = &v
13529 // SetRestore sets the Restore field's value.
13530 func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput {
13535 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13536 func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput {
13537 s.SSECustomerAlgorithm = &v
13541 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13542 func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput {
13543 s.SSECustomerKeyMD5 = &v
13547 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
13548 func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput {
13553 // SetServerSideEncryption sets the ServerSideEncryption field's value.
13554 func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput {
13555 s.ServerSideEncryption = &v
13559 // SetStorageClass sets the StorageClass field's value.
13560 func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput {
13561 s.StorageClass = &v
13565 // SetTagCount sets the TagCount field's value.
13566 func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput {
13571 // SetVersionId sets the VersionId field's value.
13572 func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput {
13577 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
13578 func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput {
13579 s.WebsiteRedirectLocation = &v
13583 type GetObjectRetentionInput struct {
13584 _ struct{} `type:"structure"`
13586 // The bucket containing the object whose retention settings you want to retrieve.
13588 // Bucket is a required field
13589 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13591 // The key name for the object whose retention settings you want to retrieve.
13593 // Key is a required field
13594 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
13602 // The version ID for the object whose retention settings you want to retrieve.
13603 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13606 // String returns the string representation
13607 func (s GetObjectRetentionInput) String() string {
13608 return awsutil.Prettify(s)
13611 // GoString returns the string representation
13612 func (s GetObjectRetentionInput) GoString() string {
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"))
13622 if s.Bucket != nil && len(*s.Bucket) < 1 {
13623 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13626 invalidParams.Add(request.NewErrParamRequired("Key"))
13628 if s.Key != nil && len(*s.Key) < 1 {
13629 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13632 if invalidParams.Len() > 0 {
13633 return invalidParams
13638 // SetBucket sets the Bucket field's value.
13639 func (s *GetObjectRetentionInput) SetBucket(v string) *GetObjectRetentionInput {
13644 func (s *GetObjectRetentionInput) getBucket() (v string) {
13645 if s.Bucket == nil {
13651 // SetKey sets the Key field's value.
13652 func (s *GetObjectRetentionInput) SetKey(v string) *GetObjectRetentionInput {
13657 // SetRequestPayer sets the RequestPayer field's value.
13658 func (s *GetObjectRetentionInput) SetRequestPayer(v string) *GetObjectRetentionInput {
13659 s.RequestPayer = &v
13663 // SetVersionId sets the VersionId field's value.
13664 func (s *GetObjectRetentionInput) SetVersionId(v string) *GetObjectRetentionInput {
13669 type GetObjectRetentionOutput struct {
13670 _ struct{} `type:"structure" payload:"Retention"`
13672 // The container element for an object's retention settings.
13673 Retention *ObjectLockRetention `type:"structure"`
13676 // String returns the string representation
13677 func (s GetObjectRetentionOutput) String() string {
13678 return awsutil.Prettify(s)
13681 // GoString returns the string representation
13682 func (s GetObjectRetentionOutput) GoString() string {
13686 // SetRetention sets the Retention field's value.
13687 func (s *GetObjectRetentionOutput) SetRetention(v *ObjectLockRetention) *GetObjectRetentionOutput {
13692 type GetObjectTaggingInput struct {
13693 _ struct{} `type:"structure"`
13695 // Bucket is a required field
13696 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13698 // Key is a required field
13699 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13701 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13704 // String returns the string representation
13705 func (s GetObjectTaggingInput) String() string {
13706 return awsutil.Prettify(s)
13709 // GoString returns the string representation
13710 func (s GetObjectTaggingInput) GoString() string {
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"))
13720 if s.Bucket != nil && len(*s.Bucket) < 1 {
13721 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13724 invalidParams.Add(request.NewErrParamRequired("Key"))
13726 if s.Key != nil && len(*s.Key) < 1 {
13727 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13730 if invalidParams.Len() > 0 {
13731 return invalidParams
13736 // SetBucket sets the Bucket field's value.
13737 func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
13742 func (s *GetObjectTaggingInput) getBucket() (v string) {
13743 if s.Bucket == nil {
13749 // SetKey sets the Key field's value.
13750 func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
13755 // SetVersionId sets the VersionId field's value.
13756 func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
13761 type GetObjectTaggingOutput struct {
13762 _ struct{} `type:"structure"`
13764 // TagSet is a required field
13765 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
13767 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13770 // String returns the string representation
13771 func (s GetObjectTaggingOutput) String() string {
13772 return awsutil.Prettify(s)
13775 // GoString returns the string representation
13776 func (s GetObjectTaggingOutput) GoString() string {
13780 // SetTagSet sets the TagSet field's value.
13781 func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput {
13786 // SetVersionId sets the VersionId field's value.
13787 func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput {
13792 type GetObjectTorrentInput struct {
13793 _ struct{} `type:"structure"`
13795 // Bucket is a required field
13796 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13798 // Key is a required field
13799 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
13808 // String returns the string representation
13809 func (s GetObjectTorrentInput) String() string {
13810 return awsutil.Prettify(s)
13813 // GoString returns the string representation
13814 func (s GetObjectTorrentInput) GoString() string {
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"))
13824 if s.Bucket != nil && len(*s.Bucket) < 1 {
13825 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13828 invalidParams.Add(request.NewErrParamRequired("Key"))
13830 if s.Key != nil && len(*s.Key) < 1 {
13831 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13834 if invalidParams.Len() > 0 {
13835 return invalidParams
13840 // SetBucket sets the Bucket field's value.
13841 func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
13846 func (s *GetObjectTorrentInput) getBucket() (v string) {
13847 if s.Bucket == nil {
13853 // SetKey sets the Key field's value.
13854 func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
13859 // SetRequestPayer sets the RequestPayer field's value.
13860 func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput {
13861 s.RequestPayer = &v
13865 type GetObjectTorrentOutput struct {
13866 _ struct{} `type:"structure" payload:"Body"`
13868 Body io.ReadCloser `type:"blob"`
13870 // If present, indicates that the requester was successfully charged for the
13872 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13875 // String returns the string representation
13876 func (s GetObjectTorrentOutput) String() string {
13877 return awsutil.Prettify(s)
13880 // GoString returns the string representation
13881 func (s GetObjectTorrentOutput) GoString() string {
13885 // SetBody sets the Body field's value.
13886 func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput {
13891 // SetRequestCharged sets the RequestCharged field's value.
13892 func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput {
13893 s.RequestCharged = &v
13897 type GetPublicAccessBlockInput struct {
13898 _ struct{} `type:"structure"`
13900 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
13901 // want to retrieve.
13903 // Bucket is a required field
13904 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13907 // String returns the string representation
13908 func (s GetPublicAccessBlockInput) String() string {
13909 return awsutil.Prettify(s)
13912 // GoString returns the string representation
13913 func (s GetPublicAccessBlockInput) GoString() string {
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"))
13923 if s.Bucket != nil && len(*s.Bucket) < 1 {
13924 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13927 if invalidParams.Len() > 0 {
13928 return invalidParams
13933 // SetBucket sets the Bucket field's value.
13934 func (s *GetPublicAccessBlockInput) SetBucket(v string) *GetPublicAccessBlockInput {
13939 func (s *GetPublicAccessBlockInput) getBucket() (v string) {
13940 if s.Bucket == nil {
13946 type GetPublicAccessBlockOutput struct {
13947 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
13949 // The PublicAccessBlock configuration currently in effect for this Amazon S3
13951 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"`
13954 // String returns the string representation
13955 func (s GetPublicAccessBlockOutput) String() string {
13956 return awsutil.Prettify(s)
13959 // GoString returns the string representation
13960 func (s GetPublicAccessBlockOutput) GoString() string {
13964 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
13965 func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput {
13966 s.PublicAccessBlockConfiguration = v
13970 type GlacierJobParameters struct {
13971 _ struct{} `type:"structure"`
13973 // Glacier retrieval tier at which the restore will be processed.
13975 // Tier is a required field
13976 Tier *string `type:"string" required:"true" enum:"Tier"`
13979 // String returns the string representation
13980 func (s GlacierJobParameters) String() string {
13981 return awsutil.Prettify(s)
13984 // GoString returns the string representation
13985 func (s GlacierJobParameters) GoString() string {
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"}
13993 invalidParams.Add(request.NewErrParamRequired("Tier"))
13996 if invalidParams.Len() > 0 {
13997 return invalidParams
14002 // SetTier sets the Tier field's value.
14003 func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
14008 type Grant struct {
14009 _ struct{} `type:"structure"`
14011 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
14013 // Specifies the permission given to the grantee.
14014 Permission *string `type:"string" enum:"Permission"`
14017 // String returns the string representation
14018 func (s Grant) String() string {
14019 return awsutil.Prettify(s)
14022 // GoString returns the string representation
14023 func (s Grant) GoString() string {
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))
14036 if invalidParams.Len() > 0 {
14037 return invalidParams
14042 // SetGrantee sets the Grantee field's value.
14043 func (s *Grant) SetGrantee(v *Grantee) *Grant {
14048 // SetPermission sets the Permission field's value.
14049 func (s *Grant) SetPermission(v string) *Grant {
14054 type Grantee struct {
14055 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
14057 // Screen name of the grantee.
14058 DisplayName *string `type:"string"`
14060 // Email address of the grantee.
14061 EmailAddress *string `type:"string"`
14063 // The canonical user ID of the grantee.
14064 ID *string `type:"string"`
14068 // Type is a required field
14069 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"`
14071 // URI of the grantee group.
14072 URI *string `type:"string"`
14075 // String returns the string representation
14076 func (s Grantee) String() string {
14077 return awsutil.Prettify(s)
14080 // GoString returns the string representation
14081 func (s Grantee) GoString() string {
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"}
14089 invalidParams.Add(request.NewErrParamRequired("Type"))
14092 if invalidParams.Len() > 0 {
14093 return invalidParams
14098 // SetDisplayName sets the DisplayName field's value.
14099 func (s *Grantee) SetDisplayName(v string) *Grantee {
14104 // SetEmailAddress sets the EmailAddress field's value.
14105 func (s *Grantee) SetEmailAddress(v string) *Grantee {
14106 s.EmailAddress = &v
14110 // SetID sets the ID field's value.
14111 func (s *Grantee) SetID(v string) *Grantee {
14116 // SetType sets the Type field's value.
14117 func (s *Grantee) SetType(v string) *Grantee {
14122 // SetURI sets the URI field's value.
14123 func (s *Grantee) SetURI(v string) *Grantee {
14128 type HeadBucketInput struct {
14129 _ struct{} `type:"structure"`
14131 // Bucket is a required field
14132 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14135 // String returns the string representation
14136 func (s HeadBucketInput) String() string {
14137 return awsutil.Prettify(s)
14140 // GoString returns the string representation
14141 func (s HeadBucketInput) GoString() string {
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"))
14151 if s.Bucket != nil && len(*s.Bucket) < 1 {
14152 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14155 if invalidParams.Len() > 0 {
14156 return invalidParams
14161 // SetBucket sets the Bucket field's value.
14162 func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
14167 func (s *HeadBucketInput) getBucket() (v string) {
14168 if s.Bucket == nil {
14174 type HeadBucketOutput struct {
14175 _ struct{} `type:"structure"`
14178 // String returns the string representation
14179 func (s HeadBucketOutput) String() string {
14180 return awsutil.Prettify(s)
14183 // GoString returns the string representation
14184 func (s HeadBucketOutput) GoString() string {
14188 type HeadObjectInput struct {
14189 _ struct{} `type:"structure"`
14191 // Bucket is a required field
14192 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
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"`
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"`
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"`
14210 // Key is a required field
14211 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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
14217 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
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"`
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"`
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"`
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
14237 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
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"`
14244 // VersionId used to reference a specific version of the object.
14245 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
14248 // String returns the string representation
14249 func (s HeadObjectInput) String() string {
14250 return awsutil.Prettify(s)
14253 // GoString returns the string representation
14254 func (s HeadObjectInput) GoString() string {
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"))
14264 if s.Bucket != nil && len(*s.Bucket) < 1 {
14265 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14268 invalidParams.Add(request.NewErrParamRequired("Key"))
14270 if s.Key != nil && len(*s.Key) < 1 {
14271 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14274 if invalidParams.Len() > 0 {
14275 return invalidParams
14280 // SetBucket sets the Bucket field's value.
14281 func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
14286 func (s *HeadObjectInput) getBucket() (v string) {
14287 if s.Bucket == nil {
14293 // SetIfMatch sets the IfMatch field's value.
14294 func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
14299 // SetIfModifiedSince sets the IfModifiedSince field's value.
14300 func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput {
14301 s.IfModifiedSince = &v
14305 // SetIfNoneMatch sets the IfNoneMatch field's value.
14306 func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput {
14311 // SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
14312 func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput {
14313 s.IfUnmodifiedSince = &v
14317 // SetKey sets the Key field's value.
14318 func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput {
14323 // SetPartNumber sets the PartNumber field's value.
14324 func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput {
14329 // SetRange sets the Range field's value.
14330 func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput {
14335 // SetRequestPayer sets the RequestPayer field's value.
14336 func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput {
14337 s.RequestPayer = &v
14341 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14342 func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput {
14343 s.SSECustomerAlgorithm = &v
14347 // SetSSECustomerKey sets the SSECustomerKey field's value.
14348 func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
14349 s.SSECustomerKey = &v
14353 func (s *HeadObjectInput) getSSECustomerKey() (v string) {
14354 if s.SSECustomerKey == nil {
14357 return *s.SSECustomerKey
14360 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14361 func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
14362 s.SSECustomerKeyMD5 = &v
14366 // SetVersionId sets the VersionId field's value.
14367 func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
14372 type HeadObjectOutput struct {
14373 _ struct{} `type:"structure"`
14375 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
14377 // Specifies caching behavior along the request/reply chain.
14378 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
14380 // Specifies presentational information for the object.
14381 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
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"`
14388 // The language the content is in.
14389 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
14391 // Size of the body in bytes.
14392 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
14394 // A standard MIME type describing the format of the object data.
14395 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
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"`
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"`
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
14409 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
14411 // The date and time at which the object is no longer cacheable.
14412 Expires *string `location:"header" locationName:"Expires" type:"string"`
14414 // Last modified date of the object
14415 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
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"`
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"`
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"`
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"`
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"`
14435 // The count of parts this object has.
14436 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
14438 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
14440 // If present, indicates that the requester was successfully charged for the
14442 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
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"`
14448 // If server-side encryption with a customer-provided encryption key was requested,
14449 // the response will include this header confirming the encryption algorithm
14451 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
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"`
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"`
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"`
14466 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
14468 // Version of the object.
14469 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
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"`
14477 // String returns the string representation
14478 func (s HeadObjectOutput) String() string {
14479 return awsutil.Prettify(s)
14482 // GoString returns the string representation
14483 func (s HeadObjectOutput) GoString() string {
14487 // SetAcceptRanges sets the AcceptRanges field's value.
14488 func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
14489 s.AcceptRanges = &v
14493 // SetCacheControl sets the CacheControl field's value.
14494 func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
14495 s.CacheControl = &v
14499 // SetContentDisposition sets the ContentDisposition field's value.
14500 func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
14501 s.ContentDisposition = &v
14505 // SetContentEncoding sets the ContentEncoding field's value.
14506 func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput {
14507 s.ContentEncoding = &v
14511 // SetContentLanguage sets the ContentLanguage field's value.
14512 func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput {
14513 s.ContentLanguage = &v
14517 // SetContentLength sets the ContentLength field's value.
14518 func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput {
14519 s.ContentLength = &v
14523 // SetContentType sets the ContentType field's value.
14524 func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput {
14529 // SetDeleteMarker sets the DeleteMarker field's value.
14530 func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput {
14531 s.DeleteMarker = &v
14535 // SetETag sets the ETag field's value.
14536 func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput {
14541 // SetExpiration sets the Expiration field's value.
14542 func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput {
14547 // SetExpires sets the Expires field's value.
14548 func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput {
14553 // SetLastModified sets the LastModified field's value.
14554 func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput {
14555 s.LastModified = &v
14559 // SetMetadata sets the Metadata field's value.
14560 func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput {
14565 // SetMissingMeta sets the MissingMeta field's value.
14566 func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput {
14571 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
14572 func (s *HeadObjectOutput) SetObjectLockLegalHoldStatus(v string) *HeadObjectOutput {
14573 s.ObjectLockLegalHoldStatus = &v
14577 // SetObjectLockMode sets the ObjectLockMode field's value.
14578 func (s *HeadObjectOutput) SetObjectLockMode(v string) *HeadObjectOutput {
14579 s.ObjectLockMode = &v
14583 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
14584 func (s *HeadObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *HeadObjectOutput {
14585 s.ObjectLockRetainUntilDate = &v
14589 // SetPartsCount sets the PartsCount field's value.
14590 func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput {
14595 // SetReplicationStatus sets the ReplicationStatus field's value.
14596 func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput {
14597 s.ReplicationStatus = &v
14601 // SetRequestCharged sets the RequestCharged field's value.
14602 func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput {
14603 s.RequestCharged = &v
14607 // SetRestore sets the Restore field's value.
14608 func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput {
14613 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14614 func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput {
14615 s.SSECustomerAlgorithm = &v
14619 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14620 func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput {
14621 s.SSECustomerKeyMD5 = &v
14625 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
14626 func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput {
14631 // SetServerSideEncryption sets the ServerSideEncryption field's value.
14632 func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput {
14633 s.ServerSideEncryption = &v
14637 // SetStorageClass sets the StorageClass field's value.
14638 func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput {
14639 s.StorageClass = &v
14643 // SetVersionId sets the VersionId field's value.
14644 func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput {
14649 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
14650 func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput {
14651 s.WebsiteRedirectLocation = &v
14655 type IndexDocument struct {
14656 _ struct{} `type:"structure"`
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.
14663 // Suffix is a required field
14664 Suffix *string `type:"string" required:"true"`
14667 // String returns the string representation
14668 func (s IndexDocument) String() string {
14669 return awsutil.Prettify(s)
14672 // GoString returns the string representation
14673 func (s IndexDocument) GoString() string {
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"))
14684 if invalidParams.Len() > 0 {
14685 return invalidParams
14690 // SetSuffix sets the Suffix field's value.
14691 func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
14696 type Initiator struct {
14697 _ struct{} `type:"structure"`
14699 // Name of the Principal.
14700 DisplayName *string `type:"string"`
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"`
14707 // String returns the string representation
14708 func (s Initiator) String() string {
14709 return awsutil.Prettify(s)
14712 // GoString returns the string representation
14713 func (s Initiator) GoString() string {
14717 // SetDisplayName sets the DisplayName field's value.
14718 func (s *Initiator) SetDisplayName(v string) *Initiator {
14723 // SetID sets the ID field's value.
14724 func (s *Initiator) SetID(v string) *Initiator {
14729 // Describes the serialization format of the object.
14730 type InputSerialization struct {
14731 _ struct{} `type:"structure"`
14733 // Describes the serialization of a CSV-encoded object.
14734 CSV *CSVInput `type:"structure"`
14736 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default
14738 CompressionType *string `type:"string" enum:"CompressionType"`
14740 // Specifies JSON as object's input serialization format.
14741 JSON *JSONInput `type:"structure"`
14743 // Specifies Parquet as object's input serialization format.
14744 Parquet *ParquetInput `type:"structure"`
14747 // String returns the string representation
14748 func (s InputSerialization) String() string {
14749 return awsutil.Prettify(s)
14752 // GoString returns the string representation
14753 func (s InputSerialization) GoString() string {
14757 // SetCSV sets the CSV field's value.
14758 func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
14763 // SetCompressionType sets the CompressionType field's value.
14764 func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
14765 s.CompressionType = &v
14769 // SetJSON sets the JSON field's value.
14770 func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
14775 // SetParquet sets the Parquet field's value.
14776 func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization {
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"`
14787 // Contains information about where to publish the inventory results.
14789 // Destination is a required field
14790 Destination *InventoryDestination `type:"structure" required:"true"`
14792 // Specifies an inventory filter. The inventory only includes objects that meet
14793 // the filter's criteria.
14794 Filter *InventoryFilter `type:"structure"`
14796 // The ID used to identify the inventory configuration.
14798 // Id is a required field
14799 Id *string `type:"string" required:"true"`
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.
14806 // IncludedObjectVersions is a required field
14807 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
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.
14812 // IsEnabled is a required field
14813 IsEnabled *bool `type:"boolean" required:"true"`
14815 // Contains the optional fields that are included in the inventory results.
14816 OptionalFields []*string `locationNameList:"Field" type:"list"`
14818 // Specifies the schedule for generating inventory results.
14820 // Schedule is a required field
14821 Schedule *InventorySchedule `type:"structure" required:"true"`
14824 // String returns the string representation
14825 func (s InventoryConfiguration) String() string {
14826 return awsutil.Prettify(s)
14829 // GoString returns the string representation
14830 func (s InventoryConfiguration) GoString() string {
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"))
14841 invalidParams.Add(request.NewErrParamRequired("Id"))
14843 if s.IncludedObjectVersions == nil {
14844 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions"))
14846 if s.IsEnabled == nil {
14847 invalidParams.Add(request.NewErrParamRequired("IsEnabled"))
14849 if s.Schedule == nil {
14850 invalidParams.Add(request.NewErrParamRequired("Schedule"))
14852 if s.Destination != nil {
14853 if err := s.Destination.Validate(); err != nil {
14854 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
14857 if s.Filter != nil {
14858 if err := s.Filter.Validate(); err != nil {
14859 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
14862 if s.Schedule != nil {
14863 if err := s.Schedule.Validate(); err != nil {
14864 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
14868 if invalidParams.Len() > 0 {
14869 return invalidParams
14874 // SetDestination sets the Destination field's value.
14875 func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration {
14880 // SetFilter sets the Filter field's value.
14881 func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration {
14886 // SetId sets the Id field's value.
14887 func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration {
14892 // SetIncludedObjectVersions sets the IncludedObjectVersions field's value.
14893 func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration {
14894 s.IncludedObjectVersions = &v
14898 // SetIsEnabled sets the IsEnabled field's value.
14899 func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration {
14904 // SetOptionalFields sets the OptionalFields field's value.
14905 func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration {
14906 s.OptionalFields = v
14910 // SetSchedule sets the Schedule field's value.
14911 func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration {
14916 type InventoryDestination struct {
14917 _ struct{} `type:"structure"`
14919 // Contains the bucket name, file format, bucket owner (optional), and prefix
14920 // (optional) where inventory results are published.
14922 // S3BucketDestination is a required field
14923 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"`
14926 // String returns the string representation
14927 func (s InventoryDestination) String() string {
14928 return awsutil.Prettify(s)
14931 // GoString returns the string representation
14932 func (s InventoryDestination) GoString() string {
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"))
14942 if s.S3BucketDestination != nil {
14943 if err := s.S3BucketDestination.Validate(); err != nil {
14944 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
14948 if invalidParams.Len() > 0 {
14949 return invalidParams
14954 // SetS3BucketDestination sets the S3BucketDestination field's value.
14955 func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination {
14956 s.S3BucketDestination = v
14960 // Contains the type of server-side encryption used to encrypt the inventory
14962 type InventoryEncryption struct {
14963 _ struct{} `type:"structure"`
14965 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
14966 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
14968 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
14969 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
14972 // String returns the string representation
14973 func (s InventoryEncryption) String() string {
14974 return awsutil.Prettify(s)
14977 // GoString returns the string representation
14978 func (s InventoryEncryption) GoString() string {
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))
14991 if invalidParams.Len() > 0 {
14992 return invalidParams
14997 // SetSSEKMS sets the SSEKMS field's value.
14998 func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
15003 // SetSSES3 sets the SSES3 field's value.
15004 func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
15009 type InventoryFilter struct {
15010 _ struct{} `type:"structure"`
15012 // The prefix that an object must have to be included in the inventory results.
15014 // Prefix is a required field
15015 Prefix *string `type:"string" required:"true"`
15018 // String returns the string representation
15019 func (s InventoryFilter) String() string {
15020 return awsutil.Prettify(s)
15023 // GoString returns the string representation
15024 func (s InventoryFilter) GoString() string {
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"))
15035 if invalidParams.Len() > 0 {
15036 return invalidParams
15041 // SetPrefix sets the Prefix field's value.
15042 func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
15047 type InventoryS3BucketDestination struct {
15048 _ struct{} `type:"structure"`
15050 // The ID of the account that owns the destination bucket.
15051 AccountId *string `type:"string"`
15053 // The Amazon resource name (ARN) of the bucket where inventory results will
15056 // Bucket is a required field
15057 Bucket *string `type:"string" required:"true"`
15059 // Contains the type of server-side encryption used to encrypt the inventory
15061 Encryption *InventoryEncryption `type:"structure"`
15063 // Specifies the output format of the inventory results.
15065 // Format is a required field
15066 Format *string `type:"string" required:"true" enum:"InventoryFormat"`
15068 // The prefix that is prepended to all inventory results.
15069 Prefix *string `type:"string"`
15072 // String returns the string representation
15073 func (s InventoryS3BucketDestination) String() string {
15074 return awsutil.Prettify(s)
15077 // GoString returns the string representation
15078 func (s InventoryS3BucketDestination) GoString() string {
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"))
15088 if s.Format == nil {
15089 invalidParams.Add(request.NewErrParamRequired("Format"))
15091 if s.Encryption != nil {
15092 if err := s.Encryption.Validate(); err != nil {
15093 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
15097 if invalidParams.Len() > 0 {
15098 return invalidParams
15103 // SetAccountId sets the AccountId field's value.
15104 func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination {
15109 // SetBucket sets the Bucket field's value.
15110 func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination {
15115 func (s *InventoryS3BucketDestination) getBucket() (v string) {
15116 if s.Bucket == nil {
15122 // SetEncryption sets the Encryption field's value.
15123 func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
15128 // SetFormat sets the Format field's value.
15129 func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
15134 // SetPrefix sets the Prefix field's value.
15135 func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination {
15140 type InventorySchedule struct {
15141 _ struct{} `type:"structure"`
15143 // Specifies how frequently inventory results are produced.
15145 // Frequency is a required field
15146 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"`
15149 // String returns the string representation
15150 func (s InventorySchedule) String() string {
15151 return awsutil.Prettify(s)
15154 // GoString returns the string representation
15155 func (s InventorySchedule) GoString() string {
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"))
15166 if invalidParams.Len() > 0 {
15167 return invalidParams
15172 // SetFrequency sets the Frequency field's value.
15173 func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
15178 type JSONInput struct {
15179 _ struct{} `type:"structure"`
15181 // The type of JSON. Valid values: Document, Lines.
15182 Type *string `type:"string" enum:"JSONType"`
15185 // String returns the string representation
15186 func (s JSONInput) String() string {
15187 return awsutil.Prettify(s)
15190 // GoString returns the string representation
15191 func (s JSONInput) GoString() string {
15195 // SetType sets the Type field's value.
15196 func (s *JSONInput) SetType(v string) *JSONInput {
15201 type JSONOutput struct {
15202 _ struct{} `type:"structure"`
15204 // The value used to separate individual records in the output.
15205 RecordDelimiter *string `type:"string"`
15208 // String returns the string representation
15209 func (s JSONOutput) String() string {
15210 return awsutil.Prettify(s)
15213 // GoString returns the string representation
15214 func (s JSONOutput) GoString() string {
15218 // SetRecordDelimiter sets the RecordDelimiter field's value.
15219 func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
15220 s.RecordDelimiter = &v
15224 // A container for object key name prefix and suffix filtering rules.
15225 type KeyFilter struct {
15226 _ struct{} `type:"structure"`
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"`
15233 // String returns the string representation
15234 func (s KeyFilter) String() string {
15235 return awsutil.Prettify(s)
15238 // GoString returns the string representation
15239 func (s KeyFilter) GoString() string {
15243 // SetFilterRules sets the FilterRules field's value.
15244 func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
15249 // A container for specifying the configuration for AWS Lambda notifications.
15250 type LambdaFunctionConfiguration struct {
15251 _ struct{} `type:"structure"`
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.
15257 // Events is a required field
15258 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
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"`
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"`
15269 // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3
15270 // invokes when the specified event type occurs.
15272 // LambdaFunctionArn is a required field
15273 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
15276 // String returns the string representation
15277 func (s LambdaFunctionConfiguration) String() string {
15278 return awsutil.Prettify(s)
15281 // GoString returns the string representation
15282 func (s LambdaFunctionConfiguration) GoString() string {
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"))
15292 if s.LambdaFunctionArn == nil {
15293 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
15296 if invalidParams.Len() > 0 {
15297 return invalidParams
15302 // SetEvents sets the Events field's value.
15303 func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration {
15308 // SetFilter sets the Filter field's value.
15309 func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration {
15314 // SetId sets the Id field's value.
15315 func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration {
15320 // SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
15321 func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration {
15322 s.LambdaFunctionArn = &v
15326 type LifecycleConfiguration struct {
15327 _ struct{} `type:"structure"`
15329 // Rules is a required field
15330 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
15333 // String returns the string representation
15334 func (s LifecycleConfiguration) String() string {
15335 return awsutil.Prettify(s)
15338 // GoString returns the string representation
15339 func (s LifecycleConfiguration) GoString() string {
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"))
15349 if s.Rules != nil {
15350 for i, v := range s.Rules {
15354 if err := v.Validate(); err != nil {
15355 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
15360 if invalidParams.Len() > 0 {
15361 return invalidParams
15366 // SetRules sets the Rules field's value.
15367 func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
15372 type LifecycleExpiration struct {
15373 _ struct{} `type:"structure"`
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"`
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"`
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"`
15390 // String returns the string representation
15391 func (s LifecycleExpiration) String() string {
15392 return awsutil.Prettify(s)
15395 // GoString returns the string representation
15396 func (s LifecycleExpiration) GoString() string {
15400 // SetDate sets the Date field's value.
15401 func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration {
15406 // SetDays sets the Days field's value.
15407 func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration {
15412 // SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
15413 func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration {
15414 s.ExpiredObjectDeleteMarker = &v
15418 type LifecycleRule struct {
15419 _ struct{} `type:"structure"`
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"`
15428 Expiration *LifecycleExpiration `type:"structure"`
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"`
15434 // Unique identifier for the rule. The value cannot be longer than 255 characters.
15435 ID *string `type:"string"`
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"`
15444 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
15446 // Prefix identifying one or more objects to which the rule applies. This is
15447 // No longer used; use Filter instead.
15449 // Deprecated: Prefix has been deprecated
15450 Prefix *string `deprecated:"true" type:"string"`
15452 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
15453 // is not currently being applied.
15455 // Status is a required field
15456 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
15458 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`
15461 // String returns the string representation
15462 func (s LifecycleRule) String() string {
15463 return awsutil.Prettify(s)
15466 // GoString returns the string representation
15467 func (s LifecycleRule) GoString() string {
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"))
15477 if s.Filter != nil {
15478 if err := s.Filter.Validate(); err != nil {
15479 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
15483 if invalidParams.Len() > 0 {
15484 return invalidParams
15489 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
15490 func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule {
15491 s.AbortIncompleteMultipartUpload = v
15495 // SetExpiration sets the Expiration field's value.
15496 func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule {
15501 // SetFilter sets the Filter field's value.
15502 func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule {
15507 // SetID sets the ID field's value.
15508 func (s *LifecycleRule) SetID(v string) *LifecycleRule {
15513 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
15514 func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule {
15515 s.NoncurrentVersionExpiration = v
15519 // SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
15520 func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule {
15521 s.NoncurrentVersionTransitions = v
15525 // SetPrefix sets the Prefix field's value.
15526 func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule {
15531 // SetStatus sets the Status field's value.
15532 func (s *LifecycleRule) SetStatus(v string) *LifecycleRule {
15537 // SetTransitions sets the Transitions field's value.
15538 func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
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"`
15549 Prefix *string `type:"string"`
15551 // All of these tags must exist in the object's tag set in order for the rule
15553 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
15556 // String returns the string representation
15557 func (s LifecycleRuleAndOperator) String() string {
15558 return awsutil.Prettify(s)
15561 // GoString returns the string representation
15562 func (s LifecycleRuleAndOperator) GoString() string {
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"}
15570 for i, v := range s.Tags {
15574 if err := v.Validate(); err != nil {
15575 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15580 if invalidParams.Len() > 0 {
15581 return invalidParams
15586 // SetPrefix sets the Prefix field's value.
15587 func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
15592 // SetTags sets the Tags field's value.
15593 func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
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"`
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"`
15608 // Prefix identifying one or more objects to which the rule applies.
15609 Prefix *string `type:"string"`
15611 // This tag must exist in the object's tag set in order for the rule to apply.
15612 Tag *Tag `type:"structure"`
15615 // String returns the string representation
15616 func (s LifecycleRuleFilter) String() string {
15617 return awsutil.Prettify(s)
15620 // GoString returns the string representation
15621 func (s LifecycleRuleFilter) GoString() string {
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"}
15629 if err := s.And.Validate(); err != nil {
15630 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
15634 if err := s.Tag.Validate(); err != nil {
15635 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
15639 if invalidParams.Len() > 0 {
15640 return invalidParams
15645 // SetAnd sets the And field's value.
15646 func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter {
15651 // SetPrefix sets the Prefix field's value.
15652 func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
15657 // SetTag sets the Tag field's value.
15658 func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
15663 type ListBucketAnalyticsConfigurationsInput struct {
15664 _ struct{} `type:"structure"`
15666 // The name of the bucket from which analytics configurations are retrieved.
15668 // Bucket is a required field
15669 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15671 // The ContinuationToken that represents a placeholder from where this request
15673 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15676 // String returns the string representation
15677 func (s ListBucketAnalyticsConfigurationsInput) String() string {
15678 return awsutil.Prettify(s)
15681 // GoString returns the string representation
15682 func (s ListBucketAnalyticsConfigurationsInput) GoString() string {
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"))
15692 if s.Bucket != nil && len(*s.Bucket) < 1 {
15693 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15696 if invalidParams.Len() > 0 {
15697 return invalidParams
15702 // SetBucket sets the Bucket field's value.
15703 func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput {
15708 func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
15709 if s.Bucket == nil {
15715 // SetContinuationToken sets the ContinuationToken field's value.
15716 func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
15717 s.ContinuationToken = &v
15721 type ListBucketAnalyticsConfigurationsOutput struct {
15722 _ struct{} `type:"structure"`
15724 // The list of analytics configurations for a bucket.
15725 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"`
15727 // The ContinuationToken that represents where this request began.
15728 ContinuationToken *string `type:"string"`
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"`
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"`
15741 // String returns the string representation
15742 func (s ListBucketAnalyticsConfigurationsOutput) String() string {
15743 return awsutil.Prettify(s)
15746 // GoString returns the string representation
15747 func (s ListBucketAnalyticsConfigurationsOutput) GoString() string {
15751 // SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value.
15752 func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput {
15753 s.AnalyticsConfigurationList = v
15757 // SetContinuationToken sets the ContinuationToken field's value.
15758 func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15759 s.ContinuationToken = &v
15763 // SetIsTruncated sets the IsTruncated field's value.
15764 func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput {
15769 // SetNextContinuationToken sets the NextContinuationToken field's value.
15770 func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15771 s.NextContinuationToken = &v
15775 type ListBucketInventoryConfigurationsInput struct {
15776 _ struct{} `type:"structure"`
15778 // The name of the bucket containing the inventory configurations to retrieve.
15780 // Bucket is a required field
15781 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
15790 // String returns the string representation
15791 func (s ListBucketInventoryConfigurationsInput) String() string {
15792 return awsutil.Prettify(s)
15795 // GoString returns the string representation
15796 func (s ListBucketInventoryConfigurationsInput) GoString() string {
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"))
15806 if s.Bucket != nil && len(*s.Bucket) < 1 {
15807 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15810 if invalidParams.Len() > 0 {
15811 return invalidParams
15816 // SetBucket sets the Bucket field's value.
15817 func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput {
15822 func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
15823 if s.Bucket == nil {
15829 // SetContinuationToken sets the ContinuationToken field's value.
15830 func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
15831 s.ContinuationToken = &v
15835 type ListBucketInventoryConfigurationsOutput struct {
15836 _ struct{} `type:"structure"`
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"`
15842 // The list of inventory configurations for a bucket.
15843 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`
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"`
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"`
15855 // String returns the string representation
15856 func (s ListBucketInventoryConfigurationsOutput) String() string {
15857 return awsutil.Prettify(s)
15860 // GoString returns the string representation
15861 func (s ListBucketInventoryConfigurationsOutput) GoString() string {
15865 // SetContinuationToken sets the ContinuationToken field's value.
15866 func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15867 s.ContinuationToken = &v
15871 // SetInventoryConfigurationList sets the InventoryConfigurationList field's value.
15872 func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput {
15873 s.InventoryConfigurationList = v
15877 // SetIsTruncated sets the IsTruncated field's value.
15878 func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput {
15883 // SetNextContinuationToken sets the NextContinuationToken field's value.
15884 func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15885 s.NextContinuationToken = &v
15889 type ListBucketMetricsConfigurationsInput struct {
15890 _ struct{} `type:"structure"`
15892 // The name of the bucket containing the metrics configurations to retrieve.
15894 // Bucket is a required field
15895 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
15904 // String returns the string representation
15905 func (s ListBucketMetricsConfigurationsInput) String() string {
15906 return awsutil.Prettify(s)
15909 // GoString returns the string representation
15910 func (s ListBucketMetricsConfigurationsInput) GoString() string {
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"))
15920 if s.Bucket != nil && len(*s.Bucket) < 1 {
15921 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15924 if invalidParams.Len() > 0 {
15925 return invalidParams
15930 // SetBucket sets the Bucket field's value.
15931 func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput {
15936 func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
15937 if s.Bucket == nil {
15943 // SetContinuationToken sets the ContinuationToken field's value.
15944 func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
15945 s.ContinuationToken = &v
15949 type ListBucketMetricsConfigurationsOutput struct {
15950 _ struct{} `type:"structure"`
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"`
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"`
15961 // The list of metrics configurations for a bucket.
15962 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"`
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"`
15971 // String returns the string representation
15972 func (s ListBucketMetricsConfigurationsOutput) String() string {
15973 return awsutil.Prettify(s)
15976 // GoString returns the string representation
15977 func (s ListBucketMetricsConfigurationsOutput) GoString() string {
15981 // SetContinuationToken sets the ContinuationToken field's value.
15982 func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
15983 s.ContinuationToken = &v
15987 // SetIsTruncated sets the IsTruncated field's value.
15988 func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput {
15993 // SetMetricsConfigurationList sets the MetricsConfigurationList field's value.
15994 func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput {
15995 s.MetricsConfigurationList = v
15999 // SetNextContinuationToken sets the NextContinuationToken field's value.
16000 func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
16001 s.NextContinuationToken = &v
16005 type ListBucketsInput struct {
16006 _ struct{} `type:"structure"`
16009 // String returns the string representation
16010 func (s ListBucketsInput) String() string {
16011 return awsutil.Prettify(s)
16014 // GoString returns the string representation
16015 func (s ListBucketsInput) GoString() string {
16019 type ListBucketsOutput struct {
16020 _ struct{} `type:"structure"`
16022 Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
16024 Owner *Owner `type:"structure"`
16027 // String returns the string representation
16028 func (s ListBucketsOutput) String() string {
16029 return awsutil.Prettify(s)
16032 // GoString returns the string representation
16033 func (s ListBucketsOutput) GoString() string {
16037 // SetBuckets sets the Buckets field's value.
16038 func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput {
16043 // SetOwner sets the Owner field's value.
16044 func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
16049 type ListMultipartUploadsInput struct {
16050 _ struct{} `type:"structure"`
16052 // Bucket is a required field
16053 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16055 // Character you use to group keys.
16056 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
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"`
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"`
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"`
16075 // Lists in-progress uploads only for those keys that begin with the specified
16077 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
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
16082 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`
16085 // String returns the string representation
16086 func (s ListMultipartUploadsInput) String() string {
16087 return awsutil.Prettify(s)
16090 // GoString returns the string representation
16091 func (s ListMultipartUploadsInput) GoString() string {
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"))
16101 if s.Bucket != nil && len(*s.Bucket) < 1 {
16102 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16105 if invalidParams.Len() > 0 {
16106 return invalidParams
16111 // SetBucket sets the Bucket field's value.
16112 func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput {
16117 func (s *ListMultipartUploadsInput) getBucket() (v string) {
16118 if s.Bucket == nil {
16124 // SetDelimiter sets the Delimiter field's value.
16125 func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
16130 // SetEncodingType sets the EncodingType field's value.
16131 func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput {
16132 s.EncodingType = &v
16136 // SetKeyMarker sets the KeyMarker field's value.
16137 func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput {
16142 // SetMaxUploads sets the MaxUploads field's value.
16143 func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput {
16148 // SetPrefix sets the Prefix field's value.
16149 func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput {
16154 // SetUploadIdMarker sets the UploadIdMarker field's value.
16155 func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput {
16156 s.UploadIdMarker = &v
16160 type ListMultipartUploadsOutput struct {
16161 _ struct{} `type:"structure"`
16163 // Name of the bucket to which the multipart upload was initiated.
16164 Bucket *string `type:"string"`
16166 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16168 Delimiter *string `type:"string"`
16170 // Encoding type used by Amazon S3 to encode object keys in the response.
16171 EncodingType *string `type:"string" enum:"EncodingType"`
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
16177 IsTruncated *bool `type:"boolean"`
16179 // The key at or after which the listing began.
16180 KeyMarker *string `type:"string"`
16182 // Maximum number of multipart uploads that could have been included in the
16184 MaxUploads *int64 `type:"integer"`
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"`
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"`
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"`
16198 // Upload ID after which listing began.
16199 UploadIdMarker *string `type:"string"`
16201 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`
16204 // String returns the string representation
16205 func (s ListMultipartUploadsOutput) String() string {
16206 return awsutil.Prettify(s)
16209 // GoString returns the string representation
16210 func (s ListMultipartUploadsOutput) GoString() string {
16214 // SetBucket sets the Bucket field's value.
16215 func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput {
16220 func (s *ListMultipartUploadsOutput) getBucket() (v string) {
16221 if s.Bucket == nil {
16227 // SetCommonPrefixes sets the CommonPrefixes field's value.
16228 func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
16229 s.CommonPrefixes = v
16233 // SetDelimiter sets the Delimiter field's value.
16234 func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput {
16239 // SetEncodingType sets the EncodingType field's value.
16240 func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput {
16241 s.EncodingType = &v
16245 // SetIsTruncated sets the IsTruncated field's value.
16246 func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput {
16251 // SetKeyMarker sets the KeyMarker field's value.
16252 func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput {
16257 // SetMaxUploads sets the MaxUploads field's value.
16258 func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput {
16263 // SetNextKeyMarker sets the NextKeyMarker field's value.
16264 func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput {
16265 s.NextKeyMarker = &v
16269 // SetNextUploadIdMarker sets the NextUploadIdMarker field's value.
16270 func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput {
16271 s.NextUploadIdMarker = &v
16275 // SetPrefix sets the Prefix field's value.
16276 func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput {
16281 // SetUploadIdMarker sets the UploadIdMarker field's value.
16282 func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput {
16283 s.UploadIdMarker = &v
16287 // SetUploads sets the Uploads field's value.
16288 func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput {
16293 type ListObjectVersionsInput struct {
16294 _ struct{} `type:"structure"`
16296 // Bucket is a required field
16297 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16299 // A delimiter is a character you use to group keys.
16300 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
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"`
16310 // Specifies the key to start with when listing objects in a bucket.
16311 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
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"`
16317 // Limits the response to keys that begin with the specified prefix.
16318 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16320 // Specifies the object version you want to start listing from.
16321 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`
16324 // String returns the string representation
16325 func (s ListObjectVersionsInput) String() string {
16326 return awsutil.Prettify(s)
16329 // GoString returns the string representation
16330 func (s ListObjectVersionsInput) GoString() string {
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"))
16340 if s.Bucket != nil && len(*s.Bucket) < 1 {
16341 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16344 if invalidParams.Len() > 0 {
16345 return invalidParams
16350 // SetBucket sets the Bucket field's value.
16351 func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
16356 func (s *ListObjectVersionsInput) getBucket() (v string) {
16357 if s.Bucket == nil {
16363 // SetDelimiter sets the Delimiter field's value.
16364 func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
16369 // SetEncodingType sets the EncodingType field's value.
16370 func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput {
16371 s.EncodingType = &v
16375 // SetKeyMarker sets the KeyMarker field's value.
16376 func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput {
16381 // SetMaxKeys sets the MaxKeys field's value.
16382 func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput {
16387 // SetPrefix sets the Prefix field's value.
16388 func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput {
16393 // SetVersionIdMarker sets the VersionIdMarker field's value.
16394 func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput {
16395 s.VersionIdMarker = &v
16399 type ListObjectVersionsOutput struct {
16400 _ struct{} `type:"structure"`
16402 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16404 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
16406 Delimiter *string `type:"string"`
16408 // Encoding type used by Amazon S3 to encode object keys in the response.
16409 EncodingType *string `type:"string" enum:"EncodingType"`
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"`
16418 // Marks the last Key returned in a truncated response.
16419 KeyMarker *string `type:"string"`
16421 MaxKeys *int64 `type:"integer"`
16423 Name *string `type:"string"`
16425 // Use this value for the key marker request parameter in a subsequent request.
16426 NextKeyMarker *string `type:"string"`
16428 // Use this value for the next version id marker parameter in a subsequent request.
16429 NextVersionIdMarker *string `type:"string"`
16431 Prefix *string `type:"string"`
16433 VersionIdMarker *string `type:"string"`
16435 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`
16438 // String returns the string representation
16439 func (s ListObjectVersionsOutput) String() string {
16440 return awsutil.Prettify(s)
16443 // GoString returns the string representation
16444 func (s ListObjectVersionsOutput) GoString() string {
16448 // SetCommonPrefixes sets the CommonPrefixes field's value.
16449 func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput {
16450 s.CommonPrefixes = v
16454 // SetDeleteMarkers sets the DeleteMarkers field's value.
16455 func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput {
16456 s.DeleteMarkers = v
16460 // SetDelimiter sets the Delimiter field's value.
16461 func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput {
16466 // SetEncodingType sets the EncodingType field's value.
16467 func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput {
16468 s.EncodingType = &v
16472 // SetIsTruncated sets the IsTruncated field's value.
16473 func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput {
16478 // SetKeyMarker sets the KeyMarker field's value.
16479 func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput {
16484 // SetMaxKeys sets the MaxKeys field's value.
16485 func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput {
16490 // SetName sets the Name field's value.
16491 func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput {
16496 // SetNextKeyMarker sets the NextKeyMarker field's value.
16497 func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput {
16498 s.NextKeyMarker = &v
16502 // SetNextVersionIdMarker sets the NextVersionIdMarker field's value.
16503 func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput {
16504 s.NextVersionIdMarker = &v
16508 // SetPrefix sets the Prefix field's value.
16509 func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput {
16514 // SetVersionIdMarker sets the VersionIdMarker field's value.
16515 func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput {
16516 s.VersionIdMarker = &v
16520 // SetVersions sets the Versions field's value.
16521 func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput {
16526 type ListObjectsInput struct {
16527 _ struct{} `type:"structure"`
16529 // Bucket is a required field
16530 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16532 // A delimiter is a character you use to group keys.
16533 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
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"`
16543 // Specifies the key to start with when listing objects in a bucket.
16544 Marker *string `location:"querystring" locationName:"marker" type:"string"`
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"`
16550 // Limits the response to keys that begin with the specified prefix.
16551 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
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
16556 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16559 // String returns the string representation
16560 func (s ListObjectsInput) String() string {
16561 return awsutil.Prettify(s)
16564 // GoString returns the string representation
16565 func (s ListObjectsInput) GoString() string {
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"))
16575 if s.Bucket != nil && len(*s.Bucket) < 1 {
16576 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16579 if invalidParams.Len() > 0 {
16580 return invalidParams
16585 // SetBucket sets the Bucket field's value.
16586 func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
16591 func (s *ListObjectsInput) getBucket() (v string) {
16592 if s.Bucket == nil {
16598 // SetDelimiter sets the Delimiter field's value.
16599 func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
16604 // SetEncodingType sets the EncodingType field's value.
16605 func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput {
16606 s.EncodingType = &v
16610 // SetMarker sets the Marker field's value.
16611 func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput {
16616 // SetMaxKeys sets the MaxKeys field's value.
16617 func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput {
16622 // SetPrefix sets the Prefix field's value.
16623 func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput {
16628 // SetRequestPayer sets the RequestPayer field's value.
16629 func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
16630 s.RequestPayer = &v
16634 type ListObjectsOutput struct {
16635 _ struct{} `type:"structure"`
16637 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16639 Contents []*Object `type:"list" flattened:"true"`
16641 Delimiter *string `type:"string"`
16643 // Encoding type used by Amazon S3 to encode object keys in the response.
16644 EncodingType *string `type:"string" enum:"EncodingType"`
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"`
16650 Marker *string `type:"string"`
16652 MaxKeys *int64 `type:"integer"`
16654 Name *string `type:"string"`
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"`
16665 Prefix *string `type:"string"`
16668 // String returns the string representation
16669 func (s ListObjectsOutput) String() string {
16670 return awsutil.Prettify(s)
16673 // GoString returns the string representation
16674 func (s ListObjectsOutput) GoString() string {
16678 // SetCommonPrefixes sets the CommonPrefixes field's value.
16679 func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput {
16680 s.CommonPrefixes = v
16684 // SetContents sets the Contents field's value.
16685 func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput {
16690 // SetDelimiter sets the Delimiter field's value.
16691 func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput {
16696 // SetEncodingType sets the EncodingType field's value.
16697 func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput {
16698 s.EncodingType = &v
16702 // SetIsTruncated sets the IsTruncated field's value.
16703 func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput {
16708 // SetMarker sets the Marker field's value.
16709 func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput {
16714 // SetMaxKeys sets the MaxKeys field's value.
16715 func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput {
16720 // SetName sets the Name field's value.
16721 func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput {
16726 // SetNextMarker sets the NextMarker field's value.
16727 func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput {
16732 // SetPrefix sets the Prefix field's value.
16733 func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
16738 type ListObjectsV2Input struct {
16739 _ struct{} `type:"structure"`
16741 // Name of the bucket to list.
16743 // Bucket is a required field
16744 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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
16749 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
16751 // A delimiter is a character you use to group keys.
16752 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
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"`
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
16760 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
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"`
16766 // Limits the response to keys that begin with the specified prefix.
16767 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
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"`
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"`
16779 // String returns the string representation
16780 func (s ListObjectsV2Input) String() string {
16781 return awsutil.Prettify(s)
16784 // GoString returns the string representation
16785 func (s ListObjectsV2Input) GoString() string {
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"))
16795 if s.Bucket != nil && len(*s.Bucket) < 1 {
16796 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16799 if invalidParams.Len() > 0 {
16800 return invalidParams
16805 // SetBucket sets the Bucket field's value.
16806 func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
16811 func (s *ListObjectsV2Input) getBucket() (v string) {
16812 if s.Bucket == nil {
16818 // SetContinuationToken sets the ContinuationToken field's value.
16819 func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
16820 s.ContinuationToken = &v
16824 // SetDelimiter sets the Delimiter field's value.
16825 func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input {
16830 // SetEncodingType sets the EncodingType field's value.
16831 func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input {
16832 s.EncodingType = &v
16836 // SetFetchOwner sets the FetchOwner field's value.
16837 func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input {
16842 // SetMaxKeys sets the MaxKeys field's value.
16843 func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input {
16848 // SetPrefix sets the Prefix field's value.
16849 func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input {
16854 // SetRequestPayer sets the RequestPayer field's value.
16855 func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input {
16856 s.RequestPayer = &v
16860 // SetStartAfter sets the StartAfter field's value.
16861 func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
16866 type ListObjectsV2Output struct {
16867 _ struct{} `type:"structure"`
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"`
16873 // Metadata about each object returned.
16874 Contents []*Object `type:"list" flattened:"true"`
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
16879 ContinuationToken *string `type:"string"`
16881 // A delimiter is a character you use to group keys.
16882 Delimiter *string `type:"string"`
16884 // Encoding type used by Amazon S3 to encode object keys in the response.
16885 EncodingType *string `type:"string" enum:"EncodingType"`
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"`
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"`
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"`
16900 // Name of the bucket to list.
16901 Name *string `type:"string"`
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"`
16909 // Limits the response to keys that begin with the specified prefix.
16910 Prefix *string `type:"string"`
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"`
16917 // String returns the string representation
16918 func (s ListObjectsV2Output) String() string {
16919 return awsutil.Prettify(s)
16922 // GoString returns the string representation
16923 func (s ListObjectsV2Output) GoString() string {
16927 // SetCommonPrefixes sets the CommonPrefixes field's value.
16928 func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output {
16929 s.CommonPrefixes = v
16933 // SetContents sets the Contents field's value.
16934 func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output {
16939 // SetContinuationToken sets the ContinuationToken field's value.
16940 func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output {
16941 s.ContinuationToken = &v
16945 // SetDelimiter sets the Delimiter field's value.
16946 func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output {
16951 // SetEncodingType sets the EncodingType field's value.
16952 func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output {
16953 s.EncodingType = &v
16957 // SetIsTruncated sets the IsTruncated field's value.
16958 func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output {
16963 // SetKeyCount sets the KeyCount field's value.
16964 func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output {
16969 // SetMaxKeys sets the MaxKeys field's value.
16970 func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output {
16975 // SetName sets the Name field's value.
16976 func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output {
16981 // SetNextContinuationToken sets the NextContinuationToken field's value.
16982 func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output {
16983 s.NextContinuationToken = &v
16987 // SetPrefix sets the Prefix field's value.
16988 func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output {
16993 // SetStartAfter sets the StartAfter field's value.
16994 func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
16999 type ListPartsInput struct {
17000 _ struct{} `type:"structure"`
17002 // Bucket is a required field
17003 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17005 // Key is a required field
17006 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
17008 // Sets the maximum number of parts to return.
17009 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`
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"`
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"`
17021 // Upload ID identifying the multipart upload whose parts are being listed.
17023 // UploadId is a required field
17024 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
17027 // String returns the string representation
17028 func (s ListPartsInput) String() string {
17029 return awsutil.Prettify(s)
17032 // GoString returns the string representation
17033 func (s ListPartsInput) GoString() string {
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"))
17043 if s.Bucket != nil && len(*s.Bucket) < 1 {
17044 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
17047 invalidParams.Add(request.NewErrParamRequired("Key"))
17049 if s.Key != nil && len(*s.Key) < 1 {
17050 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17052 if s.UploadId == nil {
17053 invalidParams.Add(request.NewErrParamRequired("UploadId"))
17056 if invalidParams.Len() > 0 {
17057 return invalidParams
17062 // SetBucket sets the Bucket field's value.
17063 func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
17068 func (s *ListPartsInput) getBucket() (v string) {
17069 if s.Bucket == nil {
17075 // SetKey sets the Key field's value.
17076 func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
17081 // SetMaxParts sets the MaxParts field's value.
17082 func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput {
17087 // SetPartNumberMarker sets the PartNumberMarker field's value.
17088 func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput {
17089 s.PartNumberMarker = &v
17093 // SetRequestPayer sets the RequestPayer field's value.
17094 func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
17095 s.RequestPayer = &v
17099 // SetUploadId sets the UploadId field's value.
17100 func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
17105 type ListPartsOutput struct {
17106 _ struct{} `type:"structure"`
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"`
17111 // Id of the lifecycle rule that makes a multipart upload eligible for abort
17113 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
17115 // Name of the bucket to which the multipart upload was initiated.
17116 Bucket *string `type:"string"`
17118 // Identifies who initiated the multipart upload.
17119 Initiator *Initiator `type:"structure"`
17121 // Indicates whether the returned list of parts is truncated.
17122 IsTruncated *bool `type:"boolean"`
17124 // Object key for which the multipart upload was initiated.
17125 Key *string `min:"1" type:"string"`
17127 // Maximum number of parts that were allowed in the response.
17128 MaxParts *int64 `type:"integer"`
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"`
17135 Owner *Owner `type:"structure"`
17137 // Part number after which listing begins.
17138 PartNumberMarker *int64 `type:"integer"`
17140 Parts []*Part `locationName:"Part" type:"list" flattened:"true"`
17142 // If present, indicates that the requester was successfully charged for the
17144 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
17146 // The class of storage used to store the object.
17147 StorageClass *string `type:"string" enum:"StorageClass"`
17149 // Upload ID identifying the multipart upload whose parts are being listed.
17150 UploadId *string `type:"string"`
17153 // String returns the string representation
17154 func (s ListPartsOutput) String() string {
17155 return awsutil.Prettify(s)
17158 // GoString returns the string representation
17159 func (s ListPartsOutput) GoString() string {
17163 // SetAbortDate sets the AbortDate field's value.
17164 func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput {
17169 // SetAbortRuleId sets the AbortRuleId field's value.
17170 func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput {
17175 // SetBucket sets the Bucket field's value.
17176 func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
17181 func (s *ListPartsOutput) getBucket() (v string) {
17182 if s.Bucket == nil {
17188 // SetInitiator sets the Initiator field's value.
17189 func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
17194 // SetIsTruncated sets the IsTruncated field's value.
17195 func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput {
17200 // SetKey sets the Key field's value.
17201 func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput {
17206 // SetMaxParts sets the MaxParts field's value.
17207 func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput {
17212 // SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
17213 func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput {
17214 s.NextPartNumberMarker = &v
17218 // SetOwner sets the Owner field's value.
17219 func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput {
17224 // SetPartNumberMarker sets the PartNumberMarker field's value.
17225 func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput {
17226 s.PartNumberMarker = &v
17230 // SetParts sets the Parts field's value.
17231 func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput {
17236 // SetRequestCharged sets the RequestCharged field's value.
17237 func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput {
17238 s.RequestCharged = &v
17242 // SetStorageClass sets the StorageClass field's value.
17243 func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput {
17244 s.StorageClass = &v
17248 // SetUploadId sets the UploadId field's value.
17249 func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
17254 // Describes an S3 location that will receive the results of the restore request.
17255 type Location struct {
17256 _ struct{} `type:"structure"`
17258 // A list of grants that control access to the staged results.
17259 AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
17261 // The name of the bucket where the restore results will be placed.
17263 // BucketName is a required field
17264 BucketName *string `type:"string" required:"true"`
17266 // The canned ACL to apply to the restore results.
17267 CannedACL *string `type:"string" enum:"ObjectCannedACL"`
17269 // Describes the server-side encryption that will be applied to the restore
17271 Encryption *Encryption `type:"structure"`
17273 // The prefix that is prepended to the restore results for this request.
17275 // Prefix is a required field
17276 Prefix *string `type:"string" required:"true"`
17278 // The class of storage used to store the restore results.
17279 StorageClass *string `type:"string" enum:"StorageClass"`
17281 // The tag-set that is applied to the restore results.
17282 Tagging *Tagging `type:"structure"`
17284 // A list of metadata to store with the restore results in S3.
17285 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
17288 // String returns the string representation
17289 func (s Location) String() string {
17290 return awsutil.Prettify(s)
17293 // GoString returns the string representation
17294 func (s Location) GoString() string {
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"))
17304 if s.Prefix == nil {
17305 invalidParams.Add(request.NewErrParamRequired("Prefix"))
17307 if s.AccessControlList != nil {
17308 for i, v := range s.AccessControlList {
17312 if err := v.Validate(); err != nil {
17313 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
17317 if s.Encryption != nil {
17318 if err := s.Encryption.Validate(); err != nil {
17319 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
17322 if s.Tagging != nil {
17323 if err := s.Tagging.Validate(); err != nil {
17324 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
17328 if invalidParams.Len() > 0 {
17329 return invalidParams
17334 // SetAccessControlList sets the AccessControlList field's value.
17335 func (s *Location) SetAccessControlList(v []*Grant) *Location {
17336 s.AccessControlList = v
17340 // SetBucketName sets the BucketName field's value.
17341 func (s *Location) SetBucketName(v string) *Location {
17346 // SetCannedACL sets the CannedACL field's value.
17347 func (s *Location) SetCannedACL(v string) *Location {
17352 // SetEncryption sets the Encryption field's value.
17353 func (s *Location) SetEncryption(v *Encryption) *Location {
17358 // SetPrefix sets the Prefix field's value.
17359 func (s *Location) SetPrefix(v string) *Location {
17364 // SetStorageClass sets the StorageClass field's value.
17365 func (s *Location) SetStorageClass(v string) *Location {
17366 s.StorageClass = &v
17370 // SetTagging sets the Tagging field's value.
17371 func (s *Location) SetTagging(v *Tagging) *Location {
17376 // SetUserMetadata sets the UserMetadata field's value.
17377 func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
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"`
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.
17396 // TargetBucket is a required field
17397 TargetBucket *string `type:"string" required:"true"`
17399 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
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.
17405 // TargetPrefix is a required field
17406 TargetPrefix *string `type:"string" required:"true"`
17409 // String returns the string representation
17410 func (s LoggingEnabled) String() string {
17411 return awsutil.Prettify(s)
17414 // GoString returns the string representation
17415 func (s LoggingEnabled) GoString() string {
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"))
17425 if s.TargetPrefix == nil {
17426 invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
17428 if s.TargetGrants != nil {
17429 for i, v := range s.TargetGrants {
17433 if err := v.Validate(); err != nil {
17434 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams))
17439 if invalidParams.Len() > 0 {
17440 return invalidParams
17445 // SetTargetBucket sets the TargetBucket field's value.
17446 func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled {
17447 s.TargetBucket = &v
17451 // SetTargetGrants sets the TargetGrants field's value.
17452 func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled {
17457 // SetTargetPrefix sets the TargetPrefix field's value.
17458 func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
17459 s.TargetPrefix = &v
17463 // A metadata key-value pair to store with an object.
17464 type MetadataEntry struct {
17465 _ struct{} `type:"structure"`
17467 Name *string `type:"string"`
17469 Value *string `type:"string"`
17472 // String returns the string representation
17473 func (s MetadataEntry) String() string {
17474 return awsutil.Prettify(s)
17477 // GoString returns the string representation
17478 func (s MetadataEntry) GoString() string {
17482 // SetName sets the Name field's value.
17483 func (s *MetadataEntry) SetName(v string) *MetadataEntry {
17488 // SetValue sets the Value field's value.
17489 func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
17494 type MetricsAndOperator struct {
17495 _ struct{} `type:"structure"`
17497 // The prefix used when evaluating an AND predicate.
17498 Prefix *string `type:"string"`
17500 // The list of tags used when evaluating an AND predicate.
17501 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
17504 // String returns the string representation
17505 func (s MetricsAndOperator) String() string {
17506 return awsutil.Prettify(s)
17509 // GoString returns the string representation
17510 func (s MetricsAndOperator) GoString() string {
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"}
17518 for i, v := range s.Tags {
17522 if err := v.Validate(); err != nil {
17523 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17528 if invalidParams.Len() > 0 {
17529 return invalidParams
17534 // SetPrefix sets the Prefix field's value.
17535 func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator {
17540 // SetTags sets the Tags field's value.
17541 func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
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"`
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"`
17561 // The ID used to identify the metrics configuration.
17563 // Id is a required field
17564 Id *string `type:"string" required:"true"`
17567 // String returns the string representation
17568 func (s MetricsConfiguration) String() string {
17569 return awsutil.Prettify(s)
17572 // GoString returns the string representation
17573 func (s MetricsConfiguration) GoString() string {
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"}
17581 invalidParams.Add(request.NewErrParamRequired("Id"))
17583 if s.Filter != nil {
17584 if err := s.Filter.Validate(); err != nil {
17585 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
17589 if invalidParams.Len() > 0 {
17590 return invalidParams
17595 // SetFilter sets the Filter field's value.
17596 func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration {
17601 // SetId sets the Id field's value.
17602 func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
17607 type MetricsFilter struct {
17608 _ struct{} `type:"structure"`
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"`
17615 // The prefix used when evaluating a metrics filter.
17616 Prefix *string `type:"string"`
17618 // The tag used when evaluating a metrics filter.
17619 Tag *Tag `type:"structure"`
17622 // String returns the string representation
17623 func (s MetricsFilter) String() string {
17624 return awsutil.Prettify(s)
17627 // GoString returns the string representation
17628 func (s MetricsFilter) GoString() string {
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"}
17636 if err := s.And.Validate(); err != nil {
17637 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
17641 if err := s.Tag.Validate(); err != nil {
17642 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
17646 if invalidParams.Len() > 0 {
17647 return invalidParams
17652 // SetAnd sets the And field's value.
17653 func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter {
17658 // SetPrefix sets the Prefix field's value.
17659 func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter {
17664 // SetTag sets the Tag field's value.
17665 func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
17670 type MultipartUpload struct {
17671 _ struct{} `type:"structure"`
17673 // Date and time at which the multipart upload was initiated.
17674 Initiated *time.Time `type:"timestamp"`
17676 // Identifies who initiated the multipart upload.
17677 Initiator *Initiator `type:"structure"`
17679 // Key of the object for which the multipart upload was initiated.
17680 Key *string `min:"1" type:"string"`
17682 Owner *Owner `type:"structure"`
17684 // The class of storage used to store the object.
17685 StorageClass *string `type:"string" enum:"StorageClass"`
17687 // Upload ID that identifies the multipart upload.
17688 UploadId *string `type:"string"`
17691 // String returns the string representation
17692 func (s MultipartUpload) String() string {
17693 return awsutil.Prettify(s)
17696 // GoString returns the string representation
17697 func (s MultipartUpload) GoString() string {
17701 // SetInitiated sets the Initiated field's value.
17702 func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
17707 // SetInitiator sets the Initiator field's value.
17708 func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload {
17713 // SetKey sets the Key field's value.
17714 func (s *MultipartUpload) SetKey(v string) *MultipartUpload {
17719 // SetOwner sets the Owner field's value.
17720 func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload {
17725 // SetStorageClass sets the StorageClass field's value.
17726 func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload {
17727 s.StorageClass = &v
17731 // SetUploadId sets the UploadId field's value.
17732 func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
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"`
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"`
17753 // String returns the string representation
17754 func (s NoncurrentVersionExpiration) String() string {
17755 return awsutil.Prettify(s)
17758 // GoString returns the string representation
17759 func (s NoncurrentVersionExpiration) GoString() string {
17763 // SetNoncurrentDays sets the NoncurrentDays field's value.
17764 func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
17765 s.NoncurrentDays = &v
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
17776 type NoncurrentVersionTransition struct {
17777 _ struct{} `type:"structure"`
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"`
17786 // The class of storage used to store the object.
17787 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
17790 // String returns the string representation
17791 func (s NoncurrentVersionTransition) String() string {
17792 return awsutil.Prettify(s)
17795 // GoString returns the string representation
17796 func (s NoncurrentVersionTransition) GoString() string {
17800 // SetNoncurrentDays sets the NoncurrentDays field's value.
17801 func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
17802 s.NoncurrentDays = &v
17806 // SetStorageClass sets the StorageClass field's value.
17807 func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition {
17808 s.StorageClass = &v
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"`
17817 // Describes the AWS Lambda functions to invoke and the events for which to
17819 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
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"`
17825 // The topic to which notifications are sent and the events for which notifications
17827 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
17830 // String returns the string representation
17831 func (s NotificationConfiguration) String() string {
17832 return awsutil.Prettify(s)
17835 // GoString returns the string representation
17836 func (s NotificationConfiguration) GoString() string {
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 {
17848 if err := v.Validate(); err != nil {
17849 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams))
17853 if s.QueueConfigurations != nil {
17854 for i, v := range s.QueueConfigurations {
17858 if err := v.Validate(); err != nil {
17859 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams))
17863 if s.TopicConfigurations != nil {
17864 for i, v := range s.TopicConfigurations {
17868 if err := v.Validate(); err != nil {
17869 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams))
17874 if invalidParams.Len() > 0 {
17875 return invalidParams
17880 // SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
17881 func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
17882 s.LambdaFunctionConfigurations = v
17886 // SetQueueConfigurations sets the QueueConfigurations field's value.
17887 func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration {
17888 s.QueueConfigurations = v
17892 // SetTopicConfigurations sets the TopicConfigurations field's value.
17893 func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration {
17894 s.TopicConfigurations = v
17898 type NotificationConfigurationDeprecated struct {
17899 _ struct{} `type:"structure"`
17901 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`
17903 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
17905 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
17908 // String returns the string representation
17909 func (s NotificationConfigurationDeprecated) String() string {
17910 return awsutil.Prettify(s)
17913 // GoString returns the string representation
17914 func (s NotificationConfigurationDeprecated) GoString() string {
17918 // SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value.
17919 func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated {
17920 s.CloudFunctionConfiguration = v
17924 // SetQueueConfiguration sets the QueueConfiguration field's value.
17925 func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated {
17926 s.QueueConfiguration = v
17930 // SetTopicConfiguration sets the TopicConfiguration field's value.
17931 func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated {
17932 s.TopicConfiguration = v
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"`
17942 // A container for object key name prefix and suffix filtering rules.
17943 Key *KeyFilter `locationName:"S3Key" type:"structure"`
17946 // String returns the string representation
17947 func (s NotificationConfigurationFilter) String() string {
17948 return awsutil.Prettify(s)
17951 // GoString returns the string representation
17952 func (s NotificationConfigurationFilter) GoString() string {
17956 // SetKey sets the Key field's value.
17957 func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter {
17962 type Object struct {
17963 _ struct{} `type:"structure"`
17965 ETag *string `type:"string"`
17967 Key *string `min:"1" type:"string"`
17969 LastModified *time.Time `type:"timestamp"`
17971 Owner *Owner `type:"structure"`
17973 Size *int64 `type:"integer"`
17975 // The class of storage used to store the object.
17976 StorageClass *string `type:"string" enum:"ObjectStorageClass"`
17979 // String returns the string representation
17980 func (s Object) String() string {
17981 return awsutil.Prettify(s)
17984 // GoString returns the string representation
17985 func (s Object) GoString() string {
17989 // SetETag sets the ETag field's value.
17990 func (s *Object) SetETag(v string) *Object {
17995 // SetKey sets the Key field's value.
17996 func (s *Object) SetKey(v string) *Object {
18001 // SetLastModified sets the LastModified field's value.
18002 func (s *Object) SetLastModified(v time.Time) *Object {
18003 s.LastModified = &v
18007 // SetOwner sets the Owner field's value.
18008 func (s *Object) SetOwner(v *Owner) *Object {
18013 // SetSize sets the Size field's value.
18014 func (s *Object) SetSize(v int64) *Object {
18019 // SetStorageClass sets the StorageClass field's value.
18020 func (s *Object) SetStorageClass(v string) *Object {
18021 s.StorageClass = &v
18025 type ObjectIdentifier struct {
18026 _ struct{} `type:"structure"`
18028 // Key name of the object to delete.
18030 // Key is a required field
18031 Key *string `min:"1" type:"string" required:"true"`
18033 // VersionId for the specific version of the object to delete.
18034 VersionId *string `type:"string"`
18037 // String returns the string representation
18038 func (s ObjectIdentifier) String() string {
18039 return awsutil.Prettify(s)
18042 // GoString returns the string representation
18043 func (s ObjectIdentifier) GoString() string {
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"}
18051 invalidParams.Add(request.NewErrParamRequired("Key"))
18053 if s.Key != nil && len(*s.Key) < 1 {
18054 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18057 if invalidParams.Len() > 0 {
18058 return invalidParams
18063 // SetKey sets the Key field's value.
18064 func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier {
18069 // SetVersionId sets the VersionId field's value.
18070 func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
18075 // The container element for object lock configuration parameters.
18076 type ObjectLockConfiguration struct {
18077 _ struct{} `type:"structure"`
18079 // Indicates whether this bucket has an object lock configuration enabled.
18080 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"`
18082 // The object lock rule in place for the specified object.
18083 Rule *ObjectLockRule `type:"structure"`
18086 // String returns the string representation
18087 func (s ObjectLockConfiguration) String() string {
18088 return awsutil.Prettify(s)
18091 // GoString returns the string representation
18092 func (s ObjectLockConfiguration) GoString() string {
18096 // SetObjectLockEnabled sets the ObjectLockEnabled field's value.
18097 func (s *ObjectLockConfiguration) SetObjectLockEnabled(v string) *ObjectLockConfiguration {
18098 s.ObjectLockEnabled = &v
18102 // SetRule sets the Rule field's value.
18103 func (s *ObjectLockConfiguration) SetRule(v *ObjectLockRule) *ObjectLockConfiguration {
18108 // A Legal Hold configuration for an object.
18109 type ObjectLockLegalHold struct {
18110 _ struct{} `type:"structure"`
18112 // Indicates whether the specified object has a Legal Hold in place.
18113 Status *string `type:"string" enum:"ObjectLockLegalHoldStatus"`
18116 // String returns the string representation
18117 func (s ObjectLockLegalHold) String() string {
18118 return awsutil.Prettify(s)
18121 // GoString returns the string representation
18122 func (s ObjectLockLegalHold) GoString() string {
18126 // SetStatus sets the Status field's value.
18127 func (s *ObjectLockLegalHold) SetStatus(v string) *ObjectLockLegalHold {
18132 // A Retention configuration for an object.
18133 type ObjectLockRetention struct {
18134 _ struct{} `type:"structure"`
18136 // Indicates the Retention mode for the specified object.
18137 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
18139 // The date on which this object lock retention expires.
18140 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
18143 // String returns the string representation
18144 func (s ObjectLockRetention) String() string {
18145 return awsutil.Prettify(s)
18148 // GoString returns the string representation
18149 func (s ObjectLockRetention) GoString() string {
18153 // SetMode sets the Mode field's value.
18154 func (s *ObjectLockRetention) SetMode(v string) *ObjectLockRetention {
18159 // SetRetainUntilDate sets the RetainUntilDate field's value.
18160 func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetention {
18161 s.RetainUntilDate = &v
18165 // The container element for an object lock rule.
18166 type ObjectLockRule struct {
18167 _ struct{} `type:"structure"`
18169 // The default retention period that you want to apply to new objects placed
18170 // in the specified bucket.
18171 DefaultRetention *DefaultRetention `type:"structure"`
18174 // String returns the string representation
18175 func (s ObjectLockRule) String() string {
18176 return awsutil.Prettify(s)
18179 // GoString returns the string representation
18180 func (s ObjectLockRule) GoString() string {
18184 // SetDefaultRetention sets the DefaultRetention field's value.
18185 func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRule {
18186 s.DefaultRetention = v
18190 type ObjectVersion struct {
18191 _ struct{} `type:"structure"`
18193 ETag *string `type:"string"`
18195 // Specifies whether the object is (true) or is not (false) the latest version
18197 IsLatest *bool `type:"boolean"`
18200 Key *string `min:"1" type:"string"`
18202 // Date and time the object was last modified.
18203 LastModified *time.Time `type:"timestamp"`
18205 Owner *Owner `type:"structure"`
18207 // Size in bytes of the object.
18208 Size *int64 `type:"integer"`
18210 // The class of storage used to store the object.
18211 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"`
18213 // Version ID of an object.
18214 VersionId *string `type:"string"`
18217 // String returns the string representation
18218 func (s ObjectVersion) String() string {
18219 return awsutil.Prettify(s)
18222 // GoString returns the string representation
18223 func (s ObjectVersion) GoString() string {
18227 // SetETag sets the ETag field's value.
18228 func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
18233 // SetIsLatest sets the IsLatest field's value.
18234 func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion {
18239 // SetKey sets the Key field's value.
18240 func (s *ObjectVersion) SetKey(v string) *ObjectVersion {
18245 // SetLastModified sets the LastModified field's value.
18246 func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion {
18247 s.LastModified = &v
18251 // SetOwner sets the Owner field's value.
18252 func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion {
18257 // SetSize sets the Size field's value.
18258 func (s *ObjectVersion) SetSize(v int64) *ObjectVersion {
18263 // SetStorageClass sets the StorageClass field's value.
18264 func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion {
18265 s.StorageClass = &v
18269 // SetVersionId sets the VersionId field's value.
18270 func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
18275 // Describes the location where the restore job's output is stored.
18276 type OutputLocation struct {
18277 _ struct{} `type:"structure"`
18279 // Describes an S3 location that will receive the results of the restore request.
18280 S3 *Location `type:"structure"`
18283 // String returns the string representation
18284 func (s OutputLocation) String() string {
18285 return awsutil.Prettify(s)
18288 // GoString returns the string representation
18289 func (s OutputLocation) GoString() string {
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"}
18297 if err := s.S3.Validate(); err != nil {
18298 invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
18302 if invalidParams.Len() > 0 {
18303 return invalidParams
18308 // SetS3 sets the S3 field's value.
18309 func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
18314 // Describes how results of the Select job are serialized.
18315 type OutputSerialization struct {
18316 _ struct{} `type:"structure"`
18318 // Describes the serialization of CSV-encoded Select results.
18319 CSV *CSVOutput `type:"structure"`
18321 // Specifies JSON as request's output serialization format.
18322 JSON *JSONOutput `type:"structure"`
18325 // String returns the string representation
18326 func (s OutputSerialization) String() string {
18327 return awsutil.Prettify(s)
18330 // GoString returns the string representation
18331 func (s OutputSerialization) GoString() string {
18335 // SetCSV sets the CSV field's value.
18336 func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
18341 // SetJSON sets the JSON field's value.
18342 func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
18347 type Owner struct {
18348 _ struct{} `type:"structure"`
18350 DisplayName *string `type:"string"`
18352 ID *string `type:"string"`
18355 // String returns the string representation
18356 func (s Owner) String() string {
18357 return awsutil.Prettify(s)
18360 // GoString returns the string representation
18361 func (s Owner) GoString() string {
18365 // SetDisplayName sets the DisplayName field's value.
18366 func (s *Owner) SetDisplayName(v string) *Owner {
18371 // SetID sets the ID field's value.
18372 func (s *Owner) SetID(v string) *Owner {
18377 type ParquetInput struct {
18378 _ struct{} `type:"structure"`
18381 // String returns the string representation
18382 func (s ParquetInput) String() string {
18383 return awsutil.Prettify(s)
18386 // GoString returns the string representation
18387 func (s ParquetInput) GoString() string {
18392 _ struct{} `type:"structure"`
18394 // Entity tag returned when the part was uploaded.
18395 ETag *string `type:"string"`
18397 // Date and time at which the part was uploaded.
18398 LastModified *time.Time `type:"timestamp"`
18400 // Part number identifying the part. This is a positive integer between 1 and
18402 PartNumber *int64 `type:"integer"`
18404 // Size in bytes of the uploaded part data.
18405 Size *int64 `type:"integer"`
18408 // String returns the string representation
18409 func (s Part) String() string {
18410 return awsutil.Prettify(s)
18413 // GoString returns the string representation
18414 func (s Part) GoString() string {
18418 // SetETag sets the ETag field's value.
18419 func (s *Part) SetETag(v string) *Part {
18424 // SetLastModified sets the LastModified field's value.
18425 func (s *Part) SetLastModified(v time.Time) *Part {
18426 s.LastModified = &v
18430 // SetPartNumber sets the PartNumber field's value.
18431 func (s *Part) SetPartNumber(v int64) *Part {
18436 // SetSize sets the Size field's value.
18437 func (s *Part) SetSize(v int64) *Part {
18442 // The container element for a bucket's policy status.
18443 type PolicyStatus struct {
18444 _ struct{} `type:"structure"`
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"`
18451 // String returns the string representation
18452 func (s PolicyStatus) String() string {
18453 return awsutil.Prettify(s)
18456 // GoString returns the string representation
18457 func (s PolicyStatus) GoString() string {
18461 // SetIsPublic sets the IsPublic field's value.
18462 func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus {
18467 type Progress struct {
18468 _ struct{} `type:"structure"`
18470 // The current number of uncompressed object bytes processed.
18471 BytesProcessed *int64 `type:"long"`
18473 // The current number of bytes of records payload data returned.
18474 BytesReturned *int64 `type:"long"`
18476 // The current number of object bytes scanned.
18477 BytesScanned *int64 `type:"long"`
18480 // String returns the string representation
18481 func (s Progress) String() string {
18482 return awsutil.Prettify(s)
18485 // GoString returns the string representation
18486 func (s Progress) GoString() string {
18490 // SetBytesProcessed sets the BytesProcessed field's value.
18491 func (s *Progress) SetBytesProcessed(v int64) *Progress {
18492 s.BytesProcessed = &v
18496 // SetBytesReturned sets the BytesReturned field's value.
18497 func (s *Progress) SetBytesReturned(v int64) *Progress {
18498 s.BytesReturned = &v
18502 // SetBytesScanned sets the BytesScanned field's value.
18503 func (s *Progress) SetBytesScanned(v int64) *Progress {
18504 s.BytesScanned = &v
18508 type ProgressEvent struct {
18509 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
18511 // The Progress event details.
18512 Details *Progress `locationName:"Details" type:"structure"`
18515 // String returns the string representation
18516 func (s ProgressEvent) String() string {
18517 return awsutil.Prettify(s)
18520 // GoString returns the string representation
18521 func (s ProgressEvent) GoString() string {
18525 // SetDetails sets the Details field's value.
18526 func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
18531 // The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
18532 func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
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,
18540 if err := payloadUnmarshaler.UnmarshalPayload(
18541 bytes.NewReader(msg.Payload), s,
18548 // Specifies the Block Public Access configuration for an Amazon S3 bucket.
18549 type PublicAccessBlockConfiguration struct {
18550 _ struct{} `type:"structure"`
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:
18556 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is
18559 // * PUT Object calls fail if the request includes a public ACL.
18561 // Enabling this setting doesn't affect existing policies or ACLs.
18562 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"`
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.
18568 // Enabling this setting doesn't affect existing bucket policies.
18569 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"`
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.
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"`
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
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"`
18590 // String returns the string representation
18591 func (s PublicAccessBlockConfiguration) String() string {
18592 return awsutil.Prettify(s)
18595 // GoString returns the string representation
18596 func (s PublicAccessBlockConfiguration) GoString() string {
18600 // SetBlockPublicAcls sets the BlockPublicAcls field's value.
18601 func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration {
18602 s.BlockPublicAcls = &v
18606 // SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
18607 func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration {
18608 s.BlockPublicPolicy = &v
18612 // SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
18613 func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration {
18614 s.IgnorePublicAcls = &v
18618 // SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
18619 func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration {
18620 s.RestrictPublicBuckets = &v
18624 type PutBucketAccelerateConfigurationInput struct {
18625 _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
18627 // Specifies the Accelerate Configuration you want to set for the bucket.
18629 // AccelerateConfiguration is a required field
18630 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18632 // Name of the bucket for which the accelerate configuration is set.
18634 // Bucket is a required field
18635 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18638 // String returns the string representation
18639 func (s PutBucketAccelerateConfigurationInput) String() string {
18640 return awsutil.Prettify(s)
18643 // GoString returns the string representation
18644 func (s PutBucketAccelerateConfigurationInput) GoString() string {
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"))
18654 if s.Bucket == nil {
18655 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18657 if s.Bucket != nil && len(*s.Bucket) < 1 {
18658 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18661 if invalidParams.Len() > 0 {
18662 return invalidParams
18667 // SetAccelerateConfiguration sets the AccelerateConfiguration field's value.
18668 func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput {
18669 s.AccelerateConfiguration = v
18673 // SetBucket sets the Bucket field's value.
18674 func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput {
18679 func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
18680 if s.Bucket == nil {
18686 type PutBucketAccelerateConfigurationOutput struct {
18687 _ struct{} `type:"structure"`
18690 // String returns the string representation
18691 func (s PutBucketAccelerateConfigurationOutput) String() string {
18692 return awsutil.Prettify(s)
18695 // GoString returns the string representation
18696 func (s PutBucketAccelerateConfigurationOutput) GoString() string {
18700 type PutBucketAclInput struct {
18701 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
18703 // The canned ACL to apply to the bucket.
18704 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
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/"`
18709 // Bucket is a required field
18710 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18712 // Allows grantee the read, write, read ACP, and write ACP permissions on the
18714 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
18716 // Allows grantee to list the objects in the bucket.
18717 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
18719 // Allows grantee to read the bucket ACL.
18720 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
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"`
18725 // Allows grantee to write the ACL for the applicable bucket.
18726 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
18729 // String returns the string representation
18730 func (s PutBucketAclInput) String() string {
18731 return awsutil.Prettify(s)
18734 // GoString returns the string representation
18735 func (s PutBucketAclInput) GoString() string {
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"))
18745 if s.Bucket != nil && len(*s.Bucket) < 1 {
18746 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18748 if s.AccessControlPolicy != nil {
18749 if err := s.AccessControlPolicy.Validate(); err != nil {
18750 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
18754 if invalidParams.Len() > 0 {
18755 return invalidParams
18760 // SetACL sets the ACL field's value.
18761 func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput {
18766 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
18767 func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput {
18768 s.AccessControlPolicy = v
18772 // SetBucket sets the Bucket field's value.
18773 func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
18778 func (s *PutBucketAclInput) getBucket() (v string) {
18779 if s.Bucket == nil {
18785 // SetGrantFullControl sets the GrantFullControl field's value.
18786 func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
18787 s.GrantFullControl = &v
18791 // SetGrantRead sets the GrantRead field's value.
18792 func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput {
18797 // SetGrantReadACP sets the GrantReadACP field's value.
18798 func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput {
18799 s.GrantReadACP = &v
18803 // SetGrantWrite sets the GrantWrite field's value.
18804 func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput {
18809 // SetGrantWriteACP sets the GrantWriteACP field's value.
18810 func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
18811 s.GrantWriteACP = &v
18815 type PutBucketAclOutput struct {
18816 _ struct{} `type:"structure"`
18819 // String returns the string representation
18820 func (s PutBucketAclOutput) String() string {
18821 return awsutil.Prettify(s)
18824 // GoString returns the string representation
18825 func (s PutBucketAclOutput) GoString() string {
18829 type PutBucketAnalyticsConfigurationInput struct {
18830 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
18832 // The configuration and any analyses for the analytics filter.
18834 // AnalyticsConfiguration is a required field
18835 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18837 // The name of the bucket to which an analytics configuration is stored.
18839 // Bucket is a required field
18840 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18842 // The ID that identifies the analytics configuration.
18844 // Id is a required field
18845 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
18848 // String returns the string representation
18849 func (s PutBucketAnalyticsConfigurationInput) String() string {
18850 return awsutil.Prettify(s)
18853 // GoString returns the string representation
18854 func (s PutBucketAnalyticsConfigurationInput) GoString() string {
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"))
18864 if s.Bucket == nil {
18865 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18867 if s.Bucket != nil && len(*s.Bucket) < 1 {
18868 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18871 invalidParams.Add(request.NewErrParamRequired("Id"))
18873 if s.AnalyticsConfiguration != nil {
18874 if err := s.AnalyticsConfiguration.Validate(); err != nil {
18875 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
18879 if invalidParams.Len() > 0 {
18880 return invalidParams
18885 // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
18886 func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput {
18887 s.AnalyticsConfiguration = v
18891 // SetBucket sets the Bucket field's value.
18892 func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput {
18897 func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
18898 if s.Bucket == nil {
18904 // SetId sets the Id field's value.
18905 func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
18910 type PutBucketAnalyticsConfigurationOutput struct {
18911 _ struct{} `type:"structure"`
18914 // String returns the string representation
18915 func (s PutBucketAnalyticsConfigurationOutput) String() string {
18916 return awsutil.Prettify(s)
18919 // GoString returns the string representation
18920 func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
18924 type PutBucketCorsInput struct {
18925 _ struct{} `type:"structure" payload:"CORSConfiguration"`
18927 // Bucket is a required field
18928 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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.
18935 // CORSConfiguration is a required field
18936 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18939 // String returns the string representation
18940 func (s PutBucketCorsInput) String() string {
18941 return awsutil.Prettify(s)
18944 // GoString returns the string representation
18945 func (s PutBucketCorsInput) GoString() string {
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"))
18955 if s.Bucket != nil && len(*s.Bucket) < 1 {
18956 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18958 if s.CORSConfiguration == nil {
18959 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration"))
18961 if s.CORSConfiguration != nil {
18962 if err := s.CORSConfiguration.Validate(); err != nil {
18963 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams))
18967 if invalidParams.Len() > 0 {
18968 return invalidParams
18973 // SetBucket sets the Bucket field's value.
18974 func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
18979 func (s *PutBucketCorsInput) getBucket() (v string) {
18980 if s.Bucket == nil {
18986 // SetCORSConfiguration sets the CORSConfiguration field's value.
18987 func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
18988 s.CORSConfiguration = v
18992 type PutBucketCorsOutput struct {
18993 _ struct{} `type:"structure"`
18996 // String returns the string representation
18997 func (s PutBucketCorsOutput) String() string {
18998 return awsutil.Prettify(s)
19001 // GoString returns the string representation
19002 func (s PutBucketCorsOutput) GoString() string {
19006 type PutBucketEncryptionInput struct {
19007 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
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.
19015 // Bucket is a required field
19016 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19018 // Specifies the default server-side-encryption configuration.
19020 // ServerSideEncryptionConfiguration is a required field
19021 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19024 // String returns the string representation
19025 func (s PutBucketEncryptionInput) String() string {
19026 return awsutil.Prettify(s)
19029 // GoString returns the string representation
19030 func (s PutBucketEncryptionInput) GoString() string {
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"))
19040 if s.Bucket != nil && len(*s.Bucket) < 1 {
19041 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19043 if s.ServerSideEncryptionConfiguration == nil {
19044 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
19046 if s.ServerSideEncryptionConfiguration != nil {
19047 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
19048 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
19052 if invalidParams.Len() > 0 {
19053 return invalidParams
19058 // SetBucket sets the Bucket field's value.
19059 func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
19064 func (s *PutBucketEncryptionInput) getBucket() (v string) {
19065 if s.Bucket == nil {
19071 // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
19072 func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
19073 s.ServerSideEncryptionConfiguration = v
19077 type PutBucketEncryptionOutput struct {
19078 _ struct{} `type:"structure"`
19081 // String returns the string representation
19082 func (s PutBucketEncryptionOutput) String() string {
19083 return awsutil.Prettify(s)
19086 // GoString returns the string representation
19087 func (s PutBucketEncryptionOutput) GoString() string {
19091 type PutBucketInventoryConfigurationInput struct {
19092 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
19094 // The name of the bucket where the inventory configuration will be stored.
19096 // Bucket is a required field
19097 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19099 // The ID used to identify the inventory configuration.
19101 // Id is a required field
19102 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19104 // Specifies the inventory configuration.
19106 // InventoryConfiguration is a required field
19107 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19110 // String returns the string representation
19111 func (s PutBucketInventoryConfigurationInput) String() string {
19112 return awsutil.Prettify(s)
19115 // GoString returns the string representation
19116 func (s PutBucketInventoryConfigurationInput) GoString() string {
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"))
19126 if s.Bucket != nil && len(*s.Bucket) < 1 {
19127 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19130 invalidParams.Add(request.NewErrParamRequired("Id"))
19132 if s.InventoryConfiguration == nil {
19133 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration"))
19135 if s.InventoryConfiguration != nil {
19136 if err := s.InventoryConfiguration.Validate(); err != nil {
19137 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams))
19141 if invalidParams.Len() > 0 {
19142 return invalidParams
19147 // SetBucket sets the Bucket field's value.
19148 func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput {
19153 func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
19154 if s.Bucket == nil {
19160 // SetId sets the Id field's value.
19161 func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
19166 // SetInventoryConfiguration sets the InventoryConfiguration field's value.
19167 func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput {
19168 s.InventoryConfiguration = v
19172 type PutBucketInventoryConfigurationOutput struct {
19173 _ struct{} `type:"structure"`
19176 // String returns the string representation
19177 func (s PutBucketInventoryConfigurationOutput) String() string {
19178 return awsutil.Prettify(s)
19181 // GoString returns the string representation
19182 func (s PutBucketInventoryConfigurationOutput) GoString() string {
19186 type PutBucketLifecycleConfigurationInput struct {
19187 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19189 // Bucket is a required field
19190 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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/"`
19198 // String returns the string representation
19199 func (s PutBucketLifecycleConfigurationInput) String() string {
19200 return awsutil.Prettify(s)
19203 // GoString returns the string representation
19204 func (s PutBucketLifecycleConfigurationInput) GoString() string {
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"))
19214 if s.Bucket != nil && len(*s.Bucket) < 1 {
19215 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19217 if s.LifecycleConfiguration != nil {
19218 if err := s.LifecycleConfiguration.Validate(); err != nil {
19219 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19223 if invalidParams.Len() > 0 {
19224 return invalidParams
19229 // SetBucket sets the Bucket field's value.
19230 func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput {
19235 func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
19236 if s.Bucket == nil {
19242 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19243 func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
19244 s.LifecycleConfiguration = v
19248 type PutBucketLifecycleConfigurationOutput struct {
19249 _ struct{} `type:"structure"`
19252 // String returns the string representation
19253 func (s PutBucketLifecycleConfigurationOutput) String() string {
19254 return awsutil.Prettify(s)
19257 // GoString returns the string representation
19258 func (s PutBucketLifecycleConfigurationOutput) GoString() string {
19262 type PutBucketLifecycleInput struct {
19263 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19265 // Bucket is a required field
19266 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19268 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19271 // String returns the string representation
19272 func (s PutBucketLifecycleInput) String() string {
19273 return awsutil.Prettify(s)
19276 // GoString returns the string representation
19277 func (s PutBucketLifecycleInput) GoString() string {
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"))
19287 if s.Bucket != nil && len(*s.Bucket) < 1 {
19288 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19290 if s.LifecycleConfiguration != nil {
19291 if err := s.LifecycleConfiguration.Validate(); err != nil {
19292 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19296 if invalidParams.Len() > 0 {
19297 return invalidParams
19302 // SetBucket sets the Bucket field's value.
19303 func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
19308 func (s *PutBucketLifecycleInput) getBucket() (v string) {
19309 if s.Bucket == nil {
19315 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19316 func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
19317 s.LifecycleConfiguration = v
19321 type PutBucketLifecycleOutput struct {
19322 _ struct{} `type:"structure"`
19325 // String returns the string representation
19326 func (s PutBucketLifecycleOutput) String() string {
19327 return awsutil.Prettify(s)
19330 // GoString returns the string representation
19331 func (s PutBucketLifecycleOutput) GoString() string {
19335 type PutBucketLoggingInput struct {
19336 _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
19338 // Bucket is a required field
19339 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19341 // BucketLoggingStatus is a required field
19342 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19345 // String returns the string representation
19346 func (s PutBucketLoggingInput) String() string {
19347 return awsutil.Prettify(s)
19350 // GoString returns the string representation
19351 func (s PutBucketLoggingInput) GoString() string {
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"))
19361 if s.Bucket != nil && len(*s.Bucket) < 1 {
19362 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19364 if s.BucketLoggingStatus == nil {
19365 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus"))
19367 if s.BucketLoggingStatus != nil {
19368 if err := s.BucketLoggingStatus.Validate(); err != nil {
19369 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams))
19373 if invalidParams.Len() > 0 {
19374 return invalidParams
19379 // SetBucket sets the Bucket field's value.
19380 func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
19385 func (s *PutBucketLoggingInput) getBucket() (v string) {
19386 if s.Bucket == nil {
19392 // SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
19393 func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
19394 s.BucketLoggingStatus = v
19398 type PutBucketLoggingOutput struct {
19399 _ struct{} `type:"structure"`
19402 // String returns the string representation
19403 func (s PutBucketLoggingOutput) String() string {
19404 return awsutil.Prettify(s)
19407 // GoString returns the string representation
19408 func (s PutBucketLoggingOutput) GoString() string {
19412 type PutBucketMetricsConfigurationInput struct {
19413 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
19415 // The name of the bucket for which the metrics configuration is set.
19417 // Bucket is a required field
19418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19420 // The ID used to identify the metrics configuration.
19422 // Id is a required field
19423 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19425 // Specifies the metrics configuration.
19427 // MetricsConfiguration is a required field
19428 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19431 // String returns the string representation
19432 func (s PutBucketMetricsConfigurationInput) String() string {
19433 return awsutil.Prettify(s)
19436 // GoString returns the string representation
19437 func (s PutBucketMetricsConfigurationInput) GoString() string {
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"))
19447 if s.Bucket != nil && len(*s.Bucket) < 1 {
19448 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19451 invalidParams.Add(request.NewErrParamRequired("Id"))
19453 if s.MetricsConfiguration == nil {
19454 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration"))
19456 if s.MetricsConfiguration != nil {
19457 if err := s.MetricsConfiguration.Validate(); err != nil {
19458 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
19462 if invalidParams.Len() > 0 {
19463 return invalidParams
19468 // SetBucket sets the Bucket field's value.
19469 func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput {
19474 func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
19475 if s.Bucket == nil {
19481 // SetId sets the Id field's value.
19482 func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
19487 // SetMetricsConfiguration sets the MetricsConfiguration field's value.
19488 func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput {
19489 s.MetricsConfiguration = v
19493 type PutBucketMetricsConfigurationOutput struct {
19494 _ struct{} `type:"structure"`
19497 // String returns the string representation
19498 func (s PutBucketMetricsConfigurationOutput) String() string {
19499 return awsutil.Prettify(s)
19502 // GoString returns the string representation
19503 func (s PutBucketMetricsConfigurationOutput) GoString() string {
19507 type PutBucketNotificationConfigurationInput struct {
19508 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19510 // Bucket is a required field
19511 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19513 // A container for specifying the notification configuration of the bucket.
19514 // If this element is empty, notifications are turned off for the bucket.
19516 // NotificationConfiguration is a required field
19517 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19520 // String returns the string representation
19521 func (s PutBucketNotificationConfigurationInput) String() string {
19522 return awsutil.Prettify(s)
19525 // GoString returns the string representation
19526 func (s PutBucketNotificationConfigurationInput) GoString() string {
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"))
19536 if s.Bucket != nil && len(*s.Bucket) < 1 {
19537 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19539 if s.NotificationConfiguration == nil {
19540 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19542 if s.NotificationConfiguration != nil {
19543 if err := s.NotificationConfiguration.Validate(); err != nil {
19544 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams))
19548 if invalidParams.Len() > 0 {
19549 return invalidParams
19554 // SetBucket sets the Bucket field's value.
19555 func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput {
19560 func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
19561 if s.Bucket == nil {
19567 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
19568 func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
19569 s.NotificationConfiguration = v
19573 type PutBucketNotificationConfigurationOutput struct {
19574 _ struct{} `type:"structure"`
19577 // String returns the string representation
19578 func (s PutBucketNotificationConfigurationOutput) String() string {
19579 return awsutil.Prettify(s)
19582 // GoString returns the string representation
19583 func (s PutBucketNotificationConfigurationOutput) GoString() string {
19587 type PutBucketNotificationInput struct {
19588 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19590 // Bucket is a required field
19591 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19593 // NotificationConfiguration is a required field
19594 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19597 // String returns the string representation
19598 func (s PutBucketNotificationInput) String() string {
19599 return awsutil.Prettify(s)
19602 // GoString returns the string representation
19603 func (s PutBucketNotificationInput) GoString() string {
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"))
19613 if s.Bucket != nil && len(*s.Bucket) < 1 {
19614 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19616 if s.NotificationConfiguration == nil {
19617 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19620 if invalidParams.Len() > 0 {
19621 return invalidParams
19626 // SetBucket sets the Bucket field's value.
19627 func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput {
19632 func (s *PutBucketNotificationInput) getBucket() (v string) {
19633 if s.Bucket == nil {
19639 // SetNotificationConfiguration sets the NotificationConfiguration field's value.
19640 func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
19641 s.NotificationConfiguration = v
19645 type PutBucketNotificationOutput struct {
19646 _ struct{} `type:"structure"`
19649 // String returns the string representation
19650 func (s PutBucketNotificationOutput) String() string {
19651 return awsutil.Prettify(s)
19654 // GoString returns the string representation
19655 func (s PutBucketNotificationOutput) GoString() string {
19659 type PutBucketPolicyInput struct {
19660 _ struct{} `type:"structure" payload:"Policy"`
19662 // Bucket is a required field
19663 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
19669 // The bucket policy as a JSON document.
19671 // Policy is a required field
19672 Policy *string `type:"string" required:"true"`
19675 // String returns the string representation
19676 func (s PutBucketPolicyInput) String() string {
19677 return awsutil.Prettify(s)
19680 // GoString returns the string representation
19681 func (s PutBucketPolicyInput) GoString() string {
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"))
19691 if s.Bucket != nil && len(*s.Bucket) < 1 {
19692 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19694 if s.Policy == nil {
19695 invalidParams.Add(request.NewErrParamRequired("Policy"))
19698 if invalidParams.Len() > 0 {
19699 return invalidParams
19704 // SetBucket sets the Bucket field's value.
19705 func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
19710 func (s *PutBucketPolicyInput) getBucket() (v string) {
19711 if s.Bucket == nil {
19717 // SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
19718 func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
19719 s.ConfirmRemoveSelfBucketAccess = &v
19723 // SetPolicy sets the Policy field's value.
19724 func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
19729 type PutBucketPolicyOutput struct {
19730 _ struct{} `type:"structure"`
19733 // String returns the string representation
19734 func (s PutBucketPolicyOutput) String() string {
19735 return awsutil.Prettify(s)
19738 // GoString returns the string representation
19739 func (s PutBucketPolicyOutput) GoString() string {
19743 type PutBucketReplicationInput struct {
19744 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
19746 // Bucket is a required field
19747 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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.
19752 // ReplicationConfiguration is a required field
19753 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
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"`
19759 // String returns the string representation
19760 func (s PutBucketReplicationInput) String() string {
19761 return awsutil.Prettify(s)
19764 // GoString returns the string representation
19765 func (s PutBucketReplicationInput) GoString() string {
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"))
19775 if s.Bucket != nil && len(*s.Bucket) < 1 {
19776 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19778 if s.ReplicationConfiguration == nil {
19779 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
19781 if s.ReplicationConfiguration != nil {
19782 if err := s.ReplicationConfiguration.Validate(); err != nil {
19783 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
19787 if invalidParams.Len() > 0 {
19788 return invalidParams
19793 // SetBucket sets the Bucket field's value.
19794 func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput {
19799 func (s *PutBucketReplicationInput) getBucket() (v string) {
19800 if s.Bucket == nil {
19806 // SetReplicationConfiguration sets the ReplicationConfiguration field's value.
19807 func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
19808 s.ReplicationConfiguration = v
19812 // SetToken sets the Token field's value.
19813 func (s *PutBucketReplicationInput) SetToken(v string) *PutBucketReplicationInput {
19818 type PutBucketReplicationOutput struct {
19819 _ struct{} `type:"structure"`
19822 // String returns the string representation
19823 func (s PutBucketReplicationOutput) String() string {
19824 return awsutil.Prettify(s)
19827 // GoString returns the string representation
19828 func (s PutBucketReplicationOutput) GoString() string {
19832 type PutBucketRequestPaymentInput struct {
19833 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
19835 // Bucket is a required field
19836 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19838 // RequestPaymentConfiguration is a required field
19839 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19842 // String returns the string representation
19843 func (s PutBucketRequestPaymentInput) String() string {
19844 return awsutil.Prettify(s)
19847 // GoString returns the string representation
19848 func (s PutBucketRequestPaymentInput) GoString() string {
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"))
19858 if s.Bucket != nil && len(*s.Bucket) < 1 {
19859 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19861 if s.RequestPaymentConfiguration == nil {
19862 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration"))
19864 if s.RequestPaymentConfiguration != nil {
19865 if err := s.RequestPaymentConfiguration.Validate(); err != nil {
19866 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams))
19870 if invalidParams.Len() > 0 {
19871 return invalidParams
19876 // SetBucket sets the Bucket field's value.
19877 func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput {
19882 func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
19883 if s.Bucket == nil {
19889 // SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
19890 func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
19891 s.RequestPaymentConfiguration = v
19895 type PutBucketRequestPaymentOutput struct {
19896 _ struct{} `type:"structure"`
19899 // String returns the string representation
19900 func (s PutBucketRequestPaymentOutput) String() string {
19901 return awsutil.Prettify(s)
19904 // GoString returns the string representation
19905 func (s PutBucketRequestPaymentOutput) GoString() string {
19909 type PutBucketTaggingInput struct {
19910 _ struct{} `type:"structure" payload:"Tagging"`
19912 // Bucket is a required field
19913 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19915 // Tagging is a required field
19916 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19919 // String returns the string representation
19920 func (s PutBucketTaggingInput) String() string {
19921 return awsutil.Prettify(s)
19924 // GoString returns the string representation
19925 func (s PutBucketTaggingInput) GoString() string {
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"))
19935 if s.Bucket != nil && len(*s.Bucket) < 1 {
19936 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19938 if s.Tagging == nil {
19939 invalidParams.Add(request.NewErrParamRequired("Tagging"))
19941 if s.Tagging != nil {
19942 if err := s.Tagging.Validate(); err != nil {
19943 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
19947 if invalidParams.Len() > 0 {
19948 return invalidParams
19953 // SetBucket sets the Bucket field's value.
19954 func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
19959 func (s *PutBucketTaggingInput) getBucket() (v string) {
19960 if s.Bucket == nil {
19966 // SetTagging sets the Tagging field's value.
19967 func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
19972 type PutBucketTaggingOutput struct {
19973 _ struct{} `type:"structure"`
19976 // String returns the string representation
19977 func (s PutBucketTaggingOutput) String() string {
19978 return awsutil.Prettify(s)
19981 // GoString returns the string representation
19982 func (s PutBucketTaggingOutput) GoString() string {
19986 type PutBucketVersioningInput struct {
19987 _ struct{} `type:"structure" payload:"VersioningConfiguration"`
19989 // Bucket is a required field
19990 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
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.
20000 // VersioningConfiguration is a required field
20001 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20004 // String returns the string representation
20005 func (s PutBucketVersioningInput) String() string {
20006 return awsutil.Prettify(s)
20009 // GoString returns the string representation
20010 func (s PutBucketVersioningInput) GoString() string {
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"))
20020 if s.Bucket != nil && len(*s.Bucket) < 1 {
20021 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20023 if s.VersioningConfiguration == nil {
20024 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration"))
20027 if invalidParams.Len() > 0 {
20028 return invalidParams
20033 // SetBucket sets the Bucket field's value.
20034 func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput {
20039 func (s *PutBucketVersioningInput) getBucket() (v string) {
20040 if s.Bucket == nil {
20046 // SetMFA sets the MFA field's value.
20047 func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
20052 // SetVersioningConfiguration sets the VersioningConfiguration field's value.
20053 func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput {
20054 s.VersioningConfiguration = v
20058 type PutBucketVersioningOutput struct {
20059 _ struct{} `type:"structure"`
20062 // String returns the string representation
20063 func (s PutBucketVersioningOutput) String() string {
20064 return awsutil.Prettify(s)
20067 // GoString returns the string representation
20068 func (s PutBucketVersioningOutput) GoString() string {
20072 type PutBucketWebsiteInput struct {
20073 _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
20075 // Bucket is a required field
20076 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20078 // Specifies website configuration parameters for an Amazon S3 bucket.
20080 // WebsiteConfiguration is a required field
20081 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20084 // String returns the string representation
20085 func (s PutBucketWebsiteInput) String() string {
20086 return awsutil.Prettify(s)
20089 // GoString returns the string representation
20090 func (s PutBucketWebsiteInput) GoString() string {
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"))
20100 if s.Bucket != nil && len(*s.Bucket) < 1 {
20101 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20103 if s.WebsiteConfiguration == nil {
20104 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration"))
20106 if s.WebsiteConfiguration != nil {
20107 if err := s.WebsiteConfiguration.Validate(); err != nil {
20108 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams))
20112 if invalidParams.Len() > 0 {
20113 return invalidParams
20118 // SetBucket sets the Bucket field's value.
20119 func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
20124 func (s *PutBucketWebsiteInput) getBucket() (v string) {
20125 if s.Bucket == nil {
20131 // SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
20132 func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
20133 s.WebsiteConfiguration = v
20137 type PutBucketWebsiteOutput struct {
20138 _ struct{} `type:"structure"`
20141 // String returns the string representation
20142 func (s PutBucketWebsiteOutput) String() string {
20143 return awsutil.Prettify(s)
20146 // GoString returns the string representation
20147 func (s PutBucketWebsiteOutput) GoString() string {
20151 type PutObjectAclInput struct {
20152 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
20154 // The canned ACL to apply to the object.
20155 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
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/"`
20160 // Bucket is a required field
20161 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20163 // Allows grantee the read, write, read ACP, and write ACP permissions on the
20165 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20167 // Allows grantee to list the objects in the bucket.
20168 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20170 // Allows grantee to read the bucket ACL.
20171 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
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"`
20176 // Allows grantee to write the ACL for the applicable bucket.
20177 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20179 // Key is a required field
20180 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
20188 // VersionId used to reference a specific version of the object.
20189 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20192 // String returns the string representation
20193 func (s PutObjectAclInput) String() string {
20194 return awsutil.Prettify(s)
20197 // GoString returns the string representation
20198 func (s PutObjectAclInput) GoString() string {
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"))
20208 if s.Bucket != nil && len(*s.Bucket) < 1 {
20209 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20212 invalidParams.Add(request.NewErrParamRequired("Key"))
20214 if s.Key != nil && len(*s.Key) < 1 {
20215 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20217 if s.AccessControlPolicy != nil {
20218 if err := s.AccessControlPolicy.Validate(); err != nil {
20219 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
20223 if invalidParams.Len() > 0 {
20224 return invalidParams
20229 // SetACL sets the ACL field's value.
20230 func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput {
20235 // SetAccessControlPolicy sets the AccessControlPolicy field's value.
20236 func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput {
20237 s.AccessControlPolicy = v
20241 // SetBucket sets the Bucket field's value.
20242 func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
20247 func (s *PutObjectAclInput) getBucket() (v string) {
20248 if s.Bucket == nil {
20254 // SetGrantFullControl sets the GrantFullControl field's value.
20255 func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
20256 s.GrantFullControl = &v
20260 // SetGrantRead sets the GrantRead field's value.
20261 func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput {
20266 // SetGrantReadACP sets the GrantReadACP field's value.
20267 func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput {
20268 s.GrantReadACP = &v
20272 // SetGrantWrite sets the GrantWrite field's value.
20273 func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput {
20278 // SetGrantWriteACP sets the GrantWriteACP field's value.
20279 func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput {
20280 s.GrantWriteACP = &v
20284 // SetKey sets the Key field's value.
20285 func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput {
20290 // SetRequestPayer sets the RequestPayer field's value.
20291 func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput {
20292 s.RequestPayer = &v
20296 // SetVersionId sets the VersionId field's value.
20297 func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
20302 type PutObjectAclOutput struct {
20303 _ struct{} `type:"structure"`
20305 // If present, indicates that the requester was successfully charged for the
20307 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20310 // String returns the string representation
20311 func (s PutObjectAclOutput) String() string {
20312 return awsutil.Prettify(s)
20315 // GoString returns the string representation
20316 func (s PutObjectAclOutput) GoString() string {
20320 // SetRequestCharged sets the RequestCharged field's value.
20321 func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
20322 s.RequestCharged = &v
20326 type PutObjectInput struct {
20327 _ struct{} `type:"structure" payload:"Body"`
20329 // The canned ACL to apply to the object.
20330 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20333 Body io.ReadSeeker `type:"blob"`
20335 // Name of the bucket to which the PUT operation was initiated.
20337 // Bucket is a required field
20338 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20340 // Specifies caching behavior along the request/reply chain.
20341 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
20343 // Specifies presentational information for the object.
20344 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
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"`
20351 // The language the content is in.
20352 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
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"`
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"`
20363 // A standard MIME type describing the format of the object data.
20364 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
20366 // The date and time at which the object is no longer cacheable.
20367 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
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"`
20372 // Allows grantee to read the object data and its metadata.
20373 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20375 // Allows grantee to read the object ACL.
20376 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20378 // Allows grantee to write the ACL for the applicable object.
20379 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20381 // Object key for which the PUT operation was initiated.
20383 // Key is a required field
20384 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
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"`
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"`
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"`
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"`
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"`
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
20412 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
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"`
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"`
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"`
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"`
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"`
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"`
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"`
20447 // String returns the string representation
20448 func (s PutObjectInput) String() string {
20449 return awsutil.Prettify(s)
20452 // GoString returns the string representation
20453 func (s PutObjectInput) GoString() string {
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"))
20463 if s.Bucket != nil && len(*s.Bucket) < 1 {
20464 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20467 invalidParams.Add(request.NewErrParamRequired("Key"))
20469 if s.Key != nil && len(*s.Key) < 1 {
20470 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20473 if invalidParams.Len() > 0 {
20474 return invalidParams
20479 // SetACL sets the ACL field's value.
20480 func (s *PutObjectInput) SetACL(v string) *PutObjectInput {
20485 // SetBody sets the Body field's value.
20486 func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput {
20491 // SetBucket sets the Bucket field's value.
20492 func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
20497 func (s *PutObjectInput) getBucket() (v string) {
20498 if s.Bucket == nil {
20504 // SetCacheControl sets the CacheControl field's value.
20505 func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
20506 s.CacheControl = &v
20510 // SetContentDisposition sets the ContentDisposition field's value.
20511 func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
20512 s.ContentDisposition = &v
20516 // SetContentEncoding sets the ContentEncoding field's value.
20517 func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput {
20518 s.ContentEncoding = &v
20522 // SetContentLanguage sets the ContentLanguage field's value.
20523 func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput {
20524 s.ContentLanguage = &v
20528 // SetContentLength sets the ContentLength field's value.
20529 func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
20530 s.ContentLength = &v
20534 // SetContentMD5 sets the ContentMD5 field's value.
20535 func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
20540 // SetContentType sets the ContentType field's value.
20541 func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
20546 // SetExpires sets the Expires field's value.
20547 func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput {
20552 // SetGrantFullControl sets the GrantFullControl field's value.
20553 func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput {
20554 s.GrantFullControl = &v
20558 // SetGrantRead sets the GrantRead field's value.
20559 func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput {
20564 // SetGrantReadACP sets the GrantReadACP field's value.
20565 func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput {
20566 s.GrantReadACP = &v
20570 // SetGrantWriteACP sets the GrantWriteACP field's value.
20571 func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput {
20572 s.GrantWriteACP = &v
20576 // SetKey sets the Key field's value.
20577 func (s *PutObjectInput) SetKey(v string) *PutObjectInput {
20582 // SetMetadata sets the Metadata field's value.
20583 func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput {
20588 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
20589 func (s *PutObjectInput) SetObjectLockLegalHoldStatus(v string) *PutObjectInput {
20590 s.ObjectLockLegalHoldStatus = &v
20594 // SetObjectLockMode sets the ObjectLockMode field's value.
20595 func (s *PutObjectInput) SetObjectLockMode(v string) *PutObjectInput {
20596 s.ObjectLockMode = &v
20600 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
20601 func (s *PutObjectInput) SetObjectLockRetainUntilDate(v time.Time) *PutObjectInput {
20602 s.ObjectLockRetainUntilDate = &v
20606 // SetRequestPayer sets the RequestPayer field's value.
20607 func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput {
20608 s.RequestPayer = &v
20612 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20613 func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput {
20614 s.SSECustomerAlgorithm = &v
20618 // SetSSECustomerKey sets the SSECustomerKey field's value.
20619 func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
20620 s.SSECustomerKey = &v
20624 func (s *PutObjectInput) getSSECustomerKey() (v string) {
20625 if s.SSECustomerKey == nil {
20628 return *s.SSECustomerKey
20631 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20632 func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
20633 s.SSECustomerKeyMD5 = &v
20637 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20638 func (s *PutObjectInput) SetSSEKMSEncryptionContext(v string) *PutObjectInput {
20639 s.SSEKMSEncryptionContext = &v
20643 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20644 func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
20649 // SetServerSideEncryption sets the ServerSideEncryption field's value.
20650 func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput {
20651 s.ServerSideEncryption = &v
20655 // SetStorageClass sets the StorageClass field's value.
20656 func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput {
20657 s.StorageClass = &v
20661 // SetTagging sets the Tagging field's value.
20662 func (s *PutObjectInput) SetTagging(v string) *PutObjectInput {
20667 // SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
20668 func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
20669 s.WebsiteRedirectLocation = &v
20673 type PutObjectLegalHoldInput struct {
20674 _ struct{} `type:"structure" payload:"LegalHold"`
20676 // The bucket containing the object that you want to place a Legal Hold on.
20678 // Bucket is a required field
20679 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20681 // The key name for the object that you want to place a Legal Hold on.
20683 // Key is a required field
20684 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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/"`
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"`
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"`
20700 // String returns the string representation
20701 func (s PutObjectLegalHoldInput) String() string {
20702 return awsutil.Prettify(s)
20705 // GoString returns the string representation
20706 func (s PutObjectLegalHoldInput) GoString() string {
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"))
20716 if s.Bucket != nil && len(*s.Bucket) < 1 {
20717 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20720 invalidParams.Add(request.NewErrParamRequired("Key"))
20722 if s.Key != nil && len(*s.Key) < 1 {
20723 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20726 if invalidParams.Len() > 0 {
20727 return invalidParams
20732 // SetBucket sets the Bucket field's value.
20733 func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput {
20738 func (s *PutObjectLegalHoldInput) getBucket() (v string) {
20739 if s.Bucket == nil {
20745 // SetKey sets the Key field's value.
20746 func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput {
20751 // SetLegalHold sets the LegalHold field's value.
20752 func (s *PutObjectLegalHoldInput) SetLegalHold(v *ObjectLockLegalHold) *PutObjectLegalHoldInput {
20757 // SetRequestPayer sets the RequestPayer field's value.
20758 func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput {
20759 s.RequestPayer = &v
20763 // SetVersionId sets the VersionId field's value.
20764 func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput {
20769 type PutObjectLegalHoldOutput struct {
20770 _ struct{} `type:"structure"`
20772 // If present, indicates that the requester was successfully charged for the
20774 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20777 // String returns the string representation
20778 func (s PutObjectLegalHoldOutput) String() string {
20779 return awsutil.Prettify(s)
20782 // GoString returns the string representation
20783 func (s PutObjectLegalHoldOutput) GoString() string {
20787 // SetRequestCharged sets the RequestCharged field's value.
20788 func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHoldOutput {
20789 s.RequestCharged = &v
20793 type PutObjectLockConfigurationInput struct {
20794 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
20796 // The bucket whose object lock configuration you want to create or replace.
20798 // Bucket is a required field
20799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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/"`
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"`
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"`
20814 // String returns the string representation
20815 func (s PutObjectLockConfigurationInput) String() string {
20816 return awsutil.Prettify(s)
20819 // GoString returns the string representation
20820 func (s PutObjectLockConfigurationInput) GoString() string {
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"))
20830 if s.Bucket != nil && len(*s.Bucket) < 1 {
20831 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20834 if invalidParams.Len() > 0 {
20835 return invalidParams
20840 // SetBucket sets the Bucket field's value.
20841 func (s *PutObjectLockConfigurationInput) SetBucket(v string) *PutObjectLockConfigurationInput {
20846 func (s *PutObjectLockConfigurationInput) getBucket() (v string) {
20847 if s.Bucket == nil {
20853 // SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
20854 func (s *PutObjectLockConfigurationInput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *PutObjectLockConfigurationInput {
20855 s.ObjectLockConfiguration = v
20859 // SetRequestPayer sets the RequestPayer field's value.
20860 func (s *PutObjectLockConfigurationInput) SetRequestPayer(v string) *PutObjectLockConfigurationInput {
20861 s.RequestPayer = &v
20865 // SetToken sets the Token field's value.
20866 func (s *PutObjectLockConfigurationInput) SetToken(v string) *PutObjectLockConfigurationInput {
20871 type PutObjectLockConfigurationOutput struct {
20872 _ struct{} `type:"structure"`
20874 // If present, indicates that the requester was successfully charged for the
20876 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20879 // String returns the string representation
20880 func (s PutObjectLockConfigurationOutput) String() string {
20881 return awsutil.Prettify(s)
20884 // GoString returns the string representation
20885 func (s PutObjectLockConfigurationOutput) GoString() string {
20889 // SetRequestCharged sets the RequestCharged field's value.
20890 func (s *PutObjectLockConfigurationOutput) SetRequestCharged(v string) *PutObjectLockConfigurationOutput {
20891 s.RequestCharged = &v
20895 type PutObjectOutput struct {
20896 _ struct{} `type:"structure"`
20898 // Entity tag for the uploaded object.
20899 ETag *string `location:"header" locationName:"ETag" type:"string"`
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"`
20905 // If present, indicates that the requester was successfully charged for the
20907 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20909 // If server-side encryption with a customer-provided encryption key was requested,
20910 // the response will include this header confirming the encryption algorithm
20912 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
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"`
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"`
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"`
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"`
20932 // Version of the object.
20933 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
20936 // String returns the string representation
20937 func (s PutObjectOutput) String() string {
20938 return awsutil.Prettify(s)
20941 // GoString returns the string representation
20942 func (s PutObjectOutput) GoString() string {
20946 // SetETag sets the ETag field's value.
20947 func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
20952 // SetExpiration sets the Expiration field's value.
20953 func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput {
20958 // SetRequestCharged sets the RequestCharged field's value.
20959 func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput {
20960 s.RequestCharged = &v
20964 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20965 func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput {
20966 s.SSECustomerAlgorithm = &v
20970 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20971 func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
20972 s.SSECustomerKeyMD5 = &v
20976 // SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20977 func (s *PutObjectOutput) SetSSEKMSEncryptionContext(v string) *PutObjectOutput {
20978 s.SSEKMSEncryptionContext = &v
20982 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20983 func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
20988 // SetServerSideEncryption sets the ServerSideEncryption field's value.
20989 func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput {
20990 s.ServerSideEncryption = &v
20994 // SetVersionId sets the VersionId field's value.
20995 func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
21000 type PutObjectRetentionInput struct {
21001 _ struct{} `type:"structure" payload:"Retention"`
21003 // The bucket that contains the object you want to apply this Object Retention
21004 // configuration to.
21006 // Bucket is a required field
21007 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21009 // Indicates whether this operation should bypass Governance-mode restrictions.j
21010 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
21012 // The key name for the object that you want to apply this Object Retention
21013 // configuration to.
21015 // Key is a required field
21016 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
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/"`
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"`
21032 // String returns the string representation
21033 func (s PutObjectRetentionInput) String() string {
21034 return awsutil.Prettify(s)
21037 // GoString returns the string representation
21038 func (s PutObjectRetentionInput) GoString() string {
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"))
21048 if s.Bucket != nil && len(*s.Bucket) < 1 {
21049 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21052 invalidParams.Add(request.NewErrParamRequired("Key"))
21054 if s.Key != nil && len(*s.Key) < 1 {
21055 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21058 if invalidParams.Len() > 0 {
21059 return invalidParams
21064 // SetBucket sets the Bucket field's value.
21065 func (s *PutObjectRetentionInput) SetBucket(v string) *PutObjectRetentionInput {
21070 func (s *PutObjectRetentionInput) getBucket() (v string) {
21071 if s.Bucket == nil {
21077 // SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
21078 func (s *PutObjectRetentionInput) SetBypassGovernanceRetention(v bool) *PutObjectRetentionInput {
21079 s.BypassGovernanceRetention = &v
21083 // SetKey sets the Key field's value.
21084 func (s *PutObjectRetentionInput) SetKey(v string) *PutObjectRetentionInput {
21089 // SetRequestPayer sets the RequestPayer field's value.
21090 func (s *PutObjectRetentionInput) SetRequestPayer(v string) *PutObjectRetentionInput {
21091 s.RequestPayer = &v
21095 // SetRetention sets the Retention field's value.
21096 func (s *PutObjectRetentionInput) SetRetention(v *ObjectLockRetention) *PutObjectRetentionInput {
21101 // SetVersionId sets the VersionId field's value.
21102 func (s *PutObjectRetentionInput) SetVersionId(v string) *PutObjectRetentionInput {
21107 type PutObjectRetentionOutput struct {
21108 _ struct{} `type:"structure"`
21110 // If present, indicates that the requester was successfully charged for the
21112 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
21115 // String returns the string representation
21116 func (s PutObjectRetentionOutput) String() string {
21117 return awsutil.Prettify(s)
21120 // GoString returns the string representation
21121 func (s PutObjectRetentionOutput) GoString() string {
21125 // SetRequestCharged sets the RequestCharged field's value.
21126 func (s *PutObjectRetentionOutput) SetRequestCharged(v string) *PutObjectRetentionOutput {
21127 s.RequestCharged = &v
21131 type PutObjectTaggingInput struct {
21132 _ struct{} `type:"structure" payload:"Tagging"`
21134 // Bucket is a required field
21135 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21137 // Key is a required field
21138 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21140 // Tagging is a required field
21141 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21143 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
21146 // String returns the string representation
21147 func (s PutObjectTaggingInput) String() string {
21148 return awsutil.Prettify(s)
21151 // GoString returns the string representation
21152 func (s PutObjectTaggingInput) GoString() string {
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"))
21162 if s.Bucket != nil && len(*s.Bucket) < 1 {
21163 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21166 invalidParams.Add(request.NewErrParamRequired("Key"))
21168 if s.Key != nil && len(*s.Key) < 1 {
21169 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21171 if s.Tagging == nil {
21172 invalidParams.Add(request.NewErrParamRequired("Tagging"))
21174 if s.Tagging != nil {
21175 if err := s.Tagging.Validate(); err != nil {
21176 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
21180 if invalidParams.Len() > 0 {
21181 return invalidParams
21186 // SetBucket sets the Bucket field's value.
21187 func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
21192 func (s *PutObjectTaggingInput) getBucket() (v string) {
21193 if s.Bucket == nil {
21199 // SetKey sets the Key field's value.
21200 func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
21205 // SetTagging sets the Tagging field's value.
21206 func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput {
21211 // SetVersionId sets the VersionId field's value.
21212 func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
21217 type PutObjectTaggingOutput struct {
21218 _ struct{} `type:"structure"`
21220 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
21223 // String returns the string representation
21224 func (s PutObjectTaggingOutput) String() string {
21225 return awsutil.Prettify(s)
21228 // GoString returns the string representation
21229 func (s PutObjectTaggingOutput) GoString() string {
21233 // SetVersionId sets the VersionId field's value.
21234 func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput {
21239 type PutPublicAccessBlockInput struct {
21240 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
21242 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
21245 // Bucket is a required field
21246 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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.
21254 // PublicAccessBlockConfiguration is a required field
21255 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21258 // String returns the string representation
21259 func (s PutPublicAccessBlockInput) String() string {
21260 return awsutil.Prettify(s)
21263 // GoString returns the string representation
21264 func (s PutPublicAccessBlockInput) GoString() string {
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"))
21274 if s.Bucket != nil && len(*s.Bucket) < 1 {
21275 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21277 if s.PublicAccessBlockConfiguration == nil {
21278 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration"))
21281 if invalidParams.Len() > 0 {
21282 return invalidParams
21287 // SetBucket sets the Bucket field's value.
21288 func (s *PutPublicAccessBlockInput) SetBucket(v string) *PutPublicAccessBlockInput {
21293 func (s *PutPublicAccessBlockInput) getBucket() (v string) {
21294 if s.Bucket == nil {
21300 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
21301 func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput {
21302 s.PublicAccessBlockConfiguration = v
21306 type PutPublicAccessBlockOutput struct {
21307 _ struct{} `type:"structure"`
21310 // String returns the string representation
21311 func (s PutPublicAccessBlockOutput) String() string {
21312 return awsutil.Prettify(s)
21315 // GoString returns the string representation
21316 func (s PutPublicAccessBlockOutput) GoString() string {
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"`
21325 // Events is a required field
21326 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
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"`
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"`
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.
21340 // QueueArn is a required field
21341 QueueArn *string `locationName:"Queue" type:"string" required:"true"`
21344 // String returns the string representation
21345 func (s QueueConfiguration) String() string {
21346 return awsutil.Prettify(s)
21349 // GoString returns the string representation
21350 func (s QueueConfiguration) GoString() string {
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"))
21360 if s.QueueArn == nil {
21361 invalidParams.Add(request.NewErrParamRequired("QueueArn"))
21364 if invalidParams.Len() > 0 {
21365 return invalidParams
21370 // SetEvents sets the Events field's value.
21371 func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration {
21376 // SetFilter sets the Filter field's value.
21377 func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration {
21382 // SetId sets the Id field's value.
21383 func (s *QueueConfiguration) SetId(v string) *QueueConfiguration {
21388 // SetQueueArn sets the QueueArn field's value.
21389 func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
21394 type QueueConfigurationDeprecated struct {
21395 _ struct{} `type:"structure"`
21397 // The bucket event for which to send notifications.
21399 // Deprecated: Event has been deprecated
21400 Event *string `deprecated:"true" type:"string" enum:"Event"`
21402 Events []*string `locationName:"Event" type:"list" flattened:"true"`
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"`
21408 Queue *string `type:"string"`
21411 // String returns the string representation
21412 func (s QueueConfigurationDeprecated) String() string {
21413 return awsutil.Prettify(s)
21416 // GoString returns the string representation
21417 func (s QueueConfigurationDeprecated) GoString() string {
21421 // SetEvent sets the Event field's value.
21422 func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated {
21427 // SetEvents sets the Events field's value.
21428 func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated {
21433 // SetId sets the Id field's value.
21434 func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated {
21439 // SetQueue sets the Queue field's value.
21440 func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated {
21445 type RecordsEvent struct {
21446 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
21448 // The byte array of partial, one or more result records.
21450 // Payload is automatically base64 encoded/decoded by the SDK.
21451 Payload []byte `type:"blob"`
21454 // String returns the string representation
21455 func (s RecordsEvent) String() string {
21456 return awsutil.Prettify(s)
21459 // GoString returns the string representation
21460 func (s RecordsEvent) GoString() string {
21464 // SetPayload sets the Payload field's value.
21465 func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
21470 // The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
21471 func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
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,
21479 s.Payload = make([]byte, len(msg.Payload))
21480 copy(s.Payload, msg.Payload)
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"`
21489 // The host name to use in the redirect request.
21490 HostName *string `type:"string"`
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"`
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"`
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"`
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"`
21514 // String returns the string representation
21515 func (s Redirect) String() string {
21516 return awsutil.Prettify(s)
21519 // GoString returns the string representation
21520 func (s Redirect) GoString() string {
21524 // SetHostName sets the HostName field's value.
21525 func (s *Redirect) SetHostName(v string) *Redirect {
21530 // SetHttpRedirectCode sets the HttpRedirectCode field's value.
21531 func (s *Redirect) SetHttpRedirectCode(v string) *Redirect {
21532 s.HttpRedirectCode = &v
21536 // SetProtocol sets the Protocol field's value.
21537 func (s *Redirect) SetProtocol(v string) *Redirect {
21542 // SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
21543 func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect {
21544 s.ReplaceKeyPrefixWith = &v
21548 // SetReplaceKeyWith sets the ReplaceKeyWith field's value.
21549 func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
21550 s.ReplaceKeyWith = &v
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"`
21559 // Name of the host where requests are redirected.
21561 // HostName is a required field
21562 HostName *string `type:"string" required:"true"`
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"`
21569 // String returns the string representation
21570 func (s RedirectAllRequestsTo) String() string {
21571 return awsutil.Prettify(s)
21574 // GoString returns the string representation
21575 func (s RedirectAllRequestsTo) GoString() string {
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"))
21586 if invalidParams.Len() > 0 {
21587 return invalidParams
21592 // SetHostName sets the HostName field's value.
21593 func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo {
21598 // SetProtocol sets the Protocol field's value.
21599 func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
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"`
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.
21614 // Role is a required field
21615 Role *string `type:"string" required:"true"`
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.
21620 // Rules is a required field
21621 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
21624 // String returns the string representation
21625 func (s ReplicationConfiguration) String() string {
21626 return awsutil.Prettify(s)
21629 // GoString returns the string representation
21630 func (s ReplicationConfiguration) GoString() string {
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"}
21638 invalidParams.Add(request.NewErrParamRequired("Role"))
21640 if s.Rules == nil {
21641 invalidParams.Add(request.NewErrParamRequired("Rules"))
21643 if s.Rules != nil {
21644 for i, v := range s.Rules {
21648 if err := v.Validate(); err != nil {
21649 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
21654 if invalidParams.Len() > 0 {
21655 return invalidParams
21660 // SetRole sets the Role field's value.
21661 func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration {
21666 // SetRules sets the Rules field's value.
21667 func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
21672 // Specifies which Amazon S3 objects to replicate and where to store the replicas.
21673 type ReplicationRule struct {
21674 _ struct{} `type:"structure"`
21676 // Specifies whether Amazon S3 should replicate delete makers.
21677 DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"`
21679 // A container for information about the replication destination.
21681 // Destination is a required field
21682 Destination *Destination `type:"structure" required:"true"`
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"`
21688 // A unique identifier for the rule. The maximum value is 255 characters.
21689 ID *string `type:"string"`
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.
21695 // Deprecated: Prefix has been deprecated
21696 Prefix *string `deprecated:"true" type:"string"`
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:
21703 // * Same object quality prefix based filter criteria If prefixes you specified
21704 // in multiple rules overlap
21706 // * Same object qualify tag based filter criteria specified in multiple
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"`
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"`
21720 // Specifies whether the rule is enabled.
21722 // Status is a required field
21723 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
21726 // String returns the string representation
21727 func (s ReplicationRule) String() string {
21728 return awsutil.Prettify(s)
21731 // GoString returns the string representation
21732 func (s ReplicationRule) GoString() string {
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"))
21742 if s.Status == nil {
21743 invalidParams.Add(request.NewErrParamRequired("Status"))
21745 if s.Destination != nil {
21746 if err := s.Destination.Validate(); err != nil {
21747 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
21750 if s.Filter != nil {
21751 if err := s.Filter.Validate(); err != nil {
21752 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
21755 if s.SourceSelectionCriteria != nil {
21756 if err := s.SourceSelectionCriteria.Validate(); err != nil {
21757 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
21761 if invalidParams.Len() > 0 {
21762 return invalidParams
21767 // SetDeleteMarkerReplication sets the DeleteMarkerReplication field's value.
21768 func (s *ReplicationRule) SetDeleteMarkerReplication(v *DeleteMarkerReplication) *ReplicationRule {
21769 s.DeleteMarkerReplication = v
21773 // SetDestination sets the Destination field's value.
21774 func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule {
21779 // SetFilter sets the Filter field's value.
21780 func (s *ReplicationRule) SetFilter(v *ReplicationRuleFilter) *ReplicationRule {
21785 // SetID sets the ID field's value.
21786 func (s *ReplicationRule) SetID(v string) *ReplicationRule {
21791 // SetPrefix sets the Prefix field's value.
21792 func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
21797 // SetPriority sets the Priority field's value.
21798 func (s *ReplicationRule) SetPriority(v int64) *ReplicationRule {
21803 // SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
21804 func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
21805 s.SourceSelectionCriteria = v
21809 // SetStatus sets the Status field's value.
21810 func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
21815 type ReplicationRuleAndOperator struct {
21816 _ struct{} `type:"structure"`
21818 Prefix *string `type:"string"`
21820 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
21823 // String returns the string representation
21824 func (s ReplicationRuleAndOperator) String() string {
21825 return awsutil.Prettify(s)
21828 // GoString returns the string representation
21829 func (s ReplicationRuleAndOperator) GoString() string {
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"}
21837 for i, v := range s.Tags {
21841 if err := v.Validate(); err != nil {
21842 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21847 if invalidParams.Len() > 0 {
21848 return invalidParams
21853 // SetPrefix sets the Prefix field's value.
21854 func (s *ReplicationRuleAndOperator) SetPrefix(v string) *ReplicationRuleAndOperator {
21859 // SetTags sets the Tags field's value.
21860 func (s *ReplicationRuleAndOperator) SetTags(v []*Tag) *ReplicationRuleAndOperator {
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"`
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:
21874 // * If you specify both a Prefix and a Tag filter, wrap these filters in
21877 // * If you specify a filter based on multiple tags, wrap the Tag elements
21879 And *ReplicationRuleAndOperator `type:"structure"`
21881 // An object keyname prefix that identifies the subset of objects to which the
21883 Prefix *string `type:"string"`
21885 // A container for specifying a tag key and value.
21887 // The rule applies only to objects that have the tag in their tag set.
21888 Tag *Tag `type:"structure"`
21891 // String returns the string representation
21892 func (s ReplicationRuleFilter) String() string {
21893 return awsutil.Prettify(s)
21896 // GoString returns the string representation
21897 func (s ReplicationRuleFilter) GoString() string {
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"}
21905 if err := s.And.Validate(); err != nil {
21906 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
21910 if err := s.Tag.Validate(); err != nil {
21911 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
21915 if invalidParams.Len() > 0 {
21916 return invalidParams
21921 // SetAnd sets the And field's value.
21922 func (s *ReplicationRuleFilter) SetAnd(v *ReplicationRuleAndOperator) *ReplicationRuleFilter {
21927 // SetPrefix sets the Prefix field's value.
21928 func (s *ReplicationRuleFilter) SetPrefix(v string) *ReplicationRuleFilter {
21933 // SetTag sets the Tag field's value.
21934 func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter {
21939 type RequestPaymentConfiguration struct {
21940 _ struct{} `type:"structure"`
21942 // Specifies who pays for the download and request fees.
21944 // Payer is a required field
21945 Payer *string `type:"string" required:"true" enum:"Payer"`
21948 // String returns the string representation
21949 func (s RequestPaymentConfiguration) String() string {
21950 return awsutil.Prettify(s)
21953 // GoString returns the string representation
21954 func (s RequestPaymentConfiguration) GoString() string {
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"))
21965 if invalidParams.Len() > 0 {
21966 return invalidParams
21971 // SetPayer sets the Payer field's value.
21972 func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration {
21977 type RequestProgress struct {
21978 _ struct{} `type:"structure"`
21980 // Specifies whether periodic QueryProgress frames should be sent. Valid values:
21981 // TRUE, FALSE. Default value: FALSE.
21982 Enabled *bool `type:"boolean"`
21985 // String returns the string representation
21986 func (s RequestProgress) String() string {
21987 return awsutil.Prettify(s)
21990 // GoString returns the string representation
21991 func (s RequestProgress) GoString() string {
21995 // SetEnabled sets the Enabled field's value.
21996 func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
22001 type RestoreObjectInput struct {
22002 _ struct{} `type:"structure" payload:"RestoreRequest"`
22004 // Bucket is a required field
22005 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22007 // Key is a required field
22008 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
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"`
22016 // Container for restore job parameters.
22017 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
22019 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
22022 // String returns the string representation
22023 func (s RestoreObjectInput) String() string {
22024 return awsutil.Prettify(s)
22027 // GoString returns the string representation
22028 func (s RestoreObjectInput) GoString() string {
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"))
22038 if s.Bucket != nil && len(*s.Bucket) < 1 {
22039 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22042 invalidParams.Add(request.NewErrParamRequired("Key"))
22044 if s.Key != nil && len(*s.Key) < 1 {
22045 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22047 if s.RestoreRequest != nil {
22048 if err := s.RestoreRequest.Validate(); err != nil {
22049 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams))
22053 if invalidParams.Len() > 0 {
22054 return invalidParams
22059 // SetBucket sets the Bucket field's value.
22060 func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
22065 func (s *RestoreObjectInput) getBucket() (v string) {
22066 if s.Bucket == nil {
22072 // SetKey sets the Key field's value.
22073 func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
22078 // SetRequestPayer sets the RequestPayer field's value.
22079 func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput {
22080 s.RequestPayer = &v
22084 // SetRestoreRequest sets the RestoreRequest field's value.
22085 func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput {
22086 s.RestoreRequest = v
22090 // SetVersionId sets the VersionId field's value.
22091 func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
22096 type RestoreObjectOutput struct {
22097 _ struct{} `type:"structure"`
22099 // If present, indicates that the requester was successfully charged for the
22101 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
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"`
22108 // String returns the string representation
22109 func (s RestoreObjectOutput) String() string {
22110 return awsutil.Prettify(s)
22113 // GoString returns the string representation
22114 func (s RestoreObjectOutput) GoString() string {
22118 // SetRequestCharged sets the RequestCharged field's value.
22119 func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
22120 s.RequestCharged = &v
22124 // SetRestoreOutputPath sets the RestoreOutputPath field's value.
22125 func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
22126 s.RestoreOutputPath = &v
22130 // Container for restore job parameters.
22131 type RestoreRequest struct {
22132 _ struct{} `type:"structure"`
22134 // Lifetime of the active copy in days. Do not use with restores that specify
22136 Days *int64 `type:"integer"`
22138 // The optional description for the job.
22139 Description *string `type:"string"`
22141 // Glacier related parameters pertaining to this job. Do not use with restores
22142 // that specify OutputLocation.
22143 GlacierJobParameters *GlacierJobParameters `type:"structure"`
22145 // Describes the location where the restore job's output is stored.
22146 OutputLocation *OutputLocation `type:"structure"`
22148 // Describes the parameters for Select job types.
22149 SelectParameters *SelectParameters `type:"structure"`
22151 // Glacier retrieval tier at which the restore will be processed.
22152 Tier *string `type:"string" enum:"Tier"`
22154 // Type of restore request.
22155 Type *string `type:"string" enum:"RestoreRequestType"`
22158 // String returns the string representation
22159 func (s RestoreRequest) String() string {
22160 return awsutil.Prettify(s)
22163 // GoString returns the string representation
22164 func (s RestoreRequest) GoString() string {
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))
22176 if s.OutputLocation != nil {
22177 if err := s.OutputLocation.Validate(); err != nil {
22178 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
22181 if s.SelectParameters != nil {
22182 if err := s.SelectParameters.Validate(); err != nil {
22183 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
22187 if invalidParams.Len() > 0 {
22188 return invalidParams
22193 // SetDays sets the Days field's value.
22194 func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
22199 // SetDescription sets the Description field's value.
22200 func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
22205 // SetGlacierJobParameters sets the GlacierJobParameters field's value.
22206 func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
22207 s.GlacierJobParameters = v
22211 // SetOutputLocation sets the OutputLocation field's value.
22212 func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
22213 s.OutputLocation = v
22217 // SetSelectParameters sets the SelectParameters field's value.
22218 func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
22219 s.SelectParameters = v
22223 // SetTier sets the Tier field's value.
22224 func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
22229 // SetType sets the Type field's value.
22230 func (s *RestoreRequest) SetType(v string) *RestoreRequest {
22235 // Specifies the redirect behavior and when a redirect is applied.
22236 type RoutingRule struct {
22237 _ struct{} `type:"structure"`
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"`
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.
22249 // Redirect is a required field
22250 Redirect *Redirect `type:"structure" required:"true"`
22253 // String returns the string representation
22254 func (s RoutingRule) String() string {
22255 return awsutil.Prettify(s)
22258 // GoString returns the string representation
22259 func (s RoutingRule) GoString() string {
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"))
22270 if invalidParams.Len() > 0 {
22271 return invalidParams
22276 // SetCondition sets the Condition field's value.
22277 func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule {
22282 // SetRedirect sets the Redirect field's value.
22283 func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
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.
22292 _ struct{} `type:"structure"`
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"`
22301 Expiration *LifecycleExpiration `type:"structure"`
22303 // Unique identifier for the rule. The value can't be longer than 255 characters.
22304 ID *string `type:"string"`
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"`
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
22320 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
22322 // Object key prefix that identifies one or more objects to which this rule
22325 // Prefix is a required field
22326 Prefix *string `type:"string" required:"true"`
22328 // If Enabled, the rule is currently being applied. If Disabled, the rule is
22329 // not currently being applied.
22331 // Status is a required field
22332 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
22334 // Specifies when an object transitions to a specified storage class.
22335 Transition *Transition `type:"structure"`
22338 // String returns the string representation
22339 func (s Rule) String() string {
22340 return awsutil.Prettify(s)
22343 // GoString returns the string representation
22344 func (s Rule) GoString() string {
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"))
22354 if s.Status == nil {
22355 invalidParams.Add(request.NewErrParamRequired("Status"))
22358 if invalidParams.Len() > 0 {
22359 return invalidParams
22364 // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
22365 func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule {
22366 s.AbortIncompleteMultipartUpload = v
22370 // SetExpiration sets the Expiration field's value.
22371 func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule {
22376 // SetID sets the ID field's value.
22377 func (s *Rule) SetID(v string) *Rule {
22382 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
22383 func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule {
22384 s.NoncurrentVersionExpiration = v
22388 // SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value.
22389 func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule {
22390 s.NoncurrentVersionTransition = v
22394 // SetPrefix sets the Prefix field's value.
22395 func (s *Rule) SetPrefix(v string) *Rule {
22400 // SetStatus sets the Status field's value.
22401 func (s *Rule) SetStatus(v string) *Rule {
22406 // SetTransition sets the Transition field's value.
22407 func (s *Rule) SetTransition(v *Transition) *Rule {
22412 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
22413 type SSEKMS struct {
22414 _ struct{} `locationName:"SSE-KMS" type:"structure"`
22416 // Specifies the ID of the AWS Key Management Service (KMS) master encryption
22417 // key to use for encrypting Inventory reports.
22419 // KeyId is a required field
22420 KeyId *string `type:"string" required:"true" sensitive:"true"`
22423 // String returns the string representation
22424 func (s SSEKMS) String() string {
22425 return awsutil.Prettify(s)
22428 // GoString returns the string representation
22429 func (s SSEKMS) GoString() string {
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"))
22440 if invalidParams.Len() > 0 {
22441 return invalidParams
22446 // SetKeyId sets the KeyId field's value.
22447 func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
22452 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
22453 type SSES3 struct {
22454 _ struct{} `locationName:"SSE-S3" type:"structure"`
22457 // String returns the string representation
22458 func (s SSES3) String() string {
22459 return awsutil.Prettify(s)
22462 // GoString returns the string representation
22463 func (s SSES3) GoString() string {
22467 // SelectObjectContentEventStream provides handling of EventStreams for
22468 // the SelectObjectContent API.
22470 // Use this type to receive SelectObjectContentEventStream events. The events
22471 // can be read from the Events channel member.
22473 // The events that can be received are:
22475 // * ContinuationEvent
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.
22486 // Must not be nil.
22487 Reader SelectObjectContentEventStreamReader
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
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.
22499 // Will close the underlying EventStream reader. For EventStream over HTTP
22500 // connection this will also close the HTTP connection.
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) {
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 {
22515 es.StreamCloser.Close()
22520 // Events returns a channel to read EventStream Events from the
22521 // SelectObjectContent API.
22523 // These events are:
22525 // * ContinuationEvent
22530 func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22531 return es.Reader.Events()
22534 // SelectObjectContentEventStreamEvent groups together all EventStream
22535 // events read from the SelectObjectContent API.
22537 // These events are:
22539 // * ContinuationEvent
22544 type SelectObjectContentEventStreamEvent interface {
22545 eventSelectObjectContentEventStream()
22548 // SelectObjectContentEventStreamReader provides the interface for reading EventStream
22549 // Events from the SelectObjectContent API. The
22550 // default implementation for this interface will be SelectObjectContentEventStream.
22552 // The reader's Close method must allow multiple concurrent calls.
22554 // These events are:
22556 // * ContinuationEvent
22561 type SelectObjectContentEventStreamReader interface {
22562 // Returns a channel of events as they are read from the event stream.
22563 Events() <-chan SelectObjectContentEventStreamEvent
22565 // Close will close the underlying event stream reader. For event stream over
22566 // HTTP this will also close the HTTP connection.
22569 // Returns any error that has occurred while reading from the event stream.
22573 type readSelectObjectContentEventStream struct {
22574 eventReader *eventstreamapi.EventReader
22575 stream chan SelectObjectContentEventStreamEvent
22576 errVal atomic.Value
22579 closeOnce sync.Once
22582 func newReadSelectObjectContentEventStream(
22583 reader io.ReadCloser,
22584 unmarshalers request.HandlerList,
22586 logLevel aws.LogLevelType,
22587 ) *readSelectObjectContentEventStream {
22588 r := &readSelectObjectContentEventStream{
22589 stream: make(chan SelectObjectContentEventStreamEvent),
22590 done: make(chan struct{}),
22593 r.eventReader = eventstreamapi.NewEventReader(
22595 protocol.HandlerPayloadUnmarshal{
22596 Unmarshalers: unmarshalers,
22598 r.unmarshalerForEventType,
22600 r.eventReader.UseLogger(logger, logLevel)
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)
22613 func (r *readSelectObjectContentEventStream) safeClose() {
22615 err := r.eventReader.Close()
22617 r.errVal.Store(err)
22621 func (r *readSelectObjectContentEventStream) Err() error {
22622 if v := r.errVal.Load(); v != nil {
22629 func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22633 func (r *readSelectObjectContentEventStream) readEventStream() {
22634 defer close(r.stream)
22637 event, err := r.eventReader.ReadEvent()
22644 // If closed already ignore the error
22648 r.errVal.Store(err)
22653 case r.stream <- event.(SelectObjectContentEventStreamEvent):
22660 func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
22662 ) (eventstreamapi.Unmarshaler, error) {
22665 return &ContinuationEvent{}, nil
22668 return &EndEvent{}, nil
22671 return &ProgressEvent{}, nil
22674 return &RecordsEvent{}, nil
22677 return &StatsEvent{}, nil
22679 return nil, awserr.New(
22680 request.ErrCodeSerialization,
22681 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
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/"`
22699 // Bucket is a required field
22700 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22702 // The expression that is used to query the object.
22704 // Expression is a required field
22705 Expression *string `type:"string" required:"true"`
22707 // The type of the provided expression (for example., SQL).
22709 // ExpressionType is a required field
22710 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22712 // Describes the format of the data in the object that is being queried.
22714 // InputSerialization is a required field
22715 InputSerialization *InputSerialization `type:"structure" required:"true"`
22719 // Key is a required field
22720 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
22722 // Describes the format of the data that you want Amazon S3 to return in response.
22724 // OutputSerialization is a required field
22725 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22727 // Specifies if periodic request progress information should be enabled.
22728 RequestProgress *RequestProgress `type:"structure"`
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"`
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"`
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"`
22743 // String returns the string representation
22744 func (s SelectObjectContentInput) String() string {
22745 return awsutil.Prettify(s)
22748 // GoString returns the string representation
22749 func (s SelectObjectContentInput) GoString() string {
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"))
22759 if s.Bucket != nil && len(*s.Bucket) < 1 {
22760 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22762 if s.Expression == nil {
22763 invalidParams.Add(request.NewErrParamRequired("Expression"))
22765 if s.ExpressionType == nil {
22766 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22768 if s.InputSerialization == nil {
22769 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22772 invalidParams.Add(request.NewErrParamRequired("Key"))
22774 if s.Key != nil && len(*s.Key) < 1 {
22775 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22777 if s.OutputSerialization == nil {
22778 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22781 if invalidParams.Len() > 0 {
22782 return invalidParams
22787 // SetBucket sets the Bucket field's value.
22788 func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
22793 func (s *SelectObjectContentInput) getBucket() (v string) {
22794 if s.Bucket == nil {
22800 // SetExpression sets the Expression field's value.
22801 func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
22806 // SetExpressionType sets the ExpressionType field's value.
22807 func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
22808 s.ExpressionType = &v
22812 // SetInputSerialization sets the InputSerialization field's value.
22813 func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
22814 s.InputSerialization = v
22818 // SetKey sets the Key field's value.
22819 func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
22824 // SetOutputSerialization sets the OutputSerialization field's value.
22825 func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
22826 s.OutputSerialization = v
22830 // SetRequestProgress sets the RequestProgress field's value.
22831 func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
22832 s.RequestProgress = v
22836 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
22837 func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
22838 s.SSECustomerAlgorithm = &v
22842 // SetSSECustomerKey sets the SSECustomerKey field's value.
22843 func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
22844 s.SSECustomerKey = &v
22848 func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
22849 if s.SSECustomerKey == nil {
22852 return *s.SSECustomerKey
22855 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
22856 func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
22857 s.SSECustomerKeyMD5 = &v
22861 type SelectObjectContentOutput struct {
22862 _ struct{} `type:"structure" payload:"Payload"`
22864 // Use EventStream to use the API's stream.
22865 EventStream *SelectObjectContentEventStream `type:"structure"`
22868 // String returns the string representation
22869 func (s SelectObjectContentOutput) String() string {
22870 return awsutil.Prettify(s)
22873 // GoString returns the string representation
22874 func (s SelectObjectContentOutput) GoString() string {
22878 // SetEventStream sets the EventStream field's value.
22879 func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
22884 func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
22885 if r.Error != nil {
22888 reader := newReadSelectObjectContentEventStream(
22889 r.HTTPResponse.Body,
22890 r.Handlers.UnmarshalStream,
22892 r.Config.LogLevel.Value(),
22894 go reader.readEventStream()
22896 eventStream := &SelectObjectContentEventStream{
22897 StreamCloser: r.HTTPResponse.Body,
22900 s.EventStream = eventStream
22903 // Describes the parameters for Select job types.
22904 type SelectParameters struct {
22905 _ struct{} `type:"structure"`
22907 // The expression that is used to query the object.
22909 // Expression is a required field
22910 Expression *string `type:"string" required:"true"`
22912 // The type of the provided expression (e.g., SQL).
22914 // ExpressionType is a required field
22915 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22917 // Describes the serialization format of the object.
22919 // InputSerialization is a required field
22920 InputSerialization *InputSerialization `type:"structure" required:"true"`
22922 // Describes how the results of the Select job are serialized.
22924 // OutputSerialization is a required field
22925 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22928 // String returns the string representation
22929 func (s SelectParameters) String() string {
22930 return awsutil.Prettify(s)
22933 // GoString returns the string representation
22934 func (s SelectParameters) GoString() string {
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"))
22944 if s.ExpressionType == nil {
22945 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22947 if s.InputSerialization == nil {
22948 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22950 if s.OutputSerialization == nil {
22951 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22954 if invalidParams.Len() > 0 {
22955 return invalidParams
22960 // SetExpression sets the Expression field's value.
22961 func (s *SelectParameters) SetExpression(v string) *SelectParameters {
22966 // SetExpressionType sets the ExpressionType field's value.
22967 func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
22968 s.ExpressionType = &v
22972 // SetInputSerialization sets the InputSerialization field's value.
22973 func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
22974 s.InputSerialization = v
22978 // SetOutputSerialization sets the OutputSerialization field's value.
22979 func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
22980 s.OutputSerialization = v
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"`
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"`
22996 // Server-side encryption algorithm to use for the default encryption.
22998 // SSEAlgorithm is a required field
22999 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
23002 // String returns the string representation
23003 func (s ServerSideEncryptionByDefault) String() string {
23004 return awsutil.Prettify(s)
23007 // GoString returns the string representation
23008 func (s ServerSideEncryptionByDefault) GoString() string {
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"))
23019 if invalidParams.Len() > 0 {
23020 return invalidParams
23025 // SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
23026 func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
23027 s.KMSMasterKeyID = &v
23031 // SetSSEAlgorithm sets the SSEAlgorithm field's value.
23032 func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
23033 s.SSEAlgorithm = &v
23037 // Specifies the default server-side-encryption configuration.
23038 type ServerSideEncryptionConfiguration struct {
23039 _ struct{} `type:"structure"`
23041 // Container for information about a particular server-side encryption configuration
23044 // Rules is a required field
23045 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
23048 // String returns the string representation
23049 func (s ServerSideEncryptionConfiguration) String() string {
23050 return awsutil.Prettify(s)
23053 // GoString returns the string representation
23054 func (s ServerSideEncryptionConfiguration) GoString() string {
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"))
23064 if s.Rules != nil {
23065 for i, v := range s.Rules {
23069 if err := v.Validate(); err != nil {
23070 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
23075 if invalidParams.Len() > 0 {
23076 return invalidParams
23081 // SetRules sets the Rules field's value.
23082 func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
23087 // Specifies the default server-side encryption configuration.
23088 type ServerSideEncryptionRule struct {
23089 _ struct{} `type:"structure"`
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"`
23097 // String returns the string representation
23098 func (s ServerSideEncryptionRule) String() string {
23099 return awsutil.Prettify(s)
23102 // GoString returns the string representation
23103 func (s ServerSideEncryptionRule) GoString() string {
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))
23116 if invalidParams.Len() > 0 {
23117 return invalidParams
23122 // SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
23123 func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
23124 s.ApplyServerSideEncryptionByDefault = v
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"`
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"`
23142 // String returns the string representation
23143 func (s SourceSelectionCriteria) String() string {
23144 return awsutil.Prettify(s)
23147 // GoString returns the string representation
23148 func (s SourceSelectionCriteria) GoString() string {
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))
23161 if invalidParams.Len() > 0 {
23162 return invalidParams
23167 // SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
23168 func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
23169 s.SseKmsEncryptedObjects = v
23173 // A container for filter information for the selection of S3 objects encrypted
23175 type SseKmsEncryptedObjects struct {
23176 _ struct{} `type:"structure"`
23178 // Specifies whether Amazon S3 replicates objects created with server-side encryption
23179 // using an AWS KMS-managed key.
23181 // Status is a required field
23182 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
23185 // String returns the string representation
23186 func (s SseKmsEncryptedObjects) String() string {
23187 return awsutil.Prettify(s)
23190 // GoString returns the string representation
23191 func (s SseKmsEncryptedObjects) GoString() string {
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"))
23202 if invalidParams.Len() > 0 {
23203 return invalidParams
23208 // SetStatus sets the Status field's value.
23209 func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
23214 type Stats struct {
23215 _ struct{} `type:"structure"`
23217 // The total number of uncompressed object bytes processed.
23218 BytesProcessed *int64 `type:"long"`
23220 // The total number of bytes of records payload data returned.
23221 BytesReturned *int64 `type:"long"`
23223 // The total number of object bytes scanned.
23224 BytesScanned *int64 `type:"long"`
23227 // String returns the string representation
23228 func (s Stats) String() string {
23229 return awsutil.Prettify(s)
23232 // GoString returns the string representation
23233 func (s Stats) GoString() string {
23237 // SetBytesProcessed sets the BytesProcessed field's value.
23238 func (s *Stats) SetBytesProcessed(v int64) *Stats {
23239 s.BytesProcessed = &v
23243 // SetBytesReturned sets the BytesReturned field's value.
23244 func (s *Stats) SetBytesReturned(v int64) *Stats {
23245 s.BytesReturned = &v
23249 // SetBytesScanned sets the BytesScanned field's value.
23250 func (s *Stats) SetBytesScanned(v int64) *Stats {
23251 s.BytesScanned = &v
23255 type StatsEvent struct {
23256 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
23258 // The Stats event details.
23259 Details *Stats `locationName:"Details" type:"structure"`
23262 // String returns the string representation
23263 func (s StatsEvent) String() string {
23264 return awsutil.Prettify(s)
23267 // GoString returns the string representation
23268 func (s StatsEvent) GoString() string {
23272 // SetDetails sets the Details field's value.
23273 func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
23278 // The StatsEvent is and event in the SelectObjectContentEventStream group of events.
23279 func (s *StatsEvent) eventSelectObjectContentEventStream() {}
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,
23287 if err := payloadUnmarshaler.UnmarshalPayload(
23288 bytes.NewReader(msg.Payload), s,
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
23298 type StorageClassAnalysis struct {
23299 _ struct{} `type:"structure"`
23301 // Specifies how data related to the storage class analysis for an Amazon S3
23302 // bucket should be exported.
23303 DataExport *StorageClassAnalysisDataExport `type:"structure"`
23306 // String returns the string representation
23307 func (s StorageClassAnalysis) String() string {
23308 return awsutil.Prettify(s)
23311 // GoString returns the string representation
23312 func (s StorageClassAnalysis) GoString() string {
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))
23325 if invalidParams.Len() > 0 {
23326 return invalidParams
23331 // SetDataExport sets the DataExport field's value.
23332 func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis {
23337 type StorageClassAnalysisDataExport struct {
23338 _ struct{} `type:"structure"`
23340 // The place to store the data for an analysis.
23342 // Destination is a required field
23343 Destination *AnalyticsExportDestination `type:"structure" required:"true"`
23345 // The version of the output schema to use when exporting data. Must be V_1.
23347 // OutputSchemaVersion is a required field
23348 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"`
23351 // String returns the string representation
23352 func (s StorageClassAnalysisDataExport) String() string {
23353 return awsutil.Prettify(s)
23356 // GoString returns the string representation
23357 func (s StorageClassAnalysisDataExport) GoString() string {
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"))
23367 if s.OutputSchemaVersion == nil {
23368 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion"))
23370 if s.Destination != nil {
23371 if err := s.Destination.Validate(); err != nil {
23372 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
23376 if invalidParams.Len() > 0 {
23377 return invalidParams
23382 // SetDestination sets the Destination field's value.
23383 func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport {
23388 // SetOutputSchemaVersion sets the OutputSchemaVersion field's value.
23389 func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport {
23390 s.OutputSchemaVersion = &v
23395 _ struct{} `type:"structure"`
23397 // Name of the tag.
23399 // Key is a required field
23400 Key *string `min:"1" type:"string" required:"true"`
23402 // Value of the tag.
23404 // Value is a required field
23405 Value *string `type:"string" required:"true"`
23408 // String returns the string representation
23409 func (s Tag) String() string {
23410 return awsutil.Prettify(s)
23413 // GoString returns the string representation
23414 func (s Tag) GoString() string {
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"}
23422 invalidParams.Add(request.NewErrParamRequired("Key"))
23424 if s.Key != nil && len(*s.Key) < 1 {
23425 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23427 if s.Value == nil {
23428 invalidParams.Add(request.NewErrParamRequired("Value"))
23431 if invalidParams.Len() > 0 {
23432 return invalidParams
23437 // SetKey sets the Key field's value.
23438 func (s *Tag) SetKey(v string) *Tag {
23443 // SetValue sets the Value field's value.
23444 func (s *Tag) SetValue(v string) *Tag {
23449 type Tagging struct {
23450 _ struct{} `type:"structure"`
23452 // TagSet is a required field
23453 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
23456 // String returns the string representation
23457 func (s Tagging) String() string {
23458 return awsutil.Prettify(s)
23461 // GoString returns the string representation
23462 func (s Tagging) GoString() string {
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"))
23472 if s.TagSet != nil {
23473 for i, v := range s.TagSet {
23477 if err := v.Validate(); err != nil {
23478 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams))
23483 if invalidParams.Len() > 0 {
23484 return invalidParams
23489 // SetTagSet sets the TagSet field's value.
23490 func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
23495 type TargetGrant struct {
23496 _ struct{} `type:"structure"`
23498 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
23500 // Logging permissions assigned to the Grantee for the bucket.
23501 Permission *string `type:"string" enum:"BucketLogsPermission"`
23504 // String returns the string representation
23505 func (s TargetGrant) String() string {
23506 return awsutil.Prettify(s)
23509 // GoString returns the string representation
23510 func (s TargetGrant) GoString() string {
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))
23523 if invalidParams.Len() > 0 {
23524 return invalidParams
23529 // SetGrantee sets the Grantee field's value.
23530 func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant {
23535 // SetPermission sets the Permission field's value.
23536 func (s *TargetGrant) SetPermission(v string) *TargetGrant {
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"`
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.
23551 // Events is a required field
23552 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
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"`
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"`
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.
23566 // TopicArn is a required field
23567 TopicArn *string `locationName:"Topic" type:"string" required:"true"`
23570 // String returns the string representation
23571 func (s TopicConfiguration) String() string {
23572 return awsutil.Prettify(s)
23575 // GoString returns the string representation
23576 func (s TopicConfiguration) GoString() string {
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"))
23586 if s.TopicArn == nil {
23587 invalidParams.Add(request.NewErrParamRequired("TopicArn"))
23590 if invalidParams.Len() > 0 {
23591 return invalidParams
23596 // SetEvents sets the Events field's value.
23597 func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration {
23602 // SetFilter sets the Filter field's value.
23603 func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration {
23608 // SetId sets the Id field's value.
23609 func (s *TopicConfiguration) SetId(v string) *TopicConfiguration {
23614 // SetTopicArn sets the TopicArn field's value.
23615 func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
23620 type TopicConfigurationDeprecated struct {
23621 _ struct{} `type:"structure"`
23623 // Bucket event for which to send notifications.
23625 // Deprecated: Event has been deprecated
23626 Event *string `deprecated:"true" type:"string" enum:"Event"`
23628 Events []*string `locationName:"Event" type:"list" flattened:"true"`
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"`
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"`
23639 // String returns the string representation
23640 func (s TopicConfigurationDeprecated) String() string {
23641 return awsutil.Prettify(s)
23644 // GoString returns the string representation
23645 func (s TopicConfigurationDeprecated) GoString() string {
23649 // SetEvent sets the Event field's value.
23650 func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated {
23655 // SetEvents sets the Events field's value.
23656 func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated {
23661 // SetId sets the Id field's value.
23662 func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated {
23667 // SetTopic sets the Topic field's value.
23668 func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated {
23673 // Specifies when an object transitions to a specified storage class.
23674 type Transition struct {
23675 _ struct{} `type:"structure"`
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"`
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"`
23685 // The storage class to which you want the object to transition.
23686 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
23689 // String returns the string representation
23690 func (s Transition) String() string {
23691 return awsutil.Prettify(s)
23694 // GoString returns the string representation
23695 func (s Transition) GoString() string {
23699 // SetDate sets the Date field's value.
23700 func (s *Transition) SetDate(v time.Time) *Transition {
23705 // SetDays sets the Days field's value.
23706 func (s *Transition) SetDays(v int64) *Transition {
23711 // SetStorageClass sets the StorageClass field's value.
23712 func (s *Transition) SetStorageClass(v string) *Transition {
23713 s.StorageClass = &v
23717 type UploadPartCopyInput struct {
23718 _ struct{} `type:"structure"`
23720 // Bucket is a required field
23721 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
23723 // The name of the source bucket and key name of the source object, separated
23724 // by a slash (/). Must be URL-encoded.
23726 // CopySource is a required field
23727 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
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"`
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"`
23735 // Copies the object if its entity tag (ETag) is different than the specified
23737 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
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"`
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"`
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"`
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"`
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"`
23762 // Key is a required field
23763 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
23765 // Part number of part being copied. This is a positive integer between 1 and
23768 // PartNumber is a required field
23769 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
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"`
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"`
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
23786 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
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"`
23793 // Upload ID identifying the multipart upload whose part is being copied.
23795 // UploadId is a required field
23796 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
23799 // String returns the string representation
23800 func (s UploadPartCopyInput) String() string {
23801 return awsutil.Prettify(s)
23804 // GoString returns the string representation
23805 func (s UploadPartCopyInput) GoString() string {
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"))
23815 if s.Bucket != nil && len(*s.Bucket) < 1 {
23816 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
23818 if s.CopySource == nil {
23819 invalidParams.Add(request.NewErrParamRequired("CopySource"))
23822 invalidParams.Add(request.NewErrParamRequired("Key"))
23824 if s.Key != nil && len(*s.Key) < 1 {
23825 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23827 if s.PartNumber == nil {
23828 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
23830 if s.UploadId == nil {
23831 invalidParams.Add(request.NewErrParamRequired("UploadId"))
23834 if invalidParams.Len() > 0 {
23835 return invalidParams
23840 // SetBucket sets the Bucket field's value.
23841 func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
23846 func (s *UploadPartCopyInput) getBucket() (v string) {
23847 if s.Bucket == nil {
23853 // SetCopySource sets the CopySource field's value.
23854 func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
23859 // SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
23860 func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
23861 s.CopySourceIfMatch = &v
23865 // SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
23866 func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput {
23867 s.CopySourceIfModifiedSince = &v
23871 // SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
23872 func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput {
23873 s.CopySourceIfNoneMatch = &v
23877 // SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
23878 func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput {
23879 s.CopySourceIfUnmodifiedSince = &v
23883 // SetCopySourceRange sets the CopySourceRange field's value.
23884 func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput {
23885 s.CopySourceRange = &v
23889 // SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
23890 func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23891 s.CopySourceSSECustomerAlgorithm = &v
23895 // SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
23896 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput {
23897 s.CopySourceSSECustomerKey = &v
23901 func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
23902 if s.CopySourceSSECustomerKey == nil {
23905 return *s.CopySourceSSECustomerKey
23908 // SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
23909 func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23910 s.CopySourceSSECustomerKeyMD5 = &v
23914 // SetKey sets the Key field's value.
23915 func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput {
23920 // SetPartNumber sets the PartNumber field's value.
23921 func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput {
23926 // SetRequestPayer sets the RequestPayer field's value.
23927 func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput {
23928 s.RequestPayer = &v
23932 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23933 func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23934 s.SSECustomerAlgorithm = &v
23938 // SetSSECustomerKey sets the SSECustomerKey field's value.
23939 func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
23940 s.SSECustomerKey = &v
23944 func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
23945 if s.SSECustomerKey == nil {
23948 return *s.SSECustomerKey
23951 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
23952 func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23953 s.SSECustomerKeyMD5 = &v
23957 // SetUploadId sets the UploadId field's value.
23958 func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
23963 type UploadPartCopyOutput struct {
23964 _ struct{} `type:"structure" payload:"CopyPartResult"`
23966 CopyPartResult *CopyPartResult `type:"structure"`
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"`
23972 // If present, indicates that the requester was successfully charged for the
23974 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
23976 // If server-side encryption with a customer-provided encryption key was requested,
23977 // the response will include this header confirming the encryption algorithm
23979 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
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"`
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"`
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"`
23995 // String returns the string representation
23996 func (s UploadPartCopyOutput) String() string {
23997 return awsutil.Prettify(s)
24000 // GoString returns the string representation
24001 func (s UploadPartCopyOutput) GoString() string {
24005 // SetCopyPartResult sets the CopyPartResult field's value.
24006 func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput {
24007 s.CopyPartResult = v
24011 // SetCopySourceVersionId sets the CopySourceVersionId field's value.
24012 func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput {
24013 s.CopySourceVersionId = &v
24017 // SetRequestCharged sets the RequestCharged field's value.
24018 func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput {
24019 s.RequestCharged = &v
24023 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24024 func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput {
24025 s.SSECustomerAlgorithm = &v
24029 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24030 func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput {
24031 s.SSECustomerKeyMD5 = &v
24035 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24036 func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput {
24041 // SetServerSideEncryption sets the ServerSideEncryption field's value.
24042 func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput {
24043 s.ServerSideEncryption = &v
24047 type UploadPartInput struct {
24048 _ struct{} `type:"structure" payload:"Body"`
24051 Body io.ReadSeeker `type:"blob"`
24053 // Name of the bucket to which the multipart upload was initiated.
24055 // Bucket is a required field
24056 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
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"`
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"`
24067 // Object key for which the multipart upload was initiated.
24069 // Key is a required field
24070 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
24072 // Part number of part being uploaded. This is a positive integer between 1
24075 // PartNumber is a required field
24076 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
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"`
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"`
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
24093 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
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"`
24100 // Upload ID identifying the multipart upload whose part is being uploaded.
24102 // UploadId is a required field
24103 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
24106 // String returns the string representation
24107 func (s UploadPartInput) String() string {
24108 return awsutil.Prettify(s)
24111 // GoString returns the string representation
24112 func (s UploadPartInput) GoString() string {
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"))
24122 if s.Bucket != nil && len(*s.Bucket) < 1 {
24123 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
24126 invalidParams.Add(request.NewErrParamRequired("Key"))
24128 if s.Key != nil && len(*s.Key) < 1 {
24129 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
24131 if s.PartNumber == nil {
24132 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
24134 if s.UploadId == nil {
24135 invalidParams.Add(request.NewErrParamRequired("UploadId"))
24138 if invalidParams.Len() > 0 {
24139 return invalidParams
24144 // SetBody sets the Body field's value.
24145 func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput {
24150 // SetBucket sets the Bucket field's value.
24151 func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
24156 func (s *UploadPartInput) getBucket() (v string) {
24157 if s.Bucket == nil {
24163 // SetContentLength sets the ContentLength field's value.
24164 func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
24165 s.ContentLength = &v
24169 // SetContentMD5 sets the ContentMD5 field's value.
24170 func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
24175 // SetKey sets the Key field's value.
24176 func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
24181 // SetPartNumber sets the PartNumber field's value.
24182 func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput {
24187 // SetRequestPayer sets the RequestPayer field's value.
24188 func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput {
24189 s.RequestPayer = &v
24193 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24194 func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput {
24195 s.SSECustomerAlgorithm = &v
24199 // SetSSECustomerKey sets the SSECustomerKey field's value.
24200 func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
24201 s.SSECustomerKey = &v
24205 func (s *UploadPartInput) getSSECustomerKey() (v string) {
24206 if s.SSECustomerKey == nil {
24209 return *s.SSECustomerKey
24212 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24213 func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
24214 s.SSECustomerKeyMD5 = &v
24218 // SetUploadId sets the UploadId field's value.
24219 func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
24224 type UploadPartOutput struct {
24225 _ struct{} `type:"structure"`
24227 // Entity tag for the uploaded object.
24228 ETag *string `location:"header" locationName:"ETag" type:"string"`
24230 // If present, indicates that the requester was successfully charged for the
24232 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
24234 // If server-side encryption with a customer-provided encryption key was requested,
24235 // the response will include this header confirming the encryption algorithm
24237 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
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"`
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"`
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"`
24253 // String returns the string representation
24254 func (s UploadPartOutput) String() string {
24255 return awsutil.Prettify(s)
24258 // GoString returns the string representation
24259 func (s UploadPartOutput) GoString() string {
24263 // SetETag sets the ETag field's value.
24264 func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
24269 // SetRequestCharged sets the RequestCharged field's value.
24270 func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput {
24271 s.RequestCharged = &v
24275 // SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24276 func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput {
24277 s.SSECustomerAlgorithm = &v
24281 // SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24282 func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput {
24283 s.SSECustomerKeyMD5 = &v
24287 // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24288 func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput {
24293 // SetServerSideEncryption sets the ServerSideEncryption field's value.
24294 func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
24295 s.ServerSideEncryption = &v
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"`
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"`
24310 // The versioning state of the bucket.
24311 Status *string `type:"string" enum:"BucketVersioningStatus"`
24314 // String returns the string representation
24315 func (s VersioningConfiguration) String() string {
24316 return awsutil.Prettify(s)
24319 // GoString returns the string representation
24320 func (s VersioningConfiguration) GoString() string {
24324 // SetMFADelete sets the MFADelete field's value.
24325 func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration {
24330 // SetStatus sets the Status field's value.
24331 func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
24336 // Specifies website configuration parameters for an Amazon S3 bucket.
24337 type WebsiteConfiguration struct {
24338 _ struct{} `type:"structure"`
24340 // The name of the error document for the website.
24341 ErrorDocument *ErrorDocument `type:"structure"`
24343 // The name of the index document for the website.
24344 IndexDocument *IndexDocument `type:"structure"`
24346 // The redirect behavior for every request to this bucket's website endpoint.
24348 // If you specify this property, you can't specify any other property.
24349 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
24351 // Rules that define when a redirect is applied and the redirect behavior.
24352 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
24355 // String returns the string representation
24356 func (s WebsiteConfiguration) String() string {
24357 return awsutil.Prettify(s)
24360 // GoString returns the string representation
24361 func (s WebsiteConfiguration) GoString() string {
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))
24373 if s.IndexDocument != nil {
24374 if err := s.IndexDocument.Validate(); err != nil {
24375 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams))
24378 if s.RedirectAllRequestsTo != nil {
24379 if err := s.RedirectAllRequestsTo.Validate(); err != nil {
24380 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams))
24383 if s.RoutingRules != nil {
24384 for i, v := range s.RoutingRules {
24388 if err := v.Validate(); err != nil {
24389 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams))
24394 if invalidParams.Len() > 0 {
24395 return invalidParams
24400 // SetErrorDocument sets the ErrorDocument field's value.
24401 func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration {
24402 s.ErrorDocument = v
24406 // SetIndexDocument sets the IndexDocument field's value.
24407 func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration {
24408 s.IndexDocument = v
24412 // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
24413 func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration {
24414 s.RedirectAllRequestsTo = v
24418 // SetRoutingRules sets the RoutingRules field's value.
24419 func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration {
24425 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value
24426 AnalyticsS3ExportFileFormatCsv = "CSV"
24430 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
24431 BucketAccelerateStatusEnabled = "Enabled"
24433 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value
24434 BucketAccelerateStatusSuspended = "Suspended"
24438 // BucketCannedACLPrivate is a BucketCannedACL enum value
24439 BucketCannedACLPrivate = "private"
24441 // BucketCannedACLPublicRead is a BucketCannedACL enum value
24442 BucketCannedACLPublicRead = "public-read"
24444 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
24445 BucketCannedACLPublicReadWrite = "public-read-write"
24447 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
24448 BucketCannedACLAuthenticatedRead = "authenticated-read"
24452 // BucketLocationConstraintEu is a BucketLocationConstraint enum value
24453 BucketLocationConstraintEu = "EU"
24455 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value
24456 BucketLocationConstraintEuWest1 = "eu-west-1"
24458 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value
24459 BucketLocationConstraintUsWest1 = "us-west-1"
24461 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value
24462 BucketLocationConstraintUsWest2 = "us-west-2"
24464 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value
24465 BucketLocationConstraintApSouth1 = "ap-south-1"
24467 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value
24468 BucketLocationConstraintApSoutheast1 = "ap-southeast-1"
24470 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value
24471 BucketLocationConstraintApSoutheast2 = "ap-southeast-2"
24473 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value
24474 BucketLocationConstraintApNortheast1 = "ap-northeast-1"
24476 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value
24477 BucketLocationConstraintSaEast1 = "sa-east-1"
24479 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value
24480 BucketLocationConstraintCnNorth1 = "cn-north-1"
24482 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value
24483 BucketLocationConstraintEuCentral1 = "eu-central-1"
24487 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value
24488 BucketLogsPermissionFullControl = "FULL_CONTROL"
24490 // BucketLogsPermissionRead is a BucketLogsPermission enum value
24491 BucketLogsPermissionRead = "READ"
24493 // BucketLogsPermissionWrite is a BucketLogsPermission enum value
24494 BucketLogsPermissionWrite = "WRITE"
24498 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value
24499 BucketVersioningStatusEnabled = "Enabled"
24501 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value
24502 BucketVersioningStatusSuspended = "Suspended"
24506 // CompressionTypeNone is a CompressionType enum value
24507 CompressionTypeNone = "NONE"
24509 // CompressionTypeGzip is a CompressionType enum value
24510 CompressionTypeGzip = "GZIP"
24512 // CompressionTypeBzip2 is a CompressionType enum value
24513 CompressionTypeBzip2 = "BZIP2"
24517 // DeleteMarkerReplicationStatusEnabled is a DeleteMarkerReplicationStatus enum value
24518 DeleteMarkerReplicationStatusEnabled = "Enabled"
24520 // DeleteMarkerReplicationStatusDisabled is a DeleteMarkerReplicationStatus enum value
24521 DeleteMarkerReplicationStatusDisabled = "Disabled"
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.
24531 // EncodingTypeUrl is a EncodingType enum value
24532 EncodingTypeUrl = "url"
24535 // The bucket event for which to send notifications.
24537 // EventS3ReducedRedundancyLostObject is a Event enum value
24538 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"
24540 // EventS3ObjectCreated is a Event enum value
24541 EventS3ObjectCreated = "s3:ObjectCreated:*"
24543 // EventS3ObjectCreatedPut is a Event enum value
24544 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put"
24546 // EventS3ObjectCreatedPost is a Event enum value
24547 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"
24549 // EventS3ObjectCreatedCopy is a Event enum value
24550 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"
24552 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value
24553 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"
24555 // EventS3ObjectRemoved is a Event enum value
24556 EventS3ObjectRemoved = "s3:ObjectRemoved:*"
24558 // EventS3ObjectRemovedDelete is a Event enum value
24559 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"
24561 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value
24562 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"
24564 // EventS3ObjectRestorePost is a Event enum value
24565 EventS3ObjectRestorePost = "s3:ObjectRestore:Post"
24567 // EventS3ObjectRestoreCompleted is a Event enum value
24568 EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed"
24572 // ExpirationStatusEnabled is a ExpirationStatus enum value
24573 ExpirationStatusEnabled = "Enabled"
24575 // ExpirationStatusDisabled is a ExpirationStatus enum value
24576 ExpirationStatusDisabled = "Disabled"
24580 // ExpressionTypeSql is a ExpressionType enum value
24581 ExpressionTypeSql = "SQL"
24585 // FileHeaderInfoUse is a FileHeaderInfo enum value
24586 FileHeaderInfoUse = "USE"
24588 // FileHeaderInfoIgnore is a FileHeaderInfo enum value
24589 FileHeaderInfoIgnore = "IGNORE"
24591 // FileHeaderInfoNone is a FileHeaderInfo enum value
24592 FileHeaderInfoNone = "NONE"
24596 // FilterRuleNamePrefix is a FilterRuleName enum value
24597 FilterRuleNamePrefix = "prefix"
24599 // FilterRuleNameSuffix is a FilterRuleName enum value
24600 FilterRuleNameSuffix = "suffix"
24604 // InventoryFormatCsv is a InventoryFormat enum value
24605 InventoryFormatCsv = "CSV"
24607 // InventoryFormatOrc is a InventoryFormat enum value
24608 InventoryFormatOrc = "ORC"
24610 // InventoryFormatParquet is a InventoryFormat enum value
24611 InventoryFormatParquet = "Parquet"
24615 // InventoryFrequencyDaily is a InventoryFrequency enum value
24616 InventoryFrequencyDaily = "Daily"
24618 // InventoryFrequencyWeekly is a InventoryFrequency enum value
24619 InventoryFrequencyWeekly = "Weekly"
24623 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value
24624 InventoryIncludedObjectVersionsAll = "All"
24626 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value
24627 InventoryIncludedObjectVersionsCurrent = "Current"
24631 // InventoryOptionalFieldSize is a InventoryOptionalField enum value
24632 InventoryOptionalFieldSize = "Size"
24634 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value
24635 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"
24637 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value
24638 InventoryOptionalFieldStorageClass = "StorageClass"
24640 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value
24641 InventoryOptionalFieldEtag = "ETag"
24643 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value
24644 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"
24646 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
24647 InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
24649 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
24650 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
24652 // InventoryOptionalFieldObjectLockRetainUntilDate is a InventoryOptionalField enum value
24653 InventoryOptionalFieldObjectLockRetainUntilDate = "ObjectLockRetainUntilDate"
24655 // InventoryOptionalFieldObjectLockMode is a InventoryOptionalField enum value
24656 InventoryOptionalFieldObjectLockMode = "ObjectLockMode"
24658 // InventoryOptionalFieldObjectLockLegalHoldStatus is a InventoryOptionalField enum value
24659 InventoryOptionalFieldObjectLockLegalHoldStatus = "ObjectLockLegalHoldStatus"
24663 // JSONTypeDocument is a JSONType enum value
24664 JSONTypeDocument = "DOCUMENT"
24666 // JSONTypeLines is a JSONType enum value
24667 JSONTypeLines = "LINES"
24671 // MFADeleteEnabled is a MFADelete enum value
24672 MFADeleteEnabled = "Enabled"
24674 // MFADeleteDisabled is a MFADelete enum value
24675 MFADeleteDisabled = "Disabled"
24679 // MFADeleteStatusEnabled is a MFADeleteStatus enum value
24680 MFADeleteStatusEnabled = "Enabled"
24682 // MFADeleteStatusDisabled is a MFADeleteStatus enum value
24683 MFADeleteStatusDisabled = "Disabled"
24687 // MetadataDirectiveCopy is a MetadataDirective enum value
24688 MetadataDirectiveCopy = "COPY"
24690 // MetadataDirectiveReplace is a MetadataDirective enum value
24691 MetadataDirectiveReplace = "REPLACE"
24695 // ObjectCannedACLPrivate is a ObjectCannedACL enum value
24696 ObjectCannedACLPrivate = "private"
24698 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value
24699 ObjectCannedACLPublicRead = "public-read"
24701 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
24702 ObjectCannedACLPublicReadWrite = "public-read-write"
24704 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
24705 ObjectCannedACLAuthenticatedRead = "authenticated-read"
24707 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
24708 ObjectCannedACLAwsExecRead = "aws-exec-read"
24710 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
24711 ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
24713 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
24714 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
24718 // ObjectLockEnabledEnabled is a ObjectLockEnabled enum value
24719 ObjectLockEnabledEnabled = "Enabled"
24723 // ObjectLockLegalHoldStatusOn is a ObjectLockLegalHoldStatus enum value
24724 ObjectLockLegalHoldStatusOn = "ON"
24726 // ObjectLockLegalHoldStatusOff is a ObjectLockLegalHoldStatus enum value
24727 ObjectLockLegalHoldStatusOff = "OFF"
24731 // ObjectLockModeGovernance is a ObjectLockMode enum value
24732 ObjectLockModeGovernance = "GOVERNANCE"
24734 // ObjectLockModeCompliance is a ObjectLockMode enum value
24735 ObjectLockModeCompliance = "COMPLIANCE"
24739 // ObjectLockRetentionModeGovernance is a ObjectLockRetentionMode enum value
24740 ObjectLockRetentionModeGovernance = "GOVERNANCE"
24742 // ObjectLockRetentionModeCompliance is a ObjectLockRetentionMode enum value
24743 ObjectLockRetentionModeCompliance = "COMPLIANCE"
24747 // ObjectStorageClassStandard is a ObjectStorageClass enum value
24748 ObjectStorageClassStandard = "STANDARD"
24750 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value
24751 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24753 // ObjectStorageClassGlacier is a ObjectStorageClass enum value
24754 ObjectStorageClassGlacier = "GLACIER"
24756 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
24757 ObjectStorageClassStandardIa = "STANDARD_IA"
24759 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
24760 ObjectStorageClassOnezoneIa = "ONEZONE_IA"
24762 // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value
24763 ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24765 // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value
24766 ObjectStorageClassDeepArchive = "DEEP_ARCHIVE"
24770 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value
24771 ObjectVersionStorageClassStandard = "STANDARD"
24775 // OwnerOverrideDestination is a OwnerOverride enum value
24776 OwnerOverrideDestination = "Destination"
24780 // PayerRequester is a Payer enum value
24781 PayerRequester = "Requester"
24783 // PayerBucketOwner is a Payer enum value
24784 PayerBucketOwner = "BucketOwner"
24788 // PermissionFullControl is a Permission enum value
24789 PermissionFullControl = "FULL_CONTROL"
24791 // PermissionWrite is a Permission enum value
24792 PermissionWrite = "WRITE"
24794 // PermissionWriteAcp is a Permission enum value
24795 PermissionWriteAcp = "WRITE_ACP"
24797 // PermissionRead is a Permission enum value
24798 PermissionRead = "READ"
24800 // PermissionReadAcp is a Permission enum value
24801 PermissionReadAcp = "READ_ACP"
24805 // ProtocolHttp is a Protocol enum value
24806 ProtocolHttp = "http"
24808 // ProtocolHttps is a Protocol enum value
24809 ProtocolHttps = "https"
24813 // QuoteFieldsAlways is a QuoteFields enum value
24814 QuoteFieldsAlways = "ALWAYS"
24816 // QuoteFieldsAsneeded is a QuoteFields enum value
24817 QuoteFieldsAsneeded = "ASNEEDED"
24821 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
24822 ReplicationRuleStatusEnabled = "Enabled"
24824 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value
24825 ReplicationRuleStatusDisabled = "Disabled"
24829 // ReplicationStatusComplete is a ReplicationStatus enum value
24830 ReplicationStatusComplete = "COMPLETE"
24832 // ReplicationStatusPending is a ReplicationStatus enum value
24833 ReplicationStatusPending = "PENDING"
24835 // ReplicationStatusFailed is a ReplicationStatus enum value
24836 ReplicationStatusFailed = "FAILED"
24838 // ReplicationStatusReplica is a ReplicationStatus enum value
24839 ReplicationStatusReplica = "REPLICA"
24842 // If present, indicates that the requester was successfully charged for the
24845 // RequestChargedRequester is a RequestCharged enum value
24846 RequestChargedRequester = "requester"
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
24854 // RequestPayerRequester is a RequestPayer enum value
24855 RequestPayerRequester = "requester"
24859 // RestoreRequestTypeSelect is a RestoreRequestType enum value
24860 RestoreRequestTypeSelect = "SELECT"
24864 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
24865 ServerSideEncryptionAes256 = "AES256"
24867 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value
24868 ServerSideEncryptionAwsKms = "aws:kms"
24872 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
24873 SseKmsEncryptedObjectsStatusEnabled = "Enabled"
24875 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
24876 SseKmsEncryptedObjectsStatusDisabled = "Disabled"
24880 // StorageClassStandard is a StorageClass enum value
24881 StorageClassStandard = "STANDARD"
24883 // StorageClassReducedRedundancy is a StorageClass enum value
24884 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24886 // StorageClassStandardIa is a StorageClass enum value
24887 StorageClassStandardIa = "STANDARD_IA"
24889 // StorageClassOnezoneIa is a StorageClass enum value
24890 StorageClassOnezoneIa = "ONEZONE_IA"
24892 // StorageClassIntelligentTiering is a StorageClass enum value
24893 StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24895 // StorageClassGlacier is a StorageClass enum value
24896 StorageClassGlacier = "GLACIER"
24898 // StorageClassDeepArchive is a StorageClass enum value
24899 StorageClassDeepArchive = "DEEP_ARCHIVE"
24903 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value
24904 StorageClassAnalysisSchemaVersionV1 = "V_1"
24908 // TaggingDirectiveCopy is a TaggingDirective enum value
24909 TaggingDirectiveCopy = "COPY"
24911 // TaggingDirectiveReplace is a TaggingDirective enum value
24912 TaggingDirectiveReplace = "REPLACE"
24916 // TierStandard is a Tier enum value
24917 TierStandard = "Standard"
24919 // TierBulk is a Tier enum value
24922 // TierExpedited is a Tier enum value
24923 TierExpedited = "Expedited"
24927 // TransitionStorageClassGlacier is a TransitionStorageClass enum value
24928 TransitionStorageClassGlacier = "GLACIER"
24930 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
24931 TransitionStorageClassStandardIa = "STANDARD_IA"
24933 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
24934 TransitionStorageClassOnezoneIa = "ONEZONE_IA"
24936 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value
24937 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24939 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value
24940 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE"
24944 // TypeCanonicalUser is a Type enum value
24945 TypeCanonicalUser = "CanonicalUser"
24947 // TypeAmazonCustomerByEmail is a Type enum value
24948 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
24950 // TypeGroup is a Type enum value
24951 TypeGroup = "Group"