aws-sdk-s3 1.103.0 → 1.114.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +85 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/arn/access_point_arn.rb +6 -6
  5. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +2 -3
  6. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +6 -6
  7. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +7 -6
  8. data/lib/aws-sdk-s3/bucket.rb +115 -18
  9. data/lib/aws-sdk-s3/bucket_acl.rb +18 -2
  10. data/lib/aws-sdk-s3/bucket_cors.rb +20 -4
  11. data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -6
  12. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  13. data/lib/aws-sdk-s3/bucket_logging.rb +18 -2
  14. data/lib/aws-sdk-s3/bucket_notification.rb +17 -5
  15. data/lib/aws-sdk-s3/bucket_policy.rb +20 -4
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -2
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +20 -4
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +54 -6
  19. data/lib/aws-sdk-s3/bucket_website.rb +20 -4
  20. data/lib/aws-sdk-s3/client.rb +2122 -846
  21. data/lib/aws-sdk-s3/client_api.rb +387 -21
  22. data/lib/aws-sdk-s3/customizations/object.rb +76 -3
  23. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  24. data/lib/aws-sdk-s3/file_uploader.rb +5 -0
  25. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  26. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  27. data/lib/aws-sdk-s3/multipart_upload_part.rb +132 -13
  28. data/lib/aws-sdk-s3/object.rb +249 -77
  29. data/lib/aws-sdk-s3/object_acl.rb +20 -4
  30. data/lib/aws-sdk-s3/object_summary.rb +170 -46
  31. data/lib/aws-sdk-s3/object_version.rb +64 -38
  32. data/lib/aws-sdk-s3/plugins/accelerate.rb +7 -1
  33. data/lib/aws-sdk-s3/plugins/arn.rb +11 -24
  34. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  35. data/lib/aws-sdk-s3/plugins/dualstack.rb +25 -31
  36. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -0
  37. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  38. data/lib/aws-sdk-s3/plugins/s3_signer.rb +25 -5
  39. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  40. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  41. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  42. data/lib/aws-sdk-s3/resource.rb +18 -0
  43. data/lib/aws-sdk-s3/types.rb +2470 -551
  44. data/lib/aws-sdk-s3.rb +1 -1
  45. metadata +5 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15712b72bf9c4eceb463344aa738f5e520a02161776d0a2e0c501c589ffba31b
4
- data.tar.gz: 44bd3b0c543a0bb6b31ff26da9e664b431b0497ca5157385671526a9bbe8c589
3
+ metadata.gz: dc4ed3965895fd8f673f79e9c405d272cd281f2fee60e6f78a791a0743c981fe
4
+ data.tar.gz: 2328ddf1594b50e642acfb659edc07fe02f35ad383948363699333e63e3b57ca
5
5
  SHA512:
6
- metadata.gz: f4dc0b61914a6c48dac9858321b0a6eb972991e2938d39a10d105140c18fcf7a43d1d905654942033f44336e491e82d5ad178eb2fc84beac05ac1e059da98be7
7
- data.tar.gz: 709d8e45a27f894622800dabb2ebb300f0d4b6f888c081987e42022b602d703aa22bd42fab179aeb976ee5ef12b98cb6b04d1663a49749b8693ea81b8099a2d3
6
+ metadata.gz: d35e6bd7c43c29a3bb8b31b4094a89608fac6ed9b3b13fd4da5fa37419f573215290346214d1c62747add1f352b43c405afb2c4b7e187ce267def725aa8b2ff1
7
+ data.tar.gz: b02f97001766edc02501290d135234ef99b45b54bf25560384887455a1f4dcec81b235aaa553e25e43cfe60c7cd8ef6a315ba44979b94fd0f6d2c2dc7a348404
data/CHANGELOG.md CHANGED
@@ -1,6 +1,91 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.114.0 (2022-05-03)
5
+ ------------------
6
+
7
+ * Feature - Documentation only update for doc bug fixes for the S3 API docs.
8
+
9
+ 1.113.2 (2022-04-26)
10
+ ------------------
11
+
12
+ * Issue - Fix an issue where `ExpiredToken` errors were retried as if the request was from another region.
13
+
14
+ 1.113.1 (2022-04-25)
15
+ ------------------
16
+
17
+ * Issue - Rewind the underlying file on a streaming retry that is not a truncated body (#2692).
18
+
19
+ 1.113.0 (2022-02-24)
20
+ ------------------
21
+
22
+ * 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
23
+
24
+ 1.112.0 (2022-02-03)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.111.3 (2022-01-24)
30
+ ------------------
31
+
32
+ * Issue - Fix starts_with fields on `PresignedPost` (#2636).
33
+
34
+ 1.111.2 (2022-01-20)
35
+ ------------------
36
+
37
+ * Issue - Minor cleanups.
38
+
39
+ 1.111.1 (2022-01-06)
40
+ ------------------
41
+
42
+ * Issue - Don't fail small files in `upload_file` when `:thread_count` is set. (#2628)
43
+
44
+ 1.111.0 (2022-01-04)
45
+ ------------------
46
+
47
+ * Feature - Minor doc-based updates based on feedback bugs received.
48
+
49
+ 1.110.0 (2021-12-21)
50
+ ------------------
51
+
52
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
53
+
54
+ 1.109.0 (2021-11-30)
55
+ ------------------
56
+
57
+ * 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.
58
+
59
+ 1.108.0 (2021-11-29)
60
+ ------------------
61
+
62
+ * 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.
63
+
64
+ 1.107.0 (2021-11-23)
65
+ ------------------
66
+
67
+ * 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.
68
+
69
+ 1.106.0 (2021-11-17)
70
+ ------------------
71
+
72
+ * Feature - Add `presigned_request` method to `Aws::S3::Object`.
73
+
74
+ 1.105.1 (2021-11-05)
75
+ ------------------
76
+
77
+ * Issue - Raise error when `use_fips_endpoint` is used with `use_accelerate_endpoint`.
78
+
79
+ 1.105.0 (2021-11-04)
80
+ ------------------
81
+
82
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
83
+
84
+ 1.104.0 (2021-10-18)
85
+ ------------------
86
+
87
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
88
+
4
89
  1.103.0 (2021-09-16)
5
90
  ------------------
6
91
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.103.0
1
+ 1.114.0
@@ -25,25 +25,25 @@ module Aws
25
25
  if @region.empty? || @account_id.empty?
26
26
  raise ArgumentError,
27
27
  'S3 Access Point ARNs must contain both a region '\
28
- 'and an account id.'
28
+ 'and an account ID.'
29
29
  end
30
30
 
31
31
  if @region.include?('-fips') || @region.include?('fips-')
32
32
  raise ArgumentError,
33
- 'S3 Access Point ARNs cannot contain a FIPS region'
33
+ 'S3 Access Point ARNs cannot contain a FIPS region.'
34
34
  end
35
35
 
36
36
  if @type != 'accesspoint'
37
- raise ArgumentError, 'Invalid ARN, resource format is not correct'
37
+ raise ArgumentError, 'Invalid ARN, resource format is not correct.'
38
38
  end
39
39
 
40
40
  if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
41
+ raise ArgumentError, 'Missing ARN Access Point name.'
42
42
  end
43
43
 
44
44
  if @extra
45
45
  raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
46
+ 'ARN Access Point resource must be a single value.'
47
47
  end
48
48
 
49
49
  unless Seahorse::Util.host_label?(
@@ -60,7 +60,7 @@ module Aws
60
60
  if custom_endpoint
61
61
  "#{pfx}.#{custom_endpoint}"
62
62
  else
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
63
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region, 's3')
64
64
  "#{pfx}.s3-accesspoint#{'-fips' if fips}#{'.dualstack' if dualstack}.#{region}.#{sfx}"
65
65
  end
66
66
  end
@@ -55,12 +55,11 @@ module Aws
55
55
  end
56
56
  end
57
57
 
58
- def host_url(region, fips = false, dualstack = false, custom_endpoint = nil)
58
+ def host_url(_region, _fips = false, _dualstack = false, custom_endpoint = nil)
59
59
  if custom_endpoint
60
60
  "#{@mrap_alias}.#{custom_endpoint}"
61
61
  else
62
-
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(@partition)
62
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(@partition, 's3')
64
63
  "#{@mrap_alias}.accesspoint.s3-global.#{sfx}"
65
64
  end
66
65
  end
@@ -19,18 +19,18 @@ module Aws
19
19
 
20
20
  def validate_arn!
21
21
  unless @service == 's3-object-lambda'
22
- raise ArgumentError, 'Must provide a valid S3 Object Lambdas ARN.'
22
+ raise ArgumentError, 'Must provide a valid S3 Object Lambda ARN.'
23
23
  end
24
24
 
25
25
  if @region.empty? || @account_id.empty?
26
26
  raise ArgumentError,
27
27
  'S3 Object Lambdas ARNs must contain both a region '\
28
- 'and an account id.'
28
+ 'and an account ID.'
29
29
  end
30
30
 
31
31
  if @region.include?('-fips') || @region.include?('fips-')
32
32
  raise ArgumentError,
33
- 'S3 Access Point ARNs cannot contain a FIPS region'
33
+ 'S3 Object Lambda ARNs cannot contain a FIPS region'
34
34
  end
35
35
 
36
36
  if @type != 'accesspoint'
@@ -38,12 +38,12 @@ module Aws
38
38
  end
39
39
 
40
40
  if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
41
+ raise ArgumentError, 'Missing ARN Access Point name.'
42
42
  end
43
43
 
44
44
  if @extra
45
45
  raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
46
+ 'ARN Access Point resource must be a single value.'
47
47
  end
48
48
 
49
49
  unless Seahorse::Util.host_label?(
@@ -60,7 +60,7 @@ module Aws
60
60
  if custom_endpoint
61
61
  "#{pfx}.#{custom_endpoint}"
62
62
  else
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
63
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region, 's3')
64
64
  "#{pfx}.s3-object-lambda#{'-fips' if fips}.#{region}.#{sfx}"
65
65
  end
66
66
  end
@@ -20,13 +20,14 @@ module Aws
20
20
 
21
21
  def validate_arn!
22
22
  unless @service == 's3-outposts'
23
- raise ArgumentError, 'Must provide a valid S3 Outposts ARN.'
23
+ raise ArgumentError, 'Must provide a valid S3 Outpost Access '\
24
+ 'Point ARN.'
24
25
  end
25
26
 
26
27
  if @region.empty? || @account_id.empty?
27
28
  raise ArgumentError,
28
- 'S3 Outpost ARNs must contain both a region '\
29
- 'and an account id.'
29
+ 'S3 Outpost Access Point ARNs must contain both a region '\
30
+ 'and an account ID.'
30
31
  end
31
32
 
32
33
  if @type != 'outpost' && @subtype != 'accesspoint'
@@ -34,16 +35,16 @@ module Aws
34
35
  end
35
36
 
36
37
  if @outpost_id.nil? || @outpost_id.empty?
37
- raise ArgumentError, 'Missing ARN outpost id.'
38
+ raise ArgumentError, 'Missing ARN Outpost ID.'
38
39
  end
39
40
 
40
41
  if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
42
+ raise ArgumentError, 'Missing ARN Access Point name.'
42
43
  end
43
44
 
44
45
  if @extra
45
46
  raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
47
+ 'ARN Access Point resource must be a single value.'
47
48
  end
48
49
 
49
50
  unless Seahorse::Util.host_label?(
@@ -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
  #
@@ -316,11 +335,29 @@ module Aws::S3
316
335
  # @option options [Boolean] :bypass_governance_retention
317
336
  # Specifies whether you want to delete this object even if it has a
318
337
  # Governance-type Object Lock in place. To use this header, you must
319
- # have the `s3:PutBucketPublicAccessBlock` permission.
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
@@ -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",
@@ -228,6 +229,21 @@ module Aws::S3
228
229
  #
229
230
  #
230
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
231
247
  # @option options [String] :grant_full_control
232
248
  # Allows grantee the read, write, read ACP, and write ACP permissions on
233
249
  # the bucket.
@@ -244,8 +260,8 @@ module Aws::S3
244
260
  # Allows grantee to write the ACL for the applicable bucket.
245
261
  # @option options [String] :expected_bucket_owner
246
262
  # The account ID of the expected bucket owner. If the bucket is owned by
247
- # a different account, the request will fail with an HTTP `403 (Access
248
- # Denied)` error.
263
+ # a different account, the request fails with the HTTP status code `403
264
+ # Forbidden` (access denied).
249
265
  # @return [EmptyStructure]
250
266
  def put(options = {})
251
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 ({})
@@ -231,10 +232,25 @@ module Aws::S3
231
232
  #
232
233
  #
233
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
234
250
  # @option options [String] :expected_bucket_owner
235
251
  # 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.
252
+ # a different account, the request fails with the HTTP status code `403
253
+ # Forbidden` (access denied).
238
254
  # @return [EmptyStructure]
239
255
  def put(options = {})
240
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,
@@ -231,11 +234,26 @@ module Aws::S3
231
234
  # For requests made using the Amazon Web Services Command Line Interface
232
235
  # (CLI) or Amazon Web Services SDKs, this field is calculated
233
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
234
252
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
235
253
  # @option options [String] :expected_bucket_owner
236
254
  # The account ID of the expected bucket owner. If the bucket is owned by
237
- # a different account, the request will fail with an HTTP `403 (Access
238
- # Denied)` error.
255
+ # a different account, the request fails with the HTTP status code `403
256
+ # Forbidden` (access denied).
239
257
  # @return [EmptyStructure]
240
258
  def put(options = {})
241
259
  options = options.merge(bucket: @bucket_name)