aws-sdk-s3 1.109.0 → 1.111.2

Sign up to get free protection for your applications and to get access to all the features.
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: