aws-sdk-s3 1.112.0 → 1.113.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -57,9 +57,9 @@ module Aws::S3
57
57
  end
58
58
 
59
59
  # If the object expiration is configured (see PUT Bucket lifecycle), the
60
- # response includes this header. It includes the expiry-date and rule-id
61
- # key-value pairs providing object expiration information. The value of
62
- # the rule-id is URL encoded.
60
+ # response includes this header. It includes the `expiry-date` and
61
+ # `rule-id` key-value pairs providing object expiration information. The
62
+ # value of the `rule-id` is URL-encoded.
63
63
  # @return [String]
64
64
  def expiration
65
65
  data[:expiration]
@@ -109,8 +109,64 @@ module Aws::S3
109
109
  data[:content_length]
110
110
  end
111
111
 
112
- # An ETag is an opaque identifier assigned by a web server to a specific
113
- # version of a resource found at a URL.
112
+ # The base64-encoded, 32-bit CRC32 checksum of the object. This will
113
+ # only be present if it was uploaded with the object. With multipart
114
+ # uploads, this may not be a checksum value of the object. For more
115
+ # information about how checksums are calculated with multipart uploads,
116
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
117
+ #
118
+ #
119
+ #
120
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
121
+ # @return [String]
122
+ def checksum_crc32
123
+ data[:checksum_crc32]
124
+ end
125
+
126
+ # The base64-encoded, 32-bit CRC32C checksum of the object. This will
127
+ # only be present if it was uploaded with the object. With multipart
128
+ # uploads, this may not be a checksum value of the object. For more
129
+ # information about how checksums are calculated with multipart uploads,
130
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
131
+ #
132
+ #
133
+ #
134
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
135
+ # @return [String]
136
+ def checksum_crc32c
137
+ data[:checksum_crc32c]
138
+ end
139
+
140
+ # The base64-encoded, 160-bit SHA-1 digest of the object. This will only
141
+ # be present if it was uploaded with the object. With multipart uploads,
142
+ # this may not be a checksum value of the object. For more information
143
+ # about how checksums are calculated with multipart uploads, see [
144
+ # Checking object integrity][1] in the *Amazon S3 User Guide*.
145
+ #
146
+ #
147
+ #
148
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
149
+ # @return [String]
150
+ def checksum_sha1
151
+ data[:checksum_sha1]
152
+ end
153
+
154
+ # The base64-encoded, 256-bit SHA-256 digest of the object. This will
155
+ # only be present if it was uploaded with the object. With multipart
156
+ # uploads, this may not be a checksum value of the object. For more
157
+ # information about how checksums are calculated with multipart uploads,
158
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
159
+ #
160
+ #
161
+ #
162
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
163
+ # @return [String]
164
+ def checksum_sha256
165
+ data[:checksum_sha256]
166
+ end
167
+
168
+ # An entity tag (ETag) is an opaque identifier assigned by a web server
169
+ # to a specific version of a resource found at a URL.
114
170
  # @return [String]
115
171
  def etag
116
172
  data[:etag]
@@ -261,7 +317,7 @@ module Aws::S3
261
317
  # metadata (`HeadObject`) from these buckets, Amazon S3 will return the
262
318
  # `x-amz-replication-status` header in the response as follows:
263
319
  #
264
- # * If requesting an object from the source bucket Amazon S3 will
320
+ # * **If requesting an object from the source bucket**, Amazon S3 will
265
321
  # return the `x-amz-replication-status` header if the object in your
266
322
  # request is eligible for replication.
267
323
  #
@@ -274,12 +330,12 @@ module Aws::S3
274
330
  # value PENDING, COMPLETED or FAILED indicating object replication
275
331
  # status.
276
332
  #
277
- # * If requesting an object from a destination bucket Amazon S3 will
278
- # return the `x-amz-replication-status` header with value REPLICA if
279
- # the object in your request is a replica that Amazon S3 created and
280
- # there is no replica modification replication in progress.
333
+ # * **If requesting an object from a destination bucket**, Amazon S3
334
+ # will return the `x-amz-replication-status` header with value REPLICA
335
+ # if the object in your request is a replica that Amazon S3 created
336
+ # and there is no replica modification replication in progress.
281
337
  #
282
- # * When replicating objects to multiple destination buckets the
338
+ # * **When replicating objects to multiple destination buckets**, the
283
339
  # `x-amz-replication-status` header acts differently. The header of
284
340
  # the source object will only return a value of COMPLETED when
285
341
  # replication is successful to all destinations. The header will
@@ -297,7 +353,9 @@ module Aws::S3
297
353
  data[:replication_status]
298
354
  end
299
355
 
300
- # The count of parts this object has.
356
+ # The count of parts this object has. This value is only returned if you
357
+ # specify `partNumber` in your request and the object was uploaded as a
358
+ # multipart upload.
301
359
  # @return [Integer]
302
360
  def parts_count
303
361
  data[:parts_count]
@@ -532,6 +590,7 @@ module Aws::S3
532
590
  # object.copy_from({
533
591
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
534
592
  # cache_control: "CacheControl",
593
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
535
594
  # content_disposition: "ContentDisposition",
536
595
  # content_encoding: "ContentEncoding",
537
596
  # content_language: "ContentLanguage",
@@ -578,6 +637,14 @@ module Aws::S3
578
637
  # This action is not supported by Amazon S3 on Outposts.
579
638
  # @option options [String] :cache_control
580
639
  # Specifies caching behavior along the request/reply chain.
640
+ # @option options [String] :checksum_algorithm
641
+ # Indicates the algorithm you want Amazon S3 to use to create the
642
+ # checksum for the object. For more information, see [Checking object
643
+ # integrity][1] in the *Amazon S3 User Guide*.
644
+ #
645
+ #
646
+ #
647
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
581
648
  # @option options [String] :content_disposition
582
649
  # Specifies presentational information for the object.
583
650
  # @option options [String] :content_encoding
@@ -597,8 +664,8 @@ module Aws::S3
597
664
  # of the source bucket and the key of the source object, separated by
598
665
  # a slash (/). For example, to copy the object `reports/january.pdf`
599
666
  # from the bucket `awsexamplebucket`, use
600
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
601
- # encoded.
667
+ # `awsexamplebucket/reports/january.pdf`. The value must be
668
+ # URL-encoded.
602
669
  #
603
670
  # * For objects accessed through access points, specify the Amazon
604
671
  # Resource Name (ARN) of the object as accessed through the access
@@ -623,7 +690,7 @@ module Aws::S3
623
690
  # outpost `my-outpost` owned by account `123456789012` in Region
624
691
  # `us-west-2`, use the URL encoding of
625
692
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
626
- # The value must be URL encoded.
693
+ # The value must be URL-encoded.
627
694
  #
628
695
  # To copy a specific version of an object, append
629
696
  # `?versionId=<version-id>` to the value (for example,
@@ -740,8 +807,8 @@ module Aws::S3
740
807
  # @option options [String] :request_payer
741
808
  # Confirms that the requester knows that they will be charged for the
742
809
  # request. Bucket owners need not specify this parameter in their
743
- # requests. For information about downloading objects from requester
744
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
810
+ # requests. For information about downloading objects from Requester
811
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
745
812
  # in the *Amazon S3 User Guide*.
746
813
  #
747
814
  #
@@ -757,15 +824,15 @@ module Aws::S3
757
824
  # The date and time when you want the copied object's Object Lock to
758
825
  # expire.
759
826
  # @option options [String] :object_lock_legal_hold_status
760
- # Specifies whether you want to apply a Legal Hold to the copied object.
827
+ # Specifies whether you want to apply a legal hold to the copied object.
761
828
  # @option options [String] :expected_bucket_owner
762
829
  # The account ID of the expected destination bucket owner. If the
763
- # destination bucket is owned by a different account, the request will
764
- # fail with an HTTP `403 (Access Denied)` error.
830
+ # destination bucket is owned by a different account, the request fails
831
+ # with the HTTP status code `403 Forbidden` (access denied).
765
832
  # @option options [String] :expected_source_bucket_owner
766
833
  # The account ID of the expected source bucket owner. If the source
767
- # bucket is owned by a different account, the request will fail with an
768
- # HTTP `403 (Access Denied)` error.
834
+ # bucket is owned by a different account, the request fails with the
835
+ # HTTP status code `403 Forbidden` (access denied).
769
836
  # @return [Types::CopyObjectOutput]
770
837
  def copy_from(options = {})
771
838
  options = options.merge(
@@ -796,8 +863,8 @@ module Aws::S3
796
863
  # @option options [String] :request_payer
797
864
  # Confirms that the requester knows that they will be charged for the
798
865
  # request. Bucket owners need not specify this parameter in their
799
- # requests. For information about downloading objects from requester
800
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
866
+ # requests. For information about downloading objects from Requester
867
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
801
868
  # in the *Amazon S3 User Guide*.
802
869
  #
803
870
  #
@@ -806,11 +873,11 @@ module Aws::S3
806
873
  # @option options [Boolean] :bypass_governance_retention
807
874
  # Indicates whether S3 Object Lock should bypass Governance-mode
808
875
  # restrictions to process this operation. To use this header, you must
809
- # have the `s3:PutBucketPublicAccessBlock` permission.
876
+ # have the `s3:BypassGovernanceRetention` permission.
810
877
  # @option options [String] :expected_bucket_owner
811
878
  # The account ID of the expected bucket owner. If the bucket is owned by
812
- # a different account, the request will fail with an HTTP `403 (Access
813
- # Denied)` error.
879
+ # a different account, the request fails with the HTTP status code `403
880
+ # Forbidden` (access denied).
814
881
  # @return [Types::DeleteObjectOutput]
815
882
  def delete(options = {})
816
883
  options = options.merge(
@@ -842,20 +909,21 @@ module Aws::S3
842
909
  # request_payer: "requester", # accepts requester
843
910
  # part_number: 1,
844
911
  # expected_bucket_owner: "AccountId",
912
+ # checksum_mode: "ENABLED", # accepts ENABLED
845
913
  # })
846
914
  # @param [Hash] options ({})
847
915
  # @option options [String] :if_match
848
916
  # Return the object only if its entity tag (ETag) is the same as the one
849
- # specified, otherwise return a 412 (precondition failed).
917
+ # specified; otherwise, return a 412 (precondition failed) error.
850
918
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
851
919
  # Return the object only if it has been modified since the specified
852
- # time, otherwise return a 304 (not modified).
920
+ # time; otherwise, return a 304 (not modified) error.
853
921
  # @option options [String] :if_none_match
854
922
  # Return the object only if its entity tag (ETag) is different from the
855
- # one specified, otherwise return a 304 (not modified).
923
+ # one specified; otherwise, return a 304 (not modified) error.
856
924
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
857
925
  # Return the object only if it has not been modified since the specified
858
- # time, otherwise return a 412 (precondition failed).
926
+ # time; otherwise, return a 412 (precondition failed) error.
859
927
  # @option options [String] :range
860
928
  # Downloads the specified range bytes of an object. For more information
861
929
  # about the HTTP Range header, see
@@ -899,8 +967,8 @@ module Aws::S3
899
967
  # @option options [String] :request_payer
900
968
  # Confirms that the requester knows that they will be charged for the
901
969
  # request. Bucket owners need not specify this parameter in their
902
- # requests. For information about downloading objects from requester
903
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
970
+ # requests. For information about downloading objects from Requester
971
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
904
972
  # in the *Amazon S3 User Guide*.
905
973
  #
906
974
  #
@@ -913,8 +981,10 @@ module Aws::S3
913
981
  # object.
914
982
  # @option options [String] :expected_bucket_owner
915
983
  # The account ID of the expected bucket owner. If the bucket is owned by
916
- # a different account, the request will fail with an HTTP `403 (Access
917
- # Denied)` error.
984
+ # a different account, the request fails with the HTTP status code `403
985
+ # Forbidden` (access denied).
986
+ # @option options [String] :checksum_mode
987
+ # To retrieve the checksum, this mode must be enabled.
918
988
  # @return [Types::GetObjectOutput]
919
989
  def get(options = {}, &block)
920
990
  options = options.merge(
@@ -957,6 +1027,7 @@ module Aws::S3
957
1027
  # object_lock_retain_until_date: Time.now,
958
1028
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
959
1029
  # expected_bucket_owner: "AccountId",
1030
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
960
1031
  # })
961
1032
  # @param [Hash] options ({})
962
1033
  # @option options [String] :acl
@@ -1054,8 +1125,8 @@ module Aws::S3
1054
1125
  # @option options [String] :request_payer
1055
1126
  # Confirms that the requester knows that they will be charged for the
1056
1127
  # request. Bucket owners need not specify this parameter in their
1057
- # requests. For information about downloading objects from requester
1058
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1128
+ # requests. For information about downloading objects from Requester
1129
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1059
1130
  # in the *Amazon S3 User Guide*.
1060
1131
  #
1061
1132
  #
@@ -1070,12 +1141,20 @@ module Aws::S3
1070
1141
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
1071
1142
  # Specifies the date and time when you want the Object Lock to expire.
1072
1143
  # @option options [String] :object_lock_legal_hold_status
1073
- # Specifies whether you want to apply a Legal Hold to the uploaded
1144
+ # Specifies whether you want to apply a legal hold to the uploaded
1074
1145
  # object.
1075
1146
  # @option options [String] :expected_bucket_owner
1076
1147
  # The account ID of the expected bucket owner. If the bucket is owned by
1077
- # a different account, the request will fail with an HTTP `403 (Access
1078
- # Denied)` error.
1148
+ # a different account, the request fails with the HTTP status code `403
1149
+ # Forbidden` (access denied).
1150
+ # @option options [String] :checksum_algorithm
1151
+ # Indicates the algorithm you want Amazon S3 to use to create the
1152
+ # checksum for the object. For more information, see [Checking object
1153
+ # integrity][1] in the *Amazon S3 User Guide*.
1154
+ #
1155
+ #
1156
+ #
1157
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1079
1158
  # @return [MultipartUpload]
1080
1159
  def initiate_multipart_upload(options = {})
1081
1160
  options = options.merge(
@@ -1103,6 +1182,11 @@ module Aws::S3
1103
1182
  # content_length: 1,
1104
1183
  # content_md5: "ContentMD5",
1105
1184
  # content_type: "ContentType",
1185
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1186
+ # checksum_crc32: "ChecksumCRC32",
1187
+ # checksum_crc32c: "ChecksumCRC32C",
1188
+ # checksum_sha1: "ChecksumSHA1",
1189
+ # checksum_sha256: "ChecksumSHA256",
1106
1190
  # expires: Time.now,
1107
1191
  # grant_full_control: "GrantFullControl",
1108
1192
  # grant_read: "GrantRead",
@@ -1194,6 +1278,61 @@ module Aws::S3
1194
1278
  #
1195
1279
  #
1196
1280
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
1281
+ # @option options [String] :checksum_algorithm
1282
+ # Indicates the algorithm used to create the checksum for the object
1283
+ # when using the SDK. This header will not provide any additional
1284
+ # functionality if not using the SDK. When sending this header, there
1285
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1286
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1287
+ # `400 Bad Request`. For more information, see [Checking object
1288
+ # integrity][1] in the *Amazon S3 User Guide*.
1289
+ #
1290
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1291
+ # `ChecksumAlgorithm` parameter.
1292
+ #
1293
+ #
1294
+ #
1295
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1296
+ # @option options [String] :checksum_crc32
1297
+ # This header can be used as a data integrity check to verify that the
1298
+ # data received is the same data that was originally sent. This header
1299
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
1300
+ # more information, see [Checking object integrity][1] in the *Amazon S3
1301
+ # User Guide*.
1302
+ #
1303
+ #
1304
+ #
1305
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1306
+ # @option options [String] :checksum_crc32c
1307
+ # This header can be used as a data integrity check to verify that the
1308
+ # data received is the same data that was originally sent. This header
1309
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
1310
+ # For more information, see [Checking object integrity][1] in the
1311
+ # *Amazon S3 User Guide*.
1312
+ #
1313
+ #
1314
+ #
1315
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1316
+ # @option options [String] :checksum_sha1
1317
+ # This header can be used as a data integrity check to verify that the
1318
+ # data received is the same data that was originally sent. This header
1319
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
1320
+ # more information, see [Checking object integrity][1] in the *Amazon S3
1321
+ # User Guide*.
1322
+ #
1323
+ #
1324
+ #
1325
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1326
+ # @option options [String] :checksum_sha256
1327
+ # This header can be used as a data integrity check to verify that the
1328
+ # data received is the same data that was originally sent. This header
1329
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
1330
+ # For more information, see [Checking object integrity][1] in the
1331
+ # *Amazon S3 User Guide*.
1332
+ #
1333
+ #
1334
+ #
1335
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1197
1336
  # @option options [Time,DateTime,Date,Integer,String] :expires
1198
1337
  # The date and time at which the object is no longer cacheable. For more
1199
1338
  # information, see
@@ -1298,8 +1437,8 @@ module Aws::S3
1298
1437
  # @option options [String] :request_payer
1299
1438
  # Confirms that the requester knows that they will be charged for the
1300
1439
  # request. Bucket owners need not specify this parameter in their
1301
- # requests. For information about downloading objects from requester
1302
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1440
+ # requests. For information about downloading objects from Requester
1441
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1303
1442
  # in the *Amazon S3 User Guide*.
1304
1443
  #
1305
1444
  #
@@ -1322,8 +1461,8 @@ module Aws::S3
1322
1461
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
1323
1462
  # @option options [String] :expected_bucket_owner
1324
1463
  # The account ID of the expected bucket owner. If the bucket is owned by
1325
- # a different account, the request will fail with an HTTP `403 (Access
1326
- # Denied)` error.
1464
+ # a different account, the request fails with the HTTP status code `403
1465
+ # Forbidden` (access denied).
1327
1466
  # @return [Types::PutObjectOutput]
1328
1467
  def put(options = {})
1329
1468
  options = options.merge(
@@ -1420,6 +1559,7 @@ module Aws::S3
1420
1559
  # },
1421
1560
  # },
1422
1561
  # request_payer: "requester", # accepts requester
1562
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1423
1563
  # expected_bucket_owner: "AccountId",
1424
1564
  # })
1425
1565
  # @param [Hash] options ({})
@@ -1430,17 +1570,32 @@ module Aws::S3
1430
1570
  # @option options [String] :request_payer
1431
1571
  # Confirms that the requester knows that they will be charged for the
1432
1572
  # request. Bucket owners need not specify this parameter in their
1433
- # requests. For information about downloading objects from requester
1434
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1573
+ # requests. For information about downloading objects from Requester
1574
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1435
1575
  # in the *Amazon S3 User Guide*.
1436
1576
  #
1437
1577
  #
1438
1578
  #
1439
1579
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1580
+ # @option options [String] :checksum_algorithm
1581
+ # Indicates the algorithm used to create the checksum for the object
1582
+ # when using the SDK. This header will not provide any additional
1583
+ # functionality if not using the SDK. When sending this header, there
1584
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1585
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1586
+ # `400 Bad Request`. For more information, see [Checking object
1587
+ # integrity][1] in the *Amazon S3 User Guide*.
1588
+ #
1589
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1590
+ # `ChecksumAlgorithm` parameter.
1591
+ #
1592
+ #
1593
+ #
1594
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1440
1595
  # @option options [String] :expected_bucket_owner
1441
1596
  # The account ID of the expected bucket owner. If the bucket is owned by
1442
- # a different account, the request will fail with an HTTP `403 (Access
1443
- # Denied)` error.
1597
+ # a different account, the request fails with the HTTP status code `403
1598
+ # Forbidden` (access denied).
1444
1599
  # @return [Types::RestoreObjectOutput]
1445
1600
  def restore_object(options = {})
1446
1601
  options = options.merge(
@@ -1466,20 +1621,21 @@ module Aws::S3
1466
1621
  # request_payer: "requester", # accepts requester
1467
1622
  # part_number: 1,
1468
1623
  # expected_bucket_owner: "AccountId",
1624
+ # checksum_mode: "ENABLED", # accepts ENABLED
1469
1625
  # })
1470
1626
  # @param [Hash] options ({})
1471
1627
  # @option options [String] :if_match
1472
1628
  # Return the object only if its entity tag (ETag) is the same as the one
1473
- # specified, otherwise return a 412 (precondition failed).
1629
+ # specified; otherwise, return a 412 (precondition failed) error.
1474
1630
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
1475
1631
  # Return the object only if it has been modified since the specified
1476
- # time, otherwise return a 304 (not modified).
1632
+ # time; otherwise, return a 304 (not modified) error.
1477
1633
  # @option options [String] :if_none_match
1478
1634
  # Return the object only if its entity tag (ETag) is different from the
1479
- # one specified, otherwise return a 304 (not modified).
1635
+ # one specified; otherwise, return a 304 (not modified) error.
1480
1636
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
1481
1637
  # Return the object only if it has not been modified since the specified
1482
- # time, otherwise return a 412 (precondition failed).
1638
+ # time; otherwise, return a 412 (precondition failed) error.
1483
1639
  # @option options [String] :range
1484
1640
  # Because `HeadObject` returns only the metadata for an object, this
1485
1641
  # parameter has no effect.
@@ -1501,8 +1657,8 @@ module Aws::S3
1501
1657
  # @option options [String] :request_payer
1502
1658
  # Confirms that the requester knows that they will be charged for the
1503
1659
  # request. Bucket owners need not specify this parameter in their
1504
- # requests. For information about downloading objects from requester
1505
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1660
+ # requests. For information about downloading objects from Requester
1661
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1506
1662
  # in the *Amazon S3 User Guide*.
1507
1663
  #
1508
1664
  #
@@ -1515,8 +1671,15 @@ module Aws::S3
1515
1671
  # the number of parts in this object.
1516
1672
  # @option options [String] :expected_bucket_owner
1517
1673
  # The account ID of the expected bucket owner. If the bucket is owned by
1518
- # a different account, the request will fail with an HTTP `403 (Access
1519
- # Denied)` error.
1674
+ # a different account, the request fails with the HTTP status code `403
1675
+ # Forbidden` (access denied).
1676
+ # @option options [String] :checksum_mode
1677
+ # To retrieve the checksum, this parameter must be enabled.
1678
+ #
1679
+ # In addition, if you enable `ChecksumMode` and the object is encrypted
1680
+ # with Amazon Web Services Key Management Service (Amazon Web Services
1681
+ # KMS), you must have permission to use the `kms:Decrypt` action for the
1682
+ # request to succeed.
1520
1683
  # @return [Types::HeadObjectOutput]
1521
1684
  def head(options = {})
1522
1685
  options = options.merge(
@@ -1640,6 +1803,7 @@ module Aws::S3
1640
1803
  # request_payer: "requester", # accepts requester
1641
1804
  # bypass_governance_retention: false,
1642
1805
  # expected_bucket_owner: "AccountId",
1806
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1643
1807
  # })
1644
1808
  # @param options ({})
1645
1809
  # @option options [String] :mfa
@@ -1650,8 +1814,8 @@ module Aws::S3
1650
1814
  # @option options [String] :request_payer
1651
1815
  # Confirms that the requester knows that they will be charged for the
1652
1816
  # request. Bucket owners need not specify this parameter in their
1653
- # requests. For information about downloading objects from requester
1654
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1817
+ # requests. For information about downloading objects from Requester
1818
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1655
1819
  # in the *Amazon S3 User Guide*.
1656
1820
  #
1657
1821
  #
@@ -1660,11 +1824,29 @@ module Aws::S3
1660
1824
  # @option options [Boolean] :bypass_governance_retention
1661
1825
  # Specifies whether you want to delete this object even if it has a
1662
1826
  # Governance-type Object Lock in place. To use this header, you must
1663
- # have the `s3:PutBucketPublicAccessBlock` permission.
1827
+ # have the `s3:BypassGovernanceRetention` permission.
1664
1828
  # @option options [String] :expected_bucket_owner
1665
1829
  # The account ID of the expected bucket owner. If the bucket is owned by
1666
- # a different account, the request will fail with an HTTP `403 (Access
1667
- # Denied)` error.
1830
+ # a different account, the request fails with the HTTP status code `403
1831
+ # Forbidden` (access denied).
1832
+ # @option options [String] :checksum_algorithm
1833
+ # Indicates the algorithm used to create the checksum for the object
1834
+ # when using the SDK. This header will not provide any additional
1835
+ # functionality if not using the SDK. When sending this header, there
1836
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1837
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1838
+ # `400 Bad Request`. For more information, see [Checking object
1839
+ # integrity][1] in the *Amazon S3 User Guide*.
1840
+ #
1841
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1842
+ # `ChecksumAlgorithm` parameter.
1843
+ #
1844
+ # This checksum algorithm must be the same for all parts and it match
1845
+ # the checksum value supplied in the `CreateMultipartUpload` request.
1846
+ #
1847
+ #
1848
+ #
1849
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1668
1850
  # @return [void]
1669
1851
  def batch_delete!(options = {})
1670
1852
  batch_enum.each do |batch|
@@ -221,6 +221,7 @@ module Aws::S3
221
221
  # },
222
222
  # },
223
223
  # content_md5: "ContentMD5",
224
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
224
225
  # grant_full_control: "GrantFullControl",
225
226
  # grant_read: "GrantRead",
226
227
  # grant_read_acp: "GrantReadACP",
@@ -254,6 +255,21 @@ module Aws::S3
254
255
  #
255
256
  #
256
257
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
258
+ # @option options [String] :checksum_algorithm
259
+ # Indicates the algorithm used to create the checksum for the object
260
+ # when using the SDK. This header will not provide any additional
261
+ # functionality if not using the SDK. When sending this header, there
262
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
263
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
264
+ # `400 Bad Request`. For more information, see [Checking object
265
+ # integrity][1] in the *Amazon S3 User Guide*.
266
+ #
267
+ # If you provide an individual checksum, Amazon S3 ignores any provided
268
+ # `ChecksumAlgorithm` parameter.
269
+ #
270
+ #
271
+ #
272
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
257
273
  # @option options [String] :grant_full_control
258
274
  # Allows grantee the read, write, read ACP, and write ACP permissions on
259
275
  # the bucket.
@@ -279,8 +295,8 @@ module Aws::S3
279
295
  # @option options [String] :request_payer
280
296
  # Confirms that the requester knows that they will be charged for the
281
297
  # request. Bucket owners need not specify this parameter in their
282
- # requests. For information about downloading objects from requester
283
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
298
+ # requests. For information about downloading objects from Requester
299
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
284
300
  # in the *Amazon S3 User Guide*.
285
301
  #
286
302
  #
@@ -290,8 +306,8 @@ module Aws::S3
290
306
  # VersionId used to reference a specific version of the object.
291
307
  # @option options [String] :expected_bucket_owner
292
308
  # The account ID of the expected bucket owner. If the bucket is owned by
293
- # a different account, the request will fail with an HTTP `403 (Access
294
- # Denied)` error.
309
+ # a different account, the request fails with the HTTP status code `403
310
+ # Forbidden` (access denied).
295
311
  # @return [Types::PutObjectAclOutput]
296
312
  def put(options = {})
297
313
  options = options.merge(