aws-sdk-s3 1.109.0 → 1.111.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b7b755424c2783bb1d1ab5ec357ce83949b1a434cca1f40d8088c4e59c982b0
4
- data.tar.gz: 95b6da26a68850f8d388cc7fe67f6b152297bb8988ff6a83a915b0d800b977c7
3
+ metadata.gz: c4b9969b0cc2ef0c3aa57e20cb70ca2980642eb62f03dafbb5d8938a58e0a78c
4
+ data.tar.gz: f2906d9902a3c605cd88f1c8a30d40d0da8873ef112543081d92de2e17e3e252
5
5
  SHA512:
6
- metadata.gz: afbc607faa1be4484f457ffac8617350b826c8e794b75eecdc66b07dadf91a5e339328070aa1ab2c4c2a32e99a82d94e07a54d0cd5803f9a12a10db43a642414
7
- data.tar.gz: 19e01fdc6064838e1af8514eccc4784a1e859dc89bc6a274f017c722154a11ad1c2f79929fa0e7aecaa70f6cd8af32db3f07e4de427b34944957d664ef2348aa
6
+ metadata.gz: 45eb5902e3c9cea6e93663a2ee896dfd30e7dcd293f6147efe0dc97619fa4c426556d3c3f69b3acc6a1aee00484e23d4c65a46aa55115fb88f9b9095ebda3318
7
+ data.tar.gz: 1e543e87ea98242d1568479957dcd0c071e8c3798e999d79a4c541c5786397183f4f2e7238cd033cdefa6d04870f800afe1d7d1a05b2a461b560880290f4801a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.111.2 (2022-01-20)
5
+ ------------------
6
+
7
+ * Issue - Minor cleanups.
8
+
9
+ 1.111.1 (2022-01-06)
10
+ ------------------
11
+
12
+ * Issue - Don't fail small files in `upload_file` when `:thread_count` is set. (#2628)
13
+
14
+ 1.111.0 (2022-01-04)
15
+ ------------------
16
+
17
+ * Feature - Minor doc-based updates based on feedback bugs received.
18
+
19
+ 1.110.0 (2021-12-21)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.109.0 (2021-11-30)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.109.0
1
+ 1.111.2
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
31
32
  require 'aws-sdk-s3/plugins/accelerate.rb'
32
33
  require 'aws-sdk-s3/plugins/arn.rb'
@@ -91,6 +92,7 @@ module Aws::S3
91
92
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
92
93
  add_plugin(Aws::Plugins::TransferEncoding)
93
94
  add_plugin(Aws::Plugins::HttpChecksum)
95
+ add_plugin(Aws::Plugins::DefaultsMode)
94
96
  add_plugin(Aws::Plugins::Protocols::RestXml)
95
97
  add_plugin(Aws::S3::Plugins::Accelerate)
96
98
  add_plugin(Aws::S3::Plugins::ARN)
@@ -218,6 +220,10 @@ module Aws::S3
218
220
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
219
221
  # a clock skew correction and retry requests with skewed client clocks.
220
222
  #
223
+ # @option options [String] :defaults_mode ("legacy")
224
+ # See {Aws::DefaultsModeConfiguration} for a list of the
225
+ # accepted modes and the configuration defaults that are included.
226
+ #
221
227
  # @option options [Boolean] :disable_host_prefix_injection (false)
222
228
  # Set to true to disable SDK automatically adding host prefix
223
229
  # to default service endpoint when available.
@@ -381,7 +387,7 @@ module Aws::S3
381
387
  # seconds to wait when opening a HTTP session before raising a
382
388
  # `Timeout::Error`.
383
389
  #
384
- # @option options [Integer] :http_read_timeout (60) The default
390
+ # @option options [Float] :http_read_timeout (60) The default
385
391
  # number of seconds to wait for response data. This value can
386
392
  # safely be set per-request on the session.
387
393
  #
@@ -397,6 +403,9 @@ module Aws::S3
397
403
  # disables this behaviour. This value can safely be set per
398
404
  # request on the session.
399
405
  #
406
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
407
+ # in seconds.
408
+ #
400
409
  # @option options [Boolean] :http_wire_trace (false) When `true`,
401
410
  # HTTP debug output will be sent to the `:logger`.
402
411
  #
@@ -1369,12 +1378,12 @@ module Aws::S3
1369
1378
  # configure the bucket ACL to specify the accounts or groups that should
1370
1379
  # be granted specific permissions on the bucket.
1371
1380
  #
1372
- # If your CreateBucket request includes the `BucketOwnerEnforced` value
1373
- # for the `x-amz-object-ownership` header, your request can either not
1374
- # specify an ACL or specify bucket owner full control ACLs, such as the
1375
- # `bucket-owner-full-control` canned ACL or an equivalent ACL expressed
1376
- # in the XML format. For more information, see [Controlling object
1377
- # ownership][5] in the *Amazon S3 User Guide*.
1381
+ # If your CreateBucket request sets bucket owner enforced for S3 Object
1382
+ # Ownership and specifies a bucket ACL that provides access to an
1383
+ # external Amazon Web Services account, your request fails with a `400`
1384
+ # error and returns the `InvalidBucketAclWithObjectOwnership` error
1385
+ # code. For more information, see [Controlling object ownership][5] in
1386
+ # the *Amazon S3 User Guide*.
1378
1387
  #
1379
1388
  # There are two ways to grant the appropriate permissions using the
1380
1389
  # request headers.
@@ -2967,6 +2976,15 @@ module Aws::S3
2967
2976
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2968
2977
  #
2969
2978
  #
2979
+ # @example Example: To delete an object (from a non-versioned bucket)
2980
+ #
2981
+ # # The following example deletes an object from a non-versioned bucket.
2982
+ #
2983
+ # resp = client.delete_object({
2984
+ # bucket: "ExampleBucket",
2985
+ # key: "HappyFace.jpg",
2986
+ # })
2987
+ #
2970
2988
  # @example Example: To delete an object
2971
2989
  #
2972
2990
  # # The following example deletes an object from an S3 bucket.
@@ -2980,15 +2998,6 @@ module Aws::S3
2980
2998
  # {
2981
2999
  # }
2982
3000
  #
2983
- # @example Example: To delete an object (from a non-versioned bucket)
2984
- #
2985
- # # The following example deletes an object from a non-versioned bucket.
2986
- #
2987
- # resp = client.delete_object({
2988
- # bucket: "ExampleBucket",
2989
- # key: "HappyFace.jpg",
2990
- # })
2991
- #
2992
3001
  # @example Request syntax with placeholder values
2993
3002
  #
2994
3003
  # resp = client.delete_object({
@@ -5534,49 +5543,49 @@ module Aws::S3
5534
5543
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5535
5544
  #
5536
5545
  #
5537
- # @example Example: To retrieve an object
5546
+ # @example Example: To retrieve a byte range of an object
5538
5547
  #
5539
- # # The following example retrieves an object for an S3 bucket.
5548
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5549
+ # # specific byte range.
5540
5550
  #
5541
5551
  # resp = client.get_object({
5542
5552
  # bucket: "examplebucket",
5543
- # key: "HappyFace.jpg",
5553
+ # key: "SampleFile.txt",
5554
+ # range: "bytes=0-9",
5544
5555
  # })
5545
5556
  #
5546
5557
  # resp.to_h outputs the following:
5547
5558
  # {
5548
5559
  # accept_ranges: "bytes",
5549
- # content_length: 3191,
5550
- # content_type: "image/jpeg",
5551
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5552
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5560
+ # content_length: 10,
5561
+ # content_range: "bytes 0-9/43",
5562
+ # content_type: "text/plain",
5563
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5564
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5553
5565
  # metadata: {
5554
5566
  # },
5555
- # tag_count: 2,
5556
5567
  # version_id: "null",
5557
5568
  # }
5558
5569
  #
5559
- # @example Example: To retrieve a byte range of an object
5570
+ # @example Example: To retrieve an object
5560
5571
  #
5561
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5562
- # # specific byte range.
5572
+ # # The following example retrieves an object for an S3 bucket.
5563
5573
  #
5564
5574
  # resp = client.get_object({
5565
5575
  # bucket: "examplebucket",
5566
- # key: "SampleFile.txt",
5567
- # range: "bytes=0-9",
5576
+ # key: "HappyFace.jpg",
5568
5577
  # })
5569
5578
  #
5570
5579
  # resp.to_h outputs the following:
5571
5580
  # {
5572
5581
  # accept_ranges: "bytes",
5573
- # content_length: 10,
5574
- # content_range: "bytes 0-9/43",
5575
- # content_type: "text/plain",
5576
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5577
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5582
+ # content_length: 3191,
5583
+ # content_type: "image/jpeg",
5584
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5585
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5578
5586
  # metadata: {
5579
5587
  # },
5588
+ # tag_count: 2,
5580
5589
  # version_id: "null",
5581
5590
  # }
5582
5591
  #
@@ -6133,49 +6142,49 @@ module Aws::S3
6133
6142
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
6134
6143
  #
6135
6144
  #
6136
- # @example Example: To retrieve tag set of a specific object version
6145
+ # @example Example: To retrieve tag set of an object
6137
6146
  #
6138
- # # The following example retrieves tag set of an object. The request specifies object version.
6147
+ # # The following example retrieves tag set of an object.
6139
6148
  #
6140
6149
  # resp = client.get_object_tagging({
6141
6150
  # bucket: "examplebucket",
6142
- # key: "exampleobject",
6143
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6151
+ # key: "HappyFace.jpg",
6144
6152
  # })
6145
6153
  #
6146
6154
  # resp.to_h outputs the following:
6147
6155
  # {
6148
6156
  # tag_set: [
6149
6157
  # {
6150
- # key: "Key1",
6151
- # value: "Value1",
6158
+ # key: "Key4",
6159
+ # value: "Value4",
6160
+ # },
6161
+ # {
6162
+ # key: "Key3",
6163
+ # value: "Value3",
6152
6164
  # },
6153
6165
  # ],
6154
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6166
+ # version_id: "null",
6155
6167
  # }
6156
6168
  #
6157
- # @example Example: To retrieve tag set of an object
6169
+ # @example Example: To retrieve tag set of a specific object version
6158
6170
  #
6159
- # # The following example retrieves tag set of an object.
6171
+ # # The following example retrieves tag set of an object. The request specifies object version.
6160
6172
  #
6161
6173
  # resp = client.get_object_tagging({
6162
6174
  # bucket: "examplebucket",
6163
- # key: "HappyFace.jpg",
6175
+ # key: "exampleobject",
6176
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6164
6177
  # })
6165
6178
  #
6166
6179
  # resp.to_h outputs the following:
6167
6180
  # {
6168
6181
  # tag_set: [
6169
6182
  # {
6170
- # key: "Key4",
6171
- # value: "Value4",
6172
- # },
6173
- # {
6174
- # key: "Key3",
6175
- # value: "Value3",
6183
+ # key: "Key1",
6184
+ # value: "Value1",
6176
6185
  # },
6177
6186
  # ],
6178
- # version_id: "null",
6187
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6179
6188
  # }
6180
6189
  #
6181
6190
  # @example Request syntax with placeholder values
@@ -6596,18 +6605,8 @@ module Aws::S3
6596
6605
  # The object key.
6597
6606
  #
6598
6607
  # @option params [String] :range
6599
- # Downloads the specified range bytes of an object. For more information
6600
- # about the HTTP Range header, see
6601
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
6602
- #
6603
- # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
6604
- # `GET` request.
6605
- #
6606
- # </note>
6607
- #
6608
- #
6609
- #
6610
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
6608
+ # Because `HeadObject` returns only the metadata for an object, this
6609
+ # parameter has no effect.
6611
6610
  #
6612
6611
  # @option params [String] :version_id
6613
6612
  # VersionId used to reference a specific version of the object.
@@ -7359,97 +7358,97 @@ module Aws::S3
7359
7358
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7360
7359
  #
7361
7360
  #
7362
- # @example Example: To list in-progress multipart uploads on a bucket
7361
+ # @example Example: List next set of multipart uploads when previous result is truncated
7363
7362
  #
7364
- # # The following example lists in-progress multipart uploads on a specific bucket.
7363
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7364
+ # # setup of multipart uploads.
7365
7365
  #
7366
7366
  # resp = client.list_multipart_uploads({
7367
7367
  # bucket: "examplebucket",
7368
+ # key_marker: "nextkeyfrompreviousresponse",
7369
+ # max_uploads: 2,
7370
+ # upload_id_marker: "valuefrompreviousresponse",
7368
7371
  # })
7369
7372
  #
7370
7373
  # resp.to_h outputs the following:
7371
7374
  # {
7375
+ # bucket: "acl1",
7376
+ # is_truncated: true,
7377
+ # key_marker: "",
7378
+ # max_uploads: 2,
7379
+ # next_key_marker: "someobjectkey",
7380
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7381
+ # upload_id_marker: "",
7372
7382
  # uploads: [
7373
7383
  # {
7374
7384
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7375
7385
  # initiator: {
7376
- # display_name: "display-name",
7386
+ # display_name: "ownder-display-name",
7377
7387
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7378
7388
  # },
7379
7389
  # key: "JavaFile",
7380
7390
  # owner: {
7381
- # display_name: "display-name",
7382
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7391
+ # display_name: "mohanataws",
7392
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7383
7393
  # },
7384
7394
  # storage_class: "STANDARD",
7385
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7395
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7386
7396
  # },
7387
7397
  # {
7388
7398
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7389
7399
  # initiator: {
7390
- # display_name: "display-name",
7400
+ # display_name: "ownder-display-name",
7391
7401
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7392
7402
  # },
7393
7403
  # key: "JavaFile",
7394
7404
  # owner: {
7395
- # display_name: "display-name",
7405
+ # display_name: "ownder-display-name",
7396
7406
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7397
7407
  # },
7398
7408
  # storage_class: "STANDARD",
7399
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7409
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7400
7410
  # },
7401
7411
  # ],
7402
7412
  # }
7403
7413
  #
7404
- # @example Example: List next set of multipart uploads when previous result is truncated
7414
+ # @example Example: To list in-progress multipart uploads on a bucket
7405
7415
  #
7406
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7407
- # # setup of multipart uploads.
7416
+ # # The following example lists in-progress multipart uploads on a specific bucket.
7408
7417
  #
7409
7418
  # resp = client.list_multipart_uploads({
7410
7419
  # bucket: "examplebucket",
7411
- # key_marker: "nextkeyfrompreviousresponse",
7412
- # max_uploads: 2,
7413
- # upload_id_marker: "valuefrompreviousresponse",
7414
7420
  # })
7415
7421
  #
7416
7422
  # resp.to_h outputs the following:
7417
7423
  # {
7418
- # bucket: "acl1",
7419
- # is_truncated: true,
7420
- # key_marker: "",
7421
- # max_uploads: 2,
7422
- # next_key_marker: "someobjectkey",
7423
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7424
- # upload_id_marker: "",
7425
7424
  # uploads: [
7426
7425
  # {
7427
7426
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7428
7427
  # initiator: {
7429
- # display_name: "ownder-display-name",
7428
+ # display_name: "display-name",
7430
7429
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7431
7430
  # },
7432
7431
  # key: "JavaFile",
7433
7432
  # owner: {
7434
- # display_name: "mohanataws",
7435
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7433
+ # display_name: "display-name",
7434
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7436
7435
  # },
7437
7436
  # storage_class: "STANDARD",
7438
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7437
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7439
7438
  # },
7440
7439
  # {
7441
7440
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7442
7441
  # initiator: {
7443
- # display_name: "ownder-display-name",
7442
+ # display_name: "display-name",
7444
7443
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7445
7444
  # },
7446
7445
  # key: "JavaFile",
7447
7446
  # owner: {
7448
- # display_name: "ownder-display-name",
7447
+ # display_name: "display-name",
7449
7448
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7450
7449
  # },
7451
7450
  # storage_class: "STANDARD",
7452
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7451
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7453
7452
  # },
7454
7453
  # ],
7455
7454
  # }
@@ -11357,114 +11356,114 @@ module Aws::S3
11357
11356
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11358
11357
  # }
11359
11358
  #
11360
- # @example Example: To upload an object and specify canned ACL.
11359
+ # @example Example: To upload an object and specify server-side encryption and object tags
11361
11360
  #
11362
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11363
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11361
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11362
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11364
11363
  #
11365
11364
  # resp = client.put_object({
11366
- # acl: "authenticated-read",
11367
11365
  # body: "filetoupload",
11368
11366
  # bucket: "examplebucket",
11369
11367
  # key: "exampleobject",
11368
+ # server_side_encryption: "AES256",
11369
+ # tagging: "key1=value1&key2=value2",
11370
11370
  # })
11371
11371
  #
11372
11372
  # resp.to_h outputs the following:
11373
11373
  # {
11374
11374
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11375
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11375
+ # server_side_encryption: "AES256",
11376
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11376
11377
  # }
11377
11378
  #
11378
- # @example Example: To upload an object
11379
+ # @example Example: To create an object.
11379
11380
  #
11380
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11381
- # # syntax. S3 returns VersionId of the newly created object.
11381
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11382
11382
  #
11383
11383
  # resp = client.put_object({
11384
- # body: "HappyFace.jpg",
11384
+ # body: "filetoupload",
11385
11385
  # bucket: "examplebucket",
11386
- # key: "HappyFace.jpg",
11386
+ # key: "objectkey",
11387
11387
  # })
11388
11388
  #
11389
11389
  # resp.to_h outputs the following:
11390
11390
  # {
11391
11391
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11392
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11392
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11393
11393
  # }
11394
11394
  #
11395
- # @example Example: To upload an object and specify optional tags
11395
+ # @example Example: To upload object and specify user-defined metadata
11396
11396
  #
11397
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11398
- # # S3 returns version ID of the newly created object.
11397
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11398
+ # # enabled, S3 returns version ID in response.
11399
11399
  #
11400
11400
  # resp = client.put_object({
11401
- # body: "c:\\HappyFace.jpg",
11401
+ # body: "filetoupload",
11402
11402
  # bucket: "examplebucket",
11403
- # key: "HappyFace.jpg",
11404
- # tagging: "key1=value1&key2=value2",
11403
+ # key: "exampleobject",
11404
+ # metadata: {
11405
+ # "metadata1" => "value1",
11406
+ # "metadata2" => "value2",
11407
+ # },
11405
11408
  # })
11406
11409
  #
11407
11410
  # resp.to_h outputs the following:
11408
11411
  # {
11409
11412
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11410
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11413
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11411
11414
  # }
11412
11415
  #
11413
- # @example Example: To upload object and specify user-defined metadata
11416
+ # @example Example: To upload an object and specify canned ACL.
11414
11417
  #
11415
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11416
- # # enabled, S3 returns version ID in response.
11418
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11419
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11417
11420
  #
11418
11421
  # resp = client.put_object({
11422
+ # acl: "authenticated-read",
11419
11423
  # body: "filetoupload",
11420
11424
  # bucket: "examplebucket",
11421
11425
  # key: "exampleobject",
11422
- # metadata: {
11423
- # "metadata1" => "value1",
11424
- # "metadata2" => "value2",
11425
- # },
11426
11426
  # })
11427
11427
  #
11428
11428
  # resp.to_h outputs the following:
11429
11429
  # {
11430
11430
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11431
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11431
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11432
11432
  # }
11433
11433
  #
11434
- # @example Example: To upload an object and specify server-side encryption and object tags
11434
+ # @example Example: To upload an object
11435
11435
  #
11436
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11437
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11436
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11437
+ # # syntax. S3 returns VersionId of the newly created object.
11438
11438
  #
11439
11439
  # resp = client.put_object({
11440
- # body: "filetoupload",
11440
+ # body: "HappyFace.jpg",
11441
11441
  # bucket: "examplebucket",
11442
- # key: "exampleobject",
11443
- # server_side_encryption: "AES256",
11444
- # tagging: "key1=value1&key2=value2",
11442
+ # key: "HappyFace.jpg",
11445
11443
  # })
11446
11444
  #
11447
11445
  # resp.to_h outputs the following:
11448
11446
  # {
11449
11447
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11450
- # server_side_encryption: "AES256",
11451
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11448
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11452
11449
  # }
11453
11450
  #
11454
- # @example Example: To create an object.
11451
+ # @example Example: To upload an object and specify optional tags
11455
11452
  #
11456
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11453
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11454
+ # # S3 returns version ID of the newly created object.
11457
11455
  #
11458
11456
  # resp = client.put_object({
11459
- # body: "filetoupload",
11457
+ # body: "c:\\HappyFace.jpg",
11460
11458
  # bucket: "examplebucket",
11461
- # key: "objectkey",
11459
+ # key: "HappyFace.jpg",
11460
+ # tagging: "key1=value1&key2=value2",
11462
11461
  # })
11463
11462
  #
11464
11463
  # resp.to_h outputs the following:
11465
11464
  # {
11466
11465
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11467
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11466
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11468
11467
  # }
11469
11468
  #
11470
11469
  # @example Streaming a file from disk
@@ -12862,10 +12861,11 @@ module Aws::S3
12862
12861
  # This action is not supported by Amazon S3 on Outposts.
12863
12862
  #
12864
12863
  # For more information about Amazon S3 Select, see [Selecting Content
12865
- # from Objects][1] in the *Amazon S3 User Guide*.
12864
+ # from Objects][1] and [SELECT Command][2] in the *Amazon S3 User
12865
+ # Guide*.
12866
12866
  #
12867
12867
  # For more information about using SQL with Amazon S3 Select, see [ SQL
12868
- # Reference for Amazon S3 Select and S3 Glacier Select][2] in the
12868
+ # Reference for Amazon S3 Select and S3 Glacier Select][3] in the
12869
12869
  # *Amazon S3 User Guide*.
12870
12870
  #
12871
12871
  #
@@ -12874,7 +12874,7 @@ module Aws::S3
12874
12874
  #
12875
12875
  # You must have `s3:GetObject` permission for this operation. Amazon S3
12876
12876
  # Select does not support anonymous access. For more information about
12877
- # permissions, see [Specifying Permissions in a Policy][3] in the
12877
+ # permissions, see [Specifying Permissions in a Policy][4] in the
12878
12878
  # *Amazon S3 User Guide*.
12879
12879
  #
12880
12880
  #
@@ -12901,70 +12901,71 @@ module Aws::S3
12901
12901
  #
12902
12902
  # For objects that are encrypted with customer-provided encryption
12903
12903
  # keys (SSE-C), you must use HTTPS, and you must use the headers that
12904
- # are documented in the [GetObject][4]. For more information about
12904
+ # are documented in the [GetObject][5]. For more information about
12905
12905
  # SSE-C, see [Server-Side Encryption (Using Customer-Provided
12906
- # Encryption Keys)][5] in the *Amazon S3 User Guide*.
12906
+ # Encryption Keys)][6] in the *Amazon S3 User Guide*.
12907
12907
  #
12908
12908
  # For objects that are encrypted with Amazon S3 managed encryption
12909
12909
  # keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
12910
12910
  # server-side encryption is handled transparently, so you don't need
12911
12911
  # to specify anything. For more information about server-side
12912
12912
  # encryption, including SSE-S3 and SSE-KMS, see [Protecting Data Using
12913
- # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
12913
+ # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
12914
12914
  #
12915
12915
  # **Working with the Response Body**
12916
12916
  #
12917
12917
  # Given the response size is unknown, Amazon S3 Select streams the
12918
12918
  # response as a series of messages and includes a `Transfer-Encoding`
12919
12919
  # header with `chunked` as its value in the response. For more
12920
- # information, see [Appendix: SelectObjectContent Response][7].
12920
+ # information, see [Appendix: SelectObjectContent Response][8].
12921
12921
  #
12922
12922
  #
12923
12923
  #
12924
12924
  # **GetObject Support**
12925
12925
  #
12926
12926
  # The `SelectObjectContent` action does not support the following
12927
- # `GetObject` functionality. For more information, see [GetObject][4].
12927
+ # `GetObject` functionality. For more information, see [GetObject][5].
12928
12928
  #
12929
12929
  # * `Range`\: Although you can specify a scan range for an Amazon S3
12930
- # Select request (see [SelectObjectContentRequest - ScanRange][8] in
12930
+ # Select request (see [SelectObjectContentRequest - ScanRange][9] in
12931
12931
  # the request parameters), you cannot specify the range of bytes of an
12932
12932
  # object to return.
12933
12933
  #
12934
12934
  # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes: You
12935
12935
  # cannot specify the GLACIER, DEEP\_ARCHIVE, or `REDUCED_REDUNDANCY`
12936
12936
  # storage classes. For more information, about storage classes see
12937
- # [Storage Classes][9] in the *Amazon S3 User Guide*.
12937
+ # [Storage Classes][10] in the *Amazon S3 User Guide*.
12938
12938
  #
12939
12939
  #
12940
12940
  #
12941
12941
  # **Special Errors**
12942
12942
  #
12943
12943
  # For a list of special errors for this operation, see [List of SELECT
12944
- # Object Content Error Codes][10]
12944
+ # Object Content Error Codes][11]
12945
12945
  #
12946
12946
  # **Related Resources**
12947
12947
  #
12948
- # * [GetObject][4]
12948
+ # * [GetObject][5]
12949
12949
  #
12950
- # * [GetBucketLifecycleConfiguration][11]
12950
+ # * [GetBucketLifecycleConfiguration][12]
12951
12951
  #
12952
- # * [PutBucketLifecycleConfiguration][12]
12952
+ # * [PutBucketLifecycleConfiguration][13]
12953
12953
  #
12954
12954
  #
12955
12955
  #
12956
12956
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
12957
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
12958
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
12959
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
12960
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12961
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
12962
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
12963
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
12964
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
12965
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
12966
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
12967
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
12957
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
12958
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
12959
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
12960
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
12961
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12962
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
12963
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
12964
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
12965
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
12966
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
12967
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
12968
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
12968
12969
  #
12969
12970
  # @option params [required, String] :bucket
12970
12971
  # The S3 bucket.
@@ -13817,45 +13818,45 @@ module Aws::S3
13817
13818
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
13818
13819
  #
13819
13820
  #
13820
- # @example Example: To upload a part by copying data from an existing object as data source
13821
+ # @example Example: To upload a part by copying byte range from an existing object as data source
13821
13822
  #
13822
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13823
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13824
+ # # data source.
13823
13825
  #
13824
13826
  # resp = client.upload_part_copy({
13825
13827
  # bucket: "examplebucket",
13826
13828
  # copy_source: "/bucketname/sourceobjectkey",
13829
+ # copy_source_range: "bytes=1-100000",
13827
13830
  # key: "examplelargeobject",
13828
- # part_number: 1,
13831
+ # part_number: 2,
13829
13832
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13830
13833
  # })
13831
13834
  #
13832
13835
  # resp.to_h outputs the following:
13833
13836
  # {
13834
13837
  # copy_part_result: {
13835
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13836
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13838
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13839
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13837
13840
  # },
13838
13841
  # }
13839
13842
  #
13840
- # @example Example: To upload a part by copying byte range from an existing object as data source
13843
+ # @example Example: To upload a part by copying data from an existing object as data source
13841
13844
  #
13842
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13843
- # # data source.
13845
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13844
13846
  #
13845
13847
  # resp = client.upload_part_copy({
13846
13848
  # bucket: "examplebucket",
13847
13849
  # copy_source: "/bucketname/sourceobjectkey",
13848
- # copy_source_range: "bytes=1-100000",
13849
13850
  # key: "examplelargeobject",
13850
- # part_number: 2,
13851
+ # part_number: 1,
13851
13852
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13852
13853
  # })
13853
13854
  #
13854
13855
  # resp.to_h outputs the following:
13855
13856
  # {
13856
13857
  # copy_part_result: {
13857
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13858
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13858
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13859
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13859
13860
  # },
13860
13861
  # }
13861
13862
  #
@@ -14215,7 +14216,7 @@ module Aws::S3
14215
14216
  params: params,
14216
14217
  config: config)
14217
14218
  context[:gem_name] = 'aws-sdk-s3'
14218
- context[:gem_version] = '1.109.0'
14219
+ context[:gem_version] = '1.111.2'
14219
14220
  Seahorse::Client::Request.new(handlers, context)
14220
14221
  end
14221
14222
 
@@ -134,7 +134,7 @@ module Aws
134
134
  def write(resp)
135
135
  range, _ = resp.content_range.split(' ').last.split('/')
136
136
  head, _ = range.split('-').map {|s| s.to_i}
137
- IO.write(@path, resp.body.read, head)
137
+ File.write(@path, resp.body.read, head)
138
138
  end
139
139
 
140
140
  def single_request
@@ -32,11 +32,16 @@ module Aws
32
32
  # @option options [Proc] :progress_callback
33
33
  # A Proc that will be called when each chunk of the upload is sent.
34
34
  # It will be invoked with [bytes_read], [total_sizes]
35
+ # @option options [Integer] :thread_count
36
+ # The thread count to use for multipart uploads. Ignored for
37
+ # objects smaller than the multipart threshold.
35
38
  # @return [void]
36
39
  def upload(source, options = {})
37
40
  if File.size(source) >= multipart_threshold
38
41
  MultipartFileUploader.new(@options).upload(source, options)
39
42
  else
43
+ # remove multipart parameters not supported by put_object
44
+ options.delete(:thread_count)
40
45
  put_object(source, options)
41
46
  end
42
47
  end
@@ -1481,18 +1481,8 @@ module Aws::S3
1481
1481
  # Return the object only if it has not been modified since the specified
1482
1482
  # time, otherwise return a 412 (precondition failed).
1483
1483
  # @option options [String] :range
1484
- # Downloads the specified range bytes of an object. For more information
1485
- # about the HTTP Range header, see
1486
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
1487
- #
1488
- # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
1489
- # `GET` request.
1490
- #
1491
- # </note>
1492
- #
1493
- #
1494
- #
1495
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
1484
+ # Because `HeadObject` returns only the metadata for an object, this
1485
+ # parameter has no effect.
1496
1486
  # @option options [String] :version_id
1497
1487
  # VersionId used to reference a specific version of the object.
1498
1488
  # @option options [String] :sse_customer_algorithm
@@ -402,18 +402,8 @@ module Aws::S3
402
402
  # Return the object only if it has not been modified since the specified
403
403
  # time, otherwise return a 412 (precondition failed).
404
404
  # @option options [String] :range
405
- # Downloads the specified range bytes of an object. For more information
406
- # about the HTTP Range header, see
407
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
408
- #
409
- # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
410
- # `GET` request.
411
- #
412
- # </note>
413
- #
414
- #
415
- #
416
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
405
+ # Because `HeadObject` returns only the metadata for an object, this
406
+ # parameter has no effect.
417
407
  # @option options [String] :sse_customer_algorithm
418
408
  # Specifies the algorithm to use to when encrypting the object (for
419
409
  # example, AES256).
@@ -48,8 +48,14 @@ Defaults to `legacy` mode which uses the global endpoint.
48
48
  private
49
49
 
50
50
  def self.resolve_iad_regional_endpoint(cfg)
51
+ default_mode_value =
52
+ if cfg.respond_to?(:defaults_mode_config_resolver)
53
+ cfg.defaults_mode_config_resolver.resolve(:s3_us_east_1_regional_endpoint)
54
+ end
55
+
51
56
  mode = ENV['AWS_S3_US_EAST_1_REGIONAL_ENDPOINT'] ||
52
57
  Aws.shared_config.s3_us_east_1_regional_endpoint(profile: cfg.profile) ||
58
+ default_mode_value ||
53
59
  'legacy'
54
60
  mode = mode.downcase
55
61
  unless %w(legacy regional).include?(mode)
@@ -176,6 +176,7 @@ module Aws
176
176
  # ```
177
177
  #
178
178
  class PresignedPost
179
+ @@allowed_fields = []
179
180
 
180
181
  # @param [Credentials] credentials Security credentials for signing
181
182
  # the post policy.
@@ -247,7 +248,12 @@ module Aws
247
248
  case option_name
248
249
  when :allow_any then allow_any(option_value)
249
250
  when :signature_expiration then @signature_expiration = option_value
250
- else send("#{option_name}", option_value)
251
+ else
252
+ if @@allowed_fields.include?(option_name)
253
+ send("#{option_name}", option_value)
254
+ else
255
+ raise ArgumentError, "Unsupported option: #{option_name}"
256
+ end
251
257
  end
252
258
  end
253
259
  end
@@ -279,17 +285,22 @@ module Aws
279
285
  end
280
286
 
281
287
  # @api private
282
- def self.define_field(field, *args)
288
+ def self.define_field(field, *args, &block)
289
+ @@allowed_fields << field
283
290
  options = args.last.is_a?(Hash) ? args.pop : {}
284
291
  field_name = args.last || field.to_s
285
292
 
286
- define_method("#{field}") do |value|
287
- with(field_name, value)
288
- end
293
+ if block_given?
294
+ define_method("#{field}", block)
295
+ else
296
+ define_method("#{field}") do |value|
297
+ with(field_name, value)
298
+ end
289
299
 
290
- if options[:starts_with]
291
- define_method("#{field}_starts_with") do |value|
292
- starts_with(field_name, value)
300
+ if options[:starts_with]
301
+ define_method("#{field}_starts_with") do |value|
302
+ starts_with(field_name, value)
303
+ end
293
304
  end
294
305
  end
295
306
  end
@@ -307,7 +318,7 @@ module Aws
307
318
  # @param [String] key
308
319
  # @see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html)
309
320
  # @return [self]
310
- def key(key)
321
+ define_field(:key) do |key|
311
322
  @key_set = true
312
323
  with('key', key)
313
324
  end
@@ -316,7 +327,7 @@ module Aws
316
327
  # @param [String] prefix
317
328
  # @see #key
318
329
  # @return [self]
319
- def key_starts_with(prefix)
330
+ define_field(:key_starts_with) do |prefix|
320
331
  @key_set = true
321
332
  starts_with('key', prefix)
322
333
  end
@@ -399,21 +410,21 @@ module Aws
399
410
  # @param [Time] time
400
411
  # @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
401
412
  # @return [self]
402
- def expires(time)
413
+ define_field(:expires) do |time|
403
414
  with('Expires', time.httpdate)
404
415
  end
405
416
 
406
417
  # @param [String] prefix
407
418
  # @see #expires
408
419
  # @return [self]
409
- def expires_starts_with(prefix)
420
+ define_field(:expires_starts_with) do |prefix|
410
421
  starts_with('Expires', prefix)
411
422
  end
412
423
 
413
424
  # The minimum and maximum allowable size for the uploaded content.
414
425
  # @param [Range<Integer>] byte_range
415
426
  # @return [self]
416
- def content_length_range(byte_range)
427
+ define_field(:content_length_range) do |byte_range|
417
428
  min = byte_range.begin
418
429
  max = byte_range.end
419
430
  max -= 1 if byte_range.exclude_end?
@@ -492,7 +503,7 @@ module Aws
492
503
  # prefixed with "x-amz-meta-".
493
504
  # @param [Hash<String,String>] hash
494
505
  # @return [self]
495
- def metadata(hash)
506
+ define_field(:metadata) do |hash|
496
507
  hash.each do |key, value|
497
508
  with("x-amz-meta-#{key}", value)
498
509
  end
@@ -503,7 +514,7 @@ module Aws
503
514
  # @param [Hash<String,String>] hash
504
515
  # @see #metadata
505
516
  # @return [self]
506
- def metadata_starts_with(hash)
517
+ define_field(:metadata_starts_with) do |hash|
507
518
  hash.each do |key, value|
508
519
  starts_with("x-amz-meta-#{key}", value)
509
520
  end
@@ -561,7 +572,7 @@ module Aws
561
572
  # @param [String] value
562
573
  # @see #server_side_encryption_customer_algorithm
563
574
  # @return [self]
564
- def server_side_encryption_customer_key(value)
575
+ define_field(:server_side_encryption_customer_key) do |value|
565
576
  field_name = 'x-amz-server-side-encryption-customer-key'
566
577
  with(field_name, base64(value))
567
578
  with(field_name + '-MD5', base64(OpenSSL::Digest::MD5.digest(value)))
@@ -570,7 +581,7 @@ module Aws
570
581
  # @param [String] prefix
571
582
  # @see #server_side_encryption_customer_key
572
583
  # @return [self]
573
- def server_side_encryption_customer_key_starts_with(prefix)
584
+ define_field(:server_side_encryption_customer_key_starts_with) do |prefix|
574
585
  field_name = 'x-amz-server-side-encryption-customer-key'
575
586
  starts_with(field_name, prefix)
576
587
  end
@@ -6607,18 +6607,8 @@ module Aws::S3
6607
6607
  # @return [String]
6608
6608
  #
6609
6609
  # @!attribute [rw] range
6610
- # Downloads the specified range bytes of an object. For more
6611
- # information about the HTTP Range header, see
6612
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
6613
- #
6614
- # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
6615
- # `GET` request.
6616
- #
6617
- # </note>
6618
- #
6619
- #
6620
- #
6621
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
6610
+ # Because `HeadObject` returns only the metadata for an object, this
6611
+ # parameter has no effect.
6622
6612
  # @return [String]
6623
6613
  #
6624
6614
  # @!attribute [rw] version_id
@@ -14375,9 +14365,13 @@ module Aws::S3
14375
14365
 
14376
14366
  # Describes the default server-side encryption to apply to new objects
14377
14367
  # in the bucket. If a PUT Object request doesn't specify any
14378
- # server-side encryption, this default encryption will be applied. For
14379
- # more information, see [PUT Bucket encryption][1] in the *Amazon S3 API
14380
- # Reference*.
14368
+ # server-side encryption, this default encryption will be applied. If
14369
+ # you don't specify a customer managed key at configuration, Amazon S3
14370
+ # automatically creates an Amazon Web Services KMS key in your Amazon
14371
+ # Web Services account the first time that you add an object encrypted
14372
+ # with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for
14373
+ # SSE-KMS. For more information, see [PUT Bucket encryption][1] in the
14374
+ # *Amazon S3 API Reference*.
14381
14375
  #
14382
14376
  #
14383
14377
  #
@@ -14402,9 +14396,10 @@ module Aws::S3
14402
14396
  # `aws:kms`.
14403
14397
  #
14404
14398
  # You can specify the key ID or the Amazon Resource Name (ARN) of the
14405
- # KMS key. However, if you are using encryption with cross-account
14406
- # operations, you must use a fully qualified KMS key ARN. For more
14407
- # information, see [Using encryption for cross-account operations][1].
14399
+ # KMS key. However, if you are using encryption with cross-account or
14400
+ # Amazon Web Services service operations you must use a fully
14401
+ # qualified KMS key ARN. For more information, see [Using encryption
14402
+ # for cross-account operations][1].
14408
14403
  #
14409
14404
  # **For example:**
14410
14405
  #
data/lib/aws-sdk-s3.rb CHANGED
@@ -69,6 +69,6 @@ require_relative 'aws-sdk-s3/event_streams'
69
69
  # @!group service
70
70
  module Aws::S3
71
71
 
72
- GEM_VERSION = '1.109.0'
72
+ GEM_VERSION = '1.111.2'
73
73
 
74
74
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.109.0
4
+ version: 1.111.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-30 00:00:00.000000000 Z
11
+ date: 2022-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: '3'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 3.122.0
50
+ version: 3.125.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: '3'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 3.122.0
60
+ version: 3.125.0
61
61
  description: Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3).
62
62
  This gem is part of the AWS SDK for Ruby.
63
63
  email: