aws-sdk-s3 1.109.0 → 1.113.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +96 -17
  5. data/lib/aws-sdk-s3/bucket_acl.rb +18 -2
  6. data/lib/aws-sdk-s3/bucket_cors.rb +20 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +20 -4
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +20 -4
  9. data/lib/aws-sdk-s3/bucket_logging.rb +18 -2
  10. data/lib/aws-sdk-s3/bucket_notification.rb +2 -2
  11. data/lib/aws-sdk-s3/bucket_policy.rb +20 -4
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -2
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +20 -4
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +54 -6
  15. data/lib/aws-sdk-s3/bucket_website.rb +20 -4
  16. data/lib/aws-sdk-s3/client.rb +1730 -613
  17. data/lib/aws-sdk-s3/client_api.rb +371 -21
  18. data/lib/aws-sdk-s3/customizations/object.rb +2 -2
  19. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  20. data/lib/aws-sdk-s3/file_uploader.rb +5 -0
  21. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  22. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  23. data/lib/aws-sdk-s3/multipart_upload_part.rb +132 -13
  24. data/lib/aws-sdk-s3/object.rb +245 -73
  25. data/lib/aws-sdk-s3/object_acl.rb +20 -4
  26. data/lib/aws-sdk-s3/object_summary.rb +163 -41
  27. data/lib/aws-sdk-s3/object_version.rb +64 -38
  28. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -0
  29. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  30. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  31. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  32. data/lib/aws-sdk-s3/types.rb +2242 -480
  33. data/lib/aws-sdk-s3.rb +1 -1
  34. metadata +5 -4
@@ -27,6 +27,9 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
33
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
31
34
  require 'aws-sdk-s3/plugins/accelerate.rb'
32
35
  require 'aws-sdk-s3/plugins/arn.rb'
@@ -46,6 +49,7 @@ require 'aws-sdk-s3/plugins/s3_signer.rb'
46
49
  require 'aws-sdk-s3/plugins/sse_cpk.rb'
47
50
  require 'aws-sdk-s3/plugins/streaming_retry.rb'
48
51
  require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
52
+ require 'aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb'
49
53
  require 'aws-sdk-core/plugins/event_stream_configuration.rb'
50
54
 
51
55
  Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
@@ -91,6 +95,9 @@ module Aws::S3
91
95
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
92
96
  add_plugin(Aws::Plugins::TransferEncoding)
93
97
  add_plugin(Aws::Plugins::HttpChecksum)
98
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
99
+ add_plugin(Aws::Plugins::DefaultsMode)
100
+ add_plugin(Aws::Plugins::RecursionDetection)
94
101
  add_plugin(Aws::Plugins::Protocols::RestXml)
95
102
  add_plugin(Aws::S3::Plugins::Accelerate)
96
103
  add_plugin(Aws::S3::Plugins::ARN)
@@ -110,6 +117,7 @@ module Aws::S3
110
117
  add_plugin(Aws::S3::Plugins::SseCpk)
111
118
  add_plugin(Aws::S3::Plugins::StreamingRetry)
112
119
  add_plugin(Aws::S3::Plugins::UrlEncodedKeys)
120
+ add_plugin(Aws::S3::Plugins::SkipWholeMultipartGetChecksums)
113
121
  add_plugin(Aws::Plugins::EventStreamConfiguration)
114
122
 
115
123
  # @overload initialize(options)
@@ -218,6 +226,10 @@ module Aws::S3
218
226
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
219
227
  # a clock skew correction and retry requests with skewed client clocks.
220
228
  #
229
+ # @option options [String] :defaults_mode ("legacy")
230
+ # See {Aws::DefaultsModeConfiguration} for a list of the
231
+ # accepted modes and the configuration defaults that are included.
232
+ #
221
233
  # @option options [Boolean] :disable_host_prefix_injection (false)
222
234
  # Set to true to disable SDK automatically adding host prefix
223
235
  # to default service endpoint when available.
@@ -381,7 +393,7 @@ module Aws::S3
381
393
  # seconds to wait when opening a HTTP session before raising a
382
394
  # `Timeout::Error`.
383
395
  #
384
- # @option options [Integer] :http_read_timeout (60) The default
396
+ # @option options [Float] :http_read_timeout (60) The default
385
397
  # number of seconds to wait for response data. This value can
386
398
  # safely be set per-request on the session.
387
399
  #
@@ -397,6 +409,9 @@ module Aws::S3
397
409
  # disables this behaviour. This value can safely be set per
398
410
  # request on the session.
399
411
  #
412
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
413
+ # in seconds.
414
+ #
400
415
  # @option options [Boolean] :http_wire_trace (false) When `true`,
401
416
  # HTTP debug output will be sent to the `:logger`.
402
417
  #
@@ -471,12 +486,12 @@ module Aws::S3
471
486
  #
472
487
  # When using this action with Amazon S3 on Outposts, you must direct
473
488
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
474
- # takes the form
475
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
476
- # 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
477
492
  # Services SDKs, you provide the Outposts bucket ARN in place of the
478
493
  # bucket name. For more information about S3 on Outposts ARNs, see
479
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
494
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
480
495
  #
481
496
  #
482
497
  #
@@ -492,8 +507,8 @@ module Aws::S3
492
507
  # @option params [String] :request_payer
493
508
  # Confirms that the requester knows that they will be charged for the
494
509
  # request. Bucket owners need not specify this parameter in their
495
- # requests. For information about downloading objects from requester
496
- # 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]
497
512
  # in the *Amazon S3 User Guide*.
498
513
  #
499
514
  #
@@ -502,8 +517,8 @@ module Aws::S3
502
517
  #
503
518
  # @option params [String] :expected_bucket_owner
504
519
  # The account ID of the expected bucket owner. If the bucket is owned by
505
- # a different account, the request will fail with an HTTP `403 (Access
506
- # Denied)` error.
520
+ # a different account, the request fails with the HTTP status code `403
521
+ # Forbidden` (access denied).
507
522
  #
508
523
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
509
524
  #
@@ -653,12 +668,12 @@ module Aws::S3
653
668
  #
654
669
  # When using this action with Amazon S3 on Outposts, you must direct
655
670
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
656
- # takes the form
657
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
658
- # 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
659
674
  # Services SDKs, you provide the Outposts bucket ARN in place of the
660
675
  # bucket name. For more information about S3 on Outposts ARNs, see
661
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
676
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
662
677
  #
663
678
  #
664
679
  #
@@ -674,11 +689,55 @@ module Aws::S3
674
689
  # @option params [required, String] :upload_id
675
690
  # ID for the initiated multipart upload.
676
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
+ #
677
736
  # @option params [String] :request_payer
678
737
  # Confirms that the requester knows that they will be charged for the
679
738
  # request. Bucket owners need not specify this parameter in their
680
- # requests. For information about downloading objects from requester
681
- # 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]
682
741
  # in the *Amazon S3 User Guide*.
683
742
  #
684
743
  #
@@ -687,8 +746,38 @@ module Aws::S3
687
746
  #
688
747
  # @option params [String] :expected_bucket_owner
689
748
  # The account ID of the expected bucket owner. If the bucket is owned by
690
- # a different account, the request will fail with an HTTP `403 (Access
691
- # 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
692
781
  #
693
782
  # @return [Types::CompleteMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
694
783
  #
@@ -697,6 +786,10 @@ module Aws::S3
697
786
  # * {Types::CompleteMultipartUploadOutput#key #key} => String
698
787
  # * {Types::CompleteMultipartUploadOutput#expiration #expiration} => String
699
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
700
793
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
701
794
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
702
795
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
@@ -743,13 +836,24 @@ module Aws::S3
743
836
  # parts: [
744
837
  # {
745
838
  # etag: "ETag",
839
+ # checksum_crc32: "ChecksumCRC32",
840
+ # checksum_crc32c: "ChecksumCRC32C",
841
+ # checksum_sha1: "ChecksumSHA1",
842
+ # checksum_sha256: "ChecksumSHA256",
746
843
  # part_number: 1,
747
844
  # },
748
845
  # ],
749
846
  # },
750
847
  # upload_id: "MultipartUploadId", # required
848
+ # checksum_crc32: "ChecksumCRC32",
849
+ # checksum_crc32c: "ChecksumCRC32C",
850
+ # checksum_sha1: "ChecksumSHA1",
851
+ # checksum_sha256: "ChecksumSHA256",
751
852
  # request_payer: "requester", # accepts requester
752
853
  # expected_bucket_owner: "AccountId",
854
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
855
+ # sse_customer_key: "SSECustomerKey",
856
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
753
857
  # })
754
858
  #
755
859
  # @example Response structure
@@ -759,6 +863,10 @@ module Aws::S3
759
863
  # resp.key #=> String
760
864
  # resp.expiration #=> String
761
865
  # resp.etag #=> String
866
+ # resp.checksum_crc32 #=> String
867
+ # resp.checksum_crc32c #=> String
868
+ # resp.checksum_sha1 #=> String
869
+ # resp.checksum_sha256 #=> String
762
870
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
763
871
  # resp.version_id #=> String
764
872
  # resp.ssekms_key_id #=> String
@@ -779,8 +887,9 @@ module Aws::S3
779
887
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
780
888
  # create a copy of your object up to 5 GB in size in a single atomic
781
889
  # action using this API. However, to copy an object greater than 5 GB,
782
- # you must use the multipart upload Upload Part - Copy API. For more
783
- # 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].
784
893
  #
785
894
  # </note>
786
895
  #
@@ -835,7 +944,7 @@ module Aws::S3
835
944
  # condition keys, see [Actions, Resources, and Condition Keys for Amazon
836
945
  # S3][7].
837
946
  #
838
- # <b> <code>x-amz-copy-source-if</code> Headers</b>
947
+ # **x-amz-copy-source-if Headers**
839
948
  #
840
949
  # To only copy an object under certain conditions, such as whether the
841
950
  # `Etag` matches or whether the object was modified before or after a
@@ -915,6 +1024,13 @@ module Aws::S3
915
1024
  #
916
1025
  # </note>
917
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
+ #
918
1034
  # **Storage Class Options**
919
1035
  #
920
1036
  # You can use the `CopyObject` action to change the storage class of an
@@ -988,12 +1104,12 @@ module Aws::S3
988
1104
  #
989
1105
  # When using this action with Amazon S3 on Outposts, you must direct
990
1106
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
991
- # takes the form
992
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
993
- # 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
994
1110
  # Services SDKs, you provide the Outposts bucket ARN in place of the
995
1111
  # bucket name. For more information about S3 on Outposts ARNs, see
996
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
1112
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
997
1113
  #
998
1114
  #
999
1115
  #
@@ -1003,6 +1119,15 @@ module Aws::S3
1003
1119
  # @option params [String] :cache_control
1004
1120
  # Specifies caching behavior along the request/reply chain.
1005
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
+ #
1006
1131
  # @option params [String] :content_disposition
1007
1132
  # Specifies presentational information for the object.
1008
1133
  #
@@ -1026,8 +1151,8 @@ module Aws::S3
1026
1151
  # of the source bucket and the key of the source object, separated by
1027
1152
  # a slash (/). For example, to copy the object `reports/january.pdf`
1028
1153
  # from the bucket `awsexamplebucket`, use
1029
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
1030
- # encoded.
1154
+ # `awsexamplebucket/reports/january.pdf`. The value must be
1155
+ # URL-encoded.
1031
1156
  #
1032
1157
  # * For objects accessed through access points, specify the Amazon
1033
1158
  # Resource Name (ARN) of the object as accessed through the access
@@ -1052,7 +1177,7 @@ module Aws::S3
1052
1177
  # outpost `my-outpost` owned by account `123456789012` in Region
1053
1178
  # `us-west-2`, use the URL encoding of
1054
1179
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
1055
- # The value must be URL encoded.
1180
+ # The value must be URL-encoded.
1056
1181
  #
1057
1182
  # To copy a specific version of an object, append
1058
1183
  # `?versionId=<version-id>` to the value (for example,
@@ -1197,8 +1322,8 @@ module Aws::S3
1197
1322
  # @option params [String] :request_payer
1198
1323
  # Confirms that the requester knows that they will be charged for the
1199
1324
  # request. Bucket owners need not specify this parameter in their
1200
- # requests. For information about downloading objects from requester
1201
- # 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]
1202
1327
  # in the *Amazon S3 User Guide*.
1203
1328
  #
1204
1329
  #
@@ -1218,17 +1343,17 @@ module Aws::S3
1218
1343
  # expire.
1219
1344
  #
1220
1345
  # @option params [String] :object_lock_legal_hold_status
1221
- # 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.
1222
1347
  #
1223
1348
  # @option params [String] :expected_bucket_owner
1224
1349
  # The account ID of the expected destination bucket owner. If the
1225
- # destination bucket is owned by a different account, the request will
1226
- # 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).
1227
1352
  #
1228
1353
  # @option params [String] :expected_source_bucket_owner
1229
1354
  # The account ID of the expected source bucket owner. If the source
1230
- # bucket is owned by a different account, the request will fail with an
1231
- # 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).
1232
1357
  #
1233
1358
  # @return [Types::CopyObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1234
1359
  #
@@ -1269,6 +1394,7 @@ module Aws::S3
1269
1394
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
1270
1395
  # bucket: "BucketName", # required
1271
1396
  # cache_control: "CacheControl",
1397
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1272
1398
  # content_disposition: "ContentDisposition",
1273
1399
  # content_encoding: "ContentEncoding",
1274
1400
  # content_language: "ContentLanguage",
@@ -1314,6 +1440,10 @@ module Aws::S3
1314
1440
  #
1315
1441
  # resp.copy_object_result.etag #=> String
1316
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
1317
1447
  # resp.expiration #=> String
1318
1448
  # resp.copy_source_version_id #=> String
1319
1449
  # resp.version_id #=> String
@@ -1369,12 +1499,12 @@ module Aws::S3
1369
1499
  # configure the bucket ACL to specify the accounts or groups that should
1370
1500
  # be granted specific permissions on the bucket.
1371
1501
  #
1372
- # If your CreateBucket request includes the `BucketOwnerEnforced` value
1373
- # for the `x-amz-object-ownership` header, your request can either not
1374
- # specify an ACL or specify bucket owner full control ACLs, such as the
1375
- # `bucket-owner-full-control` canned ACL or an equivalent ACL expressed
1376
- # in the XML format. For more information, see [Controlling object
1377
- # ownership][5] in the *Amazon S3 User Guide*.
1502
+ # If your CreateBucket request sets bucket owner enforced for S3 Object
1503
+ # Ownership and specifies a bucket ACL that provides access to an
1504
+ # external Amazon Web Services account, your request fails with a `400`
1505
+ # error and returns the `InvalidBucketAclWithObjectOwnership` error
1506
+ # code. For more information, see [Controlling object ownership][5] in
1507
+ # the *Amazon S3 User Guide*.
1378
1508
  #
1379
1509
  # There are two ways to grant the appropriate permissions using the
1380
1510
  # request headers.
@@ -1532,33 +1662,33 @@ module Aws::S3
1532
1662
  # * {Types::CreateBucketOutput#location #location} => String
1533
1663
  #
1534
1664
  #
1535
- # @example Example: To create a bucket in a specific region
1665
+ # @example Example: To create a bucket
1536
1666
  #
1537
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1667
+ # # The following example creates a bucket.
1538
1668
  #
1539
1669
  # resp = client.create_bucket({
1540
1670
  # bucket: "examplebucket",
1541
- # create_bucket_configuration: {
1542
- # location_constraint: "eu-west-1",
1543
- # },
1544
1671
  # })
1545
1672
  #
1546
1673
  # resp.to_h outputs the following:
1547
1674
  # {
1548
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1675
+ # location: "/examplebucket",
1549
1676
  # }
1550
1677
  #
1551
- # @example Example: To create a bucket
1678
+ # @example Example: To create a bucket in a specific region
1552
1679
  #
1553
- # # The following example creates a bucket.
1680
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1554
1681
  #
1555
1682
  # resp = client.create_bucket({
1556
1683
  # bucket: "examplebucket",
1684
+ # create_bucket_configuration: {
1685
+ # location_constraint: "eu-west-1",
1686
+ # },
1557
1687
  # })
1558
1688
  #
1559
1689
  # resp.to_h outputs the following:
1560
1690
  # {
1561
- # location: "/examplebucket",
1691
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1562
1692
  # }
1563
1693
  #
1564
1694
  # @example Request syntax with placeholder values
@@ -1687,11 +1817,11 @@ module Aws::S3
1687
1817
  # used to encrypt data, specify the following headers in the
1688
1818
  # request.
1689
1819
  #
1690
- # * x-amz-server-side-encryption
1820
+ # * `x-amz-server-side-encryption`
1691
1821
  #
1692
- # * x-amz-server-side-encryption-aws-kms-key-id
1822
+ # * `x-amz-server-side-encryption-aws-kms-key-id`
1693
1823
  #
1694
- # * x-amz-server-side-encryption-context
1824
+ # * `x-amz-server-side-encryption-context`
1695
1825
  #
1696
1826
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1697
1827
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
@@ -1712,11 +1842,11 @@ module Aws::S3
1712
1842
  # own encryption keys, provide all the following headers in the
1713
1843
  # request.
1714
1844
  #
1715
- # * x-amz-server-side-encryption-customer-algorithm
1845
+ # * `x-amz-server-side-encryption-customer-algorithm`
1716
1846
  #
1717
- # * x-amz-server-side-encryption-customer-key
1847
+ # * `x-amz-server-side-encryption-customer-key`
1718
1848
  #
1719
- # * x-amz-server-side-encryption-customer-key-MD5
1849
+ # * `x-amz-server-side-encryption-customer-key-MD5`
1720
1850
  #
1721
1851
  # For more information about server-side encryption with KMS keys
1722
1852
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
@@ -1746,15 +1876,15 @@ module Aws::S3
1746
1876
  # header, you specify a list of grantees who get the specific
1747
1877
  # permission. To grant permissions explicitly, use:
1748
1878
  #
1749
- # * x-amz-grant-read
1879
+ # * `x-amz-grant-read`
1750
1880
  #
1751
- # * x-amz-grant-write
1881
+ # * `x-amz-grant-write`
1752
1882
  #
1753
- # * x-amz-grant-read-acp
1883
+ # * `x-amz-grant-read-acp`
1754
1884
  #
1755
- # * x-amz-grant-write-acp
1885
+ # * `x-amz-grant-write-acp`
1756
1886
  #
1757
- # * x-amz-grant-full-control
1887
+ # * `x-amz-grant-full-control`
1758
1888
  #
1759
1889
  # You specify each grantee as a type=value pair, where the type is
1760
1890
  # one of the following:
@@ -1848,12 +1978,12 @@ module Aws::S3
1848
1978
  #
1849
1979
  # When using this action with Amazon S3 on Outposts, you must direct
1850
1980
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1851
- # takes the form
1852
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1853
- # 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
1854
1984
  # Services SDKs, you provide the Outposts bucket ARN in place of the
1855
1985
  # bucket name. For more information about S3 on Outposts ARNs, see
1856
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
1986
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
1857
1987
  #
1858
1988
  #
1859
1989
  #
@@ -1974,8 +2104,8 @@ module Aws::S3
1974
2104
  # @option params [String] :request_payer
1975
2105
  # Confirms that the requester knows that they will be charged for the
1976
2106
  # request. Bucket owners need not specify this parameter in their
1977
- # requests. For information about downloading objects from requester
1978
- # 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]
1979
2109
  # in the *Amazon S3 User Guide*.
1980
2110
  #
1981
2111
  #
@@ -1994,13 +2124,22 @@ module Aws::S3
1994
2124
  # Specifies the date and time when you want the Object Lock to expire.
1995
2125
  #
1996
2126
  # @option params [String] :object_lock_legal_hold_status
1997
- # 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
1998
2128
  # object.
1999
2129
  #
2000
2130
  # @option params [String] :expected_bucket_owner
2001
2131
  # The account ID of the expected bucket owner. If the bucket is owned by
2002
- # a different account, the request will fail with an HTTP `403 (Access
2003
- # 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
2004
2143
  #
2005
2144
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2006
2145
  #
@@ -2016,6 +2155,7 @@ module Aws::S3
2016
2155
  # * {Types::CreateMultipartUploadOutput#ssekms_encryption_context #ssekms_encryption_context} => String
2017
2156
  # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
2018
2157
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
2158
+ # * {Types::CreateMultipartUploadOutput#checksum_algorithm #checksum_algorithm} => String
2019
2159
  #
2020
2160
  #
2021
2161
  # @example Example: To initiate a multipart upload
@@ -2068,6 +2208,7 @@ module Aws::S3
2068
2208
  # object_lock_retain_until_date: Time.now,
2069
2209
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
2070
2210
  # expected_bucket_owner: "AccountId",
2211
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2071
2212
  # })
2072
2213
  #
2073
2214
  # @example Response structure
@@ -2084,6 +2225,7 @@ module Aws::S3
2084
2225
  # resp.ssekms_encryption_context #=> String
2085
2226
  # resp.bucket_key_enabled #=> Boolean
2086
2227
  # resp.request_charged #=> String, one of "requester"
2228
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
2087
2229
  #
2088
2230
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
2089
2231
  #
@@ -2114,8 +2256,8 @@ module Aws::S3
2114
2256
  #
2115
2257
  # @option params [String] :expected_bucket_owner
2116
2258
  # The account ID of the expected bucket owner. If the bucket is owned by
2117
- # a different account, the request will fail with an HTTP `403 (Access
2118
- # Denied)` error.
2259
+ # a different account, the request fails with the HTTP status code `403
2260
+ # Forbidden` (access denied).
2119
2261
  #
2120
2262
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2121
2263
  #
@@ -2184,8 +2326,8 @@ module Aws::S3
2184
2326
  #
2185
2327
  # @option params [String] :expected_bucket_owner
2186
2328
  # The account ID of the expected bucket owner. If the bucket is owned by
2187
- # a different account, the request will fail with an HTTP `403 (Access
2188
- # Denied)` error.
2329
+ # a different account, the request fails with the HTTP status code `403
2330
+ # Forbidden` (access denied).
2189
2331
  #
2190
2332
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2191
2333
  #
@@ -2232,8 +2374,8 @@ module Aws::S3
2232
2374
  #
2233
2375
  # @option params [String] :expected_bucket_owner
2234
2376
  # The account ID of the expected bucket owner. If the bucket is owned by
2235
- # a different account, the request will fail with an HTTP `403 (Access
2236
- # Denied)` error.
2377
+ # a different account, the request fails with the HTTP status code `403
2378
+ # Forbidden` (access denied).
2237
2379
  #
2238
2380
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2239
2381
  #
@@ -2295,8 +2437,8 @@ module Aws::S3
2295
2437
  #
2296
2438
  # @option params [String] :expected_bucket_owner
2297
2439
  # The account ID of the expected bucket owner. If the bucket is owned by
2298
- # a different account, the request will fail with an HTTP `403 (Access
2299
- # Denied)` error.
2440
+ # a different account, the request fails with the HTTP status code `403
2441
+ # Forbidden` (access denied).
2300
2442
  #
2301
2443
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2302
2444
  #
@@ -2418,8 +2560,8 @@ module Aws::S3
2418
2560
  #
2419
2561
  # @option params [String] :expected_bucket_owner
2420
2562
  # The account ID of the expected bucket owner. If the bucket is owned by
2421
- # a different account, the request will fail with an HTTP `403 (Access
2422
- # Denied)` error.
2563
+ # a different account, the request fails with the HTTP status code `403
2564
+ # Forbidden` (access denied).
2423
2565
  #
2424
2566
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2425
2567
  #
@@ -2474,8 +2616,8 @@ module Aws::S3
2474
2616
  #
2475
2617
  # @option params [String] :expected_bucket_owner
2476
2618
  # The account ID of the expected bucket owner. If the bucket is owned by
2477
- # a different account, the request will fail with an HTTP `403 (Access
2478
- # Denied)` error.
2619
+ # a different account, the request fails with the HTTP status code `403
2620
+ # Forbidden` (access denied).
2479
2621
  #
2480
2622
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2481
2623
  #
@@ -2546,8 +2688,8 @@ module Aws::S3
2546
2688
  #
2547
2689
  # @option params [String] :expected_bucket_owner
2548
2690
  # The account ID of the expected bucket owner. If the bucket is owned by
2549
- # a different account, the request will fail with an HTTP `403 (Access
2550
- # Denied)` error.
2691
+ # a different account, the request fails with the HTTP status code `403
2692
+ # Forbidden` (access denied).
2551
2693
  #
2552
2694
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2553
2695
  #
@@ -2593,8 +2735,8 @@ module Aws::S3
2593
2735
  #
2594
2736
  # @option params [String] :expected_bucket_owner
2595
2737
  # The account ID of the expected bucket owner. If the bucket is owned by
2596
- # a different account, the request will fail with an HTTP `403 (Access
2597
- # Denied)` error.
2738
+ # a different account, the request fails with the HTTP status code `403
2739
+ # Forbidden` (access denied).
2598
2740
  #
2599
2741
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2600
2742
  #
@@ -2651,8 +2793,8 @@ module Aws::S3
2651
2793
  #
2652
2794
  # @option params [String] :expected_bucket_owner
2653
2795
  # The account ID of the expected bucket owner. If the bucket is owned by
2654
- # a different account, the request will fail with an HTTP `403 (Access
2655
- # Denied)` error.
2796
+ # a different account, the request fails with the HTTP status code `403
2797
+ # Forbidden` (access denied).
2656
2798
  #
2657
2799
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2658
2800
  #
@@ -2717,8 +2859,8 @@ module Aws::S3
2717
2859
  #
2718
2860
  # @option params [String] :expected_bucket_owner
2719
2861
  # The account ID of the expected bucket owner. If the bucket is owned by
2720
- # a different account, the request will fail with an HTTP `403 (Access
2721
- # Denied)` error.
2862
+ # a different account, the request fails with the HTTP status code `403
2863
+ # Forbidden` (access denied).
2722
2864
  #
2723
2865
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2724
2866
  #
@@ -2769,8 +2911,8 @@ module Aws::S3
2769
2911
  #
2770
2912
  # @option params [String] :expected_bucket_owner
2771
2913
  # The account ID of the expected bucket owner. If the bucket is owned by
2772
- # a different account, the request will fail with an HTTP `403 (Access
2773
- # Denied)` error.
2914
+ # a different account, the request fails with the HTTP status code `403
2915
+ # Forbidden` (access denied).
2774
2916
  #
2775
2917
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2776
2918
  #
@@ -2833,8 +2975,8 @@ module Aws::S3
2833
2975
  #
2834
2976
  # @option params [String] :expected_bucket_owner
2835
2977
  # The account ID of the expected bucket owner. If the bucket is owned by
2836
- # a different account, the request will fail with an HTTP `403 (Access
2837
- # Denied)` error.
2978
+ # a different account, the request fails with the HTTP status code `403
2979
+ # Forbidden` (access denied).
2838
2980
  #
2839
2981
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2840
2982
  #
@@ -2915,12 +3057,12 @@ module Aws::S3
2915
3057
  #
2916
3058
  # When using this action with Amazon S3 on Outposts, you must direct
2917
3059
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2918
- # takes the form
2919
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2920
- # 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
2921
3063
  # Services SDKs, you provide the Outposts bucket ARN in place of the
2922
3064
  # bucket name. For more information about S3 on Outposts ARNs, see
2923
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3065
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
2924
3066
  #
2925
3067
  #
2926
3068
  #
@@ -2942,8 +3084,8 @@ module Aws::S3
2942
3084
  # @option params [String] :request_payer
2943
3085
  # Confirms that the requester knows that they will be charged for the
2944
3086
  # request. Bucket owners need not specify this parameter in their
2945
- # requests. For information about downloading objects from requester
2946
- # 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]
2947
3089
  # in the *Amazon S3 User Guide*.
2948
3090
  #
2949
3091
  #
@@ -2953,12 +3095,12 @@ module Aws::S3
2953
3095
  # @option params [Boolean] :bypass_governance_retention
2954
3096
  # Indicates whether S3 Object Lock should bypass Governance-mode
2955
3097
  # restrictions to process this operation. To use this header, you must
2956
- # have the `s3:PutBucketPublicAccessBlock` permission.
3098
+ # have the `s3:BypassGovernanceRetention` permission.
2957
3099
  #
2958
3100
  # @option params [String] :expected_bucket_owner
2959
3101
  # The account ID of the expected bucket owner. If the bucket is owned by
2960
- # a different account, the request will fail with an HTTP `403 (Access
2961
- # Denied)` error.
3102
+ # a different account, the request fails with the HTTP status code `403
3103
+ # Forbidden` (access denied).
2962
3104
  #
2963
3105
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2964
3106
  #
@@ -2967,6 +3109,15 @@ module Aws::S3
2967
3109
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2968
3110
  #
2969
3111
  #
3112
+ # @example Example: To delete an object (from a non-versioned bucket)
3113
+ #
3114
+ # # The following example deletes an object from a non-versioned bucket.
3115
+ #
3116
+ # resp = client.delete_object({
3117
+ # bucket: "ExampleBucket",
3118
+ # key: "HappyFace.jpg",
3119
+ # })
3120
+ #
2970
3121
  # @example Example: To delete an object
2971
3122
  #
2972
3123
  # # The following example deletes an object from an S3 bucket.
@@ -2980,15 +3131,6 @@ module Aws::S3
2980
3131
  # {
2981
3132
  # }
2982
3133
  #
2983
- # @example Example: To delete an object (from a non-versioned bucket)
2984
- #
2985
- # # The following example deletes an object from a non-versioned bucket.
2986
- #
2987
- # resp = client.delete_object({
2988
- # bucket: "ExampleBucket",
2989
- # key: "HappyFace.jpg",
2990
- # })
2991
- #
2992
3134
  # @example Request syntax with placeholder values
2993
3135
  #
2994
3136
  # resp = client.delete_object({
@@ -3052,12 +3194,12 @@ module Aws::S3
3052
3194
  #
3053
3195
  # When using this action with Amazon S3 on Outposts, you must direct
3054
3196
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3055
- # takes the form
3056
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
3057
- # 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
3058
3200
  # Services SDKs, you provide the Outposts bucket ARN in place of the
3059
3201
  # bucket name. For more information about S3 on Outposts ARNs, see
3060
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3202
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3061
3203
  #
3062
3204
  #
3063
3205
  #
@@ -3073,8 +3215,8 @@ module Aws::S3
3073
3215
  #
3074
3216
  # @option params [String] :expected_bucket_owner
3075
3217
  # The account ID of the expected bucket owner. If the bucket is owned by
3076
- # a different account, the request will fail with an HTTP `403 (Access
3077
- # Denied)` error.
3218
+ # a different account, the request fails with the HTTP status code `403
3219
+ # Forbidden` (access denied).
3078
3220
  #
3079
3221
  # @return [Types::DeleteObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3080
3222
  #
@@ -3200,12 +3342,12 @@ module Aws::S3
3200
3342
  #
3201
3343
  # When using this action with Amazon S3 on Outposts, you must direct
3202
3344
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3203
- # takes the form
3204
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
3205
- # 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
3206
3348
  # Services SDKs, you provide the Outposts bucket ARN in place of the
3207
3349
  # bucket name. For more information about S3 on Outposts ARNs, see
3208
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
3350
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3209
3351
  #
3210
3352
  #
3211
3353
  #
@@ -3224,8 +3366,8 @@ module Aws::S3
3224
3366
  # @option params [String] :request_payer
3225
3367
  # Confirms that the requester knows that they will be charged for the
3226
3368
  # request. Bucket owners need not specify this parameter in their
3227
- # requests. For information about downloading objects from requester
3228
- # 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]
3229
3371
  # in the *Amazon S3 User Guide*.
3230
3372
  #
3231
3373
  #
@@ -3235,12 +3377,31 @@ module Aws::S3
3235
3377
  # @option params [Boolean] :bypass_governance_retention
3236
3378
  # Specifies whether you want to delete this object even if it has a
3237
3379
  # Governance-type Object Lock in place. To use this header, you must
3238
- # have the `s3:PutBucketPublicAccessBlock` permission.
3380
+ # have the `s3:BypassGovernanceRetention` permission.
3239
3381
  #
3240
3382
  # @option params [String] :expected_bucket_owner
3241
3383
  # The account ID of the expected bucket owner. If the bucket is owned by
3242
- # a different account, the request will fail with an HTTP `403 (Access
3243
- # 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
3244
3405
  #
3245
3406
  # @return [Types::DeleteObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3246
3407
  #
@@ -3338,6 +3499,7 @@ module Aws::S3
3338
3499
  # request_payer: "requester", # accepts requester
3339
3500
  # bypass_governance_retention: false,
3340
3501
  # expected_bucket_owner: "AccountId",
3502
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3341
3503
  # })
3342
3504
  #
3343
3505
  # @example Response structure
@@ -3395,8 +3557,8 @@ module Aws::S3
3395
3557
  #
3396
3558
  # @option params [String] :expected_bucket_owner
3397
3559
  # The account ID of the expected bucket owner. If the bucket is owned by
3398
- # a different account, the request will fail with an HTTP `403 (Access
3399
- # Denied)` error.
3560
+ # a different account, the request fails with the HTTP status code `403
3561
+ # Forbidden` (access denied).
3400
3562
  #
3401
3563
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3402
3564
  #
@@ -3460,8 +3622,8 @@ module Aws::S3
3460
3622
  #
3461
3623
  # @option params [String] :expected_bucket_owner
3462
3624
  # The account ID of the expected bucket owner. If the bucket is owned by
3463
- # a different account, the request will fail with an HTTP `403 (Access
3464
- # Denied)` error.
3625
+ # a different account, the request fails with the HTTP status code `403
3626
+ # Forbidden` (access denied).
3465
3627
  #
3466
3628
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3467
3629
  #
@@ -3518,8 +3680,8 @@ module Aws::S3
3518
3680
  #
3519
3681
  # @option params [String] :expected_bucket_owner
3520
3682
  # The account ID of the expected bucket owner. If the bucket is owned by
3521
- # a different account, the request will fail with an HTTP `403 (Access
3522
- # Denied)` error.
3683
+ # a different account, the request fails with the HTTP status code `403
3684
+ # Forbidden` (access denied).
3523
3685
  #
3524
3686
  # @return [Types::GetBucketAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3525
3687
  #
@@ -3595,8 +3757,8 @@ module Aws::S3
3595
3757
  #
3596
3758
  # @option params [String] :expected_bucket_owner
3597
3759
  # The account ID of the expected bucket owner. If the bucket is owned by
3598
- # a different account, the request will fail with an HTTP `403 (Access
3599
- # Denied)` error.
3760
+ # a different account, the request fails with the HTTP status code `403
3761
+ # Forbidden` (access denied).
3600
3762
  #
3601
3763
  # @return [Types::GetBucketAnalyticsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3602
3764
  #
@@ -3635,13 +3797,14 @@ module Aws::S3
3635
3797
  req.send_request(options)
3636
3798
  end
3637
3799
 
3638
- # Returns the cors configuration information set for the bucket.
3800
+ # Returns the Cross-Origin Resource Sharing (CORS) configuration
3801
+ # information set for the bucket.
3639
3802
  #
3640
3803
  # To use this operation, you must have permission to perform the
3641
- # s3:GetBucketCORS action. By default, the bucket owner has this
3804
+ # `s3:GetBucketCORS` action. By default, the bucket owner has this
3642
3805
  # permission and can grant it to others.
3643
3806
  #
3644
- # For more information about cors, see [ Enabling Cross-Origin Resource
3807
+ # For more information about CORS, see [ Enabling Cross-Origin Resource
3645
3808
  # Sharing][1].
3646
3809
  #
3647
3810
  # The following operations are related to `GetBucketCors`\:
@@ -3661,8 +3824,8 @@ module Aws::S3
3661
3824
  #
3662
3825
  # @option params [String] :expected_bucket_owner
3663
3826
  # The account ID of the expected bucket owner. If the bucket is owned by
3664
- # a different account, the request will fail with an HTTP `403 (Access
3665
- # Denied)` error.
3827
+ # a different account, the request fails with the HTTP status code `403
3828
+ # Forbidden` (access denied).
3666
3829
  #
3667
3830
  # @return [Types::GetBucketCorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3668
3831
  #
@@ -3760,8 +3923,8 @@ module Aws::S3
3760
3923
  #
3761
3924
  # @option params [String] :expected_bucket_owner
3762
3925
  # The account ID of the expected bucket owner. If the bucket is owned by
3763
- # a different account, the request will fail with an HTTP `403 (Access
3764
- # Denied)` error.
3926
+ # a different account, the request fails with the HTTP status code `403
3927
+ # Forbidden` (access denied).
3765
3928
  #
3766
3929
  # @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3767
3930
  #
@@ -3910,8 +4073,8 @@ module Aws::S3
3910
4073
  #
3911
4074
  # @option params [String] :expected_bucket_owner
3912
4075
  # The account ID of the expected bucket owner. If the bucket is owned by
3913
- # a different account, the request will fail with an HTTP `403 (Access
3914
- # Denied)` error.
4076
+ # a different account, the request fails with the HTTP status code `403
4077
+ # Forbidden` (access denied).
3915
4078
  #
3916
4079
  # @return [Types::GetBucketInventoryConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3917
4080
  #
@@ -3937,7 +4100,7 @@ module Aws::S3
3937
4100
  # resp.inventory_configuration.id #=> String
3938
4101
  # resp.inventory_configuration.included_object_versions #=> String, one of "All", "Current"
3939
4102
  # resp.inventory_configuration.optional_fields #=> Array
3940
- # 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"
3941
4104
  # resp.inventory_configuration.schedule.frequency #=> String, one of "Daily", "Weekly"
3942
4105
  #
3943
4106
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration AWS API Documentation
@@ -3998,8 +4161,8 @@ module Aws::S3
3998
4161
  #
3999
4162
  # @option params [String] :expected_bucket_owner
4000
4163
  # The account ID of the expected bucket owner. If the bucket is owned by
4001
- # a different account, the request will fail with an HTTP `403 (Access
4002
- # Denied)` error.
4164
+ # a different account, the request fails with the HTTP status code `403
4165
+ # Forbidden` (access denied).
4003
4166
  #
4004
4167
  # @return [Types::GetBucketLifecycleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4005
4168
  #
@@ -4118,8 +4281,8 @@ module Aws::S3
4118
4281
  #
4119
4282
  # @option params [String] :expected_bucket_owner
4120
4283
  # The account ID of the expected bucket owner. If the bucket is owned by
4121
- # a different account, the request will fail with an HTTP `403 (Access
4122
- # Denied)` error.
4284
+ # a different account, the request fails with the HTTP status code `403
4285
+ # Forbidden` (access denied).
4123
4286
  #
4124
4287
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4125
4288
  #
@@ -4225,8 +4388,8 @@ module Aws::S3
4225
4388
  #
4226
4389
  # @option params [String] :expected_bucket_owner
4227
4390
  # The account ID of the expected bucket owner. If the bucket is owned by
4228
- # a different account, the request will fail with an HTTP `403 (Access
4229
- # Denied)` error.
4391
+ # a different account, the request fails with the HTTP status code `403
4392
+ # Forbidden` (access denied).
4230
4393
  #
4231
4394
  # @return [Types::GetBucketLocationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4232
4395
  #
@@ -4286,8 +4449,8 @@ module Aws::S3
4286
4449
  #
4287
4450
  # @option params [String] :expected_bucket_owner
4288
4451
  # The account ID of the expected bucket owner. If the bucket is owned by
4289
- # a different account, the request will fail with an HTTP `403 (Access
4290
- # Denied)` error.
4452
+ # a different account, the request fails with the HTTP status code `403
4453
+ # Forbidden` (access denied).
4291
4454
  #
4292
4455
  # @return [Types::GetBucketLoggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4293
4456
  #
@@ -4364,8 +4527,8 @@ module Aws::S3
4364
4527
  #
4365
4528
  # @option params [String] :expected_bucket_owner
4366
4529
  # The account ID of the expected bucket owner. If the bucket is owned by
4367
- # a different account, the request will fail with an HTTP `403 (Access
4368
- # Denied)` error.
4530
+ # a different account, the request fails with the HTTP status code `403
4531
+ # Forbidden` (access denied).
4369
4532
  #
4370
4533
  # @return [Types::GetBucketMetricsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4371
4534
  #
@@ -4413,8 +4576,8 @@ module Aws::S3
4413
4576
  #
4414
4577
  # @option params [String] :expected_bucket_owner
4415
4578
  # The account ID of the expected bucket owner. If the bucket is owned by
4416
- # a different account, the request will fail with an HTTP `403 (Access
4417
- # Denied)` error.
4579
+ # a different account, the request fails with the HTTP status code `403
4580
+ # Forbidden` (access denied).
4418
4581
  #
4419
4582
  # @return [Types::NotificationConfigurationDeprecated] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4420
4583
  #
@@ -4547,8 +4710,8 @@ module Aws::S3
4547
4710
  #
4548
4711
  # @option params [String] :expected_bucket_owner
4549
4712
  # The account ID of the expected bucket owner. If the bucket is owned by
4550
- # a different account, the request will fail with an HTTP `403 (Access
4551
- # Denied)` error.
4713
+ # a different account, the request fails with the HTTP status code `403
4714
+ # Forbidden` (access denied).
4552
4715
  #
4553
4716
  # @return [Types::NotificationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4554
4717
  #
@@ -4625,8 +4788,8 @@ module Aws::S3
4625
4788
  #
4626
4789
  # @option params [String] :expected_bucket_owner
4627
4790
  # The account ID of the expected bucket owner. If the bucket is owned by
4628
- # a different account, the request will fail with an HTTP `403 (Access
4629
- # Denied)` error.
4791
+ # a different account, the request fails with the HTTP status code `403
4792
+ # Forbidden` (access denied).
4630
4793
  #
4631
4794
  # @return [Types::GetBucketOwnershipControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4632
4795
  #
@@ -4688,8 +4851,8 @@ module Aws::S3
4688
4851
  #
4689
4852
  # @option params [String] :expected_bucket_owner
4690
4853
  # The account ID of the expected bucket owner. If the bucket is owned by
4691
- # a different account, the request will fail with an HTTP `403 (Access
4692
- # Denied)` error.
4854
+ # a different account, the request fails with the HTTP status code `403
4855
+ # Forbidden` (access denied).
4693
4856
  #
4694
4857
  # @return [Types::GetBucketPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4695
4858
  #
@@ -4763,8 +4926,8 @@ module Aws::S3
4763
4926
  #
4764
4927
  # @option params [String] :expected_bucket_owner
4765
4928
  # The account ID of the expected bucket owner. If the bucket is owned by
4766
- # a different account, the request will fail with an HTTP `403 (Access
4767
- # Denied)` error.
4929
+ # a different account, the request fails with the HTTP status code `403
4930
+ # Forbidden` (access denied).
4768
4931
  #
4769
4932
  # @return [Types::GetBucketPolicyStatusOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4770
4933
  #
@@ -4831,8 +4994,8 @@ module Aws::S3
4831
4994
  #
4832
4995
  # @option params [String] :expected_bucket_owner
4833
4996
  # The account ID of the expected bucket owner. If the bucket is owned by
4834
- # a different account, the request will fail with an HTTP `403 (Access
4835
- # Denied)` error.
4997
+ # a different account, the request fails with the HTTP status code `403
4998
+ # Forbidden` (access denied).
4836
4999
  #
4837
5000
  # @return [Types::GetBucketReplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4838
5001
  #
@@ -4930,8 +5093,8 @@ module Aws::S3
4930
5093
  #
4931
5094
  # @option params [String] :expected_bucket_owner
4932
5095
  # The account ID of the expected bucket owner. If the bucket is owned by
4933
- # a different account, the request will fail with an HTTP `403 (Access
4934
- # Denied)` error.
5096
+ # a different account, the request fails with the HTTP status code `403
5097
+ # Forbidden` (access denied).
4935
5098
  #
4936
5099
  # @return [Types::GetBucketRequestPaymentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4937
5100
  #
@@ -4979,7 +5142,7 @@ module Aws::S3
4979
5142
  #
4980
5143
  # `GetBucketTagging` has the following special error:
4981
5144
  #
4982
- # * Error code: `NoSuchTagSetError`
5145
+ # * Error code: `NoSuchTagSet`
4983
5146
  #
4984
5147
  # * Description: There is no tag set associated with the bucket.
4985
5148
  #
@@ -5001,8 +5164,8 @@ module Aws::S3
5001
5164
  #
5002
5165
  # @option params [String] :expected_bucket_owner
5003
5166
  # The account ID of the expected bucket owner. If the bucket is owned by
5004
- # a different account, the request will fail with an HTTP `403 (Access
5005
- # Denied)` error.
5167
+ # a different account, the request fails with the HTTP status code `403
5168
+ # Forbidden` (access denied).
5006
5169
  #
5007
5170
  # @return [Types::GetBucketTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5008
5171
  #
@@ -5082,8 +5245,8 @@ module Aws::S3
5082
5245
  #
5083
5246
  # @option params [String] :expected_bucket_owner
5084
5247
  # The account ID of the expected bucket owner. If the bucket is owned by
5085
- # a different account, the request will fail with an HTTP `403 (Access
5086
- # Denied)` error.
5248
+ # a different account, the request fails with the HTTP status code `403
5249
+ # Forbidden` (access denied).
5087
5250
  #
5088
5251
  # @return [Types::GetBucketVersioningOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5089
5252
  #
@@ -5154,8 +5317,8 @@ module Aws::S3
5154
5317
  #
5155
5318
  # @option params [String] :expected_bucket_owner
5156
5319
  # The account ID of the expected bucket owner. If the bucket is owned by
5157
- # a different account, the request will fail with an HTTP `403 (Access
5158
- # Denied)` error.
5320
+ # a different account, the request fails with the HTTP status code `403
5321
+ # Forbidden` (access denied).
5159
5322
  #
5160
5323
  # @return [Types::GetBucketWebsiteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5161
5324
  #
@@ -5234,18 +5397,16 @@ module Aws::S3
5234
5397
  # `/examplebucket/photos/2006/February/sample.jpg`. For more information
5235
5398
  # about request types, see [HTTP Host Header Bucket Specification][1].
5236
5399
  #
5237
- # To distribute large files to many people, you can save bandwidth costs
5238
- # by using BitTorrent. For more information, see [Amazon S3 Torrent][2].
5239
5400
  # For more information about returning the ACL of an object, see
5240
- # [GetObjectAcl][3].
5401
+ # [GetObjectAcl][2].
5241
5402
  #
5242
5403
  # If the object you are retrieving is stored in the S3 Glacier or S3
5243
5404
  # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5244
5405
  # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5245
- # the object you must first restore a copy using [RestoreObject][4].
5406
+ # the object you must first restore a copy using [RestoreObject][3].
5246
5407
  # Otherwise, this action returns an `InvalidObjectStateError` error. For
5247
5408
  # information about restoring archived objects, see [Restoring Archived
5248
- # Objects][5].
5409
+ # Objects][4].
5249
5410
  #
5250
5411
  # Encryption request headers, like `x-amz-server-side-encryption`,
5251
5412
  # should not be sent for GET requests if your object uses server-side
@@ -5265,19 +5426,19 @@ module Aws::S3
5265
5426
  # * x-amz-server-side-encryption-customer-key-MD5
5266
5427
  #
5267
5428
  # For more information about SSE-C, see [Server-Side Encryption (Using
5268
- # Customer-Provided Encryption Keys)][6].
5429
+ # Customer-Provided Encryption Keys)][5].
5269
5430
  #
5270
5431
  # Assuming you have the relevant permission to read object tags, the
5271
5432
  # response also returns the `x-amz-tagging-count` header that provides
5272
5433
  # the count of number of tags associated with the object. You can use
5273
- # [GetObjectTagging][7] to retrieve the tag set associated with an
5434
+ # [GetObjectTagging][6] to retrieve the tag set associated with an
5274
5435
  # object.
5275
5436
  #
5276
5437
  # **Permissions**
5277
5438
  #
5278
5439
  # You need the relevant read object (or version) permission for this
5279
5440
  # operation. For more information, see [Specifying Permissions in a
5280
- # 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
5281
5442
  # S3 returns depends on whether you also have the `s3:ListBucket`
5282
5443
  # permission.
5283
5444
  #
@@ -5303,13 +5464,13 @@ module Aws::S3
5303
5464
  #
5304
5465
  # </note>
5305
5466
  #
5306
- # For more information about versioning, see [PutBucketVersioning][9].
5467
+ # For more information about versioning, see [PutBucketVersioning][8].
5307
5468
  #
5308
5469
  # **Overriding Response Header Values**
5309
5470
  #
5310
5471
  # There are times when you want to override certain response header
5311
5472
  # values in a GET response. For example, you might override the
5312
- # Content-Disposition response header value in your GET request.
5473
+ # `Content-Disposition` response header value in your GET request.
5313
5474
  #
5314
5475
  # You can override values for a set of response headers using the
5315
5476
  # following query parameters. These response header values are sent only
@@ -5352,27 +5513,26 @@ module Aws::S3
5352
5513
  # to `false`, and; `If-Modified-Since` condition evaluates to `true`;
5353
5514
  # then, S3 returns 304 Not Modified response code.
5354
5515
  #
5355
- # For more information about conditional requests, see [RFC 7232][10].
5516
+ # For more information about conditional requests, see [RFC 7232][9].
5356
5517
  #
5357
5518
  # The following operations are related to `GetObject`\:
5358
5519
  #
5359
- # * [ListBuckets][11]
5520
+ # * [ListBuckets][10]
5360
5521
  #
5361
- # * [GetObjectAcl][3]
5522
+ # * [GetObjectAcl][2]
5362
5523
  #
5363
5524
  #
5364
5525
  #
5365
5526
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
5366
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
5367
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
5368
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
5369
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
5370
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5371
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
5372
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
5373
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
5374
- # [10]: https://tools.ietf.org/html/rfc7232
5375
- # [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
5376
5536
  #
5377
5537
  # @option params [String, IO] :response_target
5378
5538
  # Where to write response data, file path, or IO object.
@@ -5393,12 +5553,12 @@ module Aws::S3
5393
5553
  #
5394
5554
  # When using this action with Amazon S3 on Outposts, you must direct
5395
5555
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5396
- # takes the form
5397
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5398
- # 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
5399
5559
  # Services SDKs, you provide the Outposts bucket ARN in place of the
5400
5560
  # bucket name. For more information about S3 on Outposts ARNs, see
5401
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
5561
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
5402
5562
  #
5403
5563
  #
5404
5564
  #
@@ -5407,19 +5567,19 @@ module Aws::S3
5407
5567
  #
5408
5568
  # @option params [String] :if_match
5409
5569
  # Return the object only if its entity tag (ETag) is the same as the one
5410
- # specified, otherwise return a 412 (precondition failed).
5570
+ # specified; otherwise, return a 412 (precondition failed) error.
5411
5571
  #
5412
5572
  # @option params [Time,DateTime,Date,Integer,String] :if_modified_since
5413
5573
  # Return the object only if it has been modified since the specified
5414
- # time, otherwise return a 304 (not modified).
5574
+ # time; otherwise, return a 304 (not modified) error.
5415
5575
  #
5416
5576
  # @option params [String] :if_none_match
5417
5577
  # Return the object only if its entity tag (ETag) is different from the
5418
- # one specified, otherwise return a 304 (not modified).
5578
+ # one specified; otherwise, return a 304 (not modified) error.
5419
5579
  #
5420
5580
  # @option params [Time,DateTime,Date,Integer,String] :if_unmodified_since
5421
5581
  # Return the object only if it has not been modified since the specified
5422
- # time, otherwise return a 412 (precondition failed).
5582
+ # time; otherwise, return a 412 (precondition failed) error.
5423
5583
  #
5424
5584
  # @option params [required, String] :key
5425
5585
  # Key of the object to get.
@@ -5478,8 +5638,8 @@ module Aws::S3
5478
5638
  # @option params [String] :request_payer
5479
5639
  # Confirms that the requester knows that they will be charged for the
5480
5640
  # request. Bucket owners need not specify this parameter in their
5481
- # requests. For information about downloading objects from requester
5482
- # 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]
5483
5643
  # in the *Amazon S3 User Guide*.
5484
5644
  #
5485
5645
  #
@@ -5494,8 +5654,11 @@ module Aws::S3
5494
5654
  #
5495
5655
  # @option params [String] :expected_bucket_owner
5496
5656
  # The account ID of the expected bucket owner. If the bucket is owned by
5497
- # a different account, the request will fail with an HTTP `403 (Access
5498
- # 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.
5499
5662
  #
5500
5663
  # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5501
5664
  #
@@ -5507,6 +5670,10 @@ module Aws::S3
5507
5670
  # * {Types::GetObjectOutput#last_modified #last_modified} => Time
5508
5671
  # * {Types::GetObjectOutput#content_length #content_length} => Integer
5509
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
5510
5677
  # * {Types::GetObjectOutput#missing_meta #missing_meta} => Integer
5511
5678
  # * {Types::GetObjectOutput#version_id #version_id} => String
5512
5679
  # * {Types::GetObjectOutput#cache_control #cache_control} => String
@@ -5632,6 +5799,7 @@ module Aws::S3
5632
5799
  # request_payer: "requester", # accepts requester
5633
5800
  # part_number: 1,
5634
5801
  # expected_bucket_owner: "AccountId",
5802
+ # checksum_mode: "ENABLED", # accepts ENABLED
5635
5803
  # })
5636
5804
  #
5637
5805
  # @example Response structure
@@ -5644,6 +5812,10 @@ module Aws::S3
5644
5812
  # resp.last_modified #=> Time
5645
5813
  # resp.content_length #=> Integer
5646
5814
  # resp.etag #=> String
5815
+ # resp.checksum_crc32 #=> String
5816
+ # resp.checksum_crc32c #=> String
5817
+ # resp.checksum_sha1 #=> String
5818
+ # resp.checksum_sha256 #=> String
5647
5819
  # resp.missing_meta #=> Integer
5648
5820
  # resp.version_id #=> String
5649
5821
  # resp.cache_control #=> String
@@ -5681,7 +5853,10 @@ module Aws::S3
5681
5853
  end
5682
5854
 
5683
5855
  # Returns the access control list (ACL) of an object. To use this
5684
- # 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*
5685
5860
  #
5686
5861
  # This action is not supported by Amazon S3 on Outposts.
5687
5862
  #
@@ -5695,24 +5870,28 @@ module Aws::S3
5695
5870
  # Ownership, requests to read ACLs are still supported and return the
5696
5871
  # `bucket-owner-full-control` ACL with the owner being the account that
5697
5872
  # created the bucket. For more information, see [ Controlling object
5698
- # ownership and disabling ACLs][1] in the *Amazon S3 User Guide*.
5873
+ # ownership and disabling ACLs][2] in the *Amazon S3 User Guide*.
5699
5874
  #
5700
5875
  # </note>
5701
5876
  #
5702
5877
  # The following operations are related to `GetObjectAcl`\:
5703
5878
  #
5704
- # * [GetObject][2]
5879
+ # * [GetObject][3]
5705
5880
  #
5706
- # * [DeleteObject][3]
5881
+ # * [GetObjectAttributes][4]
5707
5882
  #
5708
- # * [PutObject][4]
5883
+ # * [DeleteObject][5]
5709
5884
  #
5885
+ # * [PutObject][6]
5710
5886
  #
5711
5887
  #
5712
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
5713
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5714
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
5715
- # [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
5716
5895
  #
5717
5896
  # @option params [required, String] :bucket
5718
5897
  # The bucket name that contains the object for which to get the ACL
@@ -5739,8 +5918,8 @@ module Aws::S3
5739
5918
  # @option params [String] :request_payer
5740
5919
  # Confirms that the requester knows that they will be charged for the
5741
5920
  # request. Bucket owners need not specify this parameter in their
5742
- # requests. For information about downloading objects from requester
5743
- # 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]
5744
5923
  # in the *Amazon S3 User Guide*.
5745
5924
  #
5746
5925
  #
@@ -5749,8 +5928,8 @@ module Aws::S3
5749
5928
  #
5750
5929
  # @option params [String] :expected_bucket_owner
5751
5930
  # The account ID of the expected bucket owner. If the bucket is owned by
5752
- # a different account, the request will fail with an HTTP `403 (Access
5753
- # Denied)` error.
5931
+ # a different account, the request fails with the HTTP status code `403
5932
+ # Forbidden` (access denied).
5754
5933
  #
5755
5934
  # @return [Types::GetObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5756
5935
  #
@@ -5842,18 +6021,116 @@ module Aws::S3
5842
6021
  req.send_request(options)
5843
6022
  end
5844
6023
 
5845
- # Gets an object's current Legal Hold status. For more information, see
5846
- # [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.
5847
6028
  #
5848
- # 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`.
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:
5849
6039
  #
6040
+ # * `x-amz-server-side-encryption-customer-algorithm`
5850
6041
  #
6042
+ # * `x-amz-server-side-encryption-customer-key`
5851
6043
  #
5852
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
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
5853
6131
  #
5854
6132
  # @option params [required, String] :bucket
5855
- # The bucket name containing the object whose Legal Hold status you want
5856
- # to retrieve.
6133
+ # The name of the bucket that contains the object.
5857
6134
  #
5858
6135
  # When using this action with an access point, you must direct requests
5859
6136
  # to the access point hostname. The access point hostname takes the form
@@ -5863,23 +6140,54 @@ module Aws::S3
5863
6140
  # name. For more information about access point ARNs, see [Using access
5864
6141
  # points][1] in the *Amazon S3 User Guide*.
5865
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
+ #
5866
6152
  #
5867
6153
  #
5868
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
5869
6156
  #
5870
6157
  # @option params [required, String] :key
5871
- # The key name for the object whose Legal Hold status you want to
5872
- # retrieve.
6158
+ # The object key.
5873
6159
  #
5874
6160
  # @option params [String] :version_id
5875
- # The version ID of the object whose Legal Hold status you want to
5876
- # 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.
5877
6185
  #
5878
6186
  # @option params [String] :request_payer
5879
6187
  # Confirms that the requester knows that they will be charged for the
5880
6188
  # request. Bucket owners need not specify this parameter in their
5881
- # requests. For information about downloading objects from requester
5882
- # 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]
5883
6191
  # in the *Amazon S3 User Guide*.
5884
6192
  #
5885
6193
  #
@@ -5888,47 +6196,96 @@ module Aws::S3
5888
6196
  #
5889
6197
  # @option params [String] :expected_bucket_owner
5890
6198
  # The account ID of the expected bucket owner. If the bucket is owned by
5891
- # a different account, the request will fail with an HTTP `403 (Access
5892
- # Denied)` error.
5893
- #
5894
- # @return [Types::GetObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5895
- #
5896
- # * {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
5897
6218
  #
5898
6219
  # @example Request syntax with placeholder values
5899
6220
  #
5900
- # resp = client.get_object_legal_hold({
6221
+ # resp = client.get_object_attributes({
5901
6222
  # bucket: "BucketName", # required
5902
6223
  # key: "ObjectKey", # required
5903
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",
5904
6230
  # request_payer: "requester", # accepts requester
5905
6231
  # expected_bucket_owner: "AccountId",
6232
+ # object_attributes: ["ETag"], # required, accepts ETag, Checksum, ObjectParts, StorageClass, ObjectSize
5906
6233
  # })
5907
6234
  #
5908
6235
  # @example Response structure
5909
6236
  #
5910
- # 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
5911
6260
  #
5912
- # @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
5913
6262
  #
5914
- # @overload get_object_legal_hold(params = {})
6263
+ # @overload get_object_attributes(params = {})
5915
6264
  # @param [Hash] params ({})
5916
- def get_object_legal_hold(params = {}, options = {})
5917
- req = build_request(:get_object_legal_hold, params)
6265
+ def get_object_attributes(params = {}, options = {})
6266
+ req = build_request(:get_object_attributes, params)
5918
6267
  req.send_request(options)
5919
6268
  end
5920
6269
 
5921
- # Gets the Object Lock configuration for a bucket. The rule specified in
5922
- # the Object Lock configuration will be applied by default to every new
5923
- # object placed in the specified bucket. For more information, see
6270
+ # Gets an object's current legal hold status. For more information, see
5924
6271
  # [Locking Objects][1].
5925
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
+ #
5926
6281
  #
5927
6282
  #
5928
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
5929
6285
  #
5930
6286
  # @option params [required, String] :bucket
5931
- # 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.
5932
6289
  #
5933
6290
  # When using this action with an access point, you must direct requests
5934
6291
  # to the access point hostname. The access point hostname takes the form
@@ -5942,32 +6299,114 @@ module Aws::S3
5942
6299
  #
5943
6300
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
5944
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
+ #
5945
6321
  # @option params [String] :expected_bucket_owner
5946
6322
  # The account ID of the expected bucket owner. If the bucket is owned by
5947
- # a different account, the request will fail with an HTTP `403 (Access
5948
- # Denied)` error.
6323
+ # a different account, the request fails with the HTTP status code `403
6324
+ # Forbidden` (access denied).
5949
6325
  #
5950
- # @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:
5951
6327
  #
5952
- # * {Types::GetObjectLockConfigurationOutput#object_lock_configuration #object_lock_configuration} => Types::ObjectLockConfiguration
6328
+ # * {Types::GetObjectLegalHoldOutput#legal_hold #legal_hold} => Types::ObjectLockLegalHold
5953
6329
  #
5954
6330
  # @example Request syntax with placeholder values
5955
6331
  #
5956
- # resp = client.get_object_lock_configuration({
6332
+ # resp = client.get_object_legal_hold({
5957
6333
  # bucket: "BucketName", # required
6334
+ # key: "ObjectKey", # required
6335
+ # version_id: "ObjectVersionId",
6336
+ # request_payer: "requester", # accepts requester
5958
6337
  # expected_bucket_owner: "AccountId",
5959
6338
  # })
5960
6339
  #
5961
6340
  # @example Response structure
5962
6341
  #
5963
- # resp.object_lock_configuration.object_lock_enabled #=> String, one of "Enabled"
5964
- # resp.object_lock_configuration.rule.default_retention.mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
5965
- # resp.object_lock_configuration.rule.default_retention.days #=> Integer
5966
- # resp.object_lock_configuration.rule.default_retention.years #=> Integer
6342
+ # resp.legal_hold.status #=> String, one of "ON", "OFF"
5967
6343
  #
5968
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration AWS API Documentation
6344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold AWS API Documentation
5969
6345
  #
5970
- # @overload get_object_lock_configuration(params = {})
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({
6396
+ # bucket: "BucketName", # required
6397
+ # expected_bucket_owner: "AccountId",
6398
+ # })
6399
+ #
6400
+ # @example Response structure
6401
+ #
6402
+ # resp.object_lock_configuration.object_lock_enabled #=> String, one of "Enabled"
6403
+ # resp.object_lock_configuration.rule.default_retention.mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
6404
+ # resp.object_lock_configuration.rule.default_retention.days #=> Integer
6405
+ # resp.object_lock_configuration.rule.default_retention.years #=> Integer
6406
+ #
6407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration AWS API Documentation
6408
+ #
6409
+ # @overload get_object_lock_configuration(params = {})
5971
6410
  # @param [Hash] params ({})
5972
6411
  def get_object_lock_configuration(params = {}, options = {})
5973
6412
  req = build_request(:get_object_lock_configuration, params)
@@ -5979,9 +6418,16 @@ module Aws::S3
5979
6418
  #
5980
6419
  # This action is not supported by Amazon S3 on Outposts.
5981
6420
  #
6421
+ # The following action is related to `GetObjectRetention`\:
6422
+ #
6423
+ # * [GetObjectAttributes][2]
6424
+ #
6425
+ # ^
6426
+ #
5982
6427
  #
5983
6428
  #
5984
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
5985
6431
  #
5986
6432
  # @option params [required, String] :bucket
5987
6433
  # The bucket name containing the object whose retention settings you
@@ -6010,8 +6456,8 @@ module Aws::S3
6010
6456
  # @option params [String] :request_payer
6011
6457
  # Confirms that the requester knows that they will be charged for the
6012
6458
  # request. Bucket owners need not specify this parameter in their
6013
- # requests. For information about downloading objects from requester
6014
- # 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]
6015
6461
  # in the *Amazon S3 User Guide*.
6016
6462
  #
6017
6463
  #
@@ -6020,8 +6466,8 @@ module Aws::S3
6020
6466
  #
6021
6467
  # @option params [String] :expected_bucket_owner
6022
6468
  # The account ID of the expected bucket owner. If the bucket is owned by
6023
- # a different account, the request will fail with an HTTP `403 (Access
6024
- # Denied)` error.
6469
+ # a different account, the request fails with the HTTP status code `403
6470
+ # Forbidden` (access denied).
6025
6471
  #
6026
6472
  # @return [Types::GetObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6027
6473
  #
@@ -6067,17 +6513,20 @@ module Aws::S3
6067
6513
  # For information about the Amazon S3 object tagging feature, see
6068
6514
  # [Object Tagging][1].
6069
6515
  #
6070
- # The following action is related to `GetObjectTagging`\:
6516
+ # The following actions are related to `GetObjectTagging`\:
6071
6517
  #
6072
- # * [PutObjectTagging][2]
6518
+ # * [DeleteObjectTagging][2]
6519
+ #
6520
+ # * [GetObjectAttributes][3]
6073
6521
  #
6074
- # * [DeleteObjectTagging][3]
6522
+ # * [PutObjectTagging][4]
6075
6523
  #
6076
6524
  #
6077
6525
  #
6078
6526
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
6079
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
6080
- # [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
6081
6530
  #
6082
6531
  # @option params [required, String] :bucket
6083
6532
  # The bucket name containing the object for which to get the tagging
@@ -6093,12 +6542,12 @@ module Aws::S3
6093
6542
  #
6094
6543
  # When using this action with Amazon S3 on Outposts, you must direct
6095
6544
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6096
- # takes the form
6097
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6098
- # 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
6099
6548
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6100
6549
  # bucket name. For more information about S3 on Outposts ARNs, see
6101
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
6550
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6102
6551
  #
6103
6552
  #
6104
6553
  #
@@ -6113,14 +6562,14 @@ module Aws::S3
6113
6562
  #
6114
6563
  # @option params [String] :expected_bucket_owner
6115
6564
  # The account ID of the expected bucket owner. If the bucket is owned by
6116
- # a different account, the request will fail with an HTTP `403 (Access
6117
- # Denied)` error.
6565
+ # a different account, the request fails with the HTTP status code `403
6566
+ # Forbidden` (access denied).
6118
6567
  #
6119
6568
  # @option params [String] :request_payer
6120
6569
  # Confirms that the requester knows that they will be charged for the
6121
6570
  # request. Bucket owners need not specify this parameter in their
6122
- # requests. For information about downloading objects from requester
6123
- # 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]
6124
6573
  # in the *Amazon S3 User Guide*.
6125
6574
  #
6126
6575
  #
@@ -6242,8 +6691,8 @@ module Aws::S3
6242
6691
  # @option params [String] :request_payer
6243
6692
  # Confirms that the requester knows that they will be charged for the
6244
6693
  # request. Bucket owners need not specify this parameter in their
6245
- # requests. For information about downloading objects from requester
6246
- # 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]
6247
6696
  # in the *Amazon S3 User Guide*.
6248
6697
  #
6249
6698
  #
@@ -6252,8 +6701,8 @@ module Aws::S3
6252
6701
  #
6253
6702
  # @option params [String] :expected_bucket_owner
6254
6703
  # The account ID of the expected bucket owner. If the bucket is owned by
6255
- # a different account, the request will fail with an HTTP `403 (Access
6256
- # Denied)` error.
6704
+ # a different account, the request fails with the HTTP status code `403
6705
+ # Forbidden` (access denied).
6257
6706
  #
6258
6707
  # @return [Types::GetObjectTorrentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6259
6708
  #
@@ -6338,8 +6787,8 @@ module Aws::S3
6338
6787
  #
6339
6788
  # @option params [String] :expected_bucket_owner
6340
6789
  # The account ID of the expected bucket owner. If the bucket is owned by
6341
- # a different account, the request will fail with an HTTP `403 (Access
6342
- # Denied)` error.
6790
+ # a different account, the request fails with the HTTP status code `403
6791
+ # Forbidden` (access denied).
6343
6792
  #
6344
6793
  # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6345
6794
  #
@@ -6411,12 +6860,12 @@ module Aws::S3
6411
6860
  #
6412
6861
  # When using this action with Amazon S3 on Outposts, you must direct
6413
6862
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6414
- # takes the form
6415
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6416
- # 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
6417
6866
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6418
6867
  # bucket name. For more information about S3 on Outposts ARNs, see
6419
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
6868
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6420
6869
  #
6421
6870
  #
6422
6871
  #
@@ -6425,8 +6874,8 @@ module Aws::S3
6425
6874
  #
6426
6875
  # @option params [String] :expected_bucket_owner
6427
6876
  # The account ID of the expected bucket owner. If the bucket is owned by
6428
- # a different account, the request will fail with an HTTP `403 (Access
6429
- # Denied)` error.
6877
+ # a different account, the request fails with the HTTP status code `403
6878
+ # Forbidden` (access denied).
6430
6879
  #
6431
6880
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6432
6881
  #
@@ -6537,11 +6986,11 @@ module Aws::S3
6537
6986
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
6538
6987
  # an HTTP status code 403 ("access denied") error.
6539
6988
  #
6540
- # The following action is related to `HeadObject`\:
6989
+ # The following actions are related to `HeadObject`\:
6541
6990
  #
6542
6991
  # * [GetObject][5]
6543
6992
  #
6544
- # ^
6993
+ # * [GetObjectAttributes][6]
6545
6994
  #
6546
6995
  #
6547
6996
  #
@@ -6550,6 +6999,7 @@ module Aws::S3
6550
6999
  # [3]: https://tools.ietf.org/html/rfc7232
6551
7000
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
6552
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
6553
7003
  #
6554
7004
  # @option params [required, String] :bucket
6555
7005
  # The name of the bucket containing the object.
@@ -6564,12 +7014,12 @@ module Aws::S3
6564
7014
  #
6565
7015
  # When using this action with Amazon S3 on Outposts, you must direct
6566
7016
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6567
- # takes the form
6568
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6569
- # 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
6570
7020
  # Services SDKs, you provide the Outposts bucket ARN in place of the
6571
7021
  # bucket name. For more information about S3 on Outposts ARNs, see
6572
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
7022
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6573
7023
  #
6574
7024
  #
6575
7025
  #
@@ -6578,36 +7028,26 @@ module Aws::S3
6578
7028
  #
6579
7029
  # @option params [String] :if_match
6580
7030
  # Return the object only if its entity tag (ETag) is the same as the one
6581
- # specified, otherwise return a 412 (precondition failed).
7031
+ # specified; otherwise, return a 412 (precondition failed) error.
6582
7032
  #
6583
7033
  # @option params [Time,DateTime,Date,Integer,String] :if_modified_since
6584
7034
  # Return the object only if it has been modified since the specified
6585
- # time, otherwise return a 304 (not modified).
7035
+ # time; otherwise, return a 304 (not modified) error.
6586
7036
  #
6587
7037
  # @option params [String] :if_none_match
6588
7038
  # Return the object only if its entity tag (ETag) is different from the
6589
- # one specified, otherwise return a 304 (not modified).
7039
+ # one specified; otherwise, return a 304 (not modified) error.
6590
7040
  #
6591
7041
  # @option params [Time,DateTime,Date,Integer,String] :if_unmodified_since
6592
7042
  # Return the object only if it has not been modified since the specified
6593
- # time, otherwise return a 412 (precondition failed).
7043
+ # time; otherwise, return a 412 (precondition failed) error.
6594
7044
  #
6595
7045
  # @option params [required, String] :key
6596
7046
  # The object key.
6597
7047
  #
6598
7048
  # @option params [String] :range
6599
- # Downloads the specified range bytes of an object. For more information
6600
- # about the HTTP Range header, see
6601
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
6602
- #
6603
- # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
6604
- # `GET` request.
6605
- #
6606
- # </note>
6607
- #
6608
- #
6609
- #
6610
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
7049
+ # Because `HeadObject` returns only the metadata for an object, this
7050
+ # parameter has no effect.
6611
7051
  #
6612
7052
  # @option params [String] :version_id
6613
7053
  # VersionId used to reference a specific version of the object.
@@ -6631,8 +7071,8 @@ module Aws::S3
6631
7071
  # @option params [String] :request_payer
6632
7072
  # Confirms that the requester knows that they will be charged for the
6633
7073
  # request. Bucket owners need not specify this parameter in their
6634
- # requests. For information about downloading objects from requester
6635
- # 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]
6636
7076
  # in the *Amazon S3 User Guide*.
6637
7077
  #
6638
7078
  #
@@ -6647,8 +7087,16 @@ module Aws::S3
6647
7087
  #
6648
7088
  # @option params [String] :expected_bucket_owner
6649
7089
  # The account ID of the expected bucket owner. If the bucket is owned by
6650
- # a different account, the request will fail with an HTTP `403 (Access
6651
- # 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.
6652
7100
  #
6653
7101
  # @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6654
7102
  #
@@ -6659,6 +7107,10 @@ module Aws::S3
6659
7107
  # * {Types::HeadObjectOutput#archive_status #archive_status} => String
6660
7108
  # * {Types::HeadObjectOutput#last_modified #last_modified} => Time
6661
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
6662
7114
  # * {Types::HeadObjectOutput#etag #etag} => String
6663
7115
  # * {Types::HeadObjectOutput#missing_meta #missing_meta} => Integer
6664
7116
  # * {Types::HeadObjectOutput#version_id #version_id} => String
@@ -6723,6 +7175,7 @@ module Aws::S3
6723
7175
  # request_payer: "requester", # accepts requester
6724
7176
  # part_number: 1,
6725
7177
  # expected_bucket_owner: "AccountId",
7178
+ # checksum_mode: "ENABLED", # accepts ENABLED
6726
7179
  # })
6727
7180
  #
6728
7181
  # @example Response structure
@@ -6734,6 +7187,10 @@ module Aws::S3
6734
7187
  # resp.archive_status #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
6735
7188
  # resp.last_modified #=> Time
6736
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
6737
7194
  # resp.etag #=> String
6738
7195
  # resp.missing_meta #=> Integer
6739
7196
  # resp.version_id #=> String
@@ -6825,8 +7282,8 @@ module Aws::S3
6825
7282
  #
6826
7283
  # @option params [String] :expected_bucket_owner
6827
7284
  # The account ID of the expected bucket owner. If the bucket is owned by
6828
- # a different account, the request will fail with an HTTP `403 (Access
6829
- # Denied)` error.
7285
+ # a different account, the request fails with the HTTP status code `403
7286
+ # Forbidden` (access denied).
6830
7287
  #
6831
7288
  # @return [Types::ListBucketAnalyticsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6832
7289
  #
@@ -6915,7 +7372,7 @@ module Aws::S3
6915
7372
  # modify or retrieve.
6916
7373
  #
6917
7374
  # @option params [String] :continuation_token
6918
- # The ContinuationToken that represents a placeholder from where this
7375
+ # The `ContinuationToken` that represents a placeholder from where this
6919
7376
  # request should begin.
6920
7377
  #
6921
7378
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -7012,8 +7469,8 @@ module Aws::S3
7012
7469
  #
7013
7470
  # @option params [String] :expected_bucket_owner
7014
7471
  # The account ID of the expected bucket owner. If the bucket is owned by
7015
- # a different account, the request will fail with an HTTP `403 (Access
7016
- # Denied)` error.
7472
+ # a different account, the request fails with the HTTP status code `403
7473
+ # Forbidden` (access denied).
7017
7474
  #
7018
7475
  # @return [Types::ListBucketInventoryConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7019
7476
  #
@@ -7044,7 +7501,7 @@ module Aws::S3
7044
7501
  # resp.inventory_configuration_list[0].id #=> String
7045
7502
  # resp.inventory_configuration_list[0].included_object_versions #=> String, one of "All", "Current"
7046
7503
  # resp.inventory_configuration_list[0].optional_fields #=> Array
7047
- # 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"
7048
7505
  # resp.inventory_configuration_list[0].schedule.frequency #=> String, one of "Daily", "Weekly"
7049
7506
  # resp.is_truncated #=> Boolean
7050
7507
  # resp.next_continuation_token #=> String
@@ -7112,8 +7569,8 @@ module Aws::S3
7112
7569
  #
7113
7570
  # @option params [String] :expected_bucket_owner
7114
7571
  # The account ID of the expected bucket owner. If the bucket is owned by
7115
- # a different account, the request will fail with an HTTP `403 (Access
7116
- # Denied)` error.
7572
+ # a different account, the request fails with the HTTP status code `403
7573
+ # Forbidden` (access denied).
7117
7574
  #
7118
7575
  # @return [Types::ListBucketMetricsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7119
7576
  #
@@ -7157,7 +7614,8 @@ module Aws::S3
7157
7614
  end
7158
7615
 
7159
7616
  # Returns a list of all buckets owned by the authenticated sender of the
7160
- # request.
7617
+ # request. To use this operation, you must have the
7618
+ # `s3:ListAllMyBuckets` permission.
7161
7619
  #
7162
7620
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7163
7621
  #
@@ -7274,12 +7732,12 @@ module Aws::S3
7274
7732
  #
7275
7733
  # When using this action with Amazon S3 on Outposts, you must direct
7276
7734
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7277
- # takes the form
7278
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7279
- # 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
7280
7738
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7281
7739
  # bucket name. For more information about S3 on Outposts ARNs, see
7282
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
7740
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7283
7741
  #
7284
7742
  #
7285
7743
  #
@@ -7338,8 +7796,8 @@ module Aws::S3
7338
7796
  #
7339
7797
  # @option params [String] :expected_bucket_owner
7340
7798
  # The account ID of the expected bucket owner. If the bucket is owned by
7341
- # a different account, the request will fail with an HTTP `403 (Access
7342
- # Denied)` error.
7799
+ # a different account, the request fails with the HTTP status code `403
7800
+ # Forbidden` (access denied).
7343
7801
  #
7344
7802
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7345
7803
  #
@@ -7487,6 +7945,7 @@ module Aws::S3
7487
7945
  # resp.uploads[0].owner.id #=> String
7488
7946
  # resp.uploads[0].initiator.id #=> String
7489
7947
  # resp.uploads[0].initiator.display_name #=> String
7948
+ # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
7490
7949
  # resp.common_prefixes #=> Array
7491
7950
  # resp.common_prefixes[0].prefix #=> String
7492
7951
  # resp.encoding_type #=> String, one of "url"
@@ -7577,8 +8036,8 @@ module Aws::S3
7577
8036
  #
7578
8037
  # @option params [String] :expected_bucket_owner
7579
8038
  # The account ID of the expected bucket owner. If the bucket is owned by
7580
- # a different account, the request will fail with an HTTP `403 (Access
7581
- # Denied)` error.
8039
+ # a different account, the request fails with the HTTP status code `403
8040
+ # Forbidden` (access denied).
7582
8041
  #
7583
8042
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7584
8043
  #
@@ -7664,6 +8123,8 @@ module Aws::S3
7664
8123
  # resp.next_version_id_marker #=> String
7665
8124
  # resp.versions #=> Array
7666
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"
7667
8128
  # resp.versions[0].size #=> Integer
7668
8129
  # resp.versions[0].storage_class #=> String, one of "STANDARD"
7669
8130
  # resp.versions[0].key #=> String
@@ -7739,12 +8200,12 @@ module Aws::S3
7739
8200
  #
7740
8201
  # When using this action with Amazon S3 on Outposts, you must direct
7741
8202
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7742
- # takes the form
7743
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7744
- # 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
7745
8206
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7746
8207
  # bucket name. For more information about S3 on Outposts ARNs, see
7747
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8208
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7748
8209
  #
7749
8210
  #
7750
8211
  #
@@ -7782,8 +8243,8 @@ module Aws::S3
7782
8243
  #
7783
8244
  # @option params [String] :expected_bucket_owner
7784
8245
  # The account ID of the expected bucket owner. If the bucket is owned by
7785
- # a different account, the request will fail with an HTTP `403 (Access
7786
- # Denied)` error.
8246
+ # a different account, the request fails with the HTTP status code `403
8247
+ # Forbidden` (access denied).
7787
8248
  #
7788
8249
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7789
8250
  #
@@ -7861,6 +8322,8 @@ module Aws::S3
7861
8322
  # resp.contents[0].key #=> String
7862
8323
  # resp.contents[0].last_modified #=> Time
7863
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"
7864
8327
  # resp.contents[0].size #=> Integer
7865
8328
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
7866
8329
  # resp.contents[0].owner.display_name #=> String
@@ -7939,12 +8402,12 @@ module Aws::S3
7939
8402
  #
7940
8403
  # When using this action with Amazon S3 on Outposts, you must direct
7941
8404
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7942
- # takes the form
7943
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7944
- # 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
7945
8408
  # Services SDKs, you provide the Outposts bucket ARN in place of the
7946
8409
  # bucket name. For more information about S3 on Outposts ARNs, see
7947
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8410
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7948
8411
  #
7949
8412
  #
7950
8413
  #
@@ -7987,8 +8450,8 @@ module Aws::S3
7987
8450
  #
7988
8451
  # @option params [String] :expected_bucket_owner
7989
8452
  # The account ID of the expected bucket owner. If the bucket is owned by
7990
- # a different account, the request will fail with an HTTP `403 (Access
7991
- # Denied)` error.
8453
+ # a different account, the request fails with the HTTP status code `403
8454
+ # Forbidden` (access denied).
7992
8455
  #
7993
8456
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7994
8457
  #
@@ -8066,6 +8529,8 @@ module Aws::S3
8066
8529
  # resp.contents[0].key #=> String
8067
8530
  # resp.contents[0].last_modified #=> Time
8068
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"
8069
8534
  # resp.contents[0].size #=> Integer
8070
8535
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
8071
8536
  # resp.contents[0].owner.display_name #=> String
@@ -8104,6 +8569,10 @@ module Aws::S3
8104
8569
  # query string parameter and set its value to the `NextPartNumberMarker`
8105
8570
  # field value from the previous response.
8106
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
+ #
8107
8576
  # For more information on multipart uploads, see [Uploading Objects
8108
8577
  # Using Multipart Upload][2].
8109
8578
  #
@@ -8120,7 +8589,9 @@ module Aws::S3
8120
8589
  #
8121
8590
  # * [AbortMultipartUpload][6]
8122
8591
  #
8123
- # * [ListMultipartUploads][7]
8592
+ # * [GetObjectAttributes][7]
8593
+ #
8594
+ # * [ListMultipartUploads][8]
8124
8595
  #
8125
8596
  #
8126
8597
  #
@@ -8130,7 +8601,8 @@ module Aws::S3
8130
8601
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
8131
8602
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
8132
8603
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
8133
- # [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
8134
8606
  #
8135
8607
  # @option params [required, String] :bucket
8136
8608
  # The name of the bucket to which the parts are being uploaded.
@@ -8145,12 +8617,12 @@ module Aws::S3
8145
8617
  #
8146
8618
  # When using this action with Amazon S3 on Outposts, you must direct
8147
8619
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8148
- # takes the form
8149
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8150
- # 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
8151
8623
  # Services SDKs, you provide the Outposts bucket ARN in place of the
8152
8624
  # bucket name. For more information about S3 on Outposts ARNs, see
8153
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
8625
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8154
8626
  #
8155
8627
  #
8156
8628
  #
@@ -8174,8 +8646,8 @@ module Aws::S3
8174
8646
  # @option params [String] :request_payer
8175
8647
  # Confirms that the requester knows that they will be charged for the
8176
8648
  # request. Bucket owners need not specify this parameter in their
8177
- # requests. For information about downloading objects from requester
8178
- # 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]
8179
8651
  # in the *Amazon S3 User Guide*.
8180
8652
  #
8181
8653
  #
@@ -8184,8 +8656,38 @@ module Aws::S3
8184
8656
  #
8185
8657
  # @option params [String] :expected_bucket_owner
8186
8658
  # The account ID of the expected bucket owner. If the bucket is owned by
8187
- # a different account, the request will fail with an HTTP `403 (Access
8188
- # 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
8189
8691
  #
8190
8692
  # @return [Types::ListPartsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8191
8693
  #
@@ -8203,6 +8705,7 @@ module Aws::S3
8203
8705
  # * {Types::ListPartsOutput#owner #owner} => Types::Owner
8204
8706
  # * {Types::ListPartsOutput#storage_class #storage_class} => String
8205
8707
  # * {Types::ListPartsOutput#request_charged #request_charged} => String
8708
+ # * {Types::ListPartsOutput#checksum_algorithm #checksum_algorithm} => String
8206
8709
  #
8207
8710
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8208
8711
  #
@@ -8254,6 +8757,9 @@ module Aws::S3
8254
8757
  # upload_id: "MultipartUploadId", # required
8255
8758
  # request_payer: "requester", # accepts requester
8256
8759
  # expected_bucket_owner: "AccountId",
8760
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
8761
+ # sse_customer_key: "SSECustomerKey",
8762
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
8257
8763
  # })
8258
8764
  #
8259
8765
  # @example Response structure
@@ -8272,12 +8778,17 @@ module Aws::S3
8272
8778
  # resp.parts[0].last_modified #=> Time
8273
8779
  # resp.parts[0].etag #=> String
8274
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
8275
8785
  # resp.initiator.id #=> String
8276
8786
  # resp.initiator.display_name #=> String
8277
8787
  # resp.owner.display_name #=> String
8278
8788
  # resp.owner.id #=> String
8279
8789
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
8280
8790
  # resp.request_charged #=> String, one of "requester"
8791
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
8281
8792
  #
8282
8793
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
8283
8794
  #
@@ -8293,7 +8804,7 @@ module Aws::S3
8293
8804
  # perform faster data transfers to Amazon S3.
8294
8805
  #
8295
8806
  # To use this operation, you must have permission to perform the
8296
- # s3:PutAccelerateConfiguration action. The bucket owner has this
8807
+ # `s3:PutAccelerateConfiguration` action. The bucket owner has this
8297
8808
  # permission by default. The bucket owner can grant this permission to
8298
8809
  # others. For more information about permissions, see [Permissions
8299
8810
  # Related to Bucket Subresource Operations][1] and [Managing Access
@@ -8342,8 +8853,24 @@ module Aws::S3
8342
8853
  #
8343
8854
  # @option params [String] :expected_bucket_owner
8344
8855
  # The account ID of the expected bucket owner. If the bucket is owned by
8345
- # a different account, the request will fail with an HTTP `403 (Access
8346
- # 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
8347
8874
  #
8348
8875
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8349
8876
  #
@@ -8355,6 +8882,7 @@ module Aws::S3
8355
8882
  # status: "Enabled", # accepts Enabled, Suspended
8356
8883
  # },
8357
8884
  # expected_bucket_owner: "AccountId",
8885
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8358
8886
  # })
8359
8887
  #
8360
8888
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -8557,6 +9085,22 @@ module Aws::S3
8557
9085
  #
8558
9086
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
8559
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
+ #
8560
9104
  # @option params [String] :grant_full_control
8561
9105
  # Allows grantee the read, write, read ACP, and write ACP permissions on
8562
9106
  # the bucket.
@@ -8578,8 +9122,8 @@ module Aws::S3
8578
9122
  #
8579
9123
  # @option params [String] :expected_bucket_owner
8580
9124
  # The account ID of the expected bucket owner. If the bucket is owned by
8581
- # a different account, the request will fail with an HTTP `403 (Access
8582
- # Denied)` error.
9125
+ # a different account, the request fails with the HTTP status code `403
9126
+ # Forbidden` (access denied).
8583
9127
  #
8584
9128
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8585
9129
  #
@@ -8620,6 +9164,7 @@ module Aws::S3
8620
9164
  # },
8621
9165
  # bucket: "BucketName", # required
8622
9166
  # content_md5: "ContentMD5",
9167
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8623
9168
  # grant_full_control: "GrantFullControl",
8624
9169
  # grant_read: "GrantRead",
8625
9170
  # grant_read_acp: "GrantReadACP",
@@ -8716,8 +9261,8 @@ module Aws::S3
8716
9261
  #
8717
9262
  # @option params [String] :expected_bucket_owner
8718
9263
  # The account ID of the expected bucket owner. If the bucket is owned by
8719
- # a different account, the request will fail with an HTTP `403 (Access
8720
- # Denied)` error.
9264
+ # a different account, the request fails with the HTTP status code `403
9265
+ # Forbidden` (access denied).
8721
9266
  #
8722
9267
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8723
9268
  #
@@ -8848,10 +9393,26 @@ module Aws::S3
8848
9393
  #
8849
9394
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
8850
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
+ #
8851
9412
  # @option params [String] :expected_bucket_owner
8852
9413
  # The account ID of the expected bucket owner. If the bucket is owned by
8853
- # a different account, the request will fail with an HTTP `403 (Access
8854
- # Denied)` error.
9414
+ # a different account, the request fails with the HTTP status code `403
9415
+ # Forbidden` (access denied).
8855
9416
  #
8856
9417
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8857
9418
  #
@@ -8916,6 +9477,7 @@ module Aws::S3
8916
9477
  # ],
8917
9478
  # },
8918
9479
  # content_md5: "ContentMD5",
9480
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
8919
9481
  # expected_bucket_owner: "AccountId",
8920
9482
  # })
8921
9483
  #
@@ -8934,8 +9496,11 @@ module Aws::S3
8934
9496
  # Default encryption for a bucket can use server-side encryption with
8935
9497
  # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
8936
9498
  # you specify default encryption using SSE-KMS, you can also configure
8937
- # Amazon S3 Bucket Key. For information about default encryption, see
8938
- # [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
8939
9504
  # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
8940
9505
  # Bucket Keys][2] in the *Amazon S3 User Guide*.
8941
9506
  #
@@ -8986,13 +9551,29 @@ module Aws::S3
8986
9551
  # (CLI) or Amazon Web Services SDKs, this field is calculated
8987
9552
  # automatically.
8988
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
+ #
8989
9570
  # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
8990
9571
  # Specifies the default server-side-encryption configuration.
8991
9572
  #
8992
9573
  # @option params [String] :expected_bucket_owner
8993
9574
  # The account ID of the expected bucket owner. If the bucket is owned by
8994
- # a different account, the request will fail with an HTTP `403 (Access
8995
- # Denied)` error.
9575
+ # a different account, the request fails with the HTTP status code `403
9576
+ # Forbidden` (access denied).
8996
9577
  #
8997
9578
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8998
9579
  #
@@ -9001,6 +9582,7 @@ module Aws::S3
9001
9582
  # resp = client.put_bucket_encryption({
9002
9583
  # bucket: "BucketName", # required
9003
9584
  # content_md5: "ContentMD5",
9585
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9004
9586
  # server_side_encryption_configuration: { # required
9005
9587
  # rules: [ # required
9006
9588
  # {
@@ -9229,8 +9811,8 @@ module Aws::S3
9229
9811
  #
9230
9812
  # @option params [String] :expected_bucket_owner
9231
9813
  # The account ID of the expected bucket owner. If the bucket is owned by
9232
- # a different account, the request will fail with an HTTP `403 (Access
9233
- # Denied)` error.
9814
+ # a different account, the request fails with the HTTP status code `403
9815
+ # Forbidden` (access denied).
9234
9816
  #
9235
9817
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9236
9818
  #
@@ -9261,7 +9843,7 @@ module Aws::S3
9261
9843
  # },
9262
9844
  # id: "InventoryId", # required
9263
9845
  # included_object_versions: "All", # required, accepts All, Current
9264
- # 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
9265
9847
  # schedule: { # required
9266
9848
  # frequency: "Daily", # required, accepts Daily, Weekly
9267
9849
  # },
@@ -9351,12 +9933,28 @@ module Aws::S3
9351
9933
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9352
9934
  # automatically.
9353
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
+ #
9354
9952
  # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
9355
9953
  #
9356
9954
  # @option params [String] :expected_bucket_owner
9357
9955
  # The account ID of the expected bucket owner. If the bucket is owned by
9358
- # a different account, the request will fail with an HTTP `403 (Access
9359
- # Denied)` error.
9956
+ # a different account, the request fails with the HTTP status code `403
9957
+ # Forbidden` (access denied).
9360
9958
  #
9361
9959
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9362
9960
  #
@@ -9365,6 +9963,7 @@ module Aws::S3
9365
9963
  # resp = client.put_bucket_lifecycle({
9366
9964
  # bucket: "BucketName", # required
9367
9965
  # content_md5: "ContentMD5",
9966
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9368
9967
  # lifecycle_configuration: {
9369
9968
  # rules: [ # required
9370
9969
  # {
@@ -9409,7 +10008,10 @@ module Aws::S3
9409
10008
  end
9410
10009
 
9411
10010
  # Creates a new lifecycle configuration for the bucket or replaces an
9412
- # 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
9413
10015
  # configuration, see [Managing your storage lifecycle][1].
9414
10016
  #
9415
10017
  # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
@@ -9453,18 +10055,18 @@ module Aws::S3
9453
10055
  # (that is, the Amazon Web Services account that created it) can access
9454
10056
  # the resource. The resource owner can optionally grant access
9455
10057
  # permissions to others by writing an access policy. For this operation,
9456
- # a user must get the s3:PutLifecycleConfiguration permission.
10058
+ # a user must get the `s3:PutLifecycleConfiguration` permission.
9457
10059
  #
9458
10060
  # You can also explicitly deny permissions. Explicit deny also
9459
10061
  # supersedes any other permissions. If you want to block users or
9460
10062
  # accounts from removing or deleting objects from your bucket, you must
9461
10063
  # deny them permissions for the following actions:
9462
10064
  #
9463
- # * s3:DeleteObject
10065
+ # * `s3:DeleteObject`
9464
10066
  #
9465
- # * s3:DeleteObjectVersion
10067
+ # * `s3:DeleteObjectVersion`
9466
10068
  #
9467
- # * s3:PutLifecycleConfiguration
10069
+ # * `s3:PutLifecycleConfiguration`
9468
10070
  #
9469
10071
  # For more information about permissions, see [Managing Access
9470
10072
  # Permissions to Your Amazon S3 Resources][5].
@@ -9491,13 +10093,29 @@ module Aws::S3
9491
10093
  # @option params [required, String] :bucket
9492
10094
  # The name of the bucket for which to set the configuration.
9493
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
+ #
9494
10112
  # @option params [Types::BucketLifecycleConfiguration] :lifecycle_configuration
9495
10113
  # Container for lifecycle rules. You can add as many as 1,000 rules.
9496
10114
  #
9497
10115
  # @option params [String] :expected_bucket_owner
9498
10116
  # The account ID of the expected bucket owner. If the bucket is owned by
9499
- # a different account, the request will fail with an HTTP `403 (Access
9500
- # Denied)` error.
10117
+ # a different account, the request fails with the HTTP status code `403
10118
+ # Forbidden` (access denied).
9501
10119
  #
9502
10120
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9503
10121
  #
@@ -9534,6 +10152,7 @@ module Aws::S3
9534
10152
  #
9535
10153
  # resp = client.put_bucket_lifecycle_configuration({
9536
10154
  # bucket: "BucketName", # required
10155
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9537
10156
  # lifecycle_configuration: {
9538
10157
  # rules: [ # required
9539
10158
  # {
@@ -9689,10 +10308,26 @@ module Aws::S3
9689
10308
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9690
10309
  # automatically.
9691
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
+ #
9692
10327
  # @option params [String] :expected_bucket_owner
9693
10328
  # The account ID of the expected bucket owner. If the bucket is owned by
9694
- # a different account, the request will fail with an HTTP `403 (Access
9695
- # Denied)` error.
10329
+ # a different account, the request fails with the HTTP status code `403
10330
+ # Forbidden` (access denied).
9696
10331
  #
9697
10332
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9698
10333
  #
@@ -9744,6 +10379,7 @@ module Aws::S3
9744
10379
  # },
9745
10380
  # },
9746
10381
  # content_md5: "ContentMD5",
10382
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9747
10383
  # expected_bucket_owner: "AccountId",
9748
10384
  # })
9749
10385
  #
@@ -9811,8 +10447,8 @@ module Aws::S3
9811
10447
  #
9812
10448
  # @option params [String] :expected_bucket_owner
9813
10449
  # The account ID of the expected bucket owner. If the bucket is owned by
9814
- # a different account, the request will fail with an HTTP `403 (Access
9815
- # Denied)` error.
10450
+ # a different account, the request fails with the HTTP status code `403
10451
+ # Forbidden` (access denied).
9816
10452
  #
9817
10453
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9818
10454
  #
@@ -9871,13 +10507,29 @@ module Aws::S3
9871
10507
  # (CLI) or Amazon Web Services SDKs, this field is calculated
9872
10508
  # automatically.
9873
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
+ #
9874
10526
  # @option params [required, Types::NotificationConfigurationDeprecated] :notification_configuration
9875
10527
  # The container for the configuration.
9876
10528
  #
9877
10529
  # @option params [String] :expected_bucket_owner
9878
10530
  # The account ID of the expected bucket owner. If the bucket is owned by
9879
- # a different account, the request will fail with an HTTP `403 (Access
9880
- # Denied)` error.
10531
+ # a different account, the request fails with the HTTP status code `403
10532
+ # Forbidden` (access denied).
9881
10533
  #
9882
10534
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9883
10535
  #
@@ -9886,6 +10538,7 @@ module Aws::S3
9886
10538
  # resp = client.put_bucket_notification({
9887
10539
  # bucket: "BucketName", # required
9888
10540
  # content_md5: "ContentMD5",
10541
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
9889
10542
  # notification_configuration: { # required
9890
10543
  # topic_configuration: {
9891
10544
  # id: "NotificationId",
@@ -9952,6 +10605,10 @@ module Aws::S3
9952
10605
  # You can disable notifications by adding the empty
9953
10606
  # NotificationConfiguration element.
9954
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
+ #
9955
10612
  # By default, only the bucket owner can configure notifications on a
9956
10613
  # bucket. However, bucket owners can use a bucket policy to grant
9957
10614
  # permission to other users to set this configuration with
@@ -9977,14 +10634,15 @@ module Aws::S3
9977
10634
  # The following action is related to
9978
10635
  # `PutBucketNotificationConfiguration`\:
9979
10636
  #
9980
- # * [GetBucketNotificationConfiguration][2]
10637
+ # * [GetBucketNotificationConfiguration][3]
9981
10638
  #
9982
10639
  # ^
9983
10640
  #
9984
10641
  #
9985
10642
  #
9986
10643
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
9987
- # [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
9988
10646
  #
9989
10647
  # @option params [required, String] :bucket
9990
10648
  # The name of the bucket.
@@ -9996,8 +10654,8 @@ module Aws::S3
9996
10654
  #
9997
10655
  # @option params [String] :expected_bucket_owner
9998
10656
  # The account ID of the expected bucket owner. If the bucket is owned by
9999
- # a different account, the request will fail with an HTTP `403 (Access
10000
- # Denied)` error.
10657
+ # a different account, the request fails with the HTTP status code `403
10658
+ # Forbidden` (access denied).
10001
10659
  #
10002
10660
  # @option params [Boolean] :skip_destination_validation
10003
10661
  # Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
@@ -10128,8 +10786,8 @@ module Aws::S3
10128
10786
  #
10129
10787
  # @option params [String] :expected_bucket_owner
10130
10788
  # The account ID of the expected bucket owner. If the bucket is owned by
10131
- # a different account, the request will fail with an HTTP `403 (Access
10132
- # Denied)` error.
10789
+ # a different account, the request fails with the HTTP status code `403
10790
+ # Forbidden` (access denied).
10133
10791
  #
10134
10792
  # @option params [required, Types::OwnershipControls] :ownership_controls
10135
10793
  # The `OwnershipControls` (BucketOwnerEnforced, BucketOwnerPreferred, or
@@ -10201,6 +10859,22 @@ module Aws::S3
10201
10859
  # (CLI) or Amazon Web Services SDKs, this field is calculated
10202
10860
  # automatically.
10203
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
+ #
10204
10878
  # @option params [Boolean] :confirm_remove_self_bucket_access
10205
10879
  # Set this parameter to true to confirm that you want to remove your
10206
10880
  # permissions to change this bucket policy in the future.
@@ -10210,8 +10884,8 @@ module Aws::S3
10210
10884
  #
10211
10885
  # @option params [String] :expected_bucket_owner
10212
10886
  # The account ID of the expected bucket owner. If the bucket is owned by
10213
- # a different account, the request will fail with an HTTP `403 (Access
10214
- # Denied)` error.
10887
+ # a different account, the request fails with the HTTP status code `403
10888
+ # Forbidden` (access denied).
10215
10889
  #
10216
10890
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10217
10891
  #
@@ -10230,6 +10904,7 @@ module Aws::S3
10230
10904
  # resp = client.put_bucket_policy({
10231
10905
  # bucket: "BucketName", # required
10232
10906
  # content_md5: "ContentMD5",
10907
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10233
10908
  # confirm_remove_self_bucket_access: false,
10234
10909
  # policy: "Policy", # required
10235
10910
  # expected_bucket_owner: "AccountId",
@@ -10340,6 +11015,22 @@ module Aws::S3
10340
11015
  #
10341
11016
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10342
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
+ #
10343
11034
  # @option params [required, Types::ReplicationConfiguration] :replication_configuration
10344
11035
  # A container for replication rules. You can add up to 1,000 rules. The
10345
11036
  # maximum size of a replication configuration is 2 MB.
@@ -10349,8 +11040,8 @@ module Aws::S3
10349
11040
  #
10350
11041
  # @option params [String] :expected_bucket_owner
10351
11042
  # The account ID of the expected bucket owner. If the bucket is owned by
10352
- # a different account, the request will fail with an HTTP `403 (Access
10353
- # Denied)` error.
11043
+ # a different account, the request fails with the HTTP status code `403
11044
+ # Forbidden` (access denied).
10354
11045
  #
10355
11046
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10356
11047
  #
@@ -10381,6 +11072,7 @@ module Aws::S3
10381
11072
  # resp = client.put_bucket_replication({
10382
11073
  # bucket: "BucketName", # required
10383
11074
  # content_md5: "ContentMD5",
11075
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10384
11076
  # replication_configuration: { # required
10385
11077
  # role: "Role", # required
10386
11078
  # rules: [ # required
@@ -10492,13 +11184,29 @@ module Aws::S3
10492
11184
  #
10493
11185
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10494
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
+ #
10495
11203
  # @option params [required, Types::RequestPaymentConfiguration] :request_payment_configuration
10496
11204
  # Container for Payer.
10497
11205
  #
10498
11206
  # @option params [String] :expected_bucket_owner
10499
11207
  # The account ID of the expected bucket owner. If the bucket is owned by
10500
- # a different account, the request will fail with an HTTP `403 (Access
10501
- # Denied)` error.
11208
+ # a different account, the request fails with the HTTP status code `403
11209
+ # Forbidden` (access denied).
10502
11210
  #
10503
11211
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10504
11212
  #
@@ -10519,6 +11227,7 @@ module Aws::S3
10519
11227
  # resp = client.put_bucket_request_payment({
10520
11228
  # bucket: "BucketName", # required
10521
11229
  # content_md5: "ContentMD5",
11230
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10522
11231
  # request_payment_configuration: { # required
10523
11232
  # payer: "Requester", # required, accepts Requester, BucketOwner
10524
11233
  # },
@@ -10625,13 +11334,29 @@ module Aws::S3
10625
11334
  #
10626
11335
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10627
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
+ #
10628
11353
  # @option params [required, Types::Tagging] :tagging
10629
11354
  # Container for the `TagSet` and `Tag` elements.
10630
11355
  #
10631
11356
  # @option params [String] :expected_bucket_owner
10632
11357
  # The account ID of the expected bucket owner. If the bucket is owned by
10633
- # a different account, the request will fail with an HTTP `403 (Access
10634
- # Denied)` error.
11358
+ # a different account, the request fails with the HTTP status code `403
11359
+ # Forbidden` (access denied).
10635
11360
  #
10636
11361
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10637
11362
  #
@@ -10661,6 +11386,7 @@ module Aws::S3
10661
11386
  # resp = client.put_bucket_tagging({
10662
11387
  # bucket: "BucketName", # required
10663
11388
  # content_md5: "ContentMD5",
11389
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10664
11390
  # tagging: { # required
10665
11391
  # tag_set: [ # required
10666
11392
  # {
@@ -10681,8 +11407,7 @@ module Aws::S3
10681
11407
  req.send_request(options)
10682
11408
  end
10683
11409
 
10684
- # Sets the versioning state of an existing bucket. To set the versioning
10685
- # state, you must be the bucket owner.
11410
+ # Sets the versioning state of an existing bucket.
10686
11411
  #
10687
11412
  # You can set the versioning state with one of the following values:
10688
11413
  #
@@ -10696,8 +11421,9 @@ module Aws::S3
10696
11421
  # versioning state; a [GetBucketVersioning][1] request does not return a
10697
11422
  # versioning state value.
10698
11423
  #
10699
- # If the bucket owner enables MFA Delete in the bucket versioning
10700
- # 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`
10701
11427
  # header and the `Status` and the `MfaDelete` request elements in a
10702
11428
  # request to set the versioning state of the bucket.
10703
11429
  #
@@ -10742,6 +11468,22 @@ module Aws::S3
10742
11468
  #
10743
11469
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10744
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
+ #
10745
11487
  # @option params [String] :mfa
10746
11488
  # The concatenation of the authentication device's serial number, a
10747
11489
  # space, and the value that is displayed on your authentication device.
@@ -10751,8 +11493,8 @@ module Aws::S3
10751
11493
  #
10752
11494
  # @option params [String] :expected_bucket_owner
10753
11495
  # The account ID of the expected bucket owner. If the bucket is owned by
10754
- # a different account, the request will fail with an HTTP `403 (Access
10755
- # Denied)` error.
11496
+ # a different account, the request fails with the HTTP status code `403
11497
+ # Forbidden` (access denied).
10756
11498
  #
10757
11499
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10758
11500
  #
@@ -10774,6 +11516,7 @@ module Aws::S3
10774
11516
  # resp = client.put_bucket_versioning({
10775
11517
  # bucket: "BucketName", # required
10776
11518
  # content_md5: "ContentMD5",
11519
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10777
11520
  # mfa: "MFA",
10778
11521
  # versioning_configuration: { # required
10779
11522
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -10880,13 +11623,29 @@ module Aws::S3
10880
11623
  #
10881
11624
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
10882
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
+ #
10883
11642
  # @option params [required, Types::WebsiteConfiguration] :website_configuration
10884
11643
  # Container for the request.
10885
11644
  #
10886
11645
  # @option params [String] :expected_bucket_owner
10887
11646
  # The account ID of the expected bucket owner. If the bucket is owned by
10888
- # a different account, the request will fail with an HTTP `403 (Access
10889
- # Denied)` error.
11647
+ # a different account, the request fails with the HTTP status code `403
11648
+ # Forbidden` (access denied).
10890
11649
  #
10891
11650
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10892
11651
  #
@@ -10913,6 +11672,7 @@ module Aws::S3
10913
11672
  # resp = client.put_bucket_website({
10914
11673
  # bucket: "BucketName", # required
10915
11674
  # content_md5: "ContentMD5",
11675
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
10916
11676
  # website_configuration: { # required
10917
11677
  # error_document: {
10918
11678
  # key: "ObjectKey", # required
@@ -11095,12 +11855,12 @@ module Aws::S3
11095
11855
  #
11096
11856
  # When using this action with Amazon S3 on Outposts, you must direct
11097
11857
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11098
- # takes the form
11099
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11100
- # 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
11101
11861
  # Services SDKs, you provide the Outposts bucket ARN in place of the
11102
11862
  # bucket name. For more information about S3 on Outposts ARNs, see
11103
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
11863
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
11104
11864
  #
11105
11865
  #
11106
11866
  #
@@ -11169,6 +11929,66 @@ module Aws::S3
11169
11929
  #
11170
11930
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
11171
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
+ #
11172
11992
  # @option params [Time,DateTime,Date,Integer,String] :expires
11173
11993
  # The date and time at which the object is no longer cacheable. For more
11174
11994
  # information, see
@@ -11291,8 +12111,8 @@ module Aws::S3
11291
12111
  # @option params [String] :request_payer
11292
12112
  # Confirms that the requester knows that they will be charged for the
11293
12113
  # request. Bucket owners need not specify this parameter in their
11294
- # requests. For information about downloading objects from requester
11295
- # 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]
11296
12116
  # in the *Amazon S3 User Guide*.
11297
12117
  #
11298
12118
  #
@@ -11320,13 +12140,17 @@ module Aws::S3
11320
12140
  #
11321
12141
  # @option params [String] :expected_bucket_owner
11322
12142
  # The account ID of the expected bucket owner. If the bucket is owned by
11323
- # a different account, the request will fail with an HTTP `403 (Access
11324
- # Denied)` error.
12143
+ # a different account, the request fails with the HTTP status code `403
12144
+ # Forbidden` (access denied).
11325
12145
  #
11326
12146
  # @return [Types::PutObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11327
12147
  #
11328
12148
  # * {Types::PutObjectOutput#expiration #expiration} => String
11329
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
11330
12154
  # * {Types::PutObjectOutput#server_side_encryption #server_side_encryption} => String
11331
12155
  # * {Types::PutObjectOutput#version_id #version_id} => String
11332
12156
  # * {Types::PutObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -11337,24 +12161,22 @@ module Aws::S3
11337
12161
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11338
12162
  #
11339
12163
  #
11340
- # @example Example: To upload an object (specify optional headers)
12164
+ # @example Example: To upload an object and specify optional tags
11341
12165
  #
11342
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11343
- # # 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.
11344
12168
  #
11345
12169
  # resp = client.put_object({
11346
- # body: "HappyFace.jpg",
12170
+ # body: "c:\\HappyFace.jpg",
11347
12171
  # bucket: "examplebucket",
11348
12172
  # key: "HappyFace.jpg",
11349
- # server_side_encryption: "AES256",
11350
- # storage_class: "STANDARD_IA",
12173
+ # tagging: "key1=value1&key2=value2",
11351
12174
  # })
11352
12175
  #
11353
12176
  # resp.to_h outputs the following:
11354
12177
  # {
11355
12178
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11356
- # server_side_encryption: "AES256",
11357
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12179
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11358
12180
  # }
11359
12181
  #
11360
12182
  # @example Example: To upload an object and specify canned ACL.
@@ -11375,96 +12197,98 @@ module Aws::S3
11375
12197
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11376
12198
  # }
11377
12199
  #
11378
- # @example Example: To upload an object
12200
+ # @example Example: To upload an object and specify server-side encryption and object tags
11379
12201
  #
11380
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11381
- # # syntax. S3 returns VersionId of the newly created object.
12202
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
12203
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11382
12204
  #
11383
12205
  # resp = client.put_object({
11384
- # body: "HappyFace.jpg",
12206
+ # body: "filetoupload",
11385
12207
  # bucket: "examplebucket",
11386
- # key: "HappyFace.jpg",
12208
+ # key: "exampleobject",
12209
+ # server_side_encryption: "AES256",
12210
+ # tagging: "key1=value1&key2=value2",
11387
12211
  # })
11388
12212
  #
11389
12213
  # resp.to_h outputs the following:
11390
12214
  # {
11391
12215
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11392
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12216
+ # server_side_encryption: "AES256",
12217
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11393
12218
  # }
11394
12219
  #
11395
- # @example Example: To upload an object and specify optional tags
12220
+ # @example Example: To create an object.
11396
12221
  #
11397
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11398
- # # S3 returns version ID of the newly created object.
12222
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11399
12223
  #
11400
12224
  # resp = client.put_object({
11401
- # body: "c:\\HappyFace.jpg",
12225
+ # body: "filetoupload",
11402
12226
  # bucket: "examplebucket",
11403
- # key: "HappyFace.jpg",
11404
- # tagging: "key1=value1&key2=value2",
12227
+ # key: "objectkey",
11405
12228
  # })
11406
12229
  #
11407
12230
  # resp.to_h outputs the following:
11408
12231
  # {
11409
12232
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11410
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12233
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11411
12234
  # }
11412
12235
  #
11413
- # @example Example: To upload object and specify user-defined metadata
12236
+ # @example Example: To upload an object
11414
12237
  #
11415
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11416
- # # 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.
11417
12240
  #
11418
12241
  # resp = client.put_object({
11419
- # body: "filetoupload",
12242
+ # body: "HappyFace.jpg",
11420
12243
  # bucket: "examplebucket",
11421
- # key: "exampleobject",
11422
- # metadata: {
11423
- # "metadata1" => "value1",
11424
- # "metadata2" => "value2",
11425
- # },
12244
+ # key: "HappyFace.jpg",
11426
12245
  # })
11427
12246
  #
11428
12247
  # resp.to_h outputs the following:
11429
12248
  # {
11430
12249
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11431
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12250
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11432
12251
  # }
11433
12252
  #
11434
- # @example Example: To upload an object and specify server-side encryption and object tags
12253
+ # @example Example: To upload an object (specify optional headers)
11435
12254
  #
11436
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11437
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12255
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12256
+ # # storage class and use server-side encryption.
11438
12257
  #
11439
12258
  # resp = client.put_object({
11440
- # body: "filetoupload",
12259
+ # body: "HappyFace.jpg",
11441
12260
  # bucket: "examplebucket",
11442
- # key: "exampleobject",
12261
+ # key: "HappyFace.jpg",
11443
12262
  # server_side_encryption: "AES256",
11444
- # tagging: "key1=value1&key2=value2",
12263
+ # storage_class: "STANDARD_IA",
11445
12264
  # })
11446
12265
  #
11447
12266
  # resp.to_h outputs the following:
11448
12267
  # {
11449
12268
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11450
12269
  # server_side_encryption: "AES256",
11451
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12270
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11452
12271
  # }
11453
12272
  #
11454
- # @example Example: To create an object.
12273
+ # @example Example: To upload object and specify user-defined metadata
11455
12274
  #
11456
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
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
12279
  # body: "filetoupload",
11460
12280
  # bucket: "examplebucket",
11461
- # key: "objectkey",
12281
+ # key: "exampleobject",
12282
+ # metadata: {
12283
+ # "metadata1" => "value1",
12284
+ # "metadata2" => "value2",
12285
+ # },
11462
12286
  # })
11463
12287
  #
11464
12288
  # resp.to_h outputs the following:
11465
12289
  # {
11466
12290
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11467
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12291
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11468
12292
  # }
11469
12293
  #
11470
12294
  # @example Streaming a file from disk
@@ -11486,6 +12310,11 @@ module Aws::S3
11486
12310
  # content_length: 1,
11487
12311
  # content_md5: "ContentMD5",
11488
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",
11489
12318
  # expires: Time.now,
11490
12319
  # grant_full_control: "GrantFullControl",
11491
12320
  # grant_read: "GrantRead",
@@ -11516,6 +12345,10 @@ module Aws::S3
11516
12345
  #
11517
12346
  # resp.expiration #=> String
11518
12347
  # resp.etag #=> String
12348
+ # resp.checksum_crc32 #=> String
12349
+ # resp.checksum_crc32c #=> String
12350
+ # resp.checksum_sha1 #=> String
12351
+ # resp.checksum_sha256 #=> String
11519
12352
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
11520
12353
  # resp.version_id #=> String
11521
12354
  # resp.sse_customer_algorithm #=> String
@@ -11739,6 +12572,22 @@ module Aws::S3
11739
12572
  #
11740
12573
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
11741
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
+ #
11742
12591
  # @option params [String] :grant_full_control
11743
12592
  # Allows grantee the read, write, read ACP, and write ACP permissions on
11744
12593
  # the bucket.
@@ -11779,12 +12628,12 @@ module Aws::S3
11779
12628
  #
11780
12629
  # When using this action with Amazon S3 on Outposts, you must direct
11781
12630
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11782
- # takes the form
11783
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11784
- # 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
11785
12634
  # Services SDKs, you provide the Outposts bucket ARN in place of the
11786
12635
  # bucket name. For more information about S3 on Outposts ARNs, see
11787
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
12636
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
11788
12637
  #
11789
12638
  #
11790
12639
  #
@@ -11794,8 +12643,8 @@ module Aws::S3
11794
12643
  # @option params [String] :request_payer
11795
12644
  # Confirms that the requester knows that they will be charged for the
11796
12645
  # request. Bucket owners need not specify this parameter in their
11797
- # requests. For information about downloading objects from requester
11798
- # 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]
11799
12648
  # in the *Amazon S3 User Guide*.
11800
12649
  #
11801
12650
  #
@@ -11807,8 +12656,8 @@ module Aws::S3
11807
12656
  #
11808
12657
  # @option params [String] :expected_bucket_owner
11809
12658
  # The account ID of the expected bucket owner. If the bucket is owned by
11810
- # a different account, the request will fail with an HTTP `403 (Access
11811
- # Denied)` error.
12659
+ # a different account, the request fails with the HTTP status code `403
12660
+ # Forbidden` (access denied).
11812
12661
  #
11813
12662
  # @return [Types::PutObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11814
12663
  #
@@ -11857,6 +12706,7 @@ module Aws::S3
11857
12706
  # },
11858
12707
  # bucket: "BucketName", # required
11859
12708
  # content_md5: "ContentMD5",
12709
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
11860
12710
  # grant_full_control: "GrantFullControl",
11861
12711
  # grant_read: "GrantRead",
11862
12712
  # grant_read_acp: "GrantReadACP",
@@ -11881,7 +12731,7 @@ module Aws::S3
11881
12731
  req.send_request(options)
11882
12732
  end
11883
12733
 
11884
- # Applies a Legal Hold configuration to the specified object. For more
12734
+ # Applies a legal hold configuration to the specified object. For more
11885
12735
  # information, see [Locking Objects][1].
11886
12736
  #
11887
12737
  # This action is not supported by Amazon S3 on Outposts.
@@ -11891,8 +12741,8 @@ module Aws::S3
11891
12741
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
11892
12742
  #
11893
12743
  # @option params [required, String] :bucket
11894
- # The bucket name containing the object that you want to place a Legal
11895
- # Hold on.
12744
+ # The bucket name containing the object that you want to place a legal
12745
+ # hold on.
11896
12746
  #
11897
12747
  # When using this action with an access point, you must direct requests
11898
12748
  # to the access point hostname. The access point hostname takes the form
@@ -11907,17 +12757,17 @@ module Aws::S3
11907
12757
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
11908
12758
  #
11909
12759
  # @option params [required, String] :key
11910
- # 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.
11911
12761
  #
11912
12762
  # @option params [Types::ObjectLockLegalHold] :legal_hold
11913
- # Container element for the Legal Hold configuration you want to apply
12763
+ # Container element for the legal hold configuration you want to apply
11914
12764
  # to the specified object.
11915
12765
  #
11916
12766
  # @option params [String] :request_payer
11917
12767
  # Confirms that the requester knows that they will be charged for the
11918
12768
  # request. Bucket owners need not specify this parameter in their
11919
- # requests. For information about downloading objects from requester
11920
- # 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]
11921
12771
  # in the *Amazon S3 User Guide*.
11922
12772
  #
11923
12773
  #
@@ -11925,7 +12775,7 @@ module Aws::S3
11925
12775
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11926
12776
  #
11927
12777
  # @option params [String] :version_id
11928
- # 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.
11929
12779
  #
11930
12780
  # @option params [String] :content_md5
11931
12781
  # The MD5 hash for the request body.
@@ -11934,10 +12784,26 @@ module Aws::S3
11934
12784
  # (CLI) or Amazon Web Services SDKs, this field is calculated
11935
12785
  # automatically.
11936
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
+ #
11937
12803
  # @option params [String] :expected_bucket_owner
11938
12804
  # The account ID of the expected bucket owner. If the bucket is owned by
11939
- # a different account, the request will fail with an HTTP `403 (Access
11940
- # Denied)` error.
12805
+ # a different account, the request fails with the HTTP status code `403
12806
+ # Forbidden` (access denied).
11941
12807
  #
11942
12808
  # @return [Types::PutObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11943
12809
  #
@@ -11954,6 +12820,7 @@ module Aws::S3
11954
12820
  # request_payer: "requester", # accepts requester
11955
12821
  # version_id: "ObjectVersionId",
11956
12822
  # content_md5: "ContentMD5",
12823
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
11957
12824
  # expected_bucket_owner: "AccountId",
11958
12825
  # })
11959
12826
  #
@@ -12002,8 +12869,8 @@ module Aws::S3
12002
12869
  # @option params [String] :request_payer
12003
12870
  # Confirms that the requester knows that they will be charged for the
12004
12871
  # request. Bucket owners need not specify this parameter in their
12005
- # requests. For information about downloading objects from requester
12006
- # 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]
12007
12874
  # in the *Amazon S3 User Guide*.
12008
12875
  #
12009
12876
  #
@@ -12020,10 +12887,26 @@ module Aws::S3
12020
12887
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12021
12888
  # automatically.
12022
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
+ #
12023
12906
  # @option params [String] :expected_bucket_owner
12024
12907
  # The account ID of the expected bucket owner. If the bucket is owned by
12025
- # a different account, the request will fail with an HTTP `403 (Access
12026
- # Denied)` error.
12908
+ # a different account, the request fails with the HTTP status code `403
12909
+ # Forbidden` (access denied).
12027
12910
  #
12028
12911
  # @return [Types::PutObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12029
12912
  #
@@ -12046,6 +12929,7 @@ module Aws::S3
12046
12929
  # request_payer: "requester", # accepts requester
12047
12930
  # token: "ObjectLockToken",
12048
12931
  # content_md5: "ContentMD5",
12932
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12049
12933
  # expected_bucket_owner: "AccountId",
12050
12934
  # })
12051
12935
  #
@@ -12070,13 +12954,6 @@ module Aws::S3
12070
12954
  #
12071
12955
  # This action is not supported by Amazon S3 on Outposts.
12072
12956
  #
12073
- # **Permissions**
12074
- #
12075
- # When the Object Lock retention mode is set to compliance, you need
12076
- # `s3:PutObjectRetention` and `s3:BypassGovernanceRetention`
12077
- # permissions. For other requests to `PutObjectRetention`, only
12078
- # `s3:PutObjectRetention` permissions are required.
12079
- #
12080
12957
  #
12081
12958
  #
12082
12959
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -12107,8 +12984,8 @@ module Aws::S3
12107
12984
  # @option params [String] :request_payer
12108
12985
  # Confirms that the requester knows that they will be charged for the
12109
12986
  # request. Bucket owners need not specify this parameter in their
12110
- # requests. For information about downloading objects from requester
12111
- # 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]
12112
12989
  # in the *Amazon S3 User Guide*.
12113
12990
  #
12114
12991
  #
@@ -12130,10 +13007,26 @@ module Aws::S3
12130
13007
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12131
13008
  # automatically.
12132
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
+ #
12133
13026
  # @option params [String] :expected_bucket_owner
12134
13027
  # The account ID of the expected bucket owner. If the bucket is owned by
12135
- # a different account, the request will fail with an HTTP `403 (Access
12136
- # Denied)` error.
13028
+ # a different account, the request fails with the HTTP status code `403
13029
+ # Forbidden` (access denied).
12137
13030
  #
12138
13031
  # @return [Types::PutObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12139
13032
  #
@@ -12152,6 +13045,7 @@ module Aws::S3
12152
13045
  # version_id: "ObjectVersionId",
12153
13046
  # bypass_governance_retention: false,
12154
13047
  # content_md5: "ContentMD5",
13048
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12155
13049
  # expected_bucket_owner: "AccountId",
12156
13050
  # })
12157
13051
  #
@@ -12238,12 +13132,12 @@ module Aws::S3
12238
13132
  #
12239
13133
  # When using this action with Amazon S3 on Outposts, you must direct
12240
13134
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12241
- # takes the form
12242
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12243
- # 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
12244
13138
  # Services SDKs, you provide the Outposts bucket ARN in place of the
12245
13139
  # bucket name. For more information about S3 on Outposts ARNs, see
12246
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
13140
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12247
13141
  #
12248
13142
  #
12249
13143
  #
@@ -12263,19 +13157,35 @@ module Aws::S3
12263
13157
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12264
13158
  # automatically.
12265
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
+ #
12266
13176
  # @option params [required, Types::Tagging] :tagging
12267
13177
  # Container for the `TagSet` and `Tag` elements
12268
13178
  #
12269
13179
  # @option params [String] :expected_bucket_owner
12270
13180
  # The account ID of the expected bucket owner. If the bucket is owned by
12271
- # a different account, the request will fail with an HTTP `403 (Access
12272
- # Denied)` error.
13181
+ # a different account, the request fails with the HTTP status code `403
13182
+ # Forbidden` (access denied).
12273
13183
  #
12274
13184
  # @option params [String] :request_payer
12275
13185
  # Confirms that the requester knows that they will be charged for the
12276
13186
  # request. Bucket owners need not specify this parameter in their
12277
- # requests. For information about downloading objects from requester
12278
- # 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]
12279
13189
  # in the *Amazon S3 User Guide*.
12280
13190
  #
12281
13191
  #
@@ -12320,6 +13230,7 @@ module Aws::S3
12320
13230
  # key: "ObjectKey", # required
12321
13231
  # version_id: "ObjectVersionId",
12322
13232
  # content_md5: "ContentMD5",
13233
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12323
13234
  # tagging: { # required
12324
13235
  # tag_set: [ # required
12325
13236
  # {
@@ -12391,6 +13302,22 @@ module Aws::S3
12391
13302
  # (CLI) or Amazon Web Services SDKs, this field is calculated
12392
13303
  # automatically.
12393
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
+ #
12394
13321
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
12395
13322
  # The `PublicAccessBlock` configuration that you want to apply to this
12396
13323
  # Amazon S3 bucket. You can enable the configuration options in any
@@ -12404,8 +13331,8 @@ module Aws::S3
12404
13331
  #
12405
13332
  # @option params [String] :expected_bucket_owner
12406
13333
  # The account ID of the expected bucket owner. If the bucket is owned by
12407
- # a different account, the request will fail with an HTTP `403 (Access
12408
- # Denied)` error.
13334
+ # a different account, the request fails with the HTTP status code `403
13335
+ # Forbidden` (access denied).
12409
13336
  #
12410
13337
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
12411
13338
  #
@@ -12414,6 +13341,7 @@ module Aws::S3
12414
13341
  # resp = client.put_public_access_block({
12415
13342
  # bucket: "BucketName", # required
12416
13343
  # content_md5: "ContentMD5",
13344
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12417
13345
  # public_access_block_configuration: { # required
12418
13346
  # block_public_acls: false,
12419
13347
  # ignore_public_acls: false,
@@ -12550,36 +13478,35 @@ module Aws::S3
12550
13478
  # specify one of the following data access tier options in the `Tier`
12551
13479
  # element of the request body:
12552
13480
  #
12553
- # * <b> <code>Expedited</code> </b> - Expedited retrievals allow you to
12554
- # quickly access your data stored in the S3 Glacier storage class or
12555
- # S3 Intelligent-Tiering Archive tier when occasional urgent requests
12556
- # for a subset of archives are required. For all but the largest
12557
- # archived objects (250 MB+), data accessed using Expedited retrievals
12558
- # 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
12559
13487
  # ensures that retrieval capacity for Expedited retrievals is
12560
13488
  # available when you need it. Expedited retrievals and provisioned
12561
13489
  # capacity are not available for objects stored in the S3 Glacier Deep
12562
13490
  # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
12563
13491
  #
12564
- # * <b> <code>Standard</code> </b> - Standard retrievals allow you to
12565
- # access any of your archived objects within several hours. This is
12566
- # the default option for retrieval requests that do not specify the
12567
- # 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
12568
13505
  # hours for objects stored in the S3 Glacier storage class or S3
12569
- # Intelligent-Tiering Archive tier. They typically finish within 12
13506
+ # Intelligent-Tiering Archive tier. They typically finish within 48
12570
13507
  # hours for objects stored in the S3 Glacier Deep Archive storage
12571
- # class or S3 Intelligent-Tiering Deep Archive tier. Standard
12572
- # retrievals are free for objects stored in S3 Intelligent-Tiering.
12573
- #
12574
- # * <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost
12575
- # retrieval option in S3 Glacier, enabling you to retrieve large
12576
- # amounts, even petabytes, of data inexpensively. Bulk retrievals
12577
- # typically finish within 5–12 hours for objects stored in the S3
12578
- # Glacier storage class or S3 Intelligent-Tiering Archive tier. They
12579
- # typically finish within 48 hours for objects stored in the S3
12580
- # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
12581
- # Archive tier. Bulk retrievals are free for objects stored in S3
12582
- # Intelligent-Tiering.
13508
+ # class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals
13509
+ # are free for objects stored in S3 Intelligent-Tiering.
12583
13510
  #
12584
13511
  # For more information about archive retrieval options and provisioned
12585
13512
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -12684,12 +13611,12 @@ module Aws::S3
12684
13611
  #
12685
13612
  # When using this action with Amazon S3 on Outposts, you must direct
12686
13613
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12687
- # takes the form
12688
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12689
- # 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
12690
13617
  # Services SDKs, you provide the Outposts bucket ARN in place of the
12691
13618
  # bucket name. For more information about S3 on Outposts ARNs, see
12692
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
13619
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12693
13620
  #
12694
13621
  #
12695
13622
  #
@@ -12708,18 +13635,34 @@ module Aws::S3
12708
13635
  # @option params [String] :request_payer
12709
13636
  # Confirms that the requester knows that they will be charged for the
12710
13637
  # request. Bucket owners need not specify this parameter in their
12711
- # requests. For information about downloading objects from requester
12712
- # 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]
12713
13640
  # in the *Amazon S3 User Guide*.
12714
13641
  #
12715
13642
  #
12716
13643
  #
12717
13644
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12718
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
+ #
12719
13662
  # @option params [String] :expected_bucket_owner
12720
13663
  # The account ID of the expected bucket owner. If the bucket is owned by
12721
- # a different account, the request will fail with an HTTP `403 (Access
12722
- # Denied)` error.
13664
+ # a different account, the request fails with the HTTP status code `403
13665
+ # Forbidden` (access denied).
12723
13666
  #
12724
13667
  # @return [Types::RestoreObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12725
13668
  #
@@ -12834,6 +13777,7 @@ module Aws::S3
12834
13777
  # },
12835
13778
  # },
12836
13779
  # request_payer: "requester", # accepts requester
13780
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
12837
13781
  # expected_bucket_owner: "AccountId",
12838
13782
  # })
12839
13783
  #
@@ -12862,10 +13806,11 @@ module Aws::S3
12862
13806
  # This action is not supported by Amazon S3 on Outposts.
12863
13807
  #
12864
13808
  # For more information about Amazon S3 Select, see [Selecting Content
12865
- # from Objects][1] in the *Amazon S3 User Guide*.
13809
+ # from Objects][1] and [SELECT Command][2] in the *Amazon S3 User
13810
+ # Guide*.
12866
13811
  #
12867
13812
  # For more information about using SQL with Amazon S3 Select, see [ SQL
12868
- # Reference for Amazon S3 Select and S3 Glacier Select][2] in the
13813
+ # Reference for Amazon S3 Select and S3 Glacier Select][3] in the
12869
13814
  # *Amazon S3 User Guide*.
12870
13815
  #
12871
13816
  #
@@ -12874,7 +13819,7 @@ module Aws::S3
12874
13819
  #
12875
13820
  # You must have `s3:GetObject` permission for this operation. Amazon S3
12876
13821
  # Select does not support anonymous access. For more information about
12877
- # permissions, see [Specifying Permissions in a Policy][3] in the
13822
+ # permissions, see [Specifying Permissions in a Policy][4] in the
12878
13823
  # *Amazon S3 User Guide*.
12879
13824
  #
12880
13825
  #
@@ -12901,70 +13846,71 @@ module Aws::S3
12901
13846
  #
12902
13847
  # For objects that are encrypted with customer-provided encryption
12903
13848
  # keys (SSE-C), you must use HTTPS, and you must use the headers that
12904
- # are documented in the [GetObject][4]. For more information about
13849
+ # are documented in the [GetObject][5]. For more information about
12905
13850
  # SSE-C, see [Server-Side Encryption (Using Customer-Provided
12906
- # Encryption Keys)][5] in the *Amazon S3 User Guide*.
13851
+ # Encryption Keys)][6] in the *Amazon S3 User Guide*.
12907
13852
  #
12908
13853
  # For objects that are encrypted with Amazon S3 managed encryption
12909
13854
  # keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
12910
13855
  # server-side encryption is handled transparently, so you don't need
12911
13856
  # to specify anything. For more information about server-side
12912
13857
  # encryption, including SSE-S3 and SSE-KMS, see [Protecting Data Using
12913
- # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
13858
+ # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
12914
13859
  #
12915
13860
  # **Working with the Response Body**
12916
13861
  #
12917
13862
  # Given the response size is unknown, Amazon S3 Select streams the
12918
13863
  # response as a series of messages and includes a `Transfer-Encoding`
12919
13864
  # header with `chunked` as its value in the response. For more
12920
- # information, see [Appendix: SelectObjectContent Response][7].
13865
+ # information, see [Appendix: SelectObjectContent Response][8].
12921
13866
  #
12922
13867
  #
12923
13868
  #
12924
13869
  # **GetObject Support**
12925
13870
  #
12926
13871
  # The `SelectObjectContent` action does not support the following
12927
- # `GetObject` functionality. For more information, see [GetObject][4].
13872
+ # `GetObject` functionality. For more information, see [GetObject][5].
12928
13873
  #
12929
13874
  # * `Range`\: Although you can specify a scan range for an Amazon S3
12930
- # Select request (see [SelectObjectContentRequest - ScanRange][8] in
13875
+ # Select request (see [SelectObjectContentRequest - ScanRange][9] in
12931
13876
  # the request parameters), you cannot specify the range of bytes of an
12932
13877
  # object to return.
12933
13878
  #
12934
13879
  # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes: You
12935
13880
  # cannot specify the GLACIER, DEEP\_ARCHIVE, or `REDUCED_REDUNDANCY`
12936
13881
  # storage classes. For more information, about storage classes see
12937
- # [Storage Classes][9] in the *Amazon S3 User Guide*.
13882
+ # [Storage Classes][10] in the *Amazon S3 User Guide*.
12938
13883
  #
12939
13884
  #
12940
13885
  #
12941
13886
  # **Special Errors**
12942
13887
  #
12943
13888
  # For a list of special errors for this operation, see [List of SELECT
12944
- # Object Content Error Codes][10]
13889
+ # Object Content Error Codes][11]
12945
13890
  #
12946
13891
  # **Related Resources**
12947
13892
  #
12948
- # * [GetObject][4]
13893
+ # * [GetObject][5]
12949
13894
  #
12950
- # * [GetBucketLifecycleConfiguration][11]
13895
+ # * [GetBucketLifecycleConfiguration][12]
12951
13896
  #
12952
- # * [PutBucketLifecycleConfiguration][12]
13897
+ # * [PutBucketLifecycleConfiguration][13]
12953
13898
  #
12954
13899
  #
12955
13900
  #
12956
13901
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
12957
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
12958
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
12959
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
12960
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12961
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
12962
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
12963
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
12964
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
12965
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
12966
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
12967
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13902
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
13903
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
13904
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
13905
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
13906
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
13907
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13908
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
13909
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
13910
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
13911
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
13912
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
13913
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
12968
13914
  #
12969
13915
  # @option params [required, String] :bucket
12970
13916
  # The S3 bucket.
@@ -12973,25 +13919,30 @@ module Aws::S3
12973
13919
  # The object key.
12974
13920
  #
12975
13921
  # @option params [String] :sse_customer_algorithm
12976
- # The SSE Algorithm used to encrypt the object. For more information,
12977
- # see [Server-Side Encryption (Using Customer-Provided Encryption
12978
- # 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*.
12979
13926
  #
12980
13927
  #
12981
13928
  #
12982
13929
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12983
13930
  #
12984
13931
  # @option params [String] :sse_customer_key
12985
- # The SSE Customer Key. For more information, see [Server-Side
12986
- # 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*.
12987
13936
  #
12988
13937
  #
12989
13938
  #
12990
13939
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
12991
13940
  #
12992
13941
  # @option params [String] :sse_customer_key_md5
12993
- # The SSE Customer Key MD5. For more information, see [Server-Side
12994
- # 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*.
12995
13946
  #
12996
13947
  #
12997
13948
  #
@@ -13034,8 +13985,8 @@ module Aws::S3
13034
13985
  #
13035
13986
  # @option params [String] :expected_bucket_owner
13036
13987
  # The account ID of the expected bucket owner. If the bucket is owned by
13037
- # a different account, the request will fail with an HTTP `403 (Access
13038
- # Denied)` error.
13988
+ # a different account, the request fails with the HTTP status code `403
13989
+ # Forbidden` (access denied).
13039
13990
  #
13040
13991
  # @return [Types::SelectObjectContentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13041
13992
  #
@@ -13388,12 +14339,12 @@ module Aws::S3
13388
14339
  #
13389
14340
  # When using this action with Amazon S3 on Outposts, you must direct
13390
14341
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13391
- # takes the form
13392
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13393
- # 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
13394
14345
  # Services SDKs, you provide the Outposts bucket ARN in place of the
13395
14346
  # bucket name. For more information about S3 on Outposts ARNs, see
13396
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
14347
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13397
14348
  #
13398
14349
  #
13399
14350
  #
@@ -13409,6 +14360,69 @@ module Aws::S3
13409
14360
  # is auto-populated when using the command from the CLI. This parameter
13410
14361
  # is required if object lock parameters are specified.
13411
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
+ #
13412
14426
  # @option params [required, String] :key
13413
14427
  # Object key for which the multipart upload was initiated.
13414
14428
  #
@@ -13441,8 +14455,8 @@ module Aws::S3
13441
14455
  # @option params [String] :request_payer
13442
14456
  # Confirms that the requester knows that they will be charged for the
13443
14457
  # request. Bucket owners need not specify this parameter in their
13444
- # requests. For information about downloading objects from requester
13445
- # 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]
13446
14460
  # in the *Amazon S3 User Guide*.
13447
14461
  #
13448
14462
  #
@@ -13451,13 +14465,17 @@ module Aws::S3
13451
14465
  #
13452
14466
  # @option params [String] :expected_bucket_owner
13453
14467
  # The account ID of the expected bucket owner. If the bucket is owned by
13454
- # a different account, the request will fail with an HTTP `403 (Access
13455
- # Denied)` error.
14468
+ # a different account, the request fails with the HTTP status code `403
14469
+ # Forbidden` (access denied).
13456
14470
  #
13457
14471
  # @return [Types::UploadPartOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13458
14472
  #
13459
14473
  # * {Types::UploadPartOutput#server_side_encryption #server_side_encryption} => String
13460
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
13461
14479
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
13462
14480
  # * {Types::UploadPartOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
13463
14481
  # * {Types::UploadPartOutput#ssekms_key_id #ssekms_key_id} => String
@@ -13490,6 +14508,11 @@ module Aws::S3
13490
14508
  # bucket: "BucketName", # required
13491
14509
  # content_length: 1,
13492
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",
13493
14516
  # key: "ObjectKey", # required
13494
14517
  # part_number: 1, # required
13495
14518
  # upload_id: "MultipartUploadId", # required
@@ -13504,6 +14527,10 @@ module Aws::S3
13504
14527
  #
13505
14528
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
13506
14529
  # resp.etag #=> String
14530
+ # resp.checksum_crc32 #=> String
14531
+ # resp.checksum_crc32c #=> String
14532
+ # resp.checksum_sha1 #=> String
14533
+ # resp.checksum_sha256 #=> String
13507
14534
  # resp.sse_customer_algorithm #=> String
13508
14535
  # resp.sse_customer_key_md5 #=> String
13509
14536
  # resp.ssekms_key_id #=> String
@@ -13549,12 +14576,12 @@ module Aws::S3
13549
14576
  # S3 User Guide*.
13550
14577
  #
13551
14578
  # * For information about copying objects using a single atomic action
13552
- # vs. the multipart upload, see [Operations on Objects][5] in the
14579
+ # vs. a multipart upload, see [Operations on Objects][5] in the
13553
14580
  # *Amazon S3 User Guide*.
13554
14581
  #
13555
14582
  # * For information about using server-side encryption with
13556
- # customer-provided encryption keys with the UploadPartCopy operation,
13557
- # see [CopyObject][6] and [UploadPart][2].
14583
+ # customer-provided encryption keys with the `UploadPartCopy`
14584
+ # operation, see [CopyObject][6] and [UploadPart][2].
13558
14585
  #
13559
14586
  # Note the following additional considerations about the request headers
13560
14587
  # `x-amz-copy-source-if-match`, `x-amz-copy-source-if-none-match`,
@@ -13662,12 +14689,12 @@ module Aws::S3
13662
14689
  #
13663
14690
  # When using this action with Amazon S3 on Outposts, you must direct
13664
14691
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13665
- # takes the form
13666
- # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13667
- # 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
13668
14695
  # Services SDKs, you provide the Outposts bucket ARN in place of the
13669
14696
  # bucket name. For more information about S3 on Outposts ARNs, see
13670
- # [Using S3 on Outposts][2] in the *Amazon S3 User Guide*.
14697
+ # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13671
14698
  #
13672
14699
  #
13673
14700
  #
@@ -13683,8 +14710,8 @@ module Aws::S3
13683
14710
  # of the source bucket and key of the source object, separated by a
13684
14711
  # slash (/). For example, to copy the object `reports/january.pdf`
13685
14712
  # from the bucket `awsexamplebucket`, use
13686
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
13687
- # encoded.
14713
+ # `awsexamplebucket/reports/january.pdf`. The value must be
14714
+ # URL-encoded.
13688
14715
  #
13689
14716
  # * For objects accessed through access points, specify the Amazon
13690
14717
  # Resource Name (ARN) of the object as accessed through the access
@@ -13709,7 +14736,7 @@ module Aws::S3
13709
14736
  # outpost `my-outpost` owned by account `123456789012` in Region
13710
14737
  # `us-west-2`, use the URL encoding of
13711
14738
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
13712
- # The value must be URL encoded.
14739
+ # The value must be URL-encoded.
13713
14740
  #
13714
14741
  # To copy a specific version of an object, append
13715
14742
  # `?versionId=<version-id>` to the value (for example,
@@ -13787,8 +14814,8 @@ module Aws::S3
13787
14814
  # @option params [String] :request_payer
13788
14815
  # Confirms that the requester knows that they will be charged for the
13789
14816
  # request. Bucket owners need not specify this parameter in their
13790
- # requests. For information about downloading objects from requester
13791
- # 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]
13792
14819
  # in the *Amazon S3 User Guide*.
13793
14820
  #
13794
14821
  #
@@ -13797,13 +14824,13 @@ module Aws::S3
13797
14824
  #
13798
14825
  # @option params [String] :expected_bucket_owner
13799
14826
  # The account ID of the expected destination bucket owner. If the
13800
- # destination bucket is owned by a different account, the request will
13801
- # 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).
13802
14829
  #
13803
14830
  # @option params [String] :expected_source_bucket_owner
13804
14831
  # The account ID of the expected source bucket owner. If the source
13805
- # bucket is owned by a different account, the request will fail with an
13806
- # 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).
13807
14834
  #
13808
14835
  # @return [Types::UploadPartCopyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13809
14836
  #
@@ -13888,6 +14915,10 @@ module Aws::S3
13888
14915
  # resp.copy_source_version_id #=> String
13889
14916
  # resp.copy_part_result.etag #=> String
13890
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
13891
14922
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
13892
14923
  # resp.sse_customer_algorithm #=> String
13893
14924
  # resp.sse_customer_key_md5 #=> String
@@ -13977,41 +15008,41 @@ module Aws::S3
13977
15008
  #
13978
15009
  # **Status Codes**
13979
15010
  #
13980
- # * *200 - OK*
15011
+ # * `200 - OK`
13981
15012
  #
13982
- # * *206 - Partial Content*
15013
+ # * `206 - Partial Content`
13983
15014
  #
13984
- # * *304 - Not Modified*
15015
+ # * `304 - Not Modified`
13985
15016
  #
13986
- # * *400 - Bad Request*
15017
+ # * `400 - Bad Request`
13987
15018
  #
13988
- # * *401 - Unauthorized*
15019
+ # * `401 - Unauthorized`
13989
15020
  #
13990
- # * *403 - Forbidden*
15021
+ # * `403 - Forbidden`
13991
15022
  #
13992
- # * *404 - Not Found*
15023
+ # * `404 - Not Found`
13993
15024
  #
13994
- # * *405 - Method Not Allowed*
15025
+ # * `405 - Method Not Allowed`
13995
15026
  #
13996
- # * *409 - Conflict*
15027
+ # * `409 - Conflict`
13997
15028
  #
13998
- # * *411 - Length Required*
15029
+ # * `411 - Length Required`
13999
15030
  #
14000
- # * *412 - Precondition Failed*
15031
+ # * `412 - Precondition Failed`
14001
15032
  #
14002
- # * *416 - Range Not Satisfiable*
15033
+ # * `416 - Range Not Satisfiable`
14003
15034
  #
14004
- # * *500 - Internal Server Error*
15035
+ # * `500 - Internal Server Error`
14005
15036
  #
14006
- # * *503 - Service Unavailable*
15037
+ # * `503 - Service Unavailable`
14007
15038
  #
14008
15039
  # @option params [String] :error_code
14009
15040
  # A string that uniquely identifies an error condition. Returned in the
14010
15041
  # &lt;Code&gt; tag of the error XML response for a corresponding
14011
15042
  # `GetObject` call. Cannot be used with a successful `StatusCode` header
14012
15043
  # or when the transformed object is provided in the body. All error
14013
- # codes from S3 are sentence-cased. Regex value is
14014
- # "^\[A-Z\]\[a-zA-Z\]+$".
15044
+ # codes from S3 are sentence-cased. The regular expression (regex) value
15045
+ # is `"^[A-Z][a-zA-Z]+$"`.
14015
15046
  #
14016
15047
  # @option params [String] :error_message
14017
15048
  # Contains a generic description of the error condition. Returned in the
@@ -14045,6 +15076,80 @@ module Aws::S3
14045
15076
  # @option params [String] :content_type
14046
15077
  # A standard MIME type describing the format of the object data.
14047
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
+ #
14048
15153
  # @option params [Boolean] :delete_marker
14049
15154
  # Specifies whether an object stored in Amazon S3 is (`true`) or is not
14050
15155
  # (`false`) a delete marker.
@@ -14057,10 +15162,10 @@ module Aws::S3
14057
15162
  # The date and time at which the object is no longer cacheable.
14058
15163
  #
14059
15164
  # @option params [String] :expiration
14060
- # If object stored in Amazon S3 expiration is configured (see PUT Bucket
14061
- # lifecycle) it includes expiry-date and rule-id key-value pairs
14062
- # providing object expiration information. The value of the rule-id is
14063
- # 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.
14064
15169
  #
14065
15170
  # @option params [Time,DateTime,Date,Integer,String] :last_modified
14066
15171
  # The date and time that the object was last modified.
@@ -14136,7 +15241,15 @@ module Aws::S3
14136
15241
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
14137
15242
  #
14138
15243
  # @option params [String] :storage_class
14139
- # 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
14140
15253
  #
14141
15254
  # @option params [Integer] :tag_count
14142
15255
  # The number of tags, if any, on the object.
@@ -14167,6 +15280,10 @@ module Aws::S3
14167
15280
  # content_length: 1,
14168
15281
  # content_range: "ContentRange",
14169
15282
  # content_type: "ContentType",
15283
+ # checksum_crc32: "ChecksumCRC32",
15284
+ # checksum_crc32c: "ChecksumCRC32C",
15285
+ # checksum_sha1: "ChecksumSHA1",
15286
+ # checksum_sha256: "ChecksumSHA256",
14170
15287
  # delete_marker: false,
14171
15288
  # etag: "ETag",
14172
15289
  # expires: Time.now,
@@ -14215,7 +15332,7 @@ module Aws::S3
14215
15332
  params: params,
14216
15333
  config: config)
14217
15334
  context[:gem_name] = 'aws-sdk-s3'
14218
- context[:gem_version] = '1.109.0'
15335
+ context[:gem_version] = '1.113.0'
14219
15336
  Seahorse::Client::Request.new(handlers, context)
14220
15337
  end
14221
15338