aws-sdk-s3 1.112.0 → 1.113.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,6 +27,7 @@ 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'
31
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
32
33
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
@@ -48,6 +49,7 @@ require 'aws-sdk-s3/plugins/s3_signer.rb'
48
49
  require 'aws-sdk-s3/plugins/sse_cpk.rb'
49
50
  require 'aws-sdk-s3/plugins/streaming_retry.rb'
50
51
  require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
52
+ require 'aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb'
51
53
  require 'aws-sdk-core/plugins/event_stream_configuration.rb'
52
54
 
53
55
  Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
@@ -93,6 +95,7 @@ module Aws::S3
93
95
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
94
96
  add_plugin(Aws::Plugins::TransferEncoding)
95
97
  add_plugin(Aws::Plugins::HttpChecksum)
98
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
96
99
  add_plugin(Aws::Plugins::DefaultsMode)
97
100
  add_plugin(Aws::Plugins::RecursionDetection)
98
101
  add_plugin(Aws::Plugins::Protocols::RestXml)
@@ -114,6 +117,7 @@ module Aws::S3
114
117
  add_plugin(Aws::S3::Plugins::SseCpk)
115
118
  add_plugin(Aws::S3::Plugins::StreamingRetry)
116
119
  add_plugin(Aws::S3::Plugins::UrlEncodedKeys)
120
+ add_plugin(Aws::S3::Plugins::SkipWholeMultipartGetChecksums)
117
121
  add_plugin(Aws::Plugins::EventStreamConfiguration)
118
122
 
119
123
  # @overload initialize(options)
@@ -482,12 +486,12 @@ module Aws::S3
482
486
  #
483
487
  # When using this action with Amazon S3 on Outposts, you must direct
484
488
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
485
- # takes the form
486
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
487
- # 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
488
492
  # Services SDKs, you provide the Outposts bucket ARN in place of the
489
493
  # bucket name. For more information about S3 on Outposts ARNs, see
490
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
494
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
491
495
  #
492
496
  #
493
497
  #
@@ -503,8 +507,8 @@ module Aws::S3
503
507
  # @option params [String] :request_payer
504
508
  # Confirms that the requester knows that they will be charged for the
505
509
  # request. Bucket owners need not specify this parameter in their
506
- # requests. For information about downloading objects from requester
507
- # 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]
508
512
  # in the *Amazon S3 User Guide*.
509
513
  #
510
514
  #
@@ -513,8 +517,8 @@ module Aws::S3
513
517
  #
514
518
  # @option params [String] :expected_bucket_owner
515
519
  # The account ID of the expected bucket owner. If the bucket is owned by
516
- # a different account, the request will fail with an HTTP `403 (Access
517
- # Denied)` error.
520
+ # a different account, the request fails with the HTTP status code `403
521
+ # Forbidden` (access denied).
518
522
  #
519
523
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
520
524
  #
@@ -664,12 +668,12 @@ module Aws::S3
664
668
  #
665
669
  # When using this action with Amazon S3 on Outposts, you must direct
666
670
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
667
- # takes the form
668
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
669
- # 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
670
674
  # Services SDKs, you provide the Outposts bucket ARN in place of the
671
675
  # bucket name. For more information about S3 on Outposts ARNs, see
672
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
676
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
673
677
  #
674
678
  #
675
679
  #
@@ -685,11 +689,55 @@ module Aws::S3
685
689
  # @option params [required, String] :upload_id
686
690
  # ID for the initiated multipart upload.
687
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
+ #
688
736
  # @option params [String] :request_payer
689
737
  # Confirms that the requester knows that they will be charged for the
690
738
  # request. Bucket owners need not specify this parameter in their
691
- # requests. For information about downloading objects from requester
692
- # 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]
693
741
  # in the *Amazon S3 User Guide*.
694
742
  #
695
743
  #
@@ -698,8 +746,38 @@ module Aws::S3
698
746
  #
699
747
  # @option params [String] :expected_bucket_owner
700
748
  # The account ID of the expected bucket owner. If the bucket is owned by
701
- # a different account, the request will fail with an HTTP `403 (Access
702
- # 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
703
781
  #
704
782
  # @return [Types::CompleteMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
705
783
  #
@@ -708,6 +786,10 @@ module Aws::S3
708
786
  # * {Types::CompleteMultipartUploadOutput#key #key} => String
709
787
  # * {Types::CompleteMultipartUploadOutput#expiration #expiration} => String
710
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
711
793
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
712
794
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
713
795
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
@@ -754,13 +836,24 @@ module Aws::S3
754
836
  # parts: [
755
837
  # {
756
838
  # etag: "ETag",
839
+ # checksum_crc32: "ChecksumCRC32",
840
+ # checksum_crc32c: "ChecksumCRC32C",
841
+ # checksum_sha1: "ChecksumSHA1",
842
+ # checksum_sha256: "ChecksumSHA256",
757
843
  # part_number: 1,
758
844
  # },
759
845
  # ],
760
846
  # },
761
847
  # upload_id: "MultipartUploadId", # required
848
+ # checksum_crc32: "ChecksumCRC32",
849
+ # checksum_crc32c: "ChecksumCRC32C",
850
+ # checksum_sha1: "ChecksumSHA1",
851
+ # checksum_sha256: "ChecksumSHA256",
762
852
  # request_payer: "requester", # accepts requester
763
853
  # expected_bucket_owner: "AccountId",
854
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
855
+ # sse_customer_key: "SSECustomerKey",
856
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
764
857
  # })
765
858
  #
766
859
  # @example Response structure
@@ -770,6 +863,10 @@ module Aws::S3
770
863
  # resp.key #=> String
771
864
  # resp.expiration #=> String
772
865
  # resp.etag #=> String
866
+ # resp.checksum_crc32 #=> String
867
+ # resp.checksum_crc32c #=> String
868
+ # resp.checksum_sha1 #=> String
869
+ # resp.checksum_sha256 #=> String
773
870
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
774
871
  # resp.version_id #=> String
775
872
  # resp.ssekms_key_id #=> String
@@ -790,8 +887,9 @@ module Aws::S3
790
887
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
791
888
  # create a copy of your object up to 5 GB in size in a single atomic
792
889
  # action using this API. However, to copy an object greater than 5 GB,
793
- # you must use the multipart upload Upload Part - Copy API. For more
794
- # 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].
795
893
  #
796
894
  # </note>
797
895
  #
@@ -846,7 +944,7 @@ module Aws::S3
846
944
  # condition keys, see [Actions, Resources, and Condition Keys for Amazon
847
945
  # S3][7].
848
946
  #
849
- # <b> <code>x-amz-copy-source-if</code> Headers</b>
947
+ # **x-amz-copy-source-if Headers**
850
948
  #
851
949
  # To only copy an object under certain conditions, such as whether the
852
950
  # `Etag` matches or whether the object was modified before or after a
@@ -926,6 +1024,13 @@ module Aws::S3
926
1024
  #
927
1025
  # </note>
928
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
+ #
929
1034
  # **Storage Class Options**
930
1035
  #
931
1036
  # You can use the `CopyObject` action to change the storage class of an
@@ -999,12 +1104,12 @@ module Aws::S3
999
1104
  #
1000
1105
  # When using this action with Amazon S3 on Outposts, you must direct
1001
1106
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1002
- # takes the form
1003
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1004
- # 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
1005
1110
  # Services SDKs, you provide the Outposts bucket ARN in place of the
1006
1111
  # bucket name. For more information about S3 on Outposts ARNs, see
1007
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
1112
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
1008
1113
  #
1009
1114
  #
1010
1115
  #
@@ -1014,6 +1119,15 @@ module Aws::S3
1014
1119
  # @option params [String] :cache_control
1015
1120
  # Specifies caching behavior along the request/reply chain.
1016
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
+ #
1017
1131
  # @option params [String] :content_disposition
1018
1132
  # Specifies presentational information for the object.
1019
1133
  #
@@ -1037,8 +1151,8 @@ module Aws::S3
1037
1151
  # of the source bucket and the key of the source object, separated by
1038
1152
  # a slash (/). For example, to copy the object `reports/january.pdf`
1039
1153
  # from the bucket `awsexamplebucket`, use
1040
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
1041
- # encoded.
1154
+ # `awsexamplebucket/reports/january.pdf`. The value must be
1155
+ # URL-encoded.
1042
1156
  #
1043
1157
  # * For objects accessed through access points, specify the Amazon
1044
1158
  # Resource Name (ARN) of the object as accessed through the access
@@ -1063,7 +1177,7 @@ module Aws::S3
1063
1177
  # outpost `my-outpost` owned by account `123456789012` in Region
1064
1178
  # `us-west-2`, use the URL encoding of
1065
1179
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
1066
- # The value must be URL encoded.
1180
+ # The value must be URL-encoded.
1067
1181
  #
1068
1182
  # To copy a specific version of an object, append
1069
1183
  # `?versionId=<version-id>` to the value (for example,
@@ -1208,8 +1322,8 @@ module Aws::S3
1208
1322
  # @option params [String] :request_payer
1209
1323
  # Confirms that the requester knows that they will be charged for the
1210
1324
  # request. Bucket owners need not specify this parameter in their
1211
- # requests. For information about downloading objects from requester
1212
- # 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]
1213
1327
  # in the *Amazon S3 User Guide*.
1214
1328
  #
1215
1329
  #
@@ -1229,17 +1343,17 @@ module Aws::S3
1229
1343
  # expire.
1230
1344
  #
1231
1345
  # @option params [String] :object_lock_legal_hold_status
1232
- # 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.
1233
1347
  #
1234
1348
  # @option params [String] :expected_bucket_owner
1235
1349
  # The account ID of the expected destination bucket owner. If the
1236
- # destination bucket is owned by a different account, the request will
1237
- # 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).
1238
1352
  #
1239
1353
  # @option params [String] :expected_source_bucket_owner
1240
1354
  # The account ID of the expected source bucket owner. If the source
1241
- # bucket is owned by a different account, the request will fail with an
1242
- # 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).
1243
1357
  #
1244
1358
  # @return [Types::CopyObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1245
1359
  #
@@ -1280,6 +1394,7 @@ module Aws::S3
1280
1394
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
1281
1395
  # bucket: "BucketName", # required
1282
1396
  # cache_control: "CacheControl",
1397
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1283
1398
  # content_disposition: "ContentDisposition",
1284
1399
  # content_encoding: "ContentEncoding",
1285
1400
  # content_language: "ContentLanguage",
@@ -1325,6 +1440,10 @@ module Aws::S3
1325
1440
  #
1326
1441
  # resp.copy_object_result.etag #=> String
1327
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
1328
1447
  # resp.expiration #=> String
1329
1448
  # resp.copy_source_version_id #=> String
1330
1449
  # resp.version_id #=> String
@@ -1543,33 +1662,33 @@ module Aws::S3
1543
1662
  # * {Types::CreateBucketOutput#location #location} => String
1544
1663
  #
1545
1664
  #
1546
- # @example Example: To create a bucket in a specific region
1665
+ # @example Example: To create a bucket
1547
1666
  #
1548
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1667
+ # # The following example creates a bucket.
1549
1668
  #
1550
1669
  # resp = client.create_bucket({
1551
1670
  # bucket: "examplebucket",
1552
- # create_bucket_configuration: {
1553
- # location_constraint: "eu-west-1",
1554
- # },
1555
1671
  # })
1556
1672
  #
1557
1673
  # resp.to_h outputs the following:
1558
1674
  # {
1559
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1675
+ # location: "/examplebucket",
1560
1676
  # }
1561
1677
  #
1562
- # @example Example: To create a bucket
1678
+ # @example Example: To create a bucket in a specific region
1563
1679
  #
1564
- # # The following example creates a bucket.
1680
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1565
1681
  #
1566
1682
  # resp = client.create_bucket({
1567
1683
  # bucket: "examplebucket",
1684
+ # create_bucket_configuration: {
1685
+ # location_constraint: "eu-west-1",
1686
+ # },
1568
1687
  # })
1569
1688
  #
1570
1689
  # resp.to_h outputs the following:
1571
1690
  # {
1572
- # location: "/examplebucket",
1691
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1573
1692
  # }
1574
1693
  #
1575
1694
  # @example Request syntax with placeholder values
@@ -1698,11 +1817,11 @@ module Aws::S3
1698
1817
  # used to encrypt data, specify the following headers in the
1699
1818
  # request.
1700
1819
  #
1701
- # * x-amz-server-side-encryption
1820
+ # * `x-amz-server-side-encryption`
1702
1821
  #
1703
- # * x-amz-server-side-encryption-aws-kms-key-id
1822
+ # * `x-amz-server-side-encryption-aws-kms-key-id`
1704
1823
  #
1705
- # * x-amz-server-side-encryption-context
1824
+ # * `x-amz-server-side-encryption-context`
1706
1825
  #
1707
1826
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1708
1827
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
@@ -1723,11 +1842,11 @@ module Aws::S3
1723
1842
  # own encryption keys, provide all the following headers in the
1724
1843
  # request.
1725
1844
  #
1726
- # * x-amz-server-side-encryption-customer-algorithm
1845
+ # * `x-amz-server-side-encryption-customer-algorithm`
1727
1846
  #
1728
- # * x-amz-server-side-encryption-customer-key
1847
+ # * `x-amz-server-side-encryption-customer-key`
1729
1848
  #
1730
- # * x-amz-server-side-encryption-customer-key-MD5
1849
+ # * `x-amz-server-side-encryption-customer-key-MD5`
1731
1850
  #
1732
1851
  # For more information about server-side encryption with KMS keys
1733
1852
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
@@ -1757,15 +1876,15 @@ module Aws::S3
1757
1876
  # header, you specify a list of grantees who get the specific
1758
1877
  # permission. To grant permissions explicitly, use:
1759
1878
  #
1760
- # * x-amz-grant-read
1879
+ # * `x-amz-grant-read`
1761
1880
  #
1762
- # * x-amz-grant-write
1881
+ # * `x-amz-grant-write`
1763
1882
  #
1764
- # * x-amz-grant-read-acp
1883
+ # * `x-amz-grant-read-acp`
1765
1884
  #
1766
- # * x-amz-grant-write-acp
1885
+ # * `x-amz-grant-write-acp`
1767
1886
  #
1768
- # * x-amz-grant-full-control
1887
+ # * `x-amz-grant-full-control`
1769
1888
  #
1770
1889
  # You specify each grantee as a type=value pair, where the type is
1771
1890
  # one of the following:
@@ -1859,12 +1978,12 @@ module Aws::S3
1859
1978
  #
1860
1979
  # When using this action with Amazon S3 on Outposts, you must direct
1861
1980
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1862
- # takes the form
1863
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1864
- # 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
1865
1984
  # Services SDKs, you provide the Outposts bucket ARN in place of the
1866
1985
  # bucket name. For more information about S3 on Outposts ARNs, see
1867
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
1986
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
1868
1987
  #
1869
1988
  #
1870
1989
  #
@@ -1985,8 +2104,8 @@ module Aws::S3
1985
2104
  # @option params [String] :request_payer
1986
2105
  # Confirms that the requester knows that they will be charged for the
1987
2106
  # request. Bucket owners need not specify this parameter in their
1988
- # requests. For information about downloading objects from requester
1989
- # 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]
1990
2109
  # in the *Amazon S3 User Guide*.
1991
2110
  #
1992
2111
  #
@@ -2005,13 +2124,22 @@ module Aws::S3
2005
2124
  # Specifies the date and time when you want the Object Lock to expire.
2006
2125
  #
2007
2126
  # @option params [String] :object_lock_legal_hold_status
2008
- # 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
2009
2128
  # object.
2010
2129
  #
2011
2130
  # @option params [String] :expected_bucket_owner
2012
2131
  # The account ID of the expected bucket owner. If the bucket is owned by
2013
- # a different account, the request will fail with an HTTP `403 (Access
2014
- # 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
2015
2143
  #
2016
2144
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2017
2145
  #
@@ -2027,6 +2155,7 @@ module Aws::S3
2027
2155
  # * {Types::CreateMultipartUploadOutput#ssekms_encryption_context #ssekms_encryption_context} => String
2028
2156
  # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
2029
2157
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
2158
+ # * {Types::CreateMultipartUploadOutput#checksum_algorithm #checksum_algorithm} => String
2030
2159
  #
2031
2160
  #
2032
2161
  # @example Example: To initiate a multipart upload
@@ -2079,6 +2208,7 @@ module Aws::S3
2079
2208
  # object_lock_retain_until_date: Time.now,
2080
2209
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
2081
2210
  # expected_bucket_owner: "AccountId",
2211
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2082
2212
  # })
2083
2213
  #
2084
2214
  # @example Response structure
@@ -2095,6 +2225,7 @@ module Aws::S3
2095
2225
  # resp.ssekms_encryption_context #=> String
2096
2226
  # resp.bucket_key_enabled #=> Boolean
2097
2227
  # resp.request_charged #=> String, one of "requester"
2228
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
2098
2229
  #
2099
2230
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
2100
2231
  #
@@ -2125,8 +2256,8 @@ module Aws::S3
2125
2256
  #
2126
2257
  # @option params [String] :expected_bucket_owner
2127
2258
  # The account ID of the expected bucket owner. If the bucket is owned by
2128
- # a different account, the request will fail with an HTTP `403 (Access
2129
- # Denied)` error.
2259
+ # a different account, the request fails with the HTTP status code `403
2260
+ # Forbidden` (access denied).
2130
2261
  #
2131
2262
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2132
2263
  #
@@ -2195,8 +2326,8 @@ module Aws::S3
2195
2326
  #
2196
2327
  # @option params [String] :expected_bucket_owner
2197
2328
  # The account ID of the expected bucket owner. If the bucket is owned by
2198
- # a different account, the request will fail with an HTTP `403 (Access
2199
- # Denied)` error.
2329
+ # a different account, the request fails with the HTTP status code `403
2330
+ # Forbidden` (access denied).
2200
2331
  #
2201
2332
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2202
2333
  #
@@ -2243,8 +2374,8 @@ module Aws::S3
2243
2374
  #
2244
2375
  # @option params [String] :expected_bucket_owner
2245
2376
  # The account ID of the expected bucket owner. If the bucket is owned by
2246
- # a different account, the request will fail with an HTTP `403 (Access
2247
- # Denied)` error.
2377
+ # a different account, the request fails with the HTTP status code `403
2378
+ # Forbidden` (access denied).
2248
2379
  #
2249
2380
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2250
2381
  #
@@ -2306,8 +2437,8 @@ module Aws::S3
2306
2437
  #
2307
2438
  # @option params [String] :expected_bucket_owner
2308
2439
  # The account ID of the expected bucket owner. If the bucket is owned by
2309
- # a different account, the request will fail with an HTTP `403 (Access
2310
- # Denied)` error.
2440
+ # a different account, the request fails with the HTTP status code `403
2441
+ # Forbidden` (access denied).
2311
2442
  #
2312
2443
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2313
2444
  #
@@ -2429,8 +2560,8 @@ module Aws::S3
2429
2560
  #
2430
2561
  # @option params [String] :expected_bucket_owner
2431
2562
  # The account ID of the expected bucket owner. If the bucket is owned by
2432
- # a different account, the request will fail with an HTTP `403 (Access
2433
- # Denied)` error.
2563
+ # a different account, the request fails with the HTTP status code `403
2564
+ # Forbidden` (access denied).
2434
2565
  #
2435
2566
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2436
2567
  #
@@ -2485,8 +2616,8 @@ module Aws::S3
2485
2616
  #
2486
2617
  # @option params [String] :expected_bucket_owner
2487
2618
  # The account ID of the expected bucket owner. If the bucket is owned by
2488
- # a different account, the request will fail with an HTTP `403 (Access
2489
- # Denied)` error.
2619
+ # a different account, the request fails with the HTTP status code `403
2620
+ # Forbidden` (access denied).
2490
2621
  #
2491
2622
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2492
2623
  #
@@ -2557,8 +2688,8 @@ module Aws::S3
2557
2688
  #
2558
2689
  # @option params [String] :expected_bucket_owner
2559
2690
  # The account ID of the expected bucket owner. If the bucket is owned by
2560
- # a different account, the request will fail with an HTTP `403 (Access
2561
- # Denied)` error.
2691
+ # a different account, the request fails with the HTTP status code `403
2692
+ # Forbidden` (access denied).
2562
2693
  #
2563
2694
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2564
2695
  #
@@ -2604,8 +2735,8 @@ module Aws::S3
2604
2735
  #
2605
2736
  # @option params [String] :expected_bucket_owner
2606
2737
  # The account ID of the expected bucket owner. If the bucket is owned by
2607
- # a different account, the request will fail with an HTTP `403 (Access
2608
- # Denied)` error.
2738
+ # a different account, the request fails with the HTTP status code `403
2739
+ # Forbidden` (access denied).
2609
2740
  #
2610
2741
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2611
2742
  #
@@ -2662,8 +2793,8 @@ module Aws::S3
2662
2793
  #
2663
2794
  # @option params [String] :expected_bucket_owner
2664
2795
  # The account ID of the expected bucket owner. If the bucket is owned by
2665
- # a different account, the request will fail with an HTTP `403 (Access
2666
- # Denied)` error.
2796
+ # a different account, the request fails with the HTTP status code `403
2797
+ # Forbidden` (access denied).
2667
2798
  #
2668
2799
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2669
2800
  #
@@ -2728,8 +2859,8 @@ module Aws::S3
2728
2859
  #
2729
2860
  # @option params [String] :expected_bucket_owner
2730
2861
  # The account ID of the expected bucket owner. If the bucket is owned by
2731
- # a different account, the request will fail with an HTTP `403 (Access
2732
- # Denied)` error.
2862
+ # a different account, the request fails with the HTTP status code `403
2863
+ # Forbidden` (access denied).
2733
2864
  #
2734
2865
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2735
2866
  #
@@ -2780,8 +2911,8 @@ module Aws::S3
2780
2911
  #
2781
2912
  # @option params [String] :expected_bucket_owner
2782
2913
  # The account ID of the expected bucket owner. If the bucket is owned by
2783
- # a different account, the request will fail with an HTTP `403 (Access
2784
- # Denied)` error.
2914
+ # a different account, the request fails with the HTTP status code `403
2915
+ # Forbidden` (access denied).
2785
2916
  #
2786
2917
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2787
2918
  #
@@ -2844,8 +2975,8 @@ module Aws::S3
2844
2975
  #
2845
2976
  # @option params [String] :expected_bucket_owner
2846
2977
  # The account ID of the expected bucket owner. If the bucket is owned by
2847
- # a different account, the request will fail with an HTTP `403 (Access
2848
- # Denied)` error.
2978
+ # a different account, the request fails with the HTTP status code `403
2979
+ # Forbidden` (access denied).
2849
2980
  #
2850
2981
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2851
2982
  #
@@ -2926,12 +3057,12 @@ module Aws::S3
2926
3057
  #
2927
3058
  # When using this action with Amazon S3 on Outposts, you must direct
2928
3059
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2929
- # takes the form
2930
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2931
- # 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
2932
3063
  # Services SDKs, you provide the Outposts bucket ARN in place of the
2933
3064
  # bucket name. For more information about S3 on Outposts ARNs, see
2934
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3065
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
2935
3066
  #
2936
3067
  #
2937
3068
  #
@@ -2953,8 +3084,8 @@ module Aws::S3
2953
3084
  # @option params [String] :request_payer
2954
3085
  # Confirms that the requester knows that they will be charged for the
2955
3086
  # request. Bucket owners need not specify this parameter in their
2956
- # requests. For information about downloading objects from requester
2957
- # 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]
2958
3089
  # in the *Amazon S3 User Guide*.
2959
3090
  #
2960
3091
  #
@@ -2964,12 +3095,12 @@ module Aws::S3
2964
3095
  # @option params [Boolean] :bypass_governance_retention
2965
3096
  # Indicates whether S3 Object Lock should bypass Governance-mode
2966
3097
  # restrictions to process this operation. To use this header, you must
2967
- # have the `s3:PutBucketPublicAccessBlock` permission.
3098
+ # have the `s3:BypassGovernanceRetention` permission.
2968
3099
  #
2969
3100
  # @option params [String] :expected_bucket_owner
2970
3101
  # The account ID of the expected bucket owner. If the bucket is owned by
2971
- # a different account, the request will fail with an HTTP `403 (Access
2972
- # Denied)` error.
3102
+ # a different account, the request fails with the HTTP status code `403
3103
+ # Forbidden` (access denied).
2973
3104
  #
2974
3105
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2975
3106
  #
@@ -3063,12 +3194,12 @@ module Aws::S3
3063
3194
  #
3064
3195
  # When using this action with Amazon S3 on Outposts, you must direct
3065
3196
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3066
- # takes the form
3067
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
3068
- # 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
3069
3200
  # Services SDKs, you provide the Outposts bucket ARN in place of the
3070
3201
  # bucket name. For more information about S3 on Outposts ARNs, see
3071
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3202
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3072
3203
  #
3073
3204
  #
3074
3205
  #
@@ -3084,8 +3215,8 @@ module Aws::S3
3084
3215
  #
3085
3216
  # @option params [String] :expected_bucket_owner
3086
3217
  # The account ID of the expected bucket owner. If the bucket is owned by
3087
- # a different account, the request will fail with an HTTP `403 (Access
3088
- # Denied)` error.
3218
+ # a different account, the request fails with the HTTP status code `403
3219
+ # Forbidden` (access denied).
3089
3220
  #
3090
3221
  # @return [Types::DeleteObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3091
3222
  #
@@ -3211,12 +3342,12 @@ module Aws::S3
3211
3342
  #
3212
3343
  # When using this action with Amazon S3 on Outposts, you must direct
3213
3344
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3214
- # takes the form
3215
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
3216
- # 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
3217
3348
  # Services SDKs, you provide the Outposts bucket ARN in place of the
3218
3349
  # bucket name. For more information about S3 on Outposts ARNs, see
3219
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3350
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3220
3351
  #
3221
3352
  #
3222
3353
  #
@@ -3235,8 +3366,8 @@ module Aws::S3
3235
3366
  # @option params [String] :request_payer
3236
3367
  # Confirms that the requester knows that they will be charged for the
3237
3368
  # request. Bucket owners need not specify this parameter in their
3238
- # requests. For information about downloading objects from requester
3239
- # 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]
3240
3371
  # in the *Amazon S3 User Guide*.
3241
3372
  #
3242
3373
  #
@@ -3246,12 +3377,31 @@ module Aws::S3
3246
3377
  # @option params [Boolean] :bypass_governance_retention
3247
3378
  # Specifies whether you want to delete this object even if it has a
3248
3379
  # Governance-type Object Lock in place. To use this header, you must
3249
- # have the `s3:PutBucketPublicAccessBlock` permission.
3380
+ # have the `s3:BypassGovernanceRetention` permission.
3250
3381
  #
3251
3382
  # @option params [String] :expected_bucket_owner
3252
3383
  # The account ID of the expected bucket owner. If the bucket is owned by
3253
- # a different account, the request will fail with an HTTP `403 (Access
3254
- # 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
3255
3405
  #
3256
3406
  # @return [Types::DeleteObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3257
3407
  #
@@ -3349,6 +3499,7 @@ module Aws::S3
3349
3499
  # request_payer: "requester", # accepts requester
3350
3500
  # bypass_governance_retention: false,
3351
3501
  # expected_bucket_owner: "AccountId",
3502
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3352
3503
  # })
3353
3504
  #
3354
3505
  # @example Response structure
@@ -3406,8 +3557,8 @@ module Aws::S3
3406
3557
  #
3407
3558
  # @option params [String] :expected_bucket_owner
3408
3559
  # The account ID of the expected bucket owner. If the bucket is owned by
3409
- # a different account, the request will fail with an HTTP `403 (Access
3410
- # Denied)` error.
3560
+ # a different account, the request fails with the HTTP status code `403
3561
+ # Forbidden` (access denied).
3411
3562
  #
3412
3563
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3413
3564
  #
@@ -3471,8 +3622,8 @@ module Aws::S3
3471
3622
  #
3472
3623
  # @option params [String] :expected_bucket_owner
3473
3624
  # The account ID of the expected bucket owner. If the bucket is owned by
3474
- # a different account, the request will fail with an HTTP `403 (Access
3475
- # Denied)` error.
3625
+ # a different account, the request fails with the HTTP status code `403
3626
+ # Forbidden` (access denied).
3476
3627
  #
3477
3628
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3478
3629
  #
@@ -3529,8 +3680,8 @@ module Aws::S3
3529
3680
  #
3530
3681
  # @option params [String] :expected_bucket_owner
3531
3682
  # The account ID of the expected bucket owner. If the bucket is owned by
3532
- # a different account, the request will fail with an HTTP `403 (Access
3533
- # Denied)` error.
3683
+ # a different account, the request fails with the HTTP status code `403
3684
+ # Forbidden` (access denied).
3534
3685
  #
3535
3686
  # @return [Types::GetBucketAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3536
3687
  #
@@ -3606,8 +3757,8 @@ module Aws::S3
3606
3757
  #
3607
3758
  # @option params [String] :expected_bucket_owner
3608
3759
  # The account ID of the expected bucket owner. If the bucket is owned by
3609
- # a different account, the request will fail with an HTTP `403 (Access
3610
- # Denied)` error.
3760
+ # a different account, the request fails with the HTTP status code `403
3761
+ # Forbidden` (access denied).
3611
3762
  #
3612
3763
  # @return [Types::GetBucketAnalyticsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3613
3764
  #
@@ -3646,13 +3797,14 @@ module Aws::S3
3646
3797
  req.send_request(options)
3647
3798
  end
3648
3799
 
3649
- # Returns the cors configuration information set for the bucket.
3800
+ # Returns the Cross-Origin Resource Sharing (CORS) configuration
3801
+ # information set for the bucket.
3650
3802
  #
3651
3803
  # To use this operation, you must have permission to perform the
3652
- # s3:GetBucketCORS action. By default, the bucket owner has this
3804
+ # `s3:GetBucketCORS` action. By default, the bucket owner has this
3653
3805
  # permission and can grant it to others.
3654
3806
  #
3655
- # For more information about cors, see [ Enabling Cross-Origin Resource
3807
+ # For more information about CORS, see [ Enabling Cross-Origin Resource
3656
3808
  # Sharing][1].
3657
3809
  #
3658
3810
  # The following operations are related to `GetBucketCors`\:
@@ -3672,8 +3824,8 @@ module Aws::S3
3672
3824
  #
3673
3825
  # @option params [String] :expected_bucket_owner
3674
3826
  # The account ID of the expected bucket owner. If the bucket is owned by
3675
- # a different account, the request will fail with an HTTP `403 (Access
3676
- # Denied)` error.
3827
+ # a different account, the request fails with the HTTP status code `403
3828
+ # Forbidden` (access denied).
3677
3829
  #
3678
3830
  # @return [Types::GetBucketCorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3679
3831
  #
@@ -3771,8 +3923,8 @@ module Aws::S3
3771
3923
  #
3772
3924
  # @option params [String] :expected_bucket_owner
3773
3925
  # The account ID of the expected bucket owner. If the bucket is owned by
3774
- # a different account, the request will fail with an HTTP `403 (Access
3775
- # Denied)` error.
3926
+ # a different account, the request fails with the HTTP status code `403
3927
+ # Forbidden` (access denied).
3776
3928
  #
3777
3929
  # @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3778
3930
  #
@@ -3921,8 +4073,8 @@ module Aws::S3
3921
4073
  #
3922
4074
  # @option params [String] :expected_bucket_owner
3923
4075
  # The account ID of the expected bucket owner. If the bucket is owned by
3924
- # a different account, the request will fail with an HTTP `403 (Access
3925
- # Denied)` error.
4076
+ # a different account, the request fails with the HTTP status code `403
4077
+ # Forbidden` (access denied).
3926
4078
  #
3927
4079
  # @return [Types::GetBucketInventoryConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3928
4080
  #
@@ -3948,7 +4100,7 @@ module Aws::S3
3948
4100
  # resp.inventory_configuration.id #=> String
3949
4101
  # resp.inventory_configuration.included_object_versions #=> String, one of "All", "Current"
3950
4102
  # resp.inventory_configuration.optional_fields #=> Array
3951
- # 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"
3952
4104
  # resp.inventory_configuration.schedule.frequency #=> String, one of "Daily", "Weekly"
3953
4105
  #
3954
4106
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration AWS API Documentation
@@ -4009,8 +4161,8 @@ module Aws::S3
4009
4161
  #
4010
4162
  # @option params [String] :expected_bucket_owner
4011
4163
  # The account ID of the expected bucket owner. If the bucket is owned by
4012
- # a different account, the request will fail with an HTTP `403 (Access
4013
- # Denied)` error.
4164
+ # a different account, the request fails with the HTTP status code `403
4165
+ # Forbidden` (access denied).
4014
4166
  #
4015
4167
  # @return [Types::GetBucketLifecycleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4016
4168
  #
@@ -4129,8 +4281,8 @@ module Aws::S3
4129
4281
  #
4130
4282
  # @option params [String] :expected_bucket_owner
4131
4283
  # The account ID of the expected bucket owner. If the bucket is owned by
4132
- # a different account, the request will fail with an HTTP `403 (Access
4133
- # Denied)` error.
4284
+ # a different account, the request fails with the HTTP status code `403
4285
+ # Forbidden` (access denied).
4134
4286
  #
4135
4287
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4136
4288
  #
@@ -4236,8 +4388,8 @@ module Aws::S3
4236
4388
  #
4237
4389
  # @option params [String] :expected_bucket_owner
4238
4390
  # The account ID of the expected bucket owner. If the bucket is owned by
4239
- # a different account, the request will fail with an HTTP `403 (Access
4240
- # Denied)` error.
4391
+ # a different account, the request fails with the HTTP status code `403
4392
+ # Forbidden` (access denied).
4241
4393
  #
4242
4394
  # @return [Types::GetBucketLocationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4243
4395
  #
@@ -4297,8 +4449,8 @@ module Aws::S3
4297
4449
  #
4298
4450
  # @option params [String] :expected_bucket_owner
4299
4451
  # The account ID of the expected bucket owner. If the bucket is owned by
4300
- # a different account, the request will fail with an HTTP `403 (Access
4301
- # Denied)` error.
4452
+ # a different account, the request fails with the HTTP status code `403
4453
+ # Forbidden` (access denied).
4302
4454
  #
4303
4455
  # @return [Types::GetBucketLoggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4304
4456
  #
@@ -4375,8 +4527,8 @@ module Aws::S3
4375
4527
  #
4376
4528
  # @option params [String] :expected_bucket_owner
4377
4529
  # The account ID of the expected bucket owner. If the bucket is owned by
4378
- # a different account, the request will fail with an HTTP `403 (Access
4379
- # Denied)` error.
4530
+ # a different account, the request fails with the HTTP status code `403
4531
+ # Forbidden` (access denied).
4380
4532
  #
4381
4533
  # @return [Types::GetBucketMetricsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4382
4534
  #
@@ -4424,8 +4576,8 @@ module Aws::S3
4424
4576
  #
4425
4577
  # @option params [String] :expected_bucket_owner
4426
4578
  # The account ID of the expected bucket owner. If the bucket is owned by
4427
- # a different account, the request will fail with an HTTP `403 (Access
4428
- # Denied)` error.
4579
+ # a different account, the request fails with the HTTP status code `403
4580
+ # Forbidden` (access denied).
4429
4581
  #
4430
4582
  # @return [Types::NotificationConfigurationDeprecated] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4431
4583
  #
@@ -4558,8 +4710,8 @@ module Aws::S3
4558
4710
  #
4559
4711
  # @option params [String] :expected_bucket_owner
4560
4712
  # The account ID of the expected bucket owner. If the bucket is owned by
4561
- # a different account, the request will fail with an HTTP `403 (Access
4562
- # Denied)` error.
4713
+ # a different account, the request fails with the HTTP status code `403
4714
+ # Forbidden` (access denied).
4563
4715
  #
4564
4716
  # @return [Types::NotificationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4565
4717
  #
@@ -4636,8 +4788,8 @@ module Aws::S3
4636
4788
  #
4637
4789
  # @option params [String] :expected_bucket_owner
4638
4790
  # The account ID of the expected bucket owner. If the bucket is owned by
4639
- # a different account, the request will fail with an HTTP `403 (Access
4640
- # Denied)` error.
4791
+ # a different account, the request fails with the HTTP status code `403
4792
+ # Forbidden` (access denied).
4641
4793
  #
4642
4794
  # @return [Types::GetBucketOwnershipControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4643
4795
  #
@@ -4699,8 +4851,8 @@ module Aws::S3
4699
4851
  #
4700
4852
  # @option params [String] :expected_bucket_owner
4701
4853
  # The account ID of the expected bucket owner. If the bucket is owned by
4702
- # a different account, the request will fail with an HTTP `403 (Access
4703
- # Denied)` error.
4854
+ # a different account, the request fails with the HTTP status code `403
4855
+ # Forbidden` (access denied).
4704
4856
  #
4705
4857
  # @return [Types::GetBucketPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4706
4858
  #
@@ -4774,8 +4926,8 @@ module Aws::S3
4774
4926
  #
4775
4927
  # @option params [String] :expected_bucket_owner
4776
4928
  # The account ID of the expected bucket owner. If the bucket is owned by
4777
- # a different account, the request will fail with an HTTP `403 (Access
4778
- # Denied)` error.
4929
+ # a different account, the request fails with the HTTP status code `403
4930
+ # Forbidden` (access denied).
4779
4931
  #
4780
4932
  # @return [Types::GetBucketPolicyStatusOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4781
4933
  #
@@ -4842,8 +4994,8 @@ module Aws::S3
4842
4994
  #
4843
4995
  # @option params [String] :expected_bucket_owner
4844
4996
  # The account ID of the expected bucket owner. If the bucket is owned by
4845
- # a different account, the request will fail with an HTTP `403 (Access
4846
- # Denied)` error.
4997
+ # a different account, the request fails with the HTTP status code `403
4998
+ # Forbidden` (access denied).
4847
4999
  #
4848
5000
  # @return [Types::GetBucketReplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4849
5001
  #
@@ -4941,8 +5093,8 @@ module Aws::S3
4941
5093
  #
4942
5094
  # @option params [String] :expected_bucket_owner
4943
5095
  # The account ID of the expected bucket owner. If the bucket is owned by
4944
- # a different account, the request will fail with an HTTP `403 (Access
4945
- # Denied)` error.
5096
+ # a different account, the request fails with the HTTP status code `403
5097
+ # Forbidden` (access denied).
4946
5098
  #
4947
5099
  # @return [Types::GetBucketRequestPaymentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4948
5100
  #
@@ -4990,7 +5142,7 @@ module Aws::S3
4990
5142
  #
4991
5143
  # `GetBucketTagging` has the following special error:
4992
5144
  #
4993
- # * Error code: `NoSuchTagSetError`
5145
+ # * Error code: `NoSuchTagSet`
4994
5146
  #
4995
5147
  # * Description: There is no tag set associated with the bucket.
4996
5148
  #
@@ -5012,8 +5164,8 @@ module Aws::S3
5012
5164
  #
5013
5165
  # @option params [String] :expected_bucket_owner
5014
5166
  # The account ID of the expected bucket owner. If the bucket is owned by
5015
- # a different account, the request will fail with an HTTP `403 (Access
5016
- # Denied)` error.
5167
+ # a different account, the request fails with the HTTP status code `403
5168
+ # Forbidden` (access denied).
5017
5169
  #
5018
5170
  # @return [Types::GetBucketTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5019
5171
  #
@@ -5093,8 +5245,8 @@ module Aws::S3
5093
5245
  #
5094
5246
  # @option params [String] :expected_bucket_owner
5095
5247
  # The account ID of the expected bucket owner. If the bucket is owned by
5096
- # a different account, the request will fail with an HTTP `403 (Access
5097
- # Denied)` error.
5248
+ # a different account, the request fails with the HTTP status code `403
5249
+ # Forbidden` (access denied).
5098
5250
  #
5099
5251
  # @return [Types::GetBucketVersioningOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5100
5252
  #
@@ -5165,8 +5317,8 @@ module Aws::S3
5165
5317
  #
5166
5318
  # @option params [String] :expected_bucket_owner
5167
5319
  # The account ID of the expected bucket owner. If the bucket is owned by
5168
- # a different account, the request will fail with an HTTP `403 (Access
5169
- # Denied)` error.
5320
+ # a different account, the request fails with the HTTP status code `403
5321
+ # Forbidden` (access denied).
5170
5322
  #
5171
5323
  # @return [Types::GetBucketWebsiteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5172
5324
  #
@@ -5245,18 +5397,16 @@ module Aws::S3
5245
5397
  # `/examplebucket/photos/2006/February/sample.jpg`. For more information
5246
5398
  # about request types, see [HTTP Host Header Bucket Specification][1].
5247
5399
  #
5248
- # To distribute large files to many people, you can save bandwidth costs
5249
- # by using BitTorrent. For more information, see [Amazon S3 Torrent][2].
5250
5400
  # For more information about returning the ACL of an object, see
5251
- # [GetObjectAcl][3].
5401
+ # [GetObjectAcl][2].
5252
5402
  #
5253
5403
  # If the object you are retrieving is stored in the S3 Glacier or S3
5254
5404
  # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5255
5405
  # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5256
- # the object you must first restore a copy using [RestoreObject][4].
5406
+ # the object you must first restore a copy using [RestoreObject][3].
5257
5407
  # Otherwise, this action returns an `InvalidObjectStateError` error. For
5258
5408
  # information about restoring archived objects, see [Restoring Archived
5259
- # Objects][5].
5409
+ # Objects][4].
5260
5410
  #
5261
5411
  # Encryption request headers, like `x-amz-server-side-encryption`,
5262
5412
  # should not be sent for GET requests if your object uses server-side
@@ -5276,19 +5426,19 @@ module Aws::S3
5276
5426
  # * x-amz-server-side-encryption-customer-key-MD5
5277
5427
  #
5278
5428
  # For more information about SSE-C, see [Server-Side Encryption (Using
5279
- # Customer-Provided Encryption Keys)][6].
5429
+ # Customer-Provided Encryption Keys)][5].
5280
5430
  #
5281
5431
  # Assuming you have the relevant permission to read object tags, the
5282
5432
  # response also returns the `x-amz-tagging-count` header that provides
5283
5433
  # the count of number of tags associated with the object. You can use
5284
- # [GetObjectTagging][7] to retrieve the tag set associated with an
5434
+ # [GetObjectTagging][6] to retrieve the tag set associated with an
5285
5435
  # object.
5286
5436
  #
5287
5437
  # **Permissions**
5288
5438
  #
5289
5439
  # You need the relevant read object (or version) permission for this
5290
5440
  # operation. For more information, see [Specifying Permissions in a
5291
- # 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
5292
5442
  # S3 returns depends on whether you also have the `s3:ListBucket`
5293
5443
  # permission.
5294
5444
  #
@@ -5314,13 +5464,13 @@ module Aws::S3
5314
5464
  #
5315
5465
  # </note>
5316
5466
  #
5317
- # For more information about versioning, see [PutBucketVersioning][9].
5467
+ # For more information about versioning, see [PutBucketVersioning][8].
5318
5468
  #
5319
5469
  # **Overriding Response Header Values**
5320
5470
  #
5321
5471
  # There are times when you want to override certain response header
5322
5472
  # values in a GET response. For example, you might override the
5323
- # Content-Disposition response header value in your GET request.
5473
+ # `Content-Disposition` response header value in your GET request.
5324
5474
  #
5325
5475
  # You can override values for a set of response headers using the
5326
5476
  # following query parameters. These response header values are sent only
@@ -5363,27 +5513,26 @@ module Aws::S3
5363
5513
  # to `false`, and; `If-Modified-Since` condition evaluates to `true`;
5364
5514
  # then, S3 returns 304 Not Modified response code.
5365
5515
  #
5366
- # For more information about conditional requests, see [RFC 7232][10].
5516
+ # For more information about conditional requests, see [RFC 7232][9].
5367
5517
  #
5368
5518
  # The following operations are related to `GetObject`\:
5369
5519
  #
5370
- # * [ListBuckets][11]
5520
+ # * [ListBuckets][10]
5371
5521
  #
5372
- # * [GetObjectAcl][3]
5522
+ # * [GetObjectAcl][2]
5373
5523
  #
5374
5524
  #
5375
5525
  #
5376
5526
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
5377
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
5378
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
5379
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
5380
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
5381
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5382
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
5383
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
5384
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
5385
- # [10]: https://tools.ietf.org/html/rfc7232
5386
- # [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
5387
5536
  #
5388
5537
  # @option params [String, IO] :response_target
5389
5538
  # Where to write response data, file path, or IO object.
@@ -5404,12 +5553,12 @@ module Aws::S3
5404
5553
  #
5405
5554
  # When using this action with Amazon S3 on Outposts, you must direct
5406
5555
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5407
- # takes the form
5408
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5409
- # 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
5410
5559
  # Services SDKs, you provide the Outposts bucket ARN in place of the
5411
5560
  # bucket name. For more information about S3 on Outposts ARNs, see
5412
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
5561
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
5413
5562
  #
5414
5563
  #
5415
5564
  #
@@ -5418,19 +5567,19 @@ module Aws::S3
5418
5567
  #
5419
5568
  # @option params [String] :if_match
5420
5569
  # Return the object only if its entity tag (ETag) is the same as the one
5421
- # specified, otherwise return a 412 (precondition failed).
5570
+ # specified; otherwise, return a 412 (precondition failed) error.
5422
5571
  #
5423
5572
  # @option params [Time,DateTime,Date,Integer,String] :if_modified_since
5424
5573
  # Return the object only if it has been modified since the specified
5425
- # time, otherwise return a 304 (not modified).
5574
+ # time; otherwise, return a 304 (not modified) error.
5426
5575
  #
5427
5576
  # @option params [String] :if_none_match
5428
5577
  # Return the object only if its entity tag (ETag) is different from the
5429
- # one specified, otherwise return a 304 (not modified).
5578
+ # one specified; otherwise, return a 304 (not modified) error.
5430
5579
  #
5431
5580
  # @option params [Time,DateTime,Date,Integer,String] :if_unmodified_since
5432
5581
  # Return the object only if it has not been modified since the specified
5433
- # time, otherwise return a 412 (precondition failed).
5582
+ # time; otherwise, return a 412 (precondition failed) error.
5434
5583
  #
5435
5584
  # @option params [required, String] :key
5436
5585
  # Key of the object to get.
@@ -5489,8 +5638,8 @@ module Aws::S3
5489
5638
  # @option params [String] :request_payer
5490
5639
  # Confirms that the requester knows that they will be charged for the
5491
5640
  # request. Bucket owners need not specify this parameter in their
5492
- # requests. For information about downloading objects from requester
5493
- # 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]
5494
5643
  # in the *Amazon S3 User Guide*.
5495
5644
  #
5496
5645
  #
@@ -5505,8 +5654,11 @@ module Aws::S3
5505
5654
  #
5506
5655
  # @option params [String] :expected_bucket_owner
5507
5656
  # The account ID of the expected bucket owner. If the bucket is owned by
5508
- # a different account, the request will fail with an HTTP `403 (Access
5509
- # 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.
5510
5662
  #
5511
5663
  # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5512
5664
  #
@@ -5518,6 +5670,10 @@ module Aws::S3
5518
5670
  # * {Types::GetObjectOutput#last_modified #last_modified} => Time
5519
5671
  # * {Types::GetObjectOutput#content_length #content_length} => Integer
5520
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
5521
5677
  # * {Types::GetObjectOutput#missing_meta #missing_meta} => Integer
5522
5678
  # * {Types::GetObjectOutput#version_id #version_id} => String
5523
5679
  # * {Types::GetObjectOutput#cache_control #cache_control} => String
@@ -5545,49 +5701,49 @@ module Aws::S3
5545
5701
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5546
5702
  #
5547
5703
  #
5548
- # @example Example: To retrieve a byte range of an object
5704
+ # @example Example: To retrieve an object
5549
5705
  #
5550
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5551
- # # specific byte range.
5706
+ # # The following example retrieves an object for an S3 bucket.
5552
5707
  #
5553
5708
  # resp = client.get_object({
5554
5709
  # bucket: "examplebucket",
5555
- # key: "SampleFile.txt",
5556
- # range: "bytes=0-9",
5710
+ # key: "HappyFace.jpg",
5557
5711
  # })
5558
5712
  #
5559
5713
  # resp.to_h outputs the following:
5560
5714
  # {
5561
5715
  # accept_ranges: "bytes",
5562
- # content_length: 10,
5563
- # content_range: "bytes 0-9/43",
5564
- # content_type: "text/plain",
5565
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5566
- # 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"),
5567
5720
  # metadata: {
5568
5721
  # },
5722
+ # tag_count: 2,
5569
5723
  # version_id: "null",
5570
5724
  # }
5571
5725
  #
5572
- # @example Example: To retrieve an object
5726
+ # @example Example: To retrieve a byte range of an object
5573
5727
  #
5574
- # # 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.
5575
5730
  #
5576
5731
  # resp = client.get_object({
5577
5732
  # bucket: "examplebucket",
5578
- # key: "HappyFace.jpg",
5733
+ # key: "SampleFile.txt",
5734
+ # range: "bytes=0-9",
5579
5735
  # })
5580
5736
  #
5581
5737
  # resp.to_h outputs the following:
5582
5738
  # {
5583
5739
  # accept_ranges: "bytes",
5584
- # content_length: 3191,
5585
- # content_type: "image/jpeg",
5586
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5587
- # 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"),
5588
5745
  # metadata: {
5589
5746
  # },
5590
- # tag_count: 2,
5591
5747
  # version_id: "null",
5592
5748
  # }
5593
5749
  #
@@ -5643,6 +5799,7 @@ module Aws::S3
5643
5799
  # request_payer: "requester", # accepts requester
5644
5800
  # part_number: 1,
5645
5801
  # expected_bucket_owner: "AccountId",
5802
+ # checksum_mode: "ENABLED", # accepts ENABLED
5646
5803
  # })
5647
5804
  #
5648
5805
  # @example Response structure
@@ -5655,6 +5812,10 @@ module Aws::S3
5655
5812
  # resp.last_modified #=> Time
5656
5813
  # resp.content_length #=> Integer
5657
5814
  # resp.etag #=> String
5815
+ # resp.checksum_crc32 #=> String
5816
+ # resp.checksum_crc32c #=> String
5817
+ # resp.checksum_sha1 #=> String
5818
+ # resp.checksum_sha256 #=> String
5658
5819
  # resp.missing_meta #=> Integer
5659
5820
  # resp.version_id #=> String
5660
5821
  # resp.cache_control #=> String
@@ -5692,7 +5853,10 @@ module Aws::S3
5692
5853
  end
5693
5854
 
5694
5855
  # Returns the access control list (ACL) of an object. To use this
5695
- # 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*
5696
5860
  #
5697
5861
  # This action is not supported by Amazon S3 on Outposts.
5698
5862
  #
@@ -5706,24 +5870,28 @@ module Aws::S3
5706
5870
  # Ownership, requests to read ACLs are still supported and return the
5707
5871
  # `bucket-owner-full-control` ACL with the owner being the account that
5708
5872
  # created the bucket. For more information, see [ Controlling object
5709
- # ownership and disabling ACLs][1] in the *Amazon S3 User Guide*.
5873
+ # ownership and disabling ACLs][2] in the *Amazon S3 User Guide*.
5710
5874
  #
5711
5875
  # </note>
5712
5876
  #
5713
5877
  # The following operations are related to `GetObjectAcl`\:
5714
5878
  #
5715
- # * [GetObject][2]
5879
+ # * [GetObject][3]
5716
5880
  #
5717
- # * [DeleteObject][3]
5881
+ # * [GetObjectAttributes][4]
5718
5882
  #
5719
- # * [PutObject][4]
5883
+ # * [DeleteObject][5]
5720
5884
  #
5885
+ # * [PutObject][6]
5721
5886
  #
5722
5887
  #
5723
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
5724
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5725
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
5726
- # [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
5727
5895
  #
5728
5896
  # @option params [required, String] :bucket
5729
5897
  # The bucket name that contains the object for which to get the ACL
@@ -5750,8 +5918,8 @@ module Aws::S3
5750
5918
  # @option params [String] :request_payer
5751
5919
  # Confirms that the requester knows that they will be charged for the
5752
5920
  # request. Bucket owners need not specify this parameter in their
5753
- # requests. For information about downloading objects from requester
5754
- # 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]
5755
5923
  # in the *Amazon S3 User Guide*.
5756
5924
  #
5757
5925
  #
@@ -5760,8 +5928,8 @@ module Aws::S3
5760
5928
  #
5761
5929
  # @option params [String] :expected_bucket_owner
5762
5930
  # The account ID of the expected bucket owner. If the bucket is owned by
5763
- # a different account, the request will fail with an HTTP `403 (Access
5764
- # Denied)` error.
5931
+ # a different account, the request fails with the HTTP status code `403
5932
+ # Forbidden` (access denied).
5765
5933
  #
5766
5934
  # @return [Types::GetObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5767
5935
  #
@@ -5853,18 +6021,116 @@ module Aws::S3
5853
6021
  req.send_request(options)
5854
6022
  end
5855
6023
 
5856
- # Gets an object's current Legal Hold status. For more information, see
5857
- # [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.
5858
6028
  #
5859
- # 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`.
5860
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:
5861
6039
  #
6040
+ # * `x-amz-server-side-encryption-customer-algorithm`
5862
6041
  #
5863
- # [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
5864
6131
  #
5865
6132
  # @option params [required, String] :bucket
5866
- # The bucket name containing the object whose Legal Hold status you want
5867
- # to retrieve.
6133
+ # The name of the bucket that contains the object.
5868
6134
  #
5869
6135
  # When using this action with an access point, you must direct requests
5870
6136
  # to the access point hostname. The access point hostname takes the form
@@ -5874,23 +6140,54 @@ module Aws::S3
5874
6140
  # name. For more information about access point ARNs, see [Using access
5875
6141
  # points][1] in the *Amazon S3 User Guide*.
5876
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
+ #
5877
6152
  #
5878
6153
  #
5879
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
5880
6156
  #
5881
6157
  # @option params [required, String] :key
5882
- # The key name for the object whose Legal Hold status you want to
5883
- # retrieve.
6158
+ # The object key.
5884
6159
  #
5885
6160
  # @option params [String] :version_id
5886
- # The version ID of the object whose Legal Hold status you want to
5887
- # 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.
5888
6185
  #
5889
6186
  # @option params [String] :request_payer
5890
6187
  # Confirms that the requester knows that they will be charged for the
5891
6188
  # request. Bucket owners need not specify this parameter in their
5892
- # requests. For information about downloading objects from requester
5893
- # 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]
5894
6191
  # in the *Amazon S3 User Guide*.
5895
6192
  #
5896
6193
  #
@@ -5899,47 +6196,96 @@ module Aws::S3
5899
6196
  #
5900
6197
  # @option params [String] :expected_bucket_owner
5901
6198
  # The account ID of the expected bucket owner. If the bucket is owned by
5902
- # a different account, the request will fail with an HTTP `403 (Access
5903
- # Denied)` error.
5904
- #
5905
- # @return [Types::GetObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5906
- #
5907
- # * {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
5908
6218
  #
5909
6219
  # @example Request syntax with placeholder values
5910
6220
  #
5911
- # resp = client.get_object_legal_hold({
6221
+ # resp = client.get_object_attributes({
5912
6222
  # bucket: "BucketName", # required
5913
6223
  # key: "ObjectKey", # required
5914
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",
5915
6230
  # request_payer: "requester", # accepts requester
5916
6231
  # expected_bucket_owner: "AccountId",
6232
+ # object_attributes: ["ETag"], # required, accepts ETag, Checksum, ObjectParts, StorageClass, ObjectSize
5917
6233
  # })
5918
6234
  #
5919
6235
  # @example Response structure
5920
6236
  #
5921
- # 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
5922
6260
  #
5923
- # @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
5924
6262
  #
5925
- # @overload get_object_legal_hold(params = {})
6263
+ # @overload get_object_attributes(params = {})
5926
6264
  # @param [Hash] params ({})
5927
- def get_object_legal_hold(params = {}, options = {})
5928
- req = build_request(:get_object_legal_hold, params)
6265
+ def get_object_attributes(params = {}, options = {})
6266
+ req = build_request(:get_object_attributes, params)
5929
6267
  req.send_request(options)
5930
6268
  end
5931
6269
 
5932
- # Gets the Object Lock configuration for a bucket. The rule specified in
5933
- # the Object Lock configuration will be applied by default to every new
5934
- # object placed in the specified bucket. For more information, see
6270
+ # Gets an object's current legal hold status. For more information, see
5935
6271
  # [Locking Objects][1].
5936
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
+ #
5937
6281
  #
5938
6282
  #
5939
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
5940
6285
  #
5941
6286
  # @option params [required, String] :bucket
5942
- # 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.
5943
6289
  #
5944
6290
  # When using this action with an access point, you must direct requests
5945
6291
  # to the access point hostname. The access point hostname takes the form
@@ -5953,18 +6299,100 @@ module Aws::S3
5953
6299
  #
5954
6300
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
5955
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
+ #
5956
6321
  # @option params [String] :expected_bucket_owner
5957
6322
  # The account ID of the expected bucket owner. If the bucket is owned by
5958
- # a different account, the request will fail with an HTTP `403 (Access
5959
- # Denied)` error.
6323
+ # a different account, the request fails with the HTTP status code `403
6324
+ # Forbidden` (access denied).
5960
6325
  #
5961
- # @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:
5962
6327
  #
5963
- # * {Types::GetObjectLockConfigurationOutput#object_lock_configuration #object_lock_configuration} => Types::ObjectLockConfiguration
6328
+ # * {Types::GetObjectLegalHoldOutput#legal_hold #legal_hold} => Types::ObjectLockLegalHold
5964
6329
  #
5965
6330
  # @example Request syntax with placeholder values
5966
6331
  #
5967
- # 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({
5968
6396
  # bucket: "BucketName", # required
5969
6397
  # expected_bucket_owner: "AccountId",
5970
6398
  # })
@@ -5990,9 +6418,16 @@ module Aws::S3
5990
6418
  #
5991
6419
  # This action is not supported by Amazon S3 on Outposts.
5992
6420
  #
6421
+ # The following action is related to `GetObjectRetention`\:
6422
+ #
6423
+ # * [GetObjectAttributes][2]
6424
+ #
6425
+ # ^
6426
+ #
5993
6427
  #
5994
6428
  #
5995
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
5996
6431
  #
5997
6432
  # @option params [required, String] :bucket
5998
6433
  # The bucket name containing the object whose retention settings you
@@ -6021,8 +6456,8 @@ module Aws::S3
6021
6456
  # @option params [String] :request_payer
6022
6457
  # Confirms that the requester knows that they will be charged for the
6023
6458
  # request. Bucket owners need not specify this parameter in their
6024
- # requests. For information about downloading objects from requester
6025
- # 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]
6026
6461
  # in the *Amazon S3 User Guide*.
6027
6462
  #
6028
6463
  #
@@ -6031,8 +6466,8 @@ module Aws::S3
6031
6466
  #
6032
6467
  # @option params [String] :expected_bucket_owner
6033
6468
  # The account ID of the expected bucket owner. If the bucket is owned by
6034
- # a different account, the request will fail with an HTTP `403 (Access
6035
- # Denied)` error.
6469
+ # a different account, the request fails with the HTTP status code `403
6470
+ # Forbidden` (access denied).
6036
6471
  #
6037
6472
  # @return [Types::GetObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6038
6473
  #
@@ -6078,17 +6513,20 @@ module Aws::S3
6078
6513
  # For information about the Amazon S3 object tagging feature, see
6079
6514
  # [Object Tagging][1].
6080
6515
  #
6081
- # The following action is related to `GetObjectTagging`\:
6516
+ # The following actions are related to `GetObjectTagging`\:
6082
6517
  #
6083
- # * [PutObjectTagging][2]
6518
+ # * [DeleteObjectTagging][2]
6084
6519
  #
6085
- # * [DeleteObjectTagging][3]
6520
+ # * [GetObjectAttributes][3]
6521
+ #
6522
+ # * [PutObjectTagging][4]
6086
6523
  #
6087
6524
  #
6088
6525
  #
6089
6526
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
6090
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
6091
- # [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
6092
6530
  #
6093
6531
  # @option params [required, String] :bucket
6094
6532
  # The bucket name containing the object for which to get the tagging
@@ -6104,12 +6542,12 @@ module Aws::S3
6104
6542
  #
6105
6543
  # When using this action with Amazon S3 on Outposts, you must direct
6106
6544
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6107
- # takes the form
6108
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6109
- # 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
6110
6548
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6111
6549
  # bucket name. For more information about S3 on Outposts ARNs, see
6112
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
6550
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6113
6551
  #
6114
6552
  #
6115
6553
  #
@@ -6124,14 +6562,14 @@ module Aws::S3
6124
6562
  #
6125
6563
  # @option params [String] :expected_bucket_owner
6126
6564
  # The account ID of the expected bucket owner. If the bucket is owned by
6127
- # a different account, the request will fail with an HTTP `403 (Access
6128
- # Denied)` error.
6565
+ # a different account, the request fails with the HTTP status code `403
6566
+ # Forbidden` (access denied).
6129
6567
  #
6130
6568
  # @option params [String] :request_payer
6131
6569
  # Confirms that the requester knows that they will be charged for the
6132
6570
  # request. Bucket owners need not specify this parameter in their
6133
- # requests. For information about downloading objects from requester
6134
- # 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]
6135
6573
  # in the *Amazon S3 User Guide*.
6136
6574
  #
6137
6575
  #
@@ -6144,49 +6582,49 @@ module Aws::S3
6144
6582
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
6145
6583
  #
6146
6584
  #
6147
- # @example Example: To retrieve tag set of an object
6585
+ # @example Example: To retrieve tag set of a specific object version
6148
6586
  #
6149
- # # The following example retrieves tag set of an object.
6587
+ # # The following example retrieves tag set of an object. The request specifies object version.
6150
6588
  #
6151
6589
  # resp = client.get_object_tagging({
6152
6590
  # bucket: "examplebucket",
6153
- # key: "HappyFace.jpg",
6591
+ # key: "exampleobject",
6592
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6154
6593
  # })
6155
6594
  #
6156
6595
  # resp.to_h outputs the following:
6157
6596
  # {
6158
6597
  # tag_set: [
6159
6598
  # {
6160
- # key: "Key4",
6161
- # value: "Value4",
6162
- # },
6163
- # {
6164
- # key: "Key3",
6165
- # value: "Value3",
6599
+ # key: "Key1",
6600
+ # value: "Value1",
6166
6601
  # },
6167
6602
  # ],
6168
- # version_id: "null",
6603
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6169
6604
  # }
6170
6605
  #
6171
- # @example Example: To retrieve tag set of a specific object version
6606
+ # @example Example: To retrieve tag set of an object
6172
6607
  #
6173
- # # The following example retrieves tag set of an object. The request specifies object version.
6608
+ # # The following example retrieves tag set of an object.
6174
6609
  #
6175
6610
  # resp = client.get_object_tagging({
6176
6611
  # bucket: "examplebucket",
6177
- # key: "exampleobject",
6178
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6612
+ # key: "HappyFace.jpg",
6179
6613
  # })
6180
6614
  #
6181
6615
  # resp.to_h outputs the following:
6182
6616
  # {
6183
6617
  # tag_set: [
6184
6618
  # {
6185
- # key: "Key1",
6186
- # value: "Value1",
6619
+ # key: "Key4",
6620
+ # value: "Value4",
6621
+ # },
6622
+ # {
6623
+ # key: "Key3",
6624
+ # value: "Value3",
6187
6625
  # },
6188
6626
  # ],
6189
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6627
+ # version_id: "null",
6190
6628
  # }
6191
6629
  #
6192
6630
  # @example Request syntax with placeholder values
@@ -6253,8 +6691,8 @@ module Aws::S3
6253
6691
  # @option params [String] :request_payer
6254
6692
  # Confirms that the requester knows that they will be charged for the
6255
6693
  # request. Bucket owners need not specify this parameter in their
6256
- # requests. For information about downloading objects from requester
6257
- # 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]
6258
6696
  # in the *Amazon S3 User Guide*.
6259
6697
  #
6260
6698
  #
@@ -6263,8 +6701,8 @@ module Aws::S3
6263
6701
  #
6264
6702
  # @option params [String] :expected_bucket_owner
6265
6703
  # The account ID of the expected bucket owner. If the bucket is owned by
6266
- # a different account, the request will fail with an HTTP `403 (Access
6267
- # Denied)` error.
6704
+ # a different account, the request fails with the HTTP status code `403
6705
+ # Forbidden` (access denied).
6268
6706
  #
6269
6707
  # @return [Types::GetObjectTorrentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6270
6708
  #
@@ -6349,8 +6787,8 @@ module Aws::S3
6349
6787
  #
6350
6788
  # @option params [String] :expected_bucket_owner
6351
6789
  # The account ID of the expected bucket owner. If the bucket is owned by
6352
- # a different account, the request will fail with an HTTP `403 (Access
6353
- # Denied)` error.
6790
+ # a different account, the request fails with the HTTP status code `403
6791
+ # Forbidden` (access denied).
6354
6792
  #
6355
6793
  # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6356
6794
  #
@@ -6422,12 +6860,12 @@ module Aws::S3
6422
6860
  #
6423
6861
  # When using this action with Amazon S3 on Outposts, you must direct
6424
6862
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6425
- # takes the form
6426
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6427
- # 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
6428
6866
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6429
6867
  # bucket name. For more information about S3 on Outposts ARNs, see
6430
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
6868
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6431
6869
  #
6432
6870
  #
6433
6871
  #
@@ -6436,8 +6874,8 @@ module Aws::S3
6436
6874
  #
6437
6875
  # @option params [String] :expected_bucket_owner
6438
6876
  # The account ID of the expected bucket owner. If the bucket is owned by
6439
- # a different account, the request will fail with an HTTP `403 (Access
6440
- # Denied)` error.
6877
+ # a different account, the request fails with the HTTP status code `403
6878
+ # Forbidden` (access denied).
6441
6879
  #
6442
6880
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6443
6881
  #
@@ -6548,11 +6986,11 @@ module Aws::S3
6548
6986
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
6549
6987
  # an HTTP status code 403 ("access denied") error.
6550
6988
  #
6551
- # The following action is related to `HeadObject`\:
6989
+ # The following actions are related to `HeadObject`\:
6552
6990
  #
6553
6991
  # * [GetObject][5]
6554
6992
  #
6555
- # ^
6993
+ # * [GetObjectAttributes][6]
6556
6994
  #
6557
6995
  #
6558
6996
  #
@@ -6561,6 +6999,7 @@ module Aws::S3
6561
6999
  # [3]: https://tools.ietf.org/html/rfc7232
6562
7000
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
6563
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
6564
7003
  #
6565
7004
  # @option params [required, String] :bucket
6566
7005
  # The name of the bucket containing the object.
@@ -6575,12 +7014,12 @@ module Aws::S3
6575
7014
  #
6576
7015
  # When using this action with Amazon S3 on Outposts, you must direct
6577
7016
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6578
- # takes the form
6579
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6580
- # 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
6581
7020
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6582
7021
  # bucket name. For more information about S3 on Outposts ARNs, see
6583
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
7022
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6584
7023
  #
6585
7024
  #
6586
7025
  #
@@ -6589,19 +7028,19 @@ module Aws::S3
6589
7028
  #
6590
7029
  # @option params [String] :if_match
6591
7030
  # Return the object only if its entity tag (ETag) is the same as the one
6592
- # specified, otherwise return a 412 (precondition failed).
7031
+ # specified; otherwise, return a 412 (precondition failed) error.
6593
7032
  #
6594
7033
  # @option params [Time,DateTime,Date,Integer,String] :if_modified_since
6595
7034
  # Return the object only if it has been modified since the specified
6596
- # time, otherwise return a 304 (not modified).
7035
+ # time; otherwise, return a 304 (not modified) error.
6597
7036
  #
6598
7037
  # @option params [String] :if_none_match
6599
7038
  # Return the object only if its entity tag (ETag) is different from the
6600
- # one specified, otherwise return a 304 (not modified).
7039
+ # one specified; otherwise, return a 304 (not modified) error.
6601
7040
  #
6602
7041
  # @option params [Time,DateTime,Date,Integer,String] :if_unmodified_since
6603
7042
  # Return the object only if it has not been modified since the specified
6604
- # time, otherwise return a 412 (precondition failed).
7043
+ # time; otherwise, return a 412 (precondition failed) error.
6605
7044
  #
6606
7045
  # @option params [required, String] :key
6607
7046
  # The object key.
@@ -6632,8 +7071,8 @@ module Aws::S3
6632
7071
  # @option params [String] :request_payer
6633
7072
  # Confirms that the requester knows that they will be charged for the
6634
7073
  # request. Bucket owners need not specify this parameter in their
6635
- # requests. For information about downloading objects from requester
6636
- # 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]
6637
7076
  # in the *Amazon S3 User Guide*.
6638
7077
  #
6639
7078
  #
@@ -6648,8 +7087,16 @@ module Aws::S3
6648
7087
  #
6649
7088
  # @option params [String] :expected_bucket_owner
6650
7089
  # The account ID of the expected bucket owner. If the bucket is owned by
6651
- # a different account, the request will fail with an HTTP `403 (Access
6652
- # 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.
6653
7100
  #
6654
7101
  # @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6655
7102
  #
@@ -6660,6 +7107,10 @@ module Aws::S3
6660
7107
  # * {Types::HeadObjectOutput#archive_status #archive_status} => String
6661
7108
  # * {Types::HeadObjectOutput#last_modified #last_modified} => Time
6662
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
6663
7114
  # * {Types::HeadObjectOutput#etag #etag} => String
6664
7115
  # * {Types::HeadObjectOutput#missing_meta #missing_meta} => Integer
6665
7116
  # * {Types::HeadObjectOutput#version_id #version_id} => String
@@ -6724,6 +7175,7 @@ module Aws::S3
6724
7175
  # request_payer: "requester", # accepts requester
6725
7176
  # part_number: 1,
6726
7177
  # expected_bucket_owner: "AccountId",
7178
+ # checksum_mode: "ENABLED", # accepts ENABLED
6727
7179
  # })
6728
7180
  #
6729
7181
  # @example Response structure
@@ -6735,6 +7187,10 @@ module Aws::S3
6735
7187
  # resp.archive_status #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
6736
7188
  # resp.last_modified #=> Time
6737
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
6738
7194
  # resp.etag #=> String
6739
7195
  # resp.missing_meta #=> Integer
6740
7196
  # resp.version_id #=> String
@@ -6826,8 +7282,8 @@ module Aws::S3
6826
7282
  #
6827
7283
  # @option params [String] :expected_bucket_owner
6828
7284
  # The account ID of the expected bucket owner. If the bucket is owned by
6829
- # a different account, the request will fail with an HTTP `403 (Access
6830
- # Denied)` error.
7285
+ # a different account, the request fails with the HTTP status code `403
7286
+ # Forbidden` (access denied).
6831
7287
  #
6832
7288
  # @return [Types::ListBucketAnalyticsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6833
7289
  #
@@ -6916,7 +7372,7 @@ module Aws::S3
6916
7372
  # modify or retrieve.
6917
7373
  #
6918
7374
  # @option params [String] :continuation_token
6919
- # The ContinuationToken that represents a placeholder from where this
7375
+ # The `ContinuationToken` that represents a placeholder from where this
6920
7376
  # request should begin.
6921
7377
  #
6922
7378
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -7013,8 +7469,8 @@ module Aws::S3
7013
7469
  #
7014
7470
  # @option params [String] :expected_bucket_owner
7015
7471
  # The account ID of the expected bucket owner. If the bucket is owned by
7016
- # a different account, the request will fail with an HTTP `403 (Access
7017
- # Denied)` error.
7472
+ # a different account, the request fails with the HTTP status code `403
7473
+ # Forbidden` (access denied).
7018
7474
  #
7019
7475
  # @return [Types::ListBucketInventoryConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7020
7476
  #
@@ -7045,7 +7501,7 @@ module Aws::S3
7045
7501
  # resp.inventory_configuration_list[0].id #=> String
7046
7502
  # resp.inventory_configuration_list[0].included_object_versions #=> String, one of "All", "Current"
7047
7503
  # resp.inventory_configuration_list[0].optional_fields #=> Array
7048
- # 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"
7049
7505
  # resp.inventory_configuration_list[0].schedule.frequency #=> String, one of "Daily", "Weekly"
7050
7506
  # resp.is_truncated #=> Boolean
7051
7507
  # resp.next_continuation_token #=> String
@@ -7113,8 +7569,8 @@ module Aws::S3
7113
7569
  #
7114
7570
  # @option params [String] :expected_bucket_owner
7115
7571
  # The account ID of the expected bucket owner. If the bucket is owned by
7116
- # a different account, the request will fail with an HTTP `403 (Access
7117
- # Denied)` error.
7572
+ # a different account, the request fails with the HTTP status code `403
7573
+ # Forbidden` (access denied).
7118
7574
  #
7119
7575
  # @return [Types::ListBucketMetricsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7120
7576
  #
@@ -7158,7 +7614,8 @@ module Aws::S3
7158
7614
  end
7159
7615
 
7160
7616
  # Returns a list of all buckets owned by the authenticated sender of the
7161
- # request.
7617
+ # request. To use this operation, you must have the
7618
+ # `s3:ListAllMyBuckets` permission.
7162
7619
  #
7163
7620
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7164
7621
  #
@@ -7275,12 +7732,12 @@ module Aws::S3
7275
7732
  #
7276
7733
  # When using this action with Amazon S3 on Outposts, you must direct
7277
7734
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7278
- # takes the form
7279
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7280
- # 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
7281
7738
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7282
7739
  # bucket name. For more information about S3 on Outposts ARNs, see
7283
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
7740
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7284
7741
  #
7285
7742
  #
7286
7743
  #
@@ -7339,8 +7796,8 @@ module Aws::S3
7339
7796
  #
7340
7797
  # @option params [String] :expected_bucket_owner
7341
7798
  # The account ID of the expected bucket owner. If the bucket is owned by
7342
- # a different account, the request will fail with an HTTP `403 (Access
7343
- # Denied)` error.
7799
+ # a different account, the request fails with the HTTP status code `403
7800
+ # Forbidden` (access denied).
7344
7801
  #
7345
7802
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7346
7803
  #
@@ -7360,97 +7817,97 @@ module Aws::S3
7360
7817
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7361
7818
  #
7362
7819
  #
7363
- # @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
7364
7821
  #
7365
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7366
- # # setup of multipart uploads.
7822
+ # # The following example lists in-progress multipart uploads on a specific bucket.
7367
7823
  #
7368
7824
  # resp = client.list_multipart_uploads({
7369
7825
  # bucket: "examplebucket",
7370
- # key_marker: "nextkeyfrompreviousresponse",
7371
- # max_uploads: 2,
7372
- # upload_id_marker: "valuefrompreviousresponse",
7373
7826
  # })
7374
7827
  #
7375
7828
  # resp.to_h outputs the following:
7376
7829
  # {
7377
- # bucket: "acl1",
7378
- # is_truncated: true,
7379
- # key_marker: "",
7380
- # max_uploads: 2,
7381
- # next_key_marker: "someobjectkey",
7382
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7383
- # upload_id_marker: "",
7384
7830
  # uploads: [
7385
7831
  # {
7386
7832
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7387
7833
  # initiator: {
7388
- # display_name: "ownder-display-name",
7834
+ # display_name: "display-name",
7389
7835
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7390
7836
  # },
7391
7837
  # key: "JavaFile",
7392
7838
  # owner: {
7393
- # display_name: "mohanataws",
7394
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7839
+ # display_name: "display-name",
7840
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7395
7841
  # },
7396
7842
  # storage_class: "STANDARD",
7397
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7843
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7398
7844
  # },
7399
7845
  # {
7400
7846
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7401
7847
  # initiator: {
7402
- # display_name: "ownder-display-name",
7848
+ # display_name: "display-name",
7403
7849
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7404
7850
  # },
7405
7851
  # key: "JavaFile",
7406
7852
  # owner: {
7407
- # display_name: "ownder-display-name",
7853
+ # display_name: "display-name",
7408
7854
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7409
7855
  # },
7410
7856
  # storage_class: "STANDARD",
7411
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7857
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7412
7858
  # },
7413
7859
  # ],
7414
7860
  # }
7415
7861
  #
7416
- # @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
7417
7863
  #
7418
- # # 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.
7419
7866
  #
7420
7867
  # resp = client.list_multipart_uploads({
7421
7868
  # bucket: "examplebucket",
7869
+ # key_marker: "nextkeyfrompreviousresponse",
7870
+ # max_uploads: 2,
7871
+ # upload_id_marker: "valuefrompreviousresponse",
7422
7872
  # })
7423
7873
  #
7424
7874
  # resp.to_h outputs the following:
7425
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: "",
7426
7883
  # uploads: [
7427
7884
  # {
7428
7885
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7429
7886
  # initiator: {
7430
- # display_name: "display-name",
7887
+ # display_name: "ownder-display-name",
7431
7888
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7432
7889
  # },
7433
7890
  # key: "JavaFile",
7434
7891
  # owner: {
7435
- # display_name: "display-name",
7436
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7892
+ # display_name: "mohanataws",
7893
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7437
7894
  # },
7438
7895
  # storage_class: "STANDARD",
7439
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7896
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7440
7897
  # },
7441
7898
  # {
7442
7899
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7443
7900
  # initiator: {
7444
- # display_name: "display-name",
7901
+ # display_name: "ownder-display-name",
7445
7902
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7446
7903
  # },
7447
7904
  # key: "JavaFile",
7448
7905
  # owner: {
7449
- # display_name: "display-name",
7906
+ # display_name: "ownder-display-name",
7450
7907
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7451
7908
  # },
7452
7909
  # storage_class: "STANDARD",
7453
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7910
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7454
7911
  # },
7455
7912
  # ],
7456
7913
  # }
@@ -7488,6 +7945,7 @@ module Aws::S3
7488
7945
  # resp.uploads[0].owner.id #=> String
7489
7946
  # resp.uploads[0].initiator.id #=> String
7490
7947
  # resp.uploads[0].initiator.display_name #=> String
7948
+ # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
7491
7949
  # resp.common_prefixes #=> Array
7492
7950
  # resp.common_prefixes[0].prefix #=> String
7493
7951
  # resp.encoding_type #=> String, one of "url"
@@ -7578,8 +8036,8 @@ module Aws::S3
7578
8036
  #
7579
8037
  # @option params [String] :expected_bucket_owner
7580
8038
  # The account ID of the expected bucket owner. If the bucket is owned by
7581
- # a different account, the request will fail with an HTTP `403 (Access
7582
- # Denied)` error.
8039
+ # a different account, the request fails with the HTTP status code `403
8040
+ # Forbidden` (access denied).
7583
8041
  #
7584
8042
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7585
8043
  #
@@ -7665,6 +8123,8 @@ module Aws::S3
7665
8123
  # resp.next_version_id_marker #=> String
7666
8124
  # resp.versions #=> Array
7667
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"
7668
8128
  # resp.versions[0].size #=> Integer
7669
8129
  # resp.versions[0].storage_class #=> String, one of "STANDARD"
7670
8130
  # resp.versions[0].key #=> String
@@ -7740,12 +8200,12 @@ module Aws::S3
7740
8200
  #
7741
8201
  # When using this action with Amazon S3 on Outposts, you must direct
7742
8202
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7743
- # takes the form
7744
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7745
- # 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
7746
8206
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7747
8207
  # bucket name. For more information about S3 on Outposts ARNs, see
7748
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8208
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7749
8209
  #
7750
8210
  #
7751
8211
  #
@@ -7783,8 +8243,8 @@ module Aws::S3
7783
8243
  #
7784
8244
  # @option params [String] :expected_bucket_owner
7785
8245
  # The account ID of the expected bucket owner. If the bucket is owned by
7786
- # a different account, the request will fail with an HTTP `403 (Access
7787
- # Denied)` error.
8246
+ # a different account, the request fails with the HTTP status code `403
8247
+ # Forbidden` (access denied).
7788
8248
  #
7789
8249
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7790
8250
  #
@@ -7862,6 +8322,8 @@ module Aws::S3
7862
8322
  # resp.contents[0].key #=> String
7863
8323
  # resp.contents[0].last_modified #=> Time
7864
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"
7865
8327
  # resp.contents[0].size #=> Integer
7866
8328
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
7867
8329
  # resp.contents[0].owner.display_name #=> String
@@ -7940,12 +8402,12 @@ module Aws::S3
7940
8402
  #
7941
8403
  # When using this action with Amazon S3 on Outposts, you must direct
7942
8404
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7943
- # takes the form
7944
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7945
- # 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
7946
8408
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7947
8409
  # bucket name. For more information about S3 on Outposts ARNs, see
7948
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8410
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7949
8411
  #
7950
8412
  #
7951
8413
  #
@@ -7988,8 +8450,8 @@ module Aws::S3
7988
8450
  #
7989
8451
  # @option params [String] :expected_bucket_owner
7990
8452
  # The account ID of the expected bucket owner. If the bucket is owned by
7991
- # a different account, the request will fail with an HTTP `403 (Access
7992
- # Denied)` error.
8453
+ # a different account, the request fails with the HTTP status code `403
8454
+ # Forbidden` (access denied).
7993
8455
  #
7994
8456
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7995
8457
  #
@@ -8067,6 +8529,8 @@ module Aws::S3
8067
8529
  # resp.contents[0].key #=> String
8068
8530
  # resp.contents[0].last_modified #=> Time
8069
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"
8070
8534
  # resp.contents[0].size #=> Integer
8071
8535
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
8072
8536
  # resp.contents[0].owner.display_name #=> String
@@ -8105,6 +8569,10 @@ module Aws::S3
8105
8569
  # query string parameter and set its value to the `NextPartNumberMarker`
8106
8570
  # field value from the previous response.
8107
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
+ #
8108
8576
  # For more information on multipart uploads, see [Uploading Objects
8109
8577
  # Using Multipart Upload][2].
8110
8578
  #
@@ -8121,7 +8589,9 @@ module Aws::S3
8121
8589
  #
8122
8590
  # * [AbortMultipartUpload][6]
8123
8591
  #
8124
- # * [ListMultipartUploads][7]
8592
+ # * [GetObjectAttributes][7]
8593
+ #
8594
+ # * [ListMultipartUploads][8]
8125
8595
  #
8126
8596
  #
8127
8597
  #
@@ -8131,7 +8601,8 @@ module Aws::S3
8131
8601
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
8132
8602
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
8133
8603
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
8134
- # [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
8135
8606
  #
8136
8607
  # @option params [required, String] :bucket
8137
8608
  # The name of the bucket to which the parts are being uploaded.
@@ -8146,12 +8617,12 @@ module Aws::S3
8146
8617
  #
8147
8618
  # When using this action with Amazon S3 on Outposts, you must direct
8148
8619
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8149
- # takes the form
8150
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8151
- # 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
8152
8623
  # Services SDKs, you provide the Outposts bucket ARN in place of the
8153
8624
  # bucket name. For more information about S3 on Outposts ARNs, see
8154
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8625
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8155
8626
  #
8156
8627
  #
8157
8628
  #
@@ -8175,8 +8646,8 @@ module Aws::S3
8175
8646
  # @option params [String] :request_payer
8176
8647
  # Confirms that the requester knows that they will be charged for the
8177
8648
  # request. Bucket owners need not specify this parameter in their
8178
- # requests. For information about downloading objects from requester
8179
- # 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]
8180
8651
  # in the *Amazon S3 User Guide*.
8181
8652
  #
8182
8653
  #
@@ -8185,8 +8656,38 @@ module Aws::S3
8185
8656
  #
8186
8657
  # @option params [String] :expected_bucket_owner
8187
8658
  # The account ID of the expected bucket owner. If the bucket is owned by
8188
- # a different account, the request will fail with an HTTP `403 (Access
8189
- # 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
8190
8691
  #
8191
8692
  # @return [Types::ListPartsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8192
8693
  #
@@ -8204,6 +8705,7 @@ module Aws::S3
8204
8705
  # * {Types::ListPartsOutput#owner #owner} => Types::Owner
8205
8706
  # * {Types::ListPartsOutput#storage_class #storage_class} => String
8206
8707
  # * {Types::ListPartsOutput#request_charged #request_charged} => String
8708
+ # * {Types::ListPartsOutput#checksum_algorithm #checksum_algorithm} => String
8207
8709
  #
8208
8710
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8209
8711
  #
@@ -8255,6 +8757,9 @@ module Aws::S3
8255
8757
  # upload_id: "MultipartUploadId", # required
8256
8758
  # request_payer: "requester", # accepts requester
8257
8759
  # expected_bucket_owner: "AccountId",
8760
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
8761
+ # sse_customer_key: "SSECustomerKey",
8762
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
8258
8763
  # })
8259
8764
  #
8260
8765
  # @example Response structure
@@ -8273,12 +8778,17 @@ module Aws::S3
8273
8778
  # resp.parts[0].last_modified #=> Time
8274
8779
  # resp.parts[0].etag #=> String
8275
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
8276
8785
  # resp.initiator.id #=> String
8277
8786
  # resp.initiator.display_name #=> String
8278
8787
  # resp.owner.display_name #=> String
8279
8788
  # resp.owner.id #=> String
8280
8789
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
8281
8790
  # resp.request_charged #=> String, one of "requester"
8791
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
8282
8792
  #
8283
8793
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
8284
8794
  #
@@ -8294,7 +8804,7 @@ module Aws::S3
8294
8804
  # perform faster data transfers to Amazon S3.
8295
8805
  #
8296
8806
  # To use this operation, you must have permission to perform the
8297
- # s3:PutAccelerateConfiguration action. The bucket owner has this
8807
+ # `s3:PutAccelerateConfiguration` action. The bucket owner has this
8298
8808
  # permission by default. The bucket owner can grant this permission to
8299
8809
  # others. For more information about permissions, see [Permissions
8300
8810
  # Related to Bucket Subresource Operations][1] and [Managing Access
@@ -8343,8 +8853,24 @@ module Aws::S3
8343
8853
  #
8344
8854
  # @option params [String] :expected_bucket_owner
8345
8855
  # The account ID of the expected bucket owner. If the bucket is owned by
8346
- # a different account, the request will fail with an HTTP `403 (Access
8347
- # 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
8348
8874
  #
8349
8875
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8350
8876
  #
@@ -8356,6 +8882,7 @@ module Aws::S3
8356
8882
  # status: "Enabled", # accepts Enabled, Suspended
8357
8883
  # },
8358
8884
  # expected_bucket_owner: "AccountId",
8885
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8359
8886
  # })
8360
8887
  #
8361
8888
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -8558,6 +9085,22 @@ module Aws::S3
8558
9085
  #
8559
9086
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
8560
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
+ #
8561
9104
  # @option params [String] :grant_full_control
8562
9105
  # Allows grantee the read, write, read ACP, and write ACP permissions on
8563
9106
  # the bucket.
@@ -8579,8 +9122,8 @@ module Aws::S3
8579
9122
  #
8580
9123
  # @option params [String] :expected_bucket_owner
8581
9124
  # The account ID of the expected bucket owner. If the bucket is owned by
8582
- # a different account, the request will fail with an HTTP `403 (Access
8583
- # Denied)` error.
9125
+ # a different account, the request fails with the HTTP status code `403
9126
+ # Forbidden` (access denied).
8584
9127
  #
8585
9128
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8586
9129
  #
@@ -8621,6 +9164,7 @@ module Aws::S3
8621
9164
  # },
8622
9165
  # bucket: "BucketName", # required
8623
9166
  # content_md5: "ContentMD5",
9167
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8624
9168
  # grant_full_control: "GrantFullControl",
8625
9169
  # grant_read: "GrantRead",
8626
9170
  # grant_read_acp: "GrantReadACP",
@@ -8717,8 +9261,8 @@ module Aws::S3
8717
9261
  #
8718
9262
  # @option params [String] :expected_bucket_owner
8719
9263
  # The account ID of the expected bucket owner. If the bucket is owned by
8720
- # a different account, the request will fail with an HTTP `403 (Access
8721
- # Denied)` error.
9264
+ # a different account, the request fails with the HTTP status code `403
9265
+ # Forbidden` (access denied).
8722
9266
  #
8723
9267
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8724
9268
  #
@@ -8849,10 +9393,26 @@ module Aws::S3
8849
9393
  #
8850
9394
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
8851
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
+ #
8852
9412
  # @option params [String] :expected_bucket_owner
8853
9413
  # The account ID of the expected bucket owner. If the bucket is owned by
8854
- # a different account, the request will fail with an HTTP `403 (Access
8855
- # Denied)` error.
9414
+ # a different account, the request fails with the HTTP status code `403
9415
+ # Forbidden` (access denied).
8856
9416
  #
8857
9417
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8858
9418
  #
@@ -8917,6 +9477,7 @@ module Aws::S3
8917
9477
  # ],
8918
9478
  # },
8919
9479
  # content_md5: "ContentMD5",
9480
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8920
9481
  # expected_bucket_owner: "AccountId",
8921
9482
  # })
8922
9483
  #
@@ -8935,8 +9496,11 @@ module Aws::S3
8935
9496
  # Default encryption for a bucket can use server-side encryption with
8936
9497
  # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
8937
9498
  # you specify default encryption using SSE-KMS, you can also configure
8938
- # Amazon S3 Bucket Key. For information about default encryption, see
8939
- # [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
8940
9504
  # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
8941
9505
  # Bucket Keys][2] in the *Amazon S3 User Guide*.
8942
9506
  #
@@ -8987,13 +9551,29 @@ module Aws::S3
8987
9551
  # (CLI) or Amazon Web Services SDKs, this field is calculated
8988
9552
  # automatically.
8989
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
+ #
8990
9570
  # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
8991
9571
  # Specifies the default server-side-encryption configuration.
8992
9572
  #
8993
9573
  # @option params [String] :expected_bucket_owner
8994
9574
  # The account ID of the expected bucket owner. If the bucket is owned by
8995
- # a different account, the request will fail with an HTTP `403 (Access
8996
- # Denied)` error.
9575
+ # a different account, the request fails with the HTTP status code `403
9576
+ # Forbidden` (access denied).
8997
9577
  #
8998
9578
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8999
9579
  #
@@ -9002,6 +9582,7 @@ module Aws::S3
9002
9582
  # resp = client.put_bucket_encryption({
9003
9583
  # bucket: "BucketName", # required
9004
9584
  # content_md5: "ContentMD5",
9585
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9005
9586
  # server_side_encryption_configuration: { # required
9006
9587
  # rules: [ # required
9007
9588
  # {
@@ -9230,8 +9811,8 @@ module Aws::S3
9230
9811
  #
9231
9812
  # @option params [String] :expected_bucket_owner
9232
9813
  # The account ID of the expected bucket owner. If the bucket is owned by
9233
- # a different account, the request will fail with an HTTP `403 (Access
9234
- # Denied)` error.
9814
+ # a different account, the request fails with the HTTP status code `403
9815
+ # Forbidden` (access denied).
9235
9816
  #
9236
9817
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9237
9818
  #
@@ -9262,7 +9843,7 @@ module Aws::S3
9262
9843
  # },
9263
9844
  # id: "InventoryId", # required
9264
9845
  # included_object_versions: "All", # required, accepts All, Current
9265
- # 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
9266
9847
  # schedule: { # required
9267
9848
  # frequency: "Daily", # required, accepts Daily, Weekly
9268
9849
  # },
@@ -9352,12 +9933,28 @@ module Aws::S3
9352
9933
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9353
9934
  # automatically.
9354
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
+ #
9355
9952
  # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
9356
9953
  #
9357
9954
  # @option params [String] :expected_bucket_owner
9358
9955
  # The account ID of the expected bucket owner. If the bucket is owned by
9359
- # a different account, the request will fail with an HTTP `403 (Access
9360
- # Denied)` error.
9956
+ # a different account, the request fails with the HTTP status code `403
9957
+ # Forbidden` (access denied).
9361
9958
  #
9362
9959
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9363
9960
  #
@@ -9366,6 +9963,7 @@ module Aws::S3
9366
9963
  # resp = client.put_bucket_lifecycle({
9367
9964
  # bucket: "BucketName", # required
9368
9965
  # content_md5: "ContentMD5",
9966
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9369
9967
  # lifecycle_configuration: {
9370
9968
  # rules: [ # required
9371
9969
  # {
@@ -9410,7 +10008,10 @@ module Aws::S3
9410
10008
  end
9411
10009
 
9412
10010
  # Creates a new lifecycle configuration for the bucket or replaces an
9413
- # 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
9414
10015
  # configuration, see [Managing your storage lifecycle][1].
9415
10016
  #
9416
10017
  # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
@@ -9454,18 +10055,18 @@ module Aws::S3
9454
10055
  # (that is, the Amazon Web Services account that created it) can access
9455
10056
  # the resource. The resource owner can optionally grant access
9456
10057
  # permissions to others by writing an access policy. For this operation,
9457
- # a user must get the s3:PutLifecycleConfiguration permission.
10058
+ # a user must get the `s3:PutLifecycleConfiguration` permission.
9458
10059
  #
9459
10060
  # You can also explicitly deny permissions. Explicit deny also
9460
10061
  # supersedes any other permissions. If you want to block users or
9461
10062
  # accounts from removing or deleting objects from your bucket, you must
9462
10063
  # deny them permissions for the following actions:
9463
10064
  #
9464
- # * s3:DeleteObject
10065
+ # * `s3:DeleteObject`
9465
10066
  #
9466
- # * s3:DeleteObjectVersion
10067
+ # * `s3:DeleteObjectVersion`
9467
10068
  #
9468
- # * s3:PutLifecycleConfiguration
10069
+ # * `s3:PutLifecycleConfiguration`
9469
10070
  #
9470
10071
  # For more information about permissions, see [Managing Access
9471
10072
  # Permissions to Your Amazon S3 Resources][5].
@@ -9492,13 +10093,29 @@ module Aws::S3
9492
10093
  # @option params [required, String] :bucket
9493
10094
  # The name of the bucket for which to set the configuration.
9494
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
+ #
9495
10112
  # @option params [Types::BucketLifecycleConfiguration] :lifecycle_configuration
9496
10113
  # Container for lifecycle rules. You can add as many as 1,000 rules.
9497
10114
  #
9498
10115
  # @option params [String] :expected_bucket_owner
9499
10116
  # The account ID of the expected bucket owner. If the bucket is owned by
9500
- # a different account, the request will fail with an HTTP `403 (Access
9501
- # Denied)` error.
10117
+ # a different account, the request fails with the HTTP status code `403
10118
+ # Forbidden` (access denied).
9502
10119
  #
9503
10120
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9504
10121
  #
@@ -9535,6 +10152,7 @@ module Aws::S3
9535
10152
  #
9536
10153
  # resp = client.put_bucket_lifecycle_configuration({
9537
10154
  # bucket: "BucketName", # required
10155
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9538
10156
  # lifecycle_configuration: {
9539
10157
  # rules: [ # required
9540
10158
  # {
@@ -9690,10 +10308,26 @@ module Aws::S3
9690
10308
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9691
10309
  # automatically.
9692
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
+ #
9693
10327
  # @option params [String] :expected_bucket_owner
9694
10328
  # The account ID of the expected bucket owner. If the bucket is owned by
9695
- # a different account, the request will fail with an HTTP `403 (Access
9696
- # Denied)` error.
10329
+ # a different account, the request fails with the HTTP status code `403
10330
+ # Forbidden` (access denied).
9697
10331
  #
9698
10332
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9699
10333
  #
@@ -9745,6 +10379,7 @@ module Aws::S3
9745
10379
  # },
9746
10380
  # },
9747
10381
  # content_md5: "ContentMD5",
10382
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9748
10383
  # expected_bucket_owner: "AccountId",
9749
10384
  # })
9750
10385
  #
@@ -9812,8 +10447,8 @@ module Aws::S3
9812
10447
  #
9813
10448
  # @option params [String] :expected_bucket_owner
9814
10449
  # The account ID of the expected bucket owner. If the bucket is owned by
9815
- # a different account, the request will fail with an HTTP `403 (Access
9816
- # Denied)` error.
10450
+ # a different account, the request fails with the HTTP status code `403
10451
+ # Forbidden` (access denied).
9817
10452
  #
9818
10453
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9819
10454
  #
@@ -9872,13 +10507,29 @@ module Aws::S3
9872
10507
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9873
10508
  # automatically.
9874
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
+ #
9875
10526
  # @option params [required, Types::NotificationConfigurationDeprecated] :notification_configuration
9876
10527
  # The container for the configuration.
9877
10528
  #
9878
10529
  # @option params [String] :expected_bucket_owner
9879
10530
  # The account ID of the expected bucket owner. If the bucket is owned by
9880
- # a different account, the request will fail with an HTTP `403 (Access
9881
- # Denied)` error.
10531
+ # a different account, the request fails with the HTTP status code `403
10532
+ # Forbidden` (access denied).
9882
10533
  #
9883
10534
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9884
10535
  #
@@ -9887,6 +10538,7 @@ module Aws::S3
9887
10538
  # resp = client.put_bucket_notification({
9888
10539
  # bucket: "BucketName", # required
9889
10540
  # content_md5: "ContentMD5",
10541
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9890
10542
  # notification_configuration: { # required
9891
10543
  # topic_configuration: {
9892
10544
  # id: "NotificationId",
@@ -9953,6 +10605,10 @@ module Aws::S3
9953
10605
  # You can disable notifications by adding the empty
9954
10606
  # NotificationConfiguration element.
9955
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
+ #
9956
10612
  # By default, only the bucket owner can configure notifications on a
9957
10613
  # bucket. However, bucket owners can use a bucket policy to grant
9958
10614
  # permission to other users to set this configuration with
@@ -9978,14 +10634,15 @@ module Aws::S3
9978
10634
  # The following action is related to
9979
10635
  # `PutBucketNotificationConfiguration`\:
9980
10636
  #
9981
- # * [GetBucketNotificationConfiguration][2]
10637
+ # * [GetBucketNotificationConfiguration][3]
9982
10638
  #
9983
10639
  # ^
9984
10640
  #
9985
10641
  #
9986
10642
  #
9987
10643
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
9988
- # [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
9989
10646
  #
9990
10647
  # @option params [required, String] :bucket
9991
10648
  # The name of the bucket.
@@ -9997,8 +10654,8 @@ module Aws::S3
9997
10654
  #
9998
10655
  # @option params [String] :expected_bucket_owner
9999
10656
  # The account ID of the expected bucket owner. If the bucket is owned by
10000
- # a different account, the request will fail with an HTTP `403 (Access
10001
- # Denied)` error.
10657
+ # a different account, the request fails with the HTTP status code `403
10658
+ # Forbidden` (access denied).
10002
10659
  #
10003
10660
  # @option params [Boolean] :skip_destination_validation
10004
10661
  # Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
@@ -10129,8 +10786,8 @@ module Aws::S3
10129
10786
  #
10130
10787
  # @option params [String] :expected_bucket_owner
10131
10788
  # The account ID of the expected bucket owner. If the bucket is owned by
10132
- # a different account, the request will fail with an HTTP `403 (Access
10133
- # Denied)` error.
10789
+ # a different account, the request fails with the HTTP status code `403
10790
+ # Forbidden` (access denied).
10134
10791
  #
10135
10792
  # @option params [required, Types::OwnershipControls] :ownership_controls
10136
10793
  # The `OwnershipControls` (BucketOwnerEnforced, BucketOwnerPreferred, or
@@ -10202,6 +10859,22 @@ module Aws::S3
10202
10859
  # (CLI) or Amazon Web Services SDKs, this field is calculated
10203
10860
  # automatically.
10204
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
+ #
10205
10878
  # @option params [Boolean] :confirm_remove_self_bucket_access
10206
10879
  # Set this parameter to true to confirm that you want to remove your
10207
10880
  # permissions to change this bucket policy in the future.
@@ -10211,8 +10884,8 @@ module Aws::S3
10211
10884
  #
10212
10885
  # @option params [String] :expected_bucket_owner
10213
10886
  # The account ID of the expected bucket owner. If the bucket is owned by
10214
- # a different account, the request will fail with an HTTP `403 (Access
10215
- # Denied)` error.
10887
+ # a different account, the request fails with the HTTP status code `403
10888
+ # Forbidden` (access denied).
10216
10889
  #
10217
10890
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10218
10891
  #
@@ -10231,6 +10904,7 @@ module Aws::S3
10231
10904
  # resp = client.put_bucket_policy({
10232
10905
  # bucket: "BucketName", # required
10233
10906
  # content_md5: "ContentMD5",
10907
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10234
10908
  # confirm_remove_self_bucket_access: false,
10235
10909
  # policy: "Policy", # required
10236
10910
  # expected_bucket_owner: "AccountId",
@@ -10341,6 +11015,22 @@ module Aws::S3
10341
11015
  #
10342
11016
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10343
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
+ #
10344
11034
  # @option params [required, Types::ReplicationConfiguration] :replication_configuration
10345
11035
  # A container for replication rules. You can add up to 1,000 rules. The
10346
11036
  # maximum size of a replication configuration is 2 MB.
@@ -10350,8 +11040,8 @@ module Aws::S3
10350
11040
  #
10351
11041
  # @option params [String] :expected_bucket_owner
10352
11042
  # The account ID of the expected bucket owner. If the bucket is owned by
10353
- # a different account, the request will fail with an HTTP `403 (Access
10354
- # Denied)` error.
11043
+ # a different account, the request fails with the HTTP status code `403
11044
+ # Forbidden` (access denied).
10355
11045
  #
10356
11046
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10357
11047
  #
@@ -10382,6 +11072,7 @@ module Aws::S3
10382
11072
  # resp = client.put_bucket_replication({
10383
11073
  # bucket: "BucketName", # required
10384
11074
  # content_md5: "ContentMD5",
11075
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10385
11076
  # replication_configuration: { # required
10386
11077
  # role: "Role", # required
10387
11078
  # rules: [ # required
@@ -10493,13 +11184,29 @@ module Aws::S3
10493
11184
  #
10494
11185
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10495
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
+ #
10496
11203
  # @option params [required, Types::RequestPaymentConfiguration] :request_payment_configuration
10497
11204
  # Container for Payer.
10498
11205
  #
10499
11206
  # @option params [String] :expected_bucket_owner
10500
11207
  # The account ID of the expected bucket owner. If the bucket is owned by
10501
- # a different account, the request will fail with an HTTP `403 (Access
10502
- # Denied)` error.
11208
+ # a different account, the request fails with the HTTP status code `403
11209
+ # Forbidden` (access denied).
10503
11210
  #
10504
11211
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10505
11212
  #
@@ -10520,6 +11227,7 @@ module Aws::S3
10520
11227
  # resp = client.put_bucket_request_payment({
10521
11228
  # bucket: "BucketName", # required
10522
11229
  # content_md5: "ContentMD5",
11230
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10523
11231
  # request_payment_configuration: { # required
10524
11232
  # payer: "Requester", # required, accepts Requester, BucketOwner
10525
11233
  # },
@@ -10626,13 +11334,29 @@ module Aws::S3
10626
11334
  #
10627
11335
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10628
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
+ #
10629
11353
  # @option params [required, Types::Tagging] :tagging
10630
11354
  # Container for the `TagSet` and `Tag` elements.
10631
11355
  #
10632
11356
  # @option params [String] :expected_bucket_owner
10633
11357
  # The account ID of the expected bucket owner. If the bucket is owned by
10634
- # a different account, the request will fail with an HTTP `403 (Access
10635
- # Denied)` error.
11358
+ # a different account, the request fails with the HTTP status code `403
11359
+ # Forbidden` (access denied).
10636
11360
  #
10637
11361
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10638
11362
  #
@@ -10662,6 +11386,7 @@ module Aws::S3
10662
11386
  # resp = client.put_bucket_tagging({
10663
11387
  # bucket: "BucketName", # required
10664
11388
  # content_md5: "ContentMD5",
11389
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10665
11390
  # tagging: { # required
10666
11391
  # tag_set: [ # required
10667
11392
  # {
@@ -10682,8 +11407,7 @@ module Aws::S3
10682
11407
  req.send_request(options)
10683
11408
  end
10684
11409
 
10685
- # Sets the versioning state of an existing bucket. To set the versioning
10686
- # state, you must be the bucket owner.
11410
+ # Sets the versioning state of an existing bucket.
10687
11411
  #
10688
11412
  # You can set the versioning state with one of the following values:
10689
11413
  #
@@ -10697,8 +11421,9 @@ module Aws::S3
10697
11421
  # versioning state; a [GetBucketVersioning][1] request does not return a
10698
11422
  # versioning state value.
10699
11423
  #
10700
- # If the bucket owner enables MFA Delete in the bucket versioning
10701
- # 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`
10702
11427
  # header and the `Status` and the `MfaDelete` request elements in a
10703
11428
  # request to set the versioning state of the bucket.
10704
11429
  #
@@ -10743,6 +11468,22 @@ module Aws::S3
10743
11468
  #
10744
11469
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10745
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
+ #
10746
11487
  # @option params [String] :mfa
10747
11488
  # The concatenation of the authentication device's serial number, a
10748
11489
  # space, and the value that is displayed on your authentication device.
@@ -10752,8 +11493,8 @@ module Aws::S3
10752
11493
  #
10753
11494
  # @option params [String] :expected_bucket_owner
10754
11495
  # The account ID of the expected bucket owner. If the bucket is owned by
10755
- # a different account, the request will fail with an HTTP `403 (Access
10756
- # Denied)` error.
11496
+ # a different account, the request fails with the HTTP status code `403
11497
+ # Forbidden` (access denied).
10757
11498
  #
10758
11499
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10759
11500
  #
@@ -10775,6 +11516,7 @@ module Aws::S3
10775
11516
  # resp = client.put_bucket_versioning({
10776
11517
  # bucket: "BucketName", # required
10777
11518
  # content_md5: "ContentMD5",
11519
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10778
11520
  # mfa: "MFA",
10779
11521
  # versioning_configuration: { # required
10780
11522
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -10881,13 +11623,29 @@ module Aws::S3
10881
11623
  #
10882
11624
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10883
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
+ #
10884
11642
  # @option params [required, Types::WebsiteConfiguration] :website_configuration
10885
11643
  # Container for the request.
10886
11644
  #
10887
11645
  # @option params [String] :expected_bucket_owner
10888
11646
  # The account ID of the expected bucket owner. If the bucket is owned by
10889
- # a different account, the request will fail with an HTTP `403 (Access
10890
- # Denied)` error.
11647
+ # a different account, the request fails with the HTTP status code `403
11648
+ # Forbidden` (access denied).
10891
11649
  #
10892
11650
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10893
11651
  #
@@ -10914,6 +11672,7 @@ module Aws::S3
10914
11672
  # resp = client.put_bucket_website({
10915
11673
  # bucket: "BucketName", # required
10916
11674
  # content_md5: "ContentMD5",
11675
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10917
11676
  # website_configuration: { # required
10918
11677
  # error_document: {
10919
11678
  # key: "ObjectKey", # required
@@ -11096,12 +11855,12 @@ module Aws::S3
11096
11855
  #
11097
11856
  # When using this action with Amazon S3 on Outposts, you must direct
11098
11857
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11099
- # takes the form
11100
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11101
- # 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
11102
11861
  # Services SDKs, you provide the Outposts bucket ARN in place of the
11103
11862
  # bucket name. For more information about S3 on Outposts ARNs, see
11104
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
11863
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
11105
11864
  #
11106
11865
  #
11107
11866
  #
@@ -11170,6 +11929,66 @@ module Aws::S3
11170
11929
  #
11171
11930
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
11172
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
+ #
11173
11992
  # @option params [Time,DateTime,Date,Integer,String] :expires
11174
11993
  # The date and time at which the object is no longer cacheable. For more
11175
11994
  # information, see
@@ -11292,8 +12111,8 @@ module Aws::S3
11292
12111
  # @option params [String] :request_payer
11293
12112
  # Confirms that the requester knows that they will be charged for the
11294
12113
  # request. Bucket owners need not specify this parameter in their
11295
- # requests. For information about downloading objects from requester
11296
- # 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]
11297
12116
  # in the *Amazon S3 User Guide*.
11298
12117
  #
11299
12118
  #
@@ -11321,13 +12140,17 @@ module Aws::S3
11321
12140
  #
11322
12141
  # @option params [String] :expected_bucket_owner
11323
12142
  # The account ID of the expected bucket owner. If the bucket is owned by
11324
- # a different account, the request will fail with an HTTP `403 (Access
11325
- # Denied)` error.
12143
+ # a different account, the request fails with the HTTP status code `403
12144
+ # Forbidden` (access denied).
11326
12145
  #
11327
12146
  # @return [Types::PutObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11328
12147
  #
11329
12148
  # * {Types::PutObjectOutput#expiration #expiration} => String
11330
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
11331
12154
  # * {Types::PutObjectOutput#server_side_encryption #server_side_encryption} => String
11332
12155
  # * {Types::PutObjectOutput#version_id #version_id} => String
11333
12156
  # * {Types::PutObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -11338,134 +12161,134 @@ module Aws::S3
11338
12161
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11339
12162
  #
11340
12163
  #
11341
- # @example Example: To upload an object (specify optional headers)
12164
+ # @example Example: To upload an object and specify optional tags
11342
12165
  #
11343
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11344
- # # 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.
11345
12168
  #
11346
12169
  # resp = client.put_object({
11347
- # body: "HappyFace.jpg",
12170
+ # body: "c:\\HappyFace.jpg",
11348
12171
  # bucket: "examplebucket",
11349
12172
  # key: "HappyFace.jpg",
11350
- # server_side_encryption: "AES256",
11351
- # storage_class: "STANDARD_IA",
12173
+ # tagging: "key1=value1&key2=value2",
11352
12174
  # })
11353
12175
  #
11354
12176
  # resp.to_h outputs the following:
11355
12177
  # {
11356
12178
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11357
- # server_side_encryption: "AES256",
11358
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12179
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11359
12180
  # }
11360
12181
  #
11361
- # @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.
11362
12183
  #
11363
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11364
- # # 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.
11365
12186
  #
11366
12187
  # resp = client.put_object({
12188
+ # acl: "authenticated-read",
11367
12189
  # body: "filetoupload",
11368
12190
  # bucket: "examplebucket",
11369
12191
  # key: "exampleobject",
11370
- # server_side_encryption: "AES256",
11371
- # tagging: "key1=value1&key2=value2",
11372
12192
  # })
11373
12193
  #
11374
12194
  # resp.to_h outputs the following:
11375
12195
  # {
11376
12196
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11377
- # server_side_encryption: "AES256",
11378
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12197
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11379
12198
  # }
11380
12199
  #
11381
- # @example Example: To create an object.
12200
+ # @example Example: To upload an object and specify server-side encryption and object tags
11382
12201
  #
11383
- # # 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.
11384
12204
  #
11385
12205
  # resp = client.put_object({
11386
12206
  # body: "filetoupload",
11387
12207
  # bucket: "examplebucket",
11388
- # key: "objectkey",
12208
+ # key: "exampleobject",
12209
+ # server_side_encryption: "AES256",
12210
+ # tagging: "key1=value1&key2=value2",
11389
12211
  # })
11390
12212
  #
11391
12213
  # resp.to_h outputs the following:
11392
12214
  # {
11393
12215
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11394
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12216
+ # server_side_encryption: "AES256",
12217
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11395
12218
  # }
11396
12219
  #
11397
- # @example Example: To upload object and specify user-defined metadata
12220
+ # @example Example: To create an object.
11398
12221
  #
11399
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11400
- # # 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.
11401
12223
  #
11402
12224
  # resp = client.put_object({
11403
12225
  # body: "filetoupload",
11404
12226
  # bucket: "examplebucket",
11405
- # key: "exampleobject",
11406
- # metadata: {
11407
- # "metadata1" => "value1",
11408
- # "metadata2" => "value2",
11409
- # },
12227
+ # key: "objectkey",
11410
12228
  # })
11411
12229
  #
11412
12230
  # resp.to_h outputs the following:
11413
12231
  # {
11414
12232
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11415
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12233
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11416
12234
  # }
11417
12235
  #
11418
- # @example Example: To upload an object and specify canned ACL.
12236
+ # @example Example: To upload an object
11419
12237
  #
11420
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11421
- # # 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.
11422
12240
  #
11423
12241
  # resp = client.put_object({
11424
- # acl: "authenticated-read",
11425
- # body: "filetoupload",
12242
+ # body: "HappyFace.jpg",
11426
12243
  # bucket: "examplebucket",
11427
- # key: "exampleobject",
12244
+ # key: "HappyFace.jpg",
11428
12245
  # })
11429
12246
  #
11430
12247
  # resp.to_h outputs the following:
11431
12248
  # {
11432
12249
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11433
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12250
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11434
12251
  # }
11435
12252
  #
11436
- # @example Example: To upload an object
12253
+ # @example Example: To upload an object (specify optional headers)
11437
12254
  #
11438
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11439
- # # 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.
11440
12257
  #
11441
12258
  # resp = client.put_object({
11442
12259
  # body: "HappyFace.jpg",
11443
12260
  # bucket: "examplebucket",
11444
12261
  # key: "HappyFace.jpg",
12262
+ # server_side_encryption: "AES256",
12263
+ # storage_class: "STANDARD_IA",
11445
12264
  # })
11446
12265
  #
11447
12266
  # resp.to_h outputs the following:
11448
12267
  # {
11449
12268
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11450
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12269
+ # server_side_encryption: "AES256",
12270
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11451
12271
  # }
11452
12272
  #
11453
- # @example Example: To upload an object and specify optional tags
12273
+ # @example Example: To upload object and specify user-defined metadata
11454
12274
  #
11455
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11456
- # # 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.
11457
12277
  #
11458
12278
  # resp = client.put_object({
11459
- # body: "c:\\HappyFace.jpg",
12279
+ # body: "filetoupload",
11460
12280
  # bucket: "examplebucket",
11461
- # key: "HappyFace.jpg",
11462
- # tagging: "key1=value1&key2=value2",
12281
+ # key: "exampleobject",
12282
+ # metadata: {
12283
+ # "metadata1" => "value1",
12284
+ # "metadata2" => "value2",
12285
+ # },
11463
12286
  # })
11464
12287
  #
11465
12288
  # resp.to_h outputs the following:
11466
12289
  # {
11467
12290
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11468
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12291
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11469
12292
  # }
11470
12293
  #
11471
12294
  # @example Streaming a file from disk
@@ -11487,6 +12310,11 @@ module Aws::S3
11487
12310
  # content_length: 1,
11488
12311
  # content_md5: "ContentMD5",
11489
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",
11490
12318
  # expires: Time.now,
11491
12319
  # grant_full_control: "GrantFullControl",
11492
12320
  # grant_read: "GrantRead",
@@ -11517,6 +12345,10 @@ module Aws::S3
11517
12345
  #
11518
12346
  # resp.expiration #=> String
11519
12347
  # resp.etag #=> String
12348
+ # resp.checksum_crc32 #=> String
12349
+ # resp.checksum_crc32c #=> String
12350
+ # resp.checksum_sha1 #=> String
12351
+ # resp.checksum_sha256 #=> String
11520
12352
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
11521
12353
  # resp.version_id #=> String
11522
12354
  # resp.sse_customer_algorithm #=> String
@@ -11740,6 +12572,22 @@ module Aws::S3
11740
12572
  #
11741
12573
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
11742
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
+ #
11743
12591
  # @option params [String] :grant_full_control
11744
12592
  # Allows grantee the read, write, read ACP, and write ACP permissions on
11745
12593
  # the bucket.
@@ -11780,12 +12628,12 @@ module Aws::S3
11780
12628
  #
11781
12629
  # When using this action with Amazon S3 on Outposts, you must direct
11782
12630
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11783
- # takes the form
11784
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11785
- # 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
11786
12634
  # Services SDKs, you provide the Outposts bucket ARN in place of the
11787
12635
  # bucket name. For more information about S3 on Outposts ARNs, see
11788
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
12636
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
11789
12637
  #
11790
12638
  #
11791
12639
  #
@@ -11795,8 +12643,8 @@ module Aws::S3
11795
12643
  # @option params [String] :request_payer
11796
12644
  # Confirms that the requester knows that they will be charged for the
11797
12645
  # request. Bucket owners need not specify this parameter in their
11798
- # requests. For information about downloading objects from requester
11799
- # 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]
11800
12648
  # in the *Amazon S3 User Guide*.
11801
12649
  #
11802
12650
  #
@@ -11808,8 +12656,8 @@ module Aws::S3
11808
12656
  #
11809
12657
  # @option params [String] :expected_bucket_owner
11810
12658
  # The account ID of the expected bucket owner. If the bucket is owned by
11811
- # a different account, the request will fail with an HTTP `403 (Access
11812
- # Denied)` error.
12659
+ # a different account, the request fails with the HTTP status code `403
12660
+ # Forbidden` (access denied).
11813
12661
  #
11814
12662
  # @return [Types::PutObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11815
12663
  #
@@ -11858,6 +12706,7 @@ module Aws::S3
11858
12706
  # },
11859
12707
  # bucket: "BucketName", # required
11860
12708
  # content_md5: "ContentMD5",
12709
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
11861
12710
  # grant_full_control: "GrantFullControl",
11862
12711
  # grant_read: "GrantRead",
11863
12712
  # grant_read_acp: "GrantReadACP",
@@ -11882,7 +12731,7 @@ module Aws::S3
11882
12731
  req.send_request(options)
11883
12732
  end
11884
12733
 
11885
- # Applies a Legal Hold configuration to the specified object. For more
12734
+ # Applies a legal hold configuration to the specified object. For more
11886
12735
  # information, see [Locking Objects][1].
11887
12736
  #
11888
12737
  # This action is not supported by Amazon S3 on Outposts.
@@ -11892,8 +12741,8 @@ module Aws::S3
11892
12741
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
11893
12742
  #
11894
12743
  # @option params [required, String] :bucket
11895
- # The bucket name containing the object that you want to place a Legal
11896
- # Hold on.
12744
+ # The bucket name containing the object that you want to place a legal
12745
+ # hold on.
11897
12746
  #
11898
12747
  # When using this action with an access point, you must direct requests
11899
12748
  # to the access point hostname. The access point hostname takes the form
@@ -11908,17 +12757,17 @@ module Aws::S3
11908
12757
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
11909
12758
  #
11910
12759
  # @option params [required, String] :key
11911
- # 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.
11912
12761
  #
11913
12762
  # @option params [Types::ObjectLockLegalHold] :legal_hold
11914
- # Container element for the Legal Hold configuration you want to apply
12763
+ # Container element for the legal hold configuration you want to apply
11915
12764
  # to the specified object.
11916
12765
  #
11917
12766
  # @option params [String] :request_payer
11918
12767
  # Confirms that the requester knows that they will be charged for the
11919
12768
  # request. Bucket owners need not specify this parameter in their
11920
- # requests. For information about downloading objects from requester
11921
- # 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]
11922
12771
  # in the *Amazon S3 User Guide*.
11923
12772
  #
11924
12773
  #
@@ -11926,7 +12775,7 @@ module Aws::S3
11926
12775
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11927
12776
  #
11928
12777
  # @option params [String] :version_id
11929
- # 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.
11930
12779
  #
11931
12780
  # @option params [String] :content_md5
11932
12781
  # The MD5 hash for the request body.
@@ -11935,10 +12784,26 @@ module Aws::S3
11935
12784
  # (CLI) or Amazon Web Services SDKs, this field is calculated
11936
12785
  # automatically.
11937
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
+ #
11938
12803
  # @option params [String] :expected_bucket_owner
11939
12804
  # The account ID of the expected bucket owner. If the bucket is owned by
11940
- # a different account, the request will fail with an HTTP `403 (Access
11941
- # Denied)` error.
12805
+ # a different account, the request fails with the HTTP status code `403
12806
+ # Forbidden` (access denied).
11942
12807
  #
11943
12808
  # @return [Types::PutObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11944
12809
  #
@@ -11955,6 +12820,7 @@ module Aws::S3
11955
12820
  # request_payer: "requester", # accepts requester
11956
12821
  # version_id: "ObjectVersionId",
11957
12822
  # content_md5: "ContentMD5",
12823
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
11958
12824
  # expected_bucket_owner: "AccountId",
11959
12825
  # })
11960
12826
  #
@@ -12003,8 +12869,8 @@ module Aws::S3
12003
12869
  # @option params [String] :request_payer
12004
12870
  # Confirms that the requester knows that they will be charged for the
12005
12871
  # request. Bucket owners need not specify this parameter in their
12006
- # requests. For information about downloading objects from requester
12007
- # 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]
12008
12874
  # in the *Amazon S3 User Guide*.
12009
12875
  #
12010
12876
  #
@@ -12021,10 +12887,26 @@ module Aws::S3
12021
12887
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12022
12888
  # automatically.
12023
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
+ #
12024
12906
  # @option params [String] :expected_bucket_owner
12025
12907
  # The account ID of the expected bucket owner. If the bucket is owned by
12026
- # a different account, the request will fail with an HTTP `403 (Access
12027
- # Denied)` error.
12908
+ # a different account, the request fails with the HTTP status code `403
12909
+ # Forbidden` (access denied).
12028
12910
  #
12029
12911
  # @return [Types::PutObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12030
12912
  #
@@ -12047,6 +12929,7 @@ module Aws::S3
12047
12929
  # request_payer: "requester", # accepts requester
12048
12930
  # token: "ObjectLockToken",
12049
12931
  # content_md5: "ContentMD5",
12932
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12050
12933
  # expected_bucket_owner: "AccountId",
12051
12934
  # })
12052
12935
  #
@@ -12071,13 +12954,6 @@ module Aws::S3
12071
12954
  #
12072
12955
  # This action is not supported by Amazon S3 on Outposts.
12073
12956
  #
12074
- # **Permissions**
12075
- #
12076
- # When the Object Lock retention mode is set to compliance, you need
12077
- # `s3:PutObjectRetention` and `s3:BypassGovernanceRetention`
12078
- # permissions. For other requests to `PutObjectRetention`, only
12079
- # `s3:PutObjectRetention` permissions are required.
12080
- #
12081
12957
  #
12082
12958
  #
12083
12959
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -12108,8 +12984,8 @@ module Aws::S3
12108
12984
  # @option params [String] :request_payer
12109
12985
  # Confirms that the requester knows that they will be charged for the
12110
12986
  # request. Bucket owners need not specify this parameter in their
12111
- # requests. For information about downloading objects from requester
12112
- # 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]
12113
12989
  # in the *Amazon S3 User Guide*.
12114
12990
  #
12115
12991
  #
@@ -12131,10 +13007,26 @@ module Aws::S3
12131
13007
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12132
13008
  # automatically.
12133
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
+ #
12134
13026
  # @option params [String] :expected_bucket_owner
12135
13027
  # The account ID of the expected bucket owner. If the bucket is owned by
12136
- # a different account, the request will fail with an HTTP `403 (Access
12137
- # Denied)` error.
13028
+ # a different account, the request fails with the HTTP status code `403
13029
+ # Forbidden` (access denied).
12138
13030
  #
12139
13031
  # @return [Types::PutObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12140
13032
  #
@@ -12153,6 +13045,7 @@ module Aws::S3
12153
13045
  # version_id: "ObjectVersionId",
12154
13046
  # bypass_governance_retention: false,
12155
13047
  # content_md5: "ContentMD5",
13048
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12156
13049
  # expected_bucket_owner: "AccountId",
12157
13050
  # })
12158
13051
  #
@@ -12239,12 +13132,12 @@ module Aws::S3
12239
13132
  #
12240
13133
  # When using this action with Amazon S3 on Outposts, you must direct
12241
13134
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12242
- # takes the form
12243
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12244
- # 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
12245
13138
  # Services SDKs, you provide the Outposts bucket ARN in place of the
12246
13139
  # bucket name. For more information about S3 on Outposts ARNs, see
12247
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
13140
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12248
13141
  #
12249
13142
  #
12250
13143
  #
@@ -12264,19 +13157,35 @@ module Aws::S3
12264
13157
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12265
13158
  # automatically.
12266
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
+ #
12267
13176
  # @option params [required, Types::Tagging] :tagging
12268
13177
  # Container for the `TagSet` and `Tag` elements
12269
13178
  #
12270
13179
  # @option params [String] :expected_bucket_owner
12271
13180
  # The account ID of the expected bucket owner. If the bucket is owned by
12272
- # a different account, the request will fail with an HTTP `403 (Access
12273
- # Denied)` error.
13181
+ # a different account, the request fails with the HTTP status code `403
13182
+ # Forbidden` (access denied).
12274
13183
  #
12275
13184
  # @option params [String] :request_payer
12276
13185
  # Confirms that the requester knows that they will be charged for the
12277
13186
  # request. Bucket owners need not specify this parameter in their
12278
- # requests. For information about downloading objects from requester
12279
- # 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]
12280
13189
  # in the *Amazon S3 User Guide*.
12281
13190
  #
12282
13191
  #
@@ -12321,6 +13230,7 @@ module Aws::S3
12321
13230
  # key: "ObjectKey", # required
12322
13231
  # version_id: "ObjectVersionId",
12323
13232
  # content_md5: "ContentMD5",
13233
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12324
13234
  # tagging: { # required
12325
13235
  # tag_set: [ # required
12326
13236
  # {
@@ -12392,6 +13302,22 @@ module Aws::S3
12392
13302
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12393
13303
  # automatically.
12394
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
+ #
12395
13321
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
12396
13322
  # The `PublicAccessBlock` configuration that you want to apply to this
12397
13323
  # Amazon S3 bucket. You can enable the configuration options in any
@@ -12405,8 +13331,8 @@ module Aws::S3
12405
13331
  #
12406
13332
  # @option params [String] :expected_bucket_owner
12407
13333
  # The account ID of the expected bucket owner. If the bucket is owned by
12408
- # a different account, the request will fail with an HTTP `403 (Access
12409
- # Denied)` error.
13334
+ # a different account, the request fails with the HTTP status code `403
13335
+ # Forbidden` (access denied).
12410
13336
  #
12411
13337
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
12412
13338
  #
@@ -12415,6 +13341,7 @@ module Aws::S3
12415
13341
  # resp = client.put_public_access_block({
12416
13342
  # bucket: "BucketName", # required
12417
13343
  # content_md5: "ContentMD5",
13344
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12418
13345
  # public_access_block_configuration: { # required
12419
13346
  # block_public_acls: false,
12420
13347
  # ignore_public_acls: false,
@@ -12551,36 +13478,35 @@ module Aws::S3
12551
13478
  # specify one of the following data access tier options in the `Tier`
12552
13479
  # element of the request body:
12553
13480
  #
12554
- # * <b> <code>Expedited</code> </b> - Expedited retrievals allow you to
12555
- # quickly access your data stored in the S3 Glacier storage class or
12556
- # S3 Intelligent-Tiering Archive tier when occasional urgent requests
12557
- # for a subset of archives are required. For all but the largest
12558
- # archived objects (250 MB+), data accessed using Expedited retrievals
12559
- # 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
12560
13487
  # ensures that retrieval capacity for Expedited retrievals is
12561
13488
  # available when you need it. Expedited retrievals and provisioned
12562
13489
  # capacity are not available for objects stored in the S3 Glacier Deep
12563
13490
  # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
12564
13491
  #
12565
- # * <b> <code>Standard</code> </b> - Standard retrievals allow you to
12566
- # access any of your archived objects within several hours. This is
12567
- # the default option for retrieval requests that do not specify the
12568
- # 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
12569
13505
  # hours for objects stored in the S3 Glacier storage class or S3
12570
- # Intelligent-Tiering Archive tier. They typically finish within 12
13506
+ # Intelligent-Tiering Archive tier. They typically finish within 48
12571
13507
  # hours for objects stored in the S3 Glacier Deep Archive storage
12572
- # class or S3 Intelligent-Tiering Deep Archive tier. Standard
12573
- # retrievals are free for objects stored in S3 Intelligent-Tiering.
12574
- #
12575
- # * <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost
12576
- # retrieval option in S3 Glacier, enabling you to retrieve large
12577
- # amounts, even petabytes, of data inexpensively. Bulk retrievals
12578
- # typically finish within 5–12 hours for objects stored in the S3
12579
- # Glacier storage class or S3 Intelligent-Tiering Archive tier. They
12580
- # typically finish within 48 hours for objects stored in the S3
12581
- # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
12582
- # Archive tier. Bulk retrievals are free for objects stored in S3
12583
- # Intelligent-Tiering.
13508
+ # class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals
13509
+ # are free for objects stored in S3 Intelligent-Tiering.
12584
13510
  #
12585
13511
  # For more information about archive retrieval options and provisioned
12586
13512
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -12685,12 +13611,12 @@ module Aws::S3
12685
13611
  #
12686
13612
  # When using this action with Amazon S3 on Outposts, you must direct
12687
13613
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12688
- # takes the form
12689
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12690
- # 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
12691
13617
  # Services SDKs, you provide the Outposts bucket ARN in place of the
12692
13618
  # bucket name. For more information about S3 on Outposts ARNs, see
12693
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
13619
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12694
13620
  #
12695
13621
  #
12696
13622
  #
@@ -12709,18 +13635,34 @@ module Aws::S3
12709
13635
  # @option params [String] :request_payer
12710
13636
  # Confirms that the requester knows that they will be charged for the
12711
13637
  # request. Bucket owners need not specify this parameter in their
12712
- # requests. For information about downloading objects from requester
12713
- # 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]
12714
13640
  # in the *Amazon S3 User Guide*.
12715
13641
  #
12716
13642
  #
12717
13643
  #
12718
13644
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12719
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
+ #
12720
13662
  # @option params [String] :expected_bucket_owner
12721
13663
  # The account ID of the expected bucket owner. If the bucket is owned by
12722
- # a different account, the request will fail with an HTTP `403 (Access
12723
- # Denied)` error.
13664
+ # a different account, the request fails with the HTTP status code `403
13665
+ # Forbidden` (access denied).
12724
13666
  #
12725
13667
  # @return [Types::RestoreObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12726
13668
  #
@@ -12835,6 +13777,7 @@ module Aws::S3
12835
13777
  # },
12836
13778
  # },
12837
13779
  # request_payer: "requester", # accepts requester
13780
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12838
13781
  # expected_bucket_owner: "AccountId",
12839
13782
  # })
12840
13783
  #
@@ -12976,25 +13919,30 @@ module Aws::S3
12976
13919
  # The object key.
12977
13920
  #
12978
13921
  # @option params [String] :sse_customer_algorithm
12979
- # The SSE Algorithm used to encrypt the object. For more information,
12980
- # see [Server-Side Encryption (Using Customer-Provided Encryption
12981
- # 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*.
12982
13926
  #
12983
13927
  #
12984
13928
  #
12985
13929
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12986
13930
  #
12987
13931
  # @option params [String] :sse_customer_key
12988
- # The SSE Customer Key. For more information, see [Server-Side
12989
- # 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*.
12990
13936
  #
12991
13937
  #
12992
13938
  #
12993
13939
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12994
13940
  #
12995
13941
  # @option params [String] :sse_customer_key_md5
12996
- # The SSE Customer Key MD5. For more information, see [Server-Side
12997
- # 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*.
12998
13946
  #
12999
13947
  #
13000
13948
  #
@@ -13037,8 +13985,8 @@ module Aws::S3
13037
13985
  #
13038
13986
  # @option params [String] :expected_bucket_owner
13039
13987
  # The account ID of the expected bucket owner. If the bucket is owned by
13040
- # a different account, the request will fail with an HTTP `403 (Access
13041
- # Denied)` error.
13988
+ # a different account, the request fails with the HTTP status code `403
13989
+ # Forbidden` (access denied).
13042
13990
  #
13043
13991
  # @return [Types::SelectObjectContentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13044
13992
  #
@@ -13391,12 +14339,12 @@ module Aws::S3
13391
14339
  #
13392
14340
  # When using this action with Amazon S3 on Outposts, you must direct
13393
14341
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13394
- # takes the form
13395
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13396
- # 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
13397
14345
  # Services SDKs, you provide the Outposts bucket ARN in place of the
13398
14346
  # bucket name. For more information about S3 on Outposts ARNs, see
13399
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
14347
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13400
14348
  #
13401
14349
  #
13402
14350
  #
@@ -13412,6 +14360,69 @@ module Aws::S3
13412
14360
  # is auto-populated when using the command from the CLI. This parameter
13413
14361
  # is required if object lock parameters are specified.
13414
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
+ #
13415
14426
  # @option params [required, String] :key
13416
14427
  # Object key for which the multipart upload was initiated.
13417
14428
  #
@@ -13444,8 +14455,8 @@ module Aws::S3
13444
14455
  # @option params [String] :request_payer
13445
14456
  # Confirms that the requester knows that they will be charged for the
13446
14457
  # request. Bucket owners need not specify this parameter in their
13447
- # requests. For information about downloading objects from requester
13448
- # 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]
13449
14460
  # in the *Amazon S3 User Guide*.
13450
14461
  #
13451
14462
  #
@@ -13454,13 +14465,17 @@ module Aws::S3
13454
14465
  #
13455
14466
  # @option params [String] :expected_bucket_owner
13456
14467
  # The account ID of the expected bucket owner. If the bucket is owned by
13457
- # a different account, the request will fail with an HTTP `403 (Access
13458
- # Denied)` error.
14468
+ # a different account, the request fails with the HTTP status code `403
14469
+ # Forbidden` (access denied).
13459
14470
  #
13460
14471
  # @return [Types::UploadPartOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13461
14472
  #
13462
14473
  # * {Types::UploadPartOutput#server_side_encryption #server_side_encryption} => String
13463
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
13464
14479
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
13465
14480
  # * {Types::UploadPartOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
13466
14481
  # * {Types::UploadPartOutput#ssekms_key_id #ssekms_key_id} => String
@@ -13493,6 +14508,11 @@ module Aws::S3
13493
14508
  # bucket: "BucketName", # required
13494
14509
  # content_length: 1,
13495
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",
13496
14516
  # key: "ObjectKey", # required
13497
14517
  # part_number: 1, # required
13498
14518
  # upload_id: "MultipartUploadId", # required
@@ -13507,6 +14527,10 @@ module Aws::S3
13507
14527
  #
13508
14528
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
13509
14529
  # resp.etag #=> String
14530
+ # resp.checksum_crc32 #=> String
14531
+ # resp.checksum_crc32c #=> String
14532
+ # resp.checksum_sha1 #=> String
14533
+ # resp.checksum_sha256 #=> String
13510
14534
  # resp.sse_customer_algorithm #=> String
13511
14535
  # resp.sse_customer_key_md5 #=> String
13512
14536
  # resp.ssekms_key_id #=> String
@@ -13552,12 +14576,12 @@ module Aws::S3
13552
14576
  # S3 User Guide*.
13553
14577
  #
13554
14578
  # * For information about copying objects using a single atomic action
13555
- # vs. the multipart upload, see [Operations on Objects][5] in the
14579
+ # vs. a multipart upload, see [Operations on Objects][5] in the
13556
14580
  # *Amazon S3 User Guide*.
13557
14581
  #
13558
14582
  # * For information about using server-side encryption with
13559
- # customer-provided encryption keys with the UploadPartCopy operation,
13560
- # see [CopyObject][6] and [UploadPart][2].
14583
+ # customer-provided encryption keys with the `UploadPartCopy`
14584
+ # operation, see [CopyObject][6] and [UploadPart][2].
13561
14585
  #
13562
14586
  # Note the following additional considerations about the request headers
13563
14587
  # `x-amz-copy-source-if-match`, `x-amz-copy-source-if-none-match`,
@@ -13665,12 +14689,12 @@ module Aws::S3
13665
14689
  #
13666
14690
  # When using this action with Amazon S3 on Outposts, you must direct
13667
14691
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13668
- # takes the form
13669
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13670
- # 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
13671
14695
  # Services SDKs, you provide the Outposts bucket ARN in place of the
13672
14696
  # bucket name. For more information about S3 on Outposts ARNs, see
13673
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
14697
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13674
14698
  #
13675
14699
  #
13676
14700
  #
@@ -13686,8 +14710,8 @@ module Aws::S3
13686
14710
  # of the source bucket and key of the source object, separated by a
13687
14711
  # slash (/). For example, to copy the object `reports/january.pdf`
13688
14712
  # from the bucket `awsexamplebucket`, use
13689
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
13690
- # encoded.
14713
+ # `awsexamplebucket/reports/january.pdf`. The value must be
14714
+ # URL-encoded.
13691
14715
  #
13692
14716
  # * For objects accessed through access points, specify the Amazon
13693
14717
  # Resource Name (ARN) of the object as accessed through the access
@@ -13712,7 +14736,7 @@ module Aws::S3
13712
14736
  # outpost `my-outpost` owned by account `123456789012` in Region
13713
14737
  # `us-west-2`, use the URL encoding of
13714
14738
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
13715
- # The value must be URL encoded.
14739
+ # The value must be URL-encoded.
13716
14740
  #
13717
14741
  # To copy a specific version of an object, append
13718
14742
  # `?versionId=<version-id>` to the value (for example,
@@ -13790,8 +14814,8 @@ module Aws::S3
13790
14814
  # @option params [String] :request_payer
13791
14815
  # Confirms that the requester knows that they will be charged for the
13792
14816
  # request. Bucket owners need not specify this parameter in their
13793
- # requests. For information about downloading objects from requester
13794
- # 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]
13795
14819
  # in the *Amazon S3 User Guide*.
13796
14820
  #
13797
14821
  #
@@ -13800,13 +14824,13 @@ module Aws::S3
13800
14824
  #
13801
14825
  # @option params [String] :expected_bucket_owner
13802
14826
  # The account ID of the expected destination bucket owner. If the
13803
- # destination bucket is owned by a different account, the request will
13804
- # 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).
13805
14829
  #
13806
14830
  # @option params [String] :expected_source_bucket_owner
13807
14831
  # The account ID of the expected source bucket owner. If the source
13808
- # bucket is owned by a different account, the request will fail with an
13809
- # 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).
13810
14834
  #
13811
14835
  # @return [Types::UploadPartCopyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13812
14836
  #
@@ -13820,45 +14844,45 @@ module Aws::S3
13820
14844
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
13821
14845
  #
13822
14846
  #
13823
- # @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
13824
14848
  #
13825
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13826
- # # data source.
14849
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13827
14850
  #
13828
14851
  # resp = client.upload_part_copy({
13829
14852
  # bucket: "examplebucket",
13830
14853
  # copy_source: "/bucketname/sourceobjectkey",
13831
- # copy_source_range: "bytes=1-100000",
13832
14854
  # key: "examplelargeobject",
13833
- # part_number: 2,
14855
+ # part_number: 1,
13834
14856
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13835
14857
  # })
13836
14858
  #
13837
14859
  # resp.to_h outputs the following:
13838
14860
  # {
13839
14861
  # copy_part_result: {
13840
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13841
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
14862
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
14863
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13842
14864
  # },
13843
14865
  # }
13844
14866
  #
13845
- # @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
13846
14868
  #
13847
- # # 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.
13848
14871
  #
13849
14872
  # resp = client.upload_part_copy({
13850
14873
  # bucket: "examplebucket",
13851
14874
  # copy_source: "/bucketname/sourceobjectkey",
14875
+ # copy_source_range: "bytes=1-100000",
13852
14876
  # key: "examplelargeobject",
13853
- # part_number: 1,
14877
+ # part_number: 2,
13854
14878
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13855
14879
  # })
13856
14880
  #
13857
14881
  # resp.to_h outputs the following:
13858
14882
  # {
13859
14883
  # copy_part_result: {
13860
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13861
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
14884
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
14885
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13862
14886
  # },
13863
14887
  # }
13864
14888
  #
@@ -13891,6 +14915,10 @@ module Aws::S3
13891
14915
  # resp.copy_source_version_id #=> String
13892
14916
  # resp.copy_part_result.etag #=> String
13893
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
13894
14922
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
13895
14923
  # resp.sse_customer_algorithm #=> String
13896
14924
  # resp.sse_customer_key_md5 #=> String
@@ -13980,41 +15008,41 @@ module Aws::S3
13980
15008
  #
13981
15009
  # **Status Codes**
13982
15010
  #
13983
- # * *200 - OK*
15011
+ # * `200 - OK`
13984
15012
  #
13985
- # * *206 - Partial Content*
15013
+ # * `206 - Partial Content`
13986
15014
  #
13987
- # * *304 - Not Modified*
15015
+ # * `304 - Not Modified`
13988
15016
  #
13989
- # * *400 - Bad Request*
15017
+ # * `400 - Bad Request`
13990
15018
  #
13991
- # * *401 - Unauthorized*
15019
+ # * `401 - Unauthorized`
13992
15020
  #
13993
- # * *403 - Forbidden*
15021
+ # * `403 - Forbidden`
13994
15022
  #
13995
- # * *404 - Not Found*
15023
+ # * `404 - Not Found`
13996
15024
  #
13997
- # * *405 - Method Not Allowed*
15025
+ # * `405 - Method Not Allowed`
13998
15026
  #
13999
- # * *409 - Conflict*
15027
+ # * `409 - Conflict`
14000
15028
  #
14001
- # * *411 - Length Required*
15029
+ # * `411 - Length Required`
14002
15030
  #
14003
- # * *412 - Precondition Failed*
15031
+ # * `412 - Precondition Failed`
14004
15032
  #
14005
- # * *416 - Range Not Satisfiable*
15033
+ # * `416 - Range Not Satisfiable`
14006
15034
  #
14007
- # * *500 - Internal Server Error*
15035
+ # * `500 - Internal Server Error`
14008
15036
  #
14009
- # * *503 - Service Unavailable*
15037
+ # * `503 - Service Unavailable`
14010
15038
  #
14011
15039
  # @option params [String] :error_code
14012
15040
  # A string that uniquely identifies an error condition. Returned in the
14013
15041
  # &lt;Code&gt; tag of the error XML response for a corresponding
14014
15042
  # `GetObject` call. Cannot be used with a successful `StatusCode` header
14015
15043
  # or when the transformed object is provided in the body. All error
14016
- # codes from S3 are sentence-cased. Regex value is
14017
- # "^\[A-Z\]\[a-zA-Z\]+$".
15044
+ # codes from S3 are sentence-cased. The regular expression (regex) value
15045
+ # is `"^[A-Z][a-zA-Z]+$"`.
14018
15046
  #
14019
15047
  # @option params [String] :error_message
14020
15048
  # Contains a generic description of the error condition. Returned in the
@@ -14048,6 +15076,80 @@ module Aws::S3
14048
15076
  # @option params [String] :content_type
14049
15077
  # A standard MIME type describing the format of the object data.
14050
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
+ #
14051
15153
  # @option params [Boolean] :delete_marker
14052
15154
  # Specifies whether an object stored in Amazon S3 is (`true`) or is not
14053
15155
  # (`false`) a delete marker.
@@ -14060,10 +15162,10 @@ module Aws::S3
14060
15162
  # The date and time at which the object is no longer cacheable.
14061
15163
  #
14062
15164
  # @option params [String] :expiration
14063
- # If object stored in Amazon S3 expiration is configured (see PUT Bucket
14064
- # lifecycle) it includes expiry-date and rule-id key-value pairs
14065
- # providing object expiration information. The value of the rule-id is
14066
- # 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.
14067
15169
  #
14068
15170
  # @option params [Time,DateTime,Date,Integer,String] :last_modified
14069
15171
  # The date and time that the object was last modified.
@@ -14139,7 +15241,15 @@ module Aws::S3
14139
15241
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
14140
15242
  #
14141
15243
  # @option params [String] :storage_class
14142
- # 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
14143
15253
  #
14144
15254
  # @option params [Integer] :tag_count
14145
15255
  # The number of tags, if any, on the object.
@@ -14170,6 +15280,10 @@ module Aws::S3
14170
15280
  # content_length: 1,
14171
15281
  # content_range: "ContentRange",
14172
15282
  # content_type: "ContentType",
15283
+ # checksum_crc32: "ChecksumCRC32",
15284
+ # checksum_crc32c: "ChecksumCRC32C",
15285
+ # checksum_sha1: "ChecksumSHA1",
15286
+ # checksum_sha256: "ChecksumSHA256",
14173
15287
  # delete_marker: false,
14174
15288
  # etag: "ETag",
14175
15289
  # expires: Time.now,
@@ -14218,7 +15332,7 @@ module Aws::S3
14218
15332
  params: params,
14219
15333
  config: config)
14220
15334
  context[:gem_name] = 'aws-sdk-s3'
14221
- context[:gem_version] = '1.112.0'
15335
+ context[:gem_version] = '1.113.0'
14222
15336
  Seahorse::Client::Request.new(handlers, context)
14223
15337
  end
14224
15338