aws-sdk-s3 1.122.0 → 1.157.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +238 -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 +250 -0
  6. data/lib/aws-sdk-s3/bucket.rb +507 -114
  7. data/lib/aws-sdk-s3/bucket_acl.rb +18 -12
  8. data/lib/aws-sdk-s3/bucket_cors.rb +24 -16
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -16
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +24 -16
  11. data/lib/aws-sdk-s3/bucket_logging.rb +25 -12
  12. data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +70 -18
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -12
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +24 -16
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +42 -32
  18. data/lib/aws-sdk-s3/bucket_website.rb +24 -16
  19. data/lib/aws-sdk-s3/client.rb +6048 -2781
  20. data/lib/aws-sdk-s3/client_api.rb +148 -20
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +16 -3
  23. data/lib/aws-sdk-s3/customizations/object.rb +91 -18
  24. data/lib/aws-sdk-s3/customizations.rb +8 -0
  25. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  26. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  29. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  30. data/lib/aws-sdk-s3/endpoint_parameters.rb +44 -0
  31. data/lib/aws-sdk-s3/endpoint_provider.rb +111 -252
  32. data/lib/aws-sdk-s3/endpoints.rb +540 -0
  33. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  34. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  35. data/lib/aws-sdk-s3/file_downloader.rb +169 -44
  36. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  37. data/lib/aws-sdk-s3/multipart_file_uploader.rb +4 -4
  38. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +10 -7
  39. data/lib/aws-sdk-s3/multipart_upload.rb +81 -20
  40. data/lib/aws-sdk-s3/multipart_upload_part.rb +169 -38
  41. data/lib/aws-sdk-s3/object.rb +1571 -261
  42. data/lib/aws-sdk-s3/object_acl.rb +38 -18
  43. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  44. data/lib/aws-sdk-s3/object_multipart_copier.rb +42 -24
  45. data/lib/aws-sdk-s3/object_summary.rb +1422 -276
  46. data/lib/aws-sdk-s3/object_version.rb +344 -47
  47. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  48. data/lib/aws-sdk-s3/plugins/endpoints.rb +14 -2
  49. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  50. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  51. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  52. data/lib/aws-sdk-s3/plugins/md5s.rb +2 -1
  53. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  54. data/lib/aws-sdk-s3/presigned_post.rb +52 -43
  55. data/lib/aws-sdk-s3/presigner.rb +8 -4
  56. data/lib/aws-sdk-s3/resource.rb +89 -13
  57. data/lib/aws-sdk-s3/types.rb +4879 -1513
  58. data/lib/aws-sdk-s3.rb +1 -1
  59. data/sig/bucket.rbs +212 -0
  60. data/sig/bucket_acl.rbs +78 -0
  61. data/sig/bucket_cors.rbs +69 -0
  62. data/sig/bucket_lifecycle.rbs +88 -0
  63. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  64. data/sig/bucket_logging.rbs +76 -0
  65. data/sig/bucket_notification.rbs +114 -0
  66. data/sig/bucket_policy.rbs +59 -0
  67. data/sig/bucket_request_payment.rbs +54 -0
  68. data/sig/bucket_tagging.rbs +65 -0
  69. data/sig/bucket_versioning.rbs +77 -0
  70. data/sig/bucket_website.rbs +93 -0
  71. data/sig/client.rbs +2381 -0
  72. data/sig/customizations/bucket.rbs +19 -0
  73. data/sig/customizations/object.rbs +38 -0
  74. data/sig/customizations/object_summary.rbs +35 -0
  75. data/sig/errors.rbs +34 -0
  76. data/sig/multipart_upload.rbs +110 -0
  77. data/sig/multipart_upload_part.rbs +105 -0
  78. data/sig/object.rbs +442 -0
  79. data/sig/object_acl.rbs +86 -0
  80. data/sig/object_summary.rbs +334 -0
  81. data/sig/object_version.rbs +137 -0
  82. data/sig/resource.rbs +127 -0
  83. data/sig/types.rbs +2568 -0
  84. data/sig/waiters.rbs +95 -0
  85. metadata +43 -11
data/sig/object.rbs ADDED
@@ -0,0 +1,442 @@
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/Object.html
11
+ class Object
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.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/Object.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#key-instance_method
21
+ def key: () -> String
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#delete_marker-instance_method
24
+ def delete_marker: () -> bool
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#accept_ranges-instance_method
27
+ def accept_ranges: () -> ::String
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#expiration-instance_method
30
+ def expiration: () -> ::String
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#restore-instance_method
33
+ def restore: () -> ::String
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#archive_status-instance_method
36
+ def archive_status: () -> ("ARCHIVE_ACCESS" | "DEEP_ARCHIVE_ACCESS")
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#last_modified-instance_method
39
+ def last_modified: () -> ::Time
40
+
41
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#content_length-instance_method
42
+ def content_length: () -> ::Integer
43
+
44
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#checksum_crc32-instance_method
45
+ def checksum_crc32: () -> ::String
46
+
47
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#checksum_crc32c-instance_method
48
+ def checksum_crc32c: () -> ::String
49
+
50
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#checksum_sha1-instance_method
51
+ def checksum_sha1: () -> ::String
52
+
53
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#checksum_sha256-instance_method
54
+ def checksum_sha256: () -> ::String
55
+
56
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#etag-instance_method
57
+ def etag: () -> ::String
58
+
59
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#missing_meta-instance_method
60
+ def missing_meta: () -> ::Integer
61
+
62
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#version_id-instance_method
63
+ def version_id: () -> ::String
64
+
65
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#cache_control-instance_method
66
+ def cache_control: () -> ::String
67
+
68
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#content_disposition-instance_method
69
+ def content_disposition: () -> ::String
70
+
71
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#content_encoding-instance_method
72
+ def content_encoding: () -> ::String
73
+
74
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#content_language-instance_method
75
+ def content_language: () -> ::String
76
+
77
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#content_type-instance_method
78
+ def content_type: () -> ::String
79
+
80
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#expires-instance_method
81
+ def expires: () -> ::Time
82
+
83
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#expires_string-instance_method
84
+ def expires_string: () -> ::String
85
+
86
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#website_redirect_location-instance_method
87
+ def website_redirect_location: () -> ::String
88
+
89
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#server_side_encryption-instance_method
90
+ def server_side_encryption: () -> ("AES256" | "aws:kms" | "aws:kms:dsse")
91
+
92
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#metadata-instance_method
93
+ def metadata: () -> ::Hash[::String, ::String]
94
+
95
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#sse_customer_algorithm-instance_method
96
+ def sse_customer_algorithm: () -> ::String
97
+
98
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#sse_customer_key_md5-instance_method
99
+ def sse_customer_key_md5: () -> ::String
100
+
101
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#ssekms_key_id-instance_method
102
+ def ssekms_key_id: () -> ::String
103
+
104
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#bucket_key_enabled-instance_method
105
+ def bucket_key_enabled: () -> bool
106
+
107
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#storage_class-instance_method
108
+ def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE")
109
+
110
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#request_charged-instance_method
111
+ def request_charged: () -> ("requester")
112
+
113
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#replication_status-instance_method
114
+ def replication_status: () -> ("COMPLETE" | "PENDING" | "FAILED" | "REPLICA" | "COMPLETED")
115
+
116
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#parts_count-instance_method
117
+ def parts_count: () -> ::Integer
118
+
119
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#object_lock_mode-instance_method
120
+ def object_lock_mode: () -> ("GOVERNANCE" | "COMPLIANCE")
121
+
122
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#object_lock_retain_until_date-instance_method
123
+ def object_lock_retain_until_date: () -> ::Time
124
+
125
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#object_lock_legal_hold_status-instance_method
126
+ def object_lock_legal_hold_status: () -> ("ON" | "OFF")
127
+
128
+ def client: () -> Client
129
+
130
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#load-instance_method
131
+ def load: () -> self
132
+ alias reload load
133
+
134
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#data-instance_method
135
+ def data: () -> Types::HeadObjectOutput
136
+
137
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#data_loaded?-instance_method
138
+ def data_loaded?: () -> bool
139
+
140
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#exists?-instance_method
141
+ def exists?: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) -> bool
142
+ | (?Hash[Symbol, untyped]) -> bool
143
+
144
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#wait_until_exists-instance_method
145
+ def wait_until_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Object
146
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Object
147
+
148
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#wait_until_not_exists-instance_method
149
+ 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 } -> Object
150
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Object
151
+
152
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#copy_from-instance_method
153
+ def copy_from: (
154
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
155
+ ?cache_control: ::String,
156
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256"),
157
+ ?content_disposition: ::String,
158
+ ?content_encoding: ::String,
159
+ ?content_language: ::String,
160
+ ?content_type: ::String,
161
+ copy_source: ::String,
162
+ ?copy_source_if_match: ::String,
163
+ ?copy_source_if_modified_since: ::Time,
164
+ ?copy_source_if_none_match: ::String,
165
+ ?copy_source_if_unmodified_since: ::Time,
166
+ ?expires: ::Time,
167
+ ?grant_full_control: ::String,
168
+ ?grant_read: ::String,
169
+ ?grant_read_acp: ::String,
170
+ ?grant_write_acp: ::String,
171
+ ?metadata: Hash[::String, ::String],
172
+ ?metadata_directive: ("COPY" | "REPLACE"),
173
+ ?tagging_directive: ("COPY" | "REPLACE"),
174
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
175
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
176
+ ?website_redirect_location: ::String,
177
+ ?sse_customer_algorithm: ::String,
178
+ ?sse_customer_key: ::String,
179
+ ?sse_customer_key_md5: ::String,
180
+ ?ssekms_key_id: ::String,
181
+ ?ssekms_encryption_context: ::String,
182
+ ?bucket_key_enabled: bool,
183
+ ?copy_source_sse_customer_algorithm: ::String,
184
+ ?copy_source_sse_customer_key: ::String,
185
+ ?copy_source_sse_customer_key_md5: ::String,
186
+ ?request_payer: ("requester"),
187
+ ?tagging: ::String,
188
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
189
+ ?object_lock_retain_until_date: ::Time,
190
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
191
+ ?expected_bucket_owner: ::String,
192
+ ?expected_source_bucket_owner: ::String
193
+ ) -> Types::CopyObjectOutput
194
+ | (?Hash[Symbol, untyped]) -> Types::CopyObjectOutput
195
+
196
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#delete-instance_method
197
+ def delete: (
198
+ ?mfa: ::String,
199
+ ?version_id: ::String,
200
+ ?request_payer: ("requester"),
201
+ ?bypass_governance_retention: bool,
202
+ ?expected_bucket_owner: ::String
203
+ ) -> Types::DeleteObjectOutput
204
+ | (?Hash[Symbol, untyped]) -> Types::DeleteObjectOutput
205
+
206
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#get-instance_method
207
+ def get: (
208
+ ?if_match: ::String,
209
+ ?if_modified_since: ::Time,
210
+ ?if_none_match: ::String,
211
+ ?if_unmodified_since: ::Time,
212
+ ?range: ::String,
213
+ ?response_cache_control: ::String,
214
+ ?response_content_disposition: ::String,
215
+ ?response_content_encoding: ::String,
216
+ ?response_content_language: ::String,
217
+ ?response_content_type: ::String,
218
+ ?response_expires: ::Time,
219
+ ?version_id: ::String,
220
+ ?sse_customer_algorithm: ::String,
221
+ ?sse_customer_key: ::String,
222
+ ?sse_customer_key_md5: ::String,
223
+ ?request_payer: ("requester"),
224
+ ?part_number: ::Integer,
225
+ ?expected_bucket_owner: ::String,
226
+ ?checksum_mode: ("ENABLED")
227
+ ) -> Types::GetObjectOutput
228
+ | (?Hash[Symbol, untyped]) -> Types::GetObjectOutput
229
+
230
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#initiate_multipart_upload-instance_method
231
+ def initiate_multipart_upload: (
232
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
233
+ ?cache_control: ::String,
234
+ ?content_disposition: ::String,
235
+ ?content_encoding: ::String,
236
+ ?content_language: ::String,
237
+ ?content_type: ::String,
238
+ ?expires: ::Time,
239
+ ?grant_full_control: ::String,
240
+ ?grant_read: ::String,
241
+ ?grant_read_acp: ::String,
242
+ ?grant_write_acp: ::String,
243
+ ?metadata: Hash[::String, ::String],
244
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
245
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
246
+ ?website_redirect_location: ::String,
247
+ ?sse_customer_algorithm: ::String,
248
+ ?sse_customer_key: ::String,
249
+ ?sse_customer_key_md5: ::String,
250
+ ?ssekms_key_id: ::String,
251
+ ?ssekms_encryption_context: ::String,
252
+ ?bucket_key_enabled: bool,
253
+ ?request_payer: ("requester"),
254
+ ?tagging: ::String,
255
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
256
+ ?object_lock_retain_until_date: ::Time,
257
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
258
+ ?expected_bucket_owner: ::String,
259
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256")
260
+ ) -> MultipartUpload
261
+ | (?Hash[Symbol, untyped]) -> MultipartUpload
262
+
263
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#put-instance_method
264
+ def put: (
265
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
266
+ ?body: ::String | ::StringIO | ::File,
267
+ ?cache_control: ::String,
268
+ ?content_disposition: ::String,
269
+ ?content_encoding: ::String,
270
+ ?content_language: ::String,
271
+ ?content_length: ::Integer,
272
+ ?content_md5: ::String,
273
+ ?content_type: ::String,
274
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256"),
275
+ ?checksum_crc32: ::String,
276
+ ?checksum_crc32c: ::String,
277
+ ?checksum_sha1: ::String,
278
+ ?checksum_sha256: ::String,
279
+ ?expires: ::Time,
280
+ ?grant_full_control: ::String,
281
+ ?grant_read: ::String,
282
+ ?grant_read_acp: ::String,
283
+ ?grant_write_acp: ::String,
284
+ ?metadata: Hash[::String, ::String],
285
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
286
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
287
+ ?website_redirect_location: ::String,
288
+ ?sse_customer_algorithm: ::String,
289
+ ?sse_customer_key: ::String,
290
+ ?sse_customer_key_md5: ::String,
291
+ ?ssekms_key_id: ::String,
292
+ ?ssekms_encryption_context: ::String,
293
+ ?bucket_key_enabled: bool,
294
+ ?request_payer: ("requester"),
295
+ ?tagging: ::String,
296
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
297
+ ?object_lock_retain_until_date: ::Time,
298
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
299
+ ?expected_bucket_owner: ::String
300
+ ) -> Types::PutObjectOutput
301
+ | (?Hash[Symbol, untyped]) -> Types::PutObjectOutput
302
+
303
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#restore_object-instance_method
304
+ def restore_object: (
305
+ ?version_id: ::String,
306
+ ?restore_request: {
307
+ days: ::Integer?,
308
+ glacier_job_parameters: {
309
+ tier: ("Standard" | "Bulk" | "Expedited")
310
+ }?,
311
+ type: ("SELECT")?,
312
+ tier: ("Standard" | "Bulk" | "Expedited")?,
313
+ description: ::String?,
314
+ select_parameters: {
315
+ input_serialization: {
316
+ csv: {
317
+ file_header_info: ("USE" | "IGNORE" | "NONE")?,
318
+ comments: ::String?,
319
+ quote_escape_character: ::String?,
320
+ record_delimiter: ::String?,
321
+ field_delimiter: ::String?,
322
+ quote_character: ::String?,
323
+ allow_quoted_record_delimiter: bool?
324
+ }?,
325
+ compression_type: ("NONE" | "GZIP" | "BZIP2")?,
326
+ json: {
327
+ type: ("DOCUMENT" | "LINES")?
328
+ }?,
329
+ parquet: {
330
+ }?
331
+ },
332
+ expression_type: ("SQL"),
333
+ expression: ::String,
334
+ output_serialization: {
335
+ csv: {
336
+ quote_fields: ("ALWAYS" | "ASNEEDED")?,
337
+ quote_escape_character: ::String?,
338
+ record_delimiter: ::String?,
339
+ field_delimiter: ::String?,
340
+ quote_character: ::String?
341
+ }?,
342
+ json: {
343
+ record_delimiter: ::String?
344
+ }?
345
+ }
346
+ }?,
347
+ output_location: {
348
+ s3: {
349
+ bucket_name: ::String,
350
+ prefix: ::String,
351
+ encryption: {
352
+ encryption_type: ("AES256" | "aws:kms" | "aws:kms:dsse"),
353
+ kms_key_id: ::String?,
354
+ kms_context: ::String?
355
+ }?,
356
+ canned_acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control")?,
357
+ access_control_list: Array[
358
+ {
359
+ grantee: {
360
+ display_name: ::String?,
361
+ email_address: ::String?,
362
+ id: ::String?,
363
+ type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
364
+ uri: ::String?
365
+ }?,
366
+ permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
367
+ },
368
+ ]?,
369
+ tagging: {
370
+ tag_set: Array[
371
+ {
372
+ key: ::String,
373
+ value: ::String
374
+ },
375
+ ]
376
+ }?,
377
+ user_metadata: Array[
378
+ {
379
+ name: ::String?,
380
+ value: ::String?
381
+ },
382
+ ]?,
383
+ storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE")?
384
+ }?
385
+ }?
386
+ },
387
+ ?request_payer: ("requester"),
388
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256"),
389
+ ?expected_bucket_owner: ::String
390
+ ) -> Types::RestoreObjectOutput
391
+ | (?Hash[Symbol, untyped]) -> Types::RestoreObjectOutput
392
+
393
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#head-instance_method
394
+ def head: (
395
+ ?if_match: ::String,
396
+ ?if_modified_since: ::Time,
397
+ ?if_none_match: ::String,
398
+ ?if_unmodified_since: ::Time,
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,
406
+ ?version_id: ::String,
407
+ ?sse_customer_algorithm: ::String,
408
+ ?sse_customer_key: ::String,
409
+ ?sse_customer_key_md5: ::String,
410
+ ?request_payer: ("requester"),
411
+ ?part_number: ::Integer,
412
+ ?expected_bucket_owner: ::String,
413
+ ?checksum_mode: ("ENABLED")
414
+ ) -> Types::HeadObjectOutput
415
+ | (?Hash[Symbol, untyped]) -> Types::HeadObjectOutput
416
+
417
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#acl-instance_method
418
+ def acl: () -> ObjectAcl
419
+
420
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#bucket-instance_method
421
+ def bucket: () -> Bucket
422
+
423
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#multipart_upload-instance_method
424
+ def multipart_upload: (String id) -> MultipartUpload
425
+
426
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#version-instance_method
427
+ def version: (String id) -> ObjectVersion
428
+
429
+ class Collection < ::Aws::Resources::Collection[Object]
430
+
431
+ def batch_delete!: (
432
+ ?mfa: ::String,
433
+ ?request_payer: ("requester"),
434
+ ?bypass_governance_retention: bool,
435
+ ?expected_bucket_owner: ::String,
436
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256")
437
+ ) -> void
438
+ | (?Hash[Symbol, untyped]) -> void
439
+ end
440
+ end
441
+ end
442
+ end
@@ -0,0 +1,86 @@
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/ObjectAcl.html
11
+ class ObjectAcl
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#initialize-instance_method
13
+ def initialize: (String bucket_name, String object_key, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, object_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/ObjectAcl.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#object_key-instance_method
21
+ def object_key: () -> String
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#owner-instance_method
24
+ def owner: () -> Types::Owner
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#grants-instance_method
27
+ def grants: () -> ::Array[Types::Grant]
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#request_charged-instance_method
30
+ def request_charged: () -> ("requester")
31
+
32
+ def client: () -> Client
33
+
34
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#load-instance_method
35
+ def load: () -> self
36
+ alias reload load
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#data-instance_method
39
+ def data: () -> Types::GetObjectAclOutput
40
+
41
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#data_loaded?-instance_method
42
+ def data_loaded?: () -> bool
43
+
44
+
45
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#put-instance_method
46
+ def put: (
47
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
48
+ ?access_control_policy: {
49
+ grants: Array[
50
+ {
51
+ grantee: {
52
+ display_name: ::String?,
53
+ email_address: ::String?,
54
+ id: ::String?,
55
+ type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
56
+ uri: ::String?
57
+ }?,
58
+ permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
59
+ },
60
+ ]?,
61
+ owner: {
62
+ display_name: ::String?,
63
+ id: ::String?
64
+ }?
65
+ },
66
+ ?content_md5: ::String,
67
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256"),
68
+ ?grant_full_control: ::String,
69
+ ?grant_read: ::String,
70
+ ?grant_read_acp: ::String,
71
+ ?grant_write: ::String,
72
+ ?grant_write_acp: ::String,
73
+ ?request_payer: ("requester"),
74
+ ?version_id: ::String,
75
+ ?expected_bucket_owner: ::String
76
+ ) -> Types::PutObjectAclOutput
77
+ | (?Hash[Symbol, untyped]) -> Types::PutObjectAclOutput
78
+
79
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectAcl.html#object-instance_method
80
+ def object: () -> Object
81
+
82
+ class Collection < ::Aws::Resources::Collection[ObjectAcl]
83
+ end
84
+ end
85
+ end
86
+ end