aws-sdk-s3 1.96.2 → 1.117.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +147 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +127 -30
  5. data/lib/aws-sdk-s3/bucket_acl.rb +21 -4
  6. data/lib/aws-sdk-s3/bucket_cors.rb +23 -6
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +27 -8
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  9. data/lib/aws-sdk-s3/bucket_logging.rb +21 -4
  10. data/lib/aws-sdk-s3/bucket_notification.rb +19 -7
  11. data/lib/aws-sdk-s3/bucket_policy.rb +23 -6
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +21 -4
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +23 -6
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +63 -12
  15. data/lib/aws-sdk-s3/bucket_website.rb +23 -6
  16. data/lib/aws-sdk-s3/client.rb +2776 -1341
  17. data/lib/aws-sdk-s3/client_api.rb +577 -208
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +20 -46
  19. data/lib/aws-sdk-s3/customizations/object.rb +78 -5
  20. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  21. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  22. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  23. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  24. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/endpoint_parameters.rb +142 -0
  26. data/lib/aws-sdk-s3/endpoint_provider.rb +2020 -0
  27. data/lib/aws-sdk-s3/endpoints.rb +2149 -0
  28. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  29. data/lib/aws-sdk-s3/file_uploader.rb +6 -1
  30. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  31. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +36 -10
  32. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  33. data/lib/aws-sdk-s3/multipart_upload_part.rb +134 -14
  34. data/lib/aws-sdk-s3/object.rb +291 -115
  35. data/lib/aws-sdk-s3/object_acl.rb +23 -6
  36. data/lib/aws-sdk-s3/object_summary.rb +210 -81
  37. data/lib/aws-sdk-s3/object_version.rb +66 -39
  38. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  39. data/lib/aws-sdk-s3/plugins/arn.rb +22 -180
  40. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  41. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  42. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  43. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  44. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  45. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  46. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  47. data/lib/aws-sdk-s3/plugins/s3_signer.rb +33 -100
  48. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  49. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  50. data/lib/aws-sdk-s3/presigned_post.rb +47 -35
  51. data/lib/aws-sdk-s3/presigner.rb +20 -27
  52. data/lib/aws-sdk-s3/resource.rb +19 -1
  53. data/lib/aws-sdk-s3/types.rb +2759 -4389
  54. data/lib/aws-sdk-s3.rb +5 -1
  55. metadata +12 -11
  56. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  57. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  58. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
  59. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 242ed586795b4719f27d124b42faaa419bf14d4c5dc3b612db75583df4563685
4
- data.tar.gz: dadf398788037a0cd952f24aa0ff0e0f11de1a3af6223381c720effee0ca4bde
3
+ metadata.gz: 17fc385741768d19f425516e457864220c9e3df5073c376675969f7ec9859d47
4
+ data.tar.gz: a42a0d634d5094da59d0b4a797949c3cfed58e35b9599912403223419376e544
5
5
  SHA512:
6
- metadata.gz: 1095e47c4edccb43eb079cfbc7dadb9b6fa077d7bf2344571041cede5e587ac70d76cecdef4f514890f5c576416ffd89d6ac07bd876559bb59a229a1bb0dc103
7
- data.tar.gz: 7df71120e7b7da8eee77f7df0fbe64a86f4452b137909578aee664d80c7126591b728b4a8efbaa8c367a102e6ab912b8cae961955dfa8fc2124aed82e0f1660f
6
+ metadata.gz: ba59de5b83b811490ee8595efadca7a42b710e0d297869f3d45d12fbcd0b8ea428eafd6b2061e8abae0d801de0a14ce5edc64af871d6fa5280131eeae140a3bf
7
+ data.tar.gz: 6b1e887e1b2e48ab45c10ff85edc12ae7832037d14526e359f56a674e1e453e33f958d2c50a9cfbfd79184f73acaeff5a77b1c2293cc21475ac7d384b247f2fb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,153 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.117.2 (2022-11-30)
5
+ ------------------
6
+
7
+ * Issue - Return error messages from failures in threads in `MultipartStreamUploader` (#2793).
8
+
9
+ 1.117.1 (2022-10-26)
10
+ ------------------
11
+
12
+ * Issue - Fix custom endpoint and port regression with `presigned_url` (#2776).
13
+
14
+ 1.117.0 (2022-10-25)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ * Issue - Apply checksums to MultipartStreamUploader (#2769).
20
+
21
+ 1.116.0 (2022-10-21)
22
+ ------------------
23
+
24
+ * Feature - S3 on Outposts launches support for automatic bucket-style alias. You can use the automatic access point alias instead of an access point ARN for any object-level operation in an Outposts bucket.
25
+
26
+ 1.115.0 (2022-10-19)
27
+ ------------------
28
+
29
+ * Feature - Updates internal logic for constructing API endpoints. We have added rule-based endpoints and internal model parameters.
30
+
31
+ 1.114.0 (2022-05-03)
32
+ ------------------
33
+
34
+ * Feature - Documentation only update for doc bug fixes for the S3 API docs.
35
+
36
+ 1.113.2 (2022-04-26)
37
+ ------------------
38
+
39
+ * Issue - Fix an issue where `ExpiredToken` errors were retried as if the request was from another region.
40
+
41
+ 1.113.1 (2022-04-25)
42
+ ------------------
43
+
44
+ * Issue - Rewind the underlying file on a streaming retry that is not a truncated body (#2692).
45
+
46
+ 1.113.0 (2022-02-24)
47
+ ------------------
48
+
49
+ * Feature - This release adds support for new integrity checking capabilities in Amazon S3. You can choose from four supported checksum algorithms for data integrity checking on your upload and download requests. In addition, AWS SDK can automatically calculate a checksum as it streams data into S3
50
+
51
+ 1.112.0 (2022-02-03)
52
+ ------------------
53
+
54
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
55
+
56
+ 1.111.3 (2022-01-24)
57
+ ------------------
58
+
59
+ * Issue - Fix starts_with fields on `PresignedPost` (#2636).
60
+
61
+ 1.111.2 (2022-01-20)
62
+ ------------------
63
+
64
+ * Issue - Minor cleanups.
65
+
66
+ 1.111.1 (2022-01-06)
67
+ ------------------
68
+
69
+ * Issue - Don't fail small files in `upload_file` when `:thread_count` is set. (#2628)
70
+
71
+ 1.111.0 (2022-01-04)
72
+ ------------------
73
+
74
+ * Feature - Minor doc-based updates based on feedback bugs received.
75
+
76
+ 1.110.0 (2021-12-21)
77
+ ------------------
78
+
79
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
80
+
81
+ 1.109.0 (2021-11-30)
82
+ ------------------
83
+
84
+ * Feature - Introduce Amazon S3 Glacier Instant Retrieval storage class and a new setting in S3 Object Ownership to disable ACLs for bucket and the objects in it.
85
+
86
+ 1.108.0 (2021-11-29)
87
+ ------------------
88
+
89
+ * Feature - Amazon S3 Event Notifications adds Amazon EventBridge as a destination and supports additional event types. The PutBucketNotificationConfiguration API can now skip validation of Amazon SQS, Amazon SNS and AWS Lambda destinations.
90
+
91
+ 1.107.0 (2021-11-23)
92
+ ------------------
93
+
94
+ * Feature - Introduce two new Filters to S3 Lifecycle configurations - ObjectSizeGreaterThan and ObjectSizeLessThan. Introduce a new way to trigger actions on noncurrent versions by providing the number of newer noncurrent versions along with noncurrent days.
95
+
96
+ 1.106.0 (2021-11-17)
97
+ ------------------
98
+
99
+ * Feature - Add `presigned_request` method to `Aws::S3::Object`.
100
+
101
+ 1.105.1 (2021-11-05)
102
+ ------------------
103
+
104
+ * Issue - Raise error when `use_fips_endpoint` is used with `use_accelerate_endpoint`.
105
+
106
+ 1.105.0 (2021-11-04)
107
+ ------------------
108
+
109
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
110
+
111
+ 1.104.0 (2021-10-18)
112
+ ------------------
113
+
114
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
115
+
116
+ 1.103.0 (2021-09-16)
117
+ ------------------
118
+
119
+ * Feature - Add support for access point arn filtering in S3 CW Request Metrics
120
+
121
+ 1.102.0 (2021-09-02)
122
+ ------------------
123
+
124
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
125
+
126
+ 1.101.0 (2021-09-01)
127
+ ------------------
128
+
129
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
130
+
131
+ 1.100.0 (2021-08-27)
132
+ ------------------
133
+
134
+ * Feature - Documentation updates for Amazon S3.
135
+
136
+ 1.99.0 (2021-08-16)
137
+ ------------------
138
+
139
+ * Feature - Documentation updates for Amazon S3
140
+
141
+ 1.98.0 (2021-07-30)
142
+ ------------------
143
+
144
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
145
+
146
+ 1.97.0 (2021-07-28)
147
+ ------------------
148
+
149
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
150
+
4
151
  1.96.2 (2021-07-20)
5
152
  ------------------
6
153
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.96.2
1
+ 1.117.2
@@ -223,7 +223,7 @@ module Aws::S3
223
223
  # bucket.create({
224
224
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
225
225
  # create_bucket_configuration: {
226
- # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
226
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
227
227
  # },
228
228
  # grant_full_control: "GrantFullControl",
229
229
  # grant_read: "GrantRead",
@@ -231,6 +231,7 @@ module Aws::S3
231
231
  # grant_write: "GrantWrite",
232
232
  # grant_write_acp: "GrantWriteACP",
233
233
  # object_lock_enabled_for_bucket: false,
234
+ # object_ownership: "BucketOwnerPreferred", # accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
234
235
  # })
235
236
  # @param [Hash] options ({})
236
237
  # @option options [String] :acl
@@ -254,6 +255,23 @@ module Aws::S3
254
255
  # @option options [Boolean] :object_lock_enabled_for_bucket
255
256
  # Specifies whether you want S3 Object Lock to be enabled for the new
256
257
  # bucket.
258
+ # @option options [String] :object_ownership
259
+ # The container element for object ownership for a bucket's ownership
260
+ # controls.
261
+ #
262
+ # BucketOwnerPreferred - Objects uploaded to the bucket change ownership
263
+ # to the bucket owner if the objects are uploaded with the
264
+ # `bucket-owner-full-control` canned ACL.
265
+ #
266
+ # ObjectWriter - The uploading account will own the object if the object
267
+ # is uploaded with the `bucket-owner-full-control` canned ACL.
268
+ #
269
+ # BucketOwnerEnforced - Access control lists (ACLs) are disabled and no
270
+ # longer affect permissions. The bucket owner automatically owns and has
271
+ # full control over every object in the bucket. The bucket only accepts
272
+ # PUT requests that don't specify an ACL or bucket owner full control
273
+ # ACLs, such as the `bucket-owner-full-control` canned ACL or an
274
+ # equivalent form of this ACL expressed in the XML format.
257
275
  # @return [Types::CreateBucketOutput]
258
276
  def create(options = {})
259
277
  options = options.merge(bucket: @name)
@@ -269,8 +287,8 @@ module Aws::S3
269
287
  # @param [Hash] options ({})
270
288
  # @option options [String] :expected_bucket_owner
271
289
  # The account ID of the expected bucket owner. If the bucket is owned by
272
- # a different account, the request will fail with an HTTP `403 (Access
273
- # Denied)` error.
290
+ # a different account, the request fails with the HTTP status code `403
291
+ # Forbidden` (access denied).
274
292
  # @return [EmptyStructure]
275
293
  def delete(options = {})
276
294
  options = options.merge(bucket: @name)
@@ -294,6 +312,7 @@ module Aws::S3
294
312
  # request_payer: "requester", # accepts requester
295
313
  # bypass_governance_retention: false,
296
314
  # expected_bucket_owner: "AccountId",
315
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
297
316
  # })
298
317
  # @param [Hash] options ({})
299
318
  # @option options [required, Types::Delete] :delete
@@ -306,8 +325,8 @@ module Aws::S3
306
325
  # @option options [String] :request_payer
307
326
  # Confirms that the requester knows that they will be charged for the
308
327
  # 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]
328
+ # requests. For information about downloading objects from Requester
329
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
311
330
  # in the *Amazon S3 User Guide*.
312
331
  #
313
332
  #
@@ -315,12 +334,30 @@ module Aws::S3
315
334
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
316
335
  # @option options [Boolean] :bypass_governance_retention
317
336
  # Specifies whether you want to delete this object even if it has a
318
- # Governance-type Object Lock in place. You must have sufficient
319
- # permissions to perform this operation.
337
+ # Governance-type Object Lock in place. To use this header, you must
338
+ # have the `s3:BypassGovernanceRetention` permission.
320
339
  # @option options [String] :expected_bucket_owner
321
340
  # The account ID of the expected bucket owner. If the bucket is owned by
322
- # a different account, the request will fail with an HTTP `403 (Access
323
- # Denied)` error.
341
+ # a different account, the request fails with the HTTP status code `403
342
+ # Forbidden` (access denied).
343
+ # @option options [String] :checksum_algorithm
344
+ # Indicates the algorithm used to create the checksum for the object
345
+ # when using the SDK. This header will not provide any additional
346
+ # functionality if not using the SDK. When sending this header, there
347
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
348
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
349
+ # `400 Bad Request`. For more information, see [Checking object
350
+ # integrity][1] in the *Amazon S3 User Guide*.
351
+ #
352
+ # If you provide an individual checksum, Amazon S3 ignores any provided
353
+ # `ChecksumAlgorithm` parameter.
354
+ #
355
+ # This checksum algorithm must be the same for all parts and it match
356
+ # the checksum value supplied in the `CreateMultipartUpload` request.
357
+ #
358
+ #
359
+ #
360
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
324
361
  # @return [Types::DeleteObjectsOutput]
325
362
  def delete_objects(options = {})
326
363
  options = options.merge(bucket: @name)
@@ -340,6 +377,11 @@ module Aws::S3
340
377
  # content_length: 1,
341
378
  # content_md5: "ContentMD5",
342
379
  # content_type: "ContentType",
380
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
381
+ # checksum_crc32: "ChecksumCRC32",
382
+ # checksum_crc32c: "ChecksumCRC32C",
383
+ # checksum_sha1: "ChecksumSHA1",
384
+ # checksum_sha256: "ChecksumSHA256",
343
385
  # expires: Time.now,
344
386
  # grant_full_control: "GrantFullControl",
345
387
  # grant_read: "GrantRead",
@@ -350,7 +392,7 @@ module Aws::S3
350
392
  # "MetadataKey" => "MetadataValue",
351
393
  # },
352
394
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
353
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
395
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
354
396
  # website_redirect_location: "WebsiteRedirectLocation",
355
397
  # sse_customer_algorithm: "SSECustomerAlgorithm",
356
398
  # sse_customer_key: "SSECustomerKey",
@@ -432,6 +474,61 @@ module Aws::S3
432
474
  #
433
475
  #
434
476
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
477
+ # @option options [String] :checksum_algorithm
478
+ # Indicates the algorithm used to create the checksum for the object
479
+ # when using the SDK. This header will not provide any additional
480
+ # functionality if not using the SDK. When sending this header, there
481
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
482
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
483
+ # `400 Bad Request`. For more information, see [Checking object
484
+ # integrity][1] in the *Amazon S3 User Guide*.
485
+ #
486
+ # If you provide an individual checksum, Amazon S3 ignores any provided
487
+ # `ChecksumAlgorithm` parameter.
488
+ #
489
+ #
490
+ #
491
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
492
+ # @option options [String] :checksum_crc32
493
+ # This header can be used as a data integrity check to verify that the
494
+ # data received is the same data that was originally sent. This header
495
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
496
+ # more information, see [Checking object integrity][1] in the *Amazon S3
497
+ # User Guide*.
498
+ #
499
+ #
500
+ #
501
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
502
+ # @option options [String] :checksum_crc32c
503
+ # This header can be used as a data integrity check to verify that the
504
+ # data received is the same data that was originally sent. This header
505
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
506
+ # For more information, see [Checking object integrity][1] in the
507
+ # *Amazon S3 User Guide*.
508
+ #
509
+ #
510
+ #
511
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
512
+ # @option options [String] :checksum_sha1
513
+ # This header can be used as a data integrity check to verify that the
514
+ # data received is the same data that was originally sent. This header
515
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
516
+ # more information, see [Checking object integrity][1] in the *Amazon S3
517
+ # User Guide*.
518
+ #
519
+ #
520
+ #
521
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
522
+ # @option options [String] :checksum_sha256
523
+ # This header can be used as a data integrity check to verify that the
524
+ # data received is the same data that was originally sent. This header
525
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
526
+ # For more information, see [Checking object integrity][1] in the
527
+ # *Amazon S3 User Guide*.
528
+ #
529
+ #
530
+ #
531
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
435
532
  # @option options [Time,DateTime,Date,Integer,String] :expires
436
533
  # The date and time at which the object is no longer cacheable. For more
437
534
  # information, see
@@ -515,18 +612,18 @@ module Aws::S3
515
612
  # ensure that the encryption key was transmitted without error.
516
613
  # @option options [String] :ssekms_key_id
517
614
  # If `x-amz-server-side-encryption` is present and has the value of
518
- # `aws:kms`, this header specifies the ID of the AWS Key Management
519
- # Service (AWS KMS) symmetrical customer managed customer master key
520
- # (CMK) that was used for the object. If you specify
615
+ # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
616
+ # Management Service (Amazon Web Services KMS) symmetrical customer
617
+ # managed key that was used for the object. If you specify
521
618
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
522
- # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the AWS
523
- # managed CMK in AWS to protect the data. If the KMS key does not exist
524
- # in the same account issuing the command, you must use the full ARN and
525
- # not just the ID.
619
+ # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
620
+ # Amazon Web Services managed key to protect the data. If the KMS key
621
+ # does not exist in the same account issuing the command, you must use
622
+ # the full ARN and not just the ID.
526
623
  # @option options [String] :ssekms_encryption_context
527
- # Specifies the AWS KMS Encryption Context to use for object encryption.
528
- # The value of this header is a base64-encoded UTF-8 string holding JSON
529
- # with the encryption context key-value pairs.
624
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
625
+ # object encryption. The value of this header is a base64-encoded UTF-8
626
+ # string holding JSON with the encryption context key-value pairs.
530
627
  # @option options [Boolean] :bucket_key_enabled
531
628
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
532
629
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -538,8 +635,8 @@ module Aws::S3
538
635
  # @option options [String] :request_payer
539
636
  # Confirms that the requester knows that they will be charged for the
540
637
  # request. Bucket owners need not specify this parameter in their
541
- # requests. For information about downloading objects from requester
542
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
638
+ # requests. For information about downloading objects from Requester
639
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
543
640
  # in the *Amazon S3 User Guide*.
544
641
  #
545
642
  #
@@ -562,8 +659,8 @@ module Aws::S3
562
659
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
563
660
  # @option options [String] :expected_bucket_owner
564
661
  # The account ID of the expected bucket owner. If the bucket is owned by
565
- # a different account, the request will fail with an HTTP `403 (Access
566
- # Denied)` error.
662
+ # a different account, the request fails with the HTTP status code `403
663
+ # Forbidden` (access denied).
567
664
  # @return [Object]
568
665
  def put_object(options = {})
569
666
  options = options.merge(bucket: @name)
@@ -670,8 +767,8 @@ module Aws::S3
670
767
  # specified `upload-id-marker`.
671
768
  # @option options [String] :expected_bucket_owner
672
769
  # The account ID of the expected bucket owner. If the bucket is owned by
673
- # a different account, the request will fail with an HTTP `403 (Access
674
- # Denied)` error.
770
+ # a different account, the request fails with the HTTP status code `403
771
+ # Forbidden` (access denied).
675
772
  # @return [MultipartUpload::Collection]
676
773
  def multipart_uploads(options = {})
677
774
  batches = Enumerator.new do |y|
@@ -750,8 +847,8 @@ module Aws::S3
750
847
  # Specifies the object version you want to start listing from.
751
848
  # @option options [String] :expected_bucket_owner
752
849
  # The account ID of the expected bucket owner. If the bucket is owned by
753
- # a different account, the request will fail with an HTTP `403 (Access
754
- # Denied)` error.
850
+ # a different account, the request fails with the HTTP status code `403
851
+ # Forbidden` (access denied).
755
852
  # @return [ObjectVersion::Collection]
756
853
  def object_versions(options = {})
757
854
  batches = Enumerator.new do |y|
@@ -806,8 +903,8 @@ module Aws::S3
806
903
  # this parameter in their requests.
807
904
  # @option options [String] :expected_bucket_owner
808
905
  # The account ID of the expected bucket owner. If the bucket is owned by
809
- # a different account, the request will fail with an HTTP `403 (Access
810
- # Denied)` error.
906
+ # a different account, the request fails with the HTTP status code `403
907
+ # Forbidden` (access denied).
811
908
  # @return [ObjectSummary::Collection]
812
909
  def objects(options = {})
813
910
  batches = Enumerator.new do |y|
@@ -203,6 +203,7 @@ module Aws::S3
203
203
  # },
204
204
  # },
205
205
  # content_md5: "ContentMD5",
206
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
206
207
  # grant_full_control: "GrantFullControl",
207
208
  # grant_read: "GrantRead",
208
209
  # grant_read_acp: "GrantReadACP",
@@ -221,12 +222,28 @@ module Aws::S3
221
222
  # used as a message integrity check to verify that the request body was
222
223
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
223
224
  #
224
- # For requests made using the AWS Command Line Interface (CLI) or AWS
225
- # SDKs, this field is calculated automatically.
225
+ # For requests made using the Amazon Web Services Command Line Interface
226
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
227
+ # automatically.
226
228
  #
227
229
  #
228
230
  #
229
231
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
232
+ # @option options [String] :checksum_algorithm
233
+ # Indicates the algorithm used to create the checksum for the object
234
+ # when using the SDK. This header will not provide any additional
235
+ # functionality if not using the SDK. When sending this header, there
236
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
237
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
238
+ # `400 Bad Request`. For more information, see [Checking object
239
+ # integrity][1] in the *Amazon S3 User Guide*.
240
+ #
241
+ # If you provide an individual checksum, Amazon S3 ignores any provided
242
+ # `ChecksumAlgorithm` parameter.
243
+ #
244
+ #
245
+ #
246
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
230
247
  # @option options [String] :grant_full_control
231
248
  # Allows grantee the read, write, read ACP, and write ACP permissions on
232
249
  # the bucket.
@@ -243,8 +260,8 @@ module Aws::S3
243
260
  # Allows grantee to write the ACL for the applicable bucket.
244
261
  # @option options [String] :expected_bucket_owner
245
262
  # The account ID of the expected bucket owner. If the bucket is owned by
246
- # a different account, the request will fail with an HTTP `403 (Access
247
- # Denied)` error.
263
+ # a different account, the request fails with the HTTP status code `403
264
+ # Forbidden` (access denied).
248
265
  # @return [EmptyStructure]
249
266
  def put(options = {})
250
267
  options = options.merge(bucket: @bucket_name)
@@ -183,8 +183,8 @@ module Aws::S3
183
183
  # @param [Hash] options ({})
184
184
  # @option options [String] :expected_bucket_owner
185
185
  # The account ID of the expected bucket owner. If the bucket is owned by
186
- # a different account, the request will fail with an HTTP `403 (Access
187
- # Denied)` error.
186
+ # a different account, the request fails with the HTTP status code `403
187
+ # Forbidden` (access denied).
188
188
  # @return [EmptyStructure]
189
189
  def delete(options = {})
190
190
  options = options.merge(bucket: @bucket_name)
@@ -208,6 +208,7 @@ module Aws::S3
208
208
  # ],
209
209
  # },
210
210
  # content_md5: "ContentMD5",
211
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
211
212
  # expected_bucket_owner: "AccountId",
212
213
  # })
213
214
  # @param [Hash] options ({})
@@ -224,16 +225,32 @@ module Aws::S3
224
225
  # used as a message integrity check to verify that the request body was
225
226
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
226
227
  #
227
- # For requests made using the AWS Command Line Interface (CLI) or AWS
228
- # SDKs, this field is calculated automatically.
228
+ # For requests made using the Amazon Web Services Command Line Interface
229
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
230
+ # automatically.
229
231
  #
230
232
  #
231
233
  #
232
234
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
235
+ # @option options [String] :checksum_algorithm
236
+ # Indicates the algorithm used to create the checksum for the object
237
+ # when using the SDK. This header will not provide any additional
238
+ # functionality if not using the SDK. When sending this header, there
239
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
240
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
241
+ # `400 Bad Request`. For more information, see [Checking object
242
+ # integrity][1] in the *Amazon S3 User Guide*.
243
+ #
244
+ # If you provide an individual checksum, Amazon S3 ignores any provided
245
+ # `ChecksumAlgorithm` parameter.
246
+ #
247
+ #
248
+ #
249
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
233
250
  # @option options [String] :expected_bucket_owner
234
251
  # The account ID of the expected bucket owner. If the bucket is owned by
235
- # a different account, the request will fail with an HTTP `403 (Access
236
- # Denied)` error.
252
+ # a different account, the request fails with the HTTP status code `403
253
+ # Forbidden` (access denied).
237
254
  # @return [EmptyStructure]
238
255
  def put(options = {})
239
256
  options = options.merge(bucket: @bucket_name)
@@ -182,8 +182,8 @@ module Aws::S3
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
184
  # The account ID of the expected bucket owner. If the bucket is owned by
185
- # a different account, the request will fail with an HTTP `403 (Access
186
- # Denied)` error.
185
+ # a different account, the request fails with the HTTP status code `403
186
+ # Forbidden` (access denied).
187
187
  # @return [EmptyStructure]
188
188
  def delete(options = {})
189
189
  options = options.merge(bucket: @bucket_name)
@@ -195,6 +195,7 @@ module Aws::S3
195
195
  #
196
196
  # bucket_lifecycle.put({
197
197
  # content_md5: "ContentMD5",
198
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
199
  # lifecycle_configuration: {
199
200
  # rules: [ # required
200
201
  # {
@@ -209,14 +210,16 @@ module Aws::S3
209
210
  # transition: {
210
211
  # date: Time.now,
211
212
  # days: 1,
212
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
213
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
213
214
  # },
214
215
  # noncurrent_version_transition: {
215
216
  # noncurrent_days: 1,
216
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
217
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
218
+ # newer_noncurrent_versions: 1,
217
219
  # },
218
220
  # noncurrent_version_expiration: {
219
221
  # noncurrent_days: 1,
222
+ # newer_noncurrent_versions: 1,
220
223
  # },
221
224
  # abort_incomplete_multipart_upload: {
222
225
  # days_after_initiation: 1,
@@ -228,13 +231,29 @@ module Aws::S3
228
231
  # })
229
232
  # @param [Hash] options ({})
230
233
  # @option options [String] :content_md5
231
- # For requests made using the AWS Command Line Interface (CLI) or AWS
232
- # SDKs, this field is calculated automatically.
234
+ # For requests made using the Amazon Web Services Command Line Interface
235
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
236
+ # automatically.
237
+ # @option options [String] :checksum_algorithm
238
+ # Indicates the algorithm used to create the checksum for the object
239
+ # when using the SDK. This header will not provide any additional
240
+ # functionality if not using the SDK. When sending this header, there
241
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
242
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
243
+ # `400 Bad Request`. For more information, see [Checking object
244
+ # integrity][1] in the *Amazon S3 User Guide*.
245
+ #
246
+ # If you provide an individual checksum, Amazon S3 ignores any provided
247
+ # `ChecksumAlgorithm` parameter.
248
+ #
249
+ #
250
+ #
251
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
233
252
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
234
253
  # @option options [String] :expected_bucket_owner
235
254
  # The account ID of the expected bucket owner. If the bucket is owned by
236
- # a different account, the request will fail with an HTTP `403 (Access
237
- # Denied)` error.
255
+ # a different account, the request fails with the HTTP status code `403
256
+ # Forbidden` (access denied).
238
257
  # @return [EmptyStructure]
239
258
  def put(options = {})
240
259
  options = options.merge(bucket: @bucket_name)