aws-sdk-s3 1.65.0 → 1.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pathname'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
  require 'time'
3
5
  require 'openssl'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pathname'
2
4
  require 'set'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'thread'
2
4
  require 'set'
3
5
  require 'tempfile'
@@ -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:
@@ -274,7 +276,7 @@ module Aws::S3
274
276
  key: @object_key,
275
277
  upload_id: @id
276
278
  )
277
- resp = @client.complete_multipart_upload(options)
279
+ @client.complete_multipart_upload(options)
278
280
  Object.new(
279
281
  bucket_name: @bucket_name,
280
282
  key: @object_key,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  class MultipartUploadError < StandardError
@@ -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:
@@ -216,7 +218,8 @@ module Aws::S3
216
218
  end
217
219
 
218
220
  # Provides storage class information of the object. Amazon S3 returns
219
- # this header for all objects except for Standard storage class objects.
221
+ # this header for all objects except for S3 Standard storage class
222
+ # objects.
220
223
  #
221
224
  # For more information, see [Storage Classes][1].
222
225
  #
@@ -744,7 +747,16 @@ module Aws::S3
744
747
  # @option options [String] :range
745
748
  # Downloads the specified range bytes of an object. For more information
746
749
  # about the HTTP Range header, see
747
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
750
+ # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
751
+ #
752
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
753
+ # `GET` request.
754
+ #
755
+ # </note>
756
+ #
757
+ #
758
+ #
759
+ # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
748
760
  # @option options [String] :response_cache_control
749
761
  # Sets the `Cache-Control` header of the response.
750
762
  # @option options [String] :response_content_disposition
@@ -1051,8 +1063,8 @@ module Aws::S3
1051
1063
  # The server-side encryption algorithm used when storing this object in
1052
1064
  # Amazon S3 (for example, AES256, aws:kms).
1053
1065
  # @option options [String] :storage_class
1054
- # If you don't specify, Standard is the default storage class. Amazon
1055
- # S3 supports other storage classes.
1066
+ # If you don't specify, S3 Standard is the default storage class.
1067
+ # Amazon S3 supports other storage classes.
1056
1068
  # @option options [String] :website_redirect_location
1057
1069
  # If the bucket is configured as a website, redirects requests for this
1058
1070
  # object to another object in the same bucket or to an external URL.
@@ -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
  require 'thread'
2
4
  require 'cgi'
3
5
 
@@ -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:
@@ -495,7 +497,16 @@ module Aws::S3
495
497
  # @option options [String] :range
496
498
  # Downloads the specified range bytes of an object. For more information
497
499
  # about the HTTP Range header, see
498
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
500
+ # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
501
+ #
502
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
503
+ # `GET` request.
504
+ #
505
+ # </note>
506
+ #
507
+ #
508
+ #
509
+ # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
499
510
  # @option options [String] :response_cache_control
500
511
  # Sets the `Cache-Control` header of the response.
501
512
  # @option options [String] :response_content_disposition
@@ -802,8 +813,8 @@ module Aws::S3
802
813
  # The server-side encryption algorithm used when storing this object in
803
814
  # Amazon S3 (for example, AES256, aws:kms).
804
815
  # @option options [String] :storage_class
805
- # If you don't specify, Standard is the default storage class. Amazon
806
- # S3 supports other storage classes.
816
+ # If you don't specify, S3 Standard is the default storage class.
817
+ # Amazon S3 supports other storage classes.
807
818
  # @option options [String] :website_redirect_location
808
819
  # If the bucket is configured as a website, redirects requests for this
809
820
  # object to another object in the same bucket or to an external URL.
@@ -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:
@@ -299,7 +301,16 @@ module Aws::S3
299
301
  # @option options [String] :range
300
302
  # Downloads the specified range bytes of an object. For more information
301
303
  # about the HTTP Range header, see
302
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
304
+ # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
305
+ #
306
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
307
+ # `GET` request.
308
+ #
309
+ # </note>
310
+ #
311
+ #
312
+ #
313
+ # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
303
314
  # @option options [String] :response_cache_control
304
315
  # Sets the `Cache-Control` header of the response.
305
316
  # @option options [String] :response_content_disposition
@@ -382,6 +393,11 @@ module Aws::S3
382
393
  # Downloads the specified range bytes of an object. For more information
383
394
  # about the HTTP Range header, see
384
395
  # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
396
+ #
397
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
398
+ # `GET` request.
399
+ #
400
+ # </note>
385
401
  # @option options [String] :sse_customer_algorithm
386
402
  # Specifies the algorithm to use to when encrypting the object (for
387
403
  # example, AES256).
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -13,10 +15,7 @@ module Aws
13
15
  class Handler < Seahorse::Client::Handler
14
16
 
15
17
  def call(context)
16
- if
17
- context.http_request.body &&
18
- context.http_request.body.size > 0
19
- then
18
+ if context.http_request.body && context.http_request.body.size > 0
20
19
  context.http_request.headers['expect'] = '100-continue'
21
20
  end
22
21
  @handler.call(context)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -27,7 +29,7 @@ module Aws
27
29
  error_code = xml.match(/<Code>(.+?)<\/Code>/)[1]
28
30
  error_message = xml.match(/<Message>(.+?)<\/Message>/)[1]
29
31
  S3::Errors.error_class(error_code).new(context, error_message)
30
- elsif !xml.match(/<[\w_]/) # Must have the start of an XML Tag
32
+ elsif !xml.match(/<\w/) # Must have the start of an XML Tag
31
33
  # Other incomplete xml bodies will result in XML ParsingError
32
34
  Seahorse::Client::NetworkingError.new(
33
35
  S3::Errors
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,22 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'openssl'
2
4
 
3
5
  module Aws
4
6
  module S3
5
7
  module Plugins
8
+ # @api private
9
+ # This plugin is effectively deprecated in favor of modeled
10
+ # httpChecksumRequired traits.
6
11
  class Md5s < Seahorse::Client::Plugin
7
-
8
- # Amazon S3 requires these operations to have an MD5 checksum
9
- REQUIRED_OPERATIONS = [
10
- :delete_objects,
11
- :put_bucket_cors,
12
- :put_bucket_lifecycle,
13
- :put_bucket_lifecycle_configuration,
14
- :put_bucket_policy,
15
- :put_bucket_replication,
16
- :put_bucket_tagging,
17
- :put_object_legal_hold,
18
- :put_object_lock_configuration,
19
- :put_object_retention
12
+ # These operations allow Content MD5 but are not required by
13
+ # httpChecksumRequired. This list should not grow.
14
+ OPTIONAL_OPERATIONS = [
15
+ :put_object,
16
+ :upload_part
20
17
  ]
21
18
 
22
19
  # @api private
@@ -63,20 +60,22 @@ module Aws
63
60
  default: true,
64
61
  doc_type: 'Boolean',
65
62
  docstring: <<-DOCS)
66
- When `true` a MD5 checksum will be computed for every request that
67
- sends a body. When `false`, MD5 checksums will only be computed
68
- for operations that require them. Checksum errors returned by Amazon
69
- S3 are automatically retried up to `:retry_limit` times.
63
+ When `true` a MD5 checksum will be computed and sent in the Content Md5
64
+ header for :put_object and :upload_part. When `false`, MD5 checksums
65
+ will not be computed for these operations. Checksums are still computed
66
+ for operations requiring them. Checksum errors returned by Amazon S3 are
67
+ automatically retried up to `:retry_limit` times.
70
68
  DOCS
71
69
 
72
70
  def add_handlers(handlers, config)
73
- # priority set low to ensure md5 is computed AFTER the request is
74
- # built but before it is signed
75
- handlers.add(Handler, {
76
- priority: 10,
77
- step: :build,
78
- operations: config.compute_checksums ? nil : REQUIRED_OPERATIONS,
79
- })
71
+ if config.compute_checksums
72
+ # priority set low to ensure md5 is computed AFTER the request is
73
+ # built but before it is signed
74
+ handlers.add(
75
+ Handler,
76
+ priority: 10, step: :build, operations: OPTIONAL_OPERATIONS
77
+ )
78
+ end
80
79
  end
81
80
 
82
81
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-sigv4'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'uri'
2
4
  require 'openssl'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'uri'
2
4
  require 'cgi'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'openssl'
2
4
  require 'base64'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  class Presigner
@@ -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:
@@ -72,7 +74,7 @@ module Aws::S3
72
74
  # bucket.
73
75
  # @return [Bucket]
74
76
  def create_bucket(options = {})
75
- resp = @client.create_bucket(options)
77
+ @client.create_bucket(options)
76
78
  Bucket.new(
77
79
  name: options[:bucket],
78
80
  client: @client
@@ -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:
@@ -389,8 +391,14 @@ module Aws::S3
389
391
  # @return [String]
390
392
  #
391
393
  # @!attribute [rw] bucket_account_id
392
- # The account ID that owns the destination bucket. If no account ID is
393
- # provided, the owner will not be validated prior to exporting data.
394
+ # The account ID that owns the destination S3 bucket. If no account ID
395
+ # is provided, the owner is not validated before exporting data.
396
+ #
397
+ # <note markdown="1"> Although this value is optional, we strongly recommend that you set
398
+ # it to help prevent problems if the destination bucket ownership
399
+ # changes.
400
+ #
401
+ # </note>
394
402
  # @return [String]
395
403
  #
396
404
  # @!attribute [rw] bucket
@@ -2616,9 +2624,9 @@ module Aws::S3
2616
2624
  # @return [String]
2617
2625
  #
2618
2626
  # @!attribute [rw] storage_class
2619
- # The storage class to use when replicating objects, such as standard
2620
- # or reduced redundancy. By default, Amazon S3 uses the storage class
2621
- # of the source object to create the object replica.
2627
+ # The storage class to use when replicating objects, such as S3
2628
+ # Standard or reduced redundancy. By default, Amazon S3 uses the
2629
+ # storage class of the source object to create the object replica.
2622
2630
  #
2623
2631
  # For valid values, see the `StorageClass` element of the [PUT Bucket
2624
2632
  # replication][1] action in the *Amazon Simple Storage Service API
@@ -3916,7 +3924,8 @@ module Aws::S3
3916
3924
  # @!attribute [rw] location_constraint
3917
3925
  # Specifies the Region where the bucket resides. For a list of all the
3918
3926
  # Amazon S3 supported location constraints by Region, see [Regions and
3919
- # Endpoints][1].
3927
+ # Endpoints][1]. Buckets in Region `us-east-1` have a
3928
+ # LocationConstraint of `null`.
3920
3929
  #
3921
3930
  #
3922
3931
  #
@@ -4028,7 +4037,7 @@ module Aws::S3
4028
4037
  # }
4029
4038
  #
4030
4039
  # @!attribute [rw] bucket
4031
- # Name of the bucket for which to get the notification configuration
4040
+ # Name of the bucket for which to get the notification configuration.
4032
4041
  # @return [String]
4033
4042
  #
4034
4043
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfigurationRequest AWS API Documentation
@@ -4229,11 +4238,13 @@ module Aws::S3
4229
4238
  # @return [Types::RedirectAllRequestsTo]
4230
4239
  #
4231
4240
  # @!attribute [rw] index_document
4232
- # The name of the index document for the website.
4241
+ # The name of the index document for the website (for example
4242
+ # `index.html`).
4233
4243
  # @return [Types::IndexDocument]
4234
4244
  #
4235
4245
  # @!attribute [rw] error_document
4236
- # The name of the error document for the website.
4246
+ # The object key name of the website error document to use for 4XX
4247
+ # class errors.
4237
4248
  # @return [Types::ErrorDocument]
4238
4249
  #
4239
4250
  # @!attribute [rw] routing_rules
@@ -4570,7 +4581,7 @@ module Aws::S3
4570
4581
  #
4571
4582
  # @!attribute [rw] storage_class
4572
4583
  # Provides storage class information of the object. Amazon S3 returns
4573
- # this header for all objects except for Standard storage class
4584
+ # this header for all objects except for S3 Standard storage class
4574
4585
  # objects.
4575
4586
  # @return [String]
4576
4587
  #
@@ -4713,7 +4724,16 @@ module Aws::S3
4713
4724
  # @!attribute [rw] range
4714
4725
  # Downloads the specified range bytes of an object. For more
4715
4726
  # information about the HTTP Range header, see
4716
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
4727
+ # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
4728
+ #
4729
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
4730
+ # `GET` request.
4731
+ #
4732
+ # </note>
4733
+ #
4734
+ #
4735
+ #
4736
+ # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
4717
4737
  # @return [String]
4718
4738
  #
4719
4739
  # @!attribute [rw] response_cache_control
@@ -5027,7 +5047,7 @@ module Aws::S3
5027
5047
  include Aws::Structure
5028
5048
  end
5029
5049
 
5030
- # Container for Glacier job parameters.
5050
+ # Container for S3 Glacier job parameters.
5031
5051
  #
5032
5052
  # @note When making an API call, you may pass GlacierJobParameters
5033
5053
  # data as a hash:
@@ -5037,7 +5057,7 @@ module Aws::S3
5037
5057
  # }
5038
5058
  #
5039
5059
  # @!attribute [rw] tier
5040
- # Glacier retrieval tier at which the restore will be processed.
5060
+ # S3 Glacier retrieval tier at which the restore will be processed.
5041
5061
  # @return [String]
5042
5062
  #
5043
5063
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GlacierJobParameters AWS API Documentation
@@ -5098,6 +5118,34 @@ module Aws::S3
5098
5118
  #
5099
5119
  # @!attribute [rw] email_address
5100
5120
  # Email address of the grantee.
5121
+ #
5122
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
5123
+ # following AWS Regions:
5124
+ #
5125
+ # * US East (N. Virginia)
5126
+ #
5127
+ # * US West (N. California)
5128
+ #
5129
+ # * US West (Oregon)
5130
+ #
5131
+ # * Asia Pacific (Singapore)
5132
+ #
5133
+ # * Asia Pacific (Sydney)
5134
+ #
5135
+ # * Asia Pacific (Tokyo)
5136
+ #
5137
+ # * Europe (Ireland)
5138
+ #
5139
+ # * South America (São Paulo)
5140
+ #
5141
+ # For a list of all the Amazon S3 supported Regions and endpoints, see
5142
+ # [Regions and Endpoints][1] in the AWS General Reference.
5143
+ #
5144
+ # </note>
5145
+ #
5146
+ #
5147
+ #
5148
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
5101
5149
  # @return [String]
5102
5150
  #
5103
5151
  # @!attribute [rw] id
@@ -5275,7 +5323,7 @@ module Aws::S3
5275
5323
  #
5276
5324
  # @!attribute [rw] storage_class
5277
5325
  # Provides storage class information of the object. Amazon S3 returns
5278
- # this header for all objects except for Standard storage class
5326
+ # this header for all objects except for S3 Standard storage class
5279
5327
  # objects.
5280
5328
  #
5281
5329
  # For more information, see [Storage Classes][1].
@@ -5445,6 +5493,11 @@ module Aws::S3
5445
5493
  # Downloads the specified range bytes of an object. For more
5446
5494
  # information about the HTTP Range header, see
5447
5495
  # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
5496
+ #
5497
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5498
+ # `GET` request.
5499
+ #
5500
+ # </note>
5448
5501
  # @return [String]
5449
5502
  #
5450
5503
  # @!attribute [rw] version_id
@@ -5795,7 +5848,14 @@ module Aws::S3
5795
5848
  # }
5796
5849
  #
5797
5850
  # @!attribute [rw] account_id
5798
- # The ID of the account that owns the destination bucket.
5851
+ # The account ID that owns the destination S3 bucket. If no account ID
5852
+ # is provided, the owner is not validated before exporting data.
5853
+ #
5854
+ # <note markdown="1"> Although this value is optional, we strongly recommend that you set
5855
+ # it to help prevent problems if the destination bucket ownership
5856
+ # changes.
5857
+ #
5858
+ # </note>
5799
5859
  # @return [String]
5800
5860
  #
5801
5861
  # @!attribute [rw] bucket
@@ -5877,7 +5937,8 @@ module Aws::S3
5877
5937
  # }
5878
5938
  #
5879
5939
  # @!attribute [rw] record_delimiter
5880
- # The value used to separate individual records in the output.
5940
+ # The value used to separate individual records in the output. If no
5941
+ # value is specified, Amazon S3 uses a newline character ('\\n').
5881
5942
  # @return [String]
5882
5943
  #
5883
5944
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONOutput AWS API Documentation
@@ -6777,10 +6838,11 @@ module Aws::S3
6777
6838
  # @return [String]
6778
6839
  #
6779
6840
  # @!attribute [rw] max_keys
6780
- # Sets the maximum number of keys returned in the response. The
6781
- # response might contain fewer keys but will never contain more. If
6782
- # additional keys satisfy the search criteria, but were not returned
6783
- # because max-keys was exceeded, the response contains
6841
+ # Sets the maximum number of keys returned in the response. By default
6842
+ # the API returns up to 1,000 key names. The response might contain
6843
+ # fewer keys but will never contain more. If additional keys satisfy
6844
+ # the search criteria, but were not returned because max-keys was
6845
+ # exceeded, the response contains
6784
6846
  # &lt;isTruncated&gt;true&lt;/isTruncated&gt;. To return the
6785
6847
  # additional keys, see key-marker and version-id-marker.
6786
6848
  # @return [Integer]
@@ -6931,8 +6993,9 @@ module Aws::S3
6931
6993
  # @return [String]
6932
6994
  #
6933
6995
  # @!attribute [rw] max_keys
6934
- # Sets the maximum number of keys returned in the response. The
6935
- # response might contain fewer keys but will never contain more.
6996
+ # Sets the maximum number of keys returned in the response. By default
6997
+ # the API returns up to 1,000 key names. The response might contain
6998
+ # fewer keys but will never contain more.
6936
6999
  # @return [Integer]
6937
7000
  #
6938
7001
  # @!attribute [rw] prefix
@@ -6998,8 +7061,9 @@ module Aws::S3
6998
7061
  # @return [String]
6999
7062
  #
7000
7063
  # @!attribute [rw] max_keys
7001
- # Sets the maximum number of keys returned in the response. The
7002
- # response might contain fewer keys but will never contain more.
7064
+ # Sets the maximum number of keys returned in the response. By default
7065
+ # the API returns up to 1,000 key names. The response might contain
7066
+ # fewer keys but will never contain more.
7003
7067
  # @return [Integer]
7004
7068
  #
7005
7069
  # @!attribute [rw] common_prefixes
@@ -7117,8 +7181,9 @@ module Aws::S3
7117
7181
  # @return [String]
7118
7182
  #
7119
7183
  # @!attribute [rw] max_keys
7120
- # Sets the maximum number of keys returned in the response. The
7121
- # response might contain fewer keys but will never contain more.
7184
+ # Sets the maximum number of keys returned in the response. By default
7185
+ # the API returns up to 1,000 key names. The response might contain
7186
+ # fewer keys but will never contain more.
7122
7187
  # @return [Integer]
7123
7188
  #
7124
7189
  # @!attribute [rw] prefix
@@ -8618,7 +8683,7 @@ module Aws::S3
8618
8683
  #
8619
8684
  #
8620
8685
  #
8621
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev//cors.html
8686
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
8622
8687
  # @return [Types::CORSConfiguration]
8623
8688
  #
8624
8689
  # @!attribute [rw] content_md5
@@ -9990,8 +10055,8 @@ module Aws::S3
9990
10055
  # @return [String]
9991
10056
  #
9992
10057
  # @!attribute [rw] storage_class
9993
- # If you don't specify, Standard is the default storage class. Amazon
9994
- # S3 supports other storage classes.
10058
+ # If you don't specify, S3 Standard is the default storage class.
10059
+ # Amazon S3 supports other storage classes.
9995
10060
  # @return [String]
9996
10061
  #
9997
10062
  # @!attribute [rw] website_redirect_location
@@ -11245,8 +11310,8 @@ module Aws::S3
11245
11310
  # @return [Integer]
11246
11311
  #
11247
11312
  # @!attribute [rw] glacier_job_parameters
11248
- # Glacier related parameters pertaining to this job. Do not use with
11249
- # restores that specify `OutputLocation`.
11313
+ # S3 Glacier related parameters pertaining to this job. Do not use
11314
+ # with restores that specify `OutputLocation`.
11250
11315
  # @return [Types::GlacierJobParameters]
11251
11316
  #
11252
11317
  # @!attribute [rw] type
@@ -11254,7 +11319,7 @@ module Aws::S3
11254
11319
  # @return [String]
11255
11320
  #
11256
11321
  # @!attribute [rw] tier
11257
- # Glacier retrieval tier at which the restore will be processed.
11322
+ # S3 Glacier retrieval tier at which the restore will be processed.
11258
11323
  # @return [String]
11259
11324
  #
11260
11325
  # @!attribute [rw] description
@@ -11324,12 +11389,14 @@ module Aws::S3
11324
11389
  end
11325
11390
 
11326
11391
  # Specifies lifecycle rules for an Amazon S3 bucket. For more
11327
- # information, see [PUT Bucket lifecycle][1] in the *Amazon Simple
11328
- # Storage Service API Reference*.
11392
+ # information, see [Put Bucket Lifecycle Configuration][1] in the
11393
+ # *Amazon Simple Storage Service API Reference*. For examples, see [Put
11394
+ # Bucket Lifecycle Configuration Examples][2]
11329
11395
  #
11330
11396
  #
11331
11397
  #
11332
11398
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html
11399
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html#API_PutBucketLifecycleConfiguration_Examples
11333
11400
  #
11334
11401
  # @note When making an API call, you may pass Rule
11335
11402
  # data as a hash:
@@ -11381,6 +11448,13 @@ module Aws::S3
11381
11448
  #
11382
11449
  # @!attribute [rw] transition
11383
11450
  # Specifies when an object transitions to a specified storage class.
11451
+ # For more information about Amazon S3 lifecycle configuration rules,
11452
+ # see [Transitioning Objects Using Amazon S3 Lifecycle][1] in the
11453
+ # *Amazon Simple Storage Service Developer Guide*.
11454
+ #
11455
+ #
11456
+ #
11457
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html
11384
11458
  # @return [Types::Transition]
11385
11459
  #
11386
11460
  # @!attribute [rw] noncurrent_version_transition
@@ -11872,8 +11946,30 @@ module Aws::S3
11872
11946
  # @return [String]
11873
11947
  #
11874
11948
  # @!attribute [rw] kms_master_key_id
11875
- # KMS master key ID to use for the default encryption. This parameter
11876
- # is allowed if and only if `SSEAlgorithm` is set to `aws:kms`.
11949
+ # AWS Key Management Service (KMS) customer master key ID to use for
11950
+ # the default encryption. This parameter is allowed if and only if
11951
+ # `SSEAlgorithm` is set to `aws:kms`.
11952
+ #
11953
+ # You can specify the key ID or the Amazon Resource Name (ARN) of the
11954
+ # CMK. However, if you are using encryption with cross-account
11955
+ # operations, you must use a fully qualified CMK ARN. For more
11956
+ # information, see [Using encryption for cross-account operations][1].
11957
+ #
11958
+ # **For example:**
11959
+ #
11960
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
11961
+ #
11962
+ # * Key ARN:
11963
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
11964
+ #
11965
+ # Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For
11966
+ # more information, see [Using Symmetric and Asymmetric Keys][2] in
11967
+ # the *AWS Key Management Service Developer Guide*.
11968
+ #
11969
+ #
11970
+ #
11971
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy
11972
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
11877
11973
  # @return [String]
11878
11974
  #
11879
11975
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionByDefault AWS API Documentation
@@ -12287,7 +12383,14 @@ module Aws::S3
12287
12383
  include Aws::Structure
12288
12384
  end
12289
12385
 
12290
- # Specifies when an object transitions to a specified storage class.
12386
+ # Specifies when an object transitions to a specified storage class. For
12387
+ # more information about Amazon S3 lifecycle configuration rules, see
12388
+ # [Transitioning Objects Using Amazon S3 Lifecycle][1] in the *Amazon
12389
+ # Simple Storage Service Developer Guide*.
12390
+ #
12391
+ #
12392
+ #
12393
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html
12291
12394
  #
12292
12395
  # @note When making an API call, you may pass Transition
12293
12396
  # data as a hash: