aws-sdk-s3 1.156.0 → 1.190.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +193 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
  5. data/lib/aws-sdk-s3/bucket.rb +304 -94
  6. data/lib/aws-sdk-s3/bucket_acl.rb +6 -5
  7. data/lib/aws-sdk-s3/bucket_cors.rb +6 -5
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +7 -2
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +60 -3
  10. data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
  11. data/lib/aws-sdk-s3/bucket_policy.rb +10 -9
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +3 -3
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +9 -9
  15. data/lib/aws-sdk-s3/bucket_website.rb +3 -3
  16. data/lib/aws-sdk-s3/client.rb +4081 -1812
  17. data/lib/aws-sdk-s3/client_api.rb +404 -162
  18. data/lib/aws-sdk-s3/customizations/object.rb +6 -0
  19. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  20. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  21. data/lib/aws-sdk-s3/customizations.rb +24 -38
  22. data/lib/aws-sdk-s3/endpoint_parameters.rb +13 -18
  23. data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
  24. data/lib/aws-sdk-s3/endpoints.rb +465 -1706
  25. data/lib/aws-sdk-s3/errors.rb +58 -0
  26. data/lib/aws-sdk-s3/file_downloader.rb +14 -31
  27. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  28. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  29. data/lib/aws-sdk-s3/multipart_upload.rb +108 -8
  30. data/lib/aws-sdk-s3/multipart_upload_part.rb +52 -36
  31. data/lib/aws-sdk-s3/object.rb +614 -203
  32. data/lib/aws-sdk-s3/object_acl.rb +11 -5
  33. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  34. data/lib/aws-sdk-s3/object_summary.rb +518 -151
  35. data/lib/aws-sdk-s3/object_version.rb +81 -12
  36. data/lib/aws-sdk-s3/plugins/access_grants.rb +68 -4
  37. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  38. data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
  39. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  40. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -3
  41. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  42. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  43. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  44. data/lib/aws-sdk-s3/presigner.rb +5 -5
  45. data/lib/aws-sdk-s3/resource.rb +45 -18
  46. data/lib/aws-sdk-s3/types.rb +3462 -1337
  47. data/lib/aws-sdk-s3.rb +35 -31
  48. data/sig/bucket.rbs +16 -6
  49. data/sig/bucket_acl.rbs +1 -1
  50. data/sig/bucket_cors.rbs +1 -1
  51. data/sig/bucket_lifecycle.rbs +1 -1
  52. data/sig/bucket_lifecycle_configuration.rbs +8 -4
  53. data/sig/bucket_logging.rbs +1 -1
  54. data/sig/bucket_policy.rbs +1 -1
  55. data/sig/bucket_request_payment.rbs +1 -1
  56. data/sig/bucket_tagging.rbs +1 -1
  57. data/sig/bucket_versioning.rbs +3 -3
  58. data/sig/bucket_website.rbs +1 -1
  59. data/sig/client.rbs +162 -45
  60. data/sig/errors.rbs +10 -0
  61. data/sig/multipart_upload.rbs +12 -2
  62. data/sig/multipart_upload_part.rbs +5 -1
  63. data/sig/object.rbs +26 -6
  64. data/sig/object_acl.rbs +1 -1
  65. data/sig/object_summary.rbs +18 -7
  66. data/sig/object_version.rbs +9 -3
  67. data/sig/resource.rbs +11 -4
  68. data/sig/types.rbs +210 -38
  69. metadata +8 -10
  70. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 444d8fbcdc8d19b75228bdec52d8e1651f4d35459866847055b0d7e16d56371a
4
- data.tar.gz: 785d49ecff3a7441d4f3c196ed64d7cfbe79330627c585fc7108a4a7b11d6d2b
3
+ metadata.gz: 912a376612086528cf57db9f1d8b688cc47c5a1adea96bc114ea8dc40fd52c9f
4
+ data.tar.gz: d5a9deb36e98cadcb61ec5c8e9552e0a61a7aec1e5ceaf6c6163fa56ae1fc28d
5
5
  SHA512:
6
- metadata.gz: e60cb04b18ce10ec62f4b63f28cf8ed7adf206a22910c7251ed9d1c2040a3466cb2d09a0987d6fc8d2361b4c15dfa0b764877b5c7bdedd03146383b5a11a79ae
7
- data.tar.gz: 2e5654d95f462359aebeae89f2b855211b95acbe1820ad354a7a8c0e8261ff1188715e469637aea8c647124a7672f102a08e5fa78d73ed27253fcb886cfa13b8
6
+ metadata.gz: 1feba34ac0e9a7c4e93a81a65b1d1e6dd49c9537411867decfd2133a1b7553737d7964be14cdb2e3194e1923b6389b23761a17e6238025980cf073a2ca262336
7
+ data.tar.gz: 36bd0d47354efde065942d5178ddc3094b75d005dca1bb7ab44a2b020e0b4b67ea72f784c4147a9e39531ff3bcd169bbfab74cd183dbde3ff06943a32848b7c3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,199 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.190.0 (2025-06-18)
5
+ ------------------
6
+
7
+ * Feature - Added support for renaming objects within the same bucket using the new RenameObject API.
8
+
9
+ 1.189.1 (2025-06-10)
10
+ ------------------
11
+
12
+ * Issue - Only load required `cgi` modules for Ruby 3.5.
13
+
14
+ 1.189.0 (2025-06-02)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.188.0 (2025-05-29)
20
+ ------------------
21
+
22
+ * Feature - Adding checksum support for S3 PutBucketOwnershipControls API.
23
+
24
+ 1.187.0 (2025-05-28)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ * Issue - Signal data in http response listeners prior to writing, so that data can be inspected or verified before potential mutation.
30
+
31
+ 1.186.1 (2025-05-15)
32
+ ------------------
33
+ * Issue - Abort multipart download if object is modified during download.
34
+
35
+ 1.186.0 (2025-05-12)
36
+ ------------------
37
+
38
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
39
+
40
+ 1.185.0 (2025-05-01)
41
+ ------------------
42
+
43
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
44
+
45
+ 1.184.0 (2025-04-28)
46
+ ------------------
47
+
48
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
49
+
50
+ 1.183.0 (2025-03-31)
51
+ ------------------
52
+
53
+ * Feature - Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones
54
+
55
+ 1.182.0 (2025-02-18)
56
+ ------------------
57
+
58
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
59
+
60
+ 1.181.0 (2025-02-14)
61
+ ------------------
62
+
63
+ * Feature - Added support for Content-Range header in HeadObject response.
64
+
65
+ 1.180.0 (2025-02-06)
66
+ ------------------
67
+
68
+ * Feature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.
69
+
70
+ 1.179.0 (2025-01-29)
71
+ ------------------
72
+
73
+ * Feature - Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.
74
+
75
+ 1.178.0 (2025-01-15)
76
+ ------------------
77
+
78
+ * Feature - This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests.
79
+
80
+ * Feature - Default to using `CRC32` checksum validation for S3 uploads and downloads.
81
+
82
+ 1.177.0 (2025-01-03)
83
+ ------------------
84
+
85
+ * Feature - This change is only for updating the model regexp of CopySource which is not for validation but only for documentation and user guide change.
86
+
87
+ 1.176.1 (2024-12-12)
88
+ ------------------
89
+
90
+ * Issue - Do not normalize object keys when calling `presigned_url` or `presigned_request`.
91
+
92
+ 1.176.0 (2024-12-03)
93
+ ------------------
94
+
95
+ * Feature - Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.
96
+
97
+ 1.175.0 (2024-12-02)
98
+ ------------------
99
+
100
+ * Feature - Amazon S3 introduces support for AWS Dedicated Local Zones
101
+
102
+ 1.174.0 (2024-11-25)
103
+ ------------------
104
+
105
+ * Feature - Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.
106
+
107
+ 1.173.0 (2024-11-21)
108
+ ------------------
109
+
110
+ * Feature - Add support for conditional deletes for the S3 DeleteObject and DeleteObjects APIs. Add support for write offset bytes option used to append to objects with the S3 PutObject API.
111
+
112
+ 1.172.0 (2024-11-18)
113
+ ------------------
114
+
115
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
116
+
117
+ 1.171.0 (2024-11-14)
118
+ ------------------
119
+
120
+ * Feature - This release updates the ListBuckets API Reference documentation in support of the new 10,000 general purpose bucket default quota on all AWS accounts. To increase your bucket quota from 10,000 to up to 1 million buckets, simply request a quota increase via Service Quotas.
121
+
122
+ 1.170.1 (2024-11-11)
123
+ ------------------
124
+
125
+ * Issue - Tighten regex used to check for S3 200 errors.
126
+
127
+ 1.170.0 (2024-11-06)
128
+ ------------------
129
+
130
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
131
+
132
+ 1.169.0 (2024-10-18)
133
+ ------------------
134
+
135
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
136
+
137
+ 1.168.0 (2024-10-16)
138
+ ------------------
139
+
140
+ * Feature - Add support for the new optional bucket-region and prefix query parameters in the ListBuckets API. For ListBuckets requests that express pagination, Amazon S3 will now return both the bucket names and associated AWS regions in the response.
141
+
142
+ 1.167.0 (2024-10-02)
143
+ ------------------
144
+
145
+ * Feature - This release introduces a header representing the minimum object size limit for Lifecycle transitions.
146
+
147
+ 1.166.0 (2024-09-24)
148
+ ------------------
149
+
150
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
151
+
152
+ 1.165.0 (2024-09-23)
153
+ ------------------
154
+
155
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
156
+
157
+ 1.164.0 (2024-09-20)
158
+ ------------------
159
+
160
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
161
+
162
+ 1.163.0 (2024-09-18)
163
+ ------------------
164
+
165
+ * Feature - Added SSE-KMS support for directory buckets.
166
+
167
+ 1.162.0 (2024-09-11)
168
+ ------------------
169
+
170
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
171
+
172
+ 1.161.0 (2024-09-10)
173
+ ------------------
174
+
175
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
176
+
177
+ 1.160.0 (2024-09-03)
178
+ ------------------
179
+
180
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
181
+
182
+ 1.159.0 (2024-08-20)
183
+ ------------------
184
+
185
+ * Feature - Amazon Simple Storage Service / Features : Add support for conditional writes for PutObject and CompleteMultipartUpload APIs.
186
+
187
+ 1.158.0 (2024-08-15)
188
+ ------------------
189
+
190
+ * Feature - Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API.
191
+
192
+ 1.157.0 (2024-08-01)
193
+ ------------------
194
+
195
+ * Feature - Support `head_bucket`, `get_object_attributes`, `delete_objects`, and `copy_object` for Access Grants.
196
+
4
197
  1.156.0 (2024-07-02)
5
198
  ------------------
6
199
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.156.0
1
+ 1.190.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