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
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