aws-sdk-s3 1.88.1 → 1.105.1

Sign up to get free protection for your applications and to get access to all the features.
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]