aws-sdk-s3 1.112.0 → 1.113.0

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