aws-sdk-s3 1.155.0 → 1.157.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +2 -2
- data/lib/aws-sdk-s3/client.rb +136 -104
- data/lib/aws-sdk-s3/client_api.rb +7 -0
- data/lib/aws-sdk-s3/object.rb +18 -0
- data/lib/aws-sdk-s3/object_version.rb +18 -0
- data/lib/aws-sdk-s3/plugins/access_grants.rb +68 -4
- data/lib/aws-sdk-s3/types.rb +48 -17
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/client.rbs +19 -0
- data/sig/object.rbs +6 -0
- data/sig/object_version.rbs +6 -0
- data/sig/resource.rbs +1 -0
- data/sig/types.rbs +6 -0
- data/sig/waiters.rbs +12 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39a77f1b089e257fe94bc26a0ca7309479a61cff7f46326243f2d1b002ce2bac
|
4
|
+
data.tar.gz: e2dbcc9f6ea92e1097d84130a2cd1c3e1caae305bdeb8b450056872edd2b4f74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e34240198a44e4e678e0be7ef836318ff899ec61edc29bc2866d432eb6af834a7f81b801ea85ec35e26deec1e59705c1829b22e66093e6591d84dbc966f76e0e
|
7
|
+
data.tar.gz: 362065ca01c2d4a9e33cc9beb43afce43fbcb8c593db5785a32c623bbc99fe63471a41d767a1ae91343b94aba7df0e80360c0310c1f07aa052c76d63d07fda09
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.157.0 (2024-08-01)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Support `head_bucket`, `get_object_attributes`, `delete_objects`, and `copy_object` for Access Grants.
|
8
|
+
|
9
|
+
1.156.0 (2024-07-02)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Added response overrides to Head Object requests.
|
13
|
+
|
4
14
|
1.155.0 (2024-06-28)
|
5
15
|
------------------
|
6
16
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.157.0
|
@@ -47,6 +47,8 @@ module Aws
|
|
47
47
|
@caching = options.delete(:caching) != false
|
48
48
|
@s3_control_clients = {}
|
49
49
|
@bucket_region_cache = Aws::S3.bucket_region_cache
|
50
|
+
@head_bucket_mutex = Mutex.new
|
51
|
+
@head_bucket_call = false
|
50
52
|
return unless @caching
|
51
53
|
|
52
54
|
@credentials_cache = Aws::S3.access_grants_credentials_cache
|
@@ -195,9 +197,16 @@ module Aws
|
|
195
197
|
end
|
196
198
|
|
197
199
|
def new_bucket_region_for(bucket)
|
198
|
-
@
|
199
|
-
|
200
|
-
|
200
|
+
@head_bucket_mutex.synchronize do
|
201
|
+
begin
|
202
|
+
@head_bucket_call = true
|
203
|
+
@s3_client.head_bucket(bucket: bucket).bucket_region
|
204
|
+
rescue Aws::S3::Errors::Http301Error => e
|
205
|
+
e.data.region
|
206
|
+
ensure
|
207
|
+
@head_bucket_call = false
|
208
|
+
end
|
209
|
+
end
|
201
210
|
end
|
202
211
|
|
203
212
|
# returns the account id for the configured credentials
|
data/lib/aws-sdk-s3/bucket.rb
CHANGED
@@ -1254,8 +1254,8 @@ module Aws::S3
|
|
1254
1254
|
# @option options [String] :encoding_type
|
1255
1255
|
# Encoding type used by Amazon S3 to encode object keys in the response.
|
1256
1256
|
# If using `url`, non-ASCII characters used in an object's key name
|
1257
|
-
# will be URL encoded. For example, the object
|
1258
|
-
# appear as
|
1257
|
+
# will be URL encoded. For example, the object `test_file(3).png` will
|
1258
|
+
# appear as `test_file%283%29.png`.
|
1259
1259
|
# @option options [String] :prefix
|
1260
1260
|
# Limits the response to keys that begin with the specified prefix.
|
1261
1261
|
#
|
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -414,6 +414,15 @@ module Aws::S3
|
|
414
414
|
#
|
415
415
|
# @option options [String] :session_token
|
416
416
|
#
|
417
|
+
# @option options [Array] :sigv4a_signing_region_set
|
418
|
+
# A list of regions that should be signed with SigV4a signing. When
|
419
|
+
# not passed, a default `:sigv4a_signing_region_set` is searched for
|
420
|
+
# in the following locations:
|
421
|
+
#
|
422
|
+
# * `Aws.config[:sigv4a_signing_region_set]`
|
423
|
+
# * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
|
424
|
+
# * `~/.aws/config`
|
425
|
+
#
|
417
426
|
# @option options [Boolean] :stub_responses (false)
|
418
427
|
# Causes the client to return stubbed responses. By default
|
419
428
|
# fake responses are generated and returned. You can specify
|
@@ -1204,8 +1213,7 @@ module Aws::S3
|
|
1204
1213
|
# : When the request is an HTTP 1.1 request, the response is chunk
|
1205
1214
|
# encoded. When the request is not an HTTP 1.1 request, the response
|
1206
1215
|
# would not contain the `Content-Length`. You always need to read the
|
1207
|
-
# entire response body to check if the copy succeeds.
|
1208
|
-
# connection alive while we copy the data.
|
1216
|
+
# entire response body to check if the copy succeeds.
|
1209
1217
|
#
|
1210
1218
|
# * If the copy is successful, you receive a response with information
|
1211
1219
|
# about the copied object.
|
@@ -2331,33 +2339,33 @@ module Aws::S3
|
|
2331
2339
|
# * {Types::CreateBucketOutput#location #location} => String
|
2332
2340
|
#
|
2333
2341
|
#
|
2334
|
-
# @example Example: To create a bucket
|
2342
|
+
# @example Example: To create a bucket in a specific region
|
2335
2343
|
#
|
2336
|
-
# # The following example creates a bucket.
|
2344
|
+
# # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
|
2337
2345
|
#
|
2338
2346
|
# resp = client.create_bucket({
|
2339
2347
|
# bucket: "examplebucket",
|
2348
|
+
# create_bucket_configuration: {
|
2349
|
+
# location_constraint: "eu-west-1",
|
2350
|
+
# },
|
2340
2351
|
# })
|
2341
2352
|
#
|
2342
2353
|
# resp.to_h outputs the following:
|
2343
2354
|
# {
|
2344
|
-
# location: "/
|
2355
|
+
# location: "http://examplebucket.<Region>.s3.amazonaws.com/",
|
2345
2356
|
# }
|
2346
2357
|
#
|
2347
|
-
# @example Example: To create a bucket
|
2358
|
+
# @example Example: To create a bucket
|
2348
2359
|
#
|
2349
|
-
# # The following example creates a bucket.
|
2360
|
+
# # The following example creates a bucket.
|
2350
2361
|
#
|
2351
2362
|
# resp = client.create_bucket({
|
2352
2363
|
# bucket: "examplebucket",
|
2353
|
-
# create_bucket_configuration: {
|
2354
|
-
# location_constraint: "eu-west-1",
|
2355
|
-
# },
|
2356
2364
|
# })
|
2357
2365
|
#
|
2358
2366
|
# resp.to_h outputs the following:
|
2359
2367
|
# {
|
2360
|
-
# location: "
|
2368
|
+
# location: "/examplebucket",
|
2361
2369
|
# }
|
2362
2370
|
#
|
2363
2371
|
# @example Request syntax with placeholder values
|
@@ -4490,15 +4498,6 @@ module Aws::S3
|
|
4490
4498
|
# * {Types::DeleteObjectOutput#request_charged #request_charged} => String
|
4491
4499
|
#
|
4492
4500
|
#
|
4493
|
-
# @example Example: To delete an object (from a non-versioned bucket)
|
4494
|
-
#
|
4495
|
-
# # The following example deletes an object from a non-versioned bucket.
|
4496
|
-
#
|
4497
|
-
# resp = client.delete_object({
|
4498
|
-
# bucket: "ExampleBucket",
|
4499
|
-
# key: "HappyFace.jpg",
|
4500
|
-
# })
|
4501
|
-
#
|
4502
4501
|
# @example Example: To delete an object
|
4503
4502
|
#
|
4504
4503
|
# # The following example deletes an object from an S3 bucket.
|
@@ -4512,6 +4511,15 @@ module Aws::S3
|
|
4512
4511
|
# {
|
4513
4512
|
# }
|
4514
4513
|
#
|
4514
|
+
# @example Example: To delete an object (from a non-versioned bucket)
|
4515
|
+
#
|
4516
|
+
# # The following example deletes an object from a non-versioned bucket.
|
4517
|
+
#
|
4518
|
+
# resp = client.delete_object({
|
4519
|
+
# bucket: "ExampleBucket",
|
4520
|
+
# key: "HappyFace.jpg",
|
4521
|
+
# })
|
4522
|
+
#
|
4515
4523
|
# @example Request syntax with placeholder values
|
4516
4524
|
#
|
4517
4525
|
# resp = client.delete_object({
|
@@ -4720,7 +4728,7 @@ module Aws::S3
|
|
4720
4728
|
# permission.
|
4721
4729
|
#
|
4722
4730
|
# * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
|
4723
|
-
# specific version of an object from a
|
4731
|
+
# specific version of an object from a versioning-enabled bucket,
|
4724
4732
|
# you must specify the `s3:DeleteObjectVersion` permission.
|
4725
4733
|
#
|
4726
4734
|
# * **Directory bucket permissions** - To grant access to this API
|
@@ -4921,22 +4929,20 @@ module Aws::S3
|
|
4921
4929
|
# * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
|
4922
4930
|
#
|
4923
4931
|
#
|
4924
|
-
# @example Example: To delete multiple
|
4932
|
+
# @example Example: To delete multiple objects from a versioned bucket
|
4925
4933
|
#
|
4926
|
-
# # The following example deletes objects from a bucket. The
|
4927
|
-
# #
|
4934
|
+
# # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
|
4935
|
+
# # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
|
4928
4936
|
#
|
4929
4937
|
# resp = client.delete_objects({
|
4930
4938
|
# bucket: "examplebucket",
|
4931
4939
|
# delete: {
|
4932
4940
|
# objects: [
|
4933
4941
|
# {
|
4934
|
-
# key: "
|
4935
|
-
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4942
|
+
# key: "objectkey1",
|
4936
4943
|
# },
|
4937
4944
|
# {
|
4938
|
-
# key: "
|
4939
|
-
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4945
|
+
# key: "objectkey2",
|
4940
4946
|
# },
|
4941
4947
|
# ],
|
4942
4948
|
# quiet: false,
|
@@ -4947,30 +4953,34 @@ module Aws::S3
|
|
4947
4953
|
# {
|
4948
4954
|
# deleted: [
|
4949
4955
|
# {
|
4950
|
-
#
|
4951
|
-
#
|
4956
|
+
# delete_marker: true,
|
4957
|
+
# delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
|
4958
|
+
# key: "objectkey1",
|
4952
4959
|
# },
|
4953
4960
|
# {
|
4954
|
-
#
|
4955
|
-
#
|
4961
|
+
# delete_marker: true,
|
4962
|
+
# delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
|
4963
|
+
# key: "objectkey2",
|
4956
4964
|
# },
|
4957
4965
|
# ],
|
4958
4966
|
# }
|
4959
4967
|
#
|
4960
|
-
# @example Example: To delete multiple
|
4968
|
+
# @example Example: To delete multiple object versions from a versioned bucket
|
4961
4969
|
#
|
4962
|
-
# # The following example deletes objects from a bucket. The
|
4963
|
-
# #
|
4970
|
+
# # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
|
4971
|
+
# # versions and returns the key and versions of deleted objects in the response.
|
4964
4972
|
#
|
4965
4973
|
# resp = client.delete_objects({
|
4966
4974
|
# bucket: "examplebucket",
|
4967
4975
|
# delete: {
|
4968
4976
|
# objects: [
|
4969
4977
|
# {
|
4970
|
-
# key: "
|
4978
|
+
# key: "HappyFace.jpg",
|
4979
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4971
4980
|
# },
|
4972
4981
|
# {
|
4973
|
-
# key: "
|
4982
|
+
# key: "HappyFace.jpg",
|
4983
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4974
4984
|
# },
|
4975
4985
|
# ],
|
4976
4986
|
# quiet: false,
|
@@ -4981,14 +4991,12 @@ module Aws::S3
|
|
4981
4991
|
# {
|
4982
4992
|
# deleted: [
|
4983
4993
|
# {
|
4984
|
-
#
|
4985
|
-
#
|
4986
|
-
# key: "objectkey1",
|
4994
|
+
# key: "HappyFace.jpg",
|
4995
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4987
4996
|
# },
|
4988
4997
|
# {
|
4989
|
-
#
|
4990
|
-
#
|
4991
|
-
# key: "objectkey2",
|
4998
|
+
# key: "HappyFace.jpg",
|
4999
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4992
5000
|
# },
|
4993
5001
|
# ],
|
4994
5002
|
# }
|
@@ -8738,49 +8746,49 @@ module Aws::S3
|
|
8738
8746
|
# * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
|
8739
8747
|
#
|
8740
8748
|
#
|
8741
|
-
# @example Example: To retrieve tag set of
|
8749
|
+
# @example Example: To retrieve tag set of a specific object version
|
8742
8750
|
#
|
8743
|
-
# # The following example retrieves tag set of an object.
|
8751
|
+
# # The following example retrieves tag set of an object. The request specifies object version.
|
8744
8752
|
#
|
8745
8753
|
# resp = client.get_object_tagging({
|
8746
8754
|
# bucket: "examplebucket",
|
8747
|
-
# key: "
|
8755
|
+
# key: "exampleobject",
|
8756
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8748
8757
|
# })
|
8749
8758
|
#
|
8750
8759
|
# resp.to_h outputs the following:
|
8751
8760
|
# {
|
8752
8761
|
# tag_set: [
|
8753
8762
|
# {
|
8754
|
-
# key: "
|
8755
|
-
# value: "
|
8756
|
-
# },
|
8757
|
-
# {
|
8758
|
-
# key: "Key3",
|
8759
|
-
# value: "Value3",
|
8763
|
+
# key: "Key1",
|
8764
|
+
# value: "Value1",
|
8760
8765
|
# },
|
8761
8766
|
# ],
|
8762
|
-
# version_id: "
|
8767
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8763
8768
|
# }
|
8764
8769
|
#
|
8765
|
-
# @example Example: To retrieve tag set of
|
8770
|
+
# @example Example: To retrieve tag set of an object
|
8766
8771
|
#
|
8767
|
-
# # The following example retrieves tag set of an object.
|
8772
|
+
# # The following example retrieves tag set of an object.
|
8768
8773
|
#
|
8769
8774
|
# resp = client.get_object_tagging({
|
8770
8775
|
# bucket: "examplebucket",
|
8771
|
-
# key: "
|
8772
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8776
|
+
# key: "HappyFace.jpg",
|
8773
8777
|
# })
|
8774
8778
|
#
|
8775
8779
|
# resp.to_h outputs the following:
|
8776
8780
|
# {
|
8777
8781
|
# tag_set: [
|
8778
8782
|
# {
|
8779
|
-
# key: "
|
8780
|
-
# value: "
|
8783
|
+
# key: "Key4",
|
8784
|
+
# value: "Value4",
|
8785
|
+
# },
|
8786
|
+
# {
|
8787
|
+
# key: "Key3",
|
8788
|
+
# value: "Value3",
|
8781
8789
|
# },
|
8782
8790
|
# ],
|
8783
|
-
# version_id: "
|
8791
|
+
# version_id: "null",
|
8784
8792
|
# }
|
8785
8793
|
#
|
8786
8794
|
# @example Request syntax with placeholder values
|
@@ -9426,6 +9434,24 @@ module Aws::S3
|
|
9426
9434
|
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
9427
9435
|
# Satisfiable` error.
|
9428
9436
|
#
|
9437
|
+
# @option params [String] :response_cache_control
|
9438
|
+
# Sets the `Cache-Control` header of the response.
|
9439
|
+
#
|
9440
|
+
# @option params [String] :response_content_disposition
|
9441
|
+
# Sets the `Content-Disposition` header of the response.
|
9442
|
+
#
|
9443
|
+
# @option params [String] :response_content_encoding
|
9444
|
+
# Sets the `Content-Encoding` header of the response.
|
9445
|
+
#
|
9446
|
+
# @option params [String] :response_content_language
|
9447
|
+
# Sets the `Content-Language` header of the response.
|
9448
|
+
#
|
9449
|
+
# @option params [String] :response_content_type
|
9450
|
+
# Sets the `Content-Type` header of the response.
|
9451
|
+
#
|
9452
|
+
# @option params [Time,DateTime,Date,Integer,String] :response_expires
|
9453
|
+
# Sets the `Expires` header of the response.
|
9454
|
+
#
|
9429
9455
|
# @option params [String] :version_id
|
9430
9456
|
# Version ID used to reference a specific version of the object.
|
9431
9457
|
#
|
@@ -9568,6 +9594,12 @@ module Aws::S3
|
|
9568
9594
|
# if_unmodified_since: Time.now,
|
9569
9595
|
# key: "ObjectKey", # required
|
9570
9596
|
# range: "Range",
|
9597
|
+
# response_cache_control: "ResponseCacheControl",
|
9598
|
+
# response_content_disposition: "ResponseContentDisposition",
|
9599
|
+
# response_content_encoding: "ResponseContentEncoding",
|
9600
|
+
# response_content_language: "ResponseContentLanguage",
|
9601
|
+
# response_content_type: "ResponseContentType",
|
9602
|
+
# response_expires: Time.now,
|
9571
9603
|
# version_id: "ObjectVersionId",
|
9572
9604
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
9573
9605
|
# sse_customer_key: "SSECustomerKey",
|
@@ -11185,8 +11217,8 @@ module Aws::S3
|
|
11185
11217
|
# @option params [String] :encoding_type
|
11186
11218
|
# Encoding type used by Amazon S3 to encode object keys in the response.
|
11187
11219
|
# If using `url`, non-ASCII characters used in an object's key name
|
11188
|
-
# will be URL encoded. For example, the object
|
11189
|
-
# appear as
|
11220
|
+
# will be URL encoded. For example, the object `test_file(3).png` will
|
11221
|
+
# appear as `test_file%283%29.png`.
|
11190
11222
|
#
|
11191
11223
|
# @option params [Integer] :max_keys
|
11192
11224
|
# Sets the maximum number of keys returned in the response. By default,
|
@@ -15413,40 +15445,41 @@ module Aws::S3
|
|
15413
15445
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15414
15446
|
#
|
15415
15447
|
#
|
15416
|
-
# @example Example: To upload an object
|
15448
|
+
# @example Example: To upload an object
|
15417
15449
|
#
|
15418
|
-
# # The following example uploads an object. The
|
15419
|
-
# #
|
15450
|
+
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
15451
|
+
# # syntax. S3 returns VersionId of the newly created object.
|
15420
15452
|
#
|
15421
15453
|
# resp = client.put_object({
|
15422
|
-
# body: "
|
15454
|
+
# body: "HappyFace.jpg",
|
15423
15455
|
# bucket: "examplebucket",
|
15424
|
-
# key: "
|
15425
|
-
# server_side_encryption: "AES256",
|
15426
|
-
# tagging: "key1=value1&key2=value2",
|
15456
|
+
# key: "HappyFace.jpg",
|
15427
15457
|
# })
|
15428
15458
|
#
|
15429
15459
|
# resp.to_h outputs the following:
|
15430
15460
|
# {
|
15431
15461
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15432
|
-
#
|
15433
|
-
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15462
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15434
15463
|
# }
|
15435
15464
|
#
|
15436
|
-
# @example Example: To
|
15465
|
+
# @example Example: To upload an object and specify server-side encryption and object tags
|
15437
15466
|
#
|
15438
|
-
# # The following example
|
15467
|
+
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
15468
|
+
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
15439
15469
|
#
|
15440
15470
|
# resp = client.put_object({
|
15441
15471
|
# body: "filetoupload",
|
15442
15472
|
# bucket: "examplebucket",
|
15443
|
-
# key: "
|
15473
|
+
# key: "exampleobject",
|
15474
|
+
# server_side_encryption: "AES256",
|
15475
|
+
# tagging: "key1=value1&key2=value2",
|
15444
15476
|
# })
|
15445
15477
|
#
|
15446
15478
|
# resp.to_h outputs the following:
|
15447
15479
|
# {
|
15448
15480
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15449
|
-
#
|
15481
|
+
# server_side_encryption: "AES256",
|
15482
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15450
15483
|
# }
|
15451
15484
|
#
|
15452
15485
|
# @example Example: To upload an object (specify optional headers)
|
@@ -15469,43 +15502,43 @@ module Aws::S3
|
|
15469
15502
|
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15470
15503
|
# }
|
15471
15504
|
#
|
15472
|
-
# @example Example: To upload
|
15505
|
+
# @example Example: To upload object and specify user-defined metadata
|
15473
15506
|
#
|
15474
|
-
# # The following example
|
15475
|
-
# # S3 returns version ID
|
15507
|
+
# # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
|
15508
|
+
# # enabled, S3 returns version ID in response.
|
15476
15509
|
#
|
15477
15510
|
# resp = client.put_object({
|
15478
|
-
# body: "
|
15511
|
+
# body: "filetoupload",
|
15479
15512
|
# bucket: "examplebucket",
|
15480
|
-
# key: "
|
15481
|
-
#
|
15513
|
+
# key: "exampleobject",
|
15514
|
+
# metadata: {
|
15515
|
+
# "metadata1" => "value1",
|
15516
|
+
# "metadata2" => "value2",
|
15517
|
+
# },
|
15482
15518
|
# })
|
15483
15519
|
#
|
15484
15520
|
# resp.to_h outputs the following:
|
15485
15521
|
# {
|
15486
15522
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15487
|
-
# version_id: "
|
15523
|
+
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15488
15524
|
# }
|
15489
15525
|
#
|
15490
|
-
# @example Example: To upload object and specify
|
15526
|
+
# @example Example: To upload an object and specify optional tags
|
15491
15527
|
#
|
15492
|
-
# # The following example
|
15493
|
-
# #
|
15528
|
+
# # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
|
15529
|
+
# # S3 returns version ID of the newly created object.
|
15494
15530
|
#
|
15495
15531
|
# resp = client.put_object({
|
15496
|
-
# body: "
|
15532
|
+
# body: "c:\\HappyFace.jpg",
|
15497
15533
|
# bucket: "examplebucket",
|
15498
|
-
# key: "
|
15499
|
-
#
|
15500
|
-
# "metadata1" => "value1",
|
15501
|
-
# "metadata2" => "value2",
|
15502
|
-
# },
|
15534
|
+
# key: "HappyFace.jpg",
|
15535
|
+
# tagging: "key1=value1&key2=value2",
|
15503
15536
|
# })
|
15504
15537
|
#
|
15505
15538
|
# resp.to_h outputs the following:
|
15506
15539
|
# {
|
15507
15540
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15508
|
-
# version_id: "
|
15541
|
+
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15509
15542
|
# }
|
15510
15543
|
#
|
15511
15544
|
# @example Example: To upload an object and specify canned ACL.
|
@@ -15526,21 +15559,20 @@ module Aws::S3
|
|
15526
15559
|
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15527
15560
|
# }
|
15528
15561
|
#
|
15529
|
-
# @example Example: To
|
15562
|
+
# @example Example: To create an object.
|
15530
15563
|
#
|
15531
|
-
# # The following example
|
15532
|
-
# # syntax. S3 returns VersionId of the newly created object.
|
15564
|
+
# # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
|
15533
15565
|
#
|
15534
15566
|
# resp = client.put_object({
|
15535
|
-
# body: "
|
15567
|
+
# body: "filetoupload",
|
15536
15568
|
# bucket: "examplebucket",
|
15537
|
-
# key: "
|
15569
|
+
# key: "objectkey",
|
15538
15570
|
# })
|
15539
15571
|
#
|
15540
15572
|
# resp.to_h outputs the following:
|
15541
15573
|
# {
|
15542
15574
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15543
|
-
# version_id: "
|
15575
|
+
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
15544
15576
|
# }
|
15545
15577
|
#
|
15546
15578
|
# @example Streaming a file from disk
|
@@ -17963,7 +17995,7 @@ module Aws::S3
|
|
17963
17995
|
# the object copy to the destination bucket.
|
17964
17996
|
#
|
17965
17997
|
# For information about permissions required to use the multipart
|
17966
|
-
# upload API, see [Multipart
|
17998
|
+
# upload API, see [Multipart upload API and permissions][7] in the
|
17967
17999
|
# *Amazon S3 User Guide*.
|
17968
18000
|
#
|
17969
18001
|
# * **Directory bucket permissions** - You must have permissions in a
|
@@ -17973,9 +18005,9 @@ module Aws::S3
|
|
17973
18005
|
# * If the source object that you want to copy is in a directory
|
17974
18006
|
# bucket, you must have the <b>
|
17975
18007
|
# <code>s3express:CreateSession</code> </b> permission in the
|
17976
|
-
# `Action` element of a policy to read the object
|
17977
|
-
#
|
17978
|
-
#
|
18008
|
+
# `Action` element of a policy to read the object. By default, the
|
18009
|
+
# session is in the `ReadWrite` mode. If you want to restrict the
|
18010
|
+
# access, you can explicitly set the `s3express:SessionMode`
|
17979
18011
|
# condition key to `ReadOnly` on the copy source bucket.
|
17980
18012
|
#
|
17981
18013
|
# * If the copy destination is a directory bucket, you must have the
|
@@ -18042,7 +18074,7 @@ module Aws::S3
|
|
18042
18074
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
|
18043
18075
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
18044
18076
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
18045
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18077
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
18046
18078
|
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
18047
18079
|
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
18048
18080
|
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
@@ -18831,7 +18863,7 @@ module Aws::S3
|
|
18831
18863
|
params: params,
|
18832
18864
|
config: config)
|
18833
18865
|
context[:gem_name] = 'aws-sdk-s3'
|
18834
|
-
context[:gem_version] = '1.
|
18866
|
+
context[:gem_version] = '1.157.0'
|
18835
18867
|
Seahorse::Client::Request.new(handlers, context)
|
18836
18868
|
end
|
18837
18869
|
|
@@ -1531,6 +1531,12 @@ module Aws::S3
|
|
1531
1531
|
HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
|
1532
1532
|
HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
|
1533
1533
|
HeadObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
|
1534
|
+
HeadObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
|
1535
|
+
HeadObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
|
1536
|
+
HeadObjectRequest.add_member(:response_content_encoding, Shapes::ShapeRef.new(shape: ResponseContentEncoding, location: "querystring", location_name: "response-content-encoding"))
|
1537
|
+
HeadObjectRequest.add_member(:response_content_language, Shapes::ShapeRef.new(shape: ResponseContentLanguage, location: "querystring", location_name: "response-content-language"))
|
1538
|
+
HeadObjectRequest.add_member(:response_content_type, Shapes::ShapeRef.new(shape: ResponseContentType, location: "querystring", location_name: "response-content-type"))
|
1539
|
+
HeadObjectRequest.add_member(:response_expires, Shapes::ShapeRef.new(shape: ResponseExpires, location: "querystring", location_name: "response-expires"))
|
1534
1540
|
HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
|
1535
1541
|
HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
|
1536
1542
|
HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
|
@@ -3830,6 +3836,7 @@ module Aws::S3
|
|
3830
3836
|
o.http_method = "POST"
|
3831
3837
|
o.http_request_uri = "/WriteGetObjectResponse"
|
3832
3838
|
o['authtype'] = "v4-unsigned-body"
|
3839
|
+
o['unsignedPayload'] = true
|
3833
3840
|
o.endpoint_pattern = {
|
3834
3841
|
"hostPrefix" => "{RequestRoute}.",
|
3835
3842
|
}
|
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -2779,6 +2779,12 @@ module Aws::S3
|
|
2779
2779
|
# if_none_match: "IfNoneMatch",
|
2780
2780
|
# if_unmodified_since: Time.now,
|
2781
2781
|
# range: "Range",
|
2782
|
+
# response_cache_control: "ResponseCacheControl",
|
2783
|
+
# response_content_disposition: "ResponseContentDisposition",
|
2784
|
+
# response_content_encoding: "ResponseContentEncoding",
|
2785
|
+
# response_content_language: "ResponseContentLanguage",
|
2786
|
+
# response_content_type: "ResponseContentType",
|
2787
|
+
# response_expires: Time.now,
|
2782
2788
|
# version_id: "ObjectVersionId",
|
2783
2789
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
2784
2790
|
# sse_customer_key: "SSECustomerKey",
|
@@ -2866,6 +2872,18 @@ module Aws::S3
|
|
2866
2872
|
# satisfiable, only the `ContentLength` is affected in the response. If
|
2867
2873
|
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
2868
2874
|
# Satisfiable` error.
|
2875
|
+
# @option options [String] :response_cache_control
|
2876
|
+
# Sets the `Cache-Control` header of the response.
|
2877
|
+
# @option options [String] :response_content_disposition
|
2878
|
+
# Sets the `Content-Disposition` header of the response.
|
2879
|
+
# @option options [String] :response_content_encoding
|
2880
|
+
# Sets the `Content-Encoding` header of the response.
|
2881
|
+
# @option options [String] :response_content_language
|
2882
|
+
# Sets the `Content-Language` header of the response.
|
2883
|
+
# @option options [String] :response_content_type
|
2884
|
+
# Sets the `Content-Type` header of the response.
|
2885
|
+
# @option options [Time,DateTime,Date,Integer,String] :response_expires
|
2886
|
+
# Sets the `Expires` header of the response.
|
2869
2887
|
# @option options [String] :version_id
|
2870
2888
|
# Version ID used to reference a specific version of the object.
|
2871
2889
|
#
|
@@ -544,6 +544,12 @@ module Aws::S3
|
|
544
544
|
# if_none_match: "IfNoneMatch",
|
545
545
|
# if_unmodified_since: Time.now,
|
546
546
|
# range: "Range",
|
547
|
+
# response_cache_control: "ResponseCacheControl",
|
548
|
+
# response_content_disposition: "ResponseContentDisposition",
|
549
|
+
# response_content_encoding: "ResponseContentEncoding",
|
550
|
+
# response_content_language: "ResponseContentLanguage",
|
551
|
+
# response_content_type: "ResponseContentType",
|
552
|
+
# response_expires: Time.now,
|
547
553
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
548
554
|
# sse_customer_key: "SSECustomerKey",
|
549
555
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
@@ -630,6 +636,18 @@ module Aws::S3
|
|
630
636
|
# satisfiable, only the `ContentLength` is affected in the response. If
|
631
637
|
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
632
638
|
# Satisfiable` error.
|
639
|
+
# @option options [String] :response_cache_control
|
640
|
+
# Sets the `Cache-Control` header of the response.
|
641
|
+
# @option options [String] :response_content_disposition
|
642
|
+
# Sets the `Content-Disposition` header of the response.
|
643
|
+
# @option options [String] :response_content_encoding
|
644
|
+
# Sets the `Content-Encoding` header of the response.
|
645
|
+
# @option options [String] :response_content_language
|
646
|
+
# Sets the `Content-Language` header of the response.
|
647
|
+
# @option options [String] :response_content_type
|
648
|
+
# Sets the `Content-Type` header of the response.
|
649
|
+
# @option options [Time,DateTime,Date,Integer,String] :response_expires
|
650
|
+
# Sets the `Expires` header of the response.
|
633
651
|
# @option options [String] :sse_customer_algorithm
|
634
652
|
# Specifies the algorithm to use when encrypting the object (for
|
635
653
|
# example, AES256).
|
@@ -44,25 +44,47 @@ setting, caching, and fallback behavior.
|
|
44
44
|
list_objects_v2: 'READ',
|
45
45
|
list_object_versions: 'READ',
|
46
46
|
list_parts: 'READ',
|
47
|
+
head_bucket: 'READ',
|
48
|
+
get_object_attributes: 'READ',
|
47
49
|
put_object: 'WRITE',
|
48
50
|
put_object_acl: 'WRITE',
|
49
51
|
delete_object: 'WRITE',
|
50
52
|
abort_multipart_upload: 'WRITE',
|
51
53
|
create_multipart_upload: 'WRITE',
|
52
54
|
upload_part: 'WRITE',
|
53
|
-
complete_multipart_upload: 'WRITE'
|
55
|
+
complete_multipart_upload: 'WRITE',
|
56
|
+
delete_objects: 'WRITE',
|
57
|
+
copy_object: 'READWRITE'
|
54
58
|
}.freeze
|
55
59
|
|
56
60
|
def call(context)
|
61
|
+
provider = context.config.access_grants_credentials_provider
|
62
|
+
|
57
63
|
if access_grants_operation?(context) &&
|
58
|
-
!s3_express_endpoint?(context)
|
64
|
+
!s3_express_endpoint?(context) &&
|
65
|
+
!credentials_head_bucket_call?(provider)
|
59
66
|
params = context[:endpoint_params]
|
60
67
|
permission = PERMISSION_MAP[context.operation_name]
|
61
68
|
|
62
|
-
|
69
|
+
key =
|
70
|
+
case context.operation_name
|
71
|
+
when :delete_objects
|
72
|
+
delete_params = context.params[:delete]
|
73
|
+
common_prefixes(delete_params[:objects].map { |o| o[:key] })
|
74
|
+
when :copy_object
|
75
|
+
source_bucket, source_key = params[:copy_source].split('/', 2)
|
76
|
+
if params[:bucket] != source_bucket
|
77
|
+
raise ArgumentError,
|
78
|
+
'source and destination bucket must be the same'
|
79
|
+
end
|
80
|
+
common_prefixes([params[:key], source_key])
|
81
|
+
else
|
82
|
+
params[:key]
|
83
|
+
end
|
84
|
+
|
63
85
|
credentials = provider.access_grants_credentials_for(
|
64
86
|
bucket: params[:bucket],
|
65
|
-
key:
|
87
|
+
key: key,
|
66
88
|
prefix: params[:prefix],
|
67
89
|
permission: permission
|
68
90
|
)
|
@@ -80,6 +102,12 @@ setting, caching, and fallback behavior.
|
|
80
102
|
Aws::Plugins::UserAgent.metric('S3_ACCESS_GRANTS', &block)
|
81
103
|
end
|
82
104
|
|
105
|
+
# HeadBucket is a supported call. When fetching credentials,
|
106
|
+
# this plugin is executed again, and becomes recursive.
|
107
|
+
def credentials_head_bucket_call?(provider)
|
108
|
+
provider.instance_variable_get(:@head_bucket_call)
|
109
|
+
end
|
110
|
+
|
83
111
|
def access_grants_operation?(context)
|
84
112
|
params = context[:endpoint_params]
|
85
113
|
params[:bucket] && PERMISSION_MAP[context.operation_name]
|
@@ -88,6 +116,42 @@ setting, caching, and fallback behavior.
|
|
88
116
|
def s3_express_endpoint?(context)
|
89
117
|
context[:endpoint_properties]['backend'] == 'S3Express'
|
90
118
|
end
|
119
|
+
|
120
|
+
# Return the common prefix of the keys, regardless of the delimiter.
|
121
|
+
# For example, given keys ['foo/bar', 'foo/baz'], the common prefix
|
122
|
+
# is 'foo/ba'.
|
123
|
+
def common_prefixes(keys)
|
124
|
+
return '' if keys.empty?
|
125
|
+
|
126
|
+
first_key = keys[0]
|
127
|
+
common_ancestor = first_key
|
128
|
+
last_prefix = ''
|
129
|
+
keys.each do |k|
|
130
|
+
until common_ancestor.empty?
|
131
|
+
break if k.start_with?(common_ancestor)
|
132
|
+
|
133
|
+
last_index = common_ancestor.rindex('/')
|
134
|
+
return '' if last_index.nil?
|
135
|
+
|
136
|
+
last_prefix = common_ancestor[(last_index + 1)..-1]
|
137
|
+
common_ancestor = common_ancestor[0...last_index]
|
138
|
+
end
|
139
|
+
end
|
140
|
+
new_common_ancestor = "#{common_ancestor}/#{last_prefix}"
|
141
|
+
keys.each do |k|
|
142
|
+
until last_prefix.empty?
|
143
|
+
break if k.start_with?(new_common_ancestor)
|
144
|
+
|
145
|
+
last_prefix = last_prefix[0...-1]
|
146
|
+
new_common_ancestor = "#{common_ancestor}/#{last_prefix}"
|
147
|
+
end
|
148
|
+
end
|
149
|
+
if new_common_ancestor == "#{first_key}/"
|
150
|
+
first_key
|
151
|
+
else
|
152
|
+
new_common_ancestor
|
153
|
+
end
|
154
|
+
end
|
91
155
|
end
|
92
156
|
|
93
157
|
def add_handlers(handlers, config)
|
data/lib/aws-sdk-s3/types.rb
CHANGED
@@ -3299,7 +3299,7 @@ module Aws::S3
|
|
3299
3299
|
|
3300
3300
|
# @!attribute [rw] credentials
|
3301
3301
|
# The established temporary security credentials for the created
|
3302
|
-
# session
|
3302
|
+
# session.
|
3303
3303
|
# @return [Types::SessionCredentials]
|
3304
3304
|
#
|
3305
3305
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateSessionOutput AWS API Documentation
|
@@ -8452,6 +8452,30 @@ module Aws::S3
|
|
8452
8452
|
# Not Satisfiable` error.
|
8453
8453
|
# @return [String]
|
8454
8454
|
#
|
8455
|
+
# @!attribute [rw] response_cache_control
|
8456
|
+
# Sets the `Cache-Control` header of the response.
|
8457
|
+
# @return [String]
|
8458
|
+
#
|
8459
|
+
# @!attribute [rw] response_content_disposition
|
8460
|
+
# Sets the `Content-Disposition` header of the response.
|
8461
|
+
# @return [String]
|
8462
|
+
#
|
8463
|
+
# @!attribute [rw] response_content_encoding
|
8464
|
+
# Sets the `Content-Encoding` header of the response.
|
8465
|
+
# @return [String]
|
8466
|
+
#
|
8467
|
+
# @!attribute [rw] response_content_language
|
8468
|
+
# Sets the `Content-Language` header of the response.
|
8469
|
+
# @return [String]
|
8470
|
+
#
|
8471
|
+
# @!attribute [rw] response_content_type
|
8472
|
+
# Sets the `Content-Type` header of the response.
|
8473
|
+
# @return [String]
|
8474
|
+
#
|
8475
|
+
# @!attribute [rw] response_expires
|
8476
|
+
# Sets the `Expires` header of the response.
|
8477
|
+
# @return [Time]
|
8478
|
+
#
|
8455
8479
|
# @!attribute [rw] version_id
|
8456
8480
|
# Version ID used to reference a specific version of the object.
|
8457
8481
|
#
|
@@ -8543,6 +8567,12 @@ module Aws::S3
|
|
8543
8567
|
:if_unmodified_since,
|
8544
8568
|
:key,
|
8545
8569
|
:range,
|
8570
|
+
:response_cache_control,
|
8571
|
+
:response_content_disposition,
|
8572
|
+
:response_content_encoding,
|
8573
|
+
:response_content_language,
|
8574
|
+
:response_content_type,
|
8575
|
+
:response_expires,
|
8546
8576
|
:version_id,
|
8547
8577
|
:sse_customer_algorithm,
|
8548
8578
|
:sse_customer_key,
|
@@ -8559,10 +8589,11 @@ module Aws::S3
|
|
8559
8589
|
#
|
8560
8590
|
# @!attribute [rw] suffix
|
8561
8591
|
# A suffix that is appended to a request that is for a directory on
|
8562
|
-
# the website endpoint (
|
8563
|
-
# you make a request to samplebucket/images
|
8564
|
-
# will be for the object with the key name
|
8565
|
-
# suffix must not be empty and must not
|
8592
|
+
# the website endpoint. (For example, if the suffix is `index.html`
|
8593
|
+
# and you make a request to `samplebucket/images/`, the data that is
|
8594
|
+
# returned will be for the object with the key name
|
8595
|
+
# `images/index.html`.) The suffix must not be empty and must not
|
8596
|
+
# include a slash character.
|
8566
8597
|
#
|
8567
8598
|
# Replacement must be made for object keys containing special
|
8568
8599
|
# characters (such as carriage returns) when using XML requests. For
|
@@ -10122,7 +10153,7 @@ module Aws::S3
|
|
10122
10153
|
# Encoding type used by Amazon S3 to encode object keys in the
|
10123
10154
|
# response. If using `url`, non-ASCII characters used in an object's
|
10124
10155
|
# key name will be URL encoded. For example, the object
|
10125
|
-
#
|
10156
|
+
# `test_file(3).png` will appear as `test_file%283%29.png`.
|
10126
10157
|
# @return [String]
|
10127
10158
|
#
|
10128
10159
|
# @!attribute [rw] request_charged
|
@@ -10478,7 +10509,7 @@ module Aws::S3
|
|
10478
10509
|
# Encoding type used by Amazon S3 to encode object keys in the
|
10479
10510
|
# response. If using `url`, non-ASCII characters used in an object's
|
10480
10511
|
# key name will be URL encoded. For example, the object
|
10481
|
-
#
|
10512
|
+
# `test_file(3).png` will appear as `test_file%283%29.png`.
|
10482
10513
|
# @return [String]
|
10483
10514
|
#
|
10484
10515
|
# @!attribute [rw] max_keys
|
@@ -11173,10 +11204,10 @@ module Aws::S3
|
|
11173
11204
|
# @return [Integer]
|
11174
11205
|
#
|
11175
11206
|
# @!attribute [rw] newer_noncurrent_versions
|
11176
|
-
# Specifies how many
|
11177
|
-
#
|
11178
|
-
#
|
11179
|
-
#
|
11207
|
+
# Specifies how many noncurrent versions Amazon S3 will retain. You
|
11208
|
+
# can specify up to 100 noncurrent versions to retain. Amazon S3 will
|
11209
|
+
# permanently delete any additional noncurrent versions beyond the
|
11210
|
+
# specified number to retain. For more information about noncurrent
|
11180
11211
|
# versions, see [Lifecycle configuration elements][1] in the *Amazon
|
11181
11212
|
# S3 User Guide*.
|
11182
11213
|
#
|
@@ -11220,12 +11251,12 @@ module Aws::S3
|
|
11220
11251
|
# @return [String]
|
11221
11252
|
#
|
11222
11253
|
# @!attribute [rw] newer_noncurrent_versions
|
11223
|
-
# Specifies how many
|
11224
|
-
#
|
11225
|
-
#
|
11226
|
-
#
|
11227
|
-
#
|
11228
|
-
# S3 User Guide*.
|
11254
|
+
# Specifies how many noncurrent versions Amazon S3 will retain in the
|
11255
|
+
# same storage class before transitioning objects. You can specify up
|
11256
|
+
# to 100 noncurrent versions to retain. Amazon S3 will transition any
|
11257
|
+
# additional noncurrent versions beyond the specified number to
|
11258
|
+
# retain. For more information about noncurrent versions, see
|
11259
|
+
# [Lifecycle configuration elements][1] in the *Amazon S3 User Guide*.
|
11229
11260
|
#
|
11230
11261
|
#
|
11231
11262
|
#
|
data/lib/aws-sdk-s3.rb
CHANGED
data/sig/client.rbs
CHANGED
@@ -62,6 +62,7 @@ module Aws
|
|
62
62
|
?sdk_ua_app_id: String,
|
63
63
|
?secret_access_key: String,
|
64
64
|
?session_token: String,
|
65
|
+
?sigv4a_signing_region_set: Array[String],
|
65
66
|
?stub_responses: untyped,
|
66
67
|
?token_provider: untyped,
|
67
68
|
?use_accelerate_endpoint: bool,
|
@@ -963,6 +964,12 @@ module Aws
|
|
963
964
|
?if_unmodified_since: ::Time,
|
964
965
|
key: ::String,
|
965
966
|
?range: ::String,
|
967
|
+
?response_cache_control: ::String,
|
968
|
+
?response_content_disposition: ::String,
|
969
|
+
?response_content_encoding: ::String,
|
970
|
+
?response_content_language: ::String,
|
971
|
+
?response_content_type: ::String,
|
972
|
+
?response_expires: ::Time,
|
966
973
|
?version_id: ::String,
|
967
974
|
?sse_customer_algorithm: ::String,
|
968
975
|
?sse_customer_key: ::String,
|
@@ -2328,6 +2335,12 @@ module Aws
|
|
2328
2335
|
?if_unmodified_since: ::Time,
|
2329
2336
|
key: ::String,
|
2330
2337
|
?range: ::String,
|
2338
|
+
?response_cache_control: ::String,
|
2339
|
+
?response_content_disposition: ::String,
|
2340
|
+
?response_content_encoding: ::String,
|
2341
|
+
?response_content_language: ::String,
|
2342
|
+
?response_content_type: ::String,
|
2343
|
+
?response_expires: ::Time,
|
2331
2344
|
?version_id: ::String,
|
2332
2345
|
?sse_customer_algorithm: ::String,
|
2333
2346
|
?sse_customer_key: ::String,
|
@@ -2346,6 +2359,12 @@ module Aws
|
|
2346
2359
|
?if_unmodified_since: ::Time,
|
2347
2360
|
key: ::String,
|
2348
2361
|
?range: ::String,
|
2362
|
+
?response_cache_control: ::String,
|
2363
|
+
?response_content_disposition: ::String,
|
2364
|
+
?response_content_encoding: ::String,
|
2365
|
+
?response_content_language: ::String,
|
2366
|
+
?response_content_type: ::String,
|
2367
|
+
?response_expires: ::Time,
|
2349
2368
|
?version_id: ::String,
|
2350
2369
|
?sse_customer_algorithm: ::String,
|
2351
2370
|
?sse_customer_key: ::String,
|
data/sig/object.rbs
CHANGED
@@ -397,6 +397,12 @@ module Aws
|
|
397
397
|
?if_none_match: ::String,
|
398
398
|
?if_unmodified_since: ::Time,
|
399
399
|
?range: ::String,
|
400
|
+
?response_cache_control: ::String,
|
401
|
+
?response_content_disposition: ::String,
|
402
|
+
?response_content_encoding: ::String,
|
403
|
+
?response_content_language: ::String,
|
404
|
+
?response_content_type: ::String,
|
405
|
+
?response_expires: ::Time,
|
400
406
|
?version_id: ::String,
|
401
407
|
?sse_customer_algorithm: ::String,
|
402
408
|
?sse_customer_key: ::String,
|
data/sig/object_version.rbs
CHANGED
@@ -102,6 +102,12 @@ module Aws
|
|
102
102
|
?if_none_match: ::String,
|
103
103
|
?if_unmodified_since: ::Time,
|
104
104
|
?range: ::String,
|
105
|
+
?response_cache_control: ::String,
|
106
|
+
?response_content_disposition: ::String,
|
107
|
+
?response_content_encoding: ::String,
|
108
|
+
?response_content_language: ::String,
|
109
|
+
?response_content_type: ::String,
|
110
|
+
?response_expires: ::Time,
|
105
111
|
?sse_customer_algorithm: ::String,
|
106
112
|
?sse_customer_key: ::String,
|
107
113
|
?sse_customer_key_md5: ::String,
|
data/sig/resource.rbs
CHANGED
data/sig/types.rbs
CHANGED
@@ -1132,6 +1132,12 @@ module Aws::S3
|
|
1132
1132
|
attr_accessor if_unmodified_since: ::Time
|
1133
1133
|
attr_accessor key: ::String
|
1134
1134
|
attr_accessor range: ::String
|
1135
|
+
attr_accessor response_cache_control: ::String
|
1136
|
+
attr_accessor response_content_disposition: ::String
|
1137
|
+
attr_accessor response_content_encoding: ::String
|
1138
|
+
attr_accessor response_content_language: ::String
|
1139
|
+
attr_accessor response_content_type: ::String
|
1140
|
+
attr_accessor response_expires: ::Time
|
1135
1141
|
attr_accessor version_id: ::String
|
1136
1142
|
attr_accessor sse_customer_algorithm: ::String
|
1137
1143
|
attr_accessor sse_customer_key: ::String
|
data/sig/waiters.rbs
CHANGED
@@ -43,6 +43,12 @@ module Aws
|
|
43
43
|
?if_unmodified_since: ::Time,
|
44
44
|
key: ::String,
|
45
45
|
?range: ::String,
|
46
|
+
?response_cache_control: ::String,
|
47
|
+
?response_content_disposition: ::String,
|
48
|
+
?response_content_encoding: ::String,
|
49
|
+
?response_content_language: ::String,
|
50
|
+
?response_content_type: ::String,
|
51
|
+
?response_expires: ::Time,
|
46
52
|
?version_id: ::String,
|
47
53
|
?sse_customer_algorithm: ::String,
|
48
54
|
?sse_customer_key: ::String,
|
@@ -67,6 +73,12 @@ module Aws
|
|
67
73
|
?if_unmodified_since: ::Time,
|
68
74
|
key: ::String,
|
69
75
|
?range: ::String,
|
76
|
+
?response_cache_control: ::String,
|
77
|
+
?response_content_disposition: ::String,
|
78
|
+
?response_content_encoding: ::String,
|
79
|
+
?response_content_language: ::String,
|
80
|
+
?response_content_type: ::String,
|
81
|
+
?response_expires: ::Time,
|
70
82
|
?version_id: ::String,
|
71
83
|
?sse_customer_algorithm: ::String,
|
72
84
|
?sse_customer_key: ::String,
|
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.157.0
|
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: 2024-
|
11
|
+
date: 2024-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-kms
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.5'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.5'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: aws-sdk-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
version: '3'
|
48
48
|
- - ">="
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 3.
|
50
|
+
version: 3.201.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.201.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:
|