aws-sdk-s3 1.103.0 → 1.120.0

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 +139 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +134 -34
  5. data/lib/aws-sdk-s3/bucket_acl.rb +18 -2
  6. data/lib/aws-sdk-s3/bucket_cors.rb +20 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -6
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  9. data/lib/aws-sdk-s3/bucket_logging.rb +18 -2
  10. data/lib/aws-sdk-s3/bucket_notification.rb +17 -5
  11. data/lib/aws-sdk-s3/bucket_policy.rb +20 -4
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -2
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +20 -4
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +54 -6
  15. data/lib/aws-sdk-s3/bucket_website.rb +20 -4
  16. data/lib/aws-sdk-s3/client.rb +2574 -1199
  17. data/lib/aws-sdk-s3/client_api.rb +574 -208
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +20 -46
  19. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +80 -4
  21. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  22. data/lib/aws-sdk-s3/customizations.rb +2 -0
  23. data/lib/aws-sdk-s3/endpoint_parameters.rb +142 -0
  24. data/lib/aws-sdk-s3/endpoint_provider.rb +733 -0
  25. data/lib/aws-sdk-s3/endpoints.rb +2149 -0
  26. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  27. data/lib/aws-sdk-s3/file_uploader.rb +5 -0
  28. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  29. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +36 -10
  30. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  31. data/lib/aws-sdk-s3/multipart_upload_part.rb +133 -14
  32. data/lib/aws-sdk-s3/object.rb +289 -112
  33. data/lib/aws-sdk-s3/object_acl.rb +20 -4
  34. data/lib/aws-sdk-s3/object_multipart_copier.rb +11 -5
  35. data/lib/aws-sdk-s3/object_summary.rb +204 -74
  36. data/lib/aws-sdk-s3/object_version.rb +68 -40
  37. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  38. data/lib/aws-sdk-s3/plugins/arn.rb +0 -197
  39. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  40. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  41. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  42. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  43. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  44. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  45. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  46. data/lib/aws-sdk-s3/plugins/s3_signer.rb +33 -109
  47. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  48. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  49. data/lib/aws-sdk-s3/presigned_post.rb +47 -35
  50. data/lib/aws-sdk-s3/presigner.rb +20 -33
  51. data/lib/aws-sdk-s3/resource.rb +19 -1
  52. data/lib/aws-sdk-s3/types.rb +2519 -4175
  53. data/lib/aws-sdk-s3.rb +5 -1
  54. metadata +11 -9
  55. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  56. data/lib/aws-sdk-s3/arn/multi_region_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: 15712b72bf9c4eceb463344aa738f5e520a02161776d0a2e0c501c589ffba31b
4
- data.tar.gz: 44bd3b0c543a0bb6b31ff26da9e664b431b0497ca5157385671526a9bbe8c589
3
+ metadata.gz: c0ecedb5029a9aae068dd207b987f29fafe9b30666926596c222af527a7534ec
4
+ data.tar.gz: 8aa24e696aeb7b1615715b4601a472b623dc253f6737b8ad2d29524fb621e927
5
5
  SHA512:
6
- metadata.gz: f4dc0b61914a6c48dac9858321b0a6eb972991e2938d39a10d105140c18fcf7a43d1d905654942033f44336e491e82d5ad178eb2fc84beac05ac1e059da98be7
7
- data.tar.gz: 709d8e45a27f894622800dabb2ebb300f0d4b6f888c081987e42022b602d703aa22bd42fab179aeb976ee5ef12b98cb6b04d1663a49749b8693ea81b8099a2d3
6
+ metadata.gz: 0bd1102fe8cedefa01adef46944e16446f7ca2a15faaf057dcbf1adce6fc69f017afa8cec52443590b4d9488846b1c1769204e388472ec949b2cca05d4990823
7
+ data.tar.gz: 95b10eb395a66dca4d6067da1237c38e0da95bef1fd18226ea8aa19ce11ae61791d36d2edc487d9b89c35f4f855833de9c0b2817814cd34073681d64de98110b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,145 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.120.0 (2023-03-31)
5
+ ------------------
6
+
7
+ * Feature - Documentation updates for Amazon S3
8
+
9
+ 1.119.2 (2023-03-22)
10
+ ------------------
11
+
12
+ * Issue - Provide `endpoint` and `bucket` attributes on `Aws::S3::Errors::PermanentRedirect` error objects.
13
+
14
+ 1.119.1 (2023-02-13)
15
+ ------------------
16
+
17
+ * Issue - Ensure object metadata is not lost on multipart copy (#2821).
18
+
19
+ 1.119.0 (2023-01-26)
20
+ ------------------
21
+
22
+ * Feature - Allow FIPS to be used with path-style URLs.
23
+
24
+ 1.118.0 (2023-01-18)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
30
+
31
+ 1.117.2 (2022-11-30)
32
+ ------------------
33
+
34
+ * Issue - Return error messages from failures in threads in `MultipartStreamUploader` (#2793).
35
+
36
+ 1.117.1 (2022-10-26)
37
+ ------------------
38
+
39
+ * Issue - Fix custom endpoint and port regression with `presigned_url` (#2776).
40
+
41
+ 1.117.0 (2022-10-25)
42
+ ------------------
43
+
44
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
45
+
46
+ * Issue - Apply checksums to MultipartStreamUploader (#2769).
47
+
48
+ 1.116.0 (2022-10-21)
49
+ ------------------
50
+
51
+ * 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.
52
+
53
+ 1.115.0 (2022-10-19)
54
+ ------------------
55
+
56
+ * Feature - Updates internal logic for constructing API endpoints. We have added rule-based endpoints and internal model parameters.
57
+
58
+ 1.114.0 (2022-05-03)
59
+ ------------------
60
+
61
+ * Feature - Documentation only update for doc bug fixes for the S3 API docs.
62
+
63
+ 1.113.2 (2022-04-26)
64
+ ------------------
65
+
66
+ * Issue - Fix an issue where `ExpiredToken` errors were retried as if the request was from another region.
67
+
68
+ 1.113.1 (2022-04-25)
69
+ ------------------
70
+
71
+ * Issue - Rewind the underlying file on a streaming retry that is not a truncated body (#2692).
72
+
73
+ 1.113.0 (2022-02-24)
74
+ ------------------
75
+
76
+ * 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
77
+
78
+ 1.112.0 (2022-02-03)
79
+ ------------------
80
+
81
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
82
+
83
+ 1.111.3 (2022-01-24)
84
+ ------------------
85
+
86
+ * Issue - Fix starts_with fields on `PresignedPost` (#2636).
87
+
88
+ 1.111.2 (2022-01-20)
89
+ ------------------
90
+
91
+ * Issue - Minor cleanups.
92
+
93
+ 1.111.1 (2022-01-06)
94
+ ------------------
95
+
96
+ * Issue - Don't fail small files in `upload_file` when `:thread_count` is set. (#2628)
97
+
98
+ 1.111.0 (2022-01-04)
99
+ ------------------
100
+
101
+ * Feature - Minor doc-based updates based on feedback bugs received.
102
+
103
+ 1.110.0 (2021-12-21)
104
+ ------------------
105
+
106
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
107
+
108
+ 1.109.0 (2021-11-30)
109
+ ------------------
110
+
111
+ * 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.
112
+
113
+ 1.108.0 (2021-11-29)
114
+ ------------------
115
+
116
+ * 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.
117
+
118
+ 1.107.0 (2021-11-23)
119
+ ------------------
120
+
121
+ * 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.
122
+
123
+ 1.106.0 (2021-11-17)
124
+ ------------------
125
+
126
+ * Feature - Add `presigned_request` method to `Aws::S3::Object`.
127
+
128
+ 1.105.1 (2021-11-05)
129
+ ------------------
130
+
131
+ * Issue - Raise error when `use_fips_endpoint` is used with `use_accelerate_endpoint`.
132
+
133
+ 1.105.0 (2021-11-04)
134
+ ------------------
135
+
136
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
137
+
138
+ 1.104.0 (2021-10-18)
139
+ ------------------
140
+
141
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
142
+
4
143
  1.103.0 (2021-09-16)
5
144
  ------------------
6
145
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.103.0
1
+ 1.120.0
@@ -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
  #
@@ -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",
@@ -388,30 +430,30 @@ module Aws::S3
388
430
  # @option options [String] :content_disposition
389
431
  # Specifies presentational information for the object. For more
390
432
  # information, see
391
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
433
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
392
434
  #
393
435
  #
394
436
  #
395
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
437
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
396
438
  # @option options [String] :content_encoding
397
439
  # Specifies what content encodings have been applied to the object and
398
440
  # thus what decoding mechanisms must be applied to obtain the media-type
399
441
  # referenced by the Content-Type header field. For more information, see
400
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
442
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
401
443
  #
402
444
  #
403
445
  #
404
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
446
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
405
447
  # @option options [String] :content_language
406
448
  # The language the content is in.
407
449
  # @option options [Integer] :content_length
408
450
  # Size of the body in bytes. This parameter is useful when the size of
409
451
  # the body cannot be determined automatically. For more information, see
410
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
452
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
411
453
  #
412
454
  #
413
455
  #
414
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
456
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
415
457
  # @option options [String] :content_md5
416
458
  # The base64-encoded 128-bit MD5 digest of the message (without the
417
459
  # headers) according to RFC 1864. This header can be used as a message
@@ -427,19 +469,74 @@ module Aws::S3
427
469
  # @option options [String] :content_type
428
470
  # A standard MIME type describing the format of the contents. For more
429
471
  # information, see
430
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
472
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
473
+ #
474
+ #
475
+ #
476
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
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*.
431
528
  #
432
529
  #
433
530
  #
434
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
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
438
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
535
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
439
536
  #
440
537
  #
441
538
  #
442
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
539
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
443
540
  # @option options [String] :grant_full_control
444
541
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
445
542
  # object.
@@ -463,7 +560,7 @@ module Aws::S3
463
560
  # A map of metadata to store with the object in S3.
464
561
  # @option options [String] :server_side_encryption
465
562
  # The server-side encryption algorithm used when storing this object in
466
- # Amazon S3 (for example, AES256, aws:kms).
563
+ # Amazon S3 (for example, AES256, `aws:kms`).
467
564
  # @option options [String] :storage_class
468
565
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
469
566
  # created objects. The STANDARD storage class provides high durability
@@ -514,9 +611,9 @@ module Aws::S3
514
611
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
515
612
  # ensure that the encryption key was transmitted without error.
516
613
  # @option options [String] :ssekms_key_id
517
- # If `x-amz-server-side-encryption` is present and has the value of
518
- # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
519
- # Management Service (Amazon Web Services KMS) symmetrical customer
614
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
615
+ # header specifies the ID of the Amazon Web Services Key Management
616
+ # Service (Amazon Web Services KMS) symmetric encryption customer
520
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
619
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
@@ -526,7 +623,10 @@ module Aws::S3
526
623
  # @option options [String] :ssekms_encryption_context
527
624
  # Specifies the Amazon Web Services KMS Encryption Context to use for
528
625
  # object encryption. The value of this header is a base64-encoded UTF-8
529
- # string holding JSON with the encryption context key-value pairs.
626
+ # string holding JSON with the encryption context key-value pairs. This
627
+ # value is stored as object metadata and automatically gets passed on to
628
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
629
+ # operations on this object.
530
630
  # @option options [Boolean] :bucket_key_enabled
531
631
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
532
632
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -538,8 +638,8 @@ module Aws::S3
538
638
  # @option options [String] :request_payer
539
639
  # Confirms that the requester knows that they will be charged for the
540
640
  # 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]
641
+ # requests. For information about downloading objects from Requester
642
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
543
643
  # in the *Amazon S3 User Guide*.
544
644
  #
545
645
  #
@@ -562,8 +662,8 @@ module Aws::S3
562
662
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
563
663
  # @option options [String] :expected_bucket_owner
564
664
  # 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.
665
+ # a different account, the request fails with the HTTP status code `403
666
+ # Forbidden` (access denied).
567
667
  # @return [Object]
568
668
  def put_object(options = {})
569
669
  options = options.merge(bucket: @name)
@@ -670,8 +770,8 @@ module Aws::S3
670
770
  # specified `upload-id-marker`.
671
771
  # @option options [String] :expected_bucket_owner
672
772
  # 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.
773
+ # a different account, the request fails with the HTTP status code `403
774
+ # Forbidden` (access denied).
675
775
  # @return [MultipartUpload::Collection]
676
776
  def multipart_uploads(options = {})
677
777
  batches = Enumerator.new do |y|
@@ -750,8 +850,8 @@ module Aws::S3
750
850
  # Specifies the object version you want to start listing from.
751
851
  # @option options [String] :expected_bucket_owner
752
852
  # 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.
853
+ # a different account, the request fails with the HTTP status code `403
854
+ # Forbidden` (access denied).
755
855
  # @return [ObjectVersion::Collection]
756
856
  def object_versions(options = {})
757
857
  batches = Enumerator.new do |y|
@@ -806,8 +906,8 @@ module Aws::S3
806
906
  # this parameter in their requests.
807
907
  # @option options [String] :expected_bucket_owner
808
908
  # 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.
909
+ # a different account, the request fails with the HTTP status code `403
910
+ # Forbidden` (access denied).
811
911
  # @return [ObjectSummary::Collection]
812
912
  def objects(options = {})
813
913
  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)