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