aws-sdk-s3 1.109.0 → 1.156.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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +352 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +241 -0
  6. data/lib/aws-sdk-s3/bucket.rb +585 -110
  7. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  8. data/lib/aws-sdk-s3/bucket_cors.rb +34 -10
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +34 -10
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +34 -10
  11. data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
  12. data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +78 -10
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +28 -6
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +34 -10
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +72 -14
  18. data/lib/aws-sdk-s3/bucket_website.rb +34 -10
  19. data/lib/aws-sdk-s3/client.rb +7900 -3252
  20. data/lib/aws-sdk-s3/client_api.rb +706 -228
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  22. data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
  23. data/lib/aws-sdk-s3/customizations/object.rb +97 -21
  24. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  25. data/lib/aws-sdk-s3/customizations.rb +10 -0
  26. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  27. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  28. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  29. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  30. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  31. data/lib/aws-sdk-s3/endpoint_parameters.rb +186 -0
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +592 -0
  33. data/lib/aws-sdk-s3/endpoints.rb +2689 -0
  34. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  35. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  36. data/lib/aws-sdk-s3/file_downloader.rb +170 -45
  37. data/lib/aws-sdk-s3/file_uploader.rb +11 -4
  38. data/lib/aws-sdk-s3/multipart_file_uploader.rb +30 -11
  39. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +46 -17
  40. data/lib/aws-sdk-s3/multipart_upload.rb +194 -19
  41. data/lib/aws-sdk-s3/multipart_upload_part.rb +280 -30
  42. data/lib/aws-sdk-s3/object.rb +1753 -266
  43. data/lib/aws-sdk-s3/object_acl.rb +49 -13
  44. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  45. data/lib/aws-sdk-s3/object_multipart_copier.rb +46 -22
  46. data/lib/aws-sdk-s3/object_summary.rb +1497 -221
  47. data/lib/aws-sdk-s3/object_version.rb +383 -58
  48. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -50
  49. data/lib/aws-sdk-s3/plugins/access_grants.rb +114 -0
  50. data/lib/aws-sdk-s3/plugins/arn.rb +0 -184
  51. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  52. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  53. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -49
  54. data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
  55. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  56. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  57. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  58. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  59. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  60. data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
  61. data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -126
  62. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  63. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  64. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  65. data/lib/aws-sdk-s3/presigner.rb +28 -37
  66. data/lib/aws-sdk-s3/resource.rb +89 -13
  67. data/lib/aws-sdk-s3/types.rb +6544 -4909
  68. data/lib/aws-sdk-s3.rb +5 -1
  69. data/sig/bucket.rbs +212 -0
  70. data/sig/bucket_acl.rbs +78 -0
  71. data/sig/bucket_cors.rbs +69 -0
  72. data/sig/bucket_lifecycle.rbs +88 -0
  73. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  74. data/sig/bucket_logging.rbs +76 -0
  75. data/sig/bucket_notification.rbs +114 -0
  76. data/sig/bucket_policy.rbs +59 -0
  77. data/sig/bucket_request_payment.rbs +54 -0
  78. data/sig/bucket_tagging.rbs +65 -0
  79. data/sig/bucket_versioning.rbs +77 -0
  80. data/sig/bucket_website.rbs +93 -0
  81. data/sig/client.rbs +2381 -0
  82. data/sig/customizations/bucket.rbs +19 -0
  83. data/sig/customizations/object.rbs +38 -0
  84. data/sig/customizations/object_summary.rbs +35 -0
  85. data/sig/errors.rbs +34 -0
  86. data/sig/multipart_upload.rbs +110 -0
  87. data/sig/multipart_upload_part.rbs +105 -0
  88. data/sig/object.rbs +442 -0
  89. data/sig/object_acl.rbs +86 -0
  90. data/sig/object_summary.rbs +334 -0
  91. data/sig/object_version.rbs +137 -0
  92. data/sig/resource.rbs +127 -0
  93. data/sig/types.rbs +2568 -0
  94. data/sig/waiters.rbs +95 -0
  95. metadata +50 -16
  96. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  97. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -68
  98. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  99. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -74
  100. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -0,0 +1,334 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html
11
+ class ObjectSummary
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#initialize-instance_method
13
+ def initialize: (String bucket_name, String key, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, key: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#key-instance_method
21
+ def key: () -> String
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#last_modified-instance_method
24
+ def last_modified: () -> ::Time
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#etag-instance_method
27
+ def etag: () -> ::String
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#checksum_algorithm-instance_method
30
+ def checksum_algorithm: () -> ::Array[("CRC32" | "CRC32C" | "SHA1" | "SHA256")]
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#size-instance_method
33
+ def size: () -> ::Integer
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#storage_class-instance_method
36
+ def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "GLACIER" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE")
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#owner-instance_method
39
+ def owner: () -> Types::Owner
40
+
41
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#restore_status-instance_method
42
+ def restore_status: () -> Types::RestoreStatus
43
+
44
+ def client: () -> Client
45
+
46
+
47
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#data-instance_method
48
+ def data: () -> Types::Object
49
+
50
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#data_loaded?-instance_method
51
+ def data_loaded?: () -> bool
52
+
53
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#exists?-instance_method
54
+ def exists?: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) -> bool
55
+ | (?Hash[Symbol, untyped]) -> bool
56
+
57
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#wait_until_exists-instance_method
58
+ def wait_until_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> ObjectSummary
59
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> ObjectSummary
60
+
61
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#wait_until_not_exists-instance_method
62
+ def wait_until_not_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> ObjectSummary
63
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> ObjectSummary
64
+
65
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#copy_from-instance_method
66
+ def copy_from: (
67
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
68
+ ?cache_control: ::String,
69
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256"),
70
+ ?content_disposition: ::String,
71
+ ?content_encoding: ::String,
72
+ ?content_language: ::String,
73
+ ?content_type: ::String,
74
+ copy_source: ::String,
75
+ ?copy_source_if_match: ::String,
76
+ ?copy_source_if_modified_since: ::Time,
77
+ ?copy_source_if_none_match: ::String,
78
+ ?copy_source_if_unmodified_since: ::Time,
79
+ ?expires: ::Time,
80
+ ?grant_full_control: ::String,
81
+ ?grant_read: ::String,
82
+ ?grant_read_acp: ::String,
83
+ ?grant_write_acp: ::String,
84
+ ?metadata: Hash[::String, ::String],
85
+ ?metadata_directive: ("COPY" | "REPLACE"),
86
+ ?tagging_directive: ("COPY" | "REPLACE"),
87
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
88
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
89
+ ?website_redirect_location: ::String,
90
+ ?sse_customer_algorithm: ::String,
91
+ ?sse_customer_key: ::String,
92
+ ?sse_customer_key_md5: ::String,
93
+ ?ssekms_key_id: ::String,
94
+ ?ssekms_encryption_context: ::String,
95
+ ?bucket_key_enabled: bool,
96
+ ?copy_source_sse_customer_algorithm: ::String,
97
+ ?copy_source_sse_customer_key: ::String,
98
+ ?copy_source_sse_customer_key_md5: ::String,
99
+ ?request_payer: ("requester"),
100
+ ?tagging: ::String,
101
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
102
+ ?object_lock_retain_until_date: ::Time,
103
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
104
+ ?expected_bucket_owner: ::String,
105
+ ?expected_source_bucket_owner: ::String
106
+ ) -> Types::CopyObjectOutput
107
+ | (?Hash[Symbol, untyped]) -> Types::CopyObjectOutput
108
+
109
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#delete-instance_method
110
+ def delete: (
111
+ ?mfa: ::String,
112
+ ?version_id: ::String,
113
+ ?request_payer: ("requester"),
114
+ ?bypass_governance_retention: bool,
115
+ ?expected_bucket_owner: ::String
116
+ ) -> Types::DeleteObjectOutput
117
+ | (?Hash[Symbol, untyped]) -> Types::DeleteObjectOutput
118
+
119
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#get-instance_method
120
+ def get: (
121
+ ?if_match: ::String,
122
+ ?if_modified_since: ::Time,
123
+ ?if_none_match: ::String,
124
+ ?if_unmodified_since: ::Time,
125
+ ?range: ::String,
126
+ ?response_cache_control: ::String,
127
+ ?response_content_disposition: ::String,
128
+ ?response_content_encoding: ::String,
129
+ ?response_content_language: ::String,
130
+ ?response_content_type: ::String,
131
+ ?response_expires: ::Time,
132
+ ?version_id: ::String,
133
+ ?sse_customer_algorithm: ::String,
134
+ ?sse_customer_key: ::String,
135
+ ?sse_customer_key_md5: ::String,
136
+ ?request_payer: ("requester"),
137
+ ?part_number: ::Integer,
138
+ ?expected_bucket_owner: ::String,
139
+ ?checksum_mode: ("ENABLED")
140
+ ) -> Types::GetObjectOutput
141
+ | (?Hash[Symbol, untyped]) -> Types::GetObjectOutput
142
+
143
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#initiate_multipart_upload-instance_method
144
+ def initiate_multipart_upload: (
145
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
146
+ ?cache_control: ::String,
147
+ ?content_disposition: ::String,
148
+ ?content_encoding: ::String,
149
+ ?content_language: ::String,
150
+ ?content_type: ::String,
151
+ ?expires: ::Time,
152
+ ?grant_full_control: ::String,
153
+ ?grant_read: ::String,
154
+ ?grant_read_acp: ::String,
155
+ ?grant_write_acp: ::String,
156
+ ?metadata: Hash[::String, ::String],
157
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
158
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
159
+ ?website_redirect_location: ::String,
160
+ ?sse_customer_algorithm: ::String,
161
+ ?sse_customer_key: ::String,
162
+ ?sse_customer_key_md5: ::String,
163
+ ?ssekms_key_id: ::String,
164
+ ?ssekms_encryption_context: ::String,
165
+ ?bucket_key_enabled: bool,
166
+ ?request_payer: ("requester"),
167
+ ?tagging: ::String,
168
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
169
+ ?object_lock_retain_until_date: ::Time,
170
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
171
+ ?expected_bucket_owner: ::String,
172
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256")
173
+ ) -> MultipartUpload
174
+ | (?Hash[Symbol, untyped]) -> MultipartUpload
175
+
176
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#put-instance_method
177
+ def put: (
178
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
179
+ ?body: ::String | ::StringIO | ::File,
180
+ ?cache_control: ::String,
181
+ ?content_disposition: ::String,
182
+ ?content_encoding: ::String,
183
+ ?content_language: ::String,
184
+ ?content_length: ::Integer,
185
+ ?content_md5: ::String,
186
+ ?content_type: ::String,
187
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256"),
188
+ ?checksum_crc32: ::String,
189
+ ?checksum_crc32c: ::String,
190
+ ?checksum_sha1: ::String,
191
+ ?checksum_sha256: ::String,
192
+ ?expires: ::Time,
193
+ ?grant_full_control: ::String,
194
+ ?grant_read: ::String,
195
+ ?grant_read_acp: ::String,
196
+ ?grant_write_acp: ::String,
197
+ ?metadata: Hash[::String, ::String],
198
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
199
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
200
+ ?website_redirect_location: ::String,
201
+ ?sse_customer_algorithm: ::String,
202
+ ?sse_customer_key: ::String,
203
+ ?sse_customer_key_md5: ::String,
204
+ ?ssekms_key_id: ::String,
205
+ ?ssekms_encryption_context: ::String,
206
+ ?bucket_key_enabled: bool,
207
+ ?request_payer: ("requester"),
208
+ ?tagging: ::String,
209
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
210
+ ?object_lock_retain_until_date: ::Time,
211
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
212
+ ?expected_bucket_owner: ::String
213
+ ) -> Types::PutObjectOutput
214
+ | (?Hash[Symbol, untyped]) -> Types::PutObjectOutput
215
+
216
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#restore_object-instance_method
217
+ def restore_object: (
218
+ ?version_id: ::String,
219
+ ?restore_request: {
220
+ days: ::Integer?,
221
+ glacier_job_parameters: {
222
+ tier: ("Standard" | "Bulk" | "Expedited")
223
+ }?,
224
+ type: ("SELECT")?,
225
+ tier: ("Standard" | "Bulk" | "Expedited")?,
226
+ description: ::String?,
227
+ select_parameters: {
228
+ input_serialization: {
229
+ csv: {
230
+ file_header_info: ("USE" | "IGNORE" | "NONE")?,
231
+ comments: ::String?,
232
+ quote_escape_character: ::String?,
233
+ record_delimiter: ::String?,
234
+ field_delimiter: ::String?,
235
+ quote_character: ::String?,
236
+ allow_quoted_record_delimiter: bool?
237
+ }?,
238
+ compression_type: ("NONE" | "GZIP" | "BZIP2")?,
239
+ json: {
240
+ type: ("DOCUMENT" | "LINES")?
241
+ }?,
242
+ parquet: {
243
+ }?
244
+ },
245
+ expression_type: ("SQL"),
246
+ expression: ::String,
247
+ output_serialization: {
248
+ csv: {
249
+ quote_fields: ("ALWAYS" | "ASNEEDED")?,
250
+ quote_escape_character: ::String?,
251
+ record_delimiter: ::String?,
252
+ field_delimiter: ::String?,
253
+ quote_character: ::String?
254
+ }?,
255
+ json: {
256
+ record_delimiter: ::String?
257
+ }?
258
+ }
259
+ }?,
260
+ output_location: {
261
+ s3: {
262
+ bucket_name: ::String,
263
+ prefix: ::String,
264
+ encryption: {
265
+ encryption_type: ("AES256" | "aws:kms" | "aws:kms:dsse"),
266
+ kms_key_id: ::String?,
267
+ kms_context: ::String?
268
+ }?,
269
+ canned_acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control")?,
270
+ access_control_list: Array[
271
+ {
272
+ grantee: {
273
+ display_name: ::String?,
274
+ email_address: ::String?,
275
+ id: ::String?,
276
+ type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
277
+ uri: ::String?
278
+ }?,
279
+ permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
280
+ },
281
+ ]?,
282
+ tagging: {
283
+ tag_set: Array[
284
+ {
285
+ key: ::String,
286
+ value: ::String
287
+ },
288
+ ]
289
+ }?,
290
+ user_metadata: Array[
291
+ {
292
+ name: ::String?,
293
+ value: ::String?
294
+ },
295
+ ]?,
296
+ storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE")?
297
+ }?
298
+ }?
299
+ },
300
+ ?request_payer: ("requester"),
301
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256"),
302
+ ?expected_bucket_owner: ::String
303
+ ) -> Types::RestoreObjectOutput
304
+ | (?Hash[Symbol, untyped]) -> Types::RestoreObjectOutput
305
+
306
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#acl-instance_method
307
+ def acl: () -> ObjectAcl
308
+
309
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#bucket-instance_method
310
+ def bucket: () -> Bucket
311
+
312
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#multipart_upload-instance_method
313
+ def multipart_upload: (String id) -> MultipartUpload
314
+
315
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#object-instance_method
316
+ def object: () -> Object
317
+
318
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#version-instance_method
319
+ def version: (String id) -> ObjectVersion
320
+
321
+ class Collection < ::Aws::Resources::Collection[ObjectSummary]
322
+
323
+ def batch_delete!: (
324
+ ?mfa: ::String,
325
+ ?request_payer: ("requester"),
326
+ ?bypass_governance_retention: bool,
327
+ ?expected_bucket_owner: ::String,
328
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256")
329
+ ) -> void
330
+ | (?Hash[Symbol, untyped]) -> void
331
+ end
332
+ end
333
+ end
334
+ end
@@ -0,0 +1,137 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html
11
+ class ObjectVersion
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#initialize-instance_method
13
+ def initialize: (String bucket_name, String object_key, String id, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, object_key: String, id: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#object_key-instance_method
21
+ def object_key: () -> String
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#id-instance_method
24
+ def id: () -> String
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#etag-instance_method
27
+ def etag: () -> ::String
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#checksum_algorithm-instance_method
30
+ def checksum_algorithm: () -> ::Array[("CRC32" | "CRC32C" | "SHA1" | "SHA256")]
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#size-instance_method
33
+ def size: () -> ::Integer
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#storage_class-instance_method
36
+ def storage_class: () -> ("STANDARD")
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#key-instance_method
39
+ def key: () -> ::String
40
+
41
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#version_id-instance_method
42
+ def version_id: () -> ::String
43
+
44
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#is_latest-instance_method
45
+ def is_latest: () -> bool
46
+
47
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#last_modified-instance_method
48
+ def last_modified: () -> ::Time
49
+
50
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#owner-instance_method
51
+ def owner: () -> Types::Owner
52
+
53
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#restore_status-instance_method
54
+ def restore_status: () -> Types::RestoreStatus
55
+
56
+ def client: () -> Client
57
+
58
+
59
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#data-instance_method
60
+ def data: () -> Types::ObjectVersion
61
+
62
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#data_loaded?-instance_method
63
+ def data_loaded?: () -> bool
64
+
65
+
66
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#delete-instance_method
67
+ def delete: (
68
+ ?mfa: ::String,
69
+ ?request_payer: ("requester"),
70
+ ?bypass_governance_retention: bool,
71
+ ?expected_bucket_owner: ::String
72
+ ) -> Types::DeleteObjectOutput
73
+ | (?Hash[Symbol, untyped]) -> Types::DeleteObjectOutput
74
+
75
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#get-instance_method
76
+ def get: (
77
+ ?if_match: ::String,
78
+ ?if_modified_since: ::Time,
79
+ ?if_none_match: ::String,
80
+ ?if_unmodified_since: ::Time,
81
+ ?range: ::String,
82
+ ?response_cache_control: ::String,
83
+ ?response_content_disposition: ::String,
84
+ ?response_content_encoding: ::String,
85
+ ?response_content_language: ::String,
86
+ ?response_content_type: ::String,
87
+ ?response_expires: ::Time,
88
+ ?sse_customer_algorithm: ::String,
89
+ ?sse_customer_key: ::String,
90
+ ?sse_customer_key_md5: ::String,
91
+ ?request_payer: ("requester"),
92
+ ?part_number: ::Integer,
93
+ ?expected_bucket_owner: ::String,
94
+ ?checksum_mode: ("ENABLED")
95
+ ) -> Types::GetObjectOutput
96
+ | (?Hash[Symbol, untyped]) -> Types::GetObjectOutput
97
+
98
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#head-instance_method
99
+ def head: (
100
+ ?if_match: ::String,
101
+ ?if_modified_since: ::Time,
102
+ ?if_none_match: ::String,
103
+ ?if_unmodified_since: ::Time,
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,
111
+ ?sse_customer_algorithm: ::String,
112
+ ?sse_customer_key: ::String,
113
+ ?sse_customer_key_md5: ::String,
114
+ ?request_payer: ("requester"),
115
+ ?part_number: ::Integer,
116
+ ?expected_bucket_owner: ::String,
117
+ ?checksum_mode: ("ENABLED")
118
+ ) -> Types::HeadObjectOutput
119
+ | (?Hash[Symbol, untyped]) -> Types::HeadObjectOutput
120
+
121
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#object-instance_method
122
+ def object: () -> Object
123
+
124
+ class Collection < ::Aws::Resources::Collection[ObjectVersion]
125
+
126
+ def batch_delete!: (
127
+ ?mfa: ::String,
128
+ ?request_payer: ("requester"),
129
+ ?bypass_governance_retention: bool,
130
+ ?expected_bucket_owner: ::String,
131
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256")
132
+ ) -> void
133
+ | (?Hash[Symbol, untyped]) -> void
134
+ end
135
+ end
136
+ end
137
+ end
data/sig/resource.rbs ADDED
@@ -0,0 +1,127 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html
11
+ class Resource
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#initialize-instance_method
13
+ def initialize: (
14
+ ?client: Client,
15
+ ?credentials: untyped,
16
+ ?region: String,
17
+ ?access_grants: bool,
18
+ ?access_grants_credentials_provider: untyped,
19
+ ?access_key_id: String,
20
+ ?active_endpoint_cache: bool,
21
+ ?adaptive_retry_wait_to_fill: bool,
22
+ ?client_side_monitoring: bool,
23
+ ?client_side_monitoring_client_id: String,
24
+ ?client_side_monitoring_host: String,
25
+ ?client_side_monitoring_port: Integer,
26
+ ?client_side_monitoring_publisher: untyped,
27
+ ?compute_checksums: bool,
28
+ ?convert_params: bool,
29
+ ?correct_clock_skew: bool,
30
+ ?defaults_mode: String,
31
+ ?disable_host_prefix_injection: bool,
32
+ ?disable_request_compression: bool,
33
+ ?disable_s3_express_session_auth: bool,
34
+ ?endpoint: String,
35
+ ?endpoint_cache_max_entries: Integer,
36
+ ?endpoint_cache_max_threads: Integer,
37
+ ?endpoint_cache_poll_interval: Integer,
38
+ ?endpoint_discovery: bool,
39
+ ?event_stream_handler: Proc,
40
+ ?express_credentials_provider: untyped,
41
+ ?follow_redirects: bool,
42
+ ?force_path_style: bool,
43
+ ?ignore_configured_endpoint_urls: bool,
44
+ ?input_event_stream_handler: Proc,
45
+ ?log_formatter: untyped,
46
+ ?log_level: Symbol,
47
+ ?logger: untyped,
48
+ ?max_attempts: Integer,
49
+ ?output_event_stream_handler: Proc,
50
+ ?profile: String,
51
+ ?request_min_compression_size_bytes: Integer,
52
+ ?require_https_for_sse_cpk: bool,
53
+ ?retry_backoff: Proc,
54
+ ?retry_base_delay: Float,
55
+ ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
56
+ ?retry_limit: Integer,
57
+ ?retry_max_delay: Integer,
58
+ ?retry_mode: ("legacy" | "standard" | "adaptive"),
59
+ ?s3_disable_multiregion_access_points: bool,
60
+ ?s3_us_east_1_regional_endpoint: String,
61
+ ?s3_use_arn_region: bool,
62
+ ?sdk_ua_app_id: String,
63
+ ?secret_access_key: String,
64
+ ?session_token: String,
65
+ ?sigv4a_signing_region_set: Array[String],
66
+ ?stub_responses: untyped,
67
+ ?token_provider: untyped,
68
+ ?use_accelerate_endpoint: bool,
69
+ ?use_dualstack_endpoint: bool,
70
+ ?use_fips_endpoint: bool,
71
+ ?validate_params: bool,
72
+ ?endpoint_provider: untyped,
73
+ ?http_proxy: String,
74
+ ?http_open_timeout: (Float | Integer),
75
+ ?http_read_timeout: (Float | Integer),
76
+ ?http_idle_timeout: (Float | Integer),
77
+ ?http_continue_timeout: (Float | Integer),
78
+ ?ssl_timeout: (Float | Integer | nil),
79
+ ?http_wire_trace: bool,
80
+ ?ssl_verify_peer: bool,
81
+ ?ssl_ca_bundle: String,
82
+ ?ssl_ca_directory: String,
83
+ ?ssl_ca_store: String,
84
+ ?on_chunk_received: Proc,
85
+ ?on_chunk_sent: Proc,
86
+ ?raise_response_errors: bool
87
+ ) -> void
88
+ | (?Hash[Symbol, untyped]) -> void
89
+
90
+ def client: () -> Client
91
+
92
+
93
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#create_bucket-instance_method
94
+ def create_bucket: (
95
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read"),
96
+ bucket: ::String,
97
+ ?create_bucket_configuration: {
98
+ location_constraint: ("af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "EU" | "eu-central-1" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "me-south-1" | "sa-east-1" | "us-east-2" | "us-gov-east-1" | "us-gov-west-1" | "us-west-1" | "us-west-2")?,
99
+ location: {
100
+ type: ("AvailabilityZone")?,
101
+ name: ::String?
102
+ }?,
103
+ bucket: {
104
+ data_redundancy: ("SingleAvailabilityZone")?,
105
+ type: ("Directory")?
106
+ }?
107
+ },
108
+ ?grant_full_control: ::String,
109
+ ?grant_read: ::String,
110
+ ?grant_read_acp: ::String,
111
+ ?grant_write: ::String,
112
+ ?grant_write_acp: ::String,
113
+ ?object_lock_enabled_for_bucket: bool,
114
+ ?object_ownership: ("BucketOwnerPreferred" | "ObjectWriter" | "BucketOwnerEnforced")
115
+ ) -> Bucket
116
+ | (?Hash[Symbol, untyped]) -> Bucket
117
+
118
+
119
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#bucket-instance_method
120
+ def bucket: (String name) -> Bucket
121
+
122
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#buckets-instance_method
123
+ def buckets: () -> Bucket::Collection
124
+ | (?Hash[Symbol, untyped]) -> Bucket::Collection
125
+ end
126
+ end
127
+ end