aws-sdk-s3 1.112.0 → 1.113.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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(