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 +4 -4
- data/CHANGELOG.md +20 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/client.rb +171 -170
- data/lib/aws-sdk-s3/file_downloader.rb +1 -1
- data/lib/aws-sdk-s3/file_uploader.rb +5 -0
- data/lib/aws-sdk-s3/object.rb +2 -12
- data/lib/aws-sdk-s3/object_version.rb +2 -12
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -0
- data/lib/aws-sdk-s3/presigned_post.rb +28 -17
- data/lib/aws-sdk-s3/types.rb +13 -18
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4b9969b0cc2ef0c3aa57e20cb70ca2980642eb62f03dafbb5d8938a58e0a78c
|
4
|
+
data.tar.gz: f2906d9902a3c605cd88f1c8a30d40d0da8873ef112543081d92de2e17e3e252
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
1
|
+
1.111.2
|
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -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 [
|
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
|
1373
|
-
#
|
1374
|
-
#
|
1375
|
-
#
|
1376
|
-
#
|
1377
|
-
#
|
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: "
|
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:
|
5550
|
-
#
|
5551
|
-
#
|
5552
|
-
#
|
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
|
5570
|
+
# @example Example: To retrieve an object
|
5560
5571
|
#
|
5561
|
-
# # The following example retrieves an object for an S3 bucket.
|
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: "
|
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:
|
5574
|
-
#
|
5575
|
-
#
|
5576
|
-
#
|
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
|
6145
|
+
# @example Example: To retrieve tag set of an object
|
6137
6146
|
#
|
6138
|
-
# # The following example retrieves tag set of an object.
|
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: "
|
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: "
|
6151
|
-
# value: "
|
6158
|
+
# key: "Key4",
|
6159
|
+
# value: "Value4",
|
6160
|
+
# },
|
6161
|
+
# {
|
6162
|
+
# key: "Key3",
|
6163
|
+
# value: "Value3",
|
6152
6164
|
# },
|
6153
6165
|
# ],
|
6154
|
-
# version_id: "
|
6166
|
+
# version_id: "null",
|
6155
6167
|
# }
|
6156
6168
|
#
|
6157
|
-
# @example Example: To retrieve tag set of
|
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: "
|
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: "
|
6171
|
-
# value: "
|
6172
|
-
# },
|
6173
|
-
# {
|
6174
|
-
# key: "Key3",
|
6175
|
-
# value: "Value3",
|
6183
|
+
# key: "Key1",
|
6184
|
+
# value: "Value1",
|
6176
6185
|
# },
|
6177
6186
|
# ],
|
6178
|
-
# version_id: "
|
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
|
-
#
|
6600
|
-
#
|
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:
|
7361
|
+
# @example Example: List next set of multipart uploads when previous result is truncated
|
7363
7362
|
#
|
7364
|
-
# # The following example
|
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: "
|
7382
|
-
# id: "
|
7391
|
+
# display_name: "mohanataws",
|
7392
|
+
# id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
|
7383
7393
|
# },
|
7384
7394
|
# storage_class: "STANDARD",
|
7385
|
-
# upload_id: "
|
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: "
|
7409
|
+
# upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
|
7400
7410
|
# },
|
7401
7411
|
# ],
|
7402
7412
|
# }
|
7403
7413
|
#
|
7404
|
-
# @example Example:
|
7414
|
+
# @example Example: To list in-progress multipart uploads on a bucket
|
7405
7415
|
#
|
7406
|
-
# # The following example
|
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: "
|
7428
|
+
# display_name: "display-name",
|
7430
7429
|
# id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
|
7431
7430
|
# },
|
7432
7431
|
# key: "JavaFile",
|
7433
7432
|
# owner: {
|
7434
|
-
# display_name: "
|
7435
|
-
# id: "
|
7433
|
+
# display_name: "display-name",
|
7434
|
+
# id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
|
7436
7435
|
# },
|
7437
7436
|
# storage_class: "STANDARD",
|
7438
|
-
# upload_id: "
|
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: "
|
7442
|
+
# display_name: "display-name",
|
7444
7443
|
# id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
|
7445
7444
|
# },
|
7446
7445
|
# key: "JavaFile",
|
7447
7446
|
# owner: {
|
7448
|
-
# display_name: "
|
7447
|
+
# display_name: "display-name",
|
7449
7448
|
# id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
|
7450
7449
|
# },
|
7451
7450
|
# storage_class: "STANDARD",
|
7452
|
-
# upload_id: "
|
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
|
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
|
11363
|
-
# #
|
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
|
-
#
|
11375
|
+
# server_side_encryption: "AES256",
|
11376
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
11376
11377
|
# }
|
11377
11378
|
#
|
11378
|
-
# @example Example: To
|
11379
|
+
# @example Example: To create an object.
|
11379
11380
|
#
|
11380
|
-
# # The following example
|
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: "
|
11384
|
+
# body: "filetoupload",
|
11385
11385
|
# bucket: "examplebucket",
|
11386
|
-
# key: "
|
11386
|
+
# key: "objectkey",
|
11387
11387
|
# })
|
11388
11388
|
#
|
11389
11389
|
# resp.to_h outputs the following:
|
11390
11390
|
# {
|
11391
11391
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
11392
|
-
# version_id: "
|
11392
|
+
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
11393
11393
|
# }
|
11394
11394
|
#
|
11395
|
-
# @example Example: To upload
|
11395
|
+
# @example Example: To upload object and specify user-defined metadata
|
11396
11396
|
#
|
11397
|
-
# # The following example
|
11398
|
-
# # S3 returns version ID
|
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: "
|
11401
|
+
# body: "filetoupload",
|
11402
11402
|
# bucket: "examplebucket",
|
11403
|
-
# key: "
|
11404
|
-
#
|
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: "
|
11413
|
+
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
11411
11414
|
# }
|
11412
11415
|
#
|
11413
|
-
# @example Example: To upload object and specify
|
11416
|
+
# @example Example: To upload an object and specify canned ACL.
|
11414
11417
|
#
|
11415
|
-
# # The following example
|
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: "
|
11431
|
+
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
11432
11432
|
# }
|
11433
11433
|
#
|
11434
|
-
# @example Example: To upload an object
|
11434
|
+
# @example Example: To upload an object
|
11435
11435
|
#
|
11436
|
-
# # The following example uploads
|
11437
|
-
# #
|
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: "
|
11440
|
+
# body: "HappyFace.jpg",
|
11441
11441
|
# bucket: "examplebucket",
|
11442
|
-
# key: "
|
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
|
-
#
|
11451
|
-
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
11448
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
11452
11449
|
# }
|
11453
11450
|
#
|
11454
|
-
# @example Example: To
|
11451
|
+
# @example Example: To upload an object and specify optional tags
|
11455
11452
|
#
|
11456
|
-
# # The following example
|
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: "
|
11457
|
+
# body: "c:\\HappyFace.jpg",
|
11460
11458
|
# bucket: "examplebucket",
|
11461
|
-
# key: "
|
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: "
|
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
|
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][
|
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][
|
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][
|
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)][
|
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][
|
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][
|
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][
|
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][
|
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][
|
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][
|
12944
|
+
# Object Content Error Codes][11]
|
12945
12945
|
#
|
12946
12946
|
# **Related Resources**
|
12947
12947
|
#
|
12948
|
-
# * [GetObject][
|
12948
|
+
# * [GetObject][5]
|
12949
12949
|
#
|
12950
|
-
# * [GetBucketLifecycleConfiguration][
|
12950
|
+
# * [GetBucketLifecycleConfiguration][12]
|
12951
12951
|
#
|
12952
|
-
# * [PutBucketLifecycleConfiguration][
|
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/
|
12958
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
12959
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12960
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12961
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
12962
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12963
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
12964
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12965
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12966
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
12967
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
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
|
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
|
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:
|
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: "\"
|
13836
|
-
# last_modified: Time.parse("2016-12-29T21:
|
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
|
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
|
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:
|
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: "\"
|
13858
|
-
# last_modified: Time.parse("2016-12-29T21:
|
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.
|
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
|
-
|
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
|
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -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
|
-
#
|
1485
|
-
#
|
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
|
-
#
|
406
|
-
#
|
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
|
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
|
-
|
287
|
-
|
288
|
-
|
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
|
-
|
291
|
-
|
292
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
data/lib/aws-sdk-s3/types.rb
CHANGED
@@ -6607,18 +6607,8 @@ module Aws::S3
|
|
6607
6607
|
# @return [String]
|
6608
6608
|
#
|
6609
6609
|
# @!attribute [rw] range
|
6610
|
-
#
|
6611
|
-
#
|
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.
|
14379
|
-
#
|
14380
|
-
#
|
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
|
14407
|
-
# information, see [Using encryption
|
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
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.
|
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:
|
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.
|
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.
|
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:
|