aws-sdk-s3 1.109.0 → 1.113.0

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