aws-sdk-s3 1.48.0 → 1.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3/bucket.rb +183 -54
  3. data/lib/aws-sdk-s3/bucket_acl.rb +9 -1
  4. data/lib/aws-sdk-s3/bucket_cors.rb +18 -1
  5. data/lib/aws-sdk-s3/bucket_lifecycle.rb +2 -1
  6. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +3 -1
  7. data/lib/aws-sdk-s3/bucket_logging.rb +11 -1
  8. data/lib/aws-sdk-s3/bucket_notification.rb +7 -3
  9. data/lib/aws-sdk-s3/bucket_policy.rb +2 -0
  10. data/lib/aws-sdk-s3/bucket_request_payment.rb +10 -0
  11. data/lib/aws-sdk-s3/bucket_tagging.rb +10 -1
  12. data/lib/aws-sdk-s3/bucket_versioning.rb +26 -0
  13. data/lib/aws-sdk-s3/bucket_website.rb +15 -4
  14. data/lib/aws-sdk-s3/client.rb +5133 -519
  15. data/lib/aws-sdk-s3/client_api.rb +33 -0
  16. data/lib/aws-sdk-s3/customizations/bucket.rb +44 -13
  17. data/lib/aws-sdk-s3/customizations/object.rb +65 -43
  18. data/lib/aws-sdk-s3/encryption/client.rb +4 -0
  19. data/lib/aws-sdk-s3/file_part.rb +9 -6
  20. data/lib/aws-sdk-s3/file_uploader.rb +13 -12
  21. data/lib/aws-sdk-s3/multipart_file_uploader.rb +14 -11
  22. data/lib/aws-sdk-s3/multipart_upload.rb +31 -16
  23. data/lib/aws-sdk-s3/multipart_upload_part.rb +38 -29
  24. data/lib/aws-sdk-s3/object.rb +330 -129
  25. data/lib/aws-sdk-s3/object_acl.rb +25 -7
  26. data/lib/aws-sdk-s3/object_summary.rb +243 -117
  27. data/lib/aws-sdk-s3/object_version.rb +67 -46
  28. data/lib/aws-sdk-s3/plugins/bucket_arn.rb +211 -0
  29. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +7 -7
  30. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +23 -3
  31. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +59 -0
  32. data/lib/aws-sdk-s3/plugins/md5s.rb +3 -4
  33. data/lib/aws-sdk-s3/plugins/s3_signer.rb +16 -6
  34. data/lib/aws-sdk-s3/presigned_post.rb +4 -0
  35. data/lib/aws-sdk-s3/presigner.rb +6 -2
  36. data/lib/aws-sdk-s3/resource.rb +4 -2
  37. data/lib/aws-sdk-s3/types.rb +3027 -635
  38. data/lib/aws-sdk-s3.rb +1 -1
  39. metadata +6 -4
@@ -24,6 +24,7 @@ module Aws::S3
24
24
  @object_key = extract_object_key(args, options)
25
25
  @data = options.delete(:data)
26
26
  @client = options.delete(:client) || Client.new(options)
27
+ @waiter_block_warned = false
27
28
  end
28
29
 
29
30
  # @!group Read-Only Attributes
@@ -38,7 +39,7 @@ module Aws::S3
38
39
  @object_key
39
40
  end
40
41
 
41
-
42
+ # Container for the bucket owner's display name and ID.
42
43
  # @return [Types::Owner]
43
44
  def owner
44
45
  data[:owner]
@@ -225,11 +226,24 @@ module Aws::S3
225
226
  # })
226
227
  # @param [Hash] options ({})
227
228
  # @option options [String] :acl
228
- # The canned ACL to apply to the object.
229
+ # The canned ACL to apply to the object. For more information, see
230
+ # [Canned ACL][1].
231
+ #
232
+ #
233
+ #
234
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
229
235
  # @option options [Types::AccessControlPolicy] :access_control_policy
230
236
  # Contains the elements that set the ACL permissions for an object per
231
237
  # grantee.
232
238
  # @option options [String] :content_md5
239
+ # The base64-encoded 128-bit MD5 digest of the data. This header must be
240
+ # used as a message integrity check to verify that the request body was
241
+ # not corrupted in transit. For more information, go to [RFC
242
+ # 1864.>][1]
243
+ #
244
+ #
245
+ #
246
+ # [1]: http://www.ietf.org/rfc/rfc1864.txt
233
247
  # @option options [String] :grant_full_control
234
248
  # Allows grantee the read, write, read ACP, and write ACP permissions on
235
249
  # the bucket.
@@ -243,11 +257,15 @@ module Aws::S3
243
257
  # @option options [String] :grant_write_acp
244
258
  # Allows grantee to write the ACL for the applicable bucket.
245
259
  # @option options [String] :request_payer
246
- # Confirms that the requester knows that she or he will be charged for
247
- # the request. Bucket owners need not specify this parameter in their
248
- # requests. Documentation on downloading objects from requester pays
249
- # buckets can be found at
250
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
260
+ # Confirms that the requester knows that they will be charged for the
261
+ # request. Bucket owners need not specify this parameter in their
262
+ # requests. For information about downloading objects from requester
263
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
264
+ # in the *Amazon S3 Developer Guide*.
265
+ #
266
+ #
267
+ #
268
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
251
269
  # @option options [String] :version_id
252
270
  # VersionId used to reference a specific version of the object.
253
271
  # @return [Types::PutObjectAclOutput]
@@ -24,6 +24,7 @@ module Aws::S3
24
24
  @key = extract_key(args, options)
25
25
  @data = options.delete(:data)
26
26
  @client = options.delete(:client) || Client.new(options)
27
+ @waiter_block_warned = false
27
28
  end
28
29
 
29
30
  # @!group Read-Only Attributes
@@ -38,19 +39,20 @@ module Aws::S3
38
39
  @key
39
40
  end
40
41
 
41
-
42
+ # The date the Object was Last Modified
42
43
  # @return [Time]
43
44
  def last_modified
44
45
  data[:last_modified]
45
46
  end
46
47
 
47
-
48
+ # The entity tag is an MD5 hash of the object. ETag reflects only
49
+ # changes to the contents of an object, not its metadata.
48
50
  # @return [String]
49
51
  def etag
50
52
  data[:etag]
51
53
  end
52
54
 
53
-
55
+ # Size in bytes of the object
54
56
  # @return [Integer]
55
57
  def size
56
58
  data[:size]
@@ -62,7 +64,7 @@ module Aws::S3
62
64
  data[:storage_class]
63
65
  end
64
66
 
65
-
67
+ # The owner of the object
66
68
  # @return [Types::Owner]
67
69
  def owner
68
70
  data[:owner]
@@ -336,8 +338,8 @@ module Aws::S3
336
338
  # Specifies whether the object tag-set are copied from the source object
337
339
  # or replaced with tag-set provided in the request.
338
340
  # @option options [String] :server_side_encryption
339
- # The Server-side encryption algorithm used when storing this object in
340
- # S3 (e.g., AES256, aws:kms).
341
+ # The server-side encryption algorithm used when storing this object in
342
+ # Amazon S3 (for example, AES256, aws:kms).
341
343
  # @option options [String] :storage_class
342
344
  # The type of storage to use for the object. Defaults to 'STANDARD'.
343
345
  # @option options [String] :website_redirect_location
@@ -345,31 +347,36 @@ module Aws::S3
345
347
  # object to another object in the same bucket or to an external URL.
346
348
  # Amazon S3 stores the value of this header in the object metadata.
347
349
  # @option options [String] :sse_customer_algorithm
348
- # Specifies the algorithm to use to when encrypting the object (e.g.,
349
- # AES256).
350
+ # Specifies the algorithm to use to when encrypting the object (for
351
+ # example, AES256).
350
352
  # @option options [String] :sse_customer_key
351
353
  # Specifies the customer-provided encryption key for Amazon S3 to use in
352
354
  # encrypting data. This value is used to store the object and then it is
353
- # discarded; Amazon does not store the encryption key. The key must be
354
- # appropriate for use with the algorithm specified in the
355
- # x-amz-server-side​-encryption​-customer-algorithm header.
355
+ # discarded; Amazon S3 does not store the encryption key. The key must
356
+ # be appropriate for use with the algorithm specified in the
357
+ # `x-amz-server-side​-encryption​-customer-algorithm` header.
356
358
  # @option options [String] :sse_customer_key_md5
357
359
  # Specifies the 128-bit MD5 digest of the encryption key according to
358
360
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
359
- # ensure the encryption key was transmitted without error.
361
+ # ensure that the encryption key was transmitted without error.
360
362
  # @option options [String] :ssekms_key_id
361
363
  # Specifies the AWS KMS key ID to use for object encryption. All GET and
362
364
  # PUT requests for an object protected by AWS KMS will fail if not made
363
- # via SSL or using SigV4. Documentation on configuring any of the
364
- # officially supported AWS SDKs and CLI can be found at
365
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
365
+ # via SSL or using SigV4. For information about configuring using any of
366
+ # the officially supported AWS SDKs and AWS CLI, see [Specifying the
367
+ # Signature Version in Request Authentication][1] in the *Amazon S3
368
+ # Developer Guide*.
369
+ #
370
+ #
371
+ #
372
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
366
373
  # @option options [String] :ssekms_encryption_context
367
374
  # Specifies the AWS KMS Encryption Context to use for object encryption.
368
375
  # The value of this header is a base64-encoded UTF-8 string holding JSON
369
376
  # with the encryption context key-value pairs.
370
377
  # @option options [String] :copy_source_sse_customer_algorithm
371
- # Specifies the algorithm to use when decrypting the source object
372
- # (e.g., AES256).
378
+ # Specifies the algorithm to use when decrypting the source object (for
379
+ # example, AES256).
373
380
  # @option options [String] :copy_source_sse_customer_key
374
381
  # Specifies the customer-provided encryption key for Amazon S3 to use to
375
382
  # decrypt the source object. The encryption key provided in this header
@@ -377,21 +384,25 @@ module Aws::S3
377
384
  # @option options [String] :copy_source_sse_customer_key_md5
378
385
  # Specifies the 128-bit MD5 digest of the encryption key according to
379
386
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
380
- # ensure the encryption key was transmitted without error.
387
+ # ensure that the encryption key was transmitted without error.
381
388
  # @option options [String] :request_payer
382
- # Confirms that the requester knows that she or he will be charged for
383
- # the request. Bucket owners need not specify this parameter in their
384
- # requests. Documentation on downloading objects from requester pays
385
- # buckets can be found at
386
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
389
+ # Confirms that the requester knows that they will be charged for the
390
+ # request. Bucket owners need not specify this parameter in their
391
+ # requests. For information about downloading objects from requester
392
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
393
+ # in the *Amazon S3 Developer Guide*.
394
+ #
395
+ #
396
+ #
397
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
387
398
  # @option options [String] :tagging
388
399
  # The tag-set for the object destination object this value must be used
389
- # in conjunction with the TaggingDirective. The tag-set must be encoded
390
- # as URL Query parameters
400
+ # in conjunction with the `TaggingDirective`. The tag-set must be
401
+ # encoded as URL Query parameters.
391
402
  # @option options [String] :object_lock_mode
392
- # The object lock mode that you want to apply to the copied object.
403
+ # The Object Lock mode that you want to apply to the copied object.
393
404
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
394
- # The date and time when you want the copied object's object lock to
405
+ # The date and time when you want the copied object's Object Lock to
395
406
  # expire.
396
407
  # @option options [String] :object_lock_legal_hold_status
397
408
  # Specifies whether you want to apply a Legal Hold to the copied object.
@@ -417,16 +428,22 @@ module Aws::S3
417
428
  # @option options [String] :mfa
418
429
  # The concatenation of the authentication device's serial number, a
419
430
  # space, and the value that is displayed on your authentication device.
431
+ # Required to permanently delete a versioned object if versioning is
432
+ # configured with MFA delete enabled.
420
433
  # @option options [String] :version_id
421
434
  # VersionId used to reference a specific version of the object.
422
435
  # @option options [String] :request_payer
423
- # Confirms that the requester knows that she or he will be charged for
424
- # the request. Bucket owners need not specify this parameter in their
425
- # requests. Documentation on downloading objects from requester pays
426
- # buckets can be found at
427
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
436
+ # Confirms that the requester knows that they will be charged for the
437
+ # request. Bucket owners need not specify this parameter in their
438
+ # requests. For information about downloading objects from requester
439
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
440
+ # in the *Amazon S3 Developer Guide*.
441
+ #
442
+ #
443
+ #
444
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
428
445
  # @option options [Boolean] :bypass_governance_retention
429
- # Indicates whether Amazon S3 object lock should bypass governance-mode
446
+ # Indicates whether S3 Object Lock should bypass Governance-mode
430
447
  # restrictions to process this operation.
431
448
  # @return [Types::DeleteObjectOutput]
432
449
  def delete(options = {})
@@ -474,41 +491,45 @@ module Aws::S3
474
491
  # time, otherwise return a 412 (precondition failed).
475
492
  # @option options [String] :range
476
493
  # Downloads the specified range bytes of an object. For more information
477
- # about the HTTP Range header, go to
478
- # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
494
+ # about the HTTP Range header, see
495
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
479
496
  # @option options [String] :response_cache_control
480
- # Sets the Cache-Control header of the response.
497
+ # Sets the `Cache-Control` header of the response.
481
498
  # @option options [String] :response_content_disposition
482
- # Sets the Content-Disposition header of the response
499
+ # Sets the `Content-Disposition` header of the response
483
500
  # @option options [String] :response_content_encoding
484
- # Sets the Content-Encoding header of the response.
501
+ # Sets the `Content-Encoding` header of the response.
485
502
  # @option options [String] :response_content_language
486
- # Sets the Content-Language header of the response.
503
+ # Sets the `Content-Language` header of the response.
487
504
  # @option options [String] :response_content_type
488
- # Sets the Content-Type header of the response.
505
+ # Sets the `Content-Type` header of the response.
489
506
  # @option options [Time,DateTime,Date,Integer,String] :response_expires
490
- # Sets the Expires header of the response.
507
+ # Sets the `Expires` header of the response.
491
508
  # @option options [String] :version_id
492
509
  # VersionId used to reference a specific version of the object.
493
510
  # @option options [String] :sse_customer_algorithm
494
- # Specifies the algorithm to use to when encrypting the object (e.g.,
495
- # AES256).
511
+ # Specifies the algorithm to use to when encrypting the object (for
512
+ # example, AES256).
496
513
  # @option options [String] :sse_customer_key
497
514
  # Specifies the customer-provided encryption key for Amazon S3 to use in
498
515
  # encrypting data. This value is used to store the object and then it is
499
- # discarded; Amazon does not store the encryption key. The key must be
500
- # appropriate for use with the algorithm specified in the
501
- # x-amz-server-side​-encryption​-customer-algorithm header.
516
+ # discarded; Amazon S3 does not store the encryption key. The key must
517
+ # be appropriate for use with the algorithm specified in the
518
+ # `x-amz-server-side​-encryption​-customer-algorithm` header.
502
519
  # @option options [String] :sse_customer_key_md5
503
520
  # Specifies the 128-bit MD5 digest of the encryption key according to
504
521
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
505
- # ensure the encryption key was transmitted without error.
522
+ # ensure that the encryption key was transmitted without error.
506
523
  # @option options [String] :request_payer
507
- # Confirms that the requester knows that she or he will be charged for
508
- # the request. Bucket owners need not specify this parameter in their
509
- # requests. Documentation on downloading objects from requester pays
510
- # buckets can be found at
511
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
524
+ # Confirms that the requester knows that they will be charged for the
525
+ # request. Bucket owners need not specify this parameter in their
526
+ # requests. For information about downloading objects from requester
527
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
528
+ # in the *Amazon S3 Developer Guide*.
529
+ #
530
+ #
531
+ #
532
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
512
533
  # @option options [Integer] :part_number
513
534
  # Part number of the object being read. This is a positive integer
514
535
  # between 1 and 10,000. Effectively performs a 'ranged' GET request
@@ -584,8 +605,8 @@ module Aws::S3
584
605
  # @option options [Hash<String,String>] :metadata
585
606
  # A map of metadata to store with the object in S3.
586
607
  # @option options [String] :server_side_encryption
587
- # The Server-side encryption algorithm used when storing this object in
588
- # S3 (e.g., AES256, aws:kms).
608
+ # The server-side encryption algorithm used when storing this object in
609
+ # Amazon S3 (for example, AES256, aws:kms).
589
610
  # @option options [String] :storage_class
590
611
  # The type of storage to use for the object. Defaults to 'STANDARD'.
591
612
  # @option options [String] :website_redirect_location
@@ -593,42 +614,51 @@ module Aws::S3
593
614
  # object to another object in the same bucket or to an external URL.
594
615
  # Amazon S3 stores the value of this header in the object metadata.
595
616
  # @option options [String] :sse_customer_algorithm
596
- # Specifies the algorithm to use to when encrypting the object (e.g.,
597
- # AES256).
617
+ # Specifies the algorithm to use to when encrypting the object (for
618
+ # example, AES256).
598
619
  # @option options [String] :sse_customer_key
599
620
  # Specifies the customer-provided encryption key for Amazon S3 to use in
600
621
  # encrypting data. This value is used to store the object and then it is
601
- # discarded; Amazon does not store the encryption key. The key must be
602
- # appropriate for use with the algorithm specified in the
603
- # x-amz-server-side​-encryption​-customer-algorithm header.
622
+ # discarded; Amazon S3 does not store the encryption key. The key must
623
+ # be appropriate for use with the algorithm specified in the
624
+ # `x-amz-server-side​-encryption​-customer-algorithm` header.
604
625
  # @option options [String] :sse_customer_key_md5
605
626
  # Specifies the 128-bit MD5 digest of the encryption key according to
606
627
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
607
- # ensure the encryption key was transmitted without error.
628
+ # ensure that the encryption key was transmitted without error.
608
629
  # @option options [String] :ssekms_key_id
609
- # Specifies the AWS KMS key ID to use for object encryption. All GET and
610
- # PUT requests for an object protected by AWS KMS will fail if not made
611
- # via SSL or using SigV4. Documentation on configuring any of the
612
- # officially supported AWS SDKs and CLI can be found at
613
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
630
+ # Specifies the ID of the symmetric customer managed AWS KMS CMK to use
631
+ # for object encryption. All GET and PUT requests for an object
632
+ # protected by AWS KMS will fail if not made via SSL or using SigV4. For
633
+ # information about configuring using any of the officially supported
634
+ # AWS SDKs and AWS CLI, see [Specifying the Signature Version in Request
635
+ # Authentication][1] in the *Amazon S3 Developer Guide*.
636
+ #
637
+ #
638
+ #
639
+ # [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
614
640
  # @option options [String] :ssekms_encryption_context
615
641
  # Specifies the AWS KMS Encryption Context to use for object encryption.
616
642
  # The value of this header is a base64-encoded UTF-8 string holding JSON
617
643
  # with the encryption context key-value pairs.
618
644
  # @option options [String] :request_payer
619
- # Confirms that the requester knows that she or he will be charged for
620
- # the request. Bucket owners need not specify this parameter in their
621
- # requests. Documentation on downloading objects from requester pays
622
- # buckets can be found at
623
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
645
+ # Confirms that the requester knows that they will be charged for the
646
+ # request. Bucket owners need not specify this parameter in their
647
+ # requests. For information about downloading objects from requester
648
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
649
+ # in the *Amazon S3 Developer Guide*.
650
+ #
651
+ #
652
+ #
653
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
624
654
  # @option options [String] :tagging
625
655
  # The tag-set for the object. The tag-set must be encoded as URL Query
626
- # parameters
656
+ # parameters.
627
657
  # @option options [String] :object_lock_mode
628
- # Specifies the object lock mode that you want to apply to the uploaded
658
+ # Specifies the Object Lock mode that you want to apply to the uploaded
629
659
  # object.
630
660
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
631
- # Specifies the date and time when you want the object lock to expire.
661
+ # Specifies the date and time when you want the Object Lock to expire.
632
662
  # @option options [String] :object_lock_legal_hold_status
633
663
  # Specifies whether you want to apply a Legal Hold to the uploaded
634
664
  # object.
@@ -683,30 +713,77 @@ module Aws::S3
683
713
  # })
684
714
  # @param [Hash] options ({})
685
715
  # @option options [String] :acl
686
- # The canned ACL to apply to the object.
716
+ # The canned ACL to apply to the object. For more information, see
717
+ # [Canned ACL][1].
718
+ #
719
+ #
720
+ #
721
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
687
722
  # @option options [String, IO] :body
688
723
  # Object data.
689
724
  # @option options [String] :cache_control
690
- # Specifies caching behavior along the request/reply chain.
725
+ # Can be used to specify caching behavior along the request/reply chain.
726
+ # For more information, see
727
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9][1].
728
+ #
729
+ #
730
+ #
731
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
691
732
  # @option options [String] :content_disposition
692
- # Specifies presentational information for the object.
733
+ # Specifies presentational information for the object. For more
734
+ # information, see
735
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
736
+ #
737
+ #
738
+ #
739
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
693
740
  # @option options [String] :content_encoding
694
741
  # Specifies what content encodings have been applied to the object and
695
742
  # thus what decoding mechanisms must be applied to obtain the media-type
696
- # referenced by the Content-Type header field.
743
+ # referenced by the Content-Type header field. For more information, see
744
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
745
+ #
746
+ #
747
+ #
748
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
697
749
  # @option options [String] :content_language
698
750
  # The language the content is in.
699
751
  # @option options [Integer] :content_length
700
752
  # Size of the body in bytes. This parameter is useful when the size of
701
- # the body cannot be determined automatically.
753
+ # the body cannot be determined automatically. For more information, see
754
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
755
+ #
756
+ #
757
+ #
758
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
702
759
  # @option options [String] :content_md5
703
- # The base64-encoded 128-bit MD5 digest of the part data. This parameter
704
- # is auto-populated when using the command from the CLI. This parameted
705
- # is required if object lock parameters are specified.
760
+ # The base64-encoded 128-bit MD5 digest of the message (without the
761
+ # headers) according to RFC 1864. This header can be used as a message
762
+ # integrity check to verify that the data is the same data that was
763
+ # originally sent. Although it is optional, we recommend using the
764
+ # Content-MD5 mechanism as an end-to-end integrity check. For more
765
+ # information about REST request authentication, see [REST
766
+ # Authentication][1].
767
+ #
768
+ #
769
+ #
770
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
706
771
  # @option options [String] :content_type
707
- # A standard MIME type describing the format of the object data.
772
+ # A standard MIME type describing the format of the contents. For more
773
+ # information, see
774
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
775
+ #
776
+ #
777
+ #
778
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
708
779
  # @option options [Time,DateTime,Date,Integer,String] :expires
709
- # The date and time at which the object is no longer cacheable.
780
+ # The date and time at which the object is no longer cacheable. For more
781
+ # information, see
782
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
783
+ #
784
+ #
785
+ #
786
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
710
787
  # @option options [String] :grant_full_control
711
788
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
712
789
  # object.
@@ -719,52 +796,89 @@ module Aws::S3
719
796
  # @option options [Hash<String,String>] :metadata
720
797
  # A map of metadata to store with the object in S3.
721
798
  # @option options [String] :server_side_encryption
722
- # The Server-side encryption algorithm used when storing this object in
723
- # S3 (e.g., AES256, aws:kms).
799
+ # The server-side encryption algorithm used when storing this object in
800
+ # Amazon S3 (for example, AES256, aws:kms).
724
801
  # @option options [String] :storage_class
725
- # The type of storage to use for the object. Defaults to 'STANDARD'.
802
+ # If you don't specify, Standard is the default storage class. Amazon
803
+ # S3 supports other storage classes.
726
804
  # @option options [String] :website_redirect_location
727
805
  # If the bucket is configured as a website, redirects requests for this
728
806
  # object to another object in the same bucket or to an external URL.
729
- # Amazon S3 stores the value of this header in the object metadata.
807
+ # Amazon S3 stores the value of this header in the object metadata. For
808
+ # information about object metadata, see [Object Key and Metadata][1].
809
+ #
810
+ # In the following example, the request header sets the redirect to an
811
+ # object (anotherPage.html) in the same bucket:
812
+ #
813
+ # `x-amz-website-redirect-location: /anotherPage.html`
814
+ #
815
+ # In the following example, the request header sets the object redirect
816
+ # to another website:
817
+ #
818
+ # `x-amz-website-redirect-location: http://www.example.com/`
819
+ #
820
+ # For more information about website hosting in Amazon S3, see [Hosting
821
+ # Websites on Amazon S3][2] and [How to Configure Website Page
822
+ # Redirects][3].
823
+ #
824
+ #
825
+ #
826
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html
827
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
828
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
730
829
  # @option options [String] :sse_customer_algorithm
731
- # Specifies the algorithm to use to when encrypting the object (e.g.,
732
- # AES256).
830
+ # Specifies the algorithm to use to when encrypting the object (for
831
+ # example, AES256).
733
832
  # @option options [String] :sse_customer_key
734
833
  # Specifies the customer-provided encryption key for Amazon S3 to use in
735
834
  # encrypting data. This value is used to store the object and then it is
736
- # discarded; Amazon does not store the encryption key. The key must be
737
- # appropriate for use with the algorithm specified in the
738
- # x-amz-server-side​-encryption​-customer-algorithm header.
835
+ # discarded; Amazon S3 does not store the encryption key. The key must
836
+ # be appropriate for use with the algorithm specified in the
837
+ # `x-amz-server-side​-encryption​-customer-algorithm` header.
739
838
  # @option options [String] :sse_customer_key_md5
740
839
  # Specifies the 128-bit MD5 digest of the encryption key according to
741
840
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
742
- # ensure the encryption key was transmitted without error.
841
+ # ensure that the encryption key was transmitted without error.
743
842
  # @option options [String] :ssekms_key_id
744
- # Specifies the AWS KMS key ID to use for object encryption. All GET and
745
- # PUT requests for an object protected by AWS KMS will fail if not made
746
- # via SSL or using SigV4. Documentation on configuring any of the
747
- # officially supported AWS SDKs and CLI can be found at
748
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
843
+ # If `x-amz-server-side-encryption` is present and has the value of
844
+ # `aws:kms`, this header specifies the ID of the AWS Key Management
845
+ # Service (AWS KMS) symmetrical customer managed customer master key
846
+ # (CMK) that was used for the object.
847
+ #
848
+ # If the value of `x-amz-server-side-encryption` is `aws:kms`, this
849
+ # header specifies the ID of the symmetric customer managed AWS KMS CMK
850
+ # that will be used for the object. If you specify
851
+ # `x-amz-server-side-encryption:aws:kms`, but do not provide`
852
+ # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the AWS
853
+ # managed CMK in AWS to protect the data.
749
854
  # @option options [String] :ssekms_encryption_context
750
855
  # Specifies the AWS KMS Encryption Context to use for object encryption.
751
856
  # The value of this header is a base64-encoded UTF-8 string holding JSON
752
857
  # with the encryption context key-value pairs.
753
858
  # @option options [String] :request_payer
754
- # Confirms that the requester knows that she or he will be charged for
755
- # the request. Bucket owners need not specify this parameter in their
756
- # requests. Documentation on downloading objects from requester pays
757
- # buckets can be found at
758
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
859
+ # Confirms that the requester knows that they will be charged for the
860
+ # request. Bucket owners need not specify this parameter in their
861
+ # requests. For information about downloading objects from requester
862
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
863
+ # in the *Amazon S3 Developer Guide*.
864
+ #
865
+ #
866
+ #
867
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
759
868
  # @option options [String] :tagging
760
869
  # The tag-set for the object. The tag-set must be encoded as URL Query
761
870
  # parameters. (For example, "Key1=Value1")
762
871
  # @option options [String] :object_lock_mode
763
- # The object lock mode that you want to apply to this object.
872
+ # The Object Lock mode that you want to apply to this object.
764
873
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
765
- # The date and time when you want this object's object lock to expire.
874
+ # The date and time when you want this object's Object Lock to expire.
766
875
  # @option options [String] :object_lock_legal_hold_status
767
- # The Legal Hold status that you want to apply to the specified object.
876
+ # Specifies whether a legal hold will be applied to this object. For
877
+ # more information about S3 Object Lock, see [Object Lock][1].
878
+ #
879
+ #
880
+ #
881
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
768
882
  # @return [Types::PutObjectOutput]
769
883
  def put(options = {})
770
884
  options = options.merge(
@@ -864,13 +978,19 @@ module Aws::S3
864
978
  # })
865
979
  # @param [Hash] options ({})
866
980
  # @option options [String] :version_id
981
+ # VersionId used to reference a specific version of the object.
867
982
  # @option options [Types::RestoreRequest] :restore_request
983
+ # Container for restore job parameters.
868
984
  # @option options [String] :request_payer
869
- # Confirms that the requester knows that she or he will be charged for
870
- # the request. Bucket owners need not specify this parameter in their
871
- # requests. Documentation on downloading objects from requester pays
872
- # buckets can be found at
873
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
985
+ # Confirms that the requester knows that they will be charged for the
986
+ # request. Bucket owners need not specify this parameter in their
987
+ # requests. For information about downloading objects from requester
988
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
989
+ # in the *Amazon S3 Developer Guide*.
990
+ #
991
+ #
992
+ #
993
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
874
994
  # @return [Types::RestoreObjectOutput]
875
995
  def restore_object(options = {})
876
996
  options = options.merge(
@@ -1005,15 +1125,21 @@ module Aws::S3
1005
1125
  # @option options [String] :mfa
1006
1126
  # The concatenation of the authentication device's serial number, a
1007
1127
  # space, and the value that is displayed on your authentication device.
1128
+ # Required to permanently delete a versioned object if versioning is
1129
+ # configured with MFA delete enabled.
1008
1130
  # @option options [String] :request_payer
1009
- # Confirms that the requester knows that she or he will be charged for
1010
- # the request. Bucket owners need not specify this parameter in their
1011
- # requests. Documentation on downloading objects from requester pays
1012
- # buckets can be found at
1013
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1131
+ # Confirms that the requester knows that they will be charged for the
1132
+ # request. Bucket owners need not specify this parameter in their
1133
+ # requests. For information about downloading objects from requester
1134
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1135
+ # in the *Amazon S3 Developer Guide*.
1136
+ #
1137
+ #
1138
+ #
1139
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1014
1140
  # @option options [Boolean] :bypass_governance_retention
1015
1141
  # Specifies whether you want to delete this object even if it has a
1016
- # Governance-type object lock in place. You must have sufficient
1142
+ # Governance-type Object Lock in place. You must have sufficient
1017
1143
  # permissions to perform this operation.
1018
1144
  # @return [void]
1019
1145
  def batch_delete!(options = {})