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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +1352 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
- data/lib/aws-sdk-s3/bucket.rb +1005 -106
- data/lib/aws-sdk-s3/bucket_acl.rb +65 -18
- data/lib/aws-sdk-s3/bucket_cors.rb +80 -18
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +71 -20
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +126 -21
- data/lib/aws-sdk-s3/bucket_logging.rb +68 -16
- data/lib/aws-sdk-s3/bucket_notification.rb +52 -20
- data/lib/aws-sdk-s3/bucket_policy.rb +108 -17
- data/lib/aws-sdk-s3/bucket_region_cache.rb +11 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +60 -15
- data/lib/aws-sdk-s3/bucket_tagging.rb +71 -18
- data/lib/aws-sdk-s3/bucket_versioning.rb +133 -17
- data/lib/aws-sdk-s3/bucket_website.rb +78 -21
- data/lib/aws-sdk-s3/client.rb +14517 -941
- data/lib/aws-sdk-s3/client_api.rb +1296 -197
- data/lib/aws-sdk-s3/customizations/bucket.rb +56 -37
- data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
- data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
- data/lib/aws-sdk-s3/customizations/object.rb +288 -68
- data/lib/aws-sdk-s3/customizations/object_summary.rb +10 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
- data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +27 -28
- data/lib/aws-sdk-s3/encryption/client.rb +28 -7
- data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +71 -29
- data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +43 -5
- data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
- data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +13 -2
- data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
- data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +2 -0
- data/lib/aws-sdk-s3/encryption/io_decrypter.rb +11 -3
- data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
- data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +46 -11
- data/lib/aws-sdk-s3/encryption/materials.rb +8 -6
- data/lib/aws-sdk-s3/encryption/utils.rb +25 -0
- data/lib/aws-sdk-s3/encryption.rb +4 -0
- data/lib/aws-sdk-s3/encryptionV2/client.rb +570 -0
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +223 -0
- data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +170 -0
- data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +40 -0
- data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +65 -0
- data/lib/aws-sdk-s3/encryptionV2/errors.rb +37 -0
- data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +58 -0
- data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +37 -0
- data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +73 -0
- data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +31 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +173 -0
- data/lib/aws-sdk-s3/encryptionV2/materials.rb +60 -0
- data/lib/aws-sdk-s3/encryptionV2/utils.rb +103 -0
- data/lib/aws-sdk-s3/encryption_v2.rb +23 -0
- data/lib/aws-sdk-s3/endpoint_parameters.rb +181 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +716 -0
- data/lib/aws-sdk-s3/endpoints.rb +1434 -0
- data/lib/aws-sdk-s3/errors.rb +170 -1
- data/lib/aws-sdk-s3/event_streams.rb +8 -1
- data/lib/aws-sdk-s3/express_credentials.rb +55 -0
- data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
- data/lib/aws-sdk-s3/file_downloader.rb +161 -46
- data/lib/aws-sdk-s3/file_part.rb +11 -6
- data/lib/aws-sdk-s3/file_uploader.rb +39 -18
- data/lib/aws-sdk-s3/legacy_signer.rb +17 -25
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +104 -27
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +61 -21
- data/lib/aws-sdk-s3/multipart_upload.rb +342 -32
- data/lib/aws-sdk-s3/multipart_upload_error.rb +2 -0
- data/lib/aws-sdk-s3/multipart_upload_part.rb +384 -46
- data/lib/aws-sdk-s3/object.rb +2600 -231
- data/lib/aws-sdk-s3/object_acl.rb +103 -25
- data/lib/aws-sdk-s3/object_copier.rb +9 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +48 -22
- data/lib/aws-sdk-s3/object_summary.rb +2174 -204
- data/lib/aws-sdk-s3/object_version.rb +539 -80
- data/lib/aws-sdk-s3/plugins/accelerate.rb +17 -64
- data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
- data/lib/aws-sdk-s3/plugins/arn.rb +70 -0
- data/lib/aws-sdk-s3/plugins/bucket_dns.rb +7 -43
- data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +20 -3
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/dualstack.rb +7 -50
- data/lib/aws-sdk-s3/plugins/endpoints.rb +86 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +5 -4
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
- data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +3 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +62 -17
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +44 -0
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +5 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +14 -70
- data/lib/aws-sdk-s3/plugins/redirects.rb +2 -0
- data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +63 -94
- data/lib/aws-sdk-s3/plugins/sse_cpk.rb +3 -1
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +139 -0
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -0
- data/lib/aws-sdk-s3/presigned_post.rb +160 -99
- data/lib/aws-sdk-s3/presigner.rb +141 -62
- data/lib/aws-sdk-s3/resource.rb +156 -17
- data/lib/aws-sdk-s3/types.rb +13021 -4106
- data/lib/aws-sdk-s3/waiters.rb +67 -1
- data/lib/aws-sdk-s3.rb +46 -32
- data/sig/bucket.rbs +222 -0
- data/sig/bucket_acl.rbs +78 -0
- data/sig/bucket_cors.rbs +69 -0
- data/sig/bucket_lifecycle.rbs +88 -0
- data/sig/bucket_lifecycle_configuration.rbs +115 -0
- data/sig/bucket_logging.rbs +76 -0
- data/sig/bucket_notification.rbs +114 -0
- data/sig/bucket_policy.rbs +59 -0
- data/sig/bucket_request_payment.rbs +54 -0
- data/sig/bucket_tagging.rbs +65 -0
- data/sig/bucket_versioning.rbs +77 -0
- data/sig/bucket_website.rbs +93 -0
- data/sig/client.rbs +2472 -0
- data/sig/customizations/bucket.rbs +19 -0
- data/sig/customizations/object.rbs +38 -0
- data/sig/customizations/object_summary.rbs +35 -0
- data/sig/errors.rbs +42 -0
- data/sig/multipart_upload.rbs +120 -0
- data/sig/multipart_upload_part.rbs +109 -0
- data/sig/object.rbs +459 -0
- data/sig/object_acl.rbs +86 -0
- data/sig/object_summary.rbs +345 -0
- data/sig/object_version.rbs +143 -0
- data/sig/resource.rbs +134 -0
- data/sig/types.rbs +2712 -0
- data/sig/waiters.rbs +95 -0
- metadata +74 -15
@@ -1,11 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# WARNING ABOUT GENERATED CODE
|
2
4
|
#
|
3
5
|
# This file is generated. See the contributing guide for more information:
|
4
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
5
7
|
#
|
6
8
|
# WARNING ABOUT GENERATED CODE
|
7
9
|
|
8
10
|
module Aws::S3
|
11
|
+
|
9
12
|
class MultipartUploadPart
|
10
13
|
|
11
14
|
extend Aws::Deprecations
|
@@ -30,6 +33,7 @@ module Aws::S3
|
|
30
33
|
@part_number = extract_part_number(args, options)
|
31
34
|
@data = options.delete(:data)
|
32
35
|
@client = options.delete(:client) || Client.new(options)
|
36
|
+
@waiter_block_warned = false
|
33
37
|
end
|
34
38
|
|
35
39
|
# @!group Read-Only Attributes
|
@@ -72,6 +76,73 @@ module Aws::S3
|
|
72
76
|
data[:size]
|
73
77
|
end
|
74
78
|
|
79
|
+
# The Base64 encoded, 32-bit `CRC32` checksum of the part. This checksum
|
80
|
+
# is present if the object was uploaded with the `CRC32` checksum
|
81
|
+
# algorithm. For more information, see [Checking object integrity][1] in
|
82
|
+
# the *Amazon S3 User Guide*.
|
83
|
+
#
|
84
|
+
#
|
85
|
+
#
|
86
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
87
|
+
# @return [String]
|
88
|
+
def checksum_crc32
|
89
|
+
data[:checksum_crc32]
|
90
|
+
end
|
91
|
+
|
92
|
+
# The Base64 encoded, 32-bit `CRC32C` checksum of the part. This
|
93
|
+
# checksum is present if the object was uploaded with the `CRC32C`
|
94
|
+
# checksum algorithm. For more information, see [Checking object
|
95
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
96
|
+
#
|
97
|
+
#
|
98
|
+
#
|
99
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
100
|
+
# @return [String]
|
101
|
+
def checksum_crc32c
|
102
|
+
data[:checksum_crc32c]
|
103
|
+
end
|
104
|
+
|
105
|
+
# The Base64 encoded, 64-bit `CRC64NVME` checksum of the part. This
|
106
|
+
# checksum is present if the multipart upload request was created with
|
107
|
+
# the `CRC64NVME` checksum algorithm, or if the object was uploaded
|
108
|
+
# without a checksum (and Amazon S3 added the default checksum,
|
109
|
+
# `CRC64NVME`, to the uploaded object). For more information, see
|
110
|
+
# [Checking object integrity][1] in the *Amazon S3 User Guide*.
|
111
|
+
#
|
112
|
+
#
|
113
|
+
#
|
114
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
115
|
+
# @return [String]
|
116
|
+
def checksum_crc64nvme
|
117
|
+
data[:checksum_crc64nvme]
|
118
|
+
end
|
119
|
+
|
120
|
+
# The Base64 encoded, 160-bit `SHA1` checksum of the part. This checksum
|
121
|
+
# is present if the object was uploaded with the `SHA1` checksum
|
122
|
+
# algorithm. For more information, see [Checking object integrity][1] in
|
123
|
+
# the *Amazon S3 User Guide*.
|
124
|
+
#
|
125
|
+
#
|
126
|
+
#
|
127
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
128
|
+
# @return [String]
|
129
|
+
def checksum_sha1
|
130
|
+
data[:checksum_sha1]
|
131
|
+
end
|
132
|
+
|
133
|
+
# The Base64 encoded, 256-bit `SHA256` checksum of the part. This
|
134
|
+
# checksum is present if the object was uploaded with the `SHA256`
|
135
|
+
# checksum algorithm. For more information, see [Checking object
|
136
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
137
|
+
#
|
138
|
+
#
|
139
|
+
#
|
140
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
141
|
+
# @return [String]
|
142
|
+
def checksum_sha256
|
143
|
+
data[:checksum_sha256]
|
144
|
+
end
|
145
|
+
|
75
146
|
# @!endgroup
|
76
147
|
|
77
148
|
# @return [Client]
|
@@ -107,7 +178,8 @@ module Aws::S3
|
|
107
178
|
# Waiter polls an API operation until a resource enters a desired
|
108
179
|
# state.
|
109
180
|
#
|
110
|
-
# @note The waiting operation is performed on a copy. The original resource
|
181
|
+
# @note The waiting operation is performed on a copy. The original resource
|
182
|
+
# remains unchanged.
|
111
183
|
#
|
112
184
|
# ## Basic Usage
|
113
185
|
#
|
@@ -120,13 +192,15 @@ module Aws::S3
|
|
120
192
|
#
|
121
193
|
# ## Example
|
122
194
|
#
|
123
|
-
# instance.wait_until(max_attempts:10, delay:5)
|
195
|
+
# instance.wait_until(max_attempts:10, delay:5) do |instance|
|
196
|
+
# instance.state.name == 'running'
|
197
|
+
# end
|
124
198
|
#
|
125
199
|
# ## Configuration
|
126
200
|
#
|
127
201
|
# You can configure the maximum number of polling attempts, and the
|
128
|
-
# delay (in seconds) between each polling attempt. The waiting condition is
|
129
|
-
# by passing a block to {#wait_until}:
|
202
|
+
# delay (in seconds) between each polling attempt. The waiting condition is
|
203
|
+
# set by passing a block to {#wait_until}:
|
130
204
|
#
|
131
205
|
# # poll for ~25 seconds
|
132
206
|
# resource.wait_until(max_attempts:5,delay:5) {|resource|...}
|
@@ -157,17 +231,16 @@ module Aws::S3
|
|
157
231
|
# # resource did not enter the desired state in time
|
158
232
|
# end
|
159
233
|
#
|
234
|
+
# @yieldparam [Resource] resource to be used in the waiting condition.
|
160
235
|
#
|
161
|
-
# @
|
162
|
-
#
|
163
|
-
#
|
164
|
-
# because the waiter has entered a state that it will not transition
|
165
|
-
# out of, preventing success.
|
236
|
+
# @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter
|
237
|
+
# terminates because the waiter has entered a state that it will not
|
238
|
+
# transition out of, preventing success.
|
166
239
|
#
|
167
240
|
# yet successful.
|
168
241
|
#
|
169
|
-
# @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is
|
170
|
-
# while polling for a resource that is not expected.
|
242
|
+
# @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is
|
243
|
+
# encountered while polling for a resource that is not expected.
|
171
244
|
#
|
172
245
|
# @raise [NotImplementedError] Raised when the resource does not
|
173
246
|
#
|
@@ -194,7 +267,9 @@ module Aws::S3
|
|
194
267
|
:retry
|
195
268
|
end
|
196
269
|
end
|
197
|
-
Aws::
|
270
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
271
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
272
|
+
end
|
198
273
|
end
|
199
274
|
|
200
275
|
# @!group Actions
|
@@ -215,59 +290,213 @@ module Aws::S3
|
|
215
290
|
# copy_source_sse_customer_key: "CopySourceSSECustomerKey",
|
216
291
|
# copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
|
217
292
|
# request_payer: "requester", # accepts requester
|
293
|
+
# expected_bucket_owner: "AccountId",
|
294
|
+
# expected_source_bucket_owner: "AccountId",
|
218
295
|
# })
|
219
296
|
# @param [Hash] options ({})
|
220
297
|
# @option options [required, String] :copy_source
|
221
|
-
#
|
222
|
-
#
|
298
|
+
# Specifies the source object for the copy operation. You specify the
|
299
|
+
# value in one of two formats, depending on whether you want to access
|
300
|
+
# the source object through an [access point][1]:
|
301
|
+
#
|
302
|
+
# * For objects not accessed through an access point, specify the name
|
303
|
+
# of the source bucket and key of the source object, separated by a
|
304
|
+
# slash (/). For example, to copy the object `reports/january.pdf`
|
305
|
+
# from the bucket `awsexamplebucket`, use
|
306
|
+
# `awsexamplebucket/reports/january.pdf`. The value must be
|
307
|
+
# URL-encoded.
|
308
|
+
#
|
309
|
+
# * For objects accessed through access points, specify the Amazon
|
310
|
+
# Resource Name (ARN) of the object as accessed through the access
|
311
|
+
# point, in the format
|
312
|
+
# `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
|
313
|
+
# For example, to copy the object `reports/january.pdf` through access
|
314
|
+
# point `my-access-point` owned by account `123456789012` in Region
|
315
|
+
# `us-west-2`, use the URL encoding of
|
316
|
+
# `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
|
317
|
+
# The value must be URL encoded.
|
318
|
+
#
|
319
|
+
# <note markdown="1"> * Amazon S3 supports copy operations using Access points only when
|
320
|
+
# the source and destination buckets are in the same Amazon Web
|
321
|
+
# Services Region.
|
322
|
+
#
|
323
|
+
# * Access points are not supported by directory buckets.
|
324
|
+
#
|
325
|
+
# </note>
|
326
|
+
#
|
327
|
+
# Alternatively, for objects accessed through Amazon S3 on Outposts,
|
328
|
+
# specify the ARN of the object as accessed in the format
|
329
|
+
# `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
|
330
|
+
# For example, to copy the object `reports/january.pdf` through
|
331
|
+
# outpost `my-outpost` owned by account `123456789012` in Region
|
332
|
+
# `us-west-2`, use the URL encoding of
|
333
|
+
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
|
334
|
+
# The value must be URL-encoded.
|
335
|
+
#
|
336
|
+
# If your bucket has versioning enabled, you could have multiple
|
337
|
+
# versions of the same object. By default, `x-amz-copy-source`
|
338
|
+
# identifies the current version of the source object to copy. To copy a
|
339
|
+
# specific version of the source object to copy, append
|
340
|
+
# `?versionId=<version-id>` to the `x-amz-copy-source` request header
|
341
|
+
# (for example, `x-amz-copy-source:
|
342
|
+
# /awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
|
343
|
+
#
|
344
|
+
# If the current version is a delete marker and you don't specify a
|
345
|
+
# versionId in the `x-amz-copy-source` request header, Amazon S3 returns
|
346
|
+
# a `404 Not Found` error, because the object does not exist. If you
|
347
|
+
# specify versionId in the `x-amz-copy-source` and the versionId is a
|
348
|
+
# delete marker, Amazon S3 returns an HTTP `400 Bad Request` error,
|
349
|
+
# because you are not allowed to specify a delete marker as a version
|
350
|
+
# for the `x-amz-copy-source`.
|
351
|
+
#
|
352
|
+
# <note markdown="1"> **Directory buckets** - S3 Versioning isn't enabled and supported for
|
353
|
+
# directory buckets.
|
354
|
+
#
|
355
|
+
# </note>
|
356
|
+
#
|
357
|
+
#
|
358
|
+
#
|
359
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
|
223
360
|
# @option options [String] :copy_source_if_match
|
224
361
|
# Copies the object if its entity tag (ETag) matches the specified tag.
|
362
|
+
#
|
363
|
+
# If both of the `x-amz-copy-source-if-match` and
|
364
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
365
|
+
# request as follows:
|
366
|
+
#
|
367
|
+
# `x-amz-copy-source-if-match` condition evaluates to `true`, and;
|
368
|
+
#
|
369
|
+
# `x-amz-copy-source-if-unmodified-since` condition evaluates to
|
370
|
+
# `false`;
|
371
|
+
#
|
372
|
+
# Amazon S3 returns `200 OK` and copies the data.
|
225
373
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
|
226
374
|
# Copies the object if it has been modified since the specified time.
|
375
|
+
#
|
376
|
+
# If both of the `x-amz-copy-source-if-none-match` and
|
377
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
378
|
+
# request as follows:
|
379
|
+
#
|
380
|
+
# `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
|
381
|
+
#
|
382
|
+
# `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
|
383
|
+
#
|
384
|
+
# Amazon S3 returns `412 Precondition Failed` response code.
|
227
385
|
# @option options [String] :copy_source_if_none_match
|
228
386
|
# Copies the object if its entity tag (ETag) is different than the
|
229
387
|
# specified ETag.
|
388
|
+
#
|
389
|
+
# If both of the `x-amz-copy-source-if-none-match` and
|
390
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
391
|
+
# request as follows:
|
392
|
+
#
|
393
|
+
# `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
|
394
|
+
#
|
395
|
+
# `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
|
396
|
+
#
|
397
|
+
# Amazon S3 returns `412 Precondition Failed` response code.
|
230
398
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_unmodified_since
|
231
399
|
# Copies the object if it hasn't been modified since the specified
|
232
400
|
# time.
|
401
|
+
#
|
402
|
+
# If both of the `x-amz-copy-source-if-match` and
|
403
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
404
|
+
# request as follows:
|
405
|
+
#
|
406
|
+
# `x-amz-copy-source-if-match` condition evaluates to `true`, and;
|
407
|
+
#
|
408
|
+
# `x-amz-copy-source-if-unmodified-since` condition evaluates to
|
409
|
+
# `false`;
|
410
|
+
#
|
411
|
+
# Amazon S3 returns `200 OK` and copies the data.
|
233
412
|
# @option options [String] :copy_source_range
|
234
413
|
# The range of bytes to copy from the source object. The range value
|
235
414
|
# must use the form bytes=first-last, where the first and last are the
|
236
415
|
# zero-based byte offsets to copy. For example, bytes=0-9 indicates that
|
237
|
-
# you want to copy the first
|
416
|
+
# you want to copy the first 10 bytes of the source. You can copy a
|
238
417
|
# range only if the source object is greater than 5 MB.
|
239
418
|
# @option options [String] :sse_customer_algorithm
|
240
|
-
# Specifies the algorithm to use
|
241
|
-
# AES256).
|
419
|
+
# Specifies the algorithm to use when encrypting the object (for
|
420
|
+
# example, AES256).
|
421
|
+
#
|
422
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
423
|
+
# directory bucket.
|
424
|
+
#
|
425
|
+
# </note>
|
242
426
|
# @option options [String] :sse_customer_key
|
243
427
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
244
428
|
# encrypting data. This value is used to store the object and then it is
|
245
|
-
# discarded; Amazon does not store the encryption key. The key must
|
246
|
-
# appropriate for use with the algorithm specified in the
|
247
|
-
# x-amz-server-side
|
429
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
430
|
+
# be appropriate for use with the algorithm specified in the
|
431
|
+
# `x-amz-server-side-encryption-customer-algorithm` header. This must be
|
248
432
|
# the same encryption key specified in the initiate multipart upload
|
249
433
|
# request.
|
434
|
+
#
|
435
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
436
|
+
# directory bucket.
|
437
|
+
#
|
438
|
+
# </note>
|
250
439
|
# @option options [String] :sse_customer_key_md5
|
251
440
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
252
441
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
253
|
-
# ensure the encryption key was transmitted without error.
|
442
|
+
# ensure that the encryption key was transmitted without error.
|
443
|
+
#
|
444
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
445
|
+
# directory bucket.
|
446
|
+
#
|
447
|
+
# </note>
|
254
448
|
# @option options [String] :copy_source_sse_customer_algorithm
|
255
|
-
# Specifies the algorithm to use when decrypting the source object
|
256
|
-
#
|
449
|
+
# Specifies the algorithm to use when decrypting the source object (for
|
450
|
+
# example, `AES256`).
|
451
|
+
#
|
452
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
453
|
+
# directory bucket.
|
454
|
+
#
|
455
|
+
# </note>
|
257
456
|
# @option options [String] :copy_source_sse_customer_key
|
258
457
|
# Specifies the customer-provided encryption key for Amazon S3 to use to
|
259
458
|
# decrypt the source object. The encryption key provided in this header
|
260
459
|
# must be one that was used when the source object was created.
|
460
|
+
#
|
461
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
462
|
+
# directory bucket.
|
463
|
+
#
|
464
|
+
# </note>
|
261
465
|
# @option options [String] :copy_source_sse_customer_key_md5
|
262
466
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
263
467
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
264
|
-
# ensure the encryption key was transmitted without error.
|
468
|
+
# ensure that the encryption key was transmitted without error.
|
469
|
+
#
|
470
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
471
|
+
# directory bucket.
|
472
|
+
#
|
473
|
+
# </note>
|
265
474
|
# @option options [String] :request_payer
|
266
|
-
# Confirms that the requester knows that
|
267
|
-
#
|
268
|
-
# requests.
|
269
|
-
#
|
270
|
-
#
|
475
|
+
# Confirms that the requester knows that they will be charged for the
|
476
|
+
# request. Bucket owners need not specify this parameter in their
|
477
|
+
# requests. If either the source or destination S3 bucket has Requester
|
478
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
479
|
+
# the object. For information about downloading objects from Requester
|
480
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
481
|
+
# in the *Amazon S3 User Guide*.
|
482
|
+
#
|
483
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
484
|
+
#
|
485
|
+
# </note>
|
486
|
+
#
|
487
|
+
#
|
488
|
+
#
|
489
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
490
|
+
# @option options [String] :expected_bucket_owner
|
491
|
+
# The account ID of the expected destination bucket owner. If the
|
492
|
+
# account ID that you provide does not match the actual owner of the
|
493
|
+
# destination bucket, the request fails with the HTTP status code `403
|
494
|
+
# Forbidden` (access denied).
|
495
|
+
# @option options [String] :expected_source_bucket_owner
|
496
|
+
# The account ID of the expected source bucket owner. If the account ID
|
497
|
+
# that you provide does not match the actual owner of the source bucket,
|
498
|
+
# the request fails with the HTTP status code `403 Forbidden` (access
|
499
|
+
# denied).
|
271
500
|
# @return [Types::UploadPartCopyOutput]
|
272
501
|
def copy_from(options = {})
|
273
502
|
options = options.merge(
|
@@ -276,7 +505,9 @@ module Aws::S3
|
|
276
505
|
upload_id: @multipart_upload_id,
|
277
506
|
part_number: @part_number
|
278
507
|
)
|
279
|
-
resp =
|
508
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
509
|
+
@client.upload_part_copy(options)
|
510
|
+
end
|
280
511
|
resp.data
|
281
512
|
end
|
282
513
|
|
@@ -286,42 +517,147 @@ module Aws::S3
|
|
286
517
|
# body: source_file,
|
287
518
|
# content_length: 1,
|
288
519
|
# content_md5: "ContentMD5",
|
520
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
521
|
+
# checksum_crc32: "ChecksumCRC32",
|
522
|
+
# checksum_crc32c: "ChecksumCRC32C",
|
523
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
524
|
+
# checksum_sha1: "ChecksumSHA1",
|
525
|
+
# checksum_sha256: "ChecksumSHA256",
|
289
526
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
290
527
|
# sse_customer_key: "SSECustomerKey",
|
291
528
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
292
529
|
# request_payer: "requester", # accepts requester
|
530
|
+
# expected_bucket_owner: "AccountId",
|
293
531
|
# })
|
294
532
|
# @param [Hash] options ({})
|
295
|
-
# @option options [String,
|
533
|
+
# @option options [String, StringIO, File] :body
|
296
534
|
# Object data.
|
297
535
|
# @option options [Integer] :content_length
|
298
536
|
# Size of the body in bytes. This parameter is useful when the size of
|
299
537
|
# the body cannot be determined automatically.
|
300
538
|
# @option options [String] :content_md5
|
301
|
-
# The
|
302
|
-
# is auto-populated when using the command from the CLI. This
|
539
|
+
# The Base64 encoded 128-bit MD5 digest of the part data. This parameter
|
540
|
+
# is auto-populated when using the command from the CLI. This parameter
|
303
541
|
# is required if object lock parameters are specified.
|
542
|
+
#
|
543
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
544
|
+
#
|
545
|
+
# </note>
|
546
|
+
# @option options [String] :checksum_algorithm
|
547
|
+
# Indicates the algorithm used to create the checksum for the object
|
548
|
+
# when you use the SDK. This header will not provide any additional
|
549
|
+
# functionality if you don't use the SDK. When you send this header,
|
550
|
+
# there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
|
551
|
+
# header sent. Otherwise, Amazon S3 fails the request with the HTTP
|
552
|
+
# status code `400 Bad Request`. For more information, see [Checking
|
553
|
+
# object integrity][1] in the *Amazon S3 User Guide*.
|
554
|
+
#
|
555
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
556
|
+
# `ChecksumAlgorithm` parameter.
|
557
|
+
#
|
558
|
+
# This checksum algorithm must be the same for all parts and it match
|
559
|
+
# the checksum value supplied in the `CreateMultipartUpload` request.
|
560
|
+
#
|
561
|
+
#
|
562
|
+
#
|
563
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
564
|
+
# @option options [String] :checksum_crc32
|
565
|
+
# This header can be used as a data integrity check to verify that the
|
566
|
+
# data received is the same data that was originally sent. This header
|
567
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
568
|
+
# For more information, see [Checking object integrity][1] in the
|
569
|
+
# *Amazon S3 User Guide*.
|
570
|
+
#
|
571
|
+
#
|
572
|
+
#
|
573
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
574
|
+
# @option options [String] :checksum_crc32c
|
575
|
+
# This header can be used as a data integrity check to verify that the
|
576
|
+
# data received is the same data that was originally sent. This header
|
577
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
578
|
+
# For more information, see [Checking object integrity][1] in the
|
579
|
+
# *Amazon S3 User Guide*.
|
580
|
+
#
|
581
|
+
#
|
582
|
+
#
|
583
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
584
|
+
# @option options [String] :checksum_crc64nvme
|
585
|
+
# This header can be used as a data integrity check to verify that the
|
586
|
+
# data received is the same data that was originally sent. This header
|
587
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the part.
|
588
|
+
# For more information, see [Checking object integrity][1] in the
|
589
|
+
# *Amazon S3 User Guide*.
|
590
|
+
#
|
591
|
+
#
|
592
|
+
#
|
593
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
594
|
+
# @option options [String] :checksum_sha1
|
595
|
+
# This header can be used as a data integrity check to verify that the
|
596
|
+
# data received is the same data that was originally sent. This header
|
597
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
598
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
599
|
+
# User Guide*.
|
600
|
+
#
|
601
|
+
#
|
602
|
+
#
|
603
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
604
|
+
# @option options [String] :checksum_sha256
|
605
|
+
# This header can be used as a data integrity check to verify that the
|
606
|
+
# data received is the same data that was originally sent. This header
|
607
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
608
|
+
# For more information, see [Checking object integrity][1] in the
|
609
|
+
# *Amazon S3 User Guide*.
|
610
|
+
#
|
611
|
+
#
|
612
|
+
#
|
613
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
304
614
|
# @option options [String] :sse_customer_algorithm
|
305
|
-
# Specifies the algorithm to use
|
306
|
-
# AES256).
|
615
|
+
# Specifies the algorithm to use when encrypting the object (for
|
616
|
+
# example, AES256).
|
617
|
+
#
|
618
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
619
|
+
#
|
620
|
+
# </note>
|
307
621
|
# @option options [String] :sse_customer_key
|
308
622
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
309
623
|
# encrypting data. This value is used to store the object and then it is
|
310
|
-
# discarded; Amazon does not store the encryption key. The key must
|
311
|
-
# appropriate for use with the algorithm specified in the
|
312
|
-
# x-amz-server-side
|
624
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
625
|
+
# be appropriate for use with the algorithm specified in the
|
626
|
+
# `x-amz-server-side-encryption-customer-algorithm header`. This must be
|
313
627
|
# the same encryption key specified in the initiate multipart upload
|
314
628
|
# request.
|
629
|
+
#
|
630
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
631
|
+
#
|
632
|
+
# </note>
|
315
633
|
# @option options [String] :sse_customer_key_md5
|
316
634
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
317
635
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
318
|
-
# ensure the encryption key was transmitted without error.
|
636
|
+
# ensure that the encryption key was transmitted without error.
|
637
|
+
#
|
638
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
639
|
+
#
|
640
|
+
# </note>
|
319
641
|
# @option options [String] :request_payer
|
320
|
-
# Confirms that the requester knows that
|
321
|
-
#
|
322
|
-
# requests.
|
323
|
-
#
|
324
|
-
#
|
642
|
+
# Confirms that the requester knows that they will be charged for the
|
643
|
+
# request. Bucket owners need not specify this parameter in their
|
644
|
+
# requests. If either the source or destination S3 bucket has Requester
|
645
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
646
|
+
# the object. For information about downloading objects from Requester
|
647
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
648
|
+
# in the *Amazon S3 User Guide*.
|
649
|
+
#
|
650
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
651
|
+
#
|
652
|
+
# </note>
|
653
|
+
#
|
654
|
+
#
|
655
|
+
#
|
656
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
657
|
+
# @option options [String] :expected_bucket_owner
|
658
|
+
# The account ID of the expected bucket owner. If the account ID that
|
659
|
+
# you provide does not match the actual owner of the bucket, the request
|
660
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
325
661
|
# @return [Types::UploadPartOutput]
|
326
662
|
def upload(options = {})
|
327
663
|
options = options.merge(
|
@@ -330,7 +666,9 @@ module Aws::S3
|
|
330
666
|
upload_id: @multipart_upload_id,
|
331
667
|
part_number: @part_number
|
332
668
|
)
|
333
|
-
resp =
|
669
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
670
|
+
@client.upload_part(options)
|
671
|
+
end
|
334
672
|
resp.data
|
335
673
|
end
|
336
674
|
|