aws-sdk-s3 1.80.0 → 1.114.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +903 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/arn/access_point_arn.rb +69 -0
  6. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +68 -0
  7. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +69 -0
  8. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +74 -0
  9. data/lib/aws-sdk-s3/bucket.rb +172 -46
  10. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  11. data/lib/aws-sdk-s3/bucket_cors.rb +29 -9
  12. data/lib/aws-sdk-s3/bucket_lifecycle.rb +30 -9
  13. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +31 -9
  14. data/lib/aws-sdk-s3/bucket_logging.rb +25 -6
  15. data/lib/aws-sdk-s3/bucket_notification.rb +21 -9
  16. data/lib/aws-sdk-s3/bucket_policy.rb +27 -7
  17. data/lib/aws-sdk-s3/bucket_request_payment.rb +27 -8
  18. data/lib/aws-sdk-s3/bucket_tagging.rb +27 -7
  19. data/lib/aws-sdk-s3/bucket_versioning.rb +70 -10
  20. data/lib/aws-sdk-s3/bucket_website.rb +27 -7
  21. data/lib/aws-sdk-s3/client.rb +4415 -1650
  22. data/lib/aws-sdk-s3/client_api.rb +661 -41
  23. data/lib/aws-sdk-s3/customizations/bucket.rb +15 -7
  24. data/lib/aws-sdk-s3/customizations/object.rb +120 -21
  25. data/lib/aws-sdk-s3/customizations.rb +1 -1
  26. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  27. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  28. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  29. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  30. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +3 -3
  31. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  32. data/lib/aws-sdk-s3/errors.rb +22 -1
  33. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  34. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  35. data/lib/aws-sdk-s3/file_uploader.rb +9 -4
  36. data/lib/aws-sdk-s3/legacy_signer.rb +15 -25
  37. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  38. data/lib/aws-sdk-s3/multipart_upload.rb +133 -19
  39. data/lib/aws-sdk-s3/multipart_upload_part.rb +152 -23
  40. data/lib/aws-sdk-s3/object.rb +501 -126
  41. data/lib/aws-sdk-s3/object_acl.rb +39 -9
  42. data/lib/aws-sdk-s3/object_summary.rb +330 -110
  43. data/lib/aws-sdk-s3/object_version.rb +80 -49
  44. data/lib/aws-sdk-s3/plugins/accelerate.rb +13 -4
  45. data/lib/aws-sdk-s3/plugins/arn.rb +254 -0
  46. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -3
  47. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -1
  48. data/lib/aws-sdk-s3/plugins/dualstack.rb +33 -32
  49. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  50. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  51. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +18 -7
  52. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  53. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +25 -0
  54. data/lib/aws-sdk-s3/plugins/s3_signer.rb +66 -17
  55. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  56. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  57. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  58. data/lib/aws-sdk-s3/presigner.rb +34 -17
  59. data/lib/aws-sdk-s3/resource.rb +23 -3
  60. data/lib/aws-sdk-s3/types.rb +4792 -1089
  61. data/lib/aws-sdk-s3/waiters.rb +1 -1
  62. data/lib/aws-sdk-s3.rb +3 -2
  63. metadata +21 -13
  64. data/lib/aws-sdk-s3/plugins/bucket_arn.rb +0 -212
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -87,6 +87,12 @@ module Aws::S3
87
87
  data[:initiator]
88
88
  end
89
89
 
90
+ # The algorithm that was used to create a checksum of the object.
91
+ # @return [String]
92
+ def checksum_algorithm
93
+ data[:checksum_algorithm]
94
+ end
95
+
90
96
  # @!endgroup
91
97
 
92
98
  # @return [Client]
@@ -226,17 +232,17 @@ module Aws::S3
226
232
  # @option options [String] :request_payer
227
233
  # Confirms that the requester knows that they will be charged for the
228
234
  # request. Bucket owners need not specify this parameter in their
229
- # requests. For information about downloading objects from requester
230
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
231
- # in the *Amazon S3 Developer Guide*.
235
+ # requests. For information about downloading objects from Requester
236
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
237
+ # in the *Amazon S3 User Guide*.
232
238
  #
233
239
  #
234
240
  #
235
241
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
236
242
  # @option options [String] :expected_bucket_owner
237
- # The account id of the expected bucket owner. If the bucket is owned by
238
- # a different account, the request will fail with an HTTP `403 (Access
239
- # Denied)` error.
243
+ # The account ID of the expected bucket owner. If the bucket is owned by
244
+ # a different account, the request fails with the HTTP status code `403
245
+ # Forbidden` (access denied).
240
246
  # @return [Types::AbortMultipartUploadOutput]
241
247
  def abort(options = {})
242
248
  options = options.merge(
@@ -255,30 +261,108 @@ module Aws::S3
255
261
  # parts: [
256
262
  # {
257
263
  # etag: "ETag",
264
+ # checksum_crc32: "ChecksumCRC32",
265
+ # checksum_crc32c: "ChecksumCRC32C",
266
+ # checksum_sha1: "ChecksumSHA1",
267
+ # checksum_sha256: "ChecksumSHA256",
258
268
  # part_number: 1,
259
269
  # },
260
270
  # ],
261
271
  # },
272
+ # checksum_crc32: "ChecksumCRC32",
273
+ # checksum_crc32c: "ChecksumCRC32C",
274
+ # checksum_sha1: "ChecksumSHA1",
275
+ # checksum_sha256: "ChecksumSHA256",
262
276
  # request_payer: "requester", # accepts requester
263
277
  # expected_bucket_owner: "AccountId",
278
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
279
+ # sse_customer_key: "SSECustomerKey",
280
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
264
281
  # })
265
282
  # @param [Hash] options ({})
266
283
  # @option options [Types::CompletedMultipartUpload] :multipart_upload
267
284
  # The container for the multipart upload request information.
285
+ # @option options [String] :checksum_crc32
286
+ # This header can be used as a data integrity check to verify that the
287
+ # data received is the same data that was originally sent. This header
288
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
289
+ # more information, see [Checking object integrity][1] in the *Amazon S3
290
+ # User Guide*.
291
+ #
292
+ #
293
+ #
294
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
295
+ # @option options [String] :checksum_crc32c
296
+ # This header can be used as a data integrity check to verify that the
297
+ # data received is the same data that was originally sent. This header
298
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
299
+ # For more information, see [Checking object integrity][1] in the
300
+ # *Amazon S3 User Guide*.
301
+ #
302
+ #
303
+ #
304
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
305
+ # @option options [String] :checksum_sha1
306
+ # This header can be used as a data integrity check to verify that the
307
+ # data received is the same data that was originally sent. This header
308
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
309
+ # more information, see [Checking object integrity][1] in the *Amazon S3
310
+ # User Guide*.
311
+ #
312
+ #
313
+ #
314
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
315
+ # @option options [String] :checksum_sha256
316
+ # This header can be used as a data integrity check to verify that the
317
+ # data received is the same data that was originally sent. This header
318
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
319
+ # For more information, see [Checking object integrity][1] in the
320
+ # *Amazon S3 User Guide*.
321
+ #
322
+ #
323
+ #
324
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
268
325
  # @option options [String] :request_payer
269
326
  # Confirms that the requester knows that they will be charged for the
270
327
  # request. Bucket owners need not specify this parameter in their
271
- # requests. For information about downloading objects from requester
272
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
273
- # in the *Amazon S3 Developer Guide*.
328
+ # requests. For information about downloading objects from Requester
329
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
330
+ # in the *Amazon S3 User Guide*.
274
331
  #
275
332
  #
276
333
  #
277
334
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
278
335
  # @option options [String] :expected_bucket_owner
279
- # The account id of the expected bucket owner. If the bucket is owned by
280
- # a different account, the request will fail with an HTTP `403 (Access
281
- # Denied)` error.
336
+ # The account ID of the expected bucket owner. If the bucket is owned by
337
+ # a different account, the request fails with the HTTP status code `403
338
+ # Forbidden` (access denied).
339
+ # @option options [String] :sse_customer_algorithm
340
+ # The server-side encryption (SSE) algorithm used to encrypt the object.
341
+ # This parameter is needed only when the object was created using a
342
+ # checksum algorithm. For more information, see [Protecting data using
343
+ # SSE-C keys][1] in the *Amazon S3 User Guide*.
344
+ #
345
+ #
346
+ #
347
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
348
+ # @option options [String] :sse_customer_key
349
+ # The server-side encryption (SSE) customer managed key. This parameter
350
+ # is needed only when the object was created using a checksum algorithm.
351
+ # For more information, see [Protecting data using SSE-C keys][1] in the
352
+ # *Amazon S3 User Guide*.
353
+ #
354
+ #
355
+ #
356
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
357
+ # @option options [String] :sse_customer_key_md5
358
+ # The MD5 server-side encryption (SSE) customer managed key. This
359
+ # parameter is needed only when the object was created using a checksum
360
+ # algorithm. For more information, see [Protecting data using SSE-C
361
+ # keys][1] in the *Amazon S3 User Guide*.
362
+ #
363
+ #
364
+ #
365
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
282
366
  # @return [Object]
283
367
  def complete(options = {})
284
368
  options = options.merge(
@@ -322,22 +406,52 @@ module Aws::S3
322
406
  # parts = multipart_upload.parts({
323
407
  # request_payer: "requester", # accepts requester
324
408
  # expected_bucket_owner: "AccountId",
409
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
410
+ # sse_customer_key: "SSECustomerKey",
411
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
325
412
  # })
326
413
  # @param [Hash] options ({})
327
414
  # @option options [String] :request_payer
328
415
  # Confirms that the requester knows that they will be charged for the
329
416
  # request. Bucket owners need not specify this parameter in their
330
- # requests. For information about downloading objects from requester
331
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
332
- # in the *Amazon S3 Developer Guide*.
417
+ # requests. For information about downloading objects from Requester
418
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
419
+ # in the *Amazon S3 User Guide*.
333
420
  #
334
421
  #
335
422
  #
336
423
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
337
424
  # @option options [String] :expected_bucket_owner
338
- # The account id of the expected bucket owner. If the bucket is owned by
339
- # a different account, the request will fail with an HTTP `403 (Access
340
- # Denied)` error.
425
+ # The account ID of the expected bucket owner. If the bucket is owned by
426
+ # a different account, the request fails with the HTTP status code `403
427
+ # Forbidden` (access denied).
428
+ # @option options [String] :sse_customer_algorithm
429
+ # The server-side encryption (SSE) algorithm used to encrypt the object.
430
+ # This parameter is needed only when the object was created using a
431
+ # checksum algorithm. For more information, see [Protecting data using
432
+ # SSE-C keys][1] in the *Amazon S3 User Guide*.
433
+ #
434
+ #
435
+ #
436
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
437
+ # @option options [String] :sse_customer_key
438
+ # The server-side encryption (SSE) customer managed key. This parameter
439
+ # is needed only when the object was created using a checksum algorithm.
440
+ # For more information, see [Protecting data using SSE-C keys][1] in the
441
+ # *Amazon S3 User Guide*.
442
+ #
443
+ #
444
+ #
445
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
446
+ # @option options [String] :sse_customer_key_md5
447
+ # The MD5 server-side encryption (SSE) customer managed key. This
448
+ # parameter is needed only when the object was created using a checksum
449
+ # algorithm. For more information, see [Protecting data using SSE-C
450
+ # keys][1] in the *Amazon S3 User Guide*.
451
+ #
452
+ #
453
+ #
454
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
341
455
  # @return [MultipartUploadPart::Collection]
342
456
  def parts(options = {})
343
457
  batches = Enumerator.new do |y|
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -76,6 +76,62 @@ module Aws::S3
76
76
  data[:size]
77
77
  end
78
78
 
79
+ # This header can be used as a data integrity check to verify that the
80
+ # data received is the same data that was originally sent. This header
81
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
82
+ # more information, see [Checking object integrity][1] in the *Amazon S3
83
+ # User Guide*.
84
+ #
85
+ #
86
+ #
87
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
88
+ # @return [String]
89
+ def checksum_crc32
90
+ data[:checksum_crc32]
91
+ end
92
+
93
+ # The base64-encoded, 32-bit CRC32C checksum of the object. This will
94
+ # only be present if it was uploaded with the object. With multipart
95
+ # uploads, this may not be a checksum value of the object. For more
96
+ # information about how checksums are calculated with multipart uploads,
97
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
98
+ #
99
+ #
100
+ #
101
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
102
+ # @return [String]
103
+ def checksum_crc32c
104
+ data[:checksum_crc32c]
105
+ end
106
+
107
+ # The base64-encoded, 160-bit SHA-1 digest of the object. This will only
108
+ # be present if it was uploaded with the object. With multipart uploads,
109
+ # this may not be a checksum value of the object. For more information
110
+ # about how checksums are calculated with multipart uploads, see [
111
+ # Checking object integrity][1] in the *Amazon S3 User Guide*.
112
+ #
113
+ #
114
+ #
115
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
116
+ # @return [String]
117
+ def checksum_sha1
118
+ data[:checksum_sha1]
119
+ end
120
+
121
+ # This header can be used as a data integrity check to verify that the
122
+ # data received is the same data that was originally sent. This header
123
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
124
+ # For more information, see [Checking object integrity][1] in the
125
+ # *Amazon S3 User Guide*.
126
+ #
127
+ #
128
+ #
129
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
130
+ # @return [String]
131
+ def checksum_sha256
132
+ data[:checksum_sha256]
133
+ end
134
+
79
135
  # @!endgroup
80
136
 
81
137
  # @return [Client]
@@ -234,24 +290,34 @@ module Aws::S3
234
290
  # of the source bucket and key of the source object, separated by a
235
291
  # slash (/). For example, to copy the object `reports/january.pdf`
236
292
  # from the bucket `awsexamplebucket`, use
237
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
238
- # encoded.
293
+ # `awsexamplebucket/reports/january.pdf`. The value must be
294
+ # URL-encoded.
239
295
  #
240
296
  # * For objects accessed through access points, specify the Amazon
241
297
  # Resource Name (ARN) of the object as accessed through the access
242
298
  # point, in the format
243
299
  # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
244
- # For example, to copy the object `reports/january.pdf` through the
245
- # access point `my-access-point` owned by account `123456789012` in
246
- # Region `us-west-2`, use the URL encoding of
300
+ # For example, to copy the object `reports/january.pdf` through access
301
+ # point `my-access-point` owned by account `123456789012` in Region
302
+ # `us-west-2`, use the URL encoding of
247
303
  # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
248
304
  # The value must be URL encoded.
249
305
  #
250
306
  # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
251
- # source and destination buckets are in the same AWS Region.
307
+ # source and destination buckets are in the same Amazon Web Services
308
+ # Region.
252
309
  #
253
310
  # </note>
254
311
  #
312
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
313
+ # specify the ARN of the object as accessed in the format
314
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
315
+ # For example, to copy the object `reports/january.pdf` through
316
+ # outpost `my-outpost` owned by account `123456789012` in Region
317
+ # `us-west-2`, use the URL encoding of
318
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
319
+ # The value must be URL-encoded.
320
+ #
255
321
  # To copy a specific version of an object, append
256
322
  # `?versionId=<version-id>` to the value (for example,
257
323
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -260,7 +326,7 @@ module Aws::S3
260
326
  #
261
327
  #
262
328
  #
263
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
329
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
264
330
  # @option options [String] :copy_source_if_match
265
331
  # Copies the object if its entity tag (ETag) matches the specified tag.
266
332
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
@@ -306,21 +372,21 @@ module Aws::S3
306
372
  # @option options [String] :request_payer
307
373
  # Confirms that the requester knows that they will be charged for the
308
374
  # request. Bucket owners need not specify this parameter in their
309
- # requests. For information about downloading objects from requester
310
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
311
- # in the *Amazon S3 Developer Guide*.
375
+ # requests. For information about downloading objects from Requester
376
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
377
+ # in the *Amazon S3 User Guide*.
312
378
  #
313
379
  #
314
380
  #
315
381
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
316
382
  # @option options [String] :expected_bucket_owner
317
- # The account id of the expected destination bucket owner. If the
318
- # destination bucket is owned by a different account, the request will
319
- # fail with an HTTP `403 (Access Denied)` error.
383
+ # The account ID of the expected destination bucket owner. If the
384
+ # destination bucket is owned by a different account, the request fails
385
+ # with the HTTP status code `403 Forbidden` (access denied).
320
386
  # @option options [String] :expected_source_bucket_owner
321
- # The account id of the expected source bucket owner. If the source
322
- # bucket is owned by a different account, the request will fail with an
323
- # HTTP `403 (Access Denied)` error.
387
+ # The account ID of the expected source bucket owner. If the source
388
+ # bucket is owned by a different account, the request fails with the
389
+ # HTTP status code `403 Forbidden` (access denied).
324
390
  # @return [Types::UploadPartCopyOutput]
325
391
  def copy_from(options = {})
326
392
  options = options.merge(
@@ -339,6 +405,11 @@ module Aws::S3
339
405
  # body: source_file,
340
406
  # content_length: 1,
341
407
  # content_md5: "ContentMD5",
408
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
409
+ # checksum_crc32: "ChecksumCRC32",
410
+ # checksum_crc32c: "ChecksumCRC32C",
411
+ # checksum_sha1: "ChecksumSHA1",
412
+ # checksum_sha256: "ChecksumSHA256",
342
413
  # sse_customer_algorithm: "SSECustomerAlgorithm",
343
414
  # sse_customer_key: "SSECustomerKey",
344
415
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -355,6 +426,64 @@ module Aws::S3
355
426
  # The base64-encoded 128-bit MD5 digest of the part data. This parameter
356
427
  # is auto-populated when using the command from the CLI. This parameter
357
428
  # is required if object lock parameters are specified.
429
+ # @option options [String] :checksum_algorithm
430
+ # Indicates the algorithm used to create the checksum for the object
431
+ # when using the SDK. This header will not provide any additional
432
+ # functionality if not using the SDK. When sending this header, there
433
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
434
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
435
+ # `400 Bad Request`. For more information, see [Checking object
436
+ # integrity][1] in the *Amazon S3 User Guide*.
437
+ #
438
+ # If you provide an individual checksum, Amazon S3 ignores any provided
439
+ # `ChecksumAlgorithm` parameter.
440
+ #
441
+ # This checksum algorithm must be the same for all parts and it match
442
+ # the checksum value supplied in the `CreateMultipartUpload` request.
443
+ #
444
+ #
445
+ #
446
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
447
+ # @option options [String] :checksum_crc32
448
+ # This header can be used as a data integrity check to verify that the
449
+ # data received is the same data that was originally sent. This header
450
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
451
+ # more information, see [Checking object integrity][1] in the *Amazon S3
452
+ # User Guide*.
453
+ #
454
+ #
455
+ #
456
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
457
+ # @option options [String] :checksum_crc32c
458
+ # This header can be used as a data integrity check to verify that the
459
+ # data received is the same data that was originally sent. This header
460
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
461
+ # For more information, see [Checking object integrity][1] in the
462
+ # *Amazon S3 User Guide*.
463
+ #
464
+ #
465
+ #
466
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
467
+ # @option options [String] :checksum_sha1
468
+ # This header can be used as a data integrity check to verify that the
469
+ # data received is the same data that was originally sent. This header
470
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
471
+ # more information, see [Checking object integrity][1] in the *Amazon S3
472
+ # User Guide*.
473
+ #
474
+ #
475
+ #
476
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
477
+ # @option options [String] :checksum_sha256
478
+ # This header can be used as a data integrity check to verify that the
479
+ # data received is the same data that was originally sent. This header
480
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
481
+ # For more information, see [Checking object integrity][1] in the
482
+ # *Amazon S3 User Guide*.
483
+ #
484
+ #
485
+ #
486
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
358
487
  # @option options [String] :sse_customer_algorithm
359
488
  # Specifies the algorithm to use to when encrypting the object (for
360
489
  # example, AES256).
@@ -373,17 +502,17 @@ module Aws::S3
373
502
  # @option options [String] :request_payer
374
503
  # Confirms that the requester knows that they will be charged for the
375
504
  # request. Bucket owners need not specify this parameter in their
376
- # requests. For information about downloading objects from requester
377
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
378
- # in the *Amazon S3 Developer Guide*.
505
+ # requests. For information about downloading objects from Requester
506
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
507
+ # in the *Amazon S3 User Guide*.
379
508
  #
380
509
  #
381
510
  #
382
511
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
383
512
  # @option options [String] :expected_bucket_owner
384
- # The account id of the expected bucket owner. If the bucket is owned by
385
- # a different account, the request will fail with an HTTP `403 (Access
386
- # Denied)` error.
513
+ # The account ID of the expected bucket owner. If the bucket is owned by
514
+ # a different account, the request fails with the HTTP status code `403
515
+ # Forbidden` (access denied).
387
516
  # @return [Types::UploadPartOutput]
388
517
  def upload(options = {})
389
518
  options = options.merge(