aws-sdk-s3 1.48.0 → 1.183.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 (134) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1352 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  6. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
  7. data/lib/aws-sdk-s3/bucket.rb +1005 -106
  8. data/lib/aws-sdk-s3/bucket_acl.rb +65 -18
  9. data/lib/aws-sdk-s3/bucket_cors.rb +80 -18
  10. data/lib/aws-sdk-s3/bucket_lifecycle.rb +71 -20
  11. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +126 -21
  12. data/lib/aws-sdk-s3/bucket_logging.rb +68 -16
  13. data/lib/aws-sdk-s3/bucket_notification.rb +52 -20
  14. data/lib/aws-sdk-s3/bucket_policy.rb +108 -17
  15. data/lib/aws-sdk-s3/bucket_region_cache.rb +11 -5
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +60 -15
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +71 -18
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +133 -17
  19. data/lib/aws-sdk-s3/bucket_website.rb +78 -21
  20. data/lib/aws-sdk-s3/client.rb +14517 -941
  21. data/lib/aws-sdk-s3/client_api.rb +1296 -197
  22. data/lib/aws-sdk-s3/customizations/bucket.rb +56 -37
  23. data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
  24. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
  25. data/lib/aws-sdk-s3/customizations/object.rb +288 -68
  26. data/lib/aws-sdk-s3/customizations/object_summary.rb +10 -0
  27. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  28. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
  29. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  30. data/lib/aws-sdk-s3/customizations.rb +27 -28
  31. data/lib/aws-sdk-s3/encryption/client.rb +28 -7
  32. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +71 -29
  33. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +43 -5
  34. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
  35. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +13 -2
  36. data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
  37. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +2 -0
  38. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +11 -3
  39. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
  40. data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
  41. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +46 -11
  42. data/lib/aws-sdk-s3/encryption/materials.rb +8 -6
  43. data/lib/aws-sdk-s3/encryption/utils.rb +25 -0
  44. data/lib/aws-sdk-s3/encryption.rb +4 -0
  45. data/lib/aws-sdk-s3/encryptionV2/client.rb +570 -0
  46. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +223 -0
  47. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +170 -0
  48. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +40 -0
  49. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +65 -0
  50. data/lib/aws-sdk-s3/encryptionV2/errors.rb +37 -0
  51. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +58 -0
  52. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +37 -0
  53. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +73 -0
  54. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +31 -0
  55. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +173 -0
  56. data/lib/aws-sdk-s3/encryptionV2/materials.rb +60 -0
  57. data/lib/aws-sdk-s3/encryptionV2/utils.rb +103 -0
  58. data/lib/aws-sdk-s3/encryption_v2.rb +23 -0
  59. data/lib/aws-sdk-s3/endpoint_parameters.rb +181 -0
  60. data/lib/aws-sdk-s3/endpoint_provider.rb +716 -0
  61. data/lib/aws-sdk-s3/endpoints.rb +1434 -0
  62. data/lib/aws-sdk-s3/errors.rb +170 -1
  63. data/lib/aws-sdk-s3/event_streams.rb +8 -1
  64. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  65. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  66. data/lib/aws-sdk-s3/file_downloader.rb +161 -46
  67. data/lib/aws-sdk-s3/file_part.rb +11 -6
  68. data/lib/aws-sdk-s3/file_uploader.rb +39 -18
  69. data/lib/aws-sdk-s3/legacy_signer.rb +17 -25
  70. data/lib/aws-sdk-s3/multipart_file_uploader.rb +104 -27
  71. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +61 -21
  72. data/lib/aws-sdk-s3/multipart_upload.rb +342 -32
  73. data/lib/aws-sdk-s3/multipart_upload_error.rb +2 -0
  74. data/lib/aws-sdk-s3/multipart_upload_part.rb +384 -46
  75. data/lib/aws-sdk-s3/object.rb +2600 -231
  76. data/lib/aws-sdk-s3/object_acl.rb +103 -25
  77. data/lib/aws-sdk-s3/object_copier.rb +9 -5
  78. data/lib/aws-sdk-s3/object_multipart_copier.rb +48 -22
  79. data/lib/aws-sdk-s3/object_summary.rb +2174 -204
  80. data/lib/aws-sdk-s3/object_version.rb +539 -80
  81. data/lib/aws-sdk-s3/plugins/accelerate.rb +17 -64
  82. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  83. data/lib/aws-sdk-s3/plugins/arn.rb +70 -0
  84. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +7 -43
  85. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +20 -3
  86. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  87. data/lib/aws-sdk-s3/plugins/dualstack.rb +7 -50
  88. data/lib/aws-sdk-s3/plugins/endpoints.rb +86 -0
  89. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +5 -4
  90. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  91. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +3 -1
  92. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +62 -17
  93. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +44 -0
  94. data/lib/aws-sdk-s3/plugins/location_constraint.rb +5 -1
  95. data/lib/aws-sdk-s3/plugins/md5s.rb +14 -70
  96. data/lib/aws-sdk-s3/plugins/redirects.rb +2 -0
  97. data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
  98. data/lib/aws-sdk-s3/plugins/s3_signer.rb +63 -94
  99. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +3 -1
  100. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +139 -0
  101. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -0
  102. data/lib/aws-sdk-s3/presigned_post.rb +160 -99
  103. data/lib/aws-sdk-s3/presigner.rb +141 -62
  104. data/lib/aws-sdk-s3/resource.rb +156 -17
  105. data/lib/aws-sdk-s3/types.rb +13021 -4106
  106. data/lib/aws-sdk-s3/waiters.rb +67 -1
  107. data/lib/aws-sdk-s3.rb +46 -32
  108. data/sig/bucket.rbs +222 -0
  109. data/sig/bucket_acl.rbs +78 -0
  110. data/sig/bucket_cors.rbs +69 -0
  111. data/sig/bucket_lifecycle.rbs +88 -0
  112. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  113. data/sig/bucket_logging.rbs +76 -0
  114. data/sig/bucket_notification.rbs +114 -0
  115. data/sig/bucket_policy.rbs +59 -0
  116. data/sig/bucket_request_payment.rbs +54 -0
  117. data/sig/bucket_tagging.rbs +65 -0
  118. data/sig/bucket_versioning.rbs +77 -0
  119. data/sig/bucket_website.rbs +93 -0
  120. data/sig/client.rbs +2472 -0
  121. data/sig/customizations/bucket.rbs +19 -0
  122. data/sig/customizations/object.rbs +38 -0
  123. data/sig/customizations/object_summary.rbs +35 -0
  124. data/sig/errors.rbs +42 -0
  125. data/sig/multipart_upload.rbs +120 -0
  126. data/sig/multipart_upload_part.rbs +109 -0
  127. data/sig/object.rbs +459 -0
  128. data/sig/object_acl.rbs +86 -0
  129. data/sig/object_summary.rbs +345 -0
  130. data/sig/object_version.rbs +143 -0
  131. data/sig/resource.rbs +134 -0
  132. data/sig/types.rbs +2712 -0
  133. data/sig/waiters.rbs +95 -0
  134. metadata +74 -15
@@ -0,0 +1,345 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html
11
+ class ObjectSummary
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#initialize-instance_method
13
+ def initialize: (String bucket_name, String key, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, key: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#key-instance_method
21
+ def key: () -> String
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#last_modified-instance_method
24
+ def last_modified: () -> ::Time
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#etag-instance_method
27
+ def etag: () -> ::String
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#checksum_algorithm-instance_method
30
+ def checksum_algorithm: () -> ::Array[("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME")]
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#checksum_type-instance_method
33
+ def checksum_type: () -> ("COMPOSITE" | "FULL_OBJECT")
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#size-instance_method
36
+ def size: () -> ::Integer
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#storage_class-instance_method
39
+ def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "GLACIER" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE")
40
+
41
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#owner-instance_method
42
+ def owner: () -> Types::Owner
43
+
44
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#restore_status-instance_method
45
+ def restore_status: () -> Types::RestoreStatus
46
+
47
+ def client: () -> Client
48
+
49
+
50
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#data-instance_method
51
+ def data: () -> Types::Object
52
+
53
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#data_loaded?-instance_method
54
+ def data_loaded?: () -> bool
55
+
56
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#exists?-instance_method
57
+ def exists?: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) -> bool
58
+ | (?Hash[Symbol, untyped]) -> bool
59
+
60
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#wait_until_exists-instance_method
61
+ def wait_until_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> ObjectSummary
62
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> ObjectSummary
63
+
64
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#wait_until_not_exists-instance_method
65
+ def wait_until_not_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> ObjectSummary
66
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> ObjectSummary
67
+
68
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#copy_from-instance_method
69
+ def copy_from: (
70
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
71
+ ?cache_control: ::String,
72
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
73
+ ?content_disposition: ::String,
74
+ ?content_encoding: ::String,
75
+ ?content_language: ::String,
76
+ ?content_type: ::String,
77
+ copy_source: ::String,
78
+ ?copy_source_if_match: ::String,
79
+ ?copy_source_if_modified_since: ::Time,
80
+ ?copy_source_if_none_match: ::String,
81
+ ?copy_source_if_unmodified_since: ::Time,
82
+ ?expires: ::Time,
83
+ ?grant_full_control: ::String,
84
+ ?grant_read: ::String,
85
+ ?grant_read_acp: ::String,
86
+ ?grant_write_acp: ::String,
87
+ ?metadata: Hash[::String, ::String],
88
+ ?metadata_directive: ("COPY" | "REPLACE"),
89
+ ?tagging_directive: ("COPY" | "REPLACE"),
90
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
91
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
92
+ ?website_redirect_location: ::String,
93
+ ?sse_customer_algorithm: ::String,
94
+ ?sse_customer_key: ::String,
95
+ ?sse_customer_key_md5: ::String,
96
+ ?ssekms_key_id: ::String,
97
+ ?ssekms_encryption_context: ::String,
98
+ ?bucket_key_enabled: bool,
99
+ ?copy_source_sse_customer_algorithm: ::String,
100
+ ?copy_source_sse_customer_key: ::String,
101
+ ?copy_source_sse_customer_key_md5: ::String,
102
+ ?request_payer: ("requester"),
103
+ ?tagging: ::String,
104
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
105
+ ?object_lock_retain_until_date: ::Time,
106
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
107
+ ?expected_bucket_owner: ::String,
108
+ ?expected_source_bucket_owner: ::String
109
+ ) -> Types::CopyObjectOutput
110
+ | (?Hash[Symbol, untyped]) -> Types::CopyObjectOutput
111
+
112
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#delete-instance_method
113
+ def delete: (
114
+ ?mfa: ::String,
115
+ ?version_id: ::String,
116
+ ?request_payer: ("requester"),
117
+ ?bypass_governance_retention: bool,
118
+ ?expected_bucket_owner: ::String,
119
+ ?if_match: ::String,
120
+ ?if_match_last_modified_time: ::Time,
121
+ ?if_match_size: ::Integer
122
+ ) -> Types::DeleteObjectOutput
123
+ | (?Hash[Symbol, untyped]) -> Types::DeleteObjectOutput
124
+
125
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#get-instance_method
126
+ def get: (
127
+ ?if_match: ::String,
128
+ ?if_modified_since: ::Time,
129
+ ?if_none_match: ::String,
130
+ ?if_unmodified_since: ::Time,
131
+ ?range: ::String,
132
+ ?response_cache_control: ::String,
133
+ ?response_content_disposition: ::String,
134
+ ?response_content_encoding: ::String,
135
+ ?response_content_language: ::String,
136
+ ?response_content_type: ::String,
137
+ ?response_expires: ::Time,
138
+ ?version_id: ::String,
139
+ ?sse_customer_algorithm: ::String,
140
+ ?sse_customer_key: ::String,
141
+ ?sse_customer_key_md5: ::String,
142
+ ?request_payer: ("requester"),
143
+ ?part_number: ::Integer,
144
+ ?expected_bucket_owner: ::String,
145
+ ?checksum_mode: ("ENABLED")
146
+ ) -> Types::GetObjectOutput
147
+ | (?Hash[Symbol, untyped]) -> Types::GetObjectOutput
148
+
149
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#initiate_multipart_upload-instance_method
150
+ def initiate_multipart_upload: (
151
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
152
+ ?cache_control: ::String,
153
+ ?content_disposition: ::String,
154
+ ?content_encoding: ::String,
155
+ ?content_language: ::String,
156
+ ?content_type: ::String,
157
+ ?expires: ::Time,
158
+ ?grant_full_control: ::String,
159
+ ?grant_read: ::String,
160
+ ?grant_read_acp: ::String,
161
+ ?grant_write_acp: ::String,
162
+ ?metadata: Hash[::String, ::String],
163
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
164
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
165
+ ?website_redirect_location: ::String,
166
+ ?sse_customer_algorithm: ::String,
167
+ ?sse_customer_key: ::String,
168
+ ?sse_customer_key_md5: ::String,
169
+ ?ssekms_key_id: ::String,
170
+ ?ssekms_encryption_context: ::String,
171
+ ?bucket_key_enabled: bool,
172
+ ?request_payer: ("requester"),
173
+ ?tagging: ::String,
174
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
175
+ ?object_lock_retain_until_date: ::Time,
176
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
177
+ ?expected_bucket_owner: ::String,
178
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
179
+ ?checksum_type: ("COMPOSITE" | "FULL_OBJECT")
180
+ ) -> MultipartUpload
181
+ | (?Hash[Symbol, untyped]) -> MultipartUpload
182
+
183
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#put-instance_method
184
+ def put: (
185
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
186
+ ?body: ::String | ::StringIO | ::File,
187
+ ?cache_control: ::String,
188
+ ?content_disposition: ::String,
189
+ ?content_encoding: ::String,
190
+ ?content_language: ::String,
191
+ ?content_length: ::Integer,
192
+ ?content_md5: ::String,
193
+ ?content_type: ::String,
194
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
195
+ ?checksum_crc32: ::String,
196
+ ?checksum_crc32c: ::String,
197
+ ?checksum_crc64nvme: ::String,
198
+ ?checksum_sha1: ::String,
199
+ ?checksum_sha256: ::String,
200
+ ?expires: ::Time,
201
+ ?if_match: ::String,
202
+ ?if_none_match: ::String,
203
+ ?grant_full_control: ::String,
204
+ ?grant_read: ::String,
205
+ ?grant_read_acp: ::String,
206
+ ?grant_write_acp: ::String,
207
+ ?write_offset_bytes: ::Integer,
208
+ ?metadata: Hash[::String, ::String],
209
+ ?server_side_encryption: ("AES256" | "aws:kms" | "aws:kms:dsse"),
210
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE"),
211
+ ?website_redirect_location: ::String,
212
+ ?sse_customer_algorithm: ::String,
213
+ ?sse_customer_key: ::String,
214
+ ?sse_customer_key_md5: ::String,
215
+ ?ssekms_key_id: ::String,
216
+ ?ssekms_encryption_context: ::String,
217
+ ?bucket_key_enabled: bool,
218
+ ?request_payer: ("requester"),
219
+ ?tagging: ::String,
220
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
221
+ ?object_lock_retain_until_date: ::Time,
222
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
223
+ ?expected_bucket_owner: ::String
224
+ ) -> Types::PutObjectOutput
225
+ | (?Hash[Symbol, untyped]) -> Types::PutObjectOutput
226
+
227
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#restore_object-instance_method
228
+ def restore_object: (
229
+ ?version_id: ::String,
230
+ ?restore_request: {
231
+ days: ::Integer?,
232
+ glacier_job_parameters: {
233
+ tier: ("Standard" | "Bulk" | "Expedited")
234
+ }?,
235
+ type: ("SELECT")?,
236
+ tier: ("Standard" | "Bulk" | "Expedited")?,
237
+ description: ::String?,
238
+ select_parameters: {
239
+ input_serialization: {
240
+ csv: {
241
+ file_header_info: ("USE" | "IGNORE" | "NONE")?,
242
+ comments: ::String?,
243
+ quote_escape_character: ::String?,
244
+ record_delimiter: ::String?,
245
+ field_delimiter: ::String?,
246
+ quote_character: ::String?,
247
+ allow_quoted_record_delimiter: bool?
248
+ }?,
249
+ compression_type: ("NONE" | "GZIP" | "BZIP2")?,
250
+ json: {
251
+ type: ("DOCUMENT" | "LINES")?
252
+ }?,
253
+ parquet: {
254
+ }?
255
+ },
256
+ expression_type: ("SQL"),
257
+ expression: ::String,
258
+ output_serialization: {
259
+ csv: {
260
+ quote_fields: ("ALWAYS" | "ASNEEDED")?,
261
+ quote_escape_character: ::String?,
262
+ record_delimiter: ::String?,
263
+ field_delimiter: ::String?,
264
+ quote_character: ::String?
265
+ }?,
266
+ json: {
267
+ record_delimiter: ::String?
268
+ }?
269
+ }
270
+ }?,
271
+ output_location: {
272
+ s3: {
273
+ bucket_name: ::String,
274
+ prefix: ::String,
275
+ encryption: {
276
+ encryption_type: ("AES256" | "aws:kms" | "aws:kms:dsse"),
277
+ kms_key_id: ::String?,
278
+ kms_context: ::String?
279
+ }?,
280
+ canned_acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control")?,
281
+ access_control_list: Array[
282
+ {
283
+ grantee: {
284
+ display_name: ::String?,
285
+ email_address: ::String?,
286
+ id: ::String?,
287
+ type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
288
+ uri: ::String?
289
+ }?,
290
+ permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
291
+ },
292
+ ]?,
293
+ tagging: {
294
+ tag_set: Array[
295
+ {
296
+ key: ::String,
297
+ value: ::String
298
+ },
299
+ ]
300
+ }?,
301
+ user_metadata: Array[
302
+ {
303
+ name: ::String?,
304
+ value: ::String?
305
+ },
306
+ ]?,
307
+ storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE")?
308
+ }?
309
+ }?
310
+ },
311
+ ?request_payer: ("requester"),
312
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
313
+ ?expected_bucket_owner: ::String
314
+ ) -> Types::RestoreObjectOutput
315
+ | (?Hash[Symbol, untyped]) -> Types::RestoreObjectOutput
316
+
317
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#acl-instance_method
318
+ def acl: () -> ObjectAcl
319
+
320
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#bucket-instance_method
321
+ def bucket: () -> Bucket
322
+
323
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#multipart_upload-instance_method
324
+ def multipart_upload: (String id) -> MultipartUpload
325
+
326
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#object-instance_method
327
+ def object: () -> Object
328
+
329
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectSummary.html#version-instance_method
330
+ def version: (String id) -> ObjectVersion
331
+
332
+ class Collection < ::Aws::Resources::Collection[ObjectSummary]
333
+
334
+ def batch_delete!: (
335
+ ?mfa: ::String,
336
+ ?request_payer: ("requester"),
337
+ ?bypass_governance_retention: bool,
338
+ ?expected_bucket_owner: ::String,
339
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME")
340
+ ) -> void
341
+ | (?Hash[Symbol, untyped]) -> void
342
+ end
343
+ end
344
+ end
345
+ end
@@ -0,0 +1,143 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html
11
+ class ObjectVersion
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#initialize-instance_method
13
+ def initialize: (String bucket_name, String object_key, String id, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, object_key: String, id: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#object_key-instance_method
21
+ def object_key: () -> String
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#id-instance_method
24
+ def id: () -> String
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#etag-instance_method
27
+ def etag: () -> ::String
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#checksum_algorithm-instance_method
30
+ def checksum_algorithm: () -> ::Array[("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME")]
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#checksum_type-instance_method
33
+ def checksum_type: () -> ("COMPOSITE" | "FULL_OBJECT")
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#size-instance_method
36
+ def size: () -> ::Integer
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#storage_class-instance_method
39
+ def storage_class: () -> ("STANDARD")
40
+
41
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#key-instance_method
42
+ def key: () -> ::String
43
+
44
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#version_id-instance_method
45
+ def version_id: () -> ::String
46
+
47
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#is_latest-instance_method
48
+ def is_latest: () -> bool
49
+
50
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#last_modified-instance_method
51
+ def last_modified: () -> ::Time
52
+
53
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#owner-instance_method
54
+ def owner: () -> Types::Owner
55
+
56
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#restore_status-instance_method
57
+ def restore_status: () -> Types::RestoreStatus
58
+
59
+ def client: () -> Client
60
+
61
+
62
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#data-instance_method
63
+ def data: () -> Types::ObjectVersion
64
+
65
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#data_loaded?-instance_method
66
+ def data_loaded?: () -> bool
67
+
68
+
69
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#delete-instance_method
70
+ def delete: (
71
+ ?mfa: ::String,
72
+ ?request_payer: ("requester"),
73
+ ?bypass_governance_retention: bool,
74
+ ?expected_bucket_owner: ::String,
75
+ ?if_match: ::String,
76
+ ?if_match_last_modified_time: ::Time,
77
+ ?if_match_size: ::Integer
78
+ ) -> Types::DeleteObjectOutput
79
+ | (?Hash[Symbol, untyped]) -> Types::DeleteObjectOutput
80
+
81
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#get-instance_method
82
+ def get: (
83
+ ?if_match: ::String,
84
+ ?if_modified_since: ::Time,
85
+ ?if_none_match: ::String,
86
+ ?if_unmodified_since: ::Time,
87
+ ?range: ::String,
88
+ ?response_cache_control: ::String,
89
+ ?response_content_disposition: ::String,
90
+ ?response_content_encoding: ::String,
91
+ ?response_content_language: ::String,
92
+ ?response_content_type: ::String,
93
+ ?response_expires: ::Time,
94
+ ?sse_customer_algorithm: ::String,
95
+ ?sse_customer_key: ::String,
96
+ ?sse_customer_key_md5: ::String,
97
+ ?request_payer: ("requester"),
98
+ ?part_number: ::Integer,
99
+ ?expected_bucket_owner: ::String,
100
+ ?checksum_mode: ("ENABLED")
101
+ ) -> Types::GetObjectOutput
102
+ | (?Hash[Symbol, untyped]) -> Types::GetObjectOutput
103
+
104
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#head-instance_method
105
+ def head: (
106
+ ?if_match: ::String,
107
+ ?if_modified_since: ::Time,
108
+ ?if_none_match: ::String,
109
+ ?if_unmodified_since: ::Time,
110
+ ?range: ::String,
111
+ ?response_cache_control: ::String,
112
+ ?response_content_disposition: ::String,
113
+ ?response_content_encoding: ::String,
114
+ ?response_content_language: ::String,
115
+ ?response_content_type: ::String,
116
+ ?response_expires: ::Time,
117
+ ?sse_customer_algorithm: ::String,
118
+ ?sse_customer_key: ::String,
119
+ ?sse_customer_key_md5: ::String,
120
+ ?request_payer: ("requester"),
121
+ ?part_number: ::Integer,
122
+ ?expected_bucket_owner: ::String,
123
+ ?checksum_mode: ("ENABLED")
124
+ ) -> Types::HeadObjectOutput
125
+ | (?Hash[Symbol, untyped]) -> Types::HeadObjectOutput
126
+
127
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/ObjectVersion.html#object-instance_method
128
+ def object: () -> Object
129
+
130
+ class Collection < ::Aws::Resources::Collection[ObjectVersion]
131
+
132
+ def batch_delete!: (
133
+ ?mfa: ::String,
134
+ ?request_payer: ("requester"),
135
+ ?bypass_governance_retention: bool,
136
+ ?expected_bucket_owner: ::String,
137
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME")
138
+ ) -> void
139
+ | (?Hash[Symbol, untyped]) -> void
140
+ end
141
+ end
142
+ end
143
+ end
data/sig/resource.rbs ADDED
@@ -0,0 +1,134 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html
11
+ class Resource
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#initialize-instance_method
13
+ def initialize: (
14
+ ?client: Client,
15
+ ?credentials: untyped,
16
+ ?region: String,
17
+ ?access_grants: bool,
18
+ ?access_grants_credentials_provider: untyped,
19
+ ?access_key_id: String,
20
+ ?account_id: String,
21
+ ?active_endpoint_cache: bool,
22
+ ?adaptive_retry_wait_to_fill: bool,
23
+ ?client_side_monitoring: bool,
24
+ ?client_side_monitoring_client_id: String,
25
+ ?client_side_monitoring_host: String,
26
+ ?client_side_monitoring_port: Integer,
27
+ ?client_side_monitoring_publisher: untyped,
28
+ ?compute_checksums: bool,
29
+ ?convert_params: bool,
30
+ ?correct_clock_skew: bool,
31
+ ?defaults_mode: String,
32
+ ?disable_host_prefix_injection: bool,
33
+ ?disable_request_compression: bool,
34
+ ?disable_s3_express_session_auth: bool,
35
+ ?endpoint: String,
36
+ ?endpoint_cache_max_entries: Integer,
37
+ ?endpoint_cache_max_threads: Integer,
38
+ ?endpoint_cache_poll_interval: Integer,
39
+ ?endpoint_discovery: bool,
40
+ ?event_stream_handler: Proc,
41
+ ?express_credentials_provider: untyped,
42
+ ?follow_redirects: bool,
43
+ ?force_path_style: bool,
44
+ ?ignore_configured_endpoint_urls: bool,
45
+ ?input_event_stream_handler: Proc,
46
+ ?log_formatter: untyped,
47
+ ?log_level: Symbol,
48
+ ?logger: untyped,
49
+ ?max_attempts: Integer,
50
+ ?output_event_stream_handler: Proc,
51
+ ?profile: String,
52
+ ?request_checksum_calculation: String,
53
+ ?request_min_compression_size_bytes: Integer,
54
+ ?require_https_for_sse_cpk: bool,
55
+ ?response_checksum_validation: String,
56
+ ?retry_backoff: Proc,
57
+ ?retry_base_delay: Float,
58
+ ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
59
+ ?retry_limit: Integer,
60
+ ?retry_max_delay: Integer,
61
+ ?retry_mode: ("legacy" | "standard" | "adaptive"),
62
+ ?s3_disable_multiregion_access_points: bool,
63
+ ?s3_us_east_1_regional_endpoint: String,
64
+ ?s3_use_arn_region: bool,
65
+ ?sdk_ua_app_id: String,
66
+ ?secret_access_key: String,
67
+ ?session_token: String,
68
+ ?sigv4a_signing_region_set: Array[String],
69
+ ?stub_responses: untyped,
70
+ ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase,
71
+ ?token_provider: untyped,
72
+ ?use_accelerate_endpoint: bool,
73
+ ?use_dualstack_endpoint: bool,
74
+ ?use_fips_endpoint: bool,
75
+ ?validate_params: bool,
76
+ ?endpoint_provider: untyped,
77
+ ?http_proxy: String,
78
+ ?http_open_timeout: (Float | Integer),
79
+ ?http_read_timeout: (Float | Integer),
80
+ ?http_idle_timeout: (Float | Integer),
81
+ ?http_continue_timeout: (Float | Integer),
82
+ ?ssl_timeout: (Float | Integer | nil),
83
+ ?http_wire_trace: bool,
84
+ ?ssl_verify_peer: bool,
85
+ ?ssl_ca_bundle: String,
86
+ ?ssl_ca_directory: String,
87
+ ?ssl_ca_store: String,
88
+ ?on_chunk_received: Proc,
89
+ ?on_chunk_sent: Proc,
90
+ ?raise_response_errors: bool
91
+ ) -> void
92
+ | (?Hash[Symbol, untyped]) -> void
93
+
94
+ def client: () -> Client
95
+
96
+
97
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#create_bucket-instance_method
98
+ def create_bucket: (
99
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read"),
100
+ bucket: ::String,
101
+ ?create_bucket_configuration: {
102
+ location_constraint: ("af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "EU" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "sa-east-1" | "us-east-2" | "us-gov-east-1" | "us-gov-west-1" | "us-west-1" | "us-west-2")?,
103
+ location: {
104
+ type: ("AvailabilityZone" | "LocalZone")?,
105
+ name: ::String?
106
+ }?,
107
+ bucket: {
108
+ data_redundancy: ("SingleAvailabilityZone" | "SingleLocalZone")?,
109
+ type: ("Directory")?
110
+ }?
111
+ },
112
+ ?grant_full_control: ::String,
113
+ ?grant_read: ::String,
114
+ ?grant_read_acp: ::String,
115
+ ?grant_write: ::String,
116
+ ?grant_write_acp: ::String,
117
+ ?object_lock_enabled_for_bucket: bool,
118
+ ?object_ownership: ("BucketOwnerPreferred" | "ObjectWriter" | "BucketOwnerEnforced")
119
+ ) -> Bucket
120
+ | (?Hash[Symbol, untyped]) -> Bucket
121
+
122
+
123
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#bucket-instance_method
124
+ def bucket: (String name) -> Bucket
125
+
126
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Resource.html#buckets-instance_method
127
+ def buckets: (
128
+ ?prefix: ::String,
129
+ ?bucket_region: ::String
130
+ ) -> Bucket::Collection
131
+ | (?Hash[Symbol, untyped]) -> Bucket::Collection
132
+ end
133
+ end
134
+ end