aws-sdk-s3 1.86.2 → 1.116.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +913 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/arn/access_point_arn.rb +19 -12
  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 +15 -12
  9. data/lib/aws-sdk-s3/bucket.rb +145 -47
  10. data/lib/aws-sdk-s3/bucket_acl.rb +27 -8
  11. data/lib/aws-sdk-s3/bucket_cors.rb +28 -11
  12. data/lib/aws-sdk-s3/bucket_lifecycle.rb +30 -11
  13. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +31 -9
  14. data/lib/aws-sdk-s3/bucket_logging.rb +24 -8
  15. data/lib/aws-sdk-s3/bucket_notification.rb +21 -9
  16. data/lib/aws-sdk-s3/bucket_policy.rb +26 -9
  17. data/lib/aws-sdk-s3/bucket_request_payment.rb +26 -10
  18. data/lib/aws-sdk-s3/bucket_tagging.rb +26 -9
  19. data/lib/aws-sdk-s3/bucket_versioning.rb +67 -16
  20. data/lib/aws-sdk-s3/bucket_website.rb +26 -9
  21. data/lib/aws-sdk-s3/client.rb +3633 -1862
  22. data/lib/aws-sdk-s3/client_api.rb +546 -116
  23. data/lib/aws-sdk-s3/customizations/bucket.rb +8 -3
  24. data/lib/aws-sdk-s3/customizations/object.rb +116 -18
  25. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  26. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  29. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +3 -3
  30. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  31. data/lib/aws-sdk-s3/errors.rb +1 -1
  32. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  33. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  34. data/lib/aws-sdk-s3/file_uploader.rb +8 -3
  35. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  36. data/lib/aws-sdk-s3/multipart_upload.rb +133 -19
  37. data/lib/aws-sdk-s3/multipart_upload_part.rb +141 -21
  38. data/lib/aws-sdk-s3/object.rb +391 -130
  39. data/lib/aws-sdk-s3/object_acl.rb +30 -11
  40. data/lib/aws-sdk-s3/object_summary.rb +243 -115
  41. data/lib/aws-sdk-s3/object_version.rb +80 -53
  42. data/lib/aws-sdk-s3/plugins/accelerate.rb +13 -4
  43. data/lib/aws-sdk-s3/plugins/arn.rb +125 -58
  44. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  45. data/lib/aws-sdk-s3/plugins/dualstack.rb +33 -32
  46. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  47. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  48. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +17 -11
  49. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  50. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +25 -0
  51. data/lib/aws-sdk-s3/plugins/s3_signer.rb +55 -28
  52. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  53. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  54. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  55. data/lib/aws-sdk-s3/presigner.rb +33 -30
  56. data/lib/aws-sdk-s3/resource.rb +24 -4
  57. data/lib/aws-sdk-s3/types.rb +3777 -1306
  58. data/lib/aws-sdk-s3/waiters.rb +1 -1
  59. data/lib/aws-sdk-s3.rb +2 -2
  60. metadata +20 -14
@@ -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,8 +290,8 @@ 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
@@ -248,7 +304,8 @@ module Aws::S3
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
  #
@@ -259,7 +316,7 @@ module Aws::S3
259
316
  # outpost `my-outpost` owned by account `123456789012` in Region
260
317
  # `us-west-2`, use the URL encoding of
261
318
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
262
- # The value must be URL encoded.
319
+ # The value must be URL-encoded.
263
320
  #
264
321
  # To copy a specific version of an object, append
265
322
  # `?versionId=<version-id>` to the value (for example,
@@ -269,7 +326,7 @@ module Aws::S3
269
326
  #
270
327
  #
271
328
  #
272
- # [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
273
330
  # @option options [String] :copy_source_if_match
274
331
  # Copies the object if its entity tag (ETag) matches the specified tag.
275
332
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
@@ -315,21 +372,21 @@ module Aws::S3
315
372
  # @option options [String] :request_payer
316
373
  # Confirms that the requester knows that they will be charged for the
317
374
  # request. Bucket owners need not specify this parameter in their
318
- # requests. For information about downloading objects from requester
319
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
320
- # 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*.
321
378
  #
322
379
  #
323
380
  #
324
381
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
325
382
  # @option options [String] :expected_bucket_owner
326
- # The account id of the expected destination bucket owner. If the
327
- # destination bucket is owned by a different account, the request will
328
- # 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).
329
386
  # @option options [String] :expected_source_bucket_owner
330
- # The account id of the expected source bucket owner. If the source
331
- # bucket is owned by a different account, the request will fail with an
332
- # 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).
333
390
  # @return [Types::UploadPartCopyOutput]
334
391
  def copy_from(options = {})
335
392
  options = options.merge(
@@ -348,6 +405,11 @@ module Aws::S3
348
405
  # body: source_file,
349
406
  # content_length: 1,
350
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",
351
413
  # sse_customer_algorithm: "SSECustomerAlgorithm",
352
414
  # sse_customer_key: "SSECustomerKey",
353
415
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -364,6 +426,64 @@ module Aws::S3
364
426
  # The base64-encoded 128-bit MD5 digest of the part data. This parameter
365
427
  # is auto-populated when using the command from the CLI. This parameter
366
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
367
487
  # @option options [String] :sse_customer_algorithm
368
488
  # Specifies the algorithm to use to when encrypting the object (for
369
489
  # example, AES256).
@@ -382,17 +502,17 @@ module Aws::S3
382
502
  # @option options [String] :request_payer
383
503
  # Confirms that the requester knows that they will be charged for the
384
504
  # request. Bucket owners need not specify this parameter in their
385
- # requests. For information about downloading objects from requester
386
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
387
- # 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*.
388
508
  #
389
509
  #
390
510
  #
391
511
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
392
512
  # @option options [String] :expected_bucket_owner
393
- # The account id of the expected bucket owner. If the bucket is owned by
394
- # a different account, the request will fail with an HTTP `403 (Access
395
- # 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).
396
516
  # @return [Types::UploadPartOutput]
397
517
  def upload(options = {})
398
518
  options = options.merge(