aws-sdk-s3 1.114.0 → 1.136.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +163 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +123 -61
  5. data/lib/aws-sdk-s3/bucket_acl.rb +9 -3
  6. data/lib/aws-sdk-s3/bucket_cors.rb +12 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +12 -4
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +12 -4
  9. data/lib/aws-sdk-s3/bucket_logging.rb +9 -3
  10. data/lib/aws-sdk-s3/bucket_notification.rb +9 -3
  11. data/lib/aws-sdk-s3/bucket_policy.rb +12 -4
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +9 -3
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +12 -4
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +15 -5
  15. data/lib/aws-sdk-s3/bucket_website.rb +12 -4
  16. data/lib/aws-sdk-s3/client.rb +2084 -1724
  17. data/lib/aws-sdk-s3/client_api.rb +213 -189
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  19. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +95 -19
  21. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  22. data/lib/aws-sdk-s3/customizations.rb +2 -0
  23. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  24. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  25. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  26. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  27. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  28. data/lib/aws-sdk-s3/endpoint_parameters.rb +146 -0
  29. data/lib/aws-sdk-s3/endpoint_provider.rb +509 -0
  30. data/lib/aws-sdk-s3/endpoints.rb +2150 -0
  31. data/lib/aws-sdk-s3/file_downloader.rb +170 -44
  32. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  33. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -13
  34. data/lib/aws-sdk-s3/multipart_upload.rb +27 -13
  35. data/lib/aws-sdk-s3/multipart_upload_part.rb +20 -10
  36. data/lib/aws-sdk-s3/object.rb +156 -110
  37. data/lib/aws-sdk-s3/object_acl.rb +14 -6
  38. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  39. data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
  40. data/lib/aws-sdk-s3/object_summary.rb +149 -94
  41. data/lib/aws-sdk-s3/object_version.rb +55 -21
  42. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -50
  43. data/lib/aws-sdk-s3/plugins/arn.rb +0 -184
  44. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  45. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  46. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -49
  47. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  48. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  49. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +0 -29
  50. data/lib/aws-sdk-s3/plugins/s3_signer.rb +32 -126
  51. data/lib/aws-sdk-s3/presigned_post.rb +61 -59
  52. data/lib/aws-sdk-s3/presigner.rb +24 -35
  53. data/lib/aws-sdk-s3/resource.rb +7 -3
  54. data/lib/aws-sdk-s3/types.rb +858 -4125
  55. data/lib/aws-sdk-s3.rb +5 -1
  56. metadata +12 -11
  57. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  58. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -68
  59. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  60. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -74
  61. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc4ed3965895fd8f673f79e9c405d272cd281f2fee60e6f78a791a0743c981fe
4
- data.tar.gz: 2328ddf1594b50e642acfb659edc07fe02f35ad383948363699333e63e3b57ca
3
+ metadata.gz: 3a563e0602ed3c1393406bb2158324b9571f7c579924f3f349fe237333d218d1
4
+ data.tar.gz: 4559f4a20a3abd9dcddde15fd814012e3874813d2e5cc15cd0066125aea8348f
5
5
  SHA512:
6
- metadata.gz: d35e6bd7c43c29a3bb8b31b4094a89608fac6ed9b3b13fd4da5fa37419f573215290346214d1c62747add1f352b43c405afb2c4b7e187ce267def725aa8b2ff1
7
- data.tar.gz: b02f97001766edc02501290d135234ef99b45b54bf25560384887455a1f4dcec81b235aaa553e25e43cfe60c7cd8ef6a315ba44979b94fd0f6d2c2dc7a348404
6
+ metadata.gz: 03eda70ab440bdf32208be9a6f8bbe5435d77090ef6198129b9cb06b91d2aba9fb5bb3820d53380af6863f4538344d6833d507d5c46b3609d648f2c52a26561c
7
+ data.tar.gz: 43cd7b5022e8602f9590463478de5adf88de7cc31d1d13179551b9434a21fd6150c61009b98796eddc91a772c70e47698e58720f79733ad03ea638c27e052653
data/CHANGELOG.md CHANGED
@@ -1,6 +1,169 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.136.0 (2023-09-26)
5
+ ------------------
6
+
7
+ * Feature - This release adds a new field COMPLETED to the ReplicationStatus Enum. You can now use this field to validate the replication status of S3 objects using the AWS SDK.
8
+
9
+ 1.135.0 (2023-09-20)
10
+ ------------------
11
+
12
+ * Feature - Fix an issue where the SDK can fail to unmarshall response due to NumberFormatException
13
+
14
+ 1.134.0 (2023-08-24)
15
+ ------------------
16
+
17
+ * Feature - Updates to endpoint ruleset tests to address Smithy validation issues.
18
+
19
+ 1.133.0 (2023-08-22)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ * Feature - Add support for `progress_callback` in `Object#download_file` and improve multi-threaded performance #(2901).
25
+
26
+ 1.132.1 (2023-08-09)
27
+ ------------------
28
+
29
+ * Issue - Add support for disabling checksum validation in `Object#download_file` (#2893).
30
+
31
+ 1.132.0 (2023-07-24)
32
+ ------------------
33
+
34
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
35
+
36
+ * Feature - Add support for verifying checksums in FileDownloader.
37
+
38
+ 1.131.0 (2023-07-20)
39
+ ------------------
40
+
41
+ * Feature - Improve performance of S3 clients by simplifying and optimizing endpoint resolution.
42
+
43
+ 1.130.0 (2023-07-13)
44
+ ------------------
45
+
46
+ * Feature - S3 Inventory now supports Object Access Control List and Object Owner as available object metadata fields in inventory reports.
47
+
48
+ * Feature - Allow Object multipart copy API to work when requiring a checksum algorithm.
49
+ * Feature - Allow Object multipart copy API to optionally copy parts as they exist on the source object if it has parts, instead of generating new part ranges, when specifying `use_source_parts: true`.
50
+
51
+ 1.129.0 (2023-07-11)
52
+ ------------------
53
+
54
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
55
+
56
+ 1.128.0 (2023-07-06)
57
+ ------------------
58
+
59
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
60
+
61
+ 1.127.0 (2023-06-28)
62
+ ------------------
63
+
64
+ * Feature - The S3 LISTObjects, ListObjectsV2 and ListObjectVersions API now supports a new optional header x-amz-optional-object-attributes. If header contains RestoreStatus as the value, then S3 will include Glacier restore status i.e. isRestoreInProgress and RestoreExpiryDate in List response.
65
+
66
+ * Feature - Select minimum expiration time for presigned urls between the expiration time option and the credential expiration time.
67
+
68
+ 1.126.0 (2023-06-16)
69
+ ------------------
70
+
71
+ * Feature - This release adds SDK support for request-payer request header and request-charged response header in the "GetBucketAccelerateConfiguration", "ListMultipartUploads", "ListObjects", "ListObjectsV2" and "ListObjectVersions" S3 APIs.
72
+
73
+ 1.125.0 (2023-06-15)
74
+ ------------------
75
+
76
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
77
+
78
+ 1.124.0 (2023-06-13)
79
+ ------------------
80
+
81
+ * Feature - Integrate double encryption feature to SDKs.
82
+
83
+ 1.123.2 (2023-06-12)
84
+ ------------------
85
+
86
+ * Issue - Fix issue when decrypting noncurrent versions of objects when using client side encryption (#2866).
87
+
88
+ 1.123.1 (2023-06-02)
89
+ ------------------
90
+
91
+ * Issue - Fix multipart `download_file` so that it does not download bytes out of range (#2859).
92
+
93
+ 1.123.0 (2023-05-31)
94
+ ------------------
95
+
96
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
97
+
98
+ 1.122.0 (2023-05-04)
99
+ ------------------
100
+
101
+ * Feature - Documentation updates for Amazon S3
102
+
103
+ 1.121.0 (2023-04-19)
104
+ ------------------
105
+
106
+ * Feature - Provides support for "Snow" Storage class.
107
+
108
+ 1.120.1 (2023-04-05)
109
+ ------------------
110
+
111
+ * Issue - Skip `#check_for_cached_region` if custom endpoint provided
112
+
113
+ 1.120.0 (2023-03-31)
114
+ ------------------
115
+
116
+ * Feature - Documentation updates for Amazon S3
117
+
118
+ 1.119.2 (2023-03-22)
119
+ ------------------
120
+
121
+ * Issue - Provide `endpoint` and `bucket` attributes on `Aws::S3::Errors::PermanentRedirect` error objects.
122
+
123
+ 1.119.1 (2023-02-13)
124
+ ------------------
125
+
126
+ * Issue - Ensure object metadata is not lost on multipart copy (#2821).
127
+
128
+ 1.119.0 (2023-01-26)
129
+ ------------------
130
+
131
+ * Feature - Allow FIPS to be used with path-style URLs.
132
+
133
+ 1.118.0 (2023-01-18)
134
+ ------------------
135
+
136
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
137
+
138
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
139
+
140
+ 1.117.2 (2022-11-30)
141
+ ------------------
142
+
143
+ * Issue - Return error messages from failures in threads in `MultipartStreamUploader` (#2793).
144
+
145
+ 1.117.1 (2022-10-26)
146
+ ------------------
147
+
148
+ * Issue - Fix custom endpoint and port regression with `presigned_url` (#2776).
149
+
150
+ 1.117.0 (2022-10-25)
151
+ ------------------
152
+
153
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
154
+
155
+ * Issue - Apply checksums to MultipartStreamUploader (#2769).
156
+
157
+ 1.116.0 (2022-10-21)
158
+ ------------------
159
+
160
+ * Feature - S3 on Outposts launches support for automatic bucket-style alias. You can use the automatic access point alias instead of an access point ARN for any object-level operation in an Outposts bucket.
161
+
162
+ 1.115.0 (2022-10-19)
163
+ ------------------
164
+
165
+ * Feature - Updates internal logic for constructing API endpoints. We have added rule-based endpoints and internal model parameters.
166
+
4
167
  1.114.0 (2022-05-03)
5
168
  ------------------
6
169
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.114.0
1
+ 1.136.0
@@ -95,7 +95,9 @@ module Aws::S3
95
95
  options, params = separate_params_and_options(options)
96
96
  waiter = Waiters::BucketExists.new(options)
97
97
  yield_waiter_and_warn(waiter, &block) if block_given?
98
- waiter.wait(params.merge(bucket: @name))
98
+ Aws::Plugins::UserAgent.feature('resource') do
99
+ waiter.wait(params.merge(bucket: @name))
100
+ end
99
101
  Bucket.new({
100
102
  name: @name,
101
103
  client: @client
@@ -112,7 +114,9 @@ module Aws::S3
112
114
  options, params = separate_params_and_options(options)
113
115
  waiter = Waiters::BucketNotExists.new(options)
114
116
  yield_waiter_and_warn(waiter, &block) if block_given?
115
- waiter.wait(params.merge(bucket: @name))
117
+ Aws::Plugins::UserAgent.feature('resource') do
118
+ waiter.wait(params.merge(bucket: @name))
119
+ end
116
120
  Bucket.new({
117
121
  name: @name,
118
122
  client: @client
@@ -213,7 +217,9 @@ module Aws::S3
213
217
  :retry
214
218
  end
215
219
  end
216
- Aws::Waiters::Waiter.new(options).wait({})
220
+ Aws::Plugins::UserAgent.feature('resource') do
221
+ Aws::Waiters::Waiter.new(options).wait({})
222
+ end
217
223
  end
218
224
 
219
225
  # @!group Actions
@@ -223,7 +229,7 @@ module Aws::S3
223
229
  # bucket.create({
224
230
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
225
231
  # create_bucket_configuration: {
226
- # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
232
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2, ap-south-2, eu-south-2
227
233
  # },
228
234
  # grant_full_control: "GrantFullControl",
229
235
  # grant_read: "GrantRead",
@@ -275,7 +281,9 @@ module Aws::S3
275
281
  # @return [Types::CreateBucketOutput]
276
282
  def create(options = {})
277
283
  options = options.merge(bucket: @name)
278
- resp = @client.create_bucket(options)
284
+ resp = Aws::Plugins::UserAgent.feature('resource') do
285
+ @client.create_bucket(options)
286
+ end
279
287
  resp.data
280
288
  end
281
289
 
@@ -292,7 +300,9 @@ module Aws::S3
292
300
  # @return [EmptyStructure]
293
301
  def delete(options = {})
294
302
  options = options.merge(bucket: @name)
295
- resp = @client.delete_bucket(options)
303
+ resp = Aws::Plugins::UserAgent.feature('resource') do
304
+ @client.delete_bucket(options)
305
+ end
296
306
  resp.data
297
307
  end
298
308
 
@@ -325,9 +335,11 @@ module Aws::S3
325
335
  # @option options [String] :request_payer
326
336
  # Confirms that the requester knows that they will be charged for the
327
337
  # request. Bucket owners need not specify this parameter in their
328
- # requests. For information about downloading objects from Requester
329
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
330
- # in the *Amazon S3 User Guide*.
338
+ # requests. If either the source or destination Amazon S3 bucket has
339
+ # Requester Pays enabled, the requester will pay for corresponding
340
+ # charges to copy the object. For information about downloading objects
341
+ # from Requester Pays buckets, see [Downloading Objects in Requester
342
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
331
343
  #
332
344
  #
333
345
  #
@@ -361,7 +373,9 @@ module Aws::S3
361
373
  # @return [Types::DeleteObjectsOutput]
362
374
  def delete_objects(options = {})
363
375
  options = options.merge(bucket: @name)
364
- resp = @client.delete_objects(options)
376
+ resp = Aws::Plugins::UserAgent.feature('resource') do
377
+ @client.delete_objects(options)
378
+ end
365
379
  resp.data
366
380
  end
367
381
 
@@ -391,8 +405,8 @@ module Aws::S3
391
405
  # metadata: {
392
406
  # "MetadataKey" => "MetadataValue",
393
407
  # },
394
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
395
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
408
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
409
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
396
410
  # website_redirect_location: "WebsiteRedirectLocation",
397
411
  # sse_customer_algorithm: "SSECustomerAlgorithm",
398
412
  # sse_customer_key: "SSECustomerKey",
@@ -430,30 +444,30 @@ module Aws::S3
430
444
  # @option options [String] :content_disposition
431
445
  # Specifies presentational information for the object. For more
432
446
  # information, see
433
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
447
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
434
448
  #
435
449
  #
436
450
  #
437
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
451
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
438
452
  # @option options [String] :content_encoding
439
453
  # Specifies what content encodings have been applied to the object and
440
454
  # thus what decoding mechanisms must be applied to obtain the media-type
441
455
  # referenced by the Content-Type header field. For more information, see
442
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
456
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
443
457
  #
444
458
  #
445
459
  #
446
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
460
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
447
461
  # @option options [String] :content_language
448
462
  # The language the content is in.
449
463
  # @option options [Integer] :content_length
450
464
  # Size of the body in bytes. This parameter is useful when the size of
451
465
  # the body cannot be determined automatically. For more information, see
452
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
466
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
453
467
  #
454
468
  #
455
469
  #
456
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
470
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
457
471
  # @option options [String] :content_md5
458
472
  # The base64-encoded 128-bit MD5 digest of the message (without the
459
473
  # headers) according to RFC 1864. This header can be used as a message
@@ -469,11 +483,11 @@ module Aws::S3
469
483
  # @option options [String] :content_type
470
484
  # A standard MIME type describing the format of the contents. For more
471
485
  # information, see
472
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
486
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
473
487
  #
474
488
  #
475
489
  #
476
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
490
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
477
491
  # @option options [String] :checksum_algorithm
478
492
  # Indicates the algorithm used to create the checksum for the object
479
493
  # when using the SDK. This header will not provide any additional
@@ -532,11 +546,11 @@ module Aws::S3
532
546
  # @option options [Time,DateTime,Date,Integer,String] :expires
533
547
  # The date and time at which the object is no longer cacheable. For more
534
548
  # information, see
535
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
549
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
536
550
  #
537
551
  #
538
552
  #
539
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
553
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
540
554
  # @option options [String] :grant_full_control
541
555
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
542
556
  # object.
@@ -560,7 +574,7 @@ module Aws::S3
560
574
  # A map of metadata to store with the object in S3.
561
575
  # @option options [String] :server_side_encryption
562
576
  # The server-side encryption algorithm used when storing this object in
563
- # Amazon S3 (for example, AES256, aws:kms).
577
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
564
578
  # @option options [String] :storage_class
565
579
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
566
580
  # created objects. The STANDARD storage class provides high durability
@@ -611,33 +625,39 @@ module Aws::S3
611
625
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
612
626
  # ensure that the encryption key was transmitted without error.
613
627
  # @option options [String] :ssekms_key_id
614
- # If `x-amz-server-side-encryption` is present and has the value of
615
- # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
616
- # Management Service (Amazon Web Services KMS) symmetrical customer
617
- # managed key that was used for the object. If you specify
618
- # `x-amz-server-side-encryption:aws:kms`, but do not provide`
628
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
629
+ # `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
630
+ # Alias) of the Key Management Service (KMS) symmetric encryption
631
+ # customer managed key that was used for the object. If you specify
632
+ # `x-amz-server-side-encryption:aws:kms` or
633
+ # `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
619
634
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
620
- # Amazon Web Services managed key to protect the data. If the KMS key
621
- # does not exist in the same account issuing the command, you must use
622
- # the full ARN and not just the ID.
635
+ # Amazon Web Services managed key (`aws/s3`) to protect the data. If the
636
+ # KMS key does not exist in the same account that's issuing the
637
+ # command, you must use the full ARN and not just the ID.
623
638
  # @option options [String] :ssekms_encryption_context
624
639
  # Specifies the Amazon Web Services KMS Encryption Context to use for
625
640
  # object encryption. The value of this header is a base64-encoded UTF-8
626
- # string holding JSON with the encryption context key-value pairs.
641
+ # string holding JSON with the encryption context key-value pairs. This
642
+ # value is stored as object metadata and automatically gets passed on to
643
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
644
+ # operations on this object.
627
645
  # @option options [Boolean] :bucket_key_enabled
628
646
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
629
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
630
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
631
- # for object encryption with SSE-KMS.
647
+ # encryption with server-side encryption using Key Management Service
648
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
649
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
632
650
  #
633
651
  # Specifying this header with a PUT action doesn’t affect bucket-level
634
652
  # settings for S3 Bucket Key.
635
653
  # @option options [String] :request_payer
636
654
  # Confirms that the requester knows that they will be charged for the
637
655
  # request. Bucket owners need not specify this parameter in their
638
- # requests. For information about downloading objects from Requester
639
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
640
- # in the *Amazon S3 User Guide*.
656
+ # requests. If either the source or destination Amazon S3 bucket has
657
+ # Requester Pays enabled, the requester will pay for corresponding
658
+ # charges to copy the object. For information about downloading objects
659
+ # from Requester Pays buckets, see [Downloading Objects in Requester
660
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
641
661
  #
642
662
  #
643
663
  #
@@ -664,7 +684,9 @@ module Aws::S3
664
684
  # @return [Object]
665
685
  def put_object(options = {})
666
686
  options = options.merge(bucket: @name)
667
- @client.put_object(options)
687
+ Aws::Plugins::UserAgent.feature('resource') do
688
+ @client.put_object(options)
689
+ end
668
690
  Object.new(
669
691
  bucket_name: @name,
670
692
  key: options[:key],
@@ -723,6 +745,7 @@ module Aws::S3
723
745
  # prefix: "Prefix",
724
746
  # upload_id_marker: "UploadIdMarker",
725
747
  # expected_bucket_owner: "AccountId",
748
+ # request_payer: "requester", # accepts requester
726
749
  # })
727
750
  # @param [Hash] options ({})
728
751
  # @option options [String] :delimiter
@@ -736,14 +759,14 @@ module Aws::S3
736
759
  # result element are not returned elsewhere in the response.
737
760
  # @option options [String] :encoding_type
738
761
  # Requests Amazon S3 to encode the object keys in the response and
739
- # specifies the encoding method to use. An object key may contain any
740
- # Unicode character; however, XML 1.0 parser cannot parse some
762
+ # specifies the encoding method to use. An object key can contain any
763
+ # Unicode character; however, the XML 1.0 parser cannot parse some
741
764
  # characters, such as characters with an ASCII value from 0 to 10. For
742
765
  # characters that are not supported in XML 1.0, you can add this
743
766
  # parameter to request that Amazon S3 encode the keys in the response.
744
767
  # @option options [String] :key_marker
745
- # Together with upload-id-marker, this parameter specifies the multipart
746
- # upload after which listing should begin.
768
+ # Together with `upload-id-marker`, this parameter specifies the
769
+ # multipart upload after which listing should begin.
747
770
  #
748
771
  # If `upload-id-marker` is not specified, only the keys
749
772
  # lexicographically greater than the specified `key-marker` will be
@@ -756,8 +779,8 @@ module Aws::S3
756
779
  # @option options [String] :prefix
757
780
  # Lists in-progress uploads only for those keys that begin with the
758
781
  # specified prefix. You can use prefixes to separate a bucket into
759
- # different grouping of keys. (You can think of using prefix to make
760
- # groups in the same way you'd use a folder in a file system.)
782
+ # different grouping of keys. (You can think of using `prefix` to make
783
+ # groups in the same way that you'd use a folder in a file system.)
761
784
  # @option options [String] :upload_id_marker
762
785
  # Together with key-marker, specifies the multipart upload after which
763
786
  # listing should begin. If key-marker is not specified, the
@@ -769,11 +792,25 @@ module Aws::S3
769
792
  # The account ID of the expected bucket owner. If the bucket is owned by
770
793
  # a different account, the request fails with the HTTP status code `403
771
794
  # Forbidden` (access denied).
795
+ # @option options [String] :request_payer
796
+ # Confirms that the requester knows that they will be charged for the
797
+ # request. Bucket owners need not specify this parameter in their
798
+ # requests. If either the source or destination Amazon S3 bucket has
799
+ # Requester Pays enabled, the requester will pay for corresponding
800
+ # charges to copy the object. For information about downloading objects
801
+ # from Requester Pays buckets, see [Downloading Objects in Requester
802
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
803
+ #
804
+ #
805
+ #
806
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
772
807
  # @return [MultipartUpload::Collection]
773
808
  def multipart_uploads(options = {})
774
809
  batches = Enumerator.new do |y|
775
810
  options = options.merge(bucket: @name)
776
- resp = @client.list_multipart_uploads(options)
811
+ resp = Aws::Plugins::UserAgent.feature('resource') do
812
+ @client.list_multipart_uploads(options)
813
+ end
777
814
  resp.each_page do |page|
778
815
  batch = []
779
816
  page.data.uploads.each do |u|
@@ -818,19 +855,21 @@ module Aws::S3
818
855
  # prefix: "Prefix",
819
856
  # version_id_marker: "VersionIdMarker",
820
857
  # expected_bucket_owner: "AccountId",
858
+ # request_payer: "requester", # accepts requester
859
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
821
860
  # })
822
861
  # @param [Hash] options ({})
823
862
  # @option options [String] :delimiter
824
863
  # A delimiter is a character that you specify to group keys. All keys
825
864
  # that contain the same string between the `prefix` and the first
826
865
  # occurrence of the delimiter are grouped under a single result element
827
- # in CommonPrefixes. These groups are counted as one result against the
828
- # max-keys limitation. These keys are not returned elsewhere in the
829
- # response.
866
+ # in `CommonPrefixes`. These groups are counted as one result against
867
+ # the `max-keys` limitation. These keys are not returned elsewhere in
868
+ # the response.
830
869
  # @option options [String] :encoding_type
831
870
  # Requests Amazon S3 to encode the object keys in the response and
832
- # specifies the encoding method to use. An object key may contain any
833
- # Unicode character; however, XML 1.0 parser cannot parse some
871
+ # specifies the encoding method to use. An object key can contain any
872
+ # Unicode character; however, the XML 1.0 parser cannot parse some
834
873
  # characters, such as characters with an ASCII value from 0 to 10. For
835
874
  # characters that are not supported in XML 1.0, you can add this
836
875
  # parameter to request that Amazon S3 encode the keys in the response.
@@ -839,21 +878,38 @@ module Aws::S3
839
878
  # @option options [String] :prefix
840
879
  # Use this parameter to select only those keys that begin with the
841
880
  # specified prefix. You can use prefixes to separate a bucket into
842
- # different groupings of keys. (You can think of using prefix to make
843
- # groups in the same way you'd use a folder in a file system.) You can
844
- # use prefix with delimiter to roll up numerous objects into a single
845
- # result under CommonPrefixes.
881
+ # different groupings of keys. (You can think of using `prefix` to make
882
+ # groups in the same way that you'd use a folder in a file system.) You
883
+ # can use `prefix` with `delimiter` to roll up numerous objects into a
884
+ # single result under `CommonPrefixes`.
846
885
  # @option options [String] :version_id_marker
847
886
  # Specifies the object version you want to start listing from.
848
887
  # @option options [String] :expected_bucket_owner
849
888
  # The account ID of the expected bucket owner. If the bucket is owned by
850
889
  # a different account, the request fails with the HTTP status code `403
851
890
  # Forbidden` (access denied).
891
+ # @option options [String] :request_payer
892
+ # Confirms that the requester knows that they will be charged for the
893
+ # request. Bucket owners need not specify this parameter in their
894
+ # requests. If either the source or destination Amazon S3 bucket has
895
+ # Requester Pays enabled, the requester will pay for corresponding
896
+ # charges to copy the object. For information about downloading objects
897
+ # from Requester Pays buckets, see [Downloading Objects in Requester
898
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
899
+ #
900
+ #
901
+ #
902
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
903
+ # @option options [Array<String>] :optional_object_attributes
904
+ # Specifies the optional fields that you want returned in the response.
905
+ # Fields that you do not specify are not returned.
852
906
  # @return [ObjectVersion::Collection]
853
907
  def object_versions(options = {})
854
908
  batches = Enumerator.new do |y|
855
909
  options = options.merge(bucket: @name)
856
- resp = @client.list_object_versions(options)
910
+ resp = Aws::Plugins::UserAgent.feature('resource') do
911
+ @client.list_object_versions(options)
912
+ end
857
913
  resp.each_page do |page|
858
914
  batch = []
859
915
  page.data.versions_delete_markers.each do |v|
@@ -881,18 +937,19 @@ module Aws::S3
881
937
  # start_after: "StartAfter",
882
938
  # request_payer: "requester", # accepts requester
883
939
  # expected_bucket_owner: "AccountId",
940
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
884
941
  # })
885
942
  # @param [Hash] options ({})
886
943
  # @option options [String] :delimiter
887
- # A delimiter is a character you use to group keys.
944
+ # A delimiter is a character that you use to group keys.
888
945
  # @option options [String] :encoding_type
889
946
  # Encoding type used by Amazon S3 to encode object keys in the response.
890
947
  # @option options [String] :prefix
891
948
  # Limits the response to keys that begin with the specified prefix.
892
949
  # @option options [Boolean] :fetch_owner
893
- # The owner field is not present in listV2 by default, if you want to
894
- # return owner field with each key in the result then set the fetch
895
- # owner field to true.
950
+ # The owner field is not present in `ListObjectsV2` by default. If you
951
+ # want to return the owner field with each key in the result, then set
952
+ # the `FetchOwner` field to `true`.
896
953
  # @option options [String] :start_after
897
954
  # StartAfter is where you want Amazon S3 to start listing from. Amazon
898
955
  # S3 starts listing after this specified key. StartAfter can be any key
@@ -905,11 +962,16 @@ module Aws::S3
905
962
  # The account ID of the expected bucket owner. If the bucket is owned by
906
963
  # a different account, the request fails with the HTTP status code `403
907
964
  # Forbidden` (access denied).
965
+ # @option options [Array<String>] :optional_object_attributes
966
+ # Specifies the optional fields that you want returned in the response.
967
+ # Fields that you do not specify are not returned.
908
968
  # @return [ObjectSummary::Collection]
909
969
  def objects(options = {})
910
970
  batches = Enumerator.new do |y|
911
971
  options = options.merge(bucket: @name)
912
- resp = @client.list_objects_v2(options)
972
+ resp = Aws::Plugins::UserAgent.feature('resource') do
973
+ @client.list_objects_v2(options)
974
+ end
913
975
  resp.each_page do |page|
914
976
  batch = []
915
977
  page.data.contents.each do |c|
@@ -60,7 +60,9 @@ module Aws::S3
60
60
  #
61
61
  # @return [self]
62
62
  def load
63
- resp = @client.get_bucket_acl(bucket: @bucket_name)
63
+ resp = Aws::Plugins::UserAgent.feature('resource') do
64
+ @client.get_bucket_acl(bucket: @bucket_name)
65
+ end
64
66
  @data = resp.data
65
67
  self
66
68
  end
@@ -175,7 +177,9 @@ module Aws::S3
175
177
  :retry
176
178
  end
177
179
  end
178
- Aws::Waiters::Waiter.new(options).wait({})
180
+ Aws::Plugins::UserAgent.feature('resource') do
181
+ Aws::Waiters::Waiter.new(options).wait({})
182
+ end
179
183
  end
180
184
 
181
185
  # @!group Actions
@@ -265,7 +269,9 @@ module Aws::S3
265
269
  # @return [EmptyStructure]
266
270
  def put(options = {})
267
271
  options = options.merge(bucket: @bucket_name)
268
- resp = @client.put_bucket_acl(options)
272
+ resp = Aws::Plugins::UserAgent.feature('resource') do
273
+ @client.put_bucket_acl(options)
274
+ end
269
275
  resp.data
270
276
  end
271
277