aws-sdk-s3 1.87.0 → 1.143.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1106 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/bucket.rb +605 -114
  6. data/lib/aws-sdk-s3/bucket_acl.rb +36 -11
  7. data/lib/aws-sdk-s3/bucket_cors.rb +40 -15
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +42 -15
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +43 -13
  10. data/lib/aws-sdk-s3/bucket_logging.rb +40 -11
  11. data/lib/aws-sdk-s3/bucket_notification.rb +30 -12
  12. data/lib/aws-sdk-s3/bucket_policy.rb +82 -13
  13. data/lib/aws-sdk-s3/bucket_request_payment.rb +35 -13
  14. data/lib/aws-sdk-s3/bucket_tagging.rb +38 -13
  15. data/lib/aws-sdk-s3/bucket_versioning.rb +82 -21
  16. data/lib/aws-sdk-s3/bucket_website.rb +38 -13
  17. data/lib/aws-sdk-s3/client.rb +8666 -3425
  18. data/lib/aws-sdk-s3/client_api.rb +774 -225
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +31 -50
  20. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  21. data/lib/aws-sdk-s3/customizations/object.rb +211 -37
  22. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  23. data/lib/aws-sdk-s3/customizations.rb +7 -0
  24. data/lib/aws-sdk-s3/encryption/client.rb +7 -3
  25. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  26. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +7 -3
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -4
  29. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +3 -3
  30. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  31. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  32. data/lib/aws-sdk-s3/endpoint_parameters.rb +178 -0
  33. data/lib/aws-sdk-s3/endpoint_provider.rb +591 -0
  34. data/lib/aws-sdk-s3/endpoints.rb +2590 -0
  35. data/lib/aws-sdk-s3/errors.rb +1 -1
  36. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  37. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  38. data/lib/aws-sdk-s3/express_credentials_cache.rb +30 -0
  39. data/lib/aws-sdk-s3/express_credentials_provider.rb +36 -0
  40. data/lib/aws-sdk-s3/file_downloader.rb +171 -41
  41. data/lib/aws-sdk-s3/file_uploader.rb +14 -7
  42. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -8
  43. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -14
  44. data/lib/aws-sdk-s3/multipart_upload.rb +198 -23
  45. data/lib/aws-sdk-s3/multipart_upload_part.rb +285 -34
  46. data/lib/aws-sdk-s3/object.rb +1824 -266
  47. data/lib/aws-sdk-s3/object_acl.rb +58 -19
  48. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  49. data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
  50. data/lib/aws-sdk-s3/object_summary.rb +1579 -299
  51. data/lib/aws-sdk-s3/object_version.rb +372 -64
  52. data/lib/aws-sdk-s3/plugins/accelerate.rb +1 -39
  53. data/lib/aws-sdk-s3/plugins/arn.rb +25 -142
  54. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  55. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  56. data/lib/aws-sdk-s3/plugins/dualstack.rb +2 -49
  57. data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
  58. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +3 -1
  59. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +91 -0
  60. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  61. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +8 -31
  62. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  63. data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
  64. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -102
  65. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  66. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  67. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  68. data/lib/aws-sdk-s3/presigner.rb +43 -51
  69. data/lib/aws-sdk-s3/resource.rb +102 -6
  70. data/lib/aws-sdk-s3/types.rb +7404 -5114
  71. data/lib/aws-sdk-s3/waiters.rb +1 -1
  72. data/lib/aws-sdk-s3.rb +6 -2
  73. data/sig/bucket.rbs +212 -0
  74. data/sig/bucket_acl.rbs +78 -0
  75. data/sig/bucket_cors.rbs +69 -0
  76. data/sig/bucket_lifecycle.rbs +88 -0
  77. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  78. data/sig/bucket_logging.rbs +76 -0
  79. data/sig/bucket_notification.rbs +114 -0
  80. data/sig/bucket_policy.rbs +59 -0
  81. data/sig/bucket_request_payment.rbs +54 -0
  82. data/sig/bucket_tagging.rbs +65 -0
  83. data/sig/bucket_versioning.rbs +77 -0
  84. data/sig/bucket_website.rbs +93 -0
  85. data/sig/client.rbs +2360 -0
  86. data/sig/errors.rbs +34 -0
  87. data/sig/multipart_upload.rbs +110 -0
  88. data/sig/multipart_upload_part.rbs +105 -0
  89. data/sig/object.rbs +436 -0
  90. data/sig/object_acl.rbs +86 -0
  91. data/sig/object_summary.rbs +334 -0
  92. data/sig/object_version.rbs +131 -0
  93. data/sig/resource.rbs +124 -0
  94. data/sig/types.rbs +2562 -0
  95. data/sig/waiters.rbs +83 -0
  96. metadata +51 -17
  97. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -62
  98. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -71
@@ -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,131 @@
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
+ ?sse_customer_algorithm: ::String,
106
+ ?sse_customer_key: ::String,
107
+ ?sse_customer_key_md5: ::String,
108
+ ?request_payer: ("requester"),
109
+ ?part_number: ::Integer,
110
+ ?expected_bucket_owner: ::String,
111
+ ?checksum_mode: ("ENABLED")
112
+ ) -> Types::HeadObjectOutput
113
+ | (?Hash[Symbol, untyped]) -> Types::HeadObjectOutput
114
+
115
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#object-instance_method
116
+ def object: () -> Object
117
+
118
+ class Collection < ::Aws::Resources::Collection[ObjectVersion]
119
+
120
+ def batch_delete!: (
121
+ ?mfa: ::String,
122
+ ?request_payer: ("requester"),
123
+ ?bypass_governance_retention: bool,
124
+ ?expected_bucket_owner: ::String,
125
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256")
126
+ ) -> void
127
+ | (?Hash[Symbol, untyped]) -> void
128
+ end
129
+ end
130
+ end
131
+ end
data/sig/resource.rbs ADDED
@@ -0,0 +1,124 @@
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_key_id: String,
18
+ ?active_endpoint_cache: bool,
19
+ ?adaptive_retry_wait_to_fill: bool,
20
+ ?client_side_monitoring: bool,
21
+ ?client_side_monitoring_client_id: String,
22
+ ?client_side_monitoring_host: String,
23
+ ?client_side_monitoring_port: Integer,
24
+ ?client_side_monitoring_publisher: untyped,
25
+ ?compute_checksums: bool,
26
+ ?convert_params: bool,
27
+ ?correct_clock_skew: bool,
28
+ ?defaults_mode: String,
29
+ ?disable_host_prefix_injection: bool,
30
+ ?disable_request_compression: bool,
31
+ ?disable_s3_express_session_auth: bool,
32
+ ?endpoint: String,
33
+ ?endpoint_cache_max_entries: Integer,
34
+ ?endpoint_cache_max_threads: Integer,
35
+ ?endpoint_cache_poll_interval: Integer,
36
+ ?endpoint_discovery: bool,
37
+ ?event_stream_handler: Proc,
38
+ ?express_credentials_provider: untyped,
39
+ ?follow_redirects: bool,
40
+ ?force_path_style: bool,
41
+ ?ignore_configured_endpoint_urls: bool,
42
+ ?input_event_stream_handler: Proc,
43
+ ?log_formatter: untyped,
44
+ ?log_level: Symbol,
45
+ ?logger: untyped,
46
+ ?max_attempts: Integer,
47
+ ?output_event_stream_handler: Proc,
48
+ ?profile: String,
49
+ ?request_min_compression_size_bytes: Integer,
50
+ ?require_https_for_sse_cpk: bool,
51
+ ?retry_backoff: Proc,
52
+ ?retry_base_delay: Float,
53
+ ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
54
+ ?retry_limit: Integer,
55
+ ?retry_max_delay: Integer,
56
+ ?retry_mode: ("legacy" | "standard" | "adaptive"),
57
+ ?s3_disable_multiregion_access_points: bool,
58
+ ?s3_us_east_1_regional_endpoint: String,
59
+ ?s3_use_arn_region: bool,
60
+ ?sdk_ua_app_id: String,
61
+ ?secret_access_key: String,
62
+ ?session_token: String,
63
+ ?stub_responses: untyped,
64
+ ?token_provider: untyped,
65
+ ?use_accelerate_endpoint: bool,
66
+ ?use_dualstack_endpoint: bool,
67
+ ?use_fips_endpoint: bool,
68
+ ?validate_params: bool,
69
+ ?endpoint_provider: untyped,
70
+ ?http_proxy: String,
71
+ ?http_open_timeout: (Float | Integer),
72
+ ?http_read_timeout: (Float | Integer),
73
+ ?http_idle_timeout: (Float | Integer),
74
+ ?http_continue_timeout: (Float | Integer),
75
+ ?ssl_timeout: (Float | Integer | nil),
76
+ ?http_wire_trace: bool,
77
+ ?ssl_verify_peer: bool,
78
+ ?ssl_ca_bundle: String,
79
+ ?ssl_ca_directory: String,
80
+ ?ssl_ca_store: String,
81
+ ?on_chunk_received: Proc,
82
+ ?on_chunk_sent: Proc,
83
+ ?raise_response_errors: bool
84
+ ) -> void
85
+ | (?Hash[Symbol, untyped]) -> void
86
+
87
+ def client: () -> Client
88
+
89
+
90
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#create_bucket-instance_method
91
+ def create_bucket: (
92
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read"),
93
+ bucket: ::String,
94
+ ?create_bucket_configuration: {
95
+ 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")?,
96
+ location: {
97
+ type: ("AvailabilityZone")?,
98
+ name: ::String?
99
+ }?,
100
+ bucket: {
101
+ data_redundancy: ("SingleAvailabilityZone")?,
102
+ type: ("Directory")?
103
+ }?
104
+ },
105
+ ?grant_full_control: ::String,
106
+ ?grant_read: ::String,
107
+ ?grant_read_acp: ::String,
108
+ ?grant_write: ::String,
109
+ ?grant_write_acp: ::String,
110
+ ?object_lock_enabled_for_bucket: bool,
111
+ ?object_ownership: ("BucketOwnerPreferred" | "ObjectWriter" | "BucketOwnerEnforced")
112
+ ) -> Bucket
113
+ | (?Hash[Symbol, untyped]) -> Bucket
114
+
115
+
116
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#bucket-instance_method
117
+ def bucket: (String name) -> Bucket
118
+
119
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#buckets-instance_method
120
+ def buckets: () -> Bucket::Collection
121
+ | (?Hash[Symbol, untyped]) -> Bucket::Collection
122
+ end
123
+ end
124
+ end