aws-sdk-s3 1.65.0 → 1.69.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3.rb +3 -1
  3. data/lib/aws-sdk-s3/bucket.rb +5 -3
  4. data/lib/aws-sdk-s3/bucket_acl.rb +2 -0
  5. data/lib/aws-sdk-s3/bucket_cors.rb +3 -1
  6. data/lib/aws-sdk-s3/bucket_lifecycle.rb +2 -0
  7. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +2 -0
  8. data/lib/aws-sdk-s3/bucket_logging.rb +2 -0
  9. data/lib/aws-sdk-s3/bucket_notification.rb +2 -0
  10. data/lib/aws-sdk-s3/bucket_policy.rb +2 -0
  11. data/lib/aws-sdk-s3/bucket_region_cache.rb +2 -0
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +2 -0
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +2 -0
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +2 -0
  15. data/lib/aws-sdk-s3/bucket_website.rb +6 -2
  16. data/lib/aws-sdk-s3/client.rb +530 -649
  17. data/lib/aws-sdk-s3/client_api.rb +40 -18
  18. data/lib/aws-sdk-s3/customizations.rb +3 -0
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +4 -0
  20. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
  21. data/lib/aws-sdk-s3/customizations/object.rb +5 -0
  22. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  23. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
  24. data/lib/aws-sdk-s3/encryption.rb +2 -0
  25. data/lib/aws-sdk-s3/encryption/client.rb +3 -1
  26. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +11 -0
  27. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  28. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
  29. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +11 -0
  30. data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
  31. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +2 -0
  32. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +8 -1
  33. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
  34. data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
  35. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
  36. data/lib/aws-sdk-s3/encryption/materials.rb +2 -0
  37. data/lib/aws-sdk-s3/encryption/utils.rb +2 -0
  38. data/lib/aws-sdk-s3/encryptionV2/client.rb +378 -0
  39. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +194 -0
  40. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +104 -0
  41. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +38 -0
  42. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +63 -0
  43. data/lib/aws-sdk-s3/encryptionV2/errors.rb +13 -0
  44. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +56 -0
  45. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +30 -0
  46. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +67 -0
  47. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +29 -0
  48. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +84 -0
  49. data/lib/aws-sdk-s3/encryptionV2/materials.rb +58 -0
  50. data/lib/aws-sdk-s3/encryptionV2/utils.rb +116 -0
  51. data/lib/aws-sdk-s3/encryption_v2.rb +20 -0
  52. data/lib/aws-sdk-s3/errors.rb +2 -0
  53. data/lib/aws-sdk-s3/event_streams.rb +7 -0
  54. data/lib/aws-sdk-s3/file_downloader.rb +2 -0
  55. data/lib/aws-sdk-s3/file_part.rb +2 -0
  56. data/lib/aws-sdk-s3/file_uploader.rb +2 -0
  57. data/lib/aws-sdk-s3/legacy_signer.rb +2 -0
  58. data/lib/aws-sdk-s3/multipart_file_uploader.rb +2 -0
  59. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +2 -0
  60. data/lib/aws-sdk-s3/multipart_upload.rb +3 -1
  61. data/lib/aws-sdk-s3/multipart_upload_error.rb +2 -0
  62. data/lib/aws-sdk-s3/multipart_upload_part.rb +2 -0
  63. data/lib/aws-sdk-s3/object.rb +16 -4
  64. data/lib/aws-sdk-s3/object_acl.rb +2 -0
  65. data/lib/aws-sdk-s3/object_copier.rb +2 -0
  66. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -0
  67. data/lib/aws-sdk-s3/object_summary.rb +14 -3
  68. data/lib/aws-sdk-s3/object_version.rb +17 -1
  69. data/lib/aws-sdk-s3/plugins/accelerate.rb +2 -0
  70. data/lib/aws-sdk-s3/plugins/bucket_arn.rb +2 -0
  71. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +2 -0
  72. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +2 -0
  73. data/lib/aws-sdk-s3/plugins/dualstack.rb +2 -0
  74. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +3 -4
  75. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +2 -0
  76. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -1
  77. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +2 -0
  78. data/lib/aws-sdk-s3/plugins/location_constraint.rb +2 -0
  79. data/lib/aws-sdk-s3/plugins/md5s.rb +23 -24
  80. data/lib/aws-sdk-s3/plugins/redirects.rb +2 -0
  81. data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
  82. data/lib/aws-sdk-s3/plugins/s3_signer.rb +2 -0
  83. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +2 -0
  84. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -0
  85. data/lib/aws-sdk-s3/presigned_post.rb +2 -0
  86. data/lib/aws-sdk-s3/presigner.rb +2 -0
  87. data/lib/aws-sdk-s3/resource.rb +3 -1
  88. data/lib/aws-sdk-s3/types.rb +140 -37
  89. data/lib/aws-sdk-s3/waiters.rb +2 -0
  90. metadata +18 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40f310e6d4ead7108692d14ef761378d023bb81015055df1474a9086dec4cd0a
4
- data.tar.gz: 6601716b6872de72391ee45c00fac5b6b64aa03de178a1f974dbafd91d141032
3
+ metadata.gz: 42108655e1496a1ce6df9db9b19ea1733e1c2d3710b70d8a27bb6c8b562fb307
4
+ data.tar.gz: 2b759d809937dc65075c1e193ce71972de3ce592ac7d6d01d782e1eb401e6b1e
5
5
  SHA512:
6
- metadata.gz: 9c1a0ff1f5d20e23fa0af82851b22424bcbcf9b7b3d8e55455d51c7c5c60ae92547aa4f8f22bd57498be2642ecfa3654e275d444137b34265e8c66c378941c9a
7
- data.tar.gz: 201f2a5aa4938f6126d3876e6e67999114c6457a01ea1981ea83b5472eabb7e971315e34032dd5a4b4433af2fbcbf53c00c2ceab3800eee97f0b38c3b1d68632
6
+ metadata.gz: d0342f210f9a406650291b5cc4a27315d39c142d042609362bc16b3ef20eafa2915243a7f72dcd3a84a81bcdc0e1209f76b440cddf3acd88dc62ce66cc6f67fb
7
+ data.tar.gz: e3090d0ea9210596cb6eaa93b95ad43fb8784de81b249ebe8e8db33fb97763e281192f593a0f07bf224fa820ec5d0ea5f225368d9e396982f10a9c3e8a528f91
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -66,6 +68,6 @@ require_relative 'aws-sdk-s3/event_streams'
66
68
  # @service
67
69
  module Aws::S3
68
70
 
69
- GEM_VERSION = '1.65.0'
71
+ GEM_VERSION = '1.69.0'
70
72
 
71
73
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -437,8 +439,8 @@ module Aws::S3
437
439
  # The server-side encryption algorithm used when storing this object in
438
440
  # Amazon S3 (for example, AES256, aws:kms).
439
441
  # @option options [String] :storage_class
440
- # If you don't specify, Standard is the default storage class. Amazon
441
- # S3 supports other storage classes.
442
+ # If you don't specify, S3 Standard is the default storage class.
443
+ # Amazon S3 supports other storage classes.
442
444
  # @option options [String] :website_redirect_location
443
445
  # If the bucket is configured as a website, redirects requests for this
444
446
  # object to another object in the same bucket or to an external URL.
@@ -520,7 +522,7 @@ module Aws::S3
520
522
  # @return [Object]
521
523
  def put_object(options = {})
522
524
  options = options.merge(bucket: @name)
523
- resp = @client.put_object(options)
525
+ @client.put_object(options)
524
526
  Object.new(
525
527
  bucket_name: @name,
526
528
  key: options[:key],
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -209,7 +211,7 @@ module Aws::S3
209
211
  #
210
212
  #
211
213
  #
212
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//cors.html
214
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
213
215
  # @option options [String] :content_md5
214
216
  # The base64-encoded 128-bit MD5 digest of the data. This header must be
215
217
  # used as a message integrity check to verify that the request body was
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'thread'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -39,13 +41,15 @@ module Aws::S3
39
41
  data[:redirect_all_requests_to]
40
42
  end
41
43
 
42
- # The name of the index document for the website.
44
+ # The name of the index document for the website (for example
45
+ # `index.html`).
43
46
  # @return [Types::IndexDocument]
44
47
  def index_document
45
48
  data[:index_document]
46
49
  end
47
50
 
48
- # The name of the error document for the website.
51
+ # The object key name of the website error document to use for 4XX class
52
+ # errors.
49
53
  # @return [Types::ErrorDocument]
50
54
  def error_document
51
55
  data[:error_document]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
28
31
  require 'aws-sdk-s3/plugins/iad_regional_endpoint.rb'
29
32
  require 'aws-sdk-s3/plugins/accelerate.rb'
@@ -85,6 +88,7 @@ module Aws::S3
85
88
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
86
89
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
87
90
  add_plugin(Aws::Plugins::TransferEncoding)
91
+ add_plugin(Aws::Plugins::HttpChecksum)
88
92
  add_plugin(Aws::Plugins::Protocols::RestXml)
89
93
  add_plugin(Aws::S3::Plugins::IADRegionalEndpoint)
90
94
  add_plugin(Aws::S3::Plugins::Accelerate)
@@ -179,10 +183,11 @@ module Aws::S3
179
183
  # will use the Client Side Monitoring Agent Publisher.
180
184
  #
181
185
  # @option options [Boolean] :compute_checksums (true)
182
- # When `true` a MD5 checksum will be computed for every request that
183
- # sends a body. When `false`, MD5 checksums will only be computed
184
- # for operations that require them. Checksum errors returned by Amazon
185
- # S3 are automatically retried up to `:retry_limit` times.
186
+ # When `true` a MD5 checksum will be computed and sent in the Content Md5
187
+ # header for :put_object and :upload_part. When `false`, MD5 checksums
188
+ # will not be computed for these operations. Checksums are still computed
189
+ # for operations requiring them. Checksum errors returned by Amazon S3 are
190
+ # automatically retried up to `:retry_limit` times.
186
191
  #
187
192
  # @option options [Boolean] :convert_params (true)
188
193
  # When `true`, an attempt is made to coerce request parameters into
@@ -199,7 +204,7 @@ module Aws::S3
199
204
  # @option options [String] :endpoint
200
205
  # The client endpoint is normally constructed from the `:region`
201
206
  # option. You should only configure an `:endpoint` when connecting
202
- # to test endpoints. This should be a valid HTTP(S) URI.
207
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
208
  #
204
209
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
210
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -214,7 +219,7 @@ module Aws::S3
214
219
  # requests fetching endpoints information. Defaults to 60 sec.
215
220
  #
216
221
  # @option options [Boolean] :endpoint_discovery (false)
217
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
222
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
223
  #
219
224
  # @option options [Proc] :event_stream_handler
220
225
  # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
@@ -555,8 +560,7 @@ module Aws::S3
555
560
  #
556
561
  # * 404 Not Found
557
562
  #
558
- # The following operations are related to
559
- # `DeleteBucketMetricsConfiguration`\:
563
+ # The following operations are related to `CompleteMultipartUpload`\:
560
564
  #
561
565
  # * CreateMultipartUpload
562
566
  #
@@ -637,7 +641,7 @@ module Aws::S3
637
641
  # bucket: "acexamplebucket",
638
642
  # etag: "\"4d9031c7644d8081c2829f4ea23c55f7-2\"",
639
643
  # key: "bigobject",
640
- # location: "https://examplebucket.s3.amazonaws.com/bigobject",
644
+ # location: "https://examplebucket.s3.<Region>.amazonaws.com/bigobject",
641
645
  # }
642
646
  #
643
647
  # @example Request syntax with placeholder values
@@ -682,58 +686,19 @@ module Aws::S3
682
686
  #
683
687
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
684
688
  # create a copy of your object up to 5 GB in size in a single atomic
685
- # operation using this API. However, for copying an object greater than
686
- # 5 GB, you must use the multipart upload Upload Part - Copy API. For
687
- # more information, see [Copy Object Using the REST Multipart Upload
688
- # API][1].
689
+ # operation using this API. However, to copy an object greater than 5
690
+ # GB, you must use the multipart upload Upload Part - Copy API. For more
691
+ # information, see [Copy Object Using the REST Multipart Upload API][1].
689
692
  #
690
693
  # </note>
691
694
  #
692
- # When copying an object, you can preserve all metadata (default) or
693
- # specify new metadata. However, the ACL is not preserved and is set to
694
- # private for the user making the request. To override the default ACL
695
- # setting, specify a new ACL when generating a copy request. For more
696
- # information, see [Using ACLs][2].
697
- #
698
- # Amazon S3 transfer acceleration does not support cross-region copies.
699
- # If you request a cross-region copy using a transfer acceleration
700
- # endpoint, you get a 400 `Bad Request` error. For more information
701
- # about transfer acceleration, see [Transfer Acceleration][3].
702
- #
703
695
  # All copy requests must be authenticated. Additionally, you must have
704
696
  # *read* access to the source object and *write* access to the
705
697
  # destination bucket. For more information, see [REST
706
- # Authentication][4]. Both the Region that you want to copy the object
698
+ # Authentication][2]. Both the Region that you want to copy the object
707
699
  # from and the Region that you want to copy the object to must be
708
700
  # enabled for your account.
709
701
  #
710
- # To only copy an object under certain conditions, such as whether the
711
- # `Etag` matches or whether the object was modified before or after a
712
- # specified date, use the request parameters
713
- # `x-amz-copy-source-if-match`, `x-amz-copy-source-if-none-match`,
714
- # `x-amz-copy-source-if-unmodified-since`, or `
715
- # x-amz-copy-source-if-modified-since`.
716
- #
717
- # <note markdown="1"> All headers with the `x-amz-` prefix, including `x-amz-copy-source`,
718
- # must be signed.
719
- #
720
- # </note>
721
- #
722
- # You can use this operation to change the storage class of an object
723
- # that is already stored in Amazon S3 using the `StorageClass`
724
- # parameter. For more information, see [Storage Classes][5].
725
- #
726
- # The source object that you are copying can be encrypted or
727
- # unencrypted. If the source object is encrypted, it can be encrypted by
728
- # server-side encryption using AWS managed encryption keys or by using a
729
- # customer-provided encryption key. When copying an object, you can
730
- # request that Amazon S3 encrypt the target object by using either the
731
- # AWS managed encryption keys or by using your own encryption key. You
732
- # can do this regardless of the form of server-side encryption that was
733
- # used to encrypt the source, or even if the source object was not
734
- # encrypted. For more information about server-side encryption, see
735
- # [Using Server-Side Encryption][6].
736
- #
737
702
  # A copy request might return an error when Amazon S3 receives the copy
738
703
  # request or while Amazon S3 is copying the files. If the error occurs
739
704
  # before the copy operation starts, you receive a standard Amazon S3
@@ -752,182 +717,123 @@ module Aws::S3
752
717
  #
753
718
  # </note>
754
719
  #
755
- # Consider the following when using request headers:
756
- #
757
- # * Consideration 1 – If both the `x-amz-copy-source-if-match` and
758
- # `x-amz-copy-source-if-unmodified-since` headers are present in the
759
- # request and evaluate as follows, Amazon S3 returns 200 OK and copies
760
- # the data:
761
- #
762
- # * `x-amz-copy-source-if-match` condition evaluates to true
763
- #
764
- # * `x-amz-copy-source-if-unmodified-since` condition evaluates to
765
- # false
766
- #
767
- # * Consideration 2 – If both of the `x-amz-copy-source-if-none-match`
768
- # and `x-amz-copy-source-if-modified-since` headers are present in the
769
- # request and evaluate as follows, Amazon S3 returns the `412
770
- # Precondition Failed` response code:
771
- #
772
- # * `x-amz-copy-source-if-none-match` condition evaluates to false
773
- #
774
- # * `x-amz-copy-source-if-modified-since` condition evaluates to true
775
- #
776
- # The copy request charge is based on the storage class and Region you
777
- # specify for the destination object. For pricing information, see
778
- # [Amazon S3 Pricing][7].
779
- #
780
- # Following are other considerations when using `CopyObject`\:
781
- #
782
- # Versioning
783
- #
784
- # : By default, `x-amz-copy-source` identifies the current version of an
785
- # object to copy. (If the current version is a delete marker, Amazon
786
- # S3 behaves as if the object was deleted.) To copy a different
787
- # version, use the `versionId` subresource.
720
+ # The copy request charge is based on the storage class and Region that
721
+ # you specify for the destination object. For pricing information, see
722
+ # [Amazon S3 pricing][3].
788
723
  #
789
- # If you enable versioning on the target bucket, Amazon S3 generates a
790
- # unique version ID for the object being copied. This version ID is
791
- # different from the version ID of the source object. Amazon S3
792
- # returns the version ID of the copied object in the
793
- # `x-amz-version-id` response header in the response.
724
+ # Amazon S3 transfer acceleration does not support cross-Region copies.
725
+ # If you request a cross-Region copy using a transfer acceleration
726
+ # endpoint, you get a 400 `Bad Request` error. For more information, see
727
+ # [Transfer Acceleration][4].
794
728
  #
795
- # If you do not enable versioning or suspend it on the target bucket,
796
- # the version ID that Amazon S3 generates is always null.
797
- #
798
- # If the source object's storage class is GLACIER, you must restore a
799
- # copy of this object before you can use it as a source object for the
800
- # copy operation. For more information, see .
801
- #
802
- # Access Permissions
803
- #
804
- # : When copying an object, you can optionally specify the accounts or
805
- # groups that should be granted specific permissions on the new
806
- # object. There are two ways to grant the permissions using the
807
- # request headers:
808
- #
809
- # * Specify a canned ACL with the `x-amz-acl` request header. For more
810
- # information, see [Canned ACL][8].
811
- #
812
- # * Specify access permissions explicitly with the `x-amz-grant-read`,
813
- # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
814
- # `x-amz-grant-full-control` headers. These parameters map to the
815
- # set of permissions that Amazon S3 supports in an ACL. For more
816
- # information, see [Access Control List (ACL) Overview][9].
817
- #
818
- # You can use either a canned ACL or specify access permissions
819
- # explicitly. You cannot do both.
820
- #
821
- # Server-Side- Encryption-Specific Request Headers
822
- #
823
- # : To encrypt the target object, you must provide the appropriate
824
- # encryption-related request headers. The one you use depends on
825
- # whether you want to use AWS managed encryption keys or provide your
826
- # own encryption key.
827
- #
828
- # * To encrypt the target object using server-side encryption with an
829
- # AWS managed encryption key, provide the following request headers,
830
- # as appropriate.
831
- #
832
- # * `x-amz-server-side​-encryption`
833
- #
834
- # * `x-amz-server-side-encryption-aws-kms-key-id`
835
- #
836
- # * `x-amz-server-side-encryption-context`
837
- #
838
- # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
839
- # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
840
- # uses the AWS managed CMK in AWS KMS to protect the data. If you
841
- # want to use a customer managed AWS KMS CMK, you must provide the
842
- # `x-amz-server-side-encryption-aws-kms-key-id` of the symmetric
843
- # customer managed CMK. Amazon S3 only supports symmetric CMKs and
844
- # not asymmetric CMKs. For more information, see [Using Symmetric
845
- # and Asymmetric Keys][10] in the *AWS Key Management Service
846
- # Developer Guide*.
847
- #
848
- # </note>
849
- #
850
- # All GET and PUT requests for an object protected by AWS KMS fail
851
- # if you don't make them with SSL or by using SigV4.
729
+ # **Metadata**
852
730
  #
853
- # For more information about server-side encryption with CMKs stored
854
- # in AWS KMS (SSE-KMS), see [Protecting Data Using Server-Side
855
- # Encryption with CMKs stored in KMS][11].
731
+ # When copying an object, you can preserve all metadata (default) or
732
+ # specify new metadata. However, the ACL is not preserved and is set to
733
+ # private for the user making the request. To override the default ACL
734
+ # setting, specify a new ACL when generating a copy request. For more
735
+ # information, see [Using ACLs][5].
856
736
  #
857
- # * To encrypt the target object using server-side encryption with an
858
- # encryption key that you provide, use the following headers.
737
+ # To specify whether you want the object metadata copied from the source
738
+ # object or replaced with metadata provided in the request, you can
739
+ # optionally add the `x-amz-metadata-directive` header. When you grant
740
+ # permissions, you can use the `s3:x-amz-metadata-directive` condition
741
+ # key to enforce certain metadata behavior when objects are uploaded.
742
+ # For more information, see [Specifying Conditions in a Policy][6] in
743
+ # the *Amazon S3 Developer Guide*. For a complete list of Amazon
744
+ # S3-specific condition keys, see [Actions, Resources, and Condition
745
+ # Keys for Amazon S3][7].
859
746
  #
860
- # * x-amz-server-side​-encryption​-customer-algorithm
747
+ # <b> <code>x-amz-copy-source-if</code> Headers</b>
861
748
  #
862
- # * x-amz-server-side​-encryption​-customer-key
749
+ # To only copy an object under certain conditions, such as whether the
750
+ # `Etag` matches or whether the object was modified before or after a
751
+ # specified date, use the following request parameters:
863
752
  #
864
- # * x-amz-server-side​-encryption​-customer-key-MD5
753
+ # * `x-amz-copy-source-if-match`
865
754
  #
866
- # * If the source object is encrypted using server-side encryption
867
- # with customer-provided encryption keys, you must use the following
868
- # headers.
755
+ # * `x-amz-copy-source-if-none-match`
869
756
  #
870
- # * x-amz-copy-source​-server-side​-encryption​-customer-algorithm
757
+ # * `x-amz-copy-source-if-unmodified-since`
871
758
  #
872
- # * x-amz-copy-source​-server-side​-encryption​-customer-key
759
+ # * `x-amz-copy-source-if-modified-since`
873
760
  #
874
- # * x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
761
+ # If both the `x-amz-copy-source-if-match` and
762
+ # `x-amz-copy-source-if-unmodified-since` headers are present in the
763
+ # request and evaluate as follows, Amazon S3 returns `200 OK` and copies
764
+ # the data:
875
765
  #
876
- # For more information about server-side encryption with CMKs stored
877
- # in AWS KMS (SSE-KMS), see [Protecting Data Using Server-Side
878
- # Encryption with CMKs stored in Amazon KMS][11].
766
+ # * `x-amz-copy-source-if-match` condition evaluates to true
879
767
  #
880
- # Access-Control-List (ACL)-Specific Request Headers
768
+ # * `x-amz-copy-source-if-unmodified-since` condition evaluates to false
881
769
  #
882
- # : You also can use the following access control–related headers with
883
- # this operation. By default, all objects are private. Only the owner
884
- # has full access control. When adding a new object, you can grant
885
- # permissions to individual AWS accounts or to predefined groups
886
- # defined by Amazon S3. These permissions are then added to the access
887
- # control list (ACL) on the object. For more information, see [Using
888
- # ACLs][2]. With this operation, you can grant access permissions
889
- # using one of the following two methods:
770
+ # If both the `x-amz-copy-source-if-none-match` and
771
+ # `x-amz-copy-source-if-modified-since` headers are present in the
772
+ # request and evaluate as follows, Amazon S3 returns the `412
773
+ # Precondition Failed` response code:
890
774
  #
891
- # * Specify a canned ACL (`x-amz-acl`) Amazon S3 supports a set of
892
- # predefined ACLs, known as *canned ACLs*. Each canned ACL has a
893
- # predefined set of grantees and permissions. For more information,
894
- # see [Canned ACL][8].
775
+ # * `x-amz-copy-source-if-none-match` condition evaluates to false
895
776
  #
896
- # * Specify access permissions explicitly — To explicitly grant access
897
- # permissions to specific AWS accounts or groups, use the following
898
- # headers. Each header maps to specific permissions that Amazon S3
899
- # supports in an ACL. For more information, see [Access Control List
900
- # (ACL) Overview][9]. In the header, you specify a list of grantees
901
- # who get the specific permission. To grant permissions explicitly,
902
- # use:
777
+ # * `x-amz-copy-source-if-modified-since` condition evaluates to true
903
778
  #
904
- # * x-amz-grant-read
779
+ # <note markdown="1"> All headers with the `x-amz-` prefix, including `x-amz-copy-source`,
780
+ # must be signed.
905
781
  #
906
- # * x-amz-grant-write
782
+ # </note>
907
783
  #
908
- # * x-amz-grant-read-acp
784
+ # **Encryption**
909
785
  #
910
- # * x-amz-grant-write-acp
786
+ # The source object that you are copying can be encrypted or
787
+ # unencrypted. The source object can be encrypted with server-side
788
+ # encryption using AWS managed encryption keys (SSE-S3 or SSE-KMS) or by
789
+ # using a customer-provided encryption key. With server-side encryption,
790
+ # Amazon S3 encrypts your data as it writes it to disks in its data
791
+ # centers and decrypts the data when you access it.
792
+ #
793
+ # You can optionally use the appropriate encryption-related headers to
794
+ # request server-side encryption for the target object. You have the
795
+ # option to provide your own encryption key or use SSE-S3 or SSE-KMS,
796
+ # regardless of the form of server-side encryption that was used to
797
+ # encrypt the source object. You can even request encryption if the
798
+ # source object was not encrypted. For more information about
799
+ # server-side encryption, see [Using Server-Side Encryption][8].
800
+ #
801
+ # **Access Control List (ACL)-Specific Request Headers**
802
+ #
803
+ # When copying an object, you can optionally use headers to grant
804
+ # ACL-based permissions. By default, all objects are private. Only the
805
+ # owner has full access control. When adding a new object, you can grant
806
+ # permissions to individual AWS accounts or to predefined groups defined
807
+ # by Amazon S3. These permissions are then added to the ACL on the
808
+ # object. For more information, see [Access Control List (ACL)
809
+ # Overview][9] and [Managing ACLs Using the REST API][10].
911
810
  #
912
- # * x-amz-grant-full-control
811
+ # **Storage Class Options**
913
812
  #
914
- # You specify each grantee as a type=value pair, where the type is
915
- # one of the following:
813
+ # You can use the `CopyObject` operation to change the storage class of
814
+ # an object that is already stored in Amazon S3 using the `StorageClass`
815
+ # parameter. For more information, see [Storage Classes][11] in the
816
+ # *Amazon S3 Service Developer Guide*.
916
817
  #
917
- # * `emailAddress` – if the value specified is the email address of
918
- # an AWS account
818
+ # **Versioning**
919
819
  #
920
- # * `id` if the value specified is the canonical user ID of an AWS
921
- # account
820
+ # By default, `x-amz-copy-source` identifies the current version of an
821
+ # object to copy. If the current version is a delete marker, Amazon S3
822
+ # behaves as if the object was deleted. To copy a different version, use
823
+ # the `versionId` subresource.
922
824
  #
923
- # * `uri` if you are granting permissions to a predefined group
825
+ # If you enable versioning on the target bucket, Amazon S3 generates a
826
+ # unique version ID for the object being copied. This version ID is
827
+ # different from the version ID of the source object. Amazon S3 returns
828
+ # the version ID of the copied object in the `x-amz-version-id` response
829
+ # header in the response.
924
830
  #
925
- # For example, the following `x-amz-grant-read` header grants the
926
- # AWS accounts identified by email addresses permissions to read
927
- # object data and its metadata:
831
+ # If you do not enable versioning or suspend it on the target bucket,
832
+ # the version ID that Amazon S3 generates is always null.
928
833
  #
929
- # `x-amz-grant-read: emailAddress="xyz@amazon.com",
930
- # emailAddress="abc@amazon.com" `
834
+ # If the source object's storage class is GLACIER, you must restore a
835
+ # copy of this object before you can use it as a source object for the
836
+ # copy operation. For more information, see .
931
837
  #
932
838
  # The following operations are related to `CopyObject`\:
933
839
  #
@@ -940,16 +846,16 @@ module Aws::S3
940
846
  #
941
847
  #
942
848
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html
943
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
944
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
945
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
946
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
947
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
948
- # [7]: https://aws.amazon.com/s3/pricing/
949
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
849
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
850
+ # [3]: https://aws.amazon.com/s3/pricing/
851
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
852
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
853
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html
854
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
855
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
950
856
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
951
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
952
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
857
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
858
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
953
859
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
954
860
  #
955
861
  # @option params [String] :acl
@@ -1219,7 +1125,7 @@ module Aws::S3
1219
1125
  # You can optionally specify a Region in the request body. You might
1220
1126
  # choose a Region to optimize latency, minimize costs, or address
1221
1127
  # regulatory requirements. For example, if you reside in Europe, you
1222
- # will probably find it advantageous to create buckets in the EU
1128
+ # will probably find it advantageous to create buckets in the Europe
1223
1129
  # (Ireland) Region. For more information, see [How to Select a Region
1224
1130
  # for Your Buckets][2].
1225
1131
  #
@@ -1254,20 +1160,43 @@ module Aws::S3
1254
1160
  # You specify each grantee as a type=value pair, where the type is one
1255
1161
  # of the following:
1256
1162
  #
1257
- # * `emailAddress` – if the value specified is the email address of an
1258
- # AWS account
1259
- #
1260
1163
  # * `id` – if the value specified is the canonical user ID of an AWS
1261
1164
  # account
1262
1165
  #
1263
1166
  # * `uri` – if you are granting permissions to a predefined group
1264
1167
  #
1168
+ # * `emailAddress` – if the value specified is the email address of an
1169
+ # AWS account
1170
+ #
1171
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1172
+ # the following AWS Regions:
1173
+ #
1174
+ # * US East (N. Virginia)
1175
+ #
1176
+ # * US West (N. California)
1177
+ #
1178
+ # * US West (Oregon)
1179
+ #
1180
+ # * Asia Pacific (Singapore)
1181
+ #
1182
+ # * Asia Pacific (Sydney)
1183
+ #
1184
+ # * Asia Pacific (Tokyo)
1185
+ #
1186
+ # * Europe (Ireland)
1187
+ #
1188
+ # * South America (São Paulo)
1189
+ #
1190
+ # For a list of all the Amazon S3 supported Regions and endpoints,
1191
+ # see [Regions and Endpoints][6] in the AWS General Reference.
1192
+ #
1193
+ # </note>
1194
+ #
1265
1195
  # For example, the following `x-amz-grant-read` header grants the AWS
1266
- # accounts identified by email addresses permissions to read object
1267
- # data and its metadata:
1196
+ # accounts identified by account IDs permissions to read object data
1197
+ # and its metadata:
1268
1198
  #
1269
- # `x-amz-grant-read: emailAddress="xyz@amazon.com",
1270
- # emailAddress="abc@amazon.com" `
1199
+ # `x-amz-grant-read: id="11112222333", id="444455556666" `
1271
1200
  #
1272
1201
  # <note markdown="1"> You can use either a canned ACL or specify access permissions
1273
1202
  # explicitly. You cannot do both.
@@ -1287,6 +1216,7 @@ module Aws::S3
1287
1216
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1288
1217
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1289
1218
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1219
+ # [6]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1290
1220
  #
1291
1221
  # @option params [String] :acl
1292
1222
  # The canned ACL to apply to the bucket.
@@ -1349,7 +1279,7 @@ module Aws::S3
1349
1279
  #
1350
1280
  # resp.to_h outputs the following:
1351
1281
  # {
1352
- # location: "http://examplebucket.s3.amazonaws.com/",
1282
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1353
1283
  # }
1354
1284
  #
1355
1285
  # @example Request syntax with placeholder values
@@ -1545,20 +1475,43 @@ module Aws::S3
1545
1475
  # You specify each grantee as a type=value pair, where the type is
1546
1476
  # one of the following:
1547
1477
  #
1548
- # * `emailAddress` – if the value specified is the email address of
1549
- # an AWS account
1550
- #
1551
1478
  # * `id` – if the value specified is the canonical user ID of an AWS
1552
1479
  # account
1553
1480
  #
1554
1481
  # * `uri` – if you are granting permissions to a predefined group
1555
1482
  #
1483
+ # * `emailAddress` – if the value specified is the email address of
1484
+ # an AWS account
1485
+ #
1486
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1487
+ # the following AWS Regions:
1488
+ #
1489
+ # * US East (N. Virginia)
1490
+ #
1491
+ # * US West (N. California)
1492
+ #
1493
+ # * US West (Oregon)
1494
+ #
1495
+ # * Asia Pacific (Singapore)
1496
+ #
1497
+ # * Asia Pacific (Sydney)
1498
+ #
1499
+ # * Asia Pacific (Tokyo)
1500
+ #
1501
+ # * Europe (Ireland)
1502
+ #
1503
+ # * South America (São Paulo)
1504
+ #
1505
+ # For a list of all the Amazon S3 supported Regions and endpoints,
1506
+ # see [Regions and Endpoints][10] in the AWS General Reference.
1507
+ #
1508
+ # </note>
1509
+ #
1556
1510
  # For example, the following `x-amz-grant-read` header grants the
1557
- # AWS accounts identified by email addresses permissions to read
1558
- # object data and its metadata:
1511
+ # AWS accounts identified by account IDs permissions to read object
1512
+ # data and its metadata:
1559
1513
  #
1560
- # `x-amz-grant-read: emailAddress="xyz@amazon.com",
1561
- # emailAddress="abc@amazon.com" `
1514
+ # `x-amz-grant-read: id="11112222333", id="444455556666" `
1562
1515
  #
1563
1516
  # The following operations are related to `CreateMultipartUpload`\:
1564
1517
  #
@@ -1583,6 +1536,7 @@ module Aws::S3
1583
1536
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1584
1537
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
1585
1538
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
1539
+ # [10]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1586
1540
  #
1587
1541
  # @option params [String] :acl
1588
1542
  # The canned ACL to apply to the object.
@@ -1848,7 +1802,7 @@ module Aws::S3
1848
1802
  #
1849
1803
  #
1850
1804
  #
1851
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1805
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1852
1806
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
1853
1807
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
1854
1808
  #
@@ -1945,9 +1899,9 @@ module Aws::S3
1945
1899
  #
1946
1900
  #
1947
1901
  #
1948
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//bucket-encryption.html
1949
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1950
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html
1902
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
1903
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1904
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
1951
1905
  #
1952
1906
  # @option params [required, String] :bucket
1953
1907
  # The name of the bucket containing the server-side encryption
@@ -2428,15 +2382,6 @@ module Aws::S3
2428
2382
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2429
2383
  #
2430
2384
  #
2431
- # @example Example: To delete an object (from a non-versioned bucket)
2432
- #
2433
- # # The following example deletes an object from a non-versioned bucket.
2434
- #
2435
- # resp = client.delete_object({
2436
- # bucket: "ExampleBucket",
2437
- # key: "HappyFace.jpg",
2438
- # })
2439
- #
2440
2385
  # @example Example: To delete an object
2441
2386
  #
2442
2387
  # # The following example deletes an object from an S3 bucket.
@@ -2450,6 +2395,15 @@ module Aws::S3
2450
2395
  # {
2451
2396
  # }
2452
2397
  #
2398
+ # @example Example: To delete an object (from a non-versioned bucket)
2399
+ #
2400
+ # # The following example deletes an object from a non-versioned bucket.
2401
+ #
2402
+ # resp = client.delete_object({
2403
+ # bucket: "ExampleBucket",
2404
+ # key: "HappyFace.jpg",
2405
+ # })
2406
+ #
2453
2407
  # @example Request syntax with placeholder values
2454
2408
  #
2455
2409
  # resp = client.delete_object({
@@ -2670,20 +2624,22 @@ module Aws::S3
2670
2624
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
2671
2625
  #
2672
2626
  #
2673
- # @example Example: To delete multiple objects from a versioned bucket
2627
+ # @example Example: To delete multiple object versions from a versioned bucket
2674
2628
  #
2675
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2676
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2629
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2630
+ # # versions and returns the key and versions of deleted objects in the response.
2677
2631
  #
2678
2632
  # resp = client.delete_objects({
2679
2633
  # bucket: "examplebucket",
2680
2634
  # delete: {
2681
2635
  # objects: [
2682
2636
  # {
2683
- # key: "objectkey1",
2637
+ # key: "HappyFace.jpg",
2638
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2684
2639
  # },
2685
2640
  # {
2686
- # key: "objectkey2",
2641
+ # key: "HappyFace.jpg",
2642
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2687
2643
  # },
2688
2644
  # ],
2689
2645
  # quiet: false,
@@ -2694,34 +2650,30 @@ module Aws::S3
2694
2650
  # {
2695
2651
  # deleted: [
2696
2652
  # {
2697
- # delete_marker: true,
2698
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2699
- # key: "objectkey1",
2653
+ # key: "HappyFace.jpg",
2654
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2700
2655
  # },
2701
2656
  # {
2702
- # delete_marker: true,
2703
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2704
- # key: "objectkey2",
2657
+ # key: "HappyFace.jpg",
2658
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2705
2659
  # },
2706
2660
  # ],
2707
2661
  # }
2708
2662
  #
2709
- # @example Example: To delete multiple object versions from a versioned bucket
2663
+ # @example Example: To delete multiple objects from a versioned bucket
2710
2664
  #
2711
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2712
- # # versions and returns the key and versions of deleted objects in the response.
2665
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2666
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2713
2667
  #
2714
2668
  # resp = client.delete_objects({
2715
2669
  # bucket: "examplebucket",
2716
2670
  # delete: {
2717
2671
  # objects: [
2718
2672
  # {
2719
- # key: "HappyFace.jpg",
2720
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2673
+ # key: "objectkey1",
2721
2674
  # },
2722
2675
  # {
2723
- # key: "HappyFace.jpg",
2724
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2676
+ # key: "objectkey2",
2725
2677
  # },
2726
2678
  # ],
2727
2679
  # quiet: false,
@@ -2732,12 +2684,14 @@ module Aws::S3
2732
2684
  # {
2733
2685
  # deleted: [
2734
2686
  # {
2735
- # key: "HappyFace.jpg",
2736
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2687
+ # delete_marker: true,
2688
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2689
+ # key: "objectkey1",
2737
2690
  # },
2738
2691
  # {
2739
- # key: "HappyFace.jpg",
2740
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2692
+ # delete_marker: true,
2693
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2694
+ # key: "objectkey2",
2741
2695
  # },
2742
2696
  # ],
2743
2697
  # }
@@ -2790,8 +2744,7 @@ module Aws::S3
2790
2744
  # Operations][1] and [Managing Access Permissions to Your Amazon S3
2791
2745
  # Resources][2].
2792
2746
  #
2793
- # The following operations are related to
2794
- # `DeleteBucketMetricsConfiguration`\:
2747
+ # The following operations are related to `DeletePublicAccessBlock`\:
2795
2748
  #
2796
2749
  # * [Using Amazon S3 Block Public Access][3]
2797
2750
  #
@@ -2861,9 +2814,9 @@ module Aws::S3
2861
2814
  #
2862
2815
  #
2863
2816
  #
2864
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2865
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html
2866
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev//transfer-acceleration.html
2817
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2818
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2819
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
2867
2820
  #
2868
2821
  # @option params [required, String] :bucket
2869
2822
  # Name of the bucket for which the accelerate configuration is
@@ -3348,7 +3301,7 @@ module Aws::S3
3348
3301
  # * SOAP Fault Code Prefix: Client
3349
3302
  #
3350
3303
  # The following operations are related to
3351
- # `DeleteBucketMetricsConfiguration`\:
3304
+ # `GetBucketLifecycleConfiguration`\:
3352
3305
  #
3353
3306
  # * GetBucketLifecycle
3354
3307
  #
@@ -3605,7 +3558,7 @@ module Aws::S3
3605
3558
  # No longer used, see GetBucketNotificationConfiguration.
3606
3559
  #
3607
3560
  # @option params [required, String] :bucket
3608
- # Name of the bucket for which to get the notification configuration
3561
+ # Name of the bucket for which to get the notification configuration.
3609
3562
  #
3610
3563
  # @return [Types::NotificationConfigurationDeprecated] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3611
3564
  #
@@ -3731,7 +3684,7 @@ module Aws::S3
3731
3684
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
3732
3685
  #
3733
3686
  # @option params [required, String] :bucket
3734
- # Name of the bucket for which to get the notification configuration
3687
+ # Name of the bucket for which to get the notification configuration.
3735
3688
  #
3736
3689
  # @return [Types::NotificationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3737
3690
  #
@@ -4466,7 +4419,16 @@ module Aws::S3
4466
4419
  # @option params [String] :range
4467
4420
  # Downloads the specified range bytes of an object. For more information
4468
4421
  # about the HTTP Range header, see
4469
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
4422
+ # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
4423
+ #
4424
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
4425
+ # `GET` request.
4426
+ #
4427
+ # </note>
4428
+ #
4429
+ #
4430
+ #
4431
+ # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
4470
4432
  #
4471
4433
  # @option params [String] :response_cache_control
4472
4434
  # Sets the `Cache-Control` header of the response.
@@ -5446,6 +5408,11 @@ module Aws::S3
5446
5408
  # about the HTTP Range header, see
5447
5409
  # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
5448
5410
  #
5411
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5412
+ # `GET` request.
5413
+ #
5414
+ # </note>
5415
+ #
5449
5416
  # @option params [String] :version_id
5450
5417
  # VersionId used to reference a specific version of the object.
5451
5418
  #
@@ -6248,12 +6215,12 @@ module Aws::S3
6248
6215
  # Specifies the key to start with when listing objects in a bucket.
6249
6216
  #
6250
6217
  # @option params [Integer] :max_keys
6251
- # Sets the maximum number of keys returned in the response. The response
6252
- # might contain fewer keys but will never contain more. If additional
6253
- # keys satisfy the search criteria, but were not returned because
6254
- # max-keys was exceeded, the response contains
6255
- # &lt;isTruncated&gt;true&lt;/isTruncated&gt;. To return the additional
6256
- # keys, see key-marker and version-id-marker.
6218
+ # Sets the maximum number of keys returned in the response. By default
6219
+ # the API returns up to 1,000 key names. The response might contain
6220
+ # fewer keys but will never contain more. If additional keys satisfy the
6221
+ # search criteria, but were not returned because max-keys was exceeded,
6222
+ # the response contains &lt;isTruncated&gt;true&lt;/isTruncated&gt;. To
6223
+ # return the additional keys, see key-marker and version-id-marker.
6257
6224
  #
6258
6225
  # @option params [String] :prefix
6259
6226
  # Use this parameter to select only those keys that begin with the
@@ -6421,8 +6388,9 @@ module Aws::S3
6421
6388
  # Specifies the key to start with when listing objects in a bucket.
6422
6389
  #
6423
6390
  # @option params [Integer] :max_keys
6424
- # Sets the maximum number of keys returned in the response. The response
6425
- # might contain fewer keys but will never contain more.
6391
+ # Sets the maximum number of keys returned in the response. By default
6392
+ # the API returns up to 1,000 key names. The response might contain
6393
+ # fewer keys but will never contain more.
6426
6394
  #
6427
6395
  # @option params [String] :prefix
6428
6396
  # Limits the response to keys that begin with the specified prefix.
@@ -6585,8 +6553,9 @@ module Aws::S3
6585
6553
  # Encoding type used by Amazon S3 to encode object keys in the response.
6586
6554
  #
6587
6555
  # @option params [Integer] :max_keys
6588
- # Sets the maximum number of keys returned in the response. The response
6589
- # might contain fewer keys but will never contain more.
6556
+ # Sets the maximum number of keys returned in the response. By default
6557
+ # the API returns up to 1,000 key names. The response might contain
6558
+ # fewer keys but will never contain more.
6590
6559
  #
6591
6560
  # @option params [String] :prefix
6592
6561
  # Limits the response to keys that begin with the specified prefix.
@@ -7002,38 +6971,54 @@ module Aws::S3
7002
6971
  # You specify each grantee as a type=value pair, where the type is one
7003
6972
  # of the following:
7004
6973
  #
7005
- # * `emailAddress` – if the value specified is the email address of an
7006
- # AWS account
7007
- #
7008
6974
  # * `id` – if the value specified is the canonical user ID of an AWS
7009
6975
  # account
7010
6976
  #
7011
6977
  # * `uri` – if you are granting permissions to a predefined group
7012
6978
  #
7013
- # For example, the following `x-amz-grant-write` header grants create,
7014
- # overwrite, and delete objects permission to LogDelivery group
7015
- # predefined by Amazon S3 and two AWS accounts identified by their
7016
- # email addresses.
6979
+ # * `emailAddress` – if the value specified is the email address of an
6980
+ # AWS account
7017
6981
  #
7018
- # `x-amz-grant-write:
7019
- # uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
7020
- # emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" `
6982
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
6983
+ # the following AWS Regions:
7021
6984
  #
7022
- # You can use either a canned ACL or specify access permissions
7023
- # explicitly. You cannot do both.
6985
+ # * US East (N. Virginia)
7024
6986
  #
7025
- # **Grantee Values**
6987
+ # * US West (N. California)
7026
6988
  #
7027
- # You can specify the person (grantee) to whom you're assigning access
7028
- # rights (using request elements) in the following ways:
6989
+ # * US West (Oregon)
7029
6990
  #
7030
- # * By Email address:
6991
+ # * Asia Pacific (Singapore)
7031
6992
  #
7032
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7033
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
6993
+ # * Asia Pacific (Sydney)
7034
6994
  #
7035
- # The grantee is resolved to the CanonicalUser and, in a response to a
7036
- # GET Object acl request, appears as the CanonicalUser.
6995
+ # * Asia Pacific (Tokyo)
6996
+ #
6997
+ # * Europe (Ireland)
6998
+ #
6999
+ # * South America (São Paulo)
7000
+ #
7001
+ # For a list of all the Amazon S3 supported Regions and endpoints,
7002
+ # see [Regions and Endpoints][4] in the AWS General Reference.
7003
+ #
7004
+ # </note>
7005
+ #
7006
+ # For example, the following `x-amz-grant-write` header grants create,
7007
+ # overwrite, and delete objects permission to LogDelivery group
7008
+ # predefined by Amazon S3 and two AWS accounts identified by their
7009
+ # email addresses.
7010
+ #
7011
+ # `x-amz-grant-write:
7012
+ # uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
7013
+ # id="111122223333", id="555566667777" `
7014
+ #
7015
+ # You can use either a canned ACL or specify access permissions
7016
+ # explicitly. You cannot do both.
7017
+ #
7018
+ # **Grantee Values**
7019
+ #
7020
+ # You can specify the person (grantee) to whom you're assigning access
7021
+ # rights (using request elements) in the following ways:
7037
7022
  #
7038
7023
  # * By the person's ID:
7039
7024
  #
@@ -7048,6 +7033,38 @@ module Aws::S3
7048
7033
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7049
7034
  # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
7050
7035
  #
7036
+ # * By Email address:
7037
+ #
7038
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7039
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
7040
+ #
7041
+ # The grantee is resolved to the CanonicalUser and, in a response to a
7042
+ # GET Object acl request, appears as the CanonicalUser.
7043
+ #
7044
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
7045
+ # following AWS Regions:
7046
+ #
7047
+ # * US East (N. Virginia)
7048
+ #
7049
+ # * US West (N. California)
7050
+ #
7051
+ # * US West (Oregon)
7052
+ #
7053
+ # * Asia Pacific (Singapore)
7054
+ #
7055
+ # * Asia Pacific (Sydney)
7056
+ #
7057
+ # * Asia Pacific (Tokyo)
7058
+ #
7059
+ # * Europe (Ireland)
7060
+ #
7061
+ # * South America (São Paulo)
7062
+ #
7063
+ # For a list of all the Amazon S3 supported Regions and endpoints, see
7064
+ # [Regions and Endpoints][4] in the AWS General Reference.
7065
+ #
7066
+ # </note>
7067
+ #
7051
7068
  # **Related Resources**
7052
7069
  #
7053
7070
  # * CreateBucket
@@ -7061,6 +7078,7 @@ module Aws::S3
7061
7078
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
7062
7079
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
7063
7080
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
7081
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
7064
7082
  #
7065
7083
  # @option params [String] :acl
7066
7084
  # The canned ACL to apply to the bucket.
@@ -7336,7 +7354,7 @@ module Aws::S3
7336
7354
  #
7337
7355
  #
7338
7356
  #
7339
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//cors.html
7357
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
7340
7358
  #
7341
7359
  # @option params [String] :content_md5
7342
7360
  # The base64-encoded 128-bit MD5 digest of the data. This header must be
@@ -7425,7 +7443,9 @@ module Aws::S3
7425
7443
  #
7426
7444
  # This implementation of the `PUT` operation sets default encryption for
7427
7445
  # a bucket using server-side encryption with Amazon S3-managed keys
7428
- # SSE-S3 or AWS KMS customer master keys (CMKs) (SSE-KMS).
7446
+ # SSE-S3 or AWS KMS customer master keys (CMKs) (SSE-KMS). For
7447
+ # information about the Amazon S3 default encryption feature, see
7448
+ # [Amazon S3 Default Bucket Encryption][1].
7429
7449
  #
7430
7450
  # This operation requires AWS Signature Version 4. For more information,
7431
7451
  # see [ Authenticating Requests (AWS Signature Version
@@ -7435,8 +7455,8 @@ module Aws::S3
7435
7455
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
7436
7456
  # permission by default. The bucket owner can grant this permission to
7437
7457
  # others. For more information about permissions, see [Permissions
7438
- # Related to Bucket Subresource Operations][1] and [Managing Access
7439
- # Permissions to Your Amazon S3 Resources][2] in the Amazon Simple
7458
+ # Related to Bucket Subresource Operations][2] and [Managing Access
7459
+ # Permissions to Your Amazon S3 Resources][3] in the Amazon Simple
7440
7460
  # Storage Service Developer Guide.
7441
7461
  #
7442
7462
  # **Related Resources**
@@ -7447,8 +7467,9 @@ module Aws::S3
7447
7467
  #
7448
7468
  #
7449
7469
  #
7450
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
7451
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7470
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
7471
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
7472
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7452
7473
  #
7453
7474
  # @option params [required, String] :bucket
7454
7475
  # Specifies default encryption for a bucket using server-side encryption
@@ -7519,7 +7540,7 @@ module Aws::S3
7519
7540
  # You must create a bucket policy on the *destination* bucket to grant
7520
7541
  # permissions to Amazon S3 to write objects to the bucket in the defined
7521
7542
  # location. For an example policy, see [ Granting Permissions for Amazon
7522
- # S3 Inventory and Storage Class Analysis.][2]
7543
+ # S3 Inventory and Storage Class Analysis][2].
7523
7544
  #
7524
7545
  # To use this operation, you must have permissions to perform the
7525
7546
  # `s3:PutInventoryConfiguration` action. The bucket owner has this
@@ -7550,7 +7571,7 @@ module Aws::S3
7550
7571
  #
7551
7572
  # * *Cause:* You are not the owner of the specified bucket, or you do
7552
7573
  # not have the `s3:PutInventoryConfiguration` bucket permission to
7553
- # set the configuration on the bucket
7574
+ # set the configuration on the bucket.
7554
7575
  #
7555
7576
  # **Related Resources**
7556
7577
  #
@@ -7562,10 +7583,10 @@ module Aws::S3
7562
7583
  #
7563
7584
  #
7564
7585
  #
7565
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//storage-inventory.html
7586
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
7566
7587
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9
7567
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
7568
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html
7588
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
7589
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7569
7590
  #
7570
7591
  # @option params [required, String] :bucket
7571
7592
  # The name of the bucket where the inventory configuration will be
@@ -7678,10 +7699,10 @@ module Aws::S3
7678
7699
  #
7679
7700
  #
7680
7701
  #
7681
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//object-lifecycle-mgmt.html
7682
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html
7683
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev//intro-lifecycle-rules.html#lifecycle-configuration-examples
7684
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html
7702
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
7703
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7704
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#lifecycle-configuration-examples
7705
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
7685
7706
  #
7686
7707
  # @option params [required, String] :bucket
7687
7708
  #
@@ -8354,7 +8375,7 @@ module Aws::S3
8354
8375
  # permissions on the specified bucket and belong to the bucket owner's
8355
8376
  # account in order to use this operation.
8356
8377
  #
8357
- # If you don't have `PutBucketPolic`y permissions, Amazon S3 returns a
8378
+ # If you don't have `PutBucketPolicy` permissions, Amazon S3 returns a
8358
8379
  # `403 Access Denied` error. If you have the correct permissions, but
8359
8380
  # you're not using an identity that belongs to the bucket owner's
8360
8381
  # account, Amazon S3 returns a `405 Method Not Allowed` error.
@@ -8737,8 +8758,8 @@ module Aws::S3
8737
8758
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html
8738
8759
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
8739
8760
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8740
- # [5]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html
8741
- # [6]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html
8761
+ # [5]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
8762
+ # [6]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html
8742
8763
  #
8743
8764
  # @option params [required, String] :bucket
8744
8765
  # The bucket name.
@@ -8962,9 +8983,15 @@ module Aws::S3
8962
8983
  #
8963
8984
  # * `HttpRedirectCode`
8964
8985
  #
8986
+ # Amazon S3 has a limitation of 50 routing rules per website
8987
+ # configuration. If you require more than 50 routing rules, you can use
8988
+ # object redirect. For more information, see [Configuring an Object
8989
+ # Redirect][2] in the *Amazon Simple Storage Service Developer Guide*.
8990
+ #
8965
8991
  #
8966
8992
  #
8967
8993
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
8994
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
8968
8995
  #
8969
8996
  # @option params [required, String] :bucket
8970
8997
  # The bucket name.
@@ -9063,16 +9090,16 @@ module Aws::S3
9063
9090
  # putting an object to Amazon S3 and compare the returned ETag to the
9064
9091
  # calculated MD5 value.
9065
9092
  #
9066
- # <note markdown="1"> To configure your application to send the request headers before
9067
- # sending the request body, use the `100-continue` HTTP status code. For
9068
- # PUT operations, this helps you avoid sending the message body if the
9069
- # message is rejected based on the headers (for example, because
9070
- # authentication fails or a redirect occurs). For more information on
9071
- # the `100-continue` HTTP status code, see Section 8.2.3 of
9072
- # [http://www.ietf.org/rfc/rfc2616.txt][1].
9093
+ # <note markdown="1"> The `Content-MD5` header is required for any request to upload an
9094
+ # object with a retention period configured using Amazon S3 Object Lock.
9095
+ # For more information about Amazon S3 Object Lock, see [Amazon S3
9096
+ # Object Lock Overview][1] in the *Amazon Simple Storage Service
9097
+ # Developer Guide*.
9073
9098
  #
9074
9099
  # </note>
9075
9100
  #
9101
+ # **Server-side Encryption**
9102
+ #
9076
9103
  # You can optionally request server-side encryption. With server-side
9077
9104
  # encryption, Amazon S3 encrypts your data as it writes it to disks in
9078
9105
  # its data centers and decrypts the data when you access it. You have
@@ -9080,229 +9107,35 @@ module Aws::S3
9080
9107
  # encryption keys. For more information, see [Using Server-Side
9081
9108
  # Encryption][2].
9082
9109
  #
9083
- # Access Permissions
9084
- #
9085
- # : You can optionally specify the accounts or groups that should be
9086
- # granted specific permissions on the new object. There are two ways
9087
- # to grant the permissions using the request headers:
9088
- #
9089
- # * Specify a canned ACL with the `x-amz-acl` request header. For more
9090
- # information, see [Canned ACL][3].
9091
- #
9092
- # * Specify access permissions explicitly with the `x-amz-grant-read`,
9093
- # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
9094
- # `x-amz-grant-full-control` headers. These parameters map to the
9095
- # set of permissions that Amazon S3 supports in an ACL. For more
9096
- # information, see [Access Control List (ACL) Overview][4].
9097
- #
9098
- # You can use either a canned ACL or specify access permissions
9099
- # explicitly. You cannot do both.
9100
- #
9101
- # Server-Side- Encryption-Specific Request Headers
9102
- #
9103
- # : You can optionally tell Amazon S3 to encrypt data at rest using
9104
- # server-side encryption. Server-side encryption is for data
9105
- # encryption at rest. Amazon S3 encrypts your data as it writes it to
9106
- # disks in its data centers and decrypts it when you access it. The
9107
- # option you use depends on whether you want to use AWS managed
9108
- # encryption keys or provide your own encryption key.
9109
- #
9110
- # * Use encryption keys managed by Amazon S3 or customer master keys
9111
- # (CMKs) stored in AWS Key Management Service (AWS KMS) – If you
9112
- # want AWS to manage the keys used to encrypt data, specify the
9113
- # following headers in the request.
9114
- #
9115
- # * x-amz-server-side​-encryption
9116
- #
9117
- # * x-amz-server-side-encryption-aws-kms-key-id
9118
- #
9119
- # * x-amz-server-side-encryption-context
9120
- #
9121
- # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
9122
- # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
9123
- # uses the AWS managed CMK in AWS KMS to protect the data. If you
9124
- # want to use a customer managed AWS KMS CMK, you must provide the
9125
- # `x-amz-server-side-encryption-aws-kms-key-id` of the symmetric
9126
- # customer managed CMK. Amazon S3 only supports symmetric CMKs and
9127
- # not asymmetric CMKs. For more information, see [Using Symmetric
9128
- # and Asymmetric Keys][5] in the *AWS Key Management Service
9129
- # Developer Guide*.
9130
- #
9131
- # </note>
9132
- #
9133
- # All GET and PUT requests for an object protected by AWS KMS fail
9134
- # if you don't make them with SSL or by using SigV4.
9135
- #
9136
- # For more information about server-side encryption with CMKs stored
9137
- # in AWS KMS (SSE-KMS), see [Protecting Data Using Server-Side
9138
- # Encryption with CMKs stored in AWS][6].
9139
- #
9140
- # * Use customer-provided encryption keys – If you want to manage your
9141
- # own encryption keys, provide all the following headers in the
9142
- # request.
9143
- #
9144
- # * x-amz-server-side​-encryption​-customer-algorithm
9145
- #
9146
- # * x-amz-server-side​-encryption​-customer-key
9147
- #
9148
- # * x-amz-server-side​-encryption​-customer-key-MD5
9149
- #
9150
- # For more information about server-side encryption with CMKs stored
9151
- # in KMS (SSE-KMS), see [Protecting Data Using Server-Side
9152
- # Encryption with CMKs stored in AWS][6].
9153
- #
9154
- # Access-Control-List (ACL)-Specific Request Headers
9155
- #
9156
- # : You also can use the following access control–related headers with
9157
- # this operation. By default, all objects are private. Only the owner
9158
- # has full access control. When adding a new object, you can grant
9159
- # permissions to individual AWS accounts or to predefined groups
9160
- # defined by Amazon S3. These permissions are then added to the Access
9161
- # Control List (ACL) on the object. For more information, see [Using
9162
- # ACLs][7]. With this operation, you can grant access permissions
9163
- # using one of the following two methods:
9164
- #
9165
- # * Specify a canned ACL (`x-amz-acl`) — Amazon S3 supports a set of
9166
- # predefined ACLs, known as canned ACLs. Each canned ACL has a
9167
- # predefined set of grantees and permissions. For more information,
9168
- # see [Canned ACL][3].
9169
- #
9170
- # * Specify access permissions explicitly — To explicitly grant access
9171
- # permissions to specific AWS accounts or groups, use the following
9172
- # headers. Each header maps to specific permissions that Amazon S3
9173
- # supports in an ACL. For more information, see [Access Control List
9174
- # (ACL) Overview][4]. In the header, you specify a list of grantees
9175
- # who get the specific permission. To grant permissions explicitly
9176
- # use:
9177
- #
9178
- # * x-amz-grant-read
9179
- #
9180
- # * x-amz-grant-write
9181
- #
9182
- # * x-amz-grant-read-acp
9183
- #
9184
- # * x-amz-grant-write-acp
9185
- #
9186
- # * x-amz-grant-full-control
9187
- #
9188
- # You specify each grantee as a type=value pair, where the type is
9189
- # one of the following:
9190
- #
9191
- # * `emailAddress` – if the value specified is the email address of
9192
- # an AWS account
9193
- #
9194
- # Using email addresses to specify a grantee is only supported in
9195
- # the following AWS Regions:
9196
- #
9197
- # * US East (N. Virginia)
9198
- #
9199
- # * US West (N. California)
9200
- #
9201
- # * US West (Oregon)
9202
- #
9203
- # * Asia Pacific (Singapore)
9204
- #
9205
- # * Asia Pacific (Sydney)
9206
- #
9207
- # * Asia Pacific (Tokyo)
9208
- #
9209
- # * EU (Ireland)
9210
- #
9211
- # * South America (São Paulo)
9212
- #
9213
- # For a list of all the Amazon S3 supported Regions and
9214
- # endpoints,
9215
- # see [Regions and Endpoints][8] in the AWS General Reference
9216
- #
9217
- # * `id` – if the value specified is the canonical user ID of an AWS
9218
- # account
9219
- #
9220
- # * `uri` – if you are granting permissions to a predefined group
9221
- #
9222
- # For example, the following `x-amz-grant-read` header grants the
9223
- # AWS accounts identified by email addresses permissions to read
9224
- # object data and its metadata:
9225
- #
9226
- # `x-amz-grant-read: emailAddress="xyz@amazon.com",
9227
- # emailAddress="abc@amazon.com" `
9228
- #
9229
- # Server-Side- Encryption-Specific Request Headers
9230
- #
9231
- # : You can optionally tell Amazon S3 to encrypt data at rest using
9232
- # server-side encryption. Server-side encryption is for data
9233
- # encryption at rest. Amazon S3 encrypts your data as it writes it to
9234
- # disks in its data centers and decrypts it when you access it. The
9235
- # option you use depends on whether you want to use AWS-managed
9236
- # encryption keys or provide your own encryption key.
9237
- #
9238
- # * Use encryption keys managed by Amazon S3 or customer master keys
9239
- # (CMKs) stored in AWS Key Management Service (AWS KMS) – If you
9240
- # want AWS to manage the keys used to encrypt data, specify the
9241
- # following headers in the request.
9242
- #
9243
- # * x-amz-server-side​-encryption
9244
- #
9245
- # * x-amz-server-side-encryption-aws-kms-key-id
9246
- #
9247
- # * x-amz-server-side-encryption-context
9248
- #
9249
- # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
9250
- # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
9251
- # uses the AWS managed CMK in AWS KMS to protect the data. If you
9252
- # want to use a customer managed AWS KMS CMK, you must provide the
9253
- # `x-amz-server-side-encryption-aws-kms-key-id` of the symmetric
9254
- # customer managed CMK. Amazon S3 only supports symmetric CMKs and
9255
- # not asymmetric CMKs. For more information, see [Using Symmetric
9256
- # and Asymmetric Keys][5] in the *AWS Key Management Service
9257
- # Developer Guide*.
9258
- #
9259
- # </note>
9260
- #
9261
- # All GET and PUT requests for an object protected by AWS KMS fail
9262
- # if you don't make them with SSL or by using SigV4.
9110
+ # **Access Control List (ACL)-Specific Request Headers**
9263
9111
  #
9264
- # For more information about server-side encryption with CMKs stored
9265
- # in AWS KMS (SSE-KMS), see [Protecting Data Using Server-Side
9266
- # Encryption with CMKs stored in AWS KMS][6].
9267
- #
9268
- # * Use customer-provided encryption keys If you want to manage your
9269
- # own encryption keys, provide all the following headers in the
9270
- # request.
9271
- #
9272
- # <note markdown="1"> If you use this feature, the ETag value that Amazon S3 returns in
9273
- # the response is not the MD5 of the object.
9274
- #
9275
- # </note>
9276
- #
9277
- # * x-amz-server-side​-encryption​-customer-algorithm
9278
- #
9279
- # * x-amz-server-side​-encryption​-customer-key
9280
- #
9281
- # * x-amz-server-side​-encryption​-customer-key-MD5
9282
- #
9283
- # For more information about server-side encryption with CMKs stored
9284
- # in AWS KMS (SSE-KMS), see [Protecting Data Using Server-Side
9285
- # Encryption with CMKs stored in AWS KMS][6].
9112
+ # You can use headers to grant ACL- based permissions. By default, all
9113
+ # objects are private. Only the owner has full access control. When
9114
+ # adding a new object, you can grant permissions to individual AWS
9115
+ # accounts or to predefined groups defined by Amazon S3. These
9116
+ # permissions are then added to the ACL on the object. For more
9117
+ # information, see [Access Control List (ACL) Overview][3] and [Managing
9118
+ # ACLs Using the REST API][4].
9286
9119
  #
9287
9120
  # **Storage Class Options**
9288
9121
  #
9289
- # By default, Amazon S3 uses the Standard storage class to store newly
9290
- # created objects. The Standard storage class provides high durability
9291
- # and high availability. You can specify other storage classes depending
9292
- # on the performance needs. For more information, see [Storage
9293
- # Classes][9] in the Amazon Simple Storage Service Developer Guide.
9122
+ # By default, Amazon S3 uses the STANDARD storage class to store newly
9123
+ # created objects. The STANDARD storage class provides high durability
9124
+ # and high availability. Depending on performance needs, you can specify
9125
+ # a different storage class. For more information, see [Storage
9126
+ # Classes][5] in the *Amazon S3 Service Developer Guide*.
9294
9127
  #
9295
9128
  # **Versioning**
9296
9129
  #
9297
9130
  # If you enable versioning for a bucket, Amazon S3 automatically
9298
9131
  # generates a unique version ID for the object being stored. Amazon S3
9299
- # returns this ID in the response using the `x-amz-version-id response`
9300
- # header. If versioning is suspended, Amazon S3 always uses null as the
9301
- # version ID for the object stored. For more information about returning
9302
- # the versioning state of a bucket, see GetBucketVersioning. If you
9303
- # enable versioning for a bucket, when Amazon S3 receives multiple write
9304
- # requests for the same object simultaneously, it stores all of the
9305
- # objects.
9132
+ # returns this ID in the response. When you enable versioning for a
9133
+ # bucket, if Amazon S3 receives multiple write requests for the same
9134
+ # object simultaneously, it stores all of the objects.
9135
+ #
9136
+ # For more information about versioning, see [Adding Objects to
9137
+ # Versioning Enabled Buckets][6]. For information about returning the
9138
+ # versioning state of a bucket, see GetBucketVersioning.
9306
9139
  #
9307
9140
  # **Related Resources**
9308
9141
  #
@@ -9312,15 +9145,12 @@ module Aws::S3
9312
9145
  #
9313
9146
  #
9314
9147
  #
9315
- # [1]: http://www.ietf.org/rfc/rfc2616.txt
9148
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
9316
9149
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
9317
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
9318
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
9319
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9320
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
9321
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
9322
- # [8]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
9323
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
9150
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
9151
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
9152
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
9153
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
9324
9154
  #
9325
9155
  # @option params [String] :acl
9326
9156
  # The canned ACL to apply to the object. For more information, see
@@ -9443,8 +9273,8 @@ module Aws::S3
9443
9273
  # Amazon S3 (for example, AES256, aws:kms).
9444
9274
  #
9445
9275
  # @option params [String] :storage_class
9446
- # If you don't specify, Standard is the default storage class. Amazon
9447
- # S3 supports other storage classes.
9276
+ # If you don't specify, S3 Standard is the default storage class.
9277
+ # Amazon S3 supports other storage classes.
9448
9278
  #
9449
9279
  # @option params [String] :website_redirect_location
9450
9280
  # If the bucket is configured as a website, redirects requests for this
@@ -9548,96 +9378,99 @@ module Aws::S3
9548
9378
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
9549
9379
  #
9550
9380
  #
9551
- # @example Example: To upload an object (specify optional headers)
9381
+ # @example Example: To upload an object and specify server-side encryption and object tags
9552
9382
  #
9553
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
9554
- # # storage class and use server-side encryption.
9383
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
9384
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
9555
9385
  #
9556
9386
  # resp = client.put_object({
9557
- # body: "HappyFace.jpg",
9387
+ # body: "filetoupload",
9558
9388
  # bucket: "examplebucket",
9559
- # key: "HappyFace.jpg",
9389
+ # key: "exampleobject",
9560
9390
  # server_side_encryption: "AES256",
9561
- # storage_class: "STANDARD_IA",
9391
+ # tagging: "key1=value1&key2=value2",
9562
9392
  # })
9563
9393
  #
9564
9394
  # resp.to_h outputs the following:
9565
9395
  # {
9566
9396
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9567
9397
  # server_side_encryption: "AES256",
9568
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
9398
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9569
9399
  # }
9570
9400
  #
9571
- # @example Example: To upload an object and specify optional tags
9401
+ # @example Example: To create an object.
9572
9402
  #
9573
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
9574
- # # S3 returns version ID of the newly created object.
9403
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
9575
9404
  #
9576
9405
  # resp = client.put_object({
9577
- # body: "c:\\HappyFace.jpg",
9406
+ # body: "filetoupload",
9578
9407
  # bucket: "examplebucket",
9579
- # key: "HappyFace.jpg",
9580
- # tagging: "key1=value1&key2=value2",
9408
+ # key: "objectkey",
9581
9409
  # })
9582
9410
  #
9583
9411
  # resp.to_h outputs the following:
9584
9412
  # {
9585
9413
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9586
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
9414
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
9587
9415
  # }
9588
9416
  #
9589
- # @example Example: To upload object and specify user-defined metadata
9417
+ # @example Example: To upload an object and specify optional tags
9590
9418
  #
9591
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
9592
- # # enabled, S3 returns version ID in response.
9419
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
9420
+ # # S3 returns version ID of the newly created object.
9593
9421
  #
9594
9422
  # resp = client.put_object({
9595
- # body: "filetoupload",
9423
+ # body: "c:\\HappyFace.jpg",
9596
9424
  # bucket: "examplebucket",
9597
- # key: "exampleobject",
9598
- # metadata: {
9599
- # "metadata1" => "value1",
9600
- # "metadata2" => "value2",
9601
- # },
9425
+ # key: "HappyFace.jpg",
9426
+ # tagging: "key1=value1&key2=value2",
9602
9427
  # })
9603
9428
  #
9604
9429
  # resp.to_h outputs the following:
9605
9430
  # {
9606
9431
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9607
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
9432
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
9608
9433
  # }
9609
9434
  #
9610
- # @example Example: To create an object.
9435
+ # @example Example: To upload an object (specify optional headers)
9611
9436
  #
9612
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
9437
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
9438
+ # # storage class and use server-side encryption.
9613
9439
  #
9614
9440
  # resp = client.put_object({
9615
- # body: "filetoupload",
9441
+ # body: "HappyFace.jpg",
9616
9442
  # bucket: "examplebucket",
9617
- # key: "objectkey",
9443
+ # key: "HappyFace.jpg",
9444
+ # server_side_encryption: "AES256",
9445
+ # storage_class: "STANDARD_IA",
9618
9446
  # })
9619
9447
  #
9620
9448
  # resp.to_h outputs the following:
9621
9449
  # {
9622
9450
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9623
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
9451
+ # server_side_encryption: "AES256",
9452
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
9624
9453
  # }
9625
9454
  #
9626
- # @example Example: To upload an object
9455
+ # @example Example: To upload object and specify user-defined metadata
9627
9456
  #
9628
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
9629
- # # syntax. S3 returns VersionId of the newly created object.
9457
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
9458
+ # # enabled, S3 returns version ID in response.
9630
9459
  #
9631
9460
  # resp = client.put_object({
9632
- # body: "HappyFace.jpg",
9461
+ # body: "filetoupload",
9633
9462
  # bucket: "examplebucket",
9634
- # key: "HappyFace.jpg",
9463
+ # key: "exampleobject",
9464
+ # metadata: {
9465
+ # "metadata1" => "value1",
9466
+ # "metadata2" => "value2",
9467
+ # },
9635
9468
  # })
9636
9469
  #
9637
9470
  # resp.to_h outputs the following:
9638
9471
  # {
9639
9472
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9640
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
9473
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
9641
9474
  # }
9642
9475
  #
9643
9476
  # @example Example: To upload an object and specify canned ACL.
@@ -9658,24 +9491,21 @@ module Aws::S3
9658
9491
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
9659
9492
  # }
9660
9493
  #
9661
- # @example Example: To upload an object and specify server-side encryption and object tags
9494
+ # @example Example: To upload an object
9662
9495
  #
9663
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
9664
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
9496
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
9497
+ # # syntax. S3 returns VersionId of the newly created object.
9665
9498
  #
9666
9499
  # resp = client.put_object({
9667
- # body: "filetoupload",
9500
+ # body: "HappyFace.jpg",
9668
9501
  # bucket: "examplebucket",
9669
- # key: "exampleobject",
9670
- # server_side_encryption: "AES256",
9671
- # tagging: "key1=value1&key2=value2",
9502
+ # key: "HappyFace.jpg",
9672
9503
  # })
9673
9504
  #
9674
9505
  # resp.to_h outputs the following:
9675
9506
  # {
9676
9507
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9677
- # server_side_encryption: "AES256",
9678
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9508
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
9679
9509
  # }
9680
9510
  #
9681
9511
  # @example Streaming a file from disk
@@ -9749,7 +9579,9 @@ module Aws::S3
9749
9579
  # Depending on your application needs, you can choose to set the ACL on
9750
9580
  # an object using either the request body or the headers. For example,
9751
9581
  # if you have an existing application that updates a bucket ACL using
9752
- # the request body, you can continue to use that approach.
9582
+ # the request body, you can continue to use that approach. For more
9583
+ # information, see [Access Control List (ACL) Overview][1] in the
9584
+ # *Amazon S3 Developer Guide*.
9753
9585
  #
9754
9586
  # **Access Permissions**
9755
9587
  #
@@ -9760,7 +9592,7 @@ module Aws::S3
9760
9592
  # ACL has a predefined set of grantees and permissions. Specify the
9761
9593
  # canned ACL name as the value of `x-amz-ac`l. If you use this header,
9762
9594
  # you cannot use other access control-specific headers in your
9763
- # request. For more information, see [Canned ACL][1].
9595
+ # request. For more information, see [Canned ACL][2].
9764
9596
  #
9765
9597
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
9766
9598
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
@@ -9770,19 +9602,43 @@ module Aws::S3
9770
9602
  # ACL-specific headers, you cannot use `x-amz-acl` header to set a
9771
9603
  # canned ACL. These parameters map to the set of permissions that
9772
9604
  # Amazon S3 supports in an ACL. For more information, see [Access
9773
- # Control List (ACL) Overview][2].
9605
+ # Control List (ACL) Overview][1].
9774
9606
  #
9775
9607
  # You specify each grantee as a type=value pair, where the type is one
9776
9608
  # of the following:
9777
9609
  #
9778
- # * `emailAddress` – if the value specified is the email address of an
9779
- # AWS account
9780
- #
9781
9610
  # * `id` – if the value specified is the canonical user ID of an AWS
9782
9611
  # account
9783
9612
  #
9784
9613
  # * `uri` – if you are granting permissions to a predefined group
9785
9614
  #
9615
+ # * `emailAddress` – if the value specified is the email address of an
9616
+ # AWS account
9617
+ #
9618
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
9619
+ # the following AWS Regions:
9620
+ #
9621
+ # * US East (N. Virginia)
9622
+ #
9623
+ # * US West (N. California)
9624
+ #
9625
+ # * US West (Oregon)
9626
+ #
9627
+ # * Asia Pacific (Singapore)
9628
+ #
9629
+ # * Asia Pacific (Sydney)
9630
+ #
9631
+ # * Asia Pacific (Tokyo)
9632
+ #
9633
+ # * Europe (Ireland)
9634
+ #
9635
+ # * South America (São Paulo)
9636
+ #
9637
+ # For a list of all the Amazon S3 supported Regions and endpoints,
9638
+ # see [Regions and Endpoints][3] in the AWS General Reference.
9639
+ #
9640
+ # </note>
9641
+ #
9786
9642
  # For example, the following `x-amz-grant-read` header grants list
9787
9643
  # objects permission to the two AWS accounts identified by their email
9788
9644
  # addresses.
@@ -9798,14 +9654,6 @@ module Aws::S3
9798
9654
  # You can specify the person (grantee) to whom you're assigning access
9799
9655
  # rights (using request elements) in the following ways:
9800
9656
  #
9801
- # * By Email address:
9802
- #
9803
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9804
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
9805
- #
9806
- # The grantee is resolved to the CanonicalUser and, in a response to a
9807
- # GET Object acl request, appears as the CanonicalUser.
9808
- #
9809
9657
  # * By the person's ID:
9810
9658
  #
9811
9659
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -9819,6 +9667,38 @@ module Aws::S3
9819
9667
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9820
9668
  # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
9821
9669
  #
9670
+ # * By Email address:
9671
+ #
9672
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9673
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
9674
+ #
9675
+ # The grantee is resolved to the CanonicalUser and, in a response to a
9676
+ # GET Object acl request, appears as the CanonicalUser.
9677
+ #
9678
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
9679
+ # following AWS Regions:
9680
+ #
9681
+ # * US East (N. Virginia)
9682
+ #
9683
+ # * US West (N. California)
9684
+ #
9685
+ # * US West (Oregon)
9686
+ #
9687
+ # * Asia Pacific (Singapore)
9688
+ #
9689
+ # * Asia Pacific (Sydney)
9690
+ #
9691
+ # * Asia Pacific (Tokyo)
9692
+ #
9693
+ # * Europe (Ireland)
9694
+ #
9695
+ # * South America (São Paulo)
9696
+ #
9697
+ # For a list of all the Amazon S3 supported Regions and endpoints, see
9698
+ # [Regions and Endpoints][3] in the AWS General Reference.
9699
+ #
9700
+ # </note>
9701
+ #
9822
9702
  # **Versioning**
9823
9703
  #
9824
9704
  # The ACL of an object is set at the object version level. By default,
@@ -9833,8 +9713,9 @@ module Aws::S3
9833
9713
  #
9834
9714
  #
9835
9715
  #
9836
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
9837
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
9716
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
9717
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
9718
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
9838
9719
  #
9839
9720
  # @option params [String] :acl
9840
9721
  # The canned ACL to apply to the object. For more information, see
@@ -10229,7 +10110,8 @@ module Aws::S3
10229
10110
  req.send_request(options)
10230
10111
  end
10231
10112
 
10232
- # Sets the supplied tag-set to an object that already exists in a bucket
10113
+ # Sets the supplied tag-set to an object that already exists in a
10114
+ # bucket.
10233
10115
  #
10234
10116
  # A tag is a key-value pair. You can associate tags with an object by
10235
10117
  # sending a PUT request against the tagging subresource that is
@@ -10458,12 +10340,11 @@ module Aws::S3
10458
10340
  # * `restore an archive` - Restore an archived object
10459
10341
  #
10460
10342
  # To use this operation, you must have permissions to perform the
10461
- # `s3:RestoreObject` and `s3:GetObject` actions. The bucket owner has
10462
- # this permission by default and can grant this permission to others.
10463
- # For more information about permissions, see [Permissions Related to
10464
- # Bucket Subresource Operations][1] and [Managing Access Permissions to
10465
- # Your Amazon S3 Resources][2] in the *Amazon Simple Storage Service
10466
- # Developer Guide*.
10343
+ # `s3:RestoreObject` action. The bucket owner has this permission by
10344
+ # default and can grant this permission to others. For more information
10345
+ # about permissions, see [Permissions Related to Bucket Subresource
10346
+ # Operations][1] and [Managing Access Permissions to Your Amazon S3
10347
+ # Resources][2] in the *Amazon Simple Storage Service Developer Guide*.
10467
10348
  #
10468
10349
  # **Querying Archives with Select Requests**
10469
10350
  #
@@ -10519,9 +10400,9 @@ module Aws::S3
10519
10400
  #
10520
10401
  # `SELECT s.Id, s.FirstName, s.SSN FROM S3Object s`
10521
10402
  #
10522
- # For more information about using SQL with Glacier Select restore, see
10523
- # [SQL Reference for Amazon S3 Select and Glacier Select][6] in the
10524
- # *Amazon Simple Storage Service Developer Guide*.
10403
+ # For more information about using SQL with S3 Glacier Select restore,
10404
+ # see [SQL Reference for Amazon S3 Select and S3 Glacier Select][6] in
10405
+ # the *Amazon Simple Storage Service Developer Guide*.
10525
10406
  #
10526
10407
  # When making a select request, you can also do the following:
10527
10408
  #
@@ -10578,10 +10459,10 @@ module Aws::S3
10578
10459
  # retrievals and provisioned capacity are not available for the
10579
10460
  # DEEP\_ARCHIVE storage class.
10580
10461
  #
10581
- # * <b> <code>Standard</code> </b> - Standard retrievals allow you to
10462
+ # * <b> <code>Standard</code> </b> - S3 Standard retrievals allow you to
10582
10463
  # access any of your archived objects within several hours. This is
10583
10464
  # the default option for the GLACIER and DEEP\_ARCHIVE retrieval
10584
- # requests that do not specify the retrieval option. Standard
10465
+ # requests that do not specify the retrieval option. S3 Standard
10585
10466
  # retrievals typically complete within 3-5 hours from the GLACIER
10586
10467
  # storage class and typically complete within 12 hours from the
10587
10468
  # DEEP\_ARCHIVE storage class.
@@ -10659,10 +10540,11 @@ module Aws::S3
10659
10540
  #
10660
10541
  # * *Code: GlacierExpeditedRetrievalNotAvailable*
10661
10542
  #
10662
- # * *Cause: Glacier expedited retrievals are currently not available.
10663
- # Try again later. (Returned if there is insufficient capacity to
10664
- # process the Expedited request. This error applies only to
10665
- # Expedited retrievals and not to Standard or Bulk retrievals.)*
10543
+ # * *Cause: S3 Glacier expedited retrievals are currently not
10544
+ # available. Try again later. (Returned if there is insufficient
10545
+ # capacity to process the Expedited request. This error applies only
10546
+ # to Expedited retrievals and not to S3 Standard or Bulk
10547
+ # retrievals.)*
10666
10548
  #
10667
10549
  # * *HTTP Status Code: 503*
10668
10550
  #
@@ -10674,8 +10556,8 @@ module Aws::S3
10674
10556
  #
10675
10557
  # * GetBucketNotificationConfiguration
10676
10558
  #
10677
- # * [SQL Reference for Amazon S3 Select and Glacier Select ][6] in the
10678
- # *Amazon Simple Storage Service Developer Guide*
10559
+ # * [SQL Reference for Amazon S3 Select and S3 Glacier Select ][6] in
10560
+ # the *Amazon Simple Storage Service Developer Guide*
10679
10561
  #
10680
10562
  #
10681
10563
  #
@@ -10867,8 +10749,8 @@ module Aws::S3
10867
10749
  # Guide*.
10868
10750
  #
10869
10751
  # For more information about using SQL with Amazon S3 Select, see [ SQL
10870
- # Reference for Amazon S3 Select and Glacier Select][2] in the *Amazon
10871
- # Simple Storage Service Developer Guide*.
10752
+ # Reference for Amazon S3 Select and S3 Glacier Select][2] in the
10753
+ # *Amazon Simple Storage Service Developer Guide*.
10872
10754
  #
10873
10755
  #
10874
10756
  #
@@ -10929,10 +10811,10 @@ module Aws::S3
10929
10811
  # The `SelectObjectContent` operation does not support the following
10930
10812
  # `GetObject` functionality. For more information, see GetObject.
10931
10813
  #
10932
- # * `Range`\: While you can specify a scan range for a Amazon S3 Select
10933
- # request, see SelectObjectContentRequest$ScanRange in the request
10934
- # parameters below, you cannot specify the range of bytes of an object
10935
- # to return.
10814
+ # * `Range`\: Although you can specify a scan range for an Amazon S3
10815
+ # Select request (see SelectObjectContentRequest$ScanRange in the
10816
+ # request parameters), you cannot specify the range of bytes of an
10817
+ # object to return.
10936
10818
  #
10937
10819
  # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes: You
10938
10820
  # cannot specify the GLACIER, DEEP\_ARCHIVE, or `REDUCED_REDUNDANCY`
@@ -10944,9 +10826,8 @@ module Aws::S3
10944
10826
  #
10945
10827
  # **Special Errors**
10946
10828
  #
10947
- # For a list of special errors for this operation and for general
10948
- # information about Amazon S3 errors and a list of error codes, see
10949
- # ErrorResponses
10829
+ # For a list of special errors for this operation, see
10830
+ # SelectObjectContentErrorCodeList
10950
10831
  #
10951
10832
  # **Related Resources**
10952
10833
  #
@@ -11692,45 +11573,45 @@ module Aws::S3
11692
11573
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
11693
11574
  #
11694
11575
  #
11695
- # @example Example: To upload a part by copying byte range from an existing object as data source
11576
+ # @example Example: To upload a part by copying data from an existing object as data source
11696
11577
  #
11697
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
11698
- # # data source.
11578
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
11699
11579
  #
11700
11580
  # resp = client.upload_part_copy({
11701
11581
  # bucket: "examplebucket",
11702
11582
  # copy_source: "/bucketname/sourceobjectkey",
11703
- # copy_source_range: "bytes=1-100000",
11704
11583
  # key: "examplelargeobject",
11705
- # part_number: 2,
11584
+ # part_number: 1,
11706
11585
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
11707
11586
  # })
11708
11587
  #
11709
11588
  # resp.to_h outputs the following:
11710
11589
  # {
11711
11590
  # copy_part_result: {
11712
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
11713
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
11591
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
11592
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
11714
11593
  # },
11715
11594
  # }
11716
11595
  #
11717
- # @example Example: To upload a part by copying data from an existing object as data source
11596
+ # @example Example: To upload a part by copying byte range from an existing object as data source
11718
11597
  #
11719
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
11598
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
11599
+ # # data source.
11720
11600
  #
11721
11601
  # resp = client.upload_part_copy({
11722
11602
  # bucket: "examplebucket",
11723
11603
  # copy_source: "/bucketname/sourceobjectkey",
11604
+ # copy_source_range: "bytes=1-100000",
11724
11605
  # key: "examplelargeobject",
11725
- # part_number: 1,
11606
+ # part_number: 2,
11726
11607
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
11727
11608
  # })
11728
11609
  #
11729
11610
  # resp.to_h outputs the following:
11730
11611
  # {
11731
11612
  # copy_part_result: {
11732
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
11733
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
11613
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
11614
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
11734
11615
  # },
11735
11616
  # }
11736
11617
  #
@@ -11789,7 +11670,7 @@ module Aws::S3
11789
11670
  params: params,
11790
11671
  config: config)
11791
11672
  context[:gem_name] = 'aws-sdk-s3'
11792
- context[:gem_version] = '1.65.0'
11673
+ context[:gem_version] = '1.69.0'
11793
11674
  Seahorse::Client::Request.new(handlers, context)
11794
11675
  end
11795
11676