aws-sdk-s3 1.88.1 → 1.105.1

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +833 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/arn/access_point_arn.rb +14 -11
  6. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +68 -0
  7. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +69 -0
  8. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +9 -10
  9. data/lib/aws-sdk-s3/bucket.rb +30 -29
  10. data/lib/aws-sdk-s3/bucket_acl.rb +9 -6
  11. data/lib/aws-sdk-s3/bucket_cors.rb +8 -7
  12. data/lib/aws-sdk-s3/bucket_lifecycle.rb +6 -5
  13. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +3 -3
  14. data/lib/aws-sdk-s3/bucket_logging.rb +6 -6
  15. data/lib/aws-sdk-s3/bucket_notification.rb +4 -4
  16. data/lib/aws-sdk-s3/bucket_policy.rb +6 -5
  17. data/lib/aws-sdk-s3/bucket_request_payment.rb +8 -8
  18. data/lib/aws-sdk-s3/bucket_tagging.rb +6 -5
  19. data/lib/aws-sdk-s3/bucket_versioning.rb +13 -10
  20. data/lib/aws-sdk-s3/bucket_website.rb +6 -5
  21. data/lib/aws-sdk-s3/client.rb +1823 -1323
  22. data/lib/aws-sdk-s3/client_api.rb +65 -1
  23. data/lib/aws-sdk-s3/customizations/bucket.rb +8 -3
  24. data/lib/aws-sdk-s3/customizations/object.rb +41 -16
  25. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  26. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  29. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  30. data/lib/aws-sdk-s3/errors.rb +1 -1
  31. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  32. data/lib/aws-sdk-s3/file_downloader.rb +6 -1
  33. data/lib/aws-sdk-s3/file_uploader.rb +3 -3
  34. data/lib/aws-sdk-s3/multipart_upload.rb +7 -7
  35. data/lib/aws-sdk-s3/multipart_upload_part.rb +9 -8
  36. data/lib/aws-sdk-s3/object.rb +164 -75
  37. data/lib/aws-sdk-s3/object_acl.rb +10 -7
  38. data/lib/aws-sdk-s3/object_summary.rb +75 -71
  39. data/lib/aws-sdk-s3/object_version.rb +18 -17
  40. data/lib/aws-sdk-s3/plugins/accelerate.rb +7 -1
  41. data/lib/aws-sdk-s3/plugins/arn.rb +91 -42
  42. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  43. data/lib/aws-sdk-s3/plugins/dualstack.rb +25 -31
  44. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  45. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +11 -10
  46. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +25 -0
  47. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -5
  48. data/lib/aws-sdk-s3/presigner.rb +19 -5
  49. data/lib/aws-sdk-s3/resource.rb +5 -3
  50. data/lib/aws-sdk-s3/types.rb +1397 -845
  51. data/lib/aws-sdk-s3/waiters.rb +1 -1
  52. data/lib/aws-sdk-s3.rb +2 -2
  53. metadata +17 -12
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -73,7 +73,7 @@ module Aws::S3
73
73
  # If an archive copy is already restored, the header value indicates
74
74
  # when Amazon S3 is scheduled to delete the object copy. For example:
75
75
  #
76
- # `x-amz-restore: ongoing-request="false", expiry-date="Fri, 23 Dec 2012
76
+ # `x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012
77
77
  # 00:00:00 GMT"`
78
78
  #
79
79
  # If the object restoration is in progress, the header returns the value
@@ -97,7 +97,7 @@ module Aws::S3
97
97
  data[:archive_status]
98
98
  end
99
99
 
100
- # Last modified date of the object
100
+ # Creation date of the object.
101
101
  # @return [Time]
102
102
  def last_modified
103
103
  data[:last_modified]
@@ -184,10 +184,10 @@ module Aws::S3
184
184
  end
185
185
 
186
186
  # If the object is stored using server-side encryption either with an
187
- # AWS KMS customer master key (CMK) or an Amazon S3-managed encryption
188
- # key, the response includes this header with the value of the
189
- # server-side encryption algorithm used when storing this object in
190
- # Amazon S3 (for example, AES256, aws:kms).
187
+ # Amazon Web Services KMS key or an Amazon S3-managed encryption key,
188
+ # the response includes this header with the value of the server-side
189
+ # encryption algorithm used when storing this object in Amazon S3 (for
190
+ # example, AES256, aws:kms).
191
191
  # @return [String]
192
192
  def server_side_encryption
193
193
  data[:server_side_encryption]
@@ -216,16 +216,16 @@ module Aws::S3
216
216
  data[:sse_customer_key_md5]
217
217
  end
218
218
 
219
- # If present, specifies the ID of the AWS Key Management Service (AWS
220
- # KMS) symmetric customer managed customer master key (CMK) that was
221
- # used for the object.
219
+ # If present, specifies the ID of the Amazon Web Services Key Management
220
+ # Service (Amazon Web Services KMS) symmetric customer managed key that
221
+ # was used for the object.
222
222
  # @return [String]
223
223
  def ssekms_key_id
224
224
  data[:ssekms_key_id]
225
225
  end
226
226
 
227
227
  # Indicates whether the object uses an S3 Bucket Key for server-side
228
- # encryption with AWS KMS (SSE-KMS).
228
+ # encryption with Amazon Web Services KMS (SSE-KMS).
229
229
  # @return [Boolean]
230
230
  def bucket_key_enabled
231
231
  data[:bucket_key_enabled]
@@ -611,7 +611,8 @@ module Aws::S3
611
611
  # The value must be URL encoded.
612
612
  #
613
613
  # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
614
- # source and destination buckets are in the same AWS Region.
614
+ # source and destination buckets are in the same Amazon Web Services
615
+ # Region.
615
616
  #
616
617
  # </note>
617
618
  #
@@ -632,7 +633,7 @@ module Aws::S3
632
633
  #
633
634
  #
634
635
  #
635
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
636
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
636
637
  # @option options [String] :copy_source_if_match
637
638
  # Copies the object if its entity tag (ETag) matches the specified tag.
638
639
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
@@ -679,7 +680,7 @@ module Aws::S3
679
680
  # and high availability. Depending on performance needs, you can specify
680
681
  # a different Storage Class. Amazon S3 on Outposts only uses the
681
682
  # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
682
- # in the *Amazon S3 Service Developer Guide*.
683
+ # in the *Amazon S3 User Guide*.
683
684
  #
684
685
  #
685
686
  #
@@ -702,28 +703,29 @@ module Aws::S3
702
703
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
703
704
  # ensure that the encryption key was transmitted without error.
704
705
  # @option options [String] :ssekms_key_id
705
- # Specifies the AWS KMS key ID to use for object encryption. All GET and
706
- # PUT requests for an object protected by AWS KMS will fail if not made
707
- # via SSL or using SigV4. For information about configuring using any of
708
- # the officially supported AWS SDKs and AWS CLI, see [Specifying the
709
- # Signature Version in Request Authentication][1] in the *Amazon S3
710
- # Developer Guide*.
706
+ # Specifies the Amazon Web Services KMS key ID to use for object
707
+ # encryption. All GET and PUT requests for an object protected by Amazon
708
+ # Web Services KMS will fail if not made via SSL or using SigV4. For
709
+ # information about configuring using any of the officially supported
710
+ # Amazon Web Services SDKs and Amazon Web Services CLI, see [Specifying
711
+ # the Signature Version in Request Authentication][1] in the *Amazon S3
712
+ # User Guide*.
711
713
  #
712
714
  #
713
715
  #
714
716
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
715
717
  # @option options [String] :ssekms_encryption_context
716
- # Specifies the AWS KMS Encryption Context to use for object encryption.
717
- # The value of this header is a base64-encoded UTF-8 string holding JSON
718
- # with the encryption context key-value pairs.
718
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
719
+ # object encryption. The value of this header is a base64-encoded UTF-8
720
+ # string holding JSON with the encryption context key-value pairs.
719
721
  # @option options [Boolean] :bucket_key_enabled
720
722
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
721
723
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
722
724
  # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
723
725
  # for object encryption with SSE-KMS.
724
726
  #
725
- # Specifying this header with a COPY operation doesn’t affect
726
- # bucket-level settings for S3 Bucket Key.
727
+ # Specifying this header with a COPY action doesn’t affect bucket-level
728
+ # settings for S3 Bucket Key.
727
729
  # @option options [String] :copy_source_sse_customer_algorithm
728
730
  # Specifies the algorithm to use when decrypting the source object (for
729
731
  # example, AES256).
@@ -740,7 +742,7 @@ module Aws::S3
740
742
  # request. Bucket owners need not specify this parameter in their
741
743
  # requests. For information about downloading objects from requester
742
744
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
743
- # in the *Amazon S3 Developer Guide*.
745
+ # in the *Amazon S3 User Guide*.
744
746
  #
745
747
  #
746
748
  #
@@ -757,11 +759,11 @@ module Aws::S3
757
759
  # @option options [String] :object_lock_legal_hold_status
758
760
  # Specifies whether you want to apply a Legal Hold to the copied object.
759
761
  # @option options [String] :expected_bucket_owner
760
- # The account id of the expected destination bucket owner. If the
762
+ # The account ID of the expected destination bucket owner. If the
761
763
  # destination bucket is owned by a different account, the request will
762
764
  # fail with an HTTP `403 (Access Denied)` error.
763
765
  # @option options [String] :expected_source_bucket_owner
764
- # The account id of the expected source bucket owner. If the source
766
+ # The account ID of the expected source bucket owner. If the source
765
767
  # bucket is owned by a different account, the request will fail with an
766
768
  # HTTP `403 (Access Denied)` error.
767
769
  # @return [Types::CopyObjectOutput]
@@ -796,16 +798,17 @@ module Aws::S3
796
798
  # request. Bucket owners need not specify this parameter in their
797
799
  # requests. For information about downloading objects from requester
798
800
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
799
- # in the *Amazon S3 Developer Guide*.
801
+ # in the *Amazon S3 User Guide*.
800
802
  #
801
803
  #
802
804
  #
803
805
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
804
806
  # @option options [Boolean] :bypass_governance_retention
805
807
  # Indicates whether S3 Object Lock should bypass Governance-mode
806
- # restrictions to process this operation.
808
+ # restrictions to process this operation. To use this header, you must
809
+ # have the `s3:PutBucketPublicAccessBlock` permission.
807
810
  # @option options [String] :expected_bucket_owner
808
- # The account id of the expected bucket owner. If the bucket is owned by
811
+ # The account ID of the expected bucket owner. If the bucket is owned by
809
812
  # a different account, the request will fail with an HTTP `403 (Access
810
813
  # Denied)` error.
811
814
  # @return [Types::DeleteObjectOutput]
@@ -881,13 +884,13 @@ module Aws::S3
881
884
  # @option options [String] :version_id
882
885
  # VersionId used to reference a specific version of the object.
883
886
  # @option options [String] :sse_customer_algorithm
884
- # Specifies the algorithm to use to when encrypting the object (for
887
+ # Specifies the algorithm to use to when decrypting the object (for
885
888
  # example, AES256).
886
889
  # @option options [String] :sse_customer_key
887
- # Specifies the customer-provided encryption key for Amazon S3 to use in
888
- # encrypting data. This value is used to store the object and then it is
889
- # discarded; Amazon S3 does not store the encryption key. The key must
890
- # be appropriate for use with the algorithm specified in the
890
+ # Specifies the customer-provided encryption key for Amazon S3 used to
891
+ # encrypt the data. This value is used to decrypt the object when
892
+ # recovering it and must match the one used when storing the data. The
893
+ # key must be appropriate for use with the algorithm specified in the
891
894
  # `x-amz-server-side-encryption-customer-algorithm` header.
892
895
  # @option options [String] :sse_customer_key_md5
893
896
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -898,7 +901,7 @@ module Aws::S3
898
901
  # request. Bucket owners need not specify this parameter in their
899
902
  # requests. For information about downloading objects from requester
900
903
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
901
- # in the *Amazon S3 Developer Guide*.
904
+ # in the *Amazon S3 User Guide*.
902
905
  #
903
906
  #
904
907
  #
@@ -909,7 +912,7 @@ module Aws::S3
909
912
  # for the part specified. Useful for downloading just a part of an
910
913
  # object.
911
914
  # @option options [String] :expected_bucket_owner
912
- # The account id of the expected bucket owner. If the bucket is owned by
915
+ # The account ID of the expected bucket owner. If the bucket is owned by
913
916
  # a different account, the request will fail with an HTTP `403 (Access
914
917
  # Denied)` error.
915
918
  # @return [Types::GetObjectOutput]
@@ -1002,7 +1005,7 @@ module Aws::S3
1002
1005
  # and high availability. Depending on performance needs, you can specify
1003
1006
  # a different Storage Class. Amazon S3 on Outposts only uses the
1004
1007
  # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
1005
- # in the *Amazon S3 Service Developer Guide*.
1008
+ # in the *Amazon S3 User Guide*.
1006
1009
  #
1007
1010
  #
1008
1011
  #
@@ -1025,34 +1028,35 @@ module Aws::S3
1025
1028
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
1026
1029
  # ensure that the encryption key was transmitted without error.
1027
1030
  # @option options [String] :ssekms_key_id
1028
- # Specifies the ID of the symmetric customer managed AWS KMS CMK to use
1029
- # for object encryption. All GET and PUT requests for an object
1030
- # protected by AWS KMS will fail if not made via SSL or using SigV4. For
1031
- # information about configuring using any of the officially supported
1032
- # AWS SDKs and AWS CLI, see [Specifying the Signature Version in Request
1033
- # Authentication][1] in the *Amazon S3 Developer Guide*.
1031
+ # Specifies the ID of the symmetric customer managed key to use for
1032
+ # object encryption. All GET and PUT requests for an object protected by
1033
+ # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
1034
+ # For information about configuring using any of the officially
1035
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
1036
+ # [Specifying the Signature Version in Request Authentication][1] in the
1037
+ # *Amazon S3 User Guide*.
1034
1038
  #
1035
1039
  #
1036
1040
  #
1037
- # [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
1041
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
1038
1042
  # @option options [String] :ssekms_encryption_context
1039
- # Specifies the AWS KMS Encryption Context to use for object encryption.
1040
- # The value of this header is a base64-encoded UTF-8 string holding JSON
1041
- # with the encryption context key-value pairs.
1043
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
1044
+ # object encryption. The value of this header is a base64-encoded UTF-8
1045
+ # string holding JSON with the encryption context key-value pairs.
1042
1046
  # @option options [Boolean] :bucket_key_enabled
1043
1047
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1044
1048
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
1045
1049
  # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1046
1050
  # for object encryption with SSE-KMS.
1047
1051
  #
1048
- # Specifying this header with an object operation doesn’t affect
1052
+ # Specifying this header with an object action doesn’t affect
1049
1053
  # bucket-level settings for S3 Bucket Key.
1050
1054
  # @option options [String] :request_payer
1051
1055
  # Confirms that the requester knows that they will be charged for the
1052
1056
  # request. Bucket owners need not specify this parameter in their
1053
1057
  # requests. For information about downloading objects from requester
1054
1058
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1055
- # in the *Amazon S3 Developer Guide*.
1059
+ # in the *Amazon S3 User Guide*.
1056
1060
  #
1057
1061
  #
1058
1062
  #
@@ -1069,7 +1073,7 @@ module Aws::S3
1069
1073
  # Specifies whether you want to apply a Legal Hold to the uploaded
1070
1074
  # object.
1071
1075
  # @option options [String] :expected_bucket_owner
1072
- # The account id of the expected bucket owner. If the bucket is owned by
1076
+ # The account ID of the expected bucket owner. If the bucket is owned by
1073
1077
  # a different account, the request will fail with an HTTP `403 (Access
1074
1078
  # Denied)` error.
1075
1079
  # @return [MultipartUpload]
@@ -1226,7 +1230,7 @@ module Aws::S3
1226
1230
  # and high availability. Depending on performance needs, you can specify
1227
1231
  # a different Storage Class. Amazon S3 on Outposts only uses the
1228
1232
  # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
1229
- # in the *Amazon S3 Service Developer Guide*.
1233
+ # in the *Amazon S3 User Guide*.
1230
1234
  #
1231
1235
  #
1232
1236
  #
@@ -1271,34 +1275,32 @@ module Aws::S3
1271
1275
  # ensure that the encryption key was transmitted without error.
1272
1276
  # @option options [String] :ssekms_key_id
1273
1277
  # If `x-amz-server-side-encryption` is present and has the value of
1274
- # `aws:kms`, this header specifies the ID of the AWS Key Management
1275
- # Service (AWS KMS) symmetrical customer managed customer master key
1276
- # (CMK) that was used for the object.
1277
- #
1278
- # If the value of `x-amz-server-side-encryption` is `aws:kms`, this
1279
- # header specifies the ID of the symmetric customer managed AWS KMS CMK
1280
- # that will be used for the object. If you specify
1278
+ # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
1279
+ # Management Service (Amazon Web Services KMS) symmetrical customer
1280
+ # managed key that was used for the object. If you specify
1281
1281
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
1282
- # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the AWS
1283
- # managed CMK in AWS to protect the data.
1282
+ # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
1283
+ # Amazon Web Services managed key to protect the data. If the KMS key
1284
+ # does not exist in the same account issuing the command, you must use
1285
+ # the full ARN and not just the ID.
1284
1286
  # @option options [String] :ssekms_encryption_context
1285
- # Specifies the AWS KMS Encryption Context to use for object encryption.
1286
- # The value of this header is a base64-encoded UTF-8 string holding JSON
1287
- # with the encryption context key-value pairs.
1287
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
1288
+ # object encryption. The value of this header is a base64-encoded UTF-8
1289
+ # string holding JSON with the encryption context key-value pairs.
1288
1290
  # @option options [Boolean] :bucket_key_enabled
1289
1291
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1290
1292
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
1291
1293
  # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1292
1294
  # for object encryption with SSE-KMS.
1293
1295
  #
1294
- # Specifying this header with a PUT operation doesn’t affect
1295
- # bucket-level settings for S3 Bucket Key.
1296
+ # Specifying this header with a PUT action doesn’t affect bucket-level
1297
+ # settings for S3 Bucket Key.
1296
1298
  # @option options [String] :request_payer
1297
1299
  # Confirms that the requester knows that they will be charged for the
1298
1300
  # request. Bucket owners need not specify this parameter in their
1299
1301
  # requests. For information about downloading objects from requester
1300
1302
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1301
- # in the *Amazon S3 Developer Guide*.
1303
+ # in the *Amazon S3 User Guide*.
1302
1304
  #
1303
1305
  #
1304
1306
  #
@@ -1310,6 +1312,7 @@ module Aws::S3
1310
1312
  # The Object Lock mode that you want to apply to this object.
1311
1313
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
1312
1314
  # The date and time when you want this object's Object Lock to expire.
1315
+ # Must be formatted as a timestamp parameter.
1313
1316
  # @option options [String] :object_lock_legal_hold_status
1314
1317
  # Specifies whether a legal hold will be applied to this object. For
1315
1318
  # more information about S3 Object Lock, see [Object Lock][1].
@@ -1318,7 +1321,7 @@ module Aws::S3
1318
1321
  #
1319
1322
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
1320
1323
  # @option options [String] :expected_bucket_owner
1321
- # The account id of the expected bucket owner. If the bucket is owned by
1324
+ # The account ID of the expected bucket owner. If the bucket is owned by
1322
1325
  # a different account, the request will fail with an HTTP `403 (Access
1323
1326
  # Denied)` error.
1324
1327
  # @return [Types::PutObjectOutput]
@@ -1429,13 +1432,13 @@ module Aws::S3
1429
1432
  # request. Bucket owners need not specify this parameter in their
1430
1433
  # requests. For information about downloading objects from requester
1431
1434
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1432
- # in the *Amazon S3 Developer Guide*.
1435
+ # in the *Amazon S3 User Guide*.
1433
1436
  #
1434
1437
  #
1435
1438
  #
1436
1439
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1437
1440
  # @option options [String] :expected_bucket_owner
1438
- # The account id of the expected bucket owner. If the bucket is owned by
1441
+ # The account ID of the expected bucket owner. If the bucket is owned by
1439
1442
  # a different account, the request will fail with an HTTP `403 (Access
1440
1443
  # Denied)` error.
1441
1444
  # @return [Types::RestoreObjectOutput]
@@ -1448,6 +1451,92 @@ module Aws::S3
1448
1451
  resp.data
1449
1452
  end
1450
1453
 
1454
+ # @example Request syntax with placeholder values
1455
+ #
1456
+ # object.head({
1457
+ # if_match: "IfMatch",
1458
+ # if_modified_since: Time.now,
1459
+ # if_none_match: "IfNoneMatch",
1460
+ # if_unmodified_since: Time.now,
1461
+ # range: "Range",
1462
+ # version_id: "ObjectVersionId",
1463
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
1464
+ # sse_customer_key: "SSECustomerKey",
1465
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
1466
+ # request_payer: "requester", # accepts requester
1467
+ # part_number: 1,
1468
+ # expected_bucket_owner: "AccountId",
1469
+ # })
1470
+ # @param [Hash] options ({})
1471
+ # @option options [String] :if_match
1472
+ # Return the object only if its entity tag (ETag) is the same as the one
1473
+ # specified, otherwise return a 412 (precondition failed).
1474
+ # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
1475
+ # Return the object only if it has been modified since the specified
1476
+ # time, otherwise return a 304 (not modified).
1477
+ # @option options [String] :if_none_match
1478
+ # Return the object only if its entity tag (ETag) is different from the
1479
+ # one specified, otherwise return a 304 (not modified).
1480
+ # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
1481
+ # Return the object only if it has not been modified since the specified
1482
+ # time, otherwise return a 412 (precondition failed).
1483
+ # @option options [String] :range
1484
+ # Downloads the specified range bytes of an object. For more information
1485
+ # about the HTTP Range header, see
1486
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
1487
+ #
1488
+ # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
1489
+ # `GET` request.
1490
+ #
1491
+ # </note>
1492
+ #
1493
+ #
1494
+ #
1495
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
1496
+ # @option options [String] :version_id
1497
+ # VersionId used to reference a specific version of the object.
1498
+ # @option options [String] :sse_customer_algorithm
1499
+ # Specifies the algorithm to use to when encrypting the object (for
1500
+ # example, AES256).
1501
+ # @option options [String] :sse_customer_key
1502
+ # Specifies the customer-provided encryption key for Amazon S3 to use in
1503
+ # encrypting data. This value is used to store the object and then it is
1504
+ # discarded; Amazon S3 does not store the encryption key. The key must
1505
+ # be appropriate for use with the algorithm specified in the
1506
+ # `x-amz-server-side-encryption-customer-algorithm` header.
1507
+ # @option options [String] :sse_customer_key_md5
1508
+ # Specifies the 128-bit MD5 digest of the encryption key according to
1509
+ # RFC 1321. Amazon S3 uses this header for a message integrity check to
1510
+ # ensure that the encryption key was transmitted without error.
1511
+ # @option options [String] :request_payer
1512
+ # Confirms that the requester knows that they will be charged for the
1513
+ # request. Bucket owners need not specify this parameter in their
1514
+ # requests. For information about downloading objects from requester
1515
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1516
+ # in the *Amazon S3 User Guide*.
1517
+ #
1518
+ #
1519
+ #
1520
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1521
+ # @option options [Integer] :part_number
1522
+ # Part number of the object being read. This is a positive integer
1523
+ # between 1 and 10,000. Effectively performs a 'ranged' HEAD request
1524
+ # for the part specified. Useful querying about the size of the part and
1525
+ # the number of parts in this object.
1526
+ # @option options [String] :expected_bucket_owner
1527
+ # The account ID of the expected bucket owner. If the bucket is owned by
1528
+ # a different account, the request will fail with an HTTP `403 (Access
1529
+ # Denied)` error.
1530
+ # @return [Types::HeadObjectOutput]
1531
+ def head(options = {})
1532
+ options = options.merge(
1533
+ bucket: @bucket_name,
1534
+ key: @key
1535
+ )
1536
+ resp = @client.head_object(options)
1537
+ resp.data
1538
+ end
1539
+
1451
1540
  # @!group Associations
1452
1541
 
1453
1542
  # @return [ObjectAcl]
@@ -1573,17 +1662,17 @@ module Aws::S3
1573
1662
  # request. Bucket owners need not specify this parameter in their
1574
1663
  # requests. For information about downloading objects from requester
1575
1664
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1576
- # in the *Amazon S3 Developer Guide*.
1665
+ # in the *Amazon S3 User Guide*.
1577
1666
  #
1578
1667
  #
1579
1668
  #
1580
1669
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1581
1670
  # @option options [Boolean] :bypass_governance_retention
1582
1671
  # Specifies whether you want to delete this object even if it has a
1583
- # Governance-type Object Lock in place. You must have sufficient
1584
- # permissions to perform this operation.
1672
+ # Governance-type Object Lock in place. To use this header, you must
1673
+ # have the `s3:PutBucketPublicAccessBlock` permission.
1585
1674
  # @option options [String] :expected_bucket_owner
1586
- # The account id of the expected bucket owner. If the bucket is owned by
1675
+ # The account ID of the expected bucket owner. If the bucket is owned by
1587
1676
  # a different account, the request will fail with an HTTP `403 (Access
1588
1677
  # Denied)` error.
1589
1678
  # @return [void]
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -247,8 +247,9 @@ module Aws::S3
247
247
  # not corrupted in transit. For more information, go to [RFC
248
248
  # 1864.&gt;][1]
249
249
  #
250
- # For requests made using the AWS Command Line Interface (CLI) or AWS
251
- # SDKs, this field is calculated automatically.
250
+ # For requests made using the Amazon Web Services Command Line Interface
251
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
252
+ # automatically.
252
253
  #
253
254
  #
254
255
  #
@@ -267,8 +268,10 @@ module Aws::S3
267
268
  #
268
269
  # This action is not supported by Amazon S3 on Outposts.
269
270
  # @option options [String] :grant_write
270
- # Allows grantee to create, overwrite, and delete any object in the
271
- # bucket.
271
+ # Allows grantee to create new objects in the bucket.
272
+ #
273
+ # For the bucket and object owners of existing objects, also allows
274
+ # deletions and overwrites of those objects.
272
275
  # @option options [String] :grant_write_acp
273
276
  # Allows grantee to write the ACL for the applicable bucket.
274
277
  #
@@ -278,7 +281,7 @@ module Aws::S3
278
281
  # request. Bucket owners need not specify this parameter in their
279
282
  # requests. For information about downloading objects from requester
280
283
  # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
281
- # in the *Amazon S3 Developer Guide*.
284
+ # in the *Amazon S3 User Guide*.
282
285
  #
283
286
  #
284
287
  #
@@ -286,7 +289,7 @@ module Aws::S3
286
289
  # @option options [String] :version_id
287
290
  # VersionId used to reference a specific version of the object.
288
291
  # @option options [String] :expected_bucket_owner
289
- # The account id of the expected bucket owner. If the bucket is owned by
292
+ # The account ID of the expected bucket owner. If the bucket is owned by
290
293
  # a different account, the request will fail with an HTTP `403 (Access
291
294
  # Denied)` error.
292
295
  # @return [Types::PutObjectAclOutput]