aws-sdk-s3 1.128.0 → 1.199.1

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