aws-sdk-s3 1.111.3 → 1.113.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,9 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
31
33
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
32
34
  require 'aws-sdk-s3/plugins/accelerate.rb'
33
35
  require 'aws-sdk-s3/plugins/arn.rb'
@@ -47,6 +49,7 @@ require 'aws-sdk-s3/plugins/s3_signer.rb'
47
49
  require 'aws-sdk-s3/plugins/sse_cpk.rb'
48
50
  require 'aws-sdk-s3/plugins/streaming_retry.rb'
49
51
  require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
52
+ require 'aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb'
50
53
  require 'aws-sdk-core/plugins/event_stream_configuration.rb'
51
54
 
52
55
  Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
@@ -92,7 +95,9 @@ module Aws::S3
92
95
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
93
96
  add_plugin(Aws::Plugins::TransferEncoding)
94
97
  add_plugin(Aws::Plugins::HttpChecksum)
98
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
95
99
  add_plugin(Aws::Plugins::DefaultsMode)
100
+ add_plugin(Aws::Plugins::RecursionDetection)
96
101
  add_plugin(Aws::Plugins::Protocols::RestXml)
97
102
  add_plugin(Aws::S3::Plugins::Accelerate)
98
103
  add_plugin(Aws::S3::Plugins::ARN)
@@ -112,6 +117,7 @@ module Aws::S3
112
117
  add_plugin(Aws::S3::Plugins::SseCpk)
113
118
  add_plugin(Aws::S3::Plugins::StreamingRetry)
114
119
  add_plugin(Aws::S3::Plugins::UrlEncodedKeys)
120
+ add_plugin(Aws::S3::Plugins::SkipWholeMultipartGetChecksums)
115
121
  add_plugin(Aws::Plugins::EventStreamConfiguration)
116
122
 
117
123
  # @overload initialize(options)
@@ -480,12 +486,12 @@ module Aws::S3
480
486
  #
481
487
  # When using this action with Amazon S3 on Outposts, you must direct
482
488
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
483
- # takes the form
484
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
485
- # When using this action using S3 on Outposts through the Amazon Web
489
+ # takes the form `
490
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
491
+ # When using this action with S3 on Outposts through the Amazon Web
486
492
  # Services SDKs, you provide the Outposts bucket ARN in place of the
487
493
  # bucket name. For more information about S3 on Outposts ARNs, see
488
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
494
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
489
495
  #
490
496
  #
491
497
  #
@@ -501,8 +507,8 @@ module Aws::S3
501
507
  # @option params [String] :request_payer
502
508
  # Confirms that the requester knows that they will be charged for the
503
509
  # request. Bucket owners need not specify this parameter in their
504
- # requests. For information about downloading objects from requester
505
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
510
+ # requests. For information about downloading objects from Requester
511
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
506
512
  # in the *Amazon S3 User Guide*.
507
513
  #
508
514
  #
@@ -511,8 +517,8 @@ module Aws::S3
511
517
  #
512
518
  # @option params [String] :expected_bucket_owner
513
519
  # The account ID of the expected bucket owner. If the bucket is owned by
514
- # a different account, the request will fail with an HTTP `403 (Access
515
- # Denied)` error.
520
+ # a different account, the request fails with the HTTP status code `403
521
+ # Forbidden` (access denied).
516
522
  #
517
523
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
518
524
  #
@@ -662,12 +668,12 @@ module Aws::S3
662
668
  #
663
669
  # When using this action with Amazon S3 on Outposts, you must direct
664
670
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
665
- # takes the form
666
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
667
- # When using this action using S3 on Outposts through the Amazon Web
671
+ # takes the form `
672
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
673
+ # When using this action with S3 on Outposts through the Amazon Web
668
674
  # Services SDKs, you provide the Outposts bucket ARN in place of the
669
675
  # bucket name. For more information about S3 on Outposts ARNs, see
670
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
676
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
671
677
  #
672
678
  #
673
679
  #
@@ -683,11 +689,55 @@ module Aws::S3
683
689
  # @option params [required, String] :upload_id
684
690
  # ID for the initiated multipart upload.
685
691
  #
692
+ # @option params [String] :checksum_crc32
693
+ # This header can be used as a data integrity check to verify that the
694
+ # data received is the same data that was originally sent. This header
695
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
696
+ # more information, see [Checking object integrity][1] in the *Amazon S3
697
+ # User Guide*.
698
+ #
699
+ #
700
+ #
701
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
702
+ #
703
+ # @option params [String] :checksum_crc32c
704
+ # This header can be used as a data integrity check to verify that the
705
+ # data received is the same data that was originally sent. This header
706
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
707
+ # For more information, see [Checking object integrity][1] in the
708
+ # *Amazon S3 User Guide*.
709
+ #
710
+ #
711
+ #
712
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
713
+ #
714
+ # @option params [String] :checksum_sha1
715
+ # This header can be used as a data integrity check to verify that the
716
+ # data received is the same data that was originally sent. This header
717
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
718
+ # more information, see [Checking object integrity][1] in the *Amazon S3
719
+ # User Guide*.
720
+ #
721
+ #
722
+ #
723
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
724
+ #
725
+ # @option params [String] :checksum_sha256
726
+ # This header can be used as a data integrity check to verify that the
727
+ # data received is the same data that was originally sent. This header
728
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
729
+ # For more information, see [Checking object integrity][1] in the
730
+ # *Amazon S3 User Guide*.
731
+ #
732
+ #
733
+ #
734
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
735
+ #
686
736
  # @option params [String] :request_payer
687
737
  # Confirms that the requester knows that they will be charged for the
688
738
  # request. Bucket owners need not specify this parameter in their
689
- # requests. For information about downloading objects from requester
690
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
739
+ # requests. For information about downloading objects from Requester
740
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
691
741
  # in the *Amazon S3 User Guide*.
692
742
  #
693
743
  #
@@ -696,8 +746,38 @@ module Aws::S3
696
746
  #
697
747
  # @option params [String] :expected_bucket_owner
698
748
  # The account ID of the expected bucket owner. If the bucket is owned by
699
- # a different account, the request will fail with an HTTP `403 (Access
700
- # Denied)` error.
749
+ # a different account, the request fails with the HTTP status code `403
750
+ # Forbidden` (access denied).
751
+ #
752
+ # @option params [String] :sse_customer_algorithm
753
+ # The server-side encryption (SSE) algorithm used to encrypt the object.
754
+ # This parameter is needed only when the object was created using a
755
+ # checksum algorithm. For more information, see [Protecting data using
756
+ # SSE-C keys][1] in the *Amazon S3 User Guide*.
757
+ #
758
+ #
759
+ #
760
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
761
+ #
762
+ # @option params [String] :sse_customer_key
763
+ # The server-side encryption (SSE) customer managed key. This parameter
764
+ # is needed only when the object was created using a checksum algorithm.
765
+ # For more information, see [Protecting data using SSE-C keys][1] in the
766
+ # *Amazon S3 User Guide*.
767
+ #
768
+ #
769
+ #
770
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
771
+ #
772
+ # @option params [String] :sse_customer_key_md5
773
+ # The MD5 server-side encryption (SSE) customer managed key. This
774
+ # parameter is needed only when the object was created using a checksum
775
+ # algorithm. For more information, see [Protecting data using SSE-C
776
+ # keys][1] in the *Amazon S3 User Guide*.
777
+ #
778
+ #
779
+ #
780
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
701
781
  #
702
782
  # @return [Types::CompleteMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
703
783
  #
@@ -706,6 +786,10 @@ module Aws::S3
706
786
  # * {Types::CompleteMultipartUploadOutput#key #key} => String
707
787
  # * {Types::CompleteMultipartUploadOutput#expiration #expiration} => String
708
788
  # * {Types::CompleteMultipartUploadOutput#etag #etag} => String
789
+ # * {Types::CompleteMultipartUploadOutput#checksum_crc32 #checksum_crc32} => String
790
+ # * {Types::CompleteMultipartUploadOutput#checksum_crc32c #checksum_crc32c} => String
791
+ # * {Types::CompleteMultipartUploadOutput#checksum_sha1 #checksum_sha1} => String
792
+ # * {Types::CompleteMultipartUploadOutput#checksum_sha256 #checksum_sha256} => String
709
793
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
710
794
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
711
795
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
@@ -752,13 +836,24 @@ module Aws::S3
752
836
  # parts: [
753
837
  # {
754
838
  # etag: "ETag",
839
+ # checksum_crc32: "ChecksumCRC32",
840
+ # checksum_crc32c: "ChecksumCRC32C",
841
+ # checksum_sha1: "ChecksumSHA1",
842
+ # checksum_sha256: "ChecksumSHA256",
755
843
  # part_number: 1,
756
844
  # },
757
845
  # ],
758
846
  # },
759
847
  # upload_id: "MultipartUploadId", # required
848
+ # checksum_crc32: "ChecksumCRC32",
849
+ # checksum_crc32c: "ChecksumCRC32C",
850
+ # checksum_sha1: "ChecksumSHA1",
851
+ # checksum_sha256: "ChecksumSHA256",
760
852
  # request_payer: "requester", # accepts requester
761
853
  # expected_bucket_owner: "AccountId",
854
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
855
+ # sse_customer_key: "SSECustomerKey",
856
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
762
857
  # })
763
858
  #
764
859
  # @example Response structure
@@ -768,6 +863,10 @@ module Aws::S3
768
863
  # resp.key #=> String
769
864
  # resp.expiration #=> String
770
865
  # resp.etag #=> String
866
+ # resp.checksum_crc32 #=> String
867
+ # resp.checksum_crc32c #=> String
868
+ # resp.checksum_sha1 #=> String
869
+ # resp.checksum_sha256 #=> String
771
870
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
772
871
  # resp.version_id #=> String
773
872
  # resp.ssekms_key_id #=> String
@@ -788,8 +887,9 @@ module Aws::S3
788
887
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
789
888
  # create a copy of your object up to 5 GB in size in a single atomic
790
889
  # action using this API. However, to copy an object greater than 5 GB,
791
- # you must use the multipart upload Upload Part - Copy API. For more
792
- # information, see [Copy Object Using the REST Multipart Upload API][1].
890
+ # you must use the multipart upload Upload Part - Copy (UploadPartCopy)
891
+ # API. For more information, see [Copy Object Using the REST Multipart
892
+ # Upload API][1].
793
893
  #
794
894
  # </note>
795
895
  #
@@ -844,7 +944,7 @@ module Aws::S3
844
944
  # condition keys, see [Actions, Resources, and Condition Keys for Amazon
845
945
  # S3][7].
846
946
  #
847
- # <b> <code>x-amz-copy-source-if</code> Headers</b>
947
+ # **x-amz-copy-source-if Headers**
848
948
  #
849
949
  # To only copy an object under certain conditions, such as whether the
850
950
  # `Etag` matches or whether the object was modified before or after a
@@ -924,6 +1024,13 @@ module Aws::S3
924
1024
  #
925
1025
  # </note>
926
1026
  #
1027
+ # **Checksums**
1028
+ #
1029
+ # When copying an object, if it has a checksum, that checksum will be
1030
+ # copied to the new object by default. When you copy the object over,
1031
+ # you may optionally specify a different checksum algorithm to use with
1032
+ # the `x-amz-checksum-algorithm` header.
1033
+ #
927
1034
  # **Storage Class Options**
928
1035
  #
929
1036
  # You can use the `CopyObject` action to change the storage class of an
@@ -997,12 +1104,12 @@ module Aws::S3
997
1104
  #
998
1105
  # When using this action with Amazon S3 on Outposts, you must direct
999
1106
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1000
- # takes the form
1001
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1002
- # When using this action using S3 on Outposts through the Amazon Web
1107
+ # takes the form `
1108
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
1109
+ # When using this action with S3 on Outposts through the Amazon Web
1003
1110
  # Services SDKs, you provide the Outposts bucket ARN in place of the
1004
1111
  # bucket name. For more information about S3 on Outposts ARNs, see
1005
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
1112
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
1006
1113
  #
1007
1114
  #
1008
1115
  #
@@ -1012,6 +1119,15 @@ module Aws::S3
1012
1119
  # @option params [String] :cache_control
1013
1120
  # Specifies caching behavior along the request/reply chain.
1014
1121
  #
1122
+ # @option params [String] :checksum_algorithm
1123
+ # Indicates the algorithm you want Amazon S3 to use to create the
1124
+ # checksum for the object. For more information, see [Checking object
1125
+ # integrity][1] in the *Amazon S3 User Guide*.
1126
+ #
1127
+ #
1128
+ #
1129
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1130
+ #
1015
1131
  # @option params [String] :content_disposition
1016
1132
  # Specifies presentational information for the object.
1017
1133
  #
@@ -1035,8 +1151,8 @@ module Aws::S3
1035
1151
  # of the source bucket and the key of the source object, separated by
1036
1152
  # a slash (/). For example, to copy the object `reports/january.pdf`
1037
1153
  # from the bucket `awsexamplebucket`, use
1038
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
1039
- # encoded.
1154
+ # `awsexamplebucket/reports/january.pdf`. The value must be
1155
+ # URL-encoded.
1040
1156
  #
1041
1157
  # * For objects accessed through access points, specify the Amazon
1042
1158
  # Resource Name (ARN) of the object as accessed through the access
@@ -1061,7 +1177,7 @@ module Aws::S3
1061
1177
  # outpost `my-outpost` owned by account `123456789012` in Region
1062
1178
  # `us-west-2`, use the URL encoding of
1063
1179
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
1064
- # The value must be URL encoded.
1180
+ # The value must be URL-encoded.
1065
1181
  #
1066
1182
  # To copy a specific version of an object, append
1067
1183
  # `?versionId=<version-id>` to the value (for example,
@@ -1206,8 +1322,8 @@ module Aws::S3
1206
1322
  # @option params [String] :request_payer
1207
1323
  # Confirms that the requester knows that they will be charged for the
1208
1324
  # request. Bucket owners need not specify this parameter in their
1209
- # requests. For information about downloading objects from requester
1210
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1325
+ # requests. For information about downloading objects from Requester
1326
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1211
1327
  # in the *Amazon S3 User Guide*.
1212
1328
  #
1213
1329
  #
@@ -1227,17 +1343,17 @@ module Aws::S3
1227
1343
  # expire.
1228
1344
  #
1229
1345
  # @option params [String] :object_lock_legal_hold_status
1230
- # Specifies whether you want to apply a Legal Hold to the copied object.
1346
+ # Specifies whether you want to apply a legal hold to the copied object.
1231
1347
  #
1232
1348
  # @option params [String] :expected_bucket_owner
1233
1349
  # The account ID of the expected destination bucket owner. If the
1234
- # destination bucket is owned by a different account, the request will
1235
- # fail with an HTTP `403 (Access Denied)` error.
1350
+ # destination bucket is owned by a different account, the request fails
1351
+ # with the HTTP status code `403 Forbidden` (access denied).
1236
1352
  #
1237
1353
  # @option params [String] :expected_source_bucket_owner
1238
1354
  # The account ID of the expected source bucket owner. If the source
1239
- # bucket is owned by a different account, the request will fail with an
1240
- # HTTP `403 (Access Denied)` error.
1355
+ # bucket is owned by a different account, the request fails with the
1356
+ # HTTP status code `403 Forbidden` (access denied).
1241
1357
  #
1242
1358
  # @return [Types::CopyObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1243
1359
  #
@@ -1278,6 +1394,7 @@ module Aws::S3
1278
1394
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
1279
1395
  # bucket: "BucketName", # required
1280
1396
  # cache_control: "CacheControl",
1397
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1281
1398
  # content_disposition: "ContentDisposition",
1282
1399
  # content_encoding: "ContentEncoding",
1283
1400
  # content_language: "ContentLanguage",
@@ -1323,6 +1440,10 @@ module Aws::S3
1323
1440
  #
1324
1441
  # resp.copy_object_result.etag #=> String
1325
1442
  # resp.copy_object_result.last_modified #=> Time
1443
+ # resp.copy_object_result.checksum_crc32 #=> String
1444
+ # resp.copy_object_result.checksum_crc32c #=> String
1445
+ # resp.copy_object_result.checksum_sha1 #=> String
1446
+ # resp.copy_object_result.checksum_sha256 #=> String
1326
1447
  # resp.expiration #=> String
1327
1448
  # resp.copy_source_version_id #=> String
1328
1449
  # resp.version_id #=> String
@@ -1541,33 +1662,33 @@ module Aws::S3
1541
1662
  # * {Types::CreateBucketOutput#location #location} => String
1542
1663
  #
1543
1664
  #
1544
- # @example Example: To create a bucket in a specific region
1665
+ # @example Example: To create a bucket
1545
1666
  #
1546
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1667
+ # # The following example creates a bucket.
1547
1668
  #
1548
1669
  # resp = client.create_bucket({
1549
1670
  # bucket: "examplebucket",
1550
- # create_bucket_configuration: {
1551
- # location_constraint: "eu-west-1",
1552
- # },
1553
1671
  # })
1554
1672
  #
1555
1673
  # resp.to_h outputs the following:
1556
1674
  # {
1557
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1675
+ # location: "/examplebucket",
1558
1676
  # }
1559
1677
  #
1560
- # @example Example: To create a bucket
1678
+ # @example Example: To create a bucket in a specific region
1561
1679
  #
1562
- # # The following example creates a bucket.
1680
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1563
1681
  #
1564
1682
  # resp = client.create_bucket({
1565
1683
  # bucket: "examplebucket",
1684
+ # create_bucket_configuration: {
1685
+ # location_constraint: "eu-west-1",
1686
+ # },
1566
1687
  # })
1567
1688
  #
1568
1689
  # resp.to_h outputs the following:
1569
1690
  # {
1570
- # location: "/examplebucket",
1691
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1571
1692
  # }
1572
1693
  #
1573
1694
  # @example Request syntax with placeholder values
@@ -1696,11 +1817,11 @@ module Aws::S3
1696
1817
  # used to encrypt data, specify the following headers in the
1697
1818
  # request.
1698
1819
  #
1699
- # * x-amz-server-side-encryption
1820
+ # * `x-amz-server-side-encryption`
1700
1821
  #
1701
- # * x-amz-server-side-encryption-aws-kms-key-id
1822
+ # * `x-amz-server-side-encryption-aws-kms-key-id`
1702
1823
  #
1703
- # * x-amz-server-side-encryption-context
1824
+ # * `x-amz-server-side-encryption-context`
1704
1825
  #
1705
1826
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1706
1827
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
@@ -1721,11 +1842,11 @@ module Aws::S3
1721
1842
  # own encryption keys, provide all the following headers in the
1722
1843
  # request.
1723
1844
  #
1724
- # * x-amz-server-side-encryption-customer-algorithm
1845
+ # * `x-amz-server-side-encryption-customer-algorithm`
1725
1846
  #
1726
- # * x-amz-server-side-encryption-customer-key
1847
+ # * `x-amz-server-side-encryption-customer-key`
1727
1848
  #
1728
- # * x-amz-server-side-encryption-customer-key-MD5
1849
+ # * `x-amz-server-side-encryption-customer-key-MD5`
1729
1850
  #
1730
1851
  # For more information about server-side encryption with KMS keys
1731
1852
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
@@ -1755,15 +1876,15 @@ module Aws::S3
1755
1876
  # header, you specify a list of grantees who get the specific
1756
1877
  # permission. To grant permissions explicitly, use:
1757
1878
  #
1758
- # * x-amz-grant-read
1879
+ # * `x-amz-grant-read`
1759
1880
  #
1760
- # * x-amz-grant-write
1881
+ # * `x-amz-grant-write`
1761
1882
  #
1762
- # * x-amz-grant-read-acp
1883
+ # * `x-amz-grant-read-acp`
1763
1884
  #
1764
- # * x-amz-grant-write-acp
1885
+ # * `x-amz-grant-write-acp`
1765
1886
  #
1766
- # * x-amz-grant-full-control
1887
+ # * `x-amz-grant-full-control`
1767
1888
  #
1768
1889
  # You specify each grantee as a type=value pair, where the type is
1769
1890
  # one of the following:
@@ -1857,12 +1978,12 @@ module Aws::S3
1857
1978
  #
1858
1979
  # When using this action with Amazon S3 on Outposts, you must direct
1859
1980
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1860
- # takes the form
1861
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1862
- # When using this action using S3 on Outposts through the Amazon Web
1981
+ # takes the form `
1982
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
1983
+ # When using this action with S3 on Outposts through the Amazon Web
1863
1984
  # Services SDKs, you provide the Outposts bucket ARN in place of the
1864
1985
  # bucket name. For more information about S3 on Outposts ARNs, see
1865
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
1986
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
1866
1987
  #
1867
1988
  #
1868
1989
  #
@@ -1983,8 +2104,8 @@ module Aws::S3
1983
2104
  # @option params [String] :request_payer
1984
2105
  # Confirms that the requester knows that they will be charged for the
1985
2106
  # request. Bucket owners need not specify this parameter in their
1986
- # requests. For information about downloading objects from requester
1987
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
2107
+ # requests. For information about downloading objects from Requester
2108
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1988
2109
  # in the *Amazon S3 User Guide*.
1989
2110
  #
1990
2111
  #
@@ -2003,13 +2124,22 @@ module Aws::S3
2003
2124
  # Specifies the date and time when you want the Object Lock to expire.
2004
2125
  #
2005
2126
  # @option params [String] :object_lock_legal_hold_status
2006
- # Specifies whether you want to apply a Legal Hold to the uploaded
2127
+ # Specifies whether you want to apply a legal hold to the uploaded
2007
2128
  # object.
2008
2129
  #
2009
2130
  # @option params [String] :expected_bucket_owner
2010
2131
  # The account ID of the expected bucket owner. If the bucket is owned by
2011
- # a different account, the request will fail with an HTTP `403 (Access
2012
- # Denied)` error.
2132
+ # a different account, the request fails with the HTTP status code `403
2133
+ # Forbidden` (access denied).
2134
+ #
2135
+ # @option params [String] :checksum_algorithm
2136
+ # Indicates the algorithm you want Amazon S3 to use to create the
2137
+ # checksum for the object. For more information, see [Checking object
2138
+ # integrity][1] in the *Amazon S3 User Guide*.
2139
+ #
2140
+ #
2141
+ #
2142
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2013
2143
  #
2014
2144
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2015
2145
  #
@@ -2025,6 +2155,7 @@ module Aws::S3
2025
2155
  # * {Types::CreateMultipartUploadOutput#ssekms_encryption_context #ssekms_encryption_context} => String
2026
2156
  # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
2027
2157
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
2158
+ # * {Types::CreateMultipartUploadOutput#checksum_algorithm #checksum_algorithm} => String
2028
2159
  #
2029
2160
  #
2030
2161
  # @example Example: To initiate a multipart upload
@@ -2077,6 +2208,7 @@ module Aws::S3
2077
2208
  # object_lock_retain_until_date: Time.now,
2078
2209
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
2079
2210
  # expected_bucket_owner: "AccountId",
2211
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2080
2212
  # })
2081
2213
  #
2082
2214
  # @example Response structure
@@ -2093,6 +2225,7 @@ module Aws::S3
2093
2225
  # resp.ssekms_encryption_context #=> String
2094
2226
  # resp.bucket_key_enabled #=> Boolean
2095
2227
  # resp.request_charged #=> String, one of "requester"
2228
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
2096
2229
  #
2097
2230
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
2098
2231
  #
@@ -2123,8 +2256,8 @@ module Aws::S3
2123
2256
  #
2124
2257
  # @option params [String] :expected_bucket_owner
2125
2258
  # The account ID of the expected bucket owner. If the bucket is owned by
2126
- # a different account, the request will fail with an HTTP `403 (Access
2127
- # Denied)` error.
2259
+ # a different account, the request fails with the HTTP status code `403
2260
+ # Forbidden` (access denied).
2128
2261
  #
2129
2262
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2130
2263
  #
@@ -2193,8 +2326,8 @@ module Aws::S3
2193
2326
  #
2194
2327
  # @option params [String] :expected_bucket_owner
2195
2328
  # The account ID of the expected bucket owner. If the bucket is owned by
2196
- # a different account, the request will fail with an HTTP `403 (Access
2197
- # Denied)` error.
2329
+ # a different account, the request fails with the HTTP status code `403
2330
+ # Forbidden` (access denied).
2198
2331
  #
2199
2332
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2200
2333
  #
@@ -2241,8 +2374,8 @@ module Aws::S3
2241
2374
  #
2242
2375
  # @option params [String] :expected_bucket_owner
2243
2376
  # The account ID of the expected bucket owner. If the bucket is owned by
2244
- # a different account, the request will fail with an HTTP `403 (Access
2245
- # Denied)` error.
2377
+ # a different account, the request fails with the HTTP status code `403
2378
+ # Forbidden` (access denied).
2246
2379
  #
2247
2380
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2248
2381
  #
@@ -2304,8 +2437,8 @@ module Aws::S3
2304
2437
  #
2305
2438
  # @option params [String] :expected_bucket_owner
2306
2439
  # The account ID of the expected bucket owner. If the bucket is owned by
2307
- # a different account, the request will fail with an HTTP `403 (Access
2308
- # Denied)` error.
2440
+ # a different account, the request fails with the HTTP status code `403
2441
+ # Forbidden` (access denied).
2309
2442
  #
2310
2443
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2311
2444
  #
@@ -2427,8 +2560,8 @@ module Aws::S3
2427
2560
  #
2428
2561
  # @option params [String] :expected_bucket_owner
2429
2562
  # The account ID of the expected bucket owner. If the bucket is owned by
2430
- # a different account, the request will fail with an HTTP `403 (Access
2431
- # Denied)` error.
2563
+ # a different account, the request fails with the HTTP status code `403
2564
+ # Forbidden` (access denied).
2432
2565
  #
2433
2566
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2434
2567
  #
@@ -2483,8 +2616,8 @@ module Aws::S3
2483
2616
  #
2484
2617
  # @option params [String] :expected_bucket_owner
2485
2618
  # The account ID of the expected bucket owner. If the bucket is owned by
2486
- # a different account, the request will fail with an HTTP `403 (Access
2487
- # Denied)` error.
2619
+ # a different account, the request fails with the HTTP status code `403
2620
+ # Forbidden` (access denied).
2488
2621
  #
2489
2622
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2490
2623
  #
@@ -2555,8 +2688,8 @@ module Aws::S3
2555
2688
  #
2556
2689
  # @option params [String] :expected_bucket_owner
2557
2690
  # The account ID of the expected bucket owner. If the bucket is owned by
2558
- # a different account, the request will fail with an HTTP `403 (Access
2559
- # Denied)` error.
2691
+ # a different account, the request fails with the HTTP status code `403
2692
+ # Forbidden` (access denied).
2560
2693
  #
2561
2694
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2562
2695
  #
@@ -2602,8 +2735,8 @@ module Aws::S3
2602
2735
  #
2603
2736
  # @option params [String] :expected_bucket_owner
2604
2737
  # The account ID of the expected bucket owner. If the bucket is owned by
2605
- # a different account, the request will fail with an HTTP `403 (Access
2606
- # Denied)` error.
2738
+ # a different account, the request fails with the HTTP status code `403
2739
+ # Forbidden` (access denied).
2607
2740
  #
2608
2741
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2609
2742
  #
@@ -2660,8 +2793,8 @@ module Aws::S3
2660
2793
  #
2661
2794
  # @option params [String] :expected_bucket_owner
2662
2795
  # The account ID of the expected bucket owner. If the bucket is owned by
2663
- # a different account, the request will fail with an HTTP `403 (Access
2664
- # Denied)` error.
2796
+ # a different account, the request fails with the HTTP status code `403
2797
+ # Forbidden` (access denied).
2665
2798
  #
2666
2799
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2667
2800
  #
@@ -2726,8 +2859,8 @@ module Aws::S3
2726
2859
  #
2727
2860
  # @option params [String] :expected_bucket_owner
2728
2861
  # The account ID of the expected bucket owner. If the bucket is owned by
2729
- # a different account, the request will fail with an HTTP `403 (Access
2730
- # Denied)` error.
2862
+ # a different account, the request fails with the HTTP status code `403
2863
+ # Forbidden` (access denied).
2731
2864
  #
2732
2865
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2733
2866
  #
@@ -2778,8 +2911,8 @@ module Aws::S3
2778
2911
  #
2779
2912
  # @option params [String] :expected_bucket_owner
2780
2913
  # The account ID of the expected bucket owner. If the bucket is owned by
2781
- # a different account, the request will fail with an HTTP `403 (Access
2782
- # Denied)` error.
2914
+ # a different account, the request fails with the HTTP status code `403
2915
+ # Forbidden` (access denied).
2783
2916
  #
2784
2917
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2785
2918
  #
@@ -2842,8 +2975,8 @@ module Aws::S3
2842
2975
  #
2843
2976
  # @option params [String] :expected_bucket_owner
2844
2977
  # The account ID of the expected bucket owner. If the bucket is owned by
2845
- # a different account, the request will fail with an HTTP `403 (Access
2846
- # Denied)` error.
2978
+ # a different account, the request fails with the HTTP status code `403
2979
+ # Forbidden` (access denied).
2847
2980
  #
2848
2981
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2849
2982
  #
@@ -2924,12 +3057,12 @@ module Aws::S3
2924
3057
  #
2925
3058
  # When using this action with Amazon S3 on Outposts, you must direct
2926
3059
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2927
- # takes the form
2928
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2929
- # When using this action using S3 on Outposts through the Amazon Web
3060
+ # takes the form `
3061
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3062
+ # When using this action with S3 on Outposts through the Amazon Web
2930
3063
  # Services SDKs, you provide the Outposts bucket ARN in place of the
2931
3064
  # bucket name. For more information about S3 on Outposts ARNs, see
2932
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3065
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
2933
3066
  #
2934
3067
  #
2935
3068
  #
@@ -2951,8 +3084,8 @@ module Aws::S3
2951
3084
  # @option params [String] :request_payer
2952
3085
  # Confirms that the requester knows that they will be charged for the
2953
3086
  # request. Bucket owners need not specify this parameter in their
2954
- # requests. For information about downloading objects from requester
2955
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
3087
+ # requests. For information about downloading objects from Requester
3088
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
2956
3089
  # in the *Amazon S3 User Guide*.
2957
3090
  #
2958
3091
  #
@@ -2962,12 +3095,12 @@ module Aws::S3
2962
3095
  # @option params [Boolean] :bypass_governance_retention
2963
3096
  # Indicates whether S3 Object Lock should bypass Governance-mode
2964
3097
  # restrictions to process this operation. To use this header, you must
2965
- # have the `s3:PutBucketPublicAccessBlock` permission.
3098
+ # have the `s3:BypassGovernanceRetention` permission.
2966
3099
  #
2967
3100
  # @option params [String] :expected_bucket_owner
2968
3101
  # The account ID of the expected bucket owner. If the bucket is owned by
2969
- # a different account, the request will fail with an HTTP `403 (Access
2970
- # Denied)` error.
3102
+ # a different account, the request fails with the HTTP status code `403
3103
+ # Forbidden` (access denied).
2971
3104
  #
2972
3105
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2973
3106
  #
@@ -3061,12 +3194,12 @@ module Aws::S3
3061
3194
  #
3062
3195
  # When using this action with Amazon S3 on Outposts, you must direct
3063
3196
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3064
- # takes the form
3065
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
3066
- # When using this action using S3 on Outposts through the Amazon Web
3197
+ # takes the form `
3198
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3199
+ # When using this action with S3 on Outposts through the Amazon Web
3067
3200
  # Services SDKs, you provide the Outposts bucket ARN in place of the
3068
3201
  # bucket name. For more information about S3 on Outposts ARNs, see
3069
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3202
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3070
3203
  #
3071
3204
  #
3072
3205
  #
@@ -3082,8 +3215,8 @@ module Aws::S3
3082
3215
  #
3083
3216
  # @option params [String] :expected_bucket_owner
3084
3217
  # The account ID of the expected bucket owner. If the bucket is owned by
3085
- # a different account, the request will fail with an HTTP `403 (Access
3086
- # Denied)` error.
3218
+ # a different account, the request fails with the HTTP status code `403
3219
+ # Forbidden` (access denied).
3087
3220
  #
3088
3221
  # @return [Types::DeleteObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3089
3222
  #
@@ -3209,12 +3342,12 @@ module Aws::S3
3209
3342
  #
3210
3343
  # When using this action with Amazon S3 on Outposts, you must direct
3211
3344
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3212
- # takes the form
3213
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
3214
- # When using this action using S3 on Outposts through the Amazon Web
3345
+ # takes the form `
3346
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3347
+ # When using this action with S3 on Outposts through the Amazon Web
3215
3348
  # Services SDKs, you provide the Outposts bucket ARN in place of the
3216
3349
  # bucket name. For more information about S3 on Outposts ARNs, see
3217
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3350
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3218
3351
  #
3219
3352
  #
3220
3353
  #
@@ -3233,8 +3366,8 @@ module Aws::S3
3233
3366
  # @option params [String] :request_payer
3234
3367
  # Confirms that the requester knows that they will be charged for the
3235
3368
  # request. Bucket owners need not specify this parameter in their
3236
- # requests. For information about downloading objects from requester
3237
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
3369
+ # requests. For information about downloading objects from Requester
3370
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
3238
3371
  # in the *Amazon S3 User Guide*.
3239
3372
  #
3240
3373
  #
@@ -3244,12 +3377,31 @@ module Aws::S3
3244
3377
  # @option params [Boolean] :bypass_governance_retention
3245
3378
  # Specifies whether you want to delete this object even if it has a
3246
3379
  # Governance-type Object Lock in place. To use this header, you must
3247
- # have the `s3:PutBucketPublicAccessBlock` permission.
3380
+ # have the `s3:BypassGovernanceRetention` permission.
3248
3381
  #
3249
3382
  # @option params [String] :expected_bucket_owner
3250
3383
  # The account ID of the expected bucket owner. If the bucket is owned by
3251
- # a different account, the request will fail with an HTTP `403 (Access
3252
- # Denied)` error.
3384
+ # a different account, the request fails with the HTTP status code `403
3385
+ # Forbidden` (access denied).
3386
+ #
3387
+ # @option params [String] :checksum_algorithm
3388
+ # Indicates the algorithm used to create the checksum for the object
3389
+ # when using the SDK. This header will not provide any additional
3390
+ # functionality if not using the SDK. When sending this header, there
3391
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
3392
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
3393
+ # `400 Bad Request`. For more information, see [Checking object
3394
+ # integrity][1] in the *Amazon S3 User Guide*.
3395
+ #
3396
+ # If you provide an individual checksum, Amazon S3 ignores any provided
3397
+ # `ChecksumAlgorithm` parameter.
3398
+ #
3399
+ # This checksum algorithm must be the same for all parts and it match
3400
+ # the checksum value supplied in the `CreateMultipartUpload` request.
3401
+ #
3402
+ #
3403
+ #
3404
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
3253
3405
  #
3254
3406
  # @return [Types::DeleteObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3255
3407
  #
@@ -3347,6 +3499,7 @@ module Aws::S3
3347
3499
  # request_payer: "requester", # accepts requester
3348
3500
  # bypass_governance_retention: false,
3349
3501
  # expected_bucket_owner: "AccountId",
3502
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3350
3503
  # })
3351
3504
  #
3352
3505
  # @example Response structure
@@ -3404,8 +3557,8 @@ module Aws::S3
3404
3557
  #
3405
3558
  # @option params [String] :expected_bucket_owner
3406
3559
  # The account ID of the expected bucket owner. If the bucket is owned by
3407
- # a different account, the request will fail with an HTTP `403 (Access
3408
- # Denied)` error.
3560
+ # a different account, the request fails with the HTTP status code `403
3561
+ # Forbidden` (access denied).
3409
3562
  #
3410
3563
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3411
3564
  #
@@ -3469,8 +3622,8 @@ module Aws::S3
3469
3622
  #
3470
3623
  # @option params [String] :expected_bucket_owner
3471
3624
  # The account ID of the expected bucket owner. If the bucket is owned by
3472
- # a different account, the request will fail with an HTTP `403 (Access
3473
- # Denied)` error.
3625
+ # a different account, the request fails with the HTTP status code `403
3626
+ # Forbidden` (access denied).
3474
3627
  #
3475
3628
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3476
3629
  #
@@ -3527,8 +3680,8 @@ module Aws::S3
3527
3680
  #
3528
3681
  # @option params [String] :expected_bucket_owner
3529
3682
  # The account ID of the expected bucket owner. If the bucket is owned by
3530
- # a different account, the request will fail with an HTTP `403 (Access
3531
- # Denied)` error.
3683
+ # a different account, the request fails with the HTTP status code `403
3684
+ # Forbidden` (access denied).
3532
3685
  #
3533
3686
  # @return [Types::GetBucketAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3534
3687
  #
@@ -3604,8 +3757,8 @@ module Aws::S3
3604
3757
  #
3605
3758
  # @option params [String] :expected_bucket_owner
3606
3759
  # The account ID of the expected bucket owner. If the bucket is owned by
3607
- # a different account, the request will fail with an HTTP `403 (Access
3608
- # Denied)` error.
3760
+ # a different account, the request fails with the HTTP status code `403
3761
+ # Forbidden` (access denied).
3609
3762
  #
3610
3763
  # @return [Types::GetBucketAnalyticsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3611
3764
  #
@@ -3644,13 +3797,14 @@ module Aws::S3
3644
3797
  req.send_request(options)
3645
3798
  end
3646
3799
 
3647
- # Returns the cors configuration information set for the bucket.
3800
+ # Returns the Cross-Origin Resource Sharing (CORS) configuration
3801
+ # information set for the bucket.
3648
3802
  #
3649
3803
  # To use this operation, you must have permission to perform the
3650
- # s3:GetBucketCORS action. By default, the bucket owner has this
3804
+ # `s3:GetBucketCORS` action. By default, the bucket owner has this
3651
3805
  # permission and can grant it to others.
3652
3806
  #
3653
- # For more information about cors, see [ Enabling Cross-Origin Resource
3807
+ # For more information about CORS, see [ Enabling Cross-Origin Resource
3654
3808
  # Sharing][1].
3655
3809
  #
3656
3810
  # The following operations are related to `GetBucketCors`\:
@@ -3670,8 +3824,8 @@ module Aws::S3
3670
3824
  #
3671
3825
  # @option params [String] :expected_bucket_owner
3672
3826
  # The account ID of the expected bucket owner. If the bucket is owned by
3673
- # a different account, the request will fail with an HTTP `403 (Access
3674
- # Denied)` error.
3827
+ # a different account, the request fails with the HTTP status code `403
3828
+ # Forbidden` (access denied).
3675
3829
  #
3676
3830
  # @return [Types::GetBucketCorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3677
3831
  #
@@ -3769,8 +3923,8 @@ module Aws::S3
3769
3923
  #
3770
3924
  # @option params [String] :expected_bucket_owner
3771
3925
  # The account ID of the expected bucket owner. If the bucket is owned by
3772
- # a different account, the request will fail with an HTTP `403 (Access
3773
- # Denied)` error.
3926
+ # a different account, the request fails with the HTTP status code `403
3927
+ # Forbidden` (access denied).
3774
3928
  #
3775
3929
  # @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3776
3930
  #
@@ -3919,8 +4073,8 @@ module Aws::S3
3919
4073
  #
3920
4074
  # @option params [String] :expected_bucket_owner
3921
4075
  # The account ID of the expected bucket owner. If the bucket is owned by
3922
- # a different account, the request will fail with an HTTP `403 (Access
3923
- # Denied)` error.
4076
+ # a different account, the request fails with the HTTP status code `403
4077
+ # Forbidden` (access denied).
3924
4078
  #
3925
4079
  # @return [Types::GetBucketInventoryConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3926
4080
  #
@@ -3946,7 +4100,7 @@ module Aws::S3
3946
4100
  # resp.inventory_configuration.id #=> String
3947
4101
  # resp.inventory_configuration.included_object_versions #=> String, one of "All", "Current"
3948
4102
  # resp.inventory_configuration.optional_fields #=> Array
3949
- # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus"
4103
+ # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm"
3950
4104
  # resp.inventory_configuration.schedule.frequency #=> String, one of "Daily", "Weekly"
3951
4105
  #
3952
4106
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration AWS API Documentation
@@ -4007,8 +4161,8 @@ module Aws::S3
4007
4161
  #
4008
4162
  # @option params [String] :expected_bucket_owner
4009
4163
  # The account ID of the expected bucket owner. If the bucket is owned by
4010
- # a different account, the request will fail with an HTTP `403 (Access
4011
- # Denied)` error.
4164
+ # a different account, the request fails with the HTTP status code `403
4165
+ # Forbidden` (access denied).
4012
4166
  #
4013
4167
  # @return [Types::GetBucketLifecycleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4014
4168
  #
@@ -4127,8 +4281,8 @@ module Aws::S3
4127
4281
  #
4128
4282
  # @option params [String] :expected_bucket_owner
4129
4283
  # The account ID of the expected bucket owner. If the bucket is owned by
4130
- # a different account, the request will fail with an HTTP `403 (Access
4131
- # Denied)` error.
4284
+ # a different account, the request fails with the HTTP status code `403
4285
+ # Forbidden` (access denied).
4132
4286
  #
4133
4287
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4134
4288
  #
@@ -4234,8 +4388,8 @@ module Aws::S3
4234
4388
  #
4235
4389
  # @option params [String] :expected_bucket_owner
4236
4390
  # The account ID of the expected bucket owner. If the bucket is owned by
4237
- # a different account, the request will fail with an HTTP `403 (Access
4238
- # Denied)` error.
4391
+ # a different account, the request fails with the HTTP status code `403
4392
+ # Forbidden` (access denied).
4239
4393
  #
4240
4394
  # @return [Types::GetBucketLocationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4241
4395
  #
@@ -4295,8 +4449,8 @@ module Aws::S3
4295
4449
  #
4296
4450
  # @option params [String] :expected_bucket_owner
4297
4451
  # The account ID of the expected bucket owner. If the bucket is owned by
4298
- # a different account, the request will fail with an HTTP `403 (Access
4299
- # Denied)` error.
4452
+ # a different account, the request fails with the HTTP status code `403
4453
+ # Forbidden` (access denied).
4300
4454
  #
4301
4455
  # @return [Types::GetBucketLoggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4302
4456
  #
@@ -4373,8 +4527,8 @@ module Aws::S3
4373
4527
  #
4374
4528
  # @option params [String] :expected_bucket_owner
4375
4529
  # The account ID of the expected bucket owner. If the bucket is owned by
4376
- # a different account, the request will fail with an HTTP `403 (Access
4377
- # Denied)` error.
4530
+ # a different account, the request fails with the HTTP status code `403
4531
+ # Forbidden` (access denied).
4378
4532
  #
4379
4533
  # @return [Types::GetBucketMetricsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4380
4534
  #
@@ -4422,8 +4576,8 @@ module Aws::S3
4422
4576
  #
4423
4577
  # @option params [String] :expected_bucket_owner
4424
4578
  # The account ID of the expected bucket owner. If the bucket is owned by
4425
- # a different account, the request will fail with an HTTP `403 (Access
4426
- # Denied)` error.
4579
+ # a different account, the request fails with the HTTP status code `403
4580
+ # Forbidden` (access denied).
4427
4581
  #
4428
4582
  # @return [Types::NotificationConfigurationDeprecated] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4429
4583
  #
@@ -4556,8 +4710,8 @@ module Aws::S3
4556
4710
  #
4557
4711
  # @option params [String] :expected_bucket_owner
4558
4712
  # The account ID of the expected bucket owner. If the bucket is owned by
4559
- # a different account, the request will fail with an HTTP `403 (Access
4560
- # Denied)` error.
4713
+ # a different account, the request fails with the HTTP status code `403
4714
+ # Forbidden` (access denied).
4561
4715
  #
4562
4716
  # @return [Types::NotificationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4563
4717
  #
@@ -4634,8 +4788,8 @@ module Aws::S3
4634
4788
  #
4635
4789
  # @option params [String] :expected_bucket_owner
4636
4790
  # The account ID of the expected bucket owner. If the bucket is owned by
4637
- # a different account, the request will fail with an HTTP `403 (Access
4638
- # Denied)` error.
4791
+ # a different account, the request fails with the HTTP status code `403
4792
+ # Forbidden` (access denied).
4639
4793
  #
4640
4794
  # @return [Types::GetBucketOwnershipControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4641
4795
  #
@@ -4697,8 +4851,8 @@ module Aws::S3
4697
4851
  #
4698
4852
  # @option params [String] :expected_bucket_owner
4699
4853
  # The account ID of the expected bucket owner. If the bucket is owned by
4700
- # a different account, the request will fail with an HTTP `403 (Access
4701
- # Denied)` error.
4854
+ # a different account, the request fails with the HTTP status code `403
4855
+ # Forbidden` (access denied).
4702
4856
  #
4703
4857
  # @return [Types::GetBucketPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4704
4858
  #
@@ -4772,8 +4926,8 @@ module Aws::S3
4772
4926
  #
4773
4927
  # @option params [String] :expected_bucket_owner
4774
4928
  # The account ID of the expected bucket owner. If the bucket is owned by
4775
- # a different account, the request will fail with an HTTP `403 (Access
4776
- # Denied)` error.
4929
+ # a different account, the request fails with the HTTP status code `403
4930
+ # Forbidden` (access denied).
4777
4931
  #
4778
4932
  # @return [Types::GetBucketPolicyStatusOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4779
4933
  #
@@ -4840,8 +4994,8 @@ module Aws::S3
4840
4994
  #
4841
4995
  # @option params [String] :expected_bucket_owner
4842
4996
  # The account ID of the expected bucket owner. If the bucket is owned by
4843
- # a different account, the request will fail with an HTTP `403 (Access
4844
- # Denied)` error.
4997
+ # a different account, the request fails with the HTTP status code `403
4998
+ # Forbidden` (access denied).
4845
4999
  #
4846
5000
  # @return [Types::GetBucketReplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4847
5001
  #
@@ -4939,8 +5093,8 @@ module Aws::S3
4939
5093
  #
4940
5094
  # @option params [String] :expected_bucket_owner
4941
5095
  # The account ID of the expected bucket owner. If the bucket is owned by
4942
- # a different account, the request will fail with an HTTP `403 (Access
4943
- # Denied)` error.
5096
+ # a different account, the request fails with the HTTP status code `403
5097
+ # Forbidden` (access denied).
4944
5098
  #
4945
5099
  # @return [Types::GetBucketRequestPaymentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4946
5100
  #
@@ -4988,7 +5142,7 @@ module Aws::S3
4988
5142
  #
4989
5143
  # `GetBucketTagging` has the following special error:
4990
5144
  #
4991
- # * Error code: `NoSuchTagSetError`
5145
+ # * Error code: `NoSuchTagSet`
4992
5146
  #
4993
5147
  # * Description: There is no tag set associated with the bucket.
4994
5148
  #
@@ -5010,8 +5164,8 @@ module Aws::S3
5010
5164
  #
5011
5165
  # @option params [String] :expected_bucket_owner
5012
5166
  # The account ID of the expected bucket owner. If the bucket is owned by
5013
- # a different account, the request will fail with an HTTP `403 (Access
5014
- # Denied)` error.
5167
+ # a different account, the request fails with the HTTP status code `403
5168
+ # Forbidden` (access denied).
5015
5169
  #
5016
5170
  # @return [Types::GetBucketTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5017
5171
  #
@@ -5091,8 +5245,8 @@ module Aws::S3
5091
5245
  #
5092
5246
  # @option params [String] :expected_bucket_owner
5093
5247
  # The account ID of the expected bucket owner. If the bucket is owned by
5094
- # a different account, the request will fail with an HTTP `403 (Access
5095
- # Denied)` error.
5248
+ # a different account, the request fails with the HTTP status code `403
5249
+ # Forbidden` (access denied).
5096
5250
  #
5097
5251
  # @return [Types::GetBucketVersioningOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5098
5252
  #
@@ -5163,8 +5317,8 @@ module Aws::S3
5163
5317
  #
5164
5318
  # @option params [String] :expected_bucket_owner
5165
5319
  # The account ID of the expected bucket owner. If the bucket is owned by
5166
- # a different account, the request will fail with an HTTP `403 (Access
5167
- # Denied)` error.
5320
+ # a different account, the request fails with the HTTP status code `403
5321
+ # Forbidden` (access denied).
5168
5322
  #
5169
5323
  # @return [Types::GetBucketWebsiteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5170
5324
  #
@@ -5243,18 +5397,16 @@ module Aws::S3
5243
5397
  # `/examplebucket/photos/2006/February/sample.jpg`. For more information
5244
5398
  # about request types, see [HTTP Host Header Bucket Specification][1].
5245
5399
  #
5246
- # To distribute large files to many people, you can save bandwidth costs
5247
- # by using BitTorrent. For more information, see [Amazon S3 Torrent][2].
5248
5400
  # For more information about returning the ACL of an object, see
5249
- # [GetObjectAcl][3].
5401
+ # [GetObjectAcl][2].
5250
5402
  #
5251
5403
  # If the object you are retrieving is stored in the S3 Glacier or S3
5252
5404
  # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5253
5405
  # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5254
- # the object you must first restore a copy using [RestoreObject][4].
5406
+ # the object you must first restore a copy using [RestoreObject][3].
5255
5407
  # Otherwise, this action returns an `InvalidObjectStateError` error. For
5256
5408
  # information about restoring archived objects, see [Restoring Archived
5257
- # Objects][5].
5409
+ # Objects][4].
5258
5410
  #
5259
5411
  # Encryption request headers, like `x-amz-server-side-encryption`,
5260
5412
  # should not be sent for GET requests if your object uses server-side
@@ -5274,19 +5426,19 @@ module Aws::S3
5274
5426
  # * x-amz-server-side-encryption-customer-key-MD5
5275
5427
  #
5276
5428
  # For more information about SSE-C, see [Server-Side Encryption (Using
5277
- # Customer-Provided Encryption Keys)][6].
5429
+ # Customer-Provided Encryption Keys)][5].
5278
5430
  #
5279
5431
  # Assuming you have the relevant permission to read object tags, the
5280
5432
  # response also returns the `x-amz-tagging-count` header that provides
5281
5433
  # the count of number of tags associated with the object. You can use
5282
- # [GetObjectTagging][7] to retrieve the tag set associated with an
5434
+ # [GetObjectTagging][6] to retrieve the tag set associated with an
5283
5435
  # object.
5284
5436
  #
5285
5437
  # **Permissions**
5286
5438
  #
5287
5439
  # You need the relevant read object (or version) permission for this
5288
5440
  # operation. For more information, see [Specifying Permissions in a
5289
- # Policy][8]. If the object you request does not exist, the error Amazon
5441
+ # Policy][7]. If the object you request does not exist, the error Amazon
5290
5442
  # S3 returns depends on whether you also have the `s3:ListBucket`
5291
5443
  # permission.
5292
5444
  #
@@ -5312,13 +5464,13 @@ module Aws::S3
5312
5464
  #
5313
5465
  # </note>
5314
5466
  #
5315
- # For more information about versioning, see [PutBucketVersioning][9].
5467
+ # For more information about versioning, see [PutBucketVersioning][8].
5316
5468
  #
5317
5469
  # **Overriding Response Header Values**
5318
5470
  #
5319
5471
  # There are times when you want to override certain response header
5320
5472
  # values in a GET response. For example, you might override the
5321
- # Content-Disposition response header value in your GET request.
5473
+ # `Content-Disposition` response header value in your GET request.
5322
5474
  #
5323
5475
  # You can override values for a set of response headers using the
5324
5476
  # following query parameters. These response header values are sent only
@@ -5361,27 +5513,26 @@ module Aws::S3
5361
5513
  # to `false`, and; `If-Modified-Since` condition evaluates to `true`;
5362
5514
  # then, S3 returns 304 Not Modified response code.
5363
5515
  #
5364
- # For more information about conditional requests, see [RFC 7232][10].
5516
+ # For more information about conditional requests, see [RFC 7232][9].
5365
5517
  #
5366
5518
  # The following operations are related to `GetObject`\:
5367
5519
  #
5368
- # * [ListBuckets][11]
5520
+ # * [ListBuckets][10]
5369
5521
  #
5370
- # * [GetObjectAcl][3]
5522
+ # * [GetObjectAcl][2]
5371
5523
  #
5372
5524
  #
5373
5525
  #
5374
5526
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
5375
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
5376
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
5377
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
5378
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
5379
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5380
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
5381
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
5382
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
5383
- # [10]: https://tools.ietf.org/html/rfc7232
5384
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
5527
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
5528
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
5529
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
5530
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5531
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
5532
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
5533
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
5534
+ # [9]: https://tools.ietf.org/html/rfc7232
5535
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
5385
5536
  #
5386
5537
  # @option params [String, IO] :response_target
5387
5538
  # Where to write response data, file path, or IO object.
@@ -5402,12 +5553,12 @@ module Aws::S3
5402
5553
  #
5403
5554
  # When using this action with Amazon S3 on Outposts, you must direct
5404
5555
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5405
- # takes the form
5406
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5407
- # When using this action using S3 on Outposts through the Amazon Web
5556
+ # takes the form `
5557
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
5558
+ # When using this action with S3 on Outposts through the Amazon Web
5408
5559
  # Services SDKs, you provide the Outposts bucket ARN in place of the
5409
5560
  # bucket name. For more information about S3 on Outposts ARNs, see
5410
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
5561
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
5411
5562
  #
5412
5563
  #
5413
5564
  #
@@ -5416,19 +5567,19 @@ module Aws::S3
5416
5567
  #
5417
5568
  # @option params [String] :if_match
5418
5569
  # Return the object only if its entity tag (ETag) is the same as the one
5419
- # specified, otherwise return a 412 (precondition failed).
5570
+ # specified; otherwise, return a 412 (precondition failed) error.
5420
5571
  #
5421
5572
  # @option params [Time,DateTime,Date,Integer,String] :if_modified_since
5422
5573
  # Return the object only if it has been modified since the specified
5423
- # time, otherwise return a 304 (not modified).
5574
+ # time; otherwise, return a 304 (not modified) error.
5424
5575
  #
5425
5576
  # @option params [String] :if_none_match
5426
5577
  # Return the object only if its entity tag (ETag) is different from the
5427
- # one specified, otherwise return a 304 (not modified).
5578
+ # one specified; otherwise, return a 304 (not modified) error.
5428
5579
  #
5429
5580
  # @option params [Time,DateTime,Date,Integer,String] :if_unmodified_since
5430
5581
  # Return the object only if it has not been modified since the specified
5431
- # time, otherwise return a 412 (precondition failed).
5582
+ # time; otherwise, return a 412 (precondition failed) error.
5432
5583
  #
5433
5584
  # @option params [required, String] :key
5434
5585
  # Key of the object to get.
@@ -5487,8 +5638,8 @@ module Aws::S3
5487
5638
  # @option params [String] :request_payer
5488
5639
  # Confirms that the requester knows that they will be charged for the
5489
5640
  # request. Bucket owners need not specify this parameter in their
5490
- # requests. For information about downloading objects from requester
5491
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
5641
+ # requests. For information about downloading objects from Requester
5642
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
5492
5643
  # in the *Amazon S3 User Guide*.
5493
5644
  #
5494
5645
  #
@@ -5503,8 +5654,11 @@ module Aws::S3
5503
5654
  #
5504
5655
  # @option params [String] :expected_bucket_owner
5505
5656
  # The account ID of the expected bucket owner. If the bucket is owned by
5506
- # a different account, the request will fail with an HTTP `403 (Access
5507
- # Denied)` error.
5657
+ # a different account, the request fails with the HTTP status code `403
5658
+ # Forbidden` (access denied).
5659
+ #
5660
+ # @option params [String] :checksum_mode
5661
+ # To retrieve the checksum, this mode must be enabled.
5508
5662
  #
5509
5663
  # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5510
5664
  #
@@ -5516,6 +5670,10 @@ module Aws::S3
5516
5670
  # * {Types::GetObjectOutput#last_modified #last_modified} => Time
5517
5671
  # * {Types::GetObjectOutput#content_length #content_length} => Integer
5518
5672
  # * {Types::GetObjectOutput#etag #etag} => String
5673
+ # * {Types::GetObjectOutput#checksum_crc32 #checksum_crc32} => String
5674
+ # * {Types::GetObjectOutput#checksum_crc32c #checksum_crc32c} => String
5675
+ # * {Types::GetObjectOutput#checksum_sha1 #checksum_sha1} => String
5676
+ # * {Types::GetObjectOutput#checksum_sha256 #checksum_sha256} => String
5519
5677
  # * {Types::GetObjectOutput#missing_meta #missing_meta} => Integer
5520
5678
  # * {Types::GetObjectOutput#version_id #version_id} => String
5521
5679
  # * {Types::GetObjectOutput#cache_control #cache_control} => String
@@ -5543,49 +5701,49 @@ module Aws::S3
5543
5701
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5544
5702
  #
5545
5703
  #
5546
- # @example Example: To retrieve a byte range of an object
5704
+ # @example Example: To retrieve an object
5547
5705
  #
5548
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5549
- # # specific byte range.
5706
+ # # The following example retrieves an object for an S3 bucket.
5550
5707
  #
5551
5708
  # resp = client.get_object({
5552
5709
  # bucket: "examplebucket",
5553
- # key: "SampleFile.txt",
5554
- # range: "bytes=0-9",
5710
+ # key: "HappyFace.jpg",
5555
5711
  # })
5556
5712
  #
5557
5713
  # resp.to_h outputs the following:
5558
5714
  # {
5559
5715
  # accept_ranges: "bytes",
5560
- # content_length: 10,
5561
- # content_range: "bytes 0-9/43",
5562
- # content_type: "text/plain",
5563
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5564
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5716
+ # content_length: 3191,
5717
+ # content_type: "image/jpeg",
5718
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5719
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5565
5720
  # metadata: {
5566
5721
  # },
5722
+ # tag_count: 2,
5567
5723
  # version_id: "null",
5568
5724
  # }
5569
5725
  #
5570
- # @example Example: To retrieve an object
5726
+ # @example Example: To retrieve a byte range of an object
5571
5727
  #
5572
- # # The following example retrieves an object for an S3 bucket.
5728
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5729
+ # # specific byte range.
5573
5730
  #
5574
5731
  # resp = client.get_object({
5575
5732
  # bucket: "examplebucket",
5576
- # key: "HappyFace.jpg",
5733
+ # key: "SampleFile.txt",
5734
+ # range: "bytes=0-9",
5577
5735
  # })
5578
5736
  #
5579
5737
  # resp.to_h outputs the following:
5580
5738
  # {
5581
5739
  # accept_ranges: "bytes",
5582
- # content_length: 3191,
5583
- # content_type: "image/jpeg",
5584
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5585
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5740
+ # content_length: 10,
5741
+ # content_range: "bytes 0-9/43",
5742
+ # content_type: "text/plain",
5743
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5744
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5586
5745
  # metadata: {
5587
5746
  # },
5588
- # tag_count: 2,
5589
5747
  # version_id: "null",
5590
5748
  # }
5591
5749
  #
@@ -5641,6 +5799,7 @@ module Aws::S3
5641
5799
  # request_payer: "requester", # accepts requester
5642
5800
  # part_number: 1,
5643
5801
  # expected_bucket_owner: "AccountId",
5802
+ # checksum_mode: "ENABLED", # accepts ENABLED
5644
5803
  # })
5645
5804
  #
5646
5805
  # @example Response structure
@@ -5653,6 +5812,10 @@ module Aws::S3
5653
5812
  # resp.last_modified #=> Time
5654
5813
  # resp.content_length #=> Integer
5655
5814
  # resp.etag #=> String
5815
+ # resp.checksum_crc32 #=> String
5816
+ # resp.checksum_crc32c #=> String
5817
+ # resp.checksum_sha1 #=> String
5818
+ # resp.checksum_sha256 #=> String
5656
5819
  # resp.missing_meta #=> Integer
5657
5820
  # resp.version_id #=> String
5658
5821
  # resp.cache_control #=> String
@@ -5690,7 +5853,10 @@ module Aws::S3
5690
5853
  end
5691
5854
 
5692
5855
  # Returns the access control list (ACL) of an object. To use this
5693
- # operation, you must have `READ_ACP` access to the object.
5856
+ # operation, you must have `s3:GetObjectAcl` permissions or `READ_ACP`
5857
+ # access to the object. For more information, see [Mapping of ACL
5858
+ # permissions and access policy permissions][1] in the *Amazon S3 User
5859
+ # Guide*
5694
5860
  #
5695
5861
  # This action is not supported by Amazon S3 on Outposts.
5696
5862
  #
@@ -5704,24 +5870,28 @@ module Aws::S3
5704
5870
  # Ownership, requests to read ACLs are still supported and return the
5705
5871
  # `bucket-owner-full-control` ACL with the owner being the account that
5706
5872
  # created the bucket. For more information, see [ Controlling object
5707
- # ownership and disabling ACLs][1] in the *Amazon S3 User Guide*.
5873
+ # ownership and disabling ACLs][2] in the *Amazon S3 User Guide*.
5708
5874
  #
5709
5875
  # </note>
5710
5876
  #
5711
5877
  # The following operations are related to `GetObjectAcl`\:
5712
5878
  #
5713
- # * [GetObject][2]
5879
+ # * [GetObject][3]
5714
5880
  #
5715
- # * [DeleteObject][3]
5881
+ # * [GetObjectAttributes][4]
5716
5882
  #
5717
- # * [PutObject][4]
5883
+ # * [DeleteObject][5]
5718
5884
  #
5885
+ # * [PutObject][6]
5719
5886
  #
5720
5887
  #
5721
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
5722
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5723
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
5724
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
5888
+ #
5889
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping
5890
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
5891
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5892
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
5893
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
5894
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
5725
5895
  #
5726
5896
  # @option params [required, String] :bucket
5727
5897
  # The bucket name that contains the object for which to get the ACL
@@ -5748,8 +5918,8 @@ module Aws::S3
5748
5918
  # @option params [String] :request_payer
5749
5919
  # Confirms that the requester knows that they will be charged for the
5750
5920
  # request. Bucket owners need not specify this parameter in their
5751
- # requests. For information about downloading objects from requester
5752
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
5921
+ # requests. For information about downloading objects from Requester
5922
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
5753
5923
  # in the *Amazon S3 User Guide*.
5754
5924
  #
5755
5925
  #
@@ -5758,8 +5928,8 @@ module Aws::S3
5758
5928
  #
5759
5929
  # @option params [String] :expected_bucket_owner
5760
5930
  # The account ID of the expected bucket owner. If the bucket is owned by
5761
- # a different account, the request will fail with an HTTP `403 (Access
5762
- # Denied)` error.
5931
+ # a different account, the request fails with the HTTP status code `403
5932
+ # Forbidden` (access denied).
5763
5933
  #
5764
5934
  # @return [Types::GetObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5765
5935
  #
@@ -5851,18 +6021,116 @@ module Aws::S3
5851
6021
  req.send_request(options)
5852
6022
  end
5853
6023
 
5854
- # Gets an object's current Legal Hold status. For more information, see
5855
- # [Locking Objects][1].
6024
+ # Retrieves all the metadata from an object without returning the object
6025
+ # itself. This action is useful if you're interested only in an
6026
+ # object's metadata. To use `GetObjectAttributes`, you must have READ
6027
+ # access to the object.
5856
6028
  #
5857
- # This action is not supported by Amazon S3 on Outposts.
6029
+ # `GetObjectAttributes` combines the functionality of `GetObjectAcl`,
6030
+ # `GetObjectLegalHold`, `GetObjectLockConfiguration`,
6031
+ # `GetObjectRetention`, `GetObjectTagging`, `HeadObject`, and
6032
+ # `ListParts`. All of the data returned with each of those individual
6033
+ # calls can be returned with a single call to `GetObjectAttributes`.
5858
6034
  #
6035
+ # If you encrypt an object by using server-side encryption with
6036
+ # customer-provided encryption keys (SSE-C) when you store the object in
6037
+ # Amazon S3, then when you retrieve the metadata from the object, you
6038
+ # must use the following headers:
5859
6039
  #
6040
+ # * `x-amz-server-side-encryption-customer-algorithm`
5860
6041
  #
5861
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
6042
+ # * `x-amz-server-side-encryption-customer-key`
6043
+ #
6044
+ # * `x-amz-server-side-encryption-customer-key-MD5`
6045
+ #
6046
+ # For more information about SSE-C, see [Server-Side Encryption (Using
6047
+ # Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
6048
+ #
6049
+ # <note markdown="1"> * Encryption request headers, such as `x-amz-server-side-encryption`,
6050
+ # should not be sent for GET requests if your object uses server-side
6051
+ # encryption with Amazon Web Services KMS keys stored in Amazon Web
6052
+ # Services Key Management Service (SSE-KMS) or server-side encryption
6053
+ # with Amazon S3 managed encryption keys (SSE-S3). If your object does
6054
+ # use these types of keys, you'll get an HTTP `400 Bad Request`
6055
+ # error.
6056
+ #
6057
+ # * The last modified property in this case is the creation date of the
6058
+ # object.
6059
+ #
6060
+ # </note>
6061
+ #
6062
+ # Consider the following when using request headers:
6063
+ #
6064
+ # * If both of the `If-Match` and `If-Unmodified-Since` headers are
6065
+ # present in the request as follows, then Amazon S3 returns the HTTP
6066
+ # status code `200 OK` and the data requested:
6067
+ #
6068
+ # * `If-Match` condition evaluates to `true`.
6069
+ #
6070
+ # * `If-Unmodified-Since` condition evaluates to `false`.
6071
+ #
6072
+ # * If both of the `If-None-Match` and `If-Modified-Since` headers are
6073
+ # present in the request as follows, then Amazon S3 returns the HTTP
6074
+ # status code `304 Not Modified`\:
6075
+ #
6076
+ # * `If-None-Match` condition evaluates to `false`.
6077
+ #
6078
+ # * `If-Modified-Since` condition evaluates to `true`.
6079
+ #
6080
+ # For more information about conditional requests, see [RFC 7232][2].
6081
+ #
6082
+ # **Permissions**
6083
+ #
6084
+ # The permissions that you need to use this operation depend on whether
6085
+ # the bucket is versioned. If the bucket is versioned, you need both the
6086
+ # `s3:GetObjectVersion` and `s3:GetObjectVersionAttributes` permissions
6087
+ # for this operation. If the bucket is not versioned, you need the
6088
+ # `s3:GetObject` and `s3:GetObjectAttributes` permissions. For more
6089
+ # information, see [Specifying Permissions in a Policy][3] in the
6090
+ # *Amazon S3 User Guide*. If the object that you request does not exist,
6091
+ # the error Amazon S3 returns depends on whether you also have the
6092
+ # `s3:ListBucket` permission.
6093
+ #
6094
+ # * If you have the `s3:ListBucket` permission on the bucket, Amazon S3
6095
+ # returns an HTTP status code `404 Not Found` ("no such key") error.
6096
+ #
6097
+ # * If you don't have the `s3:ListBucket` permission, Amazon S3 returns
6098
+ # an HTTP status code `403 Forbidden` ("access denied") error.
6099
+ #
6100
+ # The following actions are related to `GetObjectAttributes`\:
6101
+ #
6102
+ # * [GetObject][4]
6103
+ #
6104
+ # * [GetObjectAcl][5]
6105
+ #
6106
+ # * [GetObjectLegalHold][6]
6107
+ #
6108
+ # * [GetObjectLockConfiguration][7]
6109
+ #
6110
+ # * [GetObjectRetention][8]
6111
+ #
6112
+ # * [GetObjectTagging][9]
6113
+ #
6114
+ # * [HeadObject][10]
6115
+ #
6116
+ # * [ListParts][11]
6117
+ #
6118
+ #
6119
+ #
6120
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
6121
+ # [2]: https://tools.ietf.org/html/rfc7232
6122
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
6123
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6124
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
6125
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
6126
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
6127
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
6128
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
6129
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
6130
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
5862
6131
  #
5863
6132
  # @option params [required, String] :bucket
5864
- # The bucket name containing the object whose Legal Hold status you want
5865
- # to retrieve.
6133
+ # The name of the bucket that contains the object.
5866
6134
  #
5867
6135
  # When using this action with an access point, you must direct requests
5868
6136
  # to the access point hostname. The access point hostname takes the form
@@ -5872,23 +6140,54 @@ module Aws::S3
5872
6140
  # name. For more information about access point ARNs, see [Using access
5873
6141
  # points][1] in the *Amazon S3 User Guide*.
5874
6142
  #
6143
+ # When using this action with Amazon S3 on Outposts, you must direct
6144
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6145
+ # takes the form `
6146
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6147
+ # When using this action with S3 on Outposts through the Amazon Web
6148
+ # Services SDKs, you provide the Outposts bucket ARN in place of the
6149
+ # bucket name. For more information about S3 on Outposts ARNs, see
6150
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6151
+ #
5875
6152
  #
5876
6153
  #
5877
6154
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
6155
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
5878
6156
  #
5879
6157
  # @option params [required, String] :key
5880
- # The key name for the object whose Legal Hold status you want to
5881
- # retrieve.
6158
+ # The object key.
5882
6159
  #
5883
6160
  # @option params [String] :version_id
5884
- # The version ID of the object whose Legal Hold status you want to
5885
- # retrieve.
6161
+ # The version ID used to reference a specific version of the object.
6162
+ #
6163
+ # @option params [Integer] :max_parts
6164
+ # Sets the maximum number of parts to return.
6165
+ #
6166
+ # @option params [Integer] :part_number_marker
6167
+ # Specifies the part after which listing should begin. Only parts with
6168
+ # higher part numbers will be listed.
6169
+ #
6170
+ # @option params [String] :sse_customer_algorithm
6171
+ # Specifies the algorithm to use when encrypting the object (for
6172
+ # example, AES256).
6173
+ #
6174
+ # @option params [String] :sse_customer_key
6175
+ # Specifies the customer-provided encryption key for Amazon S3 to use in
6176
+ # encrypting data. This value is used to store the object and then it is
6177
+ # discarded; Amazon S3 does not store the encryption key. The key must
6178
+ # be appropriate for use with the algorithm specified in the
6179
+ # `x-amz-server-side-encryption-customer-algorithm` header.
6180
+ #
6181
+ # @option params [String] :sse_customer_key_md5
6182
+ # Specifies the 128-bit MD5 digest of the encryption key according to
6183
+ # RFC 1321. Amazon S3 uses this header for a message integrity check to
6184
+ # ensure that the encryption key was transmitted without error.
5886
6185
  #
5887
6186
  # @option params [String] :request_payer
5888
6187
  # Confirms that the requester knows that they will be charged for the
5889
6188
  # request. Bucket owners need not specify this parameter in their
5890
- # requests. For information about downloading objects from requester
5891
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
6189
+ # requests. For information about downloading objects from Requester
6190
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
5892
6191
  # in the *Amazon S3 User Guide*.
5893
6192
  #
5894
6193
  #
@@ -5897,47 +6196,96 @@ module Aws::S3
5897
6196
  #
5898
6197
  # @option params [String] :expected_bucket_owner
5899
6198
  # The account ID of the expected bucket owner. If the bucket is owned by
5900
- # a different account, the request will fail with an HTTP `403 (Access
5901
- # Denied)` error.
5902
- #
5903
- # @return [Types::GetObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5904
- #
5905
- # * {Types::GetObjectLegalHoldOutput#legal_hold #legal_hold} => Types::ObjectLockLegalHold
6199
+ # a different account, the request fails with the HTTP status code `403
6200
+ # Forbidden` (access denied).
6201
+ #
6202
+ # @option params [required, Array<String>] :object_attributes
6203
+ # An XML header that specifies the fields at the root level that you
6204
+ # want returned in the response. Fields that you do not specify are not
6205
+ # returned.
6206
+ #
6207
+ # @return [Types::GetObjectAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6208
+ #
6209
+ # * {Types::GetObjectAttributesOutput#delete_marker #delete_marker} => Boolean
6210
+ # * {Types::GetObjectAttributesOutput#last_modified #last_modified} => Time
6211
+ # * {Types::GetObjectAttributesOutput#version_id #version_id} => String
6212
+ # * {Types::GetObjectAttributesOutput#request_charged #request_charged} => String
6213
+ # * {Types::GetObjectAttributesOutput#etag #etag} => String
6214
+ # * {Types::GetObjectAttributesOutput#checksum #checksum} => Types::Checksum
6215
+ # * {Types::GetObjectAttributesOutput#object_parts #object_parts} => Types::GetObjectAttributesParts
6216
+ # * {Types::GetObjectAttributesOutput#storage_class #storage_class} => String
6217
+ # * {Types::GetObjectAttributesOutput#object_size #object_size} => Integer
5906
6218
  #
5907
6219
  # @example Request syntax with placeholder values
5908
6220
  #
5909
- # resp = client.get_object_legal_hold({
6221
+ # resp = client.get_object_attributes({
5910
6222
  # bucket: "BucketName", # required
5911
6223
  # key: "ObjectKey", # required
5912
6224
  # version_id: "ObjectVersionId",
6225
+ # max_parts: 1,
6226
+ # part_number_marker: 1,
6227
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
6228
+ # sse_customer_key: "SSECustomerKey",
6229
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
5913
6230
  # request_payer: "requester", # accepts requester
5914
6231
  # expected_bucket_owner: "AccountId",
6232
+ # object_attributes: ["ETag"], # required, accepts ETag, Checksum, ObjectParts, StorageClass, ObjectSize
5915
6233
  # })
5916
6234
  #
5917
6235
  # @example Response structure
5918
6236
  #
5919
- # resp.legal_hold.status #=> String, one of "ON", "OFF"
6237
+ # resp.delete_marker #=> Boolean
6238
+ # resp.last_modified #=> Time
6239
+ # resp.version_id #=> String
6240
+ # resp.request_charged #=> String, one of "requester"
6241
+ # resp.etag #=> String
6242
+ # resp.checksum.checksum_crc32 #=> String
6243
+ # resp.checksum.checksum_crc32c #=> String
6244
+ # resp.checksum.checksum_sha1 #=> String
6245
+ # resp.checksum.checksum_sha256 #=> String
6246
+ # resp.object_parts.total_parts_count #=> Integer
6247
+ # resp.object_parts.part_number_marker #=> Integer
6248
+ # resp.object_parts.next_part_number_marker #=> Integer
6249
+ # resp.object_parts.max_parts #=> Integer
6250
+ # resp.object_parts.is_truncated #=> Boolean
6251
+ # resp.object_parts.parts #=> Array
6252
+ # resp.object_parts.parts[0].part_number #=> Integer
6253
+ # resp.object_parts.parts[0].size #=> Integer
6254
+ # resp.object_parts.parts[0].checksum_crc32 #=> String
6255
+ # resp.object_parts.parts[0].checksum_crc32c #=> String
6256
+ # resp.object_parts.parts[0].checksum_sha1 #=> String
6257
+ # resp.object_parts.parts[0].checksum_sha256 #=> String
6258
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
6259
+ # resp.object_size #=> Integer
5920
6260
  #
5921
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold AWS API Documentation
6261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes AWS API Documentation
5922
6262
  #
5923
- # @overload get_object_legal_hold(params = {})
6263
+ # @overload get_object_attributes(params = {})
5924
6264
  # @param [Hash] params ({})
5925
- def get_object_legal_hold(params = {}, options = {})
5926
- req = build_request(:get_object_legal_hold, params)
6265
+ def get_object_attributes(params = {}, options = {})
6266
+ req = build_request(:get_object_attributes, params)
5927
6267
  req.send_request(options)
5928
6268
  end
5929
6269
 
5930
- # Gets the Object Lock configuration for a bucket. The rule specified in
5931
- # the Object Lock configuration will be applied by default to every new
5932
- # object placed in the specified bucket. For more information, see
6270
+ # Gets an object's current legal hold status. For more information, see
5933
6271
  # [Locking Objects][1].
5934
6272
  #
6273
+ # This action is not supported by Amazon S3 on Outposts.
6274
+ #
6275
+ # The following action is related to `GetObjectLegalHold`\:
6276
+ #
6277
+ # * [GetObjectAttributes][2]
6278
+ #
6279
+ # ^
6280
+ #
5935
6281
  #
5936
6282
  #
5937
6283
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
6284
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
5938
6285
  #
5939
6286
  # @option params [required, String] :bucket
5940
- # The bucket whose Object Lock configuration you want to retrieve.
6287
+ # The bucket name containing the object whose legal hold status you want
6288
+ # to retrieve.
5941
6289
  #
5942
6290
  # When using this action with an access point, you must direct requests
5943
6291
  # to the access point hostname. The access point hostname takes the form
@@ -5951,18 +6299,100 @@ module Aws::S3
5951
6299
  #
5952
6300
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
5953
6301
  #
6302
+ # @option params [required, String] :key
6303
+ # The key name for the object whose legal hold status you want to
6304
+ # retrieve.
6305
+ #
6306
+ # @option params [String] :version_id
6307
+ # The version ID of the object whose legal hold status you want to
6308
+ # retrieve.
6309
+ #
6310
+ # @option params [String] :request_payer
6311
+ # Confirms that the requester knows that they will be charged for the
6312
+ # request. Bucket owners need not specify this parameter in their
6313
+ # requests. For information about downloading objects from Requester
6314
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6315
+ # in the *Amazon S3 User Guide*.
6316
+ #
6317
+ #
6318
+ #
6319
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
6320
+ #
5954
6321
  # @option params [String] :expected_bucket_owner
5955
6322
  # The account ID of the expected bucket owner. If the bucket is owned by
5956
- # a different account, the request will fail with an HTTP `403 (Access
5957
- # Denied)` error.
6323
+ # a different account, the request fails with the HTTP status code `403
6324
+ # Forbidden` (access denied).
5958
6325
  #
5959
- # @return [Types::GetObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6326
+ # @return [Types::GetObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5960
6327
  #
5961
- # * {Types::GetObjectLockConfigurationOutput#object_lock_configuration #object_lock_configuration} => Types::ObjectLockConfiguration
6328
+ # * {Types::GetObjectLegalHoldOutput#legal_hold #legal_hold} => Types::ObjectLockLegalHold
5962
6329
  #
5963
6330
  # @example Request syntax with placeholder values
5964
6331
  #
5965
- # resp = client.get_object_lock_configuration({
6332
+ # resp = client.get_object_legal_hold({
6333
+ # bucket: "BucketName", # required
6334
+ # key: "ObjectKey", # required
6335
+ # version_id: "ObjectVersionId",
6336
+ # request_payer: "requester", # accepts requester
6337
+ # expected_bucket_owner: "AccountId",
6338
+ # })
6339
+ #
6340
+ # @example Response structure
6341
+ #
6342
+ # resp.legal_hold.status #=> String, one of "ON", "OFF"
6343
+ #
6344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold AWS API Documentation
6345
+ #
6346
+ # @overload get_object_legal_hold(params = {})
6347
+ # @param [Hash] params ({})
6348
+ def get_object_legal_hold(params = {}, options = {})
6349
+ req = build_request(:get_object_legal_hold, params)
6350
+ req.send_request(options)
6351
+ end
6352
+
6353
+ # Gets the Object Lock configuration for a bucket. The rule specified in
6354
+ # the Object Lock configuration will be applied by default to every new
6355
+ # object placed in the specified bucket. For more information, see
6356
+ # [Locking Objects][1].
6357
+ #
6358
+ # The following action is related to `GetObjectLockConfiguration`\:
6359
+ #
6360
+ # * [GetObjectAttributes][2]
6361
+ #
6362
+ # ^
6363
+ #
6364
+ #
6365
+ #
6366
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
6367
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
6368
+ #
6369
+ # @option params [required, String] :bucket
6370
+ # The bucket whose Object Lock configuration you want to retrieve.
6371
+ #
6372
+ # When using this action with an access point, you must direct requests
6373
+ # to the access point hostname. The access point hostname takes the form
6374
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6375
+ # When using this action with an access point through the Amazon Web
6376
+ # Services SDKs, you provide the access point ARN in place of the bucket
6377
+ # name. For more information about access point ARNs, see [Using access
6378
+ # points][1] in the *Amazon S3 User Guide*.
6379
+ #
6380
+ #
6381
+ #
6382
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
6383
+ #
6384
+ # @option params [String] :expected_bucket_owner
6385
+ # The account ID of the expected bucket owner. If the bucket is owned by
6386
+ # a different account, the request fails with the HTTP status code `403
6387
+ # Forbidden` (access denied).
6388
+ #
6389
+ # @return [Types::GetObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6390
+ #
6391
+ # * {Types::GetObjectLockConfigurationOutput#object_lock_configuration #object_lock_configuration} => Types::ObjectLockConfiguration
6392
+ #
6393
+ # @example Request syntax with placeholder values
6394
+ #
6395
+ # resp = client.get_object_lock_configuration({
5966
6396
  # bucket: "BucketName", # required
5967
6397
  # expected_bucket_owner: "AccountId",
5968
6398
  # })
@@ -5988,9 +6418,16 @@ module Aws::S3
5988
6418
  #
5989
6419
  # This action is not supported by Amazon S3 on Outposts.
5990
6420
  #
6421
+ # The following action is related to `GetObjectRetention`\:
6422
+ #
6423
+ # * [GetObjectAttributes][2]
6424
+ #
6425
+ # ^
6426
+ #
5991
6427
  #
5992
6428
  #
5993
6429
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
6430
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
5994
6431
  #
5995
6432
  # @option params [required, String] :bucket
5996
6433
  # The bucket name containing the object whose retention settings you
@@ -6019,8 +6456,8 @@ module Aws::S3
6019
6456
  # @option params [String] :request_payer
6020
6457
  # Confirms that the requester knows that they will be charged for the
6021
6458
  # request. Bucket owners need not specify this parameter in their
6022
- # requests. For information about downloading objects from requester
6023
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
6459
+ # requests. For information about downloading objects from Requester
6460
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6024
6461
  # in the *Amazon S3 User Guide*.
6025
6462
  #
6026
6463
  #
@@ -6029,8 +6466,8 @@ module Aws::S3
6029
6466
  #
6030
6467
  # @option params [String] :expected_bucket_owner
6031
6468
  # The account ID of the expected bucket owner. If the bucket is owned by
6032
- # a different account, the request will fail with an HTTP `403 (Access
6033
- # Denied)` error.
6469
+ # a different account, the request fails with the HTTP status code `403
6470
+ # Forbidden` (access denied).
6034
6471
  #
6035
6472
  # @return [Types::GetObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6036
6473
  #
@@ -6076,17 +6513,20 @@ module Aws::S3
6076
6513
  # For information about the Amazon S3 object tagging feature, see
6077
6514
  # [Object Tagging][1].
6078
6515
  #
6079
- # The following action is related to `GetObjectTagging`\:
6516
+ # The following actions are related to `GetObjectTagging`\:
6080
6517
  #
6081
- # * [PutObjectTagging][2]
6518
+ # * [DeleteObjectTagging][2]
6082
6519
  #
6083
- # * [DeleteObjectTagging][3]
6520
+ # * [GetObjectAttributes][3]
6521
+ #
6522
+ # * [PutObjectTagging][4]
6084
6523
  #
6085
6524
  #
6086
6525
  #
6087
6526
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
6088
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
6089
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html
6527
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html
6528
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
6529
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
6090
6530
  #
6091
6531
  # @option params [required, String] :bucket
6092
6532
  # The bucket name containing the object for which to get the tagging
@@ -6102,12 +6542,12 @@ module Aws::S3
6102
6542
  #
6103
6543
  # When using this action with Amazon S3 on Outposts, you must direct
6104
6544
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6105
- # takes the form
6106
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6107
- # When using this action using S3 on Outposts through the Amazon Web
6545
+ # takes the form `
6546
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6547
+ # When using this action with S3 on Outposts through the Amazon Web
6108
6548
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6109
6549
  # bucket name. For more information about S3 on Outposts ARNs, see
6110
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
6550
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6111
6551
  #
6112
6552
  #
6113
6553
  #
@@ -6122,14 +6562,14 @@ module Aws::S3
6122
6562
  #
6123
6563
  # @option params [String] :expected_bucket_owner
6124
6564
  # The account ID of the expected bucket owner. If the bucket is owned by
6125
- # a different account, the request will fail with an HTTP `403 (Access
6126
- # Denied)` error.
6565
+ # a different account, the request fails with the HTTP status code `403
6566
+ # Forbidden` (access denied).
6127
6567
  #
6128
6568
  # @option params [String] :request_payer
6129
6569
  # Confirms that the requester knows that they will be charged for the
6130
6570
  # request. Bucket owners need not specify this parameter in their
6131
- # requests. For information about downloading objects from requester
6132
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
6571
+ # requests. For information about downloading objects from Requester
6572
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6133
6573
  # in the *Amazon S3 User Guide*.
6134
6574
  #
6135
6575
  #
@@ -6142,49 +6582,49 @@ module Aws::S3
6142
6582
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
6143
6583
  #
6144
6584
  #
6145
- # @example Example: To retrieve tag set of an object
6585
+ # @example Example: To retrieve tag set of a specific object version
6146
6586
  #
6147
- # # The following example retrieves tag set of an object.
6587
+ # # The following example retrieves tag set of an object. The request specifies object version.
6148
6588
  #
6149
6589
  # resp = client.get_object_tagging({
6150
6590
  # bucket: "examplebucket",
6151
- # key: "HappyFace.jpg",
6591
+ # key: "exampleobject",
6592
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6152
6593
  # })
6153
6594
  #
6154
6595
  # resp.to_h outputs the following:
6155
6596
  # {
6156
6597
  # tag_set: [
6157
6598
  # {
6158
- # key: "Key4",
6159
- # value: "Value4",
6160
- # },
6161
- # {
6162
- # key: "Key3",
6163
- # value: "Value3",
6599
+ # key: "Key1",
6600
+ # value: "Value1",
6164
6601
  # },
6165
6602
  # ],
6166
- # version_id: "null",
6603
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6167
6604
  # }
6168
6605
  #
6169
- # @example Example: To retrieve tag set of a specific object version
6606
+ # @example Example: To retrieve tag set of an object
6170
6607
  #
6171
- # # The following example retrieves tag set of an object. The request specifies object version.
6608
+ # # The following example retrieves tag set of an object.
6172
6609
  #
6173
6610
  # resp = client.get_object_tagging({
6174
6611
  # bucket: "examplebucket",
6175
- # key: "exampleobject",
6176
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6612
+ # key: "HappyFace.jpg",
6177
6613
  # })
6178
6614
  #
6179
6615
  # resp.to_h outputs the following:
6180
6616
  # {
6181
6617
  # tag_set: [
6182
6618
  # {
6183
- # key: "Key1",
6184
- # value: "Value1",
6619
+ # key: "Key4",
6620
+ # value: "Value4",
6621
+ # },
6622
+ # {
6623
+ # key: "Key3",
6624
+ # value: "Value3",
6185
6625
  # },
6186
6626
  # ],
6187
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6627
+ # version_id: "null",
6188
6628
  # }
6189
6629
  #
6190
6630
  # @example Request syntax with placeholder values
@@ -6251,8 +6691,8 @@ module Aws::S3
6251
6691
  # @option params [String] :request_payer
6252
6692
  # Confirms that the requester knows that they will be charged for the
6253
6693
  # request. Bucket owners need not specify this parameter in their
6254
- # requests. For information about downloading objects from requester
6255
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
6694
+ # requests. For information about downloading objects from Requester
6695
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6256
6696
  # in the *Amazon S3 User Guide*.
6257
6697
  #
6258
6698
  #
@@ -6261,8 +6701,8 @@ module Aws::S3
6261
6701
  #
6262
6702
  # @option params [String] :expected_bucket_owner
6263
6703
  # The account ID of the expected bucket owner. If the bucket is owned by
6264
- # a different account, the request will fail with an HTTP `403 (Access
6265
- # Denied)` error.
6704
+ # a different account, the request fails with the HTTP status code `403
6705
+ # Forbidden` (access denied).
6266
6706
  #
6267
6707
  # @return [Types::GetObjectTorrentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6268
6708
  #
@@ -6347,8 +6787,8 @@ module Aws::S3
6347
6787
  #
6348
6788
  # @option params [String] :expected_bucket_owner
6349
6789
  # The account ID of the expected bucket owner. If the bucket is owned by
6350
- # a different account, the request will fail with an HTTP `403 (Access
6351
- # Denied)` error.
6790
+ # a different account, the request fails with the HTTP status code `403
6791
+ # Forbidden` (access denied).
6352
6792
  #
6353
6793
  # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6354
6794
  #
@@ -6420,12 +6860,12 @@ module Aws::S3
6420
6860
  #
6421
6861
  # When using this action with Amazon S3 on Outposts, you must direct
6422
6862
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6423
- # takes the form
6424
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6425
- # When using this action using S3 on Outposts through the Amazon Web
6863
+ # takes the form `
6864
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6865
+ # When using this action with S3 on Outposts through the Amazon Web
6426
6866
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6427
6867
  # bucket name. For more information about S3 on Outposts ARNs, see
6428
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
6868
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6429
6869
  #
6430
6870
  #
6431
6871
  #
@@ -6434,8 +6874,8 @@ module Aws::S3
6434
6874
  #
6435
6875
  # @option params [String] :expected_bucket_owner
6436
6876
  # The account ID of the expected bucket owner. If the bucket is owned by
6437
- # a different account, the request will fail with an HTTP `403 (Access
6438
- # Denied)` error.
6877
+ # a different account, the request fails with the HTTP status code `403
6878
+ # Forbidden` (access denied).
6439
6879
  #
6440
6880
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6441
6881
  #
@@ -6546,11 +6986,11 @@ module Aws::S3
6546
6986
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
6547
6987
  # an HTTP status code 403 ("access denied") error.
6548
6988
  #
6549
- # The following action is related to `HeadObject`\:
6989
+ # The following actions are related to `HeadObject`\:
6550
6990
  #
6551
6991
  # * [GetObject][5]
6552
6992
  #
6553
- # ^
6993
+ # * [GetObjectAttributes][6]
6554
6994
  #
6555
6995
  #
6556
6996
  #
@@ -6559,6 +6999,7 @@ module Aws::S3
6559
6999
  # [3]: https://tools.ietf.org/html/rfc7232
6560
7000
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
6561
7001
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7002
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
6562
7003
  #
6563
7004
  # @option params [required, String] :bucket
6564
7005
  # The name of the bucket containing the object.
@@ -6573,12 +7014,12 @@ module Aws::S3
6573
7014
  #
6574
7015
  # When using this action with Amazon S3 on Outposts, you must direct
6575
7016
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6576
- # takes the form
6577
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6578
- # When using this action using S3 on Outposts through the Amazon Web
7017
+ # takes the form `
7018
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
7019
+ # When using this action with S3 on Outposts through the Amazon Web
6579
7020
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6580
7021
  # bucket name. For more information about S3 on Outposts ARNs, see
6581
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
7022
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6582
7023
  #
6583
7024
  #
6584
7025
  #
@@ -6587,19 +7028,19 @@ module Aws::S3
6587
7028
  #
6588
7029
  # @option params [String] :if_match
6589
7030
  # Return the object only if its entity tag (ETag) is the same as the one
6590
- # specified, otherwise return a 412 (precondition failed).
7031
+ # specified; otherwise, return a 412 (precondition failed) error.
6591
7032
  #
6592
7033
  # @option params [Time,DateTime,Date,Integer,String] :if_modified_since
6593
7034
  # Return the object only if it has been modified since the specified
6594
- # time, otherwise return a 304 (not modified).
7035
+ # time; otherwise, return a 304 (not modified) error.
6595
7036
  #
6596
7037
  # @option params [String] :if_none_match
6597
7038
  # Return the object only if its entity tag (ETag) is different from the
6598
- # one specified, otherwise return a 304 (not modified).
7039
+ # one specified; otherwise, return a 304 (not modified) error.
6599
7040
  #
6600
7041
  # @option params [Time,DateTime,Date,Integer,String] :if_unmodified_since
6601
7042
  # Return the object only if it has not been modified since the specified
6602
- # time, otherwise return a 412 (precondition failed).
7043
+ # time; otherwise, return a 412 (precondition failed) error.
6603
7044
  #
6604
7045
  # @option params [required, String] :key
6605
7046
  # The object key.
@@ -6630,8 +7071,8 @@ module Aws::S3
6630
7071
  # @option params [String] :request_payer
6631
7072
  # Confirms that the requester knows that they will be charged for the
6632
7073
  # request. Bucket owners need not specify this parameter in their
6633
- # requests. For information about downloading objects from requester
6634
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
7074
+ # requests. For information about downloading objects from Requester
7075
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6635
7076
  # in the *Amazon S3 User Guide*.
6636
7077
  #
6637
7078
  #
@@ -6646,8 +7087,16 @@ module Aws::S3
6646
7087
  #
6647
7088
  # @option params [String] :expected_bucket_owner
6648
7089
  # The account ID of the expected bucket owner. If the bucket is owned by
6649
- # a different account, the request will fail with an HTTP `403 (Access
6650
- # Denied)` error.
7090
+ # a different account, the request fails with the HTTP status code `403
7091
+ # Forbidden` (access denied).
7092
+ #
7093
+ # @option params [String] :checksum_mode
7094
+ # To retrieve the checksum, this parameter must be enabled.
7095
+ #
7096
+ # In addition, if you enable `ChecksumMode` and the object is encrypted
7097
+ # with Amazon Web Services Key Management Service (Amazon Web Services
7098
+ # KMS), you must have permission to use the `kms:Decrypt` action for the
7099
+ # request to succeed.
6651
7100
  #
6652
7101
  # @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6653
7102
  #
@@ -6658,6 +7107,10 @@ module Aws::S3
6658
7107
  # * {Types::HeadObjectOutput#archive_status #archive_status} => String
6659
7108
  # * {Types::HeadObjectOutput#last_modified #last_modified} => Time
6660
7109
  # * {Types::HeadObjectOutput#content_length #content_length} => Integer
7110
+ # * {Types::HeadObjectOutput#checksum_crc32 #checksum_crc32} => String
7111
+ # * {Types::HeadObjectOutput#checksum_crc32c #checksum_crc32c} => String
7112
+ # * {Types::HeadObjectOutput#checksum_sha1 #checksum_sha1} => String
7113
+ # * {Types::HeadObjectOutput#checksum_sha256 #checksum_sha256} => String
6661
7114
  # * {Types::HeadObjectOutput#etag #etag} => String
6662
7115
  # * {Types::HeadObjectOutput#missing_meta #missing_meta} => Integer
6663
7116
  # * {Types::HeadObjectOutput#version_id #version_id} => String
@@ -6722,6 +7175,7 @@ module Aws::S3
6722
7175
  # request_payer: "requester", # accepts requester
6723
7176
  # part_number: 1,
6724
7177
  # expected_bucket_owner: "AccountId",
7178
+ # checksum_mode: "ENABLED", # accepts ENABLED
6725
7179
  # })
6726
7180
  #
6727
7181
  # @example Response structure
@@ -6733,6 +7187,10 @@ module Aws::S3
6733
7187
  # resp.archive_status #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
6734
7188
  # resp.last_modified #=> Time
6735
7189
  # resp.content_length #=> Integer
7190
+ # resp.checksum_crc32 #=> String
7191
+ # resp.checksum_crc32c #=> String
7192
+ # resp.checksum_sha1 #=> String
7193
+ # resp.checksum_sha256 #=> String
6736
7194
  # resp.etag #=> String
6737
7195
  # resp.missing_meta #=> Integer
6738
7196
  # resp.version_id #=> String
@@ -6824,8 +7282,8 @@ module Aws::S3
6824
7282
  #
6825
7283
  # @option params [String] :expected_bucket_owner
6826
7284
  # The account ID of the expected bucket owner. If the bucket is owned by
6827
- # a different account, the request will fail with an HTTP `403 (Access
6828
- # Denied)` error.
7285
+ # a different account, the request fails with the HTTP status code `403
7286
+ # Forbidden` (access denied).
6829
7287
  #
6830
7288
  # @return [Types::ListBucketAnalyticsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6831
7289
  #
@@ -6914,7 +7372,7 @@ module Aws::S3
6914
7372
  # modify or retrieve.
6915
7373
  #
6916
7374
  # @option params [String] :continuation_token
6917
- # The ContinuationToken that represents a placeholder from where this
7375
+ # The `ContinuationToken` that represents a placeholder from where this
6918
7376
  # request should begin.
6919
7377
  #
6920
7378
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -7011,8 +7469,8 @@ module Aws::S3
7011
7469
  #
7012
7470
  # @option params [String] :expected_bucket_owner
7013
7471
  # The account ID of the expected bucket owner. If the bucket is owned by
7014
- # a different account, the request will fail with an HTTP `403 (Access
7015
- # Denied)` error.
7472
+ # a different account, the request fails with the HTTP status code `403
7473
+ # Forbidden` (access denied).
7016
7474
  #
7017
7475
  # @return [Types::ListBucketInventoryConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7018
7476
  #
@@ -7043,7 +7501,7 @@ module Aws::S3
7043
7501
  # resp.inventory_configuration_list[0].id #=> String
7044
7502
  # resp.inventory_configuration_list[0].included_object_versions #=> String, one of "All", "Current"
7045
7503
  # resp.inventory_configuration_list[0].optional_fields #=> Array
7046
- # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus"
7504
+ # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm"
7047
7505
  # resp.inventory_configuration_list[0].schedule.frequency #=> String, one of "Daily", "Weekly"
7048
7506
  # resp.is_truncated #=> Boolean
7049
7507
  # resp.next_continuation_token #=> String
@@ -7111,8 +7569,8 @@ module Aws::S3
7111
7569
  #
7112
7570
  # @option params [String] :expected_bucket_owner
7113
7571
  # The account ID of the expected bucket owner. If the bucket is owned by
7114
- # a different account, the request will fail with an HTTP `403 (Access
7115
- # Denied)` error.
7572
+ # a different account, the request fails with the HTTP status code `403
7573
+ # Forbidden` (access denied).
7116
7574
  #
7117
7575
  # @return [Types::ListBucketMetricsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7118
7576
  #
@@ -7156,7 +7614,8 @@ module Aws::S3
7156
7614
  end
7157
7615
 
7158
7616
  # Returns a list of all buckets owned by the authenticated sender of the
7159
- # request.
7617
+ # request. To use this operation, you must have the
7618
+ # `s3:ListAllMyBuckets` permission.
7160
7619
  #
7161
7620
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7162
7621
  #
@@ -7273,12 +7732,12 @@ module Aws::S3
7273
7732
  #
7274
7733
  # When using this action with Amazon S3 on Outposts, you must direct
7275
7734
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7276
- # takes the form
7277
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7278
- # When using this action using S3 on Outposts through the Amazon Web
7735
+ # takes the form `
7736
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
7737
+ # When using this action with S3 on Outposts through the Amazon Web
7279
7738
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7280
7739
  # bucket name. For more information about S3 on Outposts ARNs, see
7281
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
7740
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7282
7741
  #
7283
7742
  #
7284
7743
  #
@@ -7337,8 +7796,8 @@ module Aws::S3
7337
7796
  #
7338
7797
  # @option params [String] :expected_bucket_owner
7339
7798
  # The account ID of the expected bucket owner. If the bucket is owned by
7340
- # a different account, the request will fail with an HTTP `403 (Access
7341
- # Denied)` error.
7799
+ # a different account, the request fails with the HTTP status code `403
7800
+ # Forbidden` (access denied).
7342
7801
  #
7343
7802
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7344
7803
  #
@@ -7358,97 +7817,97 @@ module Aws::S3
7358
7817
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7359
7818
  #
7360
7819
  #
7361
- # @example Example: List next set of multipart uploads when previous result is truncated
7820
+ # @example Example: To list in-progress multipart uploads on a bucket
7362
7821
  #
7363
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7364
- # # setup of multipart uploads.
7822
+ # # The following example lists in-progress multipart uploads on a specific bucket.
7365
7823
  #
7366
7824
  # resp = client.list_multipart_uploads({
7367
7825
  # bucket: "examplebucket",
7368
- # key_marker: "nextkeyfrompreviousresponse",
7369
- # max_uploads: 2,
7370
- # upload_id_marker: "valuefrompreviousresponse",
7371
7826
  # })
7372
7827
  #
7373
7828
  # resp.to_h outputs the following:
7374
7829
  # {
7375
- # bucket: "acl1",
7376
- # is_truncated: true,
7377
- # key_marker: "",
7378
- # max_uploads: 2,
7379
- # next_key_marker: "someobjectkey",
7380
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7381
- # upload_id_marker: "",
7382
7830
  # uploads: [
7383
7831
  # {
7384
7832
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7385
7833
  # initiator: {
7386
- # display_name: "ownder-display-name",
7834
+ # display_name: "display-name",
7387
7835
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7388
7836
  # },
7389
7837
  # key: "JavaFile",
7390
7838
  # owner: {
7391
- # display_name: "mohanataws",
7392
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7839
+ # display_name: "display-name",
7840
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7393
7841
  # },
7394
7842
  # storage_class: "STANDARD",
7395
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7843
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7396
7844
  # },
7397
7845
  # {
7398
7846
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7399
7847
  # initiator: {
7400
- # display_name: "ownder-display-name",
7848
+ # display_name: "display-name",
7401
7849
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7402
7850
  # },
7403
7851
  # key: "JavaFile",
7404
7852
  # owner: {
7405
- # display_name: "ownder-display-name",
7853
+ # display_name: "display-name",
7406
7854
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7407
7855
  # },
7408
7856
  # storage_class: "STANDARD",
7409
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7857
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7410
7858
  # },
7411
7859
  # ],
7412
7860
  # }
7413
7861
  #
7414
- # @example Example: To list in-progress multipart uploads on a bucket
7862
+ # @example Example: List next set of multipart uploads when previous result is truncated
7415
7863
  #
7416
- # # The following example lists in-progress multipart uploads on a specific bucket.
7864
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7865
+ # # setup of multipart uploads.
7417
7866
  #
7418
7867
  # resp = client.list_multipart_uploads({
7419
7868
  # bucket: "examplebucket",
7869
+ # key_marker: "nextkeyfrompreviousresponse",
7870
+ # max_uploads: 2,
7871
+ # upload_id_marker: "valuefrompreviousresponse",
7420
7872
  # })
7421
7873
  #
7422
7874
  # resp.to_h outputs the following:
7423
7875
  # {
7876
+ # bucket: "acl1",
7877
+ # is_truncated: true,
7878
+ # key_marker: "",
7879
+ # max_uploads: 2,
7880
+ # next_key_marker: "someobjectkey",
7881
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7882
+ # upload_id_marker: "",
7424
7883
  # uploads: [
7425
7884
  # {
7426
7885
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7427
7886
  # initiator: {
7428
- # display_name: "display-name",
7887
+ # display_name: "ownder-display-name",
7429
7888
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7430
7889
  # },
7431
7890
  # key: "JavaFile",
7432
7891
  # owner: {
7433
- # display_name: "display-name",
7434
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7892
+ # display_name: "mohanataws",
7893
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7435
7894
  # },
7436
7895
  # storage_class: "STANDARD",
7437
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7896
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7438
7897
  # },
7439
7898
  # {
7440
7899
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7441
7900
  # initiator: {
7442
- # display_name: "display-name",
7901
+ # display_name: "ownder-display-name",
7443
7902
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7444
7903
  # },
7445
7904
  # key: "JavaFile",
7446
7905
  # owner: {
7447
- # display_name: "display-name",
7906
+ # display_name: "ownder-display-name",
7448
7907
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7449
7908
  # },
7450
7909
  # storage_class: "STANDARD",
7451
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7910
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7452
7911
  # },
7453
7912
  # ],
7454
7913
  # }
@@ -7486,6 +7945,7 @@ module Aws::S3
7486
7945
  # resp.uploads[0].owner.id #=> String
7487
7946
  # resp.uploads[0].initiator.id #=> String
7488
7947
  # resp.uploads[0].initiator.display_name #=> String
7948
+ # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
7489
7949
  # resp.common_prefixes #=> Array
7490
7950
  # resp.common_prefixes[0].prefix #=> String
7491
7951
  # resp.encoding_type #=> String, one of "url"
@@ -7576,8 +8036,8 @@ module Aws::S3
7576
8036
  #
7577
8037
  # @option params [String] :expected_bucket_owner
7578
8038
  # The account ID of the expected bucket owner. If the bucket is owned by
7579
- # a different account, the request will fail with an HTTP `403 (Access
7580
- # Denied)` error.
8039
+ # a different account, the request fails with the HTTP status code `403
8040
+ # Forbidden` (access denied).
7581
8041
  #
7582
8042
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7583
8043
  #
@@ -7663,6 +8123,8 @@ module Aws::S3
7663
8123
  # resp.next_version_id_marker #=> String
7664
8124
  # resp.versions #=> Array
7665
8125
  # resp.versions[0].etag #=> String
8126
+ # resp.versions[0].checksum_algorithm #=> Array
8127
+ # resp.versions[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
7666
8128
  # resp.versions[0].size #=> Integer
7667
8129
  # resp.versions[0].storage_class #=> String, one of "STANDARD"
7668
8130
  # resp.versions[0].key #=> String
@@ -7738,12 +8200,12 @@ module Aws::S3
7738
8200
  #
7739
8201
  # When using this action with Amazon S3 on Outposts, you must direct
7740
8202
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7741
- # takes the form
7742
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7743
- # When using this action using S3 on Outposts through the Amazon Web
8203
+ # takes the form `
8204
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8205
+ # When using this action with S3 on Outposts through the Amazon Web
7744
8206
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7745
8207
  # bucket name. For more information about S3 on Outposts ARNs, see
7746
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8208
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7747
8209
  #
7748
8210
  #
7749
8211
  #
@@ -7781,8 +8243,8 @@ module Aws::S3
7781
8243
  #
7782
8244
  # @option params [String] :expected_bucket_owner
7783
8245
  # The account ID of the expected bucket owner. If the bucket is owned by
7784
- # a different account, the request will fail with an HTTP `403 (Access
7785
- # Denied)` error.
8246
+ # a different account, the request fails with the HTTP status code `403
8247
+ # Forbidden` (access denied).
7786
8248
  #
7787
8249
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7788
8250
  #
@@ -7860,6 +8322,8 @@ module Aws::S3
7860
8322
  # resp.contents[0].key #=> String
7861
8323
  # resp.contents[0].last_modified #=> Time
7862
8324
  # resp.contents[0].etag #=> String
8325
+ # resp.contents[0].checksum_algorithm #=> Array
8326
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
7863
8327
  # resp.contents[0].size #=> Integer
7864
8328
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
7865
8329
  # resp.contents[0].owner.display_name #=> String
@@ -7938,12 +8402,12 @@ module Aws::S3
7938
8402
  #
7939
8403
  # When using this action with Amazon S3 on Outposts, you must direct
7940
8404
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7941
- # takes the form
7942
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7943
- # When using this action using S3 on Outposts through the Amazon Web
8405
+ # takes the form `
8406
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8407
+ # When using this action with S3 on Outposts through the Amazon Web
7944
8408
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7945
8409
  # bucket name. For more information about S3 on Outposts ARNs, see
7946
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8410
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7947
8411
  #
7948
8412
  #
7949
8413
  #
@@ -7986,8 +8450,8 @@ module Aws::S3
7986
8450
  #
7987
8451
  # @option params [String] :expected_bucket_owner
7988
8452
  # The account ID of the expected bucket owner. If the bucket is owned by
7989
- # a different account, the request will fail with an HTTP `403 (Access
7990
- # Denied)` error.
8453
+ # a different account, the request fails with the HTTP status code `403
8454
+ # Forbidden` (access denied).
7991
8455
  #
7992
8456
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7993
8457
  #
@@ -8065,6 +8529,8 @@ module Aws::S3
8065
8529
  # resp.contents[0].key #=> String
8066
8530
  # resp.contents[0].last_modified #=> Time
8067
8531
  # resp.contents[0].etag #=> String
8532
+ # resp.contents[0].checksum_algorithm #=> Array
8533
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
8068
8534
  # resp.contents[0].size #=> Integer
8069
8535
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
8070
8536
  # resp.contents[0].owner.display_name #=> String
@@ -8103,6 +8569,10 @@ module Aws::S3
8103
8569
  # query string parameter and set its value to the `NextPartNumberMarker`
8104
8570
  # field value from the previous response.
8105
8571
  #
8572
+ # If the upload was created using a checksum algorithm, you will need to
8573
+ # have permission to the `kms:Decrypt` action for the request to
8574
+ # succeed.
8575
+ #
8106
8576
  # For more information on multipart uploads, see [Uploading Objects
8107
8577
  # Using Multipart Upload][2].
8108
8578
  #
@@ -8119,7 +8589,9 @@ module Aws::S3
8119
8589
  #
8120
8590
  # * [AbortMultipartUpload][6]
8121
8591
  #
8122
- # * [ListMultipartUploads][7]
8592
+ # * [GetObjectAttributes][7]
8593
+ #
8594
+ # * [ListMultipartUploads][8]
8123
8595
  #
8124
8596
  #
8125
8597
  #
@@ -8129,7 +8601,8 @@ module Aws::S3
8129
8601
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
8130
8602
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
8131
8603
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
8132
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
8604
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
8605
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
8133
8606
  #
8134
8607
  # @option params [required, String] :bucket
8135
8608
  # The name of the bucket to which the parts are being uploaded.
@@ -8144,12 +8617,12 @@ module Aws::S3
8144
8617
  #
8145
8618
  # When using this action with Amazon S3 on Outposts, you must direct
8146
8619
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8147
- # takes the form
8148
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8149
- # When using this action using S3 on Outposts through the Amazon Web
8620
+ # takes the form `
8621
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8622
+ # When using this action with S3 on Outposts through the Amazon Web
8150
8623
  # Services SDKs, you provide the Outposts bucket ARN in place of the
8151
8624
  # bucket name. For more information about S3 on Outposts ARNs, see
8152
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8625
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8153
8626
  #
8154
8627
  #
8155
8628
  #
@@ -8173,8 +8646,8 @@ module Aws::S3
8173
8646
  # @option params [String] :request_payer
8174
8647
  # Confirms that the requester knows that they will be charged for the
8175
8648
  # request. Bucket owners need not specify this parameter in their
8176
- # requests. For information about downloading objects from requester
8177
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
8649
+ # requests. For information about downloading objects from Requester
8650
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8178
8651
  # in the *Amazon S3 User Guide*.
8179
8652
  #
8180
8653
  #
@@ -8183,8 +8656,38 @@ module Aws::S3
8183
8656
  #
8184
8657
  # @option params [String] :expected_bucket_owner
8185
8658
  # The account ID of the expected bucket owner. If the bucket is owned by
8186
- # a different account, the request will fail with an HTTP `403 (Access
8187
- # Denied)` error.
8659
+ # a different account, the request fails with the HTTP status code `403
8660
+ # Forbidden` (access denied).
8661
+ #
8662
+ # @option params [String] :sse_customer_algorithm
8663
+ # The server-side encryption (SSE) algorithm used to encrypt the object.
8664
+ # This parameter is needed only when the object was created using a
8665
+ # checksum algorithm. For more information, see [Protecting data using
8666
+ # SSE-C keys][1] in the *Amazon S3 User Guide*.
8667
+ #
8668
+ #
8669
+ #
8670
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8671
+ #
8672
+ # @option params [String] :sse_customer_key
8673
+ # The server-side encryption (SSE) customer managed key. This parameter
8674
+ # is needed only when the object was created using a checksum algorithm.
8675
+ # For more information, see [Protecting data using SSE-C keys][1] in the
8676
+ # *Amazon S3 User Guide*.
8677
+ #
8678
+ #
8679
+ #
8680
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8681
+ #
8682
+ # @option params [String] :sse_customer_key_md5
8683
+ # The MD5 server-side encryption (SSE) customer managed key. This
8684
+ # parameter is needed only when the object was created using a checksum
8685
+ # algorithm. For more information, see [Protecting data using SSE-C
8686
+ # keys][1] in the *Amazon S3 User Guide*.
8687
+ #
8688
+ #
8689
+ #
8690
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8188
8691
  #
8189
8692
  # @return [Types::ListPartsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8190
8693
  #
@@ -8202,6 +8705,7 @@ module Aws::S3
8202
8705
  # * {Types::ListPartsOutput#owner #owner} => Types::Owner
8203
8706
  # * {Types::ListPartsOutput#storage_class #storage_class} => String
8204
8707
  # * {Types::ListPartsOutput#request_charged #request_charged} => String
8708
+ # * {Types::ListPartsOutput#checksum_algorithm #checksum_algorithm} => String
8205
8709
  #
8206
8710
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8207
8711
  #
@@ -8253,6 +8757,9 @@ module Aws::S3
8253
8757
  # upload_id: "MultipartUploadId", # required
8254
8758
  # request_payer: "requester", # accepts requester
8255
8759
  # expected_bucket_owner: "AccountId",
8760
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
8761
+ # sse_customer_key: "SSECustomerKey",
8762
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
8256
8763
  # })
8257
8764
  #
8258
8765
  # @example Response structure
@@ -8271,12 +8778,17 @@ module Aws::S3
8271
8778
  # resp.parts[0].last_modified #=> Time
8272
8779
  # resp.parts[0].etag #=> String
8273
8780
  # resp.parts[0].size #=> Integer
8781
+ # resp.parts[0].checksum_crc32 #=> String
8782
+ # resp.parts[0].checksum_crc32c #=> String
8783
+ # resp.parts[0].checksum_sha1 #=> String
8784
+ # resp.parts[0].checksum_sha256 #=> String
8274
8785
  # resp.initiator.id #=> String
8275
8786
  # resp.initiator.display_name #=> String
8276
8787
  # resp.owner.display_name #=> String
8277
8788
  # resp.owner.id #=> String
8278
8789
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
8279
8790
  # resp.request_charged #=> String, one of "requester"
8791
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
8280
8792
  #
8281
8793
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
8282
8794
  #
@@ -8292,7 +8804,7 @@ module Aws::S3
8292
8804
  # perform faster data transfers to Amazon S3.
8293
8805
  #
8294
8806
  # To use this operation, you must have permission to perform the
8295
- # s3:PutAccelerateConfiguration action. The bucket owner has this
8807
+ # `s3:PutAccelerateConfiguration` action. The bucket owner has this
8296
8808
  # permission by default. The bucket owner can grant this permission to
8297
8809
  # others. For more information about permissions, see [Permissions
8298
8810
  # Related to Bucket Subresource Operations][1] and [Managing Access
@@ -8341,8 +8853,24 @@ module Aws::S3
8341
8853
  #
8342
8854
  # @option params [String] :expected_bucket_owner
8343
8855
  # The account ID of the expected bucket owner. If the bucket is owned by
8344
- # a different account, the request will fail with an HTTP `403 (Access
8345
- # Denied)` error.
8856
+ # a different account, the request fails with the HTTP status code `403
8857
+ # Forbidden` (access denied).
8858
+ #
8859
+ # @option params [String] :checksum_algorithm
8860
+ # Indicates the algorithm used to create the checksum for the object
8861
+ # when using the SDK. This header will not provide any additional
8862
+ # functionality if not using the SDK. When sending this header, there
8863
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
8864
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
8865
+ # `400 Bad Request`. For more information, see [Checking object
8866
+ # integrity][1] in the *Amazon S3 User Guide*.
8867
+ #
8868
+ # If you provide an individual checksum, Amazon S3 ignores any provided
8869
+ # `ChecksumAlgorithm` parameter.
8870
+ #
8871
+ #
8872
+ #
8873
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
8346
8874
  #
8347
8875
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8348
8876
  #
@@ -8354,6 +8882,7 @@ module Aws::S3
8354
8882
  # status: "Enabled", # accepts Enabled, Suspended
8355
8883
  # },
8356
8884
  # expected_bucket_owner: "AccountId",
8885
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8357
8886
  # })
8358
8887
  #
8359
8888
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -8556,6 +9085,22 @@ module Aws::S3
8556
9085
  #
8557
9086
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
8558
9087
  #
9088
+ # @option params [String] :checksum_algorithm
9089
+ # Indicates the algorithm used to create the checksum for the object
9090
+ # when using the SDK. This header will not provide any additional
9091
+ # functionality if not using the SDK. When sending this header, there
9092
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
9093
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
9094
+ # `400 Bad Request`. For more information, see [Checking object
9095
+ # integrity][1] in the *Amazon S3 User Guide*.
9096
+ #
9097
+ # If you provide an individual checksum, Amazon S3 ignores any provided
9098
+ # `ChecksumAlgorithm` parameter.
9099
+ #
9100
+ #
9101
+ #
9102
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
9103
+ #
8559
9104
  # @option params [String] :grant_full_control
8560
9105
  # Allows grantee the read, write, read ACP, and write ACP permissions on
8561
9106
  # the bucket.
@@ -8577,8 +9122,8 @@ module Aws::S3
8577
9122
  #
8578
9123
  # @option params [String] :expected_bucket_owner
8579
9124
  # The account ID of the expected bucket owner. If the bucket is owned by
8580
- # a different account, the request will fail with an HTTP `403 (Access
8581
- # Denied)` error.
9125
+ # a different account, the request fails with the HTTP status code `403
9126
+ # Forbidden` (access denied).
8582
9127
  #
8583
9128
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8584
9129
  #
@@ -8619,6 +9164,7 @@ module Aws::S3
8619
9164
  # },
8620
9165
  # bucket: "BucketName", # required
8621
9166
  # content_md5: "ContentMD5",
9167
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8622
9168
  # grant_full_control: "GrantFullControl",
8623
9169
  # grant_read: "GrantRead",
8624
9170
  # grant_read_acp: "GrantReadACP",
@@ -8715,8 +9261,8 @@ module Aws::S3
8715
9261
  #
8716
9262
  # @option params [String] :expected_bucket_owner
8717
9263
  # The account ID of the expected bucket owner. If the bucket is owned by
8718
- # a different account, the request will fail with an HTTP `403 (Access
8719
- # Denied)` error.
9264
+ # a different account, the request fails with the HTTP status code `403
9265
+ # Forbidden` (access denied).
8720
9266
  #
8721
9267
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8722
9268
  #
@@ -8847,10 +9393,26 @@ module Aws::S3
8847
9393
  #
8848
9394
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
8849
9395
  #
9396
+ # @option params [String] :checksum_algorithm
9397
+ # Indicates the algorithm used to create the checksum for the object
9398
+ # when using the SDK. This header will not provide any additional
9399
+ # functionality if not using the SDK. When sending this header, there
9400
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
9401
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
9402
+ # `400 Bad Request`. For more information, see [Checking object
9403
+ # integrity][1] in the *Amazon S3 User Guide*.
9404
+ #
9405
+ # If you provide an individual checksum, Amazon S3 ignores any provided
9406
+ # `ChecksumAlgorithm` parameter.
9407
+ #
9408
+ #
9409
+ #
9410
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
9411
+ #
8850
9412
  # @option params [String] :expected_bucket_owner
8851
9413
  # The account ID of the expected bucket owner. If the bucket is owned by
8852
- # a different account, the request will fail with an HTTP `403 (Access
8853
- # Denied)` error.
9414
+ # a different account, the request fails with the HTTP status code `403
9415
+ # Forbidden` (access denied).
8854
9416
  #
8855
9417
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8856
9418
  #
@@ -8915,6 +9477,7 @@ module Aws::S3
8915
9477
  # ],
8916
9478
  # },
8917
9479
  # content_md5: "ContentMD5",
9480
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8918
9481
  # expected_bucket_owner: "AccountId",
8919
9482
  # })
8920
9483
  #
@@ -8933,8 +9496,11 @@ module Aws::S3
8933
9496
  # Default encryption for a bucket can use server-side encryption with
8934
9497
  # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
8935
9498
  # you specify default encryption using SSE-KMS, you can also configure
8936
- # Amazon S3 Bucket Key. For information about default encryption, see
8937
- # [Amazon S3 default bucket encryption][1] in the *Amazon S3 User
9499
+ # Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if you
9500
+ # upload an object to the bucket and do not specify the KMS key to use
9501
+ # for encryption, Amazon S3 uses the default Amazon Web Services managed
9502
+ # KMS key for your account. For information about default encryption,
9503
+ # see [Amazon S3 default bucket encryption][1] in the *Amazon S3 User
8938
9504
  # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
8939
9505
  # Bucket Keys][2] in the *Amazon S3 User Guide*.
8940
9506
  #
@@ -8985,13 +9551,29 @@ module Aws::S3
8985
9551
  # (CLI) or Amazon Web Services SDKs, this field is calculated
8986
9552
  # automatically.
8987
9553
  #
9554
+ # @option params [String] :checksum_algorithm
9555
+ # Indicates the algorithm used to create the checksum for the object
9556
+ # when using the SDK. This header will not provide any additional
9557
+ # functionality if not using the SDK. When sending this header, there
9558
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
9559
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
9560
+ # `400 Bad Request`. For more information, see [Checking object
9561
+ # integrity][1] in the *Amazon S3 User Guide*.
9562
+ #
9563
+ # If you provide an individual checksum, Amazon S3 ignores any provided
9564
+ # `ChecksumAlgorithm` parameter.
9565
+ #
9566
+ #
9567
+ #
9568
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
9569
+ #
8988
9570
  # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
8989
9571
  # Specifies the default server-side-encryption configuration.
8990
9572
  #
8991
9573
  # @option params [String] :expected_bucket_owner
8992
9574
  # The account ID of the expected bucket owner. If the bucket is owned by
8993
- # a different account, the request will fail with an HTTP `403 (Access
8994
- # Denied)` error.
9575
+ # a different account, the request fails with the HTTP status code `403
9576
+ # Forbidden` (access denied).
8995
9577
  #
8996
9578
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8997
9579
  #
@@ -9000,6 +9582,7 @@ module Aws::S3
9000
9582
  # resp = client.put_bucket_encryption({
9001
9583
  # bucket: "BucketName", # required
9002
9584
  # content_md5: "ContentMD5",
9585
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9003
9586
  # server_side_encryption_configuration: { # required
9004
9587
  # rules: [ # required
9005
9588
  # {
@@ -9228,8 +9811,8 @@ module Aws::S3
9228
9811
  #
9229
9812
  # @option params [String] :expected_bucket_owner
9230
9813
  # The account ID of the expected bucket owner. If the bucket is owned by
9231
- # a different account, the request will fail with an HTTP `403 (Access
9232
- # Denied)` error.
9814
+ # a different account, the request fails with the HTTP status code `403
9815
+ # Forbidden` (access denied).
9233
9816
  #
9234
9817
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9235
9818
  #
@@ -9260,7 +9843,7 @@ module Aws::S3
9260
9843
  # },
9261
9844
  # id: "InventoryId", # required
9262
9845
  # included_object_versions: "All", # required, accepts All, Current
9263
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus
9846
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm
9264
9847
  # schedule: { # required
9265
9848
  # frequency: "Daily", # required, accepts Daily, Weekly
9266
9849
  # },
@@ -9350,12 +9933,28 @@ module Aws::S3
9350
9933
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9351
9934
  # automatically.
9352
9935
  #
9936
+ # @option params [String] :checksum_algorithm
9937
+ # Indicates the algorithm used to create the checksum for the object
9938
+ # when using the SDK. This header will not provide any additional
9939
+ # functionality if not using the SDK. When sending this header, there
9940
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
9941
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
9942
+ # `400 Bad Request`. For more information, see [Checking object
9943
+ # integrity][1] in the *Amazon S3 User Guide*.
9944
+ #
9945
+ # If you provide an individual checksum, Amazon S3 ignores any provided
9946
+ # `ChecksumAlgorithm` parameter.
9947
+ #
9948
+ #
9949
+ #
9950
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
9951
+ #
9353
9952
  # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
9354
9953
  #
9355
9954
  # @option params [String] :expected_bucket_owner
9356
9955
  # The account ID of the expected bucket owner. If the bucket is owned by
9357
- # a different account, the request will fail with an HTTP `403 (Access
9358
- # Denied)` error.
9956
+ # a different account, the request fails with the HTTP status code `403
9957
+ # Forbidden` (access denied).
9359
9958
  #
9360
9959
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9361
9960
  #
@@ -9364,6 +9963,7 @@ module Aws::S3
9364
9963
  # resp = client.put_bucket_lifecycle({
9365
9964
  # bucket: "BucketName", # required
9366
9965
  # content_md5: "ContentMD5",
9966
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9367
9967
  # lifecycle_configuration: {
9368
9968
  # rules: [ # required
9369
9969
  # {
@@ -9408,7 +10008,10 @@ module Aws::S3
9408
10008
  end
9409
10009
 
9410
10010
  # Creates a new lifecycle configuration for the bucket or replaces an
9411
- # existing lifecycle configuration. For information about lifecycle
10011
+ # existing lifecycle configuration. Keep in mind that this will
10012
+ # overwrite an existing lifecycle configuration, so if you want to
10013
+ # retain any configuration details, they must be included in the new
10014
+ # lifecycle configuration. For information about lifecycle
9412
10015
  # configuration, see [Managing your storage lifecycle][1].
9413
10016
  #
9414
10017
  # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
@@ -9452,18 +10055,18 @@ module Aws::S3
9452
10055
  # (that is, the Amazon Web Services account that created it) can access
9453
10056
  # the resource. The resource owner can optionally grant access
9454
10057
  # permissions to others by writing an access policy. For this operation,
9455
- # a user must get the s3:PutLifecycleConfiguration permission.
10058
+ # a user must get the `s3:PutLifecycleConfiguration` permission.
9456
10059
  #
9457
10060
  # You can also explicitly deny permissions. Explicit deny also
9458
10061
  # supersedes any other permissions. If you want to block users or
9459
10062
  # accounts from removing or deleting objects from your bucket, you must
9460
10063
  # deny them permissions for the following actions:
9461
10064
  #
9462
- # * s3:DeleteObject
10065
+ # * `s3:DeleteObject`
9463
10066
  #
9464
- # * s3:DeleteObjectVersion
10067
+ # * `s3:DeleteObjectVersion`
9465
10068
  #
9466
- # * s3:PutLifecycleConfiguration
10069
+ # * `s3:PutLifecycleConfiguration`
9467
10070
  #
9468
10071
  # For more information about permissions, see [Managing Access
9469
10072
  # Permissions to Your Amazon S3 Resources][5].
@@ -9490,13 +10093,29 @@ module Aws::S3
9490
10093
  # @option params [required, String] :bucket
9491
10094
  # The name of the bucket for which to set the configuration.
9492
10095
  #
10096
+ # @option params [String] :checksum_algorithm
10097
+ # Indicates the algorithm used to create the checksum for the object
10098
+ # when using the SDK. This header will not provide any additional
10099
+ # functionality if not using the SDK. When sending this header, there
10100
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
10101
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
10102
+ # `400 Bad Request`. For more information, see [Checking object
10103
+ # integrity][1] in the *Amazon S3 User Guide*.
10104
+ #
10105
+ # If you provide an individual checksum, Amazon S3 ignores any provided
10106
+ # `ChecksumAlgorithm` parameter.
10107
+ #
10108
+ #
10109
+ #
10110
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
10111
+ #
9493
10112
  # @option params [Types::BucketLifecycleConfiguration] :lifecycle_configuration
9494
10113
  # Container for lifecycle rules. You can add as many as 1,000 rules.
9495
10114
  #
9496
10115
  # @option params [String] :expected_bucket_owner
9497
10116
  # The account ID of the expected bucket owner. If the bucket is owned by
9498
- # a different account, the request will fail with an HTTP `403 (Access
9499
- # Denied)` error.
10117
+ # a different account, the request fails with the HTTP status code `403
10118
+ # Forbidden` (access denied).
9500
10119
  #
9501
10120
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9502
10121
  #
@@ -9533,6 +10152,7 @@ module Aws::S3
9533
10152
  #
9534
10153
  # resp = client.put_bucket_lifecycle_configuration({
9535
10154
  # bucket: "BucketName", # required
10155
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9536
10156
  # lifecycle_configuration: {
9537
10157
  # rules: [ # required
9538
10158
  # {
@@ -9688,10 +10308,26 @@ module Aws::S3
9688
10308
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9689
10309
  # automatically.
9690
10310
  #
10311
+ # @option params [String] :checksum_algorithm
10312
+ # Indicates the algorithm used to create the checksum for the object
10313
+ # when using the SDK. This header will not provide any additional
10314
+ # functionality if not using the SDK. When sending this header, there
10315
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
10316
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
10317
+ # `400 Bad Request`. For more information, see [Checking object
10318
+ # integrity][1] in the *Amazon S3 User Guide*.
10319
+ #
10320
+ # If you provide an individual checksum, Amazon S3 ignores any provided
10321
+ # `ChecksumAlgorithm` parameter.
10322
+ #
10323
+ #
10324
+ #
10325
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
10326
+ #
9691
10327
  # @option params [String] :expected_bucket_owner
9692
10328
  # The account ID of the expected bucket owner. If the bucket is owned by
9693
- # a different account, the request will fail with an HTTP `403 (Access
9694
- # Denied)` error.
10329
+ # a different account, the request fails with the HTTP status code `403
10330
+ # Forbidden` (access denied).
9695
10331
  #
9696
10332
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9697
10333
  #
@@ -9743,6 +10379,7 @@ module Aws::S3
9743
10379
  # },
9744
10380
  # },
9745
10381
  # content_md5: "ContentMD5",
10382
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9746
10383
  # expected_bucket_owner: "AccountId",
9747
10384
  # })
9748
10385
  #
@@ -9810,8 +10447,8 @@ module Aws::S3
9810
10447
  #
9811
10448
  # @option params [String] :expected_bucket_owner
9812
10449
  # The account ID of the expected bucket owner. If the bucket is owned by
9813
- # a different account, the request will fail with an HTTP `403 (Access
9814
- # Denied)` error.
10450
+ # a different account, the request fails with the HTTP status code `403
10451
+ # Forbidden` (access denied).
9815
10452
  #
9816
10453
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9817
10454
  #
@@ -9870,13 +10507,29 @@ module Aws::S3
9870
10507
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9871
10508
  # automatically.
9872
10509
  #
10510
+ # @option params [String] :checksum_algorithm
10511
+ # Indicates the algorithm used to create the checksum for the object
10512
+ # when using the SDK. This header will not provide any additional
10513
+ # functionality if not using the SDK. When sending this header, there
10514
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
10515
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
10516
+ # `400 Bad Request`. For more information, see [Checking object
10517
+ # integrity][1] in the *Amazon S3 User Guide*.
10518
+ #
10519
+ # If you provide an individual checksum, Amazon S3 ignores any provided
10520
+ # `ChecksumAlgorithm` parameter.
10521
+ #
10522
+ #
10523
+ #
10524
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
10525
+ #
9873
10526
  # @option params [required, Types::NotificationConfigurationDeprecated] :notification_configuration
9874
10527
  # The container for the configuration.
9875
10528
  #
9876
10529
  # @option params [String] :expected_bucket_owner
9877
10530
  # The account ID of the expected bucket owner. If the bucket is owned by
9878
- # a different account, the request will fail with an HTTP `403 (Access
9879
- # Denied)` error.
10531
+ # a different account, the request fails with the HTTP status code `403
10532
+ # Forbidden` (access denied).
9880
10533
  #
9881
10534
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9882
10535
  #
@@ -9885,6 +10538,7 @@ module Aws::S3
9885
10538
  # resp = client.put_bucket_notification({
9886
10539
  # bucket: "BucketName", # required
9887
10540
  # content_md5: "ContentMD5",
10541
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9888
10542
  # notification_configuration: { # required
9889
10543
  # topic_configuration: {
9890
10544
  # id: "NotificationId",
@@ -9951,6 +10605,10 @@ module Aws::S3
9951
10605
  # You can disable notifications by adding the empty
9952
10606
  # NotificationConfiguration element.
9953
10607
  #
10608
+ # For more information about the number of event notification
10609
+ # configurations that you can create per bucket, see [Amazon S3 service
10610
+ # quotas][2] in *Amazon Web Services General Reference*.
10611
+ #
9954
10612
  # By default, only the bucket owner can configure notifications on a
9955
10613
  # bucket. However, bucket owners can use a bucket policy to grant
9956
10614
  # permission to other users to set this configuration with
@@ -9976,14 +10634,15 @@ module Aws::S3
9976
10634
  # The following action is related to
9977
10635
  # `PutBucketNotificationConfiguration`\:
9978
10636
  #
9979
- # * [GetBucketNotificationConfiguration][2]
10637
+ # * [GetBucketNotificationConfiguration][3]
9980
10638
  #
9981
10639
  # ^
9982
10640
  #
9983
10641
  #
9984
10642
  #
9985
10643
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
9986
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
10644
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3
10645
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
9987
10646
  #
9988
10647
  # @option params [required, String] :bucket
9989
10648
  # The name of the bucket.
@@ -9995,8 +10654,8 @@ module Aws::S3
9995
10654
  #
9996
10655
  # @option params [String] :expected_bucket_owner
9997
10656
  # The account ID of the expected bucket owner. If the bucket is owned by
9998
- # a different account, the request will fail with an HTTP `403 (Access
9999
- # Denied)` error.
10657
+ # a different account, the request fails with the HTTP status code `403
10658
+ # Forbidden` (access denied).
10000
10659
  #
10001
10660
  # @option params [Boolean] :skip_destination_validation
10002
10661
  # Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
@@ -10127,8 +10786,8 @@ module Aws::S3
10127
10786
  #
10128
10787
  # @option params [String] :expected_bucket_owner
10129
10788
  # The account ID of the expected bucket owner. If the bucket is owned by
10130
- # a different account, the request will fail with an HTTP `403 (Access
10131
- # Denied)` error.
10789
+ # a different account, the request fails with the HTTP status code `403
10790
+ # Forbidden` (access denied).
10132
10791
  #
10133
10792
  # @option params [required, Types::OwnershipControls] :ownership_controls
10134
10793
  # The `OwnershipControls` (BucketOwnerEnforced, BucketOwnerPreferred, or
@@ -10200,6 +10859,22 @@ module Aws::S3
10200
10859
  # (CLI) or Amazon Web Services SDKs, this field is calculated
10201
10860
  # automatically.
10202
10861
  #
10862
+ # @option params [String] :checksum_algorithm
10863
+ # Indicates the algorithm used to create the checksum for the object
10864
+ # when using the SDK. This header will not provide any additional
10865
+ # functionality if not using the SDK. When sending this header, there
10866
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
10867
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
10868
+ # `400 Bad Request`. For more information, see [Checking object
10869
+ # integrity][1] in the *Amazon S3 User Guide*.
10870
+ #
10871
+ # If you provide an individual checksum, Amazon S3 ignores any provided
10872
+ # `ChecksumAlgorithm` parameter.
10873
+ #
10874
+ #
10875
+ #
10876
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
10877
+ #
10203
10878
  # @option params [Boolean] :confirm_remove_self_bucket_access
10204
10879
  # Set this parameter to true to confirm that you want to remove your
10205
10880
  # permissions to change this bucket policy in the future.
@@ -10209,8 +10884,8 @@ module Aws::S3
10209
10884
  #
10210
10885
  # @option params [String] :expected_bucket_owner
10211
10886
  # The account ID of the expected bucket owner. If the bucket is owned by
10212
- # a different account, the request will fail with an HTTP `403 (Access
10213
- # Denied)` error.
10887
+ # a different account, the request fails with the HTTP status code `403
10888
+ # Forbidden` (access denied).
10214
10889
  #
10215
10890
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10216
10891
  #
@@ -10229,6 +10904,7 @@ module Aws::S3
10229
10904
  # resp = client.put_bucket_policy({
10230
10905
  # bucket: "BucketName", # required
10231
10906
  # content_md5: "ContentMD5",
10907
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10232
10908
  # confirm_remove_self_bucket_access: false,
10233
10909
  # policy: "Policy", # required
10234
10910
  # expected_bucket_owner: "AccountId",
@@ -10339,6 +11015,22 @@ module Aws::S3
10339
11015
  #
10340
11016
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10341
11017
  #
11018
+ # @option params [String] :checksum_algorithm
11019
+ # Indicates the algorithm used to create the checksum for the object
11020
+ # when using the SDK. This header will not provide any additional
11021
+ # functionality if not using the SDK. When sending this header, there
11022
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
11023
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
11024
+ # `400 Bad Request`. For more information, see [Checking object
11025
+ # integrity][1] in the *Amazon S3 User Guide*.
11026
+ #
11027
+ # If you provide an individual checksum, Amazon S3 ignores any provided
11028
+ # `ChecksumAlgorithm` parameter.
11029
+ #
11030
+ #
11031
+ #
11032
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11033
+ #
10342
11034
  # @option params [required, Types::ReplicationConfiguration] :replication_configuration
10343
11035
  # A container for replication rules. You can add up to 1,000 rules. The
10344
11036
  # maximum size of a replication configuration is 2 MB.
@@ -10348,8 +11040,8 @@ module Aws::S3
10348
11040
  #
10349
11041
  # @option params [String] :expected_bucket_owner
10350
11042
  # The account ID of the expected bucket owner. If the bucket is owned by
10351
- # a different account, the request will fail with an HTTP `403 (Access
10352
- # Denied)` error.
11043
+ # a different account, the request fails with the HTTP status code `403
11044
+ # Forbidden` (access denied).
10353
11045
  #
10354
11046
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10355
11047
  #
@@ -10380,6 +11072,7 @@ module Aws::S3
10380
11072
  # resp = client.put_bucket_replication({
10381
11073
  # bucket: "BucketName", # required
10382
11074
  # content_md5: "ContentMD5",
11075
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10383
11076
  # replication_configuration: { # required
10384
11077
  # role: "Role", # required
10385
11078
  # rules: [ # required
@@ -10491,13 +11184,29 @@ module Aws::S3
10491
11184
  #
10492
11185
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10493
11186
  #
11187
+ # @option params [String] :checksum_algorithm
11188
+ # Indicates the algorithm used to create the checksum for the object
11189
+ # when using the SDK. This header will not provide any additional
11190
+ # functionality if not using the SDK. When sending this header, there
11191
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
11192
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
11193
+ # `400 Bad Request`. For more information, see [Checking object
11194
+ # integrity][1] in the *Amazon S3 User Guide*.
11195
+ #
11196
+ # If you provide an individual checksum, Amazon S3 ignores any provided
11197
+ # `ChecksumAlgorithm` parameter.
11198
+ #
11199
+ #
11200
+ #
11201
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11202
+ #
10494
11203
  # @option params [required, Types::RequestPaymentConfiguration] :request_payment_configuration
10495
11204
  # Container for Payer.
10496
11205
  #
10497
11206
  # @option params [String] :expected_bucket_owner
10498
11207
  # The account ID of the expected bucket owner. If the bucket is owned by
10499
- # a different account, the request will fail with an HTTP `403 (Access
10500
- # Denied)` error.
11208
+ # a different account, the request fails with the HTTP status code `403
11209
+ # Forbidden` (access denied).
10501
11210
  #
10502
11211
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10503
11212
  #
@@ -10518,6 +11227,7 @@ module Aws::S3
10518
11227
  # resp = client.put_bucket_request_payment({
10519
11228
  # bucket: "BucketName", # required
10520
11229
  # content_md5: "ContentMD5",
11230
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10521
11231
  # request_payment_configuration: { # required
10522
11232
  # payer: "Requester", # required, accepts Requester, BucketOwner
10523
11233
  # },
@@ -10624,13 +11334,29 @@ module Aws::S3
10624
11334
  #
10625
11335
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10626
11336
  #
11337
+ # @option params [String] :checksum_algorithm
11338
+ # Indicates the algorithm used to create the checksum for the object
11339
+ # when using the SDK. This header will not provide any additional
11340
+ # functionality if not using the SDK. When sending this header, there
11341
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
11342
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
11343
+ # `400 Bad Request`. For more information, see [Checking object
11344
+ # integrity][1] in the *Amazon S3 User Guide*.
11345
+ #
11346
+ # If you provide an individual checksum, Amazon S3 ignores any provided
11347
+ # `ChecksumAlgorithm` parameter.
11348
+ #
11349
+ #
11350
+ #
11351
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11352
+ #
10627
11353
  # @option params [required, Types::Tagging] :tagging
10628
11354
  # Container for the `TagSet` and `Tag` elements.
10629
11355
  #
10630
11356
  # @option params [String] :expected_bucket_owner
10631
11357
  # The account ID of the expected bucket owner. If the bucket is owned by
10632
- # a different account, the request will fail with an HTTP `403 (Access
10633
- # Denied)` error.
11358
+ # a different account, the request fails with the HTTP status code `403
11359
+ # Forbidden` (access denied).
10634
11360
  #
10635
11361
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10636
11362
  #
@@ -10660,6 +11386,7 @@ module Aws::S3
10660
11386
  # resp = client.put_bucket_tagging({
10661
11387
  # bucket: "BucketName", # required
10662
11388
  # content_md5: "ContentMD5",
11389
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10663
11390
  # tagging: { # required
10664
11391
  # tag_set: [ # required
10665
11392
  # {
@@ -10680,8 +11407,7 @@ module Aws::S3
10680
11407
  req.send_request(options)
10681
11408
  end
10682
11409
 
10683
- # Sets the versioning state of an existing bucket. To set the versioning
10684
- # state, you must be the bucket owner.
11410
+ # Sets the versioning state of an existing bucket.
10685
11411
  #
10686
11412
  # You can set the versioning state with one of the following values:
10687
11413
  #
@@ -10695,8 +11421,9 @@ module Aws::S3
10695
11421
  # versioning state; a [GetBucketVersioning][1] request does not return a
10696
11422
  # versioning state value.
10697
11423
  #
10698
- # If the bucket owner enables MFA Delete in the bucket versioning
10699
- # configuration, the bucket owner must include the `x-amz-mfa request`
11424
+ # In order to enable MFA Delete, you must be the bucket owner. If you
11425
+ # are the bucket owner and want to enable MFA Delete in the bucket
11426
+ # versioning configuration, you must include the `x-amz-mfa request`
10700
11427
  # header and the `Status` and the `MfaDelete` request elements in a
10701
11428
  # request to set the versioning state of the bucket.
10702
11429
  #
@@ -10741,6 +11468,22 @@ module Aws::S3
10741
11468
  #
10742
11469
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10743
11470
  #
11471
+ # @option params [String] :checksum_algorithm
11472
+ # Indicates the algorithm used to create the checksum for the object
11473
+ # when using the SDK. This header will not provide any additional
11474
+ # functionality if not using the SDK. When sending this header, there
11475
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
11476
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
11477
+ # `400 Bad Request`. For more information, see [Checking object
11478
+ # integrity][1] in the *Amazon S3 User Guide*.
11479
+ #
11480
+ # If you provide an individual checksum, Amazon S3 ignores any provided
11481
+ # `ChecksumAlgorithm` parameter.
11482
+ #
11483
+ #
11484
+ #
11485
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11486
+ #
10744
11487
  # @option params [String] :mfa
10745
11488
  # The concatenation of the authentication device's serial number, a
10746
11489
  # space, and the value that is displayed on your authentication device.
@@ -10750,8 +11493,8 @@ module Aws::S3
10750
11493
  #
10751
11494
  # @option params [String] :expected_bucket_owner
10752
11495
  # The account ID of the expected bucket owner. If the bucket is owned by
10753
- # a different account, the request will fail with an HTTP `403 (Access
10754
- # Denied)` error.
11496
+ # a different account, the request fails with the HTTP status code `403
11497
+ # Forbidden` (access denied).
10755
11498
  #
10756
11499
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10757
11500
  #
@@ -10773,6 +11516,7 @@ module Aws::S3
10773
11516
  # resp = client.put_bucket_versioning({
10774
11517
  # bucket: "BucketName", # required
10775
11518
  # content_md5: "ContentMD5",
11519
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10776
11520
  # mfa: "MFA",
10777
11521
  # versioning_configuration: { # required
10778
11522
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -10879,13 +11623,29 @@ module Aws::S3
10879
11623
  #
10880
11624
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10881
11625
  #
11626
+ # @option params [String] :checksum_algorithm
11627
+ # Indicates the algorithm used to create the checksum for the object
11628
+ # when using the SDK. This header will not provide any additional
11629
+ # functionality if not using the SDK. When sending this header, there
11630
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
11631
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
11632
+ # `400 Bad Request`. For more information, see [Checking object
11633
+ # integrity][1] in the *Amazon S3 User Guide*.
11634
+ #
11635
+ # If you provide an individual checksum, Amazon S3 ignores any provided
11636
+ # `ChecksumAlgorithm` parameter.
11637
+ #
11638
+ #
11639
+ #
11640
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11641
+ #
10882
11642
  # @option params [required, Types::WebsiteConfiguration] :website_configuration
10883
11643
  # Container for the request.
10884
11644
  #
10885
11645
  # @option params [String] :expected_bucket_owner
10886
11646
  # The account ID of the expected bucket owner. If the bucket is owned by
10887
- # a different account, the request will fail with an HTTP `403 (Access
10888
- # Denied)` error.
11647
+ # a different account, the request fails with the HTTP status code `403
11648
+ # Forbidden` (access denied).
10889
11649
  #
10890
11650
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10891
11651
  #
@@ -10912,6 +11672,7 @@ module Aws::S3
10912
11672
  # resp = client.put_bucket_website({
10913
11673
  # bucket: "BucketName", # required
10914
11674
  # content_md5: "ContentMD5",
11675
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10915
11676
  # website_configuration: { # required
10916
11677
  # error_document: {
10917
11678
  # key: "ObjectKey", # required
@@ -11094,12 +11855,12 @@ module Aws::S3
11094
11855
  #
11095
11856
  # When using this action with Amazon S3 on Outposts, you must direct
11096
11857
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11097
- # takes the form
11098
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11099
- # When using this action using S3 on Outposts through the Amazon Web
11858
+ # takes the form `
11859
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
11860
+ # When using this action with S3 on Outposts through the Amazon Web
11100
11861
  # Services SDKs, you provide the Outposts bucket ARN in place of the
11101
11862
  # bucket name. For more information about S3 on Outposts ARNs, see
11102
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
11863
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
11103
11864
  #
11104
11865
  #
11105
11866
  #
@@ -11168,6 +11929,66 @@ module Aws::S3
11168
11929
  #
11169
11930
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
11170
11931
  #
11932
+ # @option params [String] :checksum_algorithm
11933
+ # Indicates the algorithm used to create the checksum for the object
11934
+ # when using the SDK. This header will not provide any additional
11935
+ # functionality if not using the SDK. When sending this header, there
11936
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
11937
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
11938
+ # `400 Bad Request`. For more information, see [Checking object
11939
+ # integrity][1] in the *Amazon S3 User Guide*.
11940
+ #
11941
+ # If you provide an individual checksum, Amazon S3 ignores any provided
11942
+ # `ChecksumAlgorithm` parameter.
11943
+ #
11944
+ #
11945
+ #
11946
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11947
+ #
11948
+ # @option params [String] :checksum_crc32
11949
+ # This header can be used as a data integrity check to verify that the
11950
+ # data received is the same data that was originally sent. This header
11951
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
11952
+ # more information, see [Checking object integrity][1] in the *Amazon S3
11953
+ # User Guide*.
11954
+ #
11955
+ #
11956
+ #
11957
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11958
+ #
11959
+ # @option params [String] :checksum_crc32c
11960
+ # This header can be used as a data integrity check to verify that the
11961
+ # data received is the same data that was originally sent. This header
11962
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
11963
+ # For more information, see [Checking object integrity][1] in the
11964
+ # *Amazon S3 User Guide*.
11965
+ #
11966
+ #
11967
+ #
11968
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11969
+ #
11970
+ # @option params [String] :checksum_sha1
11971
+ # This header can be used as a data integrity check to verify that the
11972
+ # data received is the same data that was originally sent. This header
11973
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
11974
+ # more information, see [Checking object integrity][1] in the *Amazon S3
11975
+ # User Guide*.
11976
+ #
11977
+ #
11978
+ #
11979
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11980
+ #
11981
+ # @option params [String] :checksum_sha256
11982
+ # This header can be used as a data integrity check to verify that the
11983
+ # data received is the same data that was originally sent. This header
11984
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
11985
+ # For more information, see [Checking object integrity][1] in the
11986
+ # *Amazon S3 User Guide*.
11987
+ #
11988
+ #
11989
+ #
11990
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
11991
+ #
11171
11992
  # @option params [Time,DateTime,Date,Integer,String] :expires
11172
11993
  # The date and time at which the object is no longer cacheable. For more
11173
11994
  # information, see
@@ -11290,8 +12111,8 @@ module Aws::S3
11290
12111
  # @option params [String] :request_payer
11291
12112
  # Confirms that the requester knows that they will be charged for the
11292
12113
  # request. Bucket owners need not specify this parameter in their
11293
- # requests. For information about downloading objects from requester
11294
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
12114
+ # requests. For information about downloading objects from Requester
12115
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
11295
12116
  # in the *Amazon S3 User Guide*.
11296
12117
  #
11297
12118
  #
@@ -11319,13 +12140,17 @@ module Aws::S3
11319
12140
  #
11320
12141
  # @option params [String] :expected_bucket_owner
11321
12142
  # The account ID of the expected bucket owner. If the bucket is owned by
11322
- # a different account, the request will fail with an HTTP `403 (Access
11323
- # Denied)` error.
12143
+ # a different account, the request fails with the HTTP status code `403
12144
+ # Forbidden` (access denied).
11324
12145
  #
11325
12146
  # @return [Types::PutObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11326
12147
  #
11327
12148
  # * {Types::PutObjectOutput#expiration #expiration} => String
11328
12149
  # * {Types::PutObjectOutput#etag #etag} => String
12150
+ # * {Types::PutObjectOutput#checksum_crc32 #checksum_crc32} => String
12151
+ # * {Types::PutObjectOutput#checksum_crc32c #checksum_crc32c} => String
12152
+ # * {Types::PutObjectOutput#checksum_sha1 #checksum_sha1} => String
12153
+ # * {Types::PutObjectOutput#checksum_sha256 #checksum_sha256} => String
11329
12154
  # * {Types::PutObjectOutput#server_side_encryption #server_side_encryption} => String
11330
12155
  # * {Types::PutObjectOutput#version_id #version_id} => String
11331
12156
  # * {Types::PutObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -11336,134 +12161,134 @@ module Aws::S3
11336
12161
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11337
12162
  #
11338
12163
  #
11339
- # @example Example: To upload an object (specify optional headers)
12164
+ # @example Example: To upload an object and specify optional tags
11340
12165
  #
11341
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11342
- # # storage class and use server-side encryption.
12166
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12167
+ # # S3 returns version ID of the newly created object.
11343
12168
  #
11344
12169
  # resp = client.put_object({
11345
- # body: "HappyFace.jpg",
12170
+ # body: "c:\\HappyFace.jpg",
11346
12171
  # bucket: "examplebucket",
11347
12172
  # key: "HappyFace.jpg",
11348
- # server_side_encryption: "AES256",
11349
- # storage_class: "STANDARD_IA",
12173
+ # tagging: "key1=value1&key2=value2",
11350
12174
  # })
11351
12175
  #
11352
12176
  # resp.to_h outputs the following:
11353
12177
  # {
11354
12178
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11355
- # server_side_encryption: "AES256",
11356
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12179
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11357
12180
  # }
11358
12181
  #
11359
- # @example Example: To upload an object and specify server-side encryption and object tags
12182
+ # @example Example: To upload an object and specify canned ACL.
11360
12183
  #
11361
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11362
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12184
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12185
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11363
12186
  #
11364
12187
  # resp = client.put_object({
12188
+ # acl: "authenticated-read",
11365
12189
  # body: "filetoupload",
11366
12190
  # bucket: "examplebucket",
11367
12191
  # key: "exampleobject",
11368
- # server_side_encryption: "AES256",
11369
- # tagging: "key1=value1&key2=value2",
11370
12192
  # })
11371
12193
  #
11372
12194
  # resp.to_h outputs the following:
11373
12195
  # {
11374
12196
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11375
- # server_side_encryption: "AES256",
11376
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12197
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11377
12198
  # }
11378
12199
  #
11379
- # @example Example: To create an object.
12200
+ # @example Example: To upload an object and specify server-side encryption and object tags
11380
12201
  #
11381
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12202
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
12203
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11382
12204
  #
11383
12205
  # resp = client.put_object({
11384
12206
  # body: "filetoupload",
11385
12207
  # bucket: "examplebucket",
11386
- # key: "objectkey",
12208
+ # key: "exampleobject",
12209
+ # server_side_encryption: "AES256",
12210
+ # tagging: "key1=value1&key2=value2",
11387
12211
  # })
11388
12212
  #
11389
12213
  # resp.to_h outputs the following:
11390
12214
  # {
11391
12215
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11392
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12216
+ # server_side_encryption: "AES256",
12217
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11393
12218
  # }
11394
12219
  #
11395
- # @example Example: To upload object and specify user-defined metadata
12220
+ # @example Example: To create an object.
11396
12221
  #
11397
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11398
- # # enabled, S3 returns version ID in response.
12222
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11399
12223
  #
11400
12224
  # resp = client.put_object({
11401
12225
  # body: "filetoupload",
11402
12226
  # bucket: "examplebucket",
11403
- # key: "exampleobject",
11404
- # metadata: {
11405
- # "metadata1" => "value1",
11406
- # "metadata2" => "value2",
11407
- # },
12227
+ # key: "objectkey",
11408
12228
  # })
11409
12229
  #
11410
12230
  # resp.to_h outputs the following:
11411
12231
  # {
11412
12232
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11413
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12233
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11414
12234
  # }
11415
12235
  #
11416
- # @example Example: To upload an object and specify canned ACL.
12236
+ # @example Example: To upload an object
11417
12237
  #
11418
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11419
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12238
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12239
+ # # syntax. S3 returns VersionId of the newly created object.
11420
12240
  #
11421
12241
  # resp = client.put_object({
11422
- # acl: "authenticated-read",
11423
- # body: "filetoupload",
12242
+ # body: "HappyFace.jpg",
11424
12243
  # bucket: "examplebucket",
11425
- # key: "exampleobject",
12244
+ # key: "HappyFace.jpg",
11426
12245
  # })
11427
12246
  #
11428
12247
  # resp.to_h outputs the following:
11429
12248
  # {
11430
12249
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11431
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12250
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11432
12251
  # }
11433
12252
  #
11434
- # @example Example: To upload an object
12253
+ # @example Example: To upload an object (specify optional headers)
11435
12254
  #
11436
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11437
- # # syntax. S3 returns VersionId of the newly created object.
12255
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12256
+ # # storage class and use server-side encryption.
11438
12257
  #
11439
12258
  # resp = client.put_object({
11440
12259
  # body: "HappyFace.jpg",
11441
12260
  # bucket: "examplebucket",
11442
12261
  # key: "HappyFace.jpg",
12262
+ # server_side_encryption: "AES256",
12263
+ # storage_class: "STANDARD_IA",
11443
12264
  # })
11444
12265
  #
11445
12266
  # resp.to_h outputs the following:
11446
12267
  # {
11447
12268
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11448
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12269
+ # server_side_encryption: "AES256",
12270
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11449
12271
  # }
11450
12272
  #
11451
- # @example Example: To upload an object and specify optional tags
12273
+ # @example Example: To upload object and specify user-defined metadata
11452
12274
  #
11453
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11454
- # # S3 returns version ID of the newly created object.
12275
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12276
+ # # enabled, S3 returns version ID in response.
11455
12277
  #
11456
12278
  # resp = client.put_object({
11457
- # body: "c:\\HappyFace.jpg",
12279
+ # body: "filetoupload",
11458
12280
  # bucket: "examplebucket",
11459
- # key: "HappyFace.jpg",
11460
- # tagging: "key1=value1&key2=value2",
12281
+ # key: "exampleobject",
12282
+ # metadata: {
12283
+ # "metadata1" => "value1",
12284
+ # "metadata2" => "value2",
12285
+ # },
11461
12286
  # })
11462
12287
  #
11463
12288
  # resp.to_h outputs the following:
11464
12289
  # {
11465
12290
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11466
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12291
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11467
12292
  # }
11468
12293
  #
11469
12294
  # @example Streaming a file from disk
@@ -11485,6 +12310,11 @@ module Aws::S3
11485
12310
  # content_length: 1,
11486
12311
  # content_md5: "ContentMD5",
11487
12312
  # content_type: "ContentType",
12313
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12314
+ # checksum_crc32: "ChecksumCRC32",
12315
+ # checksum_crc32c: "ChecksumCRC32C",
12316
+ # checksum_sha1: "ChecksumSHA1",
12317
+ # checksum_sha256: "ChecksumSHA256",
11488
12318
  # expires: Time.now,
11489
12319
  # grant_full_control: "GrantFullControl",
11490
12320
  # grant_read: "GrantRead",
@@ -11515,6 +12345,10 @@ module Aws::S3
11515
12345
  #
11516
12346
  # resp.expiration #=> String
11517
12347
  # resp.etag #=> String
12348
+ # resp.checksum_crc32 #=> String
12349
+ # resp.checksum_crc32c #=> String
12350
+ # resp.checksum_sha1 #=> String
12351
+ # resp.checksum_sha256 #=> String
11518
12352
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
11519
12353
  # resp.version_id #=> String
11520
12354
  # resp.sse_customer_algorithm #=> String
@@ -11738,6 +12572,22 @@ module Aws::S3
11738
12572
  #
11739
12573
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
11740
12574
  #
12575
+ # @option params [String] :checksum_algorithm
12576
+ # Indicates the algorithm used to create the checksum for the object
12577
+ # when using the SDK. This header will not provide any additional
12578
+ # functionality if not using the SDK. When sending this header, there
12579
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
12580
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
12581
+ # `400 Bad Request`. For more information, see [Checking object
12582
+ # integrity][1] in the *Amazon S3 User Guide*.
12583
+ #
12584
+ # If you provide an individual checksum, Amazon S3 ignores any provided
12585
+ # `ChecksumAlgorithm` parameter.
12586
+ #
12587
+ #
12588
+ #
12589
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
12590
+ #
11741
12591
  # @option params [String] :grant_full_control
11742
12592
  # Allows grantee the read, write, read ACP, and write ACP permissions on
11743
12593
  # the bucket.
@@ -11778,12 +12628,12 @@ module Aws::S3
11778
12628
  #
11779
12629
  # When using this action with Amazon S3 on Outposts, you must direct
11780
12630
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11781
- # takes the form
11782
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11783
- # When using this action using S3 on Outposts through the Amazon Web
12631
+ # takes the form `
12632
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
12633
+ # When using this action with S3 on Outposts through the Amazon Web
11784
12634
  # Services SDKs, you provide the Outposts bucket ARN in place of the
11785
12635
  # bucket name. For more information about S3 on Outposts ARNs, see
11786
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
12636
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
11787
12637
  #
11788
12638
  #
11789
12639
  #
@@ -11793,8 +12643,8 @@ module Aws::S3
11793
12643
  # @option params [String] :request_payer
11794
12644
  # Confirms that the requester knows that they will be charged for the
11795
12645
  # request. Bucket owners need not specify this parameter in their
11796
- # requests. For information about downloading objects from requester
11797
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
12646
+ # requests. For information about downloading objects from Requester
12647
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
11798
12648
  # in the *Amazon S3 User Guide*.
11799
12649
  #
11800
12650
  #
@@ -11806,8 +12656,8 @@ module Aws::S3
11806
12656
  #
11807
12657
  # @option params [String] :expected_bucket_owner
11808
12658
  # The account ID of the expected bucket owner. If the bucket is owned by
11809
- # a different account, the request will fail with an HTTP `403 (Access
11810
- # Denied)` error.
12659
+ # a different account, the request fails with the HTTP status code `403
12660
+ # Forbidden` (access denied).
11811
12661
  #
11812
12662
  # @return [Types::PutObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11813
12663
  #
@@ -11856,6 +12706,7 @@ module Aws::S3
11856
12706
  # },
11857
12707
  # bucket: "BucketName", # required
11858
12708
  # content_md5: "ContentMD5",
12709
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
11859
12710
  # grant_full_control: "GrantFullControl",
11860
12711
  # grant_read: "GrantRead",
11861
12712
  # grant_read_acp: "GrantReadACP",
@@ -11880,7 +12731,7 @@ module Aws::S3
11880
12731
  req.send_request(options)
11881
12732
  end
11882
12733
 
11883
- # Applies a Legal Hold configuration to the specified object. For more
12734
+ # Applies a legal hold configuration to the specified object. For more
11884
12735
  # information, see [Locking Objects][1].
11885
12736
  #
11886
12737
  # This action is not supported by Amazon S3 on Outposts.
@@ -11890,8 +12741,8 @@ module Aws::S3
11890
12741
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
11891
12742
  #
11892
12743
  # @option params [required, String] :bucket
11893
- # The bucket name containing the object that you want to place a Legal
11894
- # Hold on.
12744
+ # The bucket name containing the object that you want to place a legal
12745
+ # hold on.
11895
12746
  #
11896
12747
  # When using this action with an access point, you must direct requests
11897
12748
  # to the access point hostname. The access point hostname takes the form
@@ -11906,17 +12757,17 @@ module Aws::S3
11906
12757
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
11907
12758
  #
11908
12759
  # @option params [required, String] :key
11909
- # The key name for the object that you want to place a Legal Hold on.
12760
+ # The key name for the object that you want to place a legal hold on.
11910
12761
  #
11911
12762
  # @option params [Types::ObjectLockLegalHold] :legal_hold
11912
- # Container element for the Legal Hold configuration you want to apply
12763
+ # Container element for the legal hold configuration you want to apply
11913
12764
  # to the specified object.
11914
12765
  #
11915
12766
  # @option params [String] :request_payer
11916
12767
  # Confirms that the requester knows that they will be charged for the
11917
12768
  # request. Bucket owners need not specify this parameter in their
11918
- # requests. For information about downloading objects from requester
11919
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
12769
+ # requests. For information about downloading objects from Requester
12770
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
11920
12771
  # in the *Amazon S3 User Guide*.
11921
12772
  #
11922
12773
  #
@@ -11924,7 +12775,7 @@ module Aws::S3
11924
12775
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11925
12776
  #
11926
12777
  # @option params [String] :version_id
11927
- # The version ID of the object that you want to place a Legal Hold on.
12778
+ # The version ID of the object that you want to place a legal hold on.
11928
12779
  #
11929
12780
  # @option params [String] :content_md5
11930
12781
  # The MD5 hash for the request body.
@@ -11933,10 +12784,26 @@ module Aws::S3
11933
12784
  # (CLI) or Amazon Web Services SDKs, this field is calculated
11934
12785
  # automatically.
11935
12786
  #
12787
+ # @option params [String] :checksum_algorithm
12788
+ # Indicates the algorithm used to create the checksum for the object
12789
+ # when using the SDK. This header will not provide any additional
12790
+ # functionality if not using the SDK. When sending this header, there
12791
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
12792
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
12793
+ # `400 Bad Request`. For more information, see [Checking object
12794
+ # integrity][1] in the *Amazon S3 User Guide*.
12795
+ #
12796
+ # If you provide an individual checksum, Amazon S3 ignores any provided
12797
+ # `ChecksumAlgorithm` parameter.
12798
+ #
12799
+ #
12800
+ #
12801
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
12802
+ #
11936
12803
  # @option params [String] :expected_bucket_owner
11937
12804
  # The account ID of the expected bucket owner. If the bucket is owned by
11938
- # a different account, the request will fail with an HTTP `403 (Access
11939
- # Denied)` error.
12805
+ # a different account, the request fails with the HTTP status code `403
12806
+ # Forbidden` (access denied).
11940
12807
  #
11941
12808
  # @return [Types::PutObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11942
12809
  #
@@ -11953,6 +12820,7 @@ module Aws::S3
11953
12820
  # request_payer: "requester", # accepts requester
11954
12821
  # version_id: "ObjectVersionId",
11955
12822
  # content_md5: "ContentMD5",
12823
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
11956
12824
  # expected_bucket_owner: "AccountId",
11957
12825
  # })
11958
12826
  #
@@ -12001,8 +12869,8 @@ module Aws::S3
12001
12869
  # @option params [String] :request_payer
12002
12870
  # Confirms that the requester knows that they will be charged for the
12003
12871
  # request. Bucket owners need not specify this parameter in their
12004
- # requests. For information about downloading objects from requester
12005
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
12872
+ # requests. For information about downloading objects from Requester
12873
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
12006
12874
  # in the *Amazon S3 User Guide*.
12007
12875
  #
12008
12876
  #
@@ -12019,10 +12887,26 @@ module Aws::S3
12019
12887
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12020
12888
  # automatically.
12021
12889
  #
12890
+ # @option params [String] :checksum_algorithm
12891
+ # Indicates the algorithm used to create the checksum for the object
12892
+ # when using the SDK. This header will not provide any additional
12893
+ # functionality if not using the SDK. When sending this header, there
12894
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
12895
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
12896
+ # `400 Bad Request`. For more information, see [Checking object
12897
+ # integrity][1] in the *Amazon S3 User Guide*.
12898
+ #
12899
+ # If you provide an individual checksum, Amazon S3 ignores any provided
12900
+ # `ChecksumAlgorithm` parameter.
12901
+ #
12902
+ #
12903
+ #
12904
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
12905
+ #
12022
12906
  # @option params [String] :expected_bucket_owner
12023
12907
  # The account ID of the expected bucket owner. If the bucket is owned by
12024
- # a different account, the request will fail with an HTTP `403 (Access
12025
- # Denied)` error.
12908
+ # a different account, the request fails with the HTTP status code `403
12909
+ # Forbidden` (access denied).
12026
12910
  #
12027
12911
  # @return [Types::PutObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12028
12912
  #
@@ -12045,6 +12929,7 @@ module Aws::S3
12045
12929
  # request_payer: "requester", # accepts requester
12046
12930
  # token: "ObjectLockToken",
12047
12931
  # content_md5: "ContentMD5",
12932
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12048
12933
  # expected_bucket_owner: "AccountId",
12049
12934
  # })
12050
12935
  #
@@ -12069,13 +12954,6 @@ module Aws::S3
12069
12954
  #
12070
12955
  # This action is not supported by Amazon S3 on Outposts.
12071
12956
  #
12072
- # **Permissions**
12073
- #
12074
- # When the Object Lock retention mode is set to compliance, you need
12075
- # `s3:PutObjectRetention` and `s3:BypassGovernanceRetention`
12076
- # permissions. For other requests to `PutObjectRetention`, only
12077
- # `s3:PutObjectRetention` permissions are required.
12078
- #
12079
12957
  #
12080
12958
  #
12081
12959
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -12106,8 +12984,8 @@ module Aws::S3
12106
12984
  # @option params [String] :request_payer
12107
12985
  # Confirms that the requester knows that they will be charged for the
12108
12986
  # request. Bucket owners need not specify this parameter in their
12109
- # requests. For information about downloading objects from requester
12110
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
12987
+ # requests. For information about downloading objects from Requester
12988
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
12111
12989
  # in the *Amazon S3 User Guide*.
12112
12990
  #
12113
12991
  #
@@ -12129,10 +13007,26 @@ module Aws::S3
12129
13007
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12130
13008
  # automatically.
12131
13009
  #
13010
+ # @option params [String] :checksum_algorithm
13011
+ # Indicates the algorithm used to create the checksum for the object
13012
+ # when using the SDK. This header will not provide any additional
13013
+ # functionality if not using the SDK. When sending this header, there
13014
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
13015
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
13016
+ # `400 Bad Request`. For more information, see [Checking object
13017
+ # integrity][1] in the *Amazon S3 User Guide*.
13018
+ #
13019
+ # If you provide an individual checksum, Amazon S3 ignores any provided
13020
+ # `ChecksumAlgorithm` parameter.
13021
+ #
13022
+ #
13023
+ #
13024
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
13025
+ #
12132
13026
  # @option params [String] :expected_bucket_owner
12133
13027
  # The account ID of the expected bucket owner. If the bucket is owned by
12134
- # a different account, the request will fail with an HTTP `403 (Access
12135
- # Denied)` error.
13028
+ # a different account, the request fails with the HTTP status code `403
13029
+ # Forbidden` (access denied).
12136
13030
  #
12137
13031
  # @return [Types::PutObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12138
13032
  #
@@ -12151,6 +13045,7 @@ module Aws::S3
12151
13045
  # version_id: "ObjectVersionId",
12152
13046
  # bypass_governance_retention: false,
12153
13047
  # content_md5: "ContentMD5",
13048
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12154
13049
  # expected_bucket_owner: "AccountId",
12155
13050
  # })
12156
13051
  #
@@ -12237,12 +13132,12 @@ module Aws::S3
12237
13132
  #
12238
13133
  # When using this action with Amazon S3 on Outposts, you must direct
12239
13134
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12240
- # takes the form
12241
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12242
- # When using this action using S3 on Outposts through the Amazon Web
13135
+ # takes the form `
13136
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
13137
+ # When using this action with S3 on Outposts through the Amazon Web
12243
13138
  # Services SDKs, you provide the Outposts bucket ARN in place of the
12244
13139
  # bucket name. For more information about S3 on Outposts ARNs, see
12245
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
13140
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12246
13141
  #
12247
13142
  #
12248
13143
  #
@@ -12262,19 +13157,35 @@ module Aws::S3
12262
13157
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12263
13158
  # automatically.
12264
13159
  #
13160
+ # @option params [String] :checksum_algorithm
13161
+ # Indicates the algorithm used to create the checksum for the object
13162
+ # when using the SDK. This header will not provide any additional
13163
+ # functionality if not using the SDK. When sending this header, there
13164
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
13165
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
13166
+ # `400 Bad Request`. For more information, see [Checking object
13167
+ # integrity][1] in the *Amazon S3 User Guide*.
13168
+ #
13169
+ # If you provide an individual checksum, Amazon S3 ignores any provided
13170
+ # `ChecksumAlgorithm` parameter.
13171
+ #
13172
+ #
13173
+ #
13174
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
13175
+ #
12265
13176
  # @option params [required, Types::Tagging] :tagging
12266
13177
  # Container for the `TagSet` and `Tag` elements
12267
13178
  #
12268
13179
  # @option params [String] :expected_bucket_owner
12269
13180
  # The account ID of the expected bucket owner. If the bucket is owned by
12270
- # a different account, the request will fail with an HTTP `403 (Access
12271
- # Denied)` error.
13181
+ # a different account, the request fails with the HTTP status code `403
13182
+ # Forbidden` (access denied).
12272
13183
  #
12273
13184
  # @option params [String] :request_payer
12274
13185
  # Confirms that the requester knows that they will be charged for the
12275
13186
  # request. Bucket owners need not specify this parameter in their
12276
- # requests. For information about downloading objects from requester
12277
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
13187
+ # requests. For information about downloading objects from Requester
13188
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
12278
13189
  # in the *Amazon S3 User Guide*.
12279
13190
  #
12280
13191
  #
@@ -12319,6 +13230,7 @@ module Aws::S3
12319
13230
  # key: "ObjectKey", # required
12320
13231
  # version_id: "ObjectVersionId",
12321
13232
  # content_md5: "ContentMD5",
13233
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12322
13234
  # tagging: { # required
12323
13235
  # tag_set: [ # required
12324
13236
  # {
@@ -12390,6 +13302,22 @@ module Aws::S3
12390
13302
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12391
13303
  # automatically.
12392
13304
  #
13305
+ # @option params [String] :checksum_algorithm
13306
+ # Indicates the algorithm used to create the checksum for the object
13307
+ # when using the SDK. This header will not provide any additional
13308
+ # functionality if not using the SDK. When sending this header, there
13309
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
13310
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
13311
+ # `400 Bad Request`. For more information, see [Checking object
13312
+ # integrity][1] in the *Amazon S3 User Guide*.
13313
+ #
13314
+ # If you provide an individual checksum, Amazon S3 ignores any provided
13315
+ # `ChecksumAlgorithm` parameter.
13316
+ #
13317
+ #
13318
+ #
13319
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
13320
+ #
12393
13321
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
12394
13322
  # The `PublicAccessBlock` configuration that you want to apply to this
12395
13323
  # Amazon S3 bucket. You can enable the configuration options in any
@@ -12403,8 +13331,8 @@ module Aws::S3
12403
13331
  #
12404
13332
  # @option params [String] :expected_bucket_owner
12405
13333
  # The account ID of the expected bucket owner. If the bucket is owned by
12406
- # a different account, the request will fail with an HTTP `403 (Access
12407
- # Denied)` error.
13334
+ # a different account, the request fails with the HTTP status code `403
13335
+ # Forbidden` (access denied).
12408
13336
  #
12409
13337
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
12410
13338
  #
@@ -12413,6 +13341,7 @@ module Aws::S3
12413
13341
  # resp = client.put_public_access_block({
12414
13342
  # bucket: "BucketName", # required
12415
13343
  # content_md5: "ContentMD5",
13344
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12416
13345
  # public_access_block_configuration: { # required
12417
13346
  # block_public_acls: false,
12418
13347
  # ignore_public_acls: false,
@@ -12549,36 +13478,35 @@ module Aws::S3
12549
13478
  # specify one of the following data access tier options in the `Tier`
12550
13479
  # element of the request body:
12551
13480
  #
12552
- # * <b> <code>Expedited</code> </b> - Expedited retrievals allow you to
12553
- # quickly access your data stored in the S3 Glacier storage class or
12554
- # S3 Intelligent-Tiering Archive tier when occasional urgent requests
12555
- # for a subset of archives are required. For all but the largest
12556
- # archived objects (250 MB+), data accessed using Expedited retrievals
12557
- # is typically made available within 1–5 minutes. Provisioned capacity
13481
+ # * `Expedited` - Expedited retrievals allow you to quickly access your
13482
+ # data stored in the S3 Glacier storage class or S3
13483
+ # Intelligent-Tiering Archive tier when occasional urgent requests for
13484
+ # a subset of archives are required. For all but the largest archived
13485
+ # objects (250 MB+), data accessed using Expedited retrievals is
13486
+ # typically made available within 1–5 minutes. Provisioned capacity
12558
13487
  # ensures that retrieval capacity for Expedited retrievals is
12559
13488
  # available when you need it. Expedited retrievals and provisioned
12560
13489
  # capacity are not available for objects stored in the S3 Glacier Deep
12561
13490
  # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
12562
13491
  #
12563
- # * <b> <code>Standard</code> </b> - Standard retrievals allow you to
12564
- # access any of your archived objects within several hours. This is
12565
- # the default option for retrieval requests that do not specify the
12566
- # retrieval option. Standard retrievals typically finish within 3–5
13492
+ # * `Standard` - Standard retrievals allow you to access any of your
13493
+ # archived objects within several hours. This is the default option
13494
+ # for retrieval requests that do not specify the retrieval option.
13495
+ # Standard retrievals typically finish within 3–5 hours for objects
13496
+ # stored in the S3 Glacier storage class or S3 Intelligent-Tiering
13497
+ # Archive tier. They typically finish within 12 hours for objects
13498
+ # stored in the S3 Glacier Deep Archive storage class or S3
13499
+ # Intelligent-Tiering Deep Archive tier. Standard retrievals are free
13500
+ # for objects stored in S3 Intelligent-Tiering.
13501
+ #
13502
+ # * `Bulk` - Bulk retrievals are the lowest-cost retrieval option in S3
13503
+ # Glacier, enabling you to retrieve large amounts, even petabytes, of
13504
+ # data inexpensively. Bulk retrievals typically finish within 5–12
12567
13505
  # hours for objects stored in the S3 Glacier storage class or S3
12568
- # Intelligent-Tiering Archive tier. They typically finish within 12
13506
+ # Intelligent-Tiering Archive tier. They typically finish within 48
12569
13507
  # hours for objects stored in the S3 Glacier Deep Archive storage
12570
- # class or S3 Intelligent-Tiering Deep Archive tier. Standard
12571
- # retrievals are free for objects stored in S3 Intelligent-Tiering.
12572
- #
12573
- # * <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost
12574
- # retrieval option in S3 Glacier, enabling you to retrieve large
12575
- # amounts, even petabytes, of data inexpensively. Bulk retrievals
12576
- # typically finish within 5–12 hours for objects stored in the S3
12577
- # Glacier storage class or S3 Intelligent-Tiering Archive tier. They
12578
- # typically finish within 48 hours for objects stored in the S3
12579
- # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
12580
- # Archive tier. Bulk retrievals are free for objects stored in S3
12581
- # Intelligent-Tiering.
13508
+ # class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals
13509
+ # are free for objects stored in S3 Intelligent-Tiering.
12582
13510
  #
12583
13511
  # For more information about archive retrieval options and provisioned
12584
13512
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -12683,12 +13611,12 @@ module Aws::S3
12683
13611
  #
12684
13612
  # When using this action with Amazon S3 on Outposts, you must direct
12685
13613
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12686
- # takes the form
12687
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12688
- # When using this action using S3 on Outposts through the Amazon Web
13614
+ # takes the form `
13615
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
13616
+ # When using this action with S3 on Outposts through the Amazon Web
12689
13617
  # Services SDKs, you provide the Outposts bucket ARN in place of the
12690
13618
  # bucket name. For more information about S3 on Outposts ARNs, see
12691
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
13619
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12692
13620
  #
12693
13621
  #
12694
13622
  #
@@ -12707,18 +13635,34 @@ module Aws::S3
12707
13635
  # @option params [String] :request_payer
12708
13636
  # Confirms that the requester knows that they will be charged for the
12709
13637
  # request. Bucket owners need not specify this parameter in their
12710
- # requests. For information about downloading objects from requester
12711
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
13638
+ # requests. For information about downloading objects from Requester
13639
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
12712
13640
  # in the *Amazon S3 User Guide*.
12713
13641
  #
12714
13642
  #
12715
13643
  #
12716
13644
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12717
13645
  #
13646
+ # @option params [String] :checksum_algorithm
13647
+ # Indicates the algorithm used to create the checksum for the object
13648
+ # when using the SDK. This header will not provide any additional
13649
+ # functionality if not using the SDK. When sending this header, there
13650
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
13651
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
13652
+ # `400 Bad Request`. For more information, see [Checking object
13653
+ # integrity][1] in the *Amazon S3 User Guide*.
13654
+ #
13655
+ # If you provide an individual checksum, Amazon S3 ignores any provided
13656
+ # `ChecksumAlgorithm` parameter.
13657
+ #
13658
+ #
13659
+ #
13660
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
13661
+ #
12718
13662
  # @option params [String] :expected_bucket_owner
12719
13663
  # The account ID of the expected bucket owner. If the bucket is owned by
12720
- # a different account, the request will fail with an HTTP `403 (Access
12721
- # Denied)` error.
13664
+ # a different account, the request fails with the HTTP status code `403
13665
+ # Forbidden` (access denied).
12722
13666
  #
12723
13667
  # @return [Types::RestoreObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12724
13668
  #
@@ -12833,6 +13777,7 @@ module Aws::S3
12833
13777
  # },
12834
13778
  # },
12835
13779
  # request_payer: "requester", # accepts requester
13780
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12836
13781
  # expected_bucket_owner: "AccountId",
12837
13782
  # })
12838
13783
  #
@@ -12974,25 +13919,30 @@ module Aws::S3
12974
13919
  # The object key.
12975
13920
  #
12976
13921
  # @option params [String] :sse_customer_algorithm
12977
- # The SSE Algorithm used to encrypt the object. For more information,
12978
- # see [Server-Side Encryption (Using Customer-Provided Encryption
12979
- # Keys][1].
13922
+ # The server-side encryption (SSE) algorithm used to encrypt the object.
13923
+ # This parameter is needed only when the object was created using a
13924
+ # checksum algorithm. For more information, see [Protecting data using
13925
+ # SSE-C keys][1] in the *Amazon S3 User Guide*.
12980
13926
  #
12981
13927
  #
12982
13928
  #
12983
13929
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12984
13930
  #
12985
13931
  # @option params [String] :sse_customer_key
12986
- # The SSE Customer Key. For more information, see [Server-Side
12987
- # Encryption (Using Customer-Provided Encryption Keys][1].
13932
+ # The server-side encryption (SSE) customer managed key. This parameter
13933
+ # is needed only when the object was created using a checksum algorithm.
13934
+ # For more information, see [Protecting data using SSE-C keys][1] in the
13935
+ # *Amazon S3 User Guide*.
12988
13936
  #
12989
13937
  #
12990
13938
  #
12991
13939
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12992
13940
  #
12993
13941
  # @option params [String] :sse_customer_key_md5
12994
- # The SSE Customer Key MD5. For more information, see [Server-Side
12995
- # Encryption (Using Customer-Provided Encryption Keys][1].
13942
+ # The MD5 server-side encryption (SSE) customer managed key. This
13943
+ # parameter is needed only when the object was created using a checksum
13944
+ # algorithm. For more information, see [Protecting data using SSE-C
13945
+ # keys][1] in the *Amazon S3 User Guide*.
12996
13946
  #
12997
13947
  #
12998
13948
  #
@@ -13035,8 +13985,8 @@ module Aws::S3
13035
13985
  #
13036
13986
  # @option params [String] :expected_bucket_owner
13037
13987
  # The account ID of the expected bucket owner. If the bucket is owned by
13038
- # a different account, the request will fail with an HTTP `403 (Access
13039
- # Denied)` error.
13988
+ # a different account, the request fails with the HTTP status code `403
13989
+ # Forbidden` (access denied).
13040
13990
  #
13041
13991
  # @return [Types::SelectObjectContentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13042
13992
  #
@@ -13389,12 +14339,12 @@ module Aws::S3
13389
14339
  #
13390
14340
  # When using this action with Amazon S3 on Outposts, you must direct
13391
14341
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13392
- # takes the form
13393
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13394
- # When using this action using S3 on Outposts through the Amazon Web
14342
+ # takes the form `
14343
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
14344
+ # When using this action with S3 on Outposts through the Amazon Web
13395
14345
  # Services SDKs, you provide the Outposts bucket ARN in place of the
13396
14346
  # bucket name. For more information about S3 on Outposts ARNs, see
13397
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
14347
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13398
14348
  #
13399
14349
  #
13400
14350
  #
@@ -13410,6 +14360,69 @@ module Aws::S3
13410
14360
  # is auto-populated when using the command from the CLI. This parameter
13411
14361
  # is required if object lock parameters are specified.
13412
14362
  #
14363
+ # @option params [String] :checksum_algorithm
14364
+ # Indicates the algorithm used to create the checksum for the object
14365
+ # when using the SDK. This header will not provide any additional
14366
+ # functionality if not using the SDK. When sending this header, there
14367
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
14368
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
14369
+ # `400 Bad Request`. For more information, see [Checking object
14370
+ # integrity][1] in the *Amazon S3 User Guide*.
14371
+ #
14372
+ # If you provide an individual checksum, Amazon S3 ignores any provided
14373
+ # `ChecksumAlgorithm` parameter.
14374
+ #
14375
+ # This checksum algorithm must be the same for all parts and it match
14376
+ # the checksum value supplied in the `CreateMultipartUpload` request.
14377
+ #
14378
+ #
14379
+ #
14380
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14381
+ #
14382
+ # @option params [String] :checksum_crc32
14383
+ # This header can be used as a data integrity check to verify that the
14384
+ # data received is the same data that was originally sent. This header
14385
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
14386
+ # more information, see [Checking object integrity][1] in the *Amazon S3
14387
+ # User Guide*.
14388
+ #
14389
+ #
14390
+ #
14391
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14392
+ #
14393
+ # @option params [String] :checksum_crc32c
14394
+ # This header can be used as a data integrity check to verify that the
14395
+ # data received is the same data that was originally sent. This header
14396
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
14397
+ # For more information, see [Checking object integrity][1] in the
14398
+ # *Amazon S3 User Guide*.
14399
+ #
14400
+ #
14401
+ #
14402
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14403
+ #
14404
+ # @option params [String] :checksum_sha1
14405
+ # This header can be used as a data integrity check to verify that the
14406
+ # data received is the same data that was originally sent. This header
14407
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
14408
+ # more information, see [Checking object integrity][1] in the *Amazon S3
14409
+ # User Guide*.
14410
+ #
14411
+ #
14412
+ #
14413
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14414
+ #
14415
+ # @option params [String] :checksum_sha256
14416
+ # This header can be used as a data integrity check to verify that the
14417
+ # data received is the same data that was originally sent. This header
14418
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
14419
+ # For more information, see [Checking object integrity][1] in the
14420
+ # *Amazon S3 User Guide*.
14421
+ #
14422
+ #
14423
+ #
14424
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14425
+ #
13413
14426
  # @option params [required, String] :key
13414
14427
  # Object key for which the multipart upload was initiated.
13415
14428
  #
@@ -13442,8 +14455,8 @@ module Aws::S3
13442
14455
  # @option params [String] :request_payer
13443
14456
  # Confirms that the requester knows that they will be charged for the
13444
14457
  # request. Bucket owners need not specify this parameter in their
13445
- # requests. For information about downloading objects from requester
13446
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
14458
+ # requests. For information about downloading objects from Requester
14459
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
13447
14460
  # in the *Amazon S3 User Guide*.
13448
14461
  #
13449
14462
  #
@@ -13452,13 +14465,17 @@ module Aws::S3
13452
14465
  #
13453
14466
  # @option params [String] :expected_bucket_owner
13454
14467
  # The account ID of the expected bucket owner. If the bucket is owned by
13455
- # a different account, the request will fail with an HTTP `403 (Access
13456
- # Denied)` error.
14468
+ # a different account, the request fails with the HTTP status code `403
14469
+ # Forbidden` (access denied).
13457
14470
  #
13458
14471
  # @return [Types::UploadPartOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13459
14472
  #
13460
14473
  # * {Types::UploadPartOutput#server_side_encryption #server_side_encryption} => String
13461
14474
  # * {Types::UploadPartOutput#etag #etag} => String
14475
+ # * {Types::UploadPartOutput#checksum_crc32 #checksum_crc32} => String
14476
+ # * {Types::UploadPartOutput#checksum_crc32c #checksum_crc32c} => String
14477
+ # * {Types::UploadPartOutput#checksum_sha1 #checksum_sha1} => String
14478
+ # * {Types::UploadPartOutput#checksum_sha256 #checksum_sha256} => String
13462
14479
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
13463
14480
  # * {Types::UploadPartOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
13464
14481
  # * {Types::UploadPartOutput#ssekms_key_id #ssekms_key_id} => String
@@ -13491,6 +14508,11 @@ module Aws::S3
13491
14508
  # bucket: "BucketName", # required
13492
14509
  # content_length: 1,
13493
14510
  # content_md5: "ContentMD5",
14511
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14512
+ # checksum_crc32: "ChecksumCRC32",
14513
+ # checksum_crc32c: "ChecksumCRC32C",
14514
+ # checksum_sha1: "ChecksumSHA1",
14515
+ # checksum_sha256: "ChecksumSHA256",
13494
14516
  # key: "ObjectKey", # required
13495
14517
  # part_number: 1, # required
13496
14518
  # upload_id: "MultipartUploadId", # required
@@ -13505,6 +14527,10 @@ module Aws::S3
13505
14527
  #
13506
14528
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
13507
14529
  # resp.etag #=> String
14530
+ # resp.checksum_crc32 #=> String
14531
+ # resp.checksum_crc32c #=> String
14532
+ # resp.checksum_sha1 #=> String
14533
+ # resp.checksum_sha256 #=> String
13508
14534
  # resp.sse_customer_algorithm #=> String
13509
14535
  # resp.sse_customer_key_md5 #=> String
13510
14536
  # resp.ssekms_key_id #=> String
@@ -13550,12 +14576,12 @@ module Aws::S3
13550
14576
  # S3 User Guide*.
13551
14577
  #
13552
14578
  # * For information about copying objects using a single atomic action
13553
- # vs. the multipart upload, see [Operations on Objects][5] in the
14579
+ # vs. a multipart upload, see [Operations on Objects][5] in the
13554
14580
  # *Amazon S3 User Guide*.
13555
14581
  #
13556
14582
  # * For information about using server-side encryption with
13557
- # customer-provided encryption keys with the UploadPartCopy operation,
13558
- # see [CopyObject][6] and [UploadPart][2].
14583
+ # customer-provided encryption keys with the `UploadPartCopy`
14584
+ # operation, see [CopyObject][6] and [UploadPart][2].
13559
14585
  #
13560
14586
  # Note the following additional considerations about the request headers
13561
14587
  # `x-amz-copy-source-if-match`, `x-amz-copy-source-if-none-match`,
@@ -13663,12 +14689,12 @@ module Aws::S3
13663
14689
  #
13664
14690
  # When using this action with Amazon S3 on Outposts, you must direct
13665
14691
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13666
- # takes the form
13667
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13668
- # When using this action using S3 on Outposts through the Amazon Web
14692
+ # takes the form `
14693
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
14694
+ # When using this action with S3 on Outposts through the Amazon Web
13669
14695
  # Services SDKs, you provide the Outposts bucket ARN in place of the
13670
14696
  # bucket name. For more information about S3 on Outposts ARNs, see
13671
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
14697
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13672
14698
  #
13673
14699
  #
13674
14700
  #
@@ -13684,8 +14710,8 @@ module Aws::S3
13684
14710
  # of the source bucket and key of the source object, separated by a
13685
14711
  # slash (/). For example, to copy the object `reports/january.pdf`
13686
14712
  # from the bucket `awsexamplebucket`, use
13687
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
13688
- # encoded.
14713
+ # `awsexamplebucket/reports/january.pdf`. The value must be
14714
+ # URL-encoded.
13689
14715
  #
13690
14716
  # * For objects accessed through access points, specify the Amazon
13691
14717
  # Resource Name (ARN) of the object as accessed through the access
@@ -13710,7 +14736,7 @@ module Aws::S3
13710
14736
  # outpost `my-outpost` owned by account `123456789012` in Region
13711
14737
  # `us-west-2`, use the URL encoding of
13712
14738
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
13713
- # The value must be URL encoded.
14739
+ # The value must be URL-encoded.
13714
14740
  #
13715
14741
  # To copy a specific version of an object, append
13716
14742
  # `?versionId=<version-id>` to the value (for example,
@@ -13788,8 +14814,8 @@ module Aws::S3
13788
14814
  # @option params [String] :request_payer
13789
14815
  # Confirms that the requester knows that they will be charged for the
13790
14816
  # request. Bucket owners need not specify this parameter in their
13791
- # requests. For information about downloading objects from requester
13792
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
14817
+ # requests. For information about downloading objects from Requester
14818
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
13793
14819
  # in the *Amazon S3 User Guide*.
13794
14820
  #
13795
14821
  #
@@ -13798,13 +14824,13 @@ module Aws::S3
13798
14824
  #
13799
14825
  # @option params [String] :expected_bucket_owner
13800
14826
  # The account ID of the expected destination bucket owner. If the
13801
- # destination bucket is owned by a different account, the request will
13802
- # fail with an HTTP `403 (Access Denied)` error.
14827
+ # destination bucket is owned by a different account, the request fails
14828
+ # with the HTTP status code `403 Forbidden` (access denied).
13803
14829
  #
13804
14830
  # @option params [String] :expected_source_bucket_owner
13805
14831
  # The account ID of the expected source bucket owner. If the source
13806
- # bucket is owned by a different account, the request will fail with an
13807
- # HTTP `403 (Access Denied)` error.
14832
+ # bucket is owned by a different account, the request fails with the
14833
+ # HTTP status code `403 Forbidden` (access denied).
13808
14834
  #
13809
14835
  # @return [Types::UploadPartCopyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13810
14836
  #
@@ -13818,45 +14844,45 @@ module Aws::S3
13818
14844
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
13819
14845
  #
13820
14846
  #
13821
- # @example Example: To upload a part by copying byte range from an existing object as data source
14847
+ # @example Example: To upload a part by copying data from an existing object as data source
13822
14848
  #
13823
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13824
- # # data source.
14849
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13825
14850
  #
13826
14851
  # resp = client.upload_part_copy({
13827
14852
  # bucket: "examplebucket",
13828
14853
  # copy_source: "/bucketname/sourceobjectkey",
13829
- # copy_source_range: "bytes=1-100000",
13830
14854
  # key: "examplelargeobject",
13831
- # part_number: 2,
14855
+ # part_number: 1,
13832
14856
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13833
14857
  # })
13834
14858
  #
13835
14859
  # resp.to_h outputs the following:
13836
14860
  # {
13837
14861
  # copy_part_result: {
13838
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13839
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
14862
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
14863
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13840
14864
  # },
13841
14865
  # }
13842
14866
  #
13843
- # @example Example: To upload a part by copying data from an existing object as data source
14867
+ # @example Example: To upload a part by copying byte range from an existing object as data source
13844
14868
  #
13845
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
14869
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
14870
+ # # data source.
13846
14871
  #
13847
14872
  # resp = client.upload_part_copy({
13848
14873
  # bucket: "examplebucket",
13849
14874
  # copy_source: "/bucketname/sourceobjectkey",
14875
+ # copy_source_range: "bytes=1-100000",
13850
14876
  # key: "examplelargeobject",
13851
- # part_number: 1,
14877
+ # part_number: 2,
13852
14878
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13853
14879
  # })
13854
14880
  #
13855
14881
  # resp.to_h outputs the following:
13856
14882
  # {
13857
14883
  # copy_part_result: {
13858
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13859
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
14884
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
14885
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13860
14886
  # },
13861
14887
  # }
13862
14888
  #
@@ -13889,6 +14915,10 @@ module Aws::S3
13889
14915
  # resp.copy_source_version_id #=> String
13890
14916
  # resp.copy_part_result.etag #=> String
13891
14917
  # resp.copy_part_result.last_modified #=> Time
14918
+ # resp.copy_part_result.checksum_crc32 #=> String
14919
+ # resp.copy_part_result.checksum_crc32c #=> String
14920
+ # resp.copy_part_result.checksum_sha1 #=> String
14921
+ # resp.copy_part_result.checksum_sha256 #=> String
13892
14922
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
13893
14923
  # resp.sse_customer_algorithm #=> String
13894
14924
  # resp.sse_customer_key_md5 #=> String
@@ -13978,41 +15008,41 @@ module Aws::S3
13978
15008
  #
13979
15009
  # **Status Codes**
13980
15010
  #
13981
- # * *200 - OK*
15011
+ # * `200 - OK`
13982
15012
  #
13983
- # * *206 - Partial Content*
15013
+ # * `206 - Partial Content`
13984
15014
  #
13985
- # * *304 - Not Modified*
15015
+ # * `304 - Not Modified`
13986
15016
  #
13987
- # * *400 - Bad Request*
15017
+ # * `400 - Bad Request`
13988
15018
  #
13989
- # * *401 - Unauthorized*
15019
+ # * `401 - Unauthorized`
13990
15020
  #
13991
- # * *403 - Forbidden*
15021
+ # * `403 - Forbidden`
13992
15022
  #
13993
- # * *404 - Not Found*
15023
+ # * `404 - Not Found`
13994
15024
  #
13995
- # * *405 - Method Not Allowed*
15025
+ # * `405 - Method Not Allowed`
13996
15026
  #
13997
- # * *409 - Conflict*
15027
+ # * `409 - Conflict`
13998
15028
  #
13999
- # * *411 - Length Required*
15029
+ # * `411 - Length Required`
14000
15030
  #
14001
- # * *412 - Precondition Failed*
15031
+ # * `412 - Precondition Failed`
14002
15032
  #
14003
- # * *416 - Range Not Satisfiable*
15033
+ # * `416 - Range Not Satisfiable`
14004
15034
  #
14005
- # * *500 - Internal Server Error*
15035
+ # * `500 - Internal Server Error`
14006
15036
  #
14007
- # * *503 - Service Unavailable*
15037
+ # * `503 - Service Unavailable`
14008
15038
  #
14009
15039
  # @option params [String] :error_code
14010
15040
  # A string that uniquely identifies an error condition. Returned in the
14011
15041
  # &lt;Code&gt; tag of the error XML response for a corresponding
14012
15042
  # `GetObject` call. Cannot be used with a successful `StatusCode` header
14013
15043
  # or when the transformed object is provided in the body. All error
14014
- # codes from S3 are sentence-cased. Regex value is
14015
- # "^\[A-Z\]\[a-zA-Z\]+$".
15044
+ # codes from S3 are sentence-cased. The regular expression (regex) value
15045
+ # is `"^[A-Z][a-zA-Z]+$"`.
14016
15046
  #
14017
15047
  # @option params [String] :error_message
14018
15048
  # Contains a generic description of the error condition. Returned in the
@@ -14046,6 +15076,80 @@ module Aws::S3
14046
15076
  # @option params [String] :content_type
14047
15077
  # A standard MIME type describing the format of the object data.
14048
15078
  #
15079
+ # @option params [String] :checksum_crc32
15080
+ # This header can be used as a data integrity check to verify that the
15081
+ # data received is the same data that was originally sent. This
15082
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object
15083
+ # returned by the Object Lambda function. This may not match the
15084
+ # checksum for the object stored in Amazon S3. Amazon S3 will perform
15085
+ # validation of the checksum values only when the original `GetObject`
15086
+ # request required checksum validation. For more information about
15087
+ # checksums, see [Checking object integrity][1] in the *Amazon S3 User
15088
+ # Guide*.
15089
+ #
15090
+ # Only one checksum header can be specified at a time. If you supply
15091
+ # multiple checksum headers, this request will fail.
15092
+ #
15093
+ #
15094
+ #
15095
+ #
15096
+ #
15097
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
15098
+ #
15099
+ # @option params [String] :checksum_crc32c
15100
+ # This header can be used as a data integrity check to verify that the
15101
+ # data received is the same data that was originally sent. This
15102
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object
15103
+ # returned by the Object Lambda function. This may not match the
15104
+ # checksum for the object stored in Amazon S3. Amazon S3 will perform
15105
+ # validation of the checksum values only when the original `GetObject`
15106
+ # request required checksum validation. For more information about
15107
+ # checksums, see [Checking object integrity][1] in the *Amazon S3 User
15108
+ # Guide*.
15109
+ #
15110
+ # Only one checksum header can be specified at a time. If you supply
15111
+ # multiple checksum headers, this request will fail.
15112
+ #
15113
+ #
15114
+ #
15115
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
15116
+ #
15117
+ # @option params [String] :checksum_sha1
15118
+ # This header can be used as a data integrity check to verify that the
15119
+ # data received is the same data that was originally sent. This
15120
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object
15121
+ # returned by the Object Lambda function. This may not match the
15122
+ # checksum for the object stored in Amazon S3. Amazon S3 will perform
15123
+ # validation of the checksum values only when the original `GetObject`
15124
+ # request required checksum validation. For more information about
15125
+ # checksums, see [Checking object integrity][1] in the *Amazon S3 User
15126
+ # Guide*.
15127
+ #
15128
+ # Only one checksum header can be specified at a time. If you supply
15129
+ # multiple checksum headers, this request will fail.
15130
+ #
15131
+ #
15132
+ #
15133
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
15134
+ #
15135
+ # @option params [String] :checksum_sha256
15136
+ # This header can be used as a data integrity check to verify that the
15137
+ # data received is the same data that was originally sent. This
15138
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object
15139
+ # returned by the Object Lambda function. This may not match the
15140
+ # checksum for the object stored in Amazon S3. Amazon S3 will perform
15141
+ # validation of the checksum values only when the original `GetObject`
15142
+ # request required checksum validation. For more information about
15143
+ # checksums, see [Checking object integrity][1] in the *Amazon S3 User
15144
+ # Guide*.
15145
+ #
15146
+ # Only one checksum header can be specified at a time. If you supply
15147
+ # multiple checksum headers, this request will fail.
15148
+ #
15149
+ #
15150
+ #
15151
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
15152
+ #
14049
15153
  # @option params [Boolean] :delete_marker
14050
15154
  # Specifies whether an object stored in Amazon S3 is (`true`) or is not
14051
15155
  # (`false`) a delete marker.
@@ -14058,10 +15162,10 @@ module Aws::S3
14058
15162
  # The date and time at which the object is no longer cacheable.
14059
15163
  #
14060
15164
  # @option params [String] :expiration
14061
- # If object stored in Amazon S3 expiration is configured (see PUT Bucket
14062
- # lifecycle) it includes expiry-date and rule-id key-value pairs
14063
- # providing object expiration information. The value of the rule-id is
14064
- # URL encoded.
15165
+ # If the object expiration is configured (see PUT Bucket lifecycle), the
15166
+ # response includes this header. It includes the `expiry-date` and
15167
+ # `rule-id` key-value pairs that provide the object expiration
15168
+ # information. The value of the `rule-id` is URL-encoded.
14065
15169
  #
14066
15170
  # @option params [Time,DateTime,Date,Integer,String] :last_modified
14067
15171
  # The date and time that the object was last modified.
@@ -14137,7 +15241,15 @@ module Aws::S3
14137
15241
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
14138
15242
  #
14139
15243
  # @option params [String] :storage_class
14140
- # The class of storage used to store object in Amazon S3.
15244
+ # Provides storage class information of the object. Amazon S3 returns
15245
+ # this header for all objects except for S3 Standard storage class
15246
+ # objects.
15247
+ #
15248
+ # For more information, see [Storage Classes][1].
15249
+ #
15250
+ #
15251
+ #
15252
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
14141
15253
  #
14142
15254
  # @option params [Integer] :tag_count
14143
15255
  # The number of tags, if any, on the object.
@@ -14168,6 +15280,10 @@ module Aws::S3
14168
15280
  # content_length: 1,
14169
15281
  # content_range: "ContentRange",
14170
15282
  # content_type: "ContentType",
15283
+ # checksum_crc32: "ChecksumCRC32",
15284
+ # checksum_crc32c: "ChecksumCRC32C",
15285
+ # checksum_sha1: "ChecksumSHA1",
15286
+ # checksum_sha256: "ChecksumSHA256",
14171
15287
  # delete_marker: false,
14172
15288
  # etag: "ETag",
14173
15289
  # expires: Time.now,
@@ -14216,7 +15332,7 @@ module Aws::S3
14216
15332
  params: params,
14217
15333
  config: config)
14218
15334
  context[:gem_name] = 'aws-sdk-s3'
14219
- context[:gem_version] = '1.111.3'
15335
+ context[:gem_version] = '1.113.1'
14220
15336
  Seahorse::Client::Request.new(handlers, context)
14221
15337
  end
14222
15338