aws-sdk-s3 1.85.0 → 1.86.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 149a7e68554a7b8ab408e8ca71af6db2265bfde1ff763880cf160202cbc55dfe
4
- data.tar.gz: e526a261743e9f58ce1ae89674e73a287def1ed75d3a3653077cbe4a4c51723e
3
+ metadata.gz: ae9607d0a1a7f9a817154ea0aaa3e233a12314f17b81e01f7f4eafede254b3f1
4
+ data.tar.gz: 7967ccffa09c030b22aff79554176c58a69e1fd26951e707269e3098fb974932
5
5
  SHA512:
6
- metadata.gz: f7ff92c23369d0dbe26b3f313d8c32560e0d9afbe6b6b9da2f9f3285be8eafe29436a9fcba65c7beb419fa0d10f2ec2a7b6af3a6452e735643126e743ff63b7f
7
- data.tar.gz: b86680a9d6c2eff8c99f5b18a363759da6e7847e0984ed111cc20e766e903fb85fa877ae6517ec83f3e2c1540eafbfb1086a47a7a7e4ed3ac6896ed62f8fd51f
6
+ metadata.gz: 31e6a0c27444e4eba97143a3ab99943c5d6eb8884b07da991860ffa1ca828476fa00040fbb749acc87d29c8873f99e649261c83470a7d43da71a38c4d2114067
7
+ data.tar.gz: 3e710faed8bede6e9d963cc3065d3ed781d8ab96cd3e5306464126aced783910dbcf005867cf266bc7a1a22e9da6623eeeafd0a67bcd3883f282fe72764a302f
@@ -69,6 +69,6 @@ require_relative 'aws-sdk-s3/event_streams'
69
69
  # @!group service
70
70
  module Aws::S3
71
71
 
72
- GEM_VERSION = '1.85.0'
72
+ GEM_VERSION = '1.86.0'
73
73
 
74
74
  end
@@ -34,7 +34,8 @@ module Aws::S3
34
34
  @name
35
35
  end
36
36
 
37
- # Date the bucket was created.
37
+ # Date the bucket was created. This date can change when making changes
38
+ # to your bucket, such as editing its bucket policy.
38
39
  # @return [Time]
39
40
  def creation_date
40
41
  data[:creation_date]
@@ -354,6 +355,7 @@ module Aws::S3
354
355
  # sse_customer_key_md5: "SSECustomerKeyMD5",
355
356
  # ssekms_key_id: "SSEKMSKeyId",
356
357
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
358
+ # bucket_key_enabled: false,
357
359
  # request_payer: "requester", # accepts requester
358
360
  # tagging: "TaggingHeader",
359
361
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -525,6 +527,14 @@ module Aws::S3
525
527
  # Specifies the AWS KMS Encryption Context to use for object encryption.
526
528
  # The value of this header is a base64-encoded UTF-8 string holding JSON
527
529
  # with the encryption context key-value pairs.
530
+ # @option options [Boolean] :bucket_key_enabled
531
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
532
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
533
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
534
+ # for object encryption with SSE-KMS.
535
+ #
536
+ # Specifying this header with a PUT operation doesn’t affect
537
+ # bucket-level settings for S3 Bucket Key.
528
538
  # @option options [String] :request_payer
529
539
  # Confirms that the requester knows that they will be charged for the
530
540
  # request. Bucket owners need not specify this parameter in their
@@ -659,6 +659,7 @@ module Aws::S3
659
659
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
660
660
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
661
661
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
662
+ # * {Types::CompleteMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
662
663
  # * {Types::CompleteMultipartUploadOutput#request_charged #request_charged} => String
663
664
  #
664
665
  #
@@ -720,6 +721,7 @@ module Aws::S3
720
721
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
721
722
  # resp.version_id #=> String
722
723
  # resp.ssekms_key_id #=> String
724
+ # resp.bucket_key_enabled #=> Boolean
723
725
  # resp.request_charged #=> String, one of "requester"
724
726
  #
725
727
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload AWS API Documentation
@@ -830,22 +832,20 @@ module Aws::S3
830
832
  #
831
833
  # </note>
832
834
  #
833
- # **Encryption**
835
+ # **Server-side encryption**
834
836
  #
835
- # The source object that you are copying can be encrypted or
836
- # unencrypted. The source object can be encrypted with server-side
837
- # encryption using AWS managed encryption keys (SSE-S3 or SSE-KMS) or by
838
- # using a customer-provided encryption key. With server-side encryption,
839
- # Amazon S3 encrypts your data as it writes it to disks in its data
840
- # centers and decrypts the data when you access it.
837
+ # When you perform a CopyObject operation, you can optionally use the
838
+ # appropriate encryption-related headers to encrypt the object using
839
+ # server-side encryption with AWS managed encryption keys (SSE-S3 or
840
+ # SSE-KMS) or a customer-provided encryption key. With server-side
841
+ # encryption, Amazon S3 encrypts your data as it writes it to disks in
842
+ # its data centers and decrypts the data when you access it. For more
843
+ # information about server-side encryption, see [Using Server-Side
844
+ # Encryption][8].
841
845
  #
842
- # You can optionally use the appropriate encryption-related headers to
843
- # request server-side encryption for the target object. You have the
844
- # option to provide your own encryption key or use SSE-S3 or SSE-KMS,
845
- # regardless of the form of server-side encryption that was used to
846
- # encrypt the source object. You can even request encryption if the
847
- # source object was not encrypted. For more information about
848
- # server-side encryption, see [Using Server-Side Encryption][8].
846
+ # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
847
+ # the object. For more information, see [Amazon S3 Bucket Keys][9] in
848
+ # the *Amazon Simple Storage Service Developer Guide*.
849
849
  #
850
850
  # **Access Control List (ACL)-Specific Request Headers**
851
851
  #
@@ -855,13 +855,13 @@ module Aws::S3
855
855
  # permissions to individual AWS accounts or to predefined groups defined
856
856
  # by Amazon S3. These permissions are then added to the ACL on the
857
857
  # object. For more information, see [Access Control List (ACL)
858
- # Overview][9] and [Managing ACLs Using the REST API][10].
858
+ # Overview][10] and [Managing ACLs Using the REST API][11].
859
859
  #
860
860
  # **Storage Class Options**
861
861
  #
862
862
  # You can use the `CopyObject` operation to change the storage class of
863
863
  # an object that is already stored in Amazon S3 using the `StorageClass`
864
- # parameter. For more information, see [Storage Classes][11] in the
864
+ # parameter. For more information, see [Storage Classes][12] in the
865
865
  # *Amazon S3 Service Developer Guide*.
866
866
  #
867
867
  # **Versioning**
@@ -882,15 +882,15 @@ module Aws::S3
882
882
  #
883
883
  # If the source object's storage class is GLACIER, you must restore a
884
884
  # copy of this object before you can use it as a source object for the
885
- # copy operation. For more information, see [RestoreObject][12].
885
+ # copy operation. For more information, see [RestoreObject][13].
886
886
  #
887
887
  # The following operations are related to `CopyObject`\:
888
888
  #
889
- # * [PutObject][13]
889
+ # * [PutObject][14]
890
890
  #
891
- # * [GetObject][14]
891
+ # * [GetObject][15]
892
892
  #
893
- # For more information, see [Copying Objects][15].
893
+ # For more information, see [Copying Objects][16].
894
894
  #
895
895
  #
896
896
  #
@@ -902,13 +902,14 @@ module Aws::S3
902
902
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html
903
903
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
904
904
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
905
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
906
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
907
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
908
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
909
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
910
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
911
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
905
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
906
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
907
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
908
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
909
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
910
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
911
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
912
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
912
913
  #
913
914
  # @option params [String] :acl
914
915
  # The canned ACL to apply to the object.
@@ -1109,6 +1110,15 @@ module Aws::S3
1109
1110
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1110
1111
  # with the encryption context key-value pairs.
1111
1112
  #
1113
+ # @option params [Boolean] :bucket_key_enabled
1114
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1115
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1116
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1117
+ # for object encryption with SSE-KMS.
1118
+ #
1119
+ # Specifying this header with a COPY operation doesn’t affect
1120
+ # bucket-level settings for S3 Bucket Key.
1121
+ #
1112
1122
  # @option params [String] :copy_source_sse_customer_algorithm
1113
1123
  # Specifies the algorithm to use when decrypting the source object (for
1114
1124
  # example, AES256).
@@ -1170,6 +1180,7 @@ module Aws::S3
1170
1180
  # * {Types::CopyObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
1171
1181
  # * {Types::CopyObjectOutput#ssekms_key_id #ssekms_key_id} => String
1172
1182
  # * {Types::CopyObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
1183
+ # * {Types::CopyObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
1173
1184
  # * {Types::CopyObjectOutput#request_charged #request_charged} => String
1174
1185
  #
1175
1186
  #
@@ -1225,6 +1236,7 @@ module Aws::S3
1225
1236
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1226
1237
  # ssekms_key_id: "SSEKMSKeyId",
1227
1238
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1239
+ # bucket_key_enabled: false,
1228
1240
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
1229
1241
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
1230
1242
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -1249,6 +1261,7 @@ module Aws::S3
1249
1261
  # resp.sse_customer_key_md5 #=> String
1250
1262
  # resp.ssekms_key_id #=> String
1251
1263
  # resp.ssekms_encryption_context #=> String
1264
+ # resp.bucket_key_enabled #=> Boolean
1252
1265
  # resp.request_charged #=> String, one of "requester"
1253
1266
  #
1254
1267
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject AWS API Documentation
@@ -1405,33 +1418,33 @@ module Aws::S3
1405
1418
  # * {Types::CreateBucketOutput#location #location} => String
1406
1419
  #
1407
1420
  #
1408
- # @example Example: To create a bucket
1421
+ # @example Example: To create a bucket in a specific region
1409
1422
  #
1410
- # # The following example creates a bucket.
1423
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1411
1424
  #
1412
1425
  # resp = client.create_bucket({
1413
1426
  # bucket: "examplebucket",
1427
+ # create_bucket_configuration: {
1428
+ # location_constraint: "eu-west-1",
1429
+ # },
1414
1430
  # })
1415
1431
  #
1416
1432
  # resp.to_h outputs the following:
1417
1433
  # {
1418
- # location: "/examplebucket",
1434
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1419
1435
  # }
1420
1436
  #
1421
- # @example Example: To create a bucket in a specific region
1437
+ # @example Example: To create a bucket
1422
1438
  #
1423
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1439
+ # # The following example creates a bucket.
1424
1440
  #
1425
1441
  # resp = client.create_bucket({
1426
1442
  # bucket: "examplebucket",
1427
- # create_bucket_configuration: {
1428
- # location_constraint: "eu-west-1",
1429
- # },
1430
1443
  # })
1431
1444
  #
1432
1445
  # resp.to_h outputs the following:
1433
1446
  # {
1434
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1447
+ # location: "/examplebucket",
1435
1448
  # }
1436
1449
  #
1437
1450
  # @example Request syntax with placeholder values
@@ -1827,6 +1840,15 @@ module Aws::S3
1827
1840
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1828
1841
  # with the encryption context key-value pairs.
1829
1842
  #
1843
+ # @option params [Boolean] :bucket_key_enabled
1844
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1845
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1846
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1847
+ # for object encryption with SSE-KMS.
1848
+ #
1849
+ # Specifying this header with an object operation doesn’t affect
1850
+ # bucket-level settings for S3 Bucket Key.
1851
+ #
1830
1852
  # @option params [String] :request_payer
1831
1853
  # Confirms that the requester knows that they will be charged for the
1832
1854
  # request. Bucket owners need not specify this parameter in their
@@ -1870,6 +1892,7 @@ module Aws::S3
1870
1892
  # * {Types::CreateMultipartUploadOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
1871
1893
  # * {Types::CreateMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
1872
1894
  # * {Types::CreateMultipartUploadOutput#ssekms_encryption_context #ssekms_encryption_context} => String
1895
+ # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
1873
1896
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
1874
1897
  #
1875
1898
  #
@@ -1916,6 +1939,7 @@ module Aws::S3
1916
1939
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1917
1940
  # ssekms_key_id: "SSEKMSKeyId",
1918
1941
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1942
+ # bucket_key_enabled: false,
1919
1943
  # request_payer: "requester", # accepts requester
1920
1944
  # tagging: "TaggingHeader",
1921
1945
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -1936,6 +1960,7 @@ module Aws::S3
1936
1960
  # resp.sse_customer_key_md5 #=> String
1937
1961
  # resp.ssekms_key_id #=> String
1938
1962
  # resp.ssekms_encryption_context #=> String
1963
+ # resp.bucket_key_enabled #=> Boolean
1939
1964
  # resp.request_charged #=> String, one of "requester"
1940
1965
  #
1941
1966
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
@@ -2929,35 +2954,35 @@ module Aws::S3
2929
2954
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2930
2955
  #
2931
2956
  #
2932
- # @example Example: To remove tag set from an object version
2957
+ # @example Example: To remove tag set from an object
2933
2958
  #
2934
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2935
- # # object key and object version.
2959
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2960
+ # # operation removes tag set from the latest object version.
2936
2961
  #
2937
2962
  # resp = client.delete_object_tagging({
2938
2963
  # bucket: "examplebucket",
2939
2964
  # key: "HappyFace.jpg",
2940
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2941
2965
  # })
2942
2966
  #
2943
2967
  # resp.to_h outputs the following:
2944
2968
  # {
2945
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2969
+ # version_id: "null",
2946
2970
  # }
2947
2971
  #
2948
- # @example Example: To remove tag set from an object
2972
+ # @example Example: To remove tag set from an object version
2949
2973
  #
2950
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2951
- # # operation removes tag set from the latest object version.
2974
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
2975
+ # # object key and object version.
2952
2976
  #
2953
2977
  # resp = client.delete_object_tagging({
2954
2978
  # bucket: "examplebucket",
2955
2979
  # key: "HappyFace.jpg",
2980
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2956
2981
  # })
2957
2982
  #
2958
2983
  # resp.to_h outputs the following:
2959
2984
  # {
2960
- # version_id: "null",
2985
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2961
2986
  # }
2962
2987
  #
2963
2988
  # @example Request syntax with placeholder values
@@ -3097,22 +3122,20 @@ module Aws::S3
3097
3122
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
3098
3123
  #
3099
3124
  #
3100
- # @example Example: To delete multiple object versions from a versioned bucket
3125
+ # @example Example: To delete multiple objects from a versioned bucket
3101
3126
  #
3102
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3103
- # # versions and returns the key and versions of deleted objects in the response.
3127
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3128
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3104
3129
  #
3105
3130
  # resp = client.delete_objects({
3106
3131
  # bucket: "examplebucket",
3107
3132
  # delete: {
3108
3133
  # objects: [
3109
3134
  # {
3110
- # key: "HappyFace.jpg",
3111
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3135
+ # key: "objectkey1",
3112
3136
  # },
3113
3137
  # {
3114
- # key: "HappyFace.jpg",
3115
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3138
+ # key: "objectkey2",
3116
3139
  # },
3117
3140
  # ],
3118
3141
  # quiet: false,
@@ -3123,30 +3146,34 @@ module Aws::S3
3123
3146
  # {
3124
3147
  # deleted: [
3125
3148
  # {
3126
- # key: "HappyFace.jpg",
3127
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3149
+ # delete_marker: true,
3150
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3151
+ # key: "objectkey1",
3128
3152
  # },
3129
3153
  # {
3130
- # key: "HappyFace.jpg",
3131
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3154
+ # delete_marker: true,
3155
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3156
+ # key: "objectkey2",
3132
3157
  # },
3133
3158
  # ],
3134
3159
  # }
3135
3160
  #
3136
- # @example Example: To delete multiple objects from a versioned bucket
3161
+ # @example Example: To delete multiple object versions from a versioned bucket
3137
3162
  #
3138
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3139
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3163
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3164
+ # # versions and returns the key and versions of deleted objects in the response.
3140
3165
  #
3141
3166
  # resp = client.delete_objects({
3142
3167
  # bucket: "examplebucket",
3143
3168
  # delete: {
3144
3169
  # objects: [
3145
3170
  # {
3146
- # key: "objectkey1",
3171
+ # key: "HappyFace.jpg",
3172
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3147
3173
  # },
3148
3174
  # {
3149
- # key: "objectkey2",
3175
+ # key: "HappyFace.jpg",
3176
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3150
3177
  # },
3151
3178
  # ],
3152
3179
  # quiet: false,
@@ -3157,14 +3184,12 @@ module Aws::S3
3157
3184
  # {
3158
3185
  # deleted: [
3159
3186
  # {
3160
- # delete_marker: true,
3161
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3162
- # key: "objectkey1",
3187
+ # key: "HappyFace.jpg",
3188
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3163
3189
  # },
3164
3190
  # {
3165
- # delete_marker: true,
3166
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3167
- # key: "objectkey2",
3191
+ # key: "HappyFace.jpg",
3192
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3168
3193
  # },
3169
3194
  # ],
3170
3195
  # }
@@ -3614,6 +3639,7 @@ module Aws::S3
3614
3639
  # resp.server_side_encryption_configuration.rules #=> Array
3615
3640
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms"
3616
3641
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
3642
+ # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
3617
3643
  #
3618
3644
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption AWS API Documentation
3619
3645
  #
@@ -4705,6 +4731,7 @@ module Aws::S3
4705
4731
  # resp.replication_configuration.rules[0].filter.and.tags[0].value #=> String
4706
4732
  # resp.replication_configuration.rules[0].status #=> String, one of "Enabled", "Disabled"
4707
4733
  # resp.replication_configuration.rules[0].source_selection_criteria.sse_kms_encrypted_objects.status #=> String, one of "Enabled", "Disabled"
4734
+ # resp.replication_configuration.rules[0].source_selection_criteria.replica_modifications.status #=> String, one of "Enabled", "Disabled"
4708
4735
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
4709
4736
  # resp.replication_configuration.rules[0].destination.bucket #=> String
4710
4737
  # resp.replication_configuration.rules[0].destination.account #=> String
@@ -5333,6 +5360,7 @@ module Aws::S3
5333
5360
  # * {Types::GetObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
5334
5361
  # * {Types::GetObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
5335
5362
  # * {Types::GetObjectOutput#ssekms_key_id #ssekms_key_id} => String
5363
+ # * {Types::GetObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
5336
5364
  # * {Types::GetObjectOutput#storage_class #storage_class} => String
5337
5365
  # * {Types::GetObjectOutput#request_charged #request_charged} => String
5338
5366
  # * {Types::GetObjectOutput#replication_status #replication_status} => String
@@ -5343,49 +5371,49 @@ module Aws::S3
5343
5371
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5344
5372
  #
5345
5373
  #
5346
- # @example Example: To retrieve a byte range of an object
5374
+ # @example Example: To retrieve an object
5347
5375
  #
5348
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5349
- # # specific byte range.
5376
+ # # The following example retrieves an object for an S3 bucket.
5350
5377
  #
5351
5378
  # resp = client.get_object({
5352
5379
  # bucket: "examplebucket",
5353
- # key: "SampleFile.txt",
5354
- # range: "bytes=0-9",
5380
+ # key: "HappyFace.jpg",
5355
5381
  # })
5356
5382
  #
5357
5383
  # resp.to_h outputs the following:
5358
5384
  # {
5359
5385
  # accept_ranges: "bytes",
5360
- # content_length: 10,
5361
- # content_range: "bytes 0-9/43",
5362
- # content_type: "text/plain",
5363
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5364
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5386
+ # content_length: 3191,
5387
+ # content_type: "image/jpeg",
5388
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5389
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5365
5390
  # metadata: {
5366
5391
  # },
5392
+ # tag_count: 2,
5367
5393
  # version_id: "null",
5368
5394
  # }
5369
5395
  #
5370
- # @example Example: To retrieve an object
5396
+ # @example Example: To retrieve a byte range of an object
5371
5397
  #
5372
- # # The following example retrieves an object for an S3 bucket.
5398
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5399
+ # # specific byte range.
5373
5400
  #
5374
5401
  # resp = client.get_object({
5375
5402
  # bucket: "examplebucket",
5376
- # key: "HappyFace.jpg",
5403
+ # key: "SampleFile.txt",
5404
+ # range: "bytes=0-9",
5377
5405
  # })
5378
5406
  #
5379
5407
  # resp.to_h outputs the following:
5380
5408
  # {
5381
5409
  # accept_ranges: "bytes",
5382
- # content_length: 3191,
5383
- # content_type: "image/jpeg",
5384
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5385
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5410
+ # content_length: 10,
5411
+ # content_range: "bytes 0-9/43",
5412
+ # content_type: "text/plain",
5413
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5414
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5386
5415
  # metadata: {
5387
5416
  # },
5388
- # tag_count: 2,
5389
5417
  # version_id: "null",
5390
5418
  # }
5391
5419
  #
@@ -5470,6 +5498,7 @@ module Aws::S3
5470
5498
  # resp.sse_customer_algorithm #=> String
5471
5499
  # resp.sse_customer_key_md5 #=> String
5472
5500
  # resp.ssekms_key_id #=> String
5501
+ # resp.bucket_key_enabled #=> Boolean
5473
5502
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
5474
5503
  # resp.request_charged #=> String, one of "requester"
5475
5504
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
@@ -6443,6 +6472,7 @@ module Aws::S3
6443
6472
  # * {Types::HeadObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
6444
6473
  # * {Types::HeadObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
6445
6474
  # * {Types::HeadObjectOutput#ssekms_key_id #ssekms_key_id} => String
6475
+ # * {Types::HeadObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
6446
6476
  # * {Types::HeadObjectOutput#storage_class #storage_class} => String
6447
6477
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
6448
6478
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
@@ -6518,6 +6548,7 @@ module Aws::S3
6518
6548
  # resp.sse_customer_algorithm #=> String
6519
6549
  # resp.sse_customer_key_md5 #=> String
6520
6550
  # resp.ssekms_key_id #=> String
6551
+ # resp.bucket_key_enabled #=> Boolean
6521
6552
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
6522
6553
  # resp.request_charged #=> String, one of "requester"
6523
6554
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
@@ -8669,14 +8700,17 @@ module Aws::S3
8669
8700
  req.send_request(options)
8670
8701
  end
8671
8702
 
8672
- # This implementation of the `PUT` operation uses the `encryption`
8673
- # subresource to set the default encryption state of an existing bucket.
8674
- #
8675
- # This implementation of the `PUT` operation sets default encryption for
8676
- # a bucket using server-side encryption with Amazon S3-managed keys
8677
- # SSE-S3 or AWS KMS customer master keys (CMKs) (SSE-KMS). For
8678
- # information about the Amazon S3 default encryption feature, see
8679
- # [Amazon S3 Default Bucket Encryption][1].
8703
+ # This operation uses the `encryption` subresource to configure default
8704
+ # encryption and Amazon S3 Bucket Key for an existing bucket.
8705
+ #
8706
+ # Default encryption for a bucket can use server-side encryption with
8707
+ # Amazon S3-managed keys (SSE-S3) or AWS KMS customer master keys
8708
+ # (SSE-KMS). If you specify default encryption using SSE-KMS, you can
8709
+ # also configure Amazon S3 Bucket Key. For information about default
8710
+ # encryption, see [Amazon S3 default bucket encryption][1] in the
8711
+ # *Amazon Simple Storage Service Developer Guide*. For more information
8712
+ # about S3 Bucket Keys, see [Amazon S3 Bucket Keys][2] in the *Amazon
8713
+ # Simple Storage Service Developer Guide*.
8680
8714
  #
8681
8715
  # This operation requires AWS Signature Version 4. For more information,
8682
8716
  # see [ Authenticating Requests (AWS Signature Version
@@ -8686,23 +8720,24 @@ module Aws::S3
8686
8720
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
8687
8721
  # permission by default. The bucket owner can grant this permission to
8688
8722
  # others. For more information about permissions, see [Permissions
8689
- # Related to Bucket Subresource Operations][2] and [Managing Access
8690
- # Permissions to Your Amazon S3 Resources][3] in the Amazon Simple
8723
+ # Related to Bucket Subresource Operations][3] and [Managing Access
8724
+ # Permissions to Your Amazon S3 Resources][4] in the Amazon Simple
8691
8725
  # Storage Service Developer Guide.
8692
8726
  #
8693
8727
  # **Related Resources**
8694
8728
  #
8695
- # * [GetBucketEncryption][4]
8729
+ # * [GetBucketEncryption][5]
8696
8730
  #
8697
- # * [DeleteBucketEncryption][5]
8731
+ # * [DeleteBucketEncryption][6]
8698
8732
  #
8699
8733
  #
8700
8734
  #
8701
8735
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
8702
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
8703
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8704
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
8705
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
8736
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
8737
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
8738
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8739
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
8740
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
8706
8741
  #
8707
8742
  # @option params [required, String] :bucket
8708
8743
  # Specifies default encryption for a bucket using server-side encryption
@@ -8744,6 +8779,7 @@ module Aws::S3
8744
8779
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
8745
8780
  # kms_master_key_id: "SSEKMSKeyId",
8746
8781
  # },
8782
+ # bucket_key_enabled: false,
8747
8783
  # },
8748
8784
  # ],
8749
8785
  # },
@@ -9931,15 +9967,15 @@ module Aws::S3
9931
9967
  #
9932
9968
  # Specify the replication configuration in the request body. In the
9933
9969
  # replication configuration, you provide the name of the destination
9934
- # bucket where you want Amazon S3 to replicate objects, the IAM role
9935
- # that Amazon S3 can assume to replicate objects on your behalf, and
9936
- # other relevant information.
9970
+ # bucket or buckets where you want Amazon S3 to replicate objects, the
9971
+ # IAM role that Amazon S3 can assume to replicate objects on your
9972
+ # behalf, and other relevant information.
9937
9973
  #
9938
9974
  # A replication configuration must include at least one rule, and can
9939
9975
  # contain a maximum of 1,000. Each rule identifies a subset of objects
9940
9976
  # to replicate by filtering the objects in the source bucket. To choose
9941
9977
  # additional subsets of objects to replicate, add a rule for each
9942
- # subset. All rules must specify the same destination bucket.
9978
+ # subset.
9943
9979
  #
9944
9980
  # To specify a subset of the objects in the source bucket to apply a
9945
9981
  # replication rule to, add the Filter element as a child of the Rule
@@ -10080,6 +10116,9 @@ module Aws::S3
10080
10116
  # sse_kms_encrypted_objects: {
10081
10117
  # status: "Enabled", # required, accepts Enabled, Disabled
10082
10118
  # },
10119
+ # replica_modifications: {
10120
+ # status: "Enabled", # required, accepts Enabled, Disabled
10121
+ # },
10083
10122
  # },
10084
10123
  # existing_object_replication: {
10085
10124
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -10647,8 +10686,13 @@ module Aws::S3
10647
10686
  # encryption, Amazon S3 encrypts your data as it writes it to disks in
10648
10687
  # its data centers and decrypts the data when you access it. You have
10649
10688
  # the option to provide your own encryption key or use AWS managed
10650
- # encryption keys. For more information, see [Using Server-Side
10651
- # Encryption][2].
10689
+ # encryption keys (SSE-S3 or SSE-KMS). For more information, see [Using
10690
+ # Server-Side Encryption][2].
10691
+ #
10692
+ # If you request server-side encryption using AWS Key Management Service
10693
+ # (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For
10694
+ # more information, see [Amazon S3 Bucket Keys][3] in the *Amazon Simple
10695
+ # Storage Service Developer Guide*.
10652
10696
  #
10653
10697
  # **Access Control List (ACL)-Specific Request Headers**
10654
10698
  #
@@ -10657,8 +10701,8 @@ module Aws::S3
10657
10701
  # adding a new object, you can grant permissions to individual AWS
10658
10702
  # accounts or to predefined groups defined by Amazon S3. These
10659
10703
  # permissions are then added to the ACL on the object. For more
10660
- # information, see [Access Control List (ACL) Overview][3] and [Managing
10661
- # ACLs Using the REST API][4].
10704
+ # information, see [Access Control List (ACL) Overview][4] and [Managing
10705
+ # ACLs Using the REST API][5].
10662
10706
  #
10663
10707
  # **Storage Class Options**
10664
10708
  #
@@ -10666,7 +10710,7 @@ module Aws::S3
10666
10710
  # created objects. The STANDARD storage class provides high durability
10667
10711
  # and high availability. Depending on performance needs, you can specify
10668
10712
  # a different Storage Class. Amazon S3 on Outposts only uses the
10669
- # OUTPOSTS Storage Class. For more information, see [Storage Classes][5]
10713
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][6]
10670
10714
  # in the *Amazon S3 Service Developer Guide*.
10671
10715
  #
10672
10716
  # **Versioning**
@@ -10678,26 +10722,27 @@ module Aws::S3
10678
10722
  # object simultaneously, it stores all of the objects.
10679
10723
  #
10680
10724
  # For more information about versioning, see [Adding Objects to
10681
- # Versioning Enabled Buckets][6]. For information about returning the
10682
- # versioning state of a bucket, see [GetBucketVersioning][7].
10725
+ # Versioning Enabled Buckets][7]. For information about returning the
10726
+ # versioning state of a bucket, see [GetBucketVersioning][8].
10683
10727
  #
10684
10728
  # **Related Resources**
10685
10729
  #
10686
- # * [CopyObject][8]
10730
+ # * [CopyObject][9]
10687
10731
  #
10688
- # * [DeleteObject][9]
10732
+ # * [DeleteObject][10]
10689
10733
  #
10690
10734
  #
10691
10735
  #
10692
10736
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
10693
10737
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
10694
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
10695
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
10696
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10697
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
10698
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
10699
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
10700
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
10738
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
10739
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
10740
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
10741
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10742
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
10743
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
10744
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
10745
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
10701
10746
  #
10702
10747
  # @option params [String] :acl
10703
10748
  # The canned ACL to apply to the object. For more information, see
@@ -10911,6 +10956,15 @@ module Aws::S3
10911
10956
  # The value of this header is a base64-encoded UTF-8 string holding JSON
10912
10957
  # with the encryption context key-value pairs.
10913
10958
  #
10959
+ # @option params [Boolean] :bucket_key_enabled
10960
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
10961
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
10962
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
10963
+ # for object encryption with SSE-KMS.
10964
+ #
10965
+ # Specifying this header with a PUT operation doesn’t affect
10966
+ # bucket-level settings for S3 Bucket Key.
10967
+ #
10914
10968
  # @option params [String] :request_payer
10915
10969
  # Confirms that the requester knows that they will be charged for the
10916
10970
  # request. Bucket owners need not specify this parameter in their
@@ -10955,9 +11009,27 @@ module Aws::S3
10955
11009
  # * {Types::PutObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
10956
11010
  # * {Types::PutObjectOutput#ssekms_key_id #ssekms_key_id} => String
10957
11011
  # * {Types::PutObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
11012
+ # * {Types::PutObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
10958
11013
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
10959
11014
  #
10960
11015
  #
11016
+ # @example Example: To upload an object
11017
+ #
11018
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11019
+ # # syntax. S3 returns VersionId of the newly created object.
11020
+ #
11021
+ # resp = client.put_object({
11022
+ # body: "HappyFace.jpg",
11023
+ # bucket: "examplebucket",
11024
+ # key: "HappyFace.jpg",
11025
+ # })
11026
+ #
11027
+ # resp.to_h outputs the following:
11028
+ # {
11029
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11030
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11031
+ # }
11032
+ #
10961
11033
  # @example Example: To upload an object and specify canned ACL.
10962
11034
  #
10963
11035
  # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
@@ -10976,22 +11048,24 @@ module Aws::S3
10976
11048
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
10977
11049
  # }
10978
11050
  #
10979
- # @example Example: To upload an object and specify optional tags
11051
+ # @example Example: To upload an object (specify optional headers)
10980
11052
  #
10981
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
10982
- # # S3 returns version ID of the newly created object.
11053
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11054
+ # # storage class and use server-side encryption.
10983
11055
  #
10984
11056
  # resp = client.put_object({
10985
- # body: "c:\\HappyFace.jpg",
11057
+ # body: "HappyFace.jpg",
10986
11058
  # bucket: "examplebucket",
10987
11059
  # key: "HappyFace.jpg",
10988
- # tagging: "key1=value1&key2=value2",
11060
+ # server_side_encryption: "AES256",
11061
+ # storage_class: "STANDARD_IA",
10989
11062
  # })
10990
11063
  #
10991
11064
  # resp.to_h outputs the following:
10992
11065
  # {
10993
11066
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10994
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11067
+ # server_side_encryption: "AES256",
11068
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
10995
11069
  # }
10996
11070
  #
10997
11071
  # @example Example: To upload an object and specify server-side encryption and object tags
@@ -11051,41 +11125,22 @@ module Aws::S3
11051
11125
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11052
11126
  # }
11053
11127
  #
11054
- # @example Example: To upload an object
11055
- #
11056
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11057
- # # syntax. S3 returns VersionId of the newly created object.
11058
- #
11059
- # resp = client.put_object({
11060
- # body: "HappyFace.jpg",
11061
- # bucket: "examplebucket",
11062
- # key: "HappyFace.jpg",
11063
- # })
11064
- #
11065
- # resp.to_h outputs the following:
11066
- # {
11067
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11068
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11069
- # }
11070
- #
11071
- # @example Example: To upload an object (specify optional headers)
11128
+ # @example Example: To upload an object and specify optional tags
11072
11129
  #
11073
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11074
- # # storage class and use server-side encryption.
11130
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11131
+ # # S3 returns version ID of the newly created object.
11075
11132
  #
11076
11133
  # resp = client.put_object({
11077
- # body: "HappyFace.jpg",
11134
+ # body: "c:\\HappyFace.jpg",
11078
11135
  # bucket: "examplebucket",
11079
11136
  # key: "HappyFace.jpg",
11080
- # server_side_encryption: "AES256",
11081
- # storage_class: "STANDARD_IA",
11137
+ # tagging: "key1=value1&key2=value2",
11082
11138
  # })
11083
11139
  #
11084
11140
  # resp.to_h outputs the following:
11085
11141
  # {
11086
11142
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11087
- # server_side_encryption: "AES256",
11088
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11143
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11089
11144
  # }
11090
11145
  #
11091
11146
  # @example Streaming a file from disk
@@ -11124,6 +11179,7 @@ module Aws::S3
11124
11179
  # sse_customer_key_md5: "SSECustomerKeyMD5",
11125
11180
  # ssekms_key_id: "SSEKMSKeyId",
11126
11181
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
11182
+ # bucket_key_enabled: false,
11127
11183
  # request_payer: "requester", # accepts requester
11128
11184
  # tagging: "TaggingHeader",
11129
11185
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -11142,6 +11198,7 @@ module Aws::S3
11142
11198
  # resp.sse_customer_key_md5 #=> String
11143
11199
  # resp.ssekms_key_id #=> String
11144
11200
  # resp.ssekms_encryption_context #=> String
11201
+ # resp.bucket_key_enabled #=> Boolean
11145
11202
  # resp.request_charged #=> String, one of "requester"
11146
11203
  #
11147
11204
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject AWS API Documentation
@@ -13053,6 +13110,7 @@ module Aws::S3
13053
13110
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
13054
13111
  # * {Types::UploadPartOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
13055
13112
  # * {Types::UploadPartOutput#ssekms_key_id #ssekms_key_id} => String
13113
+ # * {Types::UploadPartOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
13056
13114
  # * {Types::UploadPartOutput#request_charged #request_charged} => String
13057
13115
  #
13058
13116
  #
@@ -13098,6 +13156,7 @@ module Aws::S3
13098
13156
  # resp.sse_customer_algorithm #=> String
13099
13157
  # resp.sse_customer_key_md5 #=> String
13100
13158
  # resp.ssekms_key_id #=> String
13159
+ # resp.bucket_key_enabled #=> Boolean
13101
13160
  # resp.request_charged #=> String, one of "requester"
13102
13161
  #
13103
13162
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart AWS API Documentation
@@ -13403,48 +13462,49 @@ module Aws::S3
13403
13462
  # * {Types::UploadPartCopyOutput#sse_customer_algorithm #sse_customer_algorithm} => String
13404
13463
  # * {Types::UploadPartCopyOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
13405
13464
  # * {Types::UploadPartCopyOutput#ssekms_key_id #ssekms_key_id} => String
13465
+ # * {Types::UploadPartCopyOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
13406
13466
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
13407
13467
  #
13408
13468
  #
13409
- # @example Example: To upload a part by copying byte range from an existing object as data source
13469
+ # @example Example: To upload a part by copying data from an existing object as data source
13410
13470
  #
13411
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13412
- # # data source.
13471
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13413
13472
  #
13414
13473
  # resp = client.upload_part_copy({
13415
13474
  # bucket: "examplebucket",
13416
13475
  # copy_source: "/bucketname/sourceobjectkey",
13417
- # copy_source_range: "bytes=1-100000",
13418
13476
  # key: "examplelargeobject",
13419
- # part_number: 2,
13477
+ # part_number: 1,
13420
13478
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13421
13479
  # })
13422
13480
  #
13423
13481
  # resp.to_h outputs the following:
13424
13482
  # {
13425
13483
  # copy_part_result: {
13426
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13427
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13484
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13485
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13428
13486
  # },
13429
13487
  # }
13430
13488
  #
13431
- # @example Example: To upload a part by copying data from an existing object as data source
13489
+ # @example Example: To upload a part by copying byte range from an existing object as data source
13432
13490
  #
13433
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13491
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13492
+ # # data source.
13434
13493
  #
13435
13494
  # resp = client.upload_part_copy({
13436
13495
  # bucket: "examplebucket",
13437
13496
  # copy_source: "/bucketname/sourceobjectkey",
13497
+ # copy_source_range: "bytes=1-100000",
13438
13498
  # key: "examplelargeobject",
13439
- # part_number: 1,
13499
+ # part_number: 2,
13440
13500
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13441
13501
  # })
13442
13502
  #
13443
13503
  # resp.to_h outputs the following:
13444
13504
  # {
13445
13505
  # copy_part_result: {
13446
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13447
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13506
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13507
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13448
13508
  # },
13449
13509
  # }
13450
13510
  #
@@ -13481,6 +13541,7 @@ module Aws::S3
13481
13541
  # resp.sse_customer_algorithm #=> String
13482
13542
  # resp.sse_customer_key_md5 #=> String
13483
13543
  # resp.ssekms_key_id #=> String
13544
+ # resp.bucket_key_enabled #=> Boolean
13484
13545
  # resp.request_charged #=> String, one of "requester"
13485
13546
  #
13486
13547
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy AWS API Documentation
@@ -13505,7 +13566,7 @@ module Aws::S3
13505
13566
  params: params,
13506
13567
  config: config)
13507
13568
  context[:gem_name] = 'aws-sdk-s3'
13508
- context[:gem_version] = '1.85.0'
13569
+ context[:gem_version] = '1.86.0'
13509
13570
  Seahorse::Client::Request.new(handlers, context)
13510
13571
  end
13511
13572