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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3606dfbffaeffc74941a386fe43f36d526d066641492a25bc9ae8585779f268a
4
- data.tar.gz: 9323c9858e64987530d19b91e93df3b87fe396928e97aa98be258fa5e9394c07
3
+ metadata.gz: 39a77f1b089e257fe94bc26a0ca7309479a61cff7f46326243f2d1b002ce2bac
4
+ data.tar.gz: e2dbcc9f6ea92e1097d84130a2cd1c3e1caae305bdeb8b450056872edd2b4f74
5
5
  SHA512:
6
- metadata.gz: 26d9df1ebb04928ca8773d34bad9db95a9ad2a94fc53082901eaf5eef52f79859d29b262ac8572444694838aaf778a29275058cdc4c9fb0d42bccfda47815ff5
7
- data.tar.gz: ccd122366faa5eba5dcb5b2f144b900528e595479e2996c444e72f13948ba7ad0f252f3647d482d8d46f857dbd98701d5fca2888e5e4b1ba74857719915a8985
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.155.0
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
- @s3_client.head_bucket(bucket: bucket).bucket_region
199
- rescue Aws::S3::Errors::Http301Error => e
200
- e.data.region
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
@@ -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 test\_file(3).png will
1258
- # appear as test\_file%283%29.png.
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
  #
@@ -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. to keep the
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: "/examplebucket",
2355
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2345
2356
  # }
2346
2357
  #
2347
- # @example Example: To create a bucket in a specific region
2358
+ # @example Example: To create a bucket
2348
2359
  #
2349
- # # The following example creates a bucket. The request specifies an AWS region where to create the 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: "http://examplebucket.<Region>.s3.amazonaws.com/",
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 versiong-enabled bucket,
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&lt;Types::Error&gt;
4922
4930
  #
4923
4931
  #
4924
- # @example Example: To delete multiple object versions from a versioned bucket
4932
+ # @example Example: To delete multiple objects from a versioned bucket
4925
4933
  #
4926
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
4927
- # # versions and returns the key and versions of deleted objects in the response.
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: "HappyFace.jpg",
4935
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
4942
+ # key: "objectkey1",
4936
4943
  # },
4937
4944
  # {
4938
- # key: "HappyFace.jpg",
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
- # key: "HappyFace.jpg",
4951
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
4956
+ # delete_marker: true,
4957
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
4958
+ # key: "objectkey1",
4952
4959
  # },
4953
4960
  # {
4954
- # key: "HappyFace.jpg",
4955
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
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 objects from a versioned bucket
4968
+ # @example Example: To delete multiple object versions from a versioned bucket
4961
4969
  #
4962
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
4963
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
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: "objectkey1",
4978
+ # key: "HappyFace.jpg",
4979
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
4971
4980
  # },
4972
4981
  # {
4973
- # key: "objectkey2",
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
- # delete_marker: true,
4985
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
4986
- # key: "objectkey1",
4994
+ # key: "HappyFace.jpg",
4995
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
4987
4996
  # },
4988
4997
  # {
4989
- # delete_marker: true,
4990
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
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&lt;Types::Tag&gt;
8739
8747
  #
8740
8748
  #
8741
- # @example Example: To retrieve tag set of an object
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: "HappyFace.jpg",
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: "Key4",
8755
- # value: "Value4",
8756
- # },
8757
- # {
8758
- # key: "Key3",
8759
- # value: "Value3",
8763
+ # key: "Key1",
8764
+ # value: "Value1",
8760
8765
  # },
8761
8766
  # ],
8762
- # version_id: "null",
8767
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
8763
8768
  # }
8764
8769
  #
8765
- # @example Example: To retrieve tag set of a specific object version
8770
+ # @example Example: To retrieve tag set of an object
8766
8771
  #
8767
- # # The following example retrieves tag set of an object. The request specifies object version.
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: "exampleobject",
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: "Key1",
8780
- # value: "Value1",
8783
+ # key: "Key4",
8784
+ # value: "Value4",
8785
+ # },
8786
+ # {
8787
+ # key: "Key3",
8788
+ # value: "Value3",
8781
8789
  # },
8782
8790
  # ],
8783
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
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 test\_file(3).png will
11189
- # appear as test\_file%283%29.png.
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 and specify server-side encryption and object tags
15448
+ # @example Example: To upload an object
15417
15449
  #
15418
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
15419
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
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: "filetoupload",
15454
+ # body: "HappyFace.jpg",
15423
15455
  # bucket: "examplebucket",
15424
- # key: "exampleobject",
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
- # server_side_encryption: "AES256",
15433
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
15462
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
15434
15463
  # }
15435
15464
  #
15436
- # @example Example: To create an object.
15465
+ # @example Example: To upload an object and specify server-side encryption and object tags
15437
15466
  #
15438
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
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: "objectkey",
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
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
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 an object and specify optional tags
15505
+ # @example Example: To upload object and specify user-defined metadata
15473
15506
  #
15474
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
15475
- # # S3 returns version ID of the newly created object.
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: "c:\\HappyFace.jpg",
15511
+ # body: "filetoupload",
15479
15512
  # bucket: "examplebucket",
15480
- # key: "HappyFace.jpg",
15481
- # tagging: "key1=value1&key2=value2",
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: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
15523
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
15488
15524
  # }
15489
15525
  #
15490
- # @example Example: To upload object and specify user-defined metadata
15526
+ # @example Example: To upload an object and specify optional tags
15491
15527
  #
15492
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
15493
- # # enabled, S3 returns version ID in response.
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: "filetoupload",
15532
+ # body: "c:\\HappyFace.jpg",
15497
15533
  # bucket: "examplebucket",
15498
- # key: "exampleobject",
15499
- # metadata: {
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: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
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 upload an object
15562
+ # @example Example: To create an object.
15530
15563
  #
15531
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
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: "HappyFace.jpg",
15567
+ # body: "filetoupload",
15536
15568
  # bucket: "examplebucket",
15537
- # key: "HappyFace.jpg",
15569
+ # key: "objectkey",
15538
15570
  # })
15539
15571
  #
15540
15572
  # resp.to_h outputs the following:
15541
15573
  # {
15542
15574
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15543
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
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 Upload and Permissions][7] in the
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 . By default,
17977
- # the session is in the `ReadWrite` mode. If you want to restrict
17978
- # the access, you can explicitly set the `s3express:SessionMode`
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/dev/mpuAndPermissions.html
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.155.0'
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
  }
@@ -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
- provider = context.config.access_grants_credentials_provider
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: params[: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)
@@ -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 (for example,if the suffix is index.html and
8563
- # you make a request to samplebucket/images/ the data that is returned
8564
- # will be for the object with the key name images/index.html) The
8565
- # suffix must not be empty and must not include a slash character.
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
- # test\_file(3).png will appear as test\_file%283%29.png.
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
- # test\_file(3).png will appear as test\_file%283%29.png.
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 newer noncurrent versions must exist before
11177
- # Amazon S3 can perform the associated action on a given version. If
11178
- # there are this many more recent noncurrent versions, Amazon S3 will
11179
- # take the associated action. For more information about noncurrent
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 newer noncurrent versions must exist before
11224
- # Amazon S3 can perform the associated action on a given version. If
11225
- # there are this many more recent noncurrent versions, Amazon S3 will
11226
- # take the associated action. For more information about noncurrent
11227
- # versions, see [Lifecycle configuration elements][1] in the *Amazon
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
@@ -73,6 +73,6 @@ require_relative 'aws-sdk-s3/event_streams'
73
73
  # @!group service
74
74
  module Aws::S3
75
75
 
76
- GEM_VERSION = '1.155.0'
76
+ GEM_VERSION = '1.157.0'
77
77
 
78
78
  end
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,
@@ -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
@@ -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,
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.155.0
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-06-28 00:00:00.000000000 Z
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.8'
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.8'
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.199.0
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.199.0
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: