aws-sdk-s3 1.121.0 → 1.123.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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +48 -25
  5. data/lib/aws-sdk-s3/bucket_acl.rb +9 -3
  6. data/lib/aws-sdk-s3/bucket_cors.rb +12 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +12 -4
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +12 -4
  9. data/lib/aws-sdk-s3/bucket_logging.rb +9 -3
  10. data/lib/aws-sdk-s3/bucket_notification.rb +9 -3
  11. data/lib/aws-sdk-s3/bucket_policy.rb +12 -4
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +9 -3
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +12 -4
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +15 -5
  15. data/lib/aws-sdk-s3/bucket_website.rb +12 -4
  16. data/lib/aws-sdk-s3/client.rb +1547 -1300
  17. data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
  18. data/lib/aws-sdk-s3/customizations/object.rb +28 -18
  19. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  20. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  21. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  22. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  23. data/lib/aws-sdk-s3/file_downloader.rb +28 -24
  24. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  25. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +5 -3
  26. data/lib/aws-sdk-s3/multipart_upload.rb +12 -4
  27. data/lib/aws-sdk-s3/multipart_upload_part.rb +9 -3
  28. data/lib/aws-sdk-s3/object.rb +77 -48
  29. data/lib/aws-sdk-s3/object_acl.rb +9 -3
  30. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  31. data/lib/aws-sdk-s3/object_summary.rb +63 -37
  32. data/lib/aws-sdk-s3/object_version.rb +21 -9
  33. data/lib/aws-sdk-s3/resource.rb +6 -2
  34. data/lib/aws-sdk-s3/types.rb +403 -263
  35. data/lib/aws-sdk-s3.rb +1 -1
  36. metadata +4 -4
@@ -239,11 +239,8 @@ module Aws::S3
239
239
  data[:website_redirect_location]
240
240
  end
241
241
 
242
- # If the object is stored using server-side encryption either with an
243
- # Amazon Web Services KMS key or an Amazon S3-managed encryption key,
244
- # the response includes this header with the value of the server-side
245
- # encryption algorithm used when storing this object in Amazon S3 (for
246
- # example, AES256, aws:kms).
242
+ # The server-side encryption algorithm used when storing this object in
243
+ # Amazon S3 (for example, AES256, `aws:kms`).
247
244
  # @return [String]
248
245
  def server_side_encryption
249
246
  data[:server_side_encryption]
@@ -273,8 +270,8 @@ module Aws::S3
273
270
  end
274
271
 
275
272
  # If present, specifies the ID of the Amazon Web Services Key Management
276
- # Service (Amazon Web Services KMS) symmetric customer managed key that
277
- # was used for the object.
273
+ # Service (Amazon Web Services KMS) symmetric encryption customer
274
+ # managed key that was used for the object.
278
275
  # @return [String]
279
276
  def ssekms_key_id
280
277
  data[:ssekms_key_id]
@@ -410,10 +407,12 @@ module Aws::S3
410
407
  #
411
408
  # @return [self]
412
409
  def load
413
- resp = @client.head_object(
410
+ resp = Aws::Plugins::UserAgent.feature('resource') do
411
+ @client.head_object(
414
412
  bucket: @bucket_name,
415
413
  key: @key
416
414
  )
415
+ end
417
416
  @data = resp.data
418
417
  self
419
418
  end
@@ -458,8 +457,10 @@ module Aws::S3
458
457
  options, params = separate_params_and_options(options)
459
458
  waiter = Waiters::ObjectExists.new(options)
460
459
  yield_waiter_and_warn(waiter, &block) if block_given?
461
- waiter.wait(params.merge(bucket: @bucket_name,
460
+ Aws::Plugins::UserAgent.feature('resource') do
461
+ waiter.wait(params.merge(bucket: @bucket_name,
462
462
  key: @key))
463
+ end
463
464
  Object.new({
464
465
  bucket_name: @bucket_name,
465
466
  key: @key,
@@ -477,8 +478,10 @@ module Aws::S3
477
478
  options, params = separate_params_and_options(options)
478
479
  waiter = Waiters::ObjectNotExists.new(options)
479
480
  yield_waiter_and_warn(waiter, &block) if block_given?
480
- waiter.wait(params.merge(bucket: @bucket_name,
481
+ Aws::Plugins::UserAgent.feature('resource') do
482
+ waiter.wait(params.merge(bucket: @bucket_name,
481
483
  key: @key))
484
+ end
482
485
  Object.new({
483
486
  bucket_name: @bucket_name,
484
487
  key: @key,
@@ -580,7 +583,9 @@ module Aws::S3
580
583
  :retry
581
584
  end
582
585
  end
583
- Aws::Waiters::Waiter.new(options).wait({})
586
+ Aws::Plugins::UserAgent.feature('resource') do
587
+ Aws::Waiters::Waiter.new(options).wait({})
588
+ end
584
589
  end
585
590
 
586
591
  # @!group Actions
@@ -740,7 +745,7 @@ module Aws::S3
740
745
  # or replaced with tag-set provided in the request.
741
746
  # @option options [String] :server_side_encryption
742
747
  # The server-side encryption algorithm used when storing this object in
743
- # Amazon S3 (for example, AES256, aws:kms).
748
+ # Amazon S3 (for example, AES256, `aws:kms`).
744
749
  # @option options [String] :storage_class
745
750
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
746
751
  # created objects. The STANDARD storage class provides high durability
@@ -755,7 +760,10 @@ module Aws::S3
755
760
  # @option options [String] :website_redirect_location
756
761
  # If the bucket is configured as a website, redirects requests for this
757
762
  # object to another object in the same bucket or to an external URL.
758
- # Amazon S3 stores the value of this header in the object metadata.
763
+ # Amazon S3 stores the value of this header in the object metadata. This
764
+ # value is unique to each object and is not copied when using the
765
+ # `x-amz-metadata-directive` header. Instead, you may opt to provide
766
+ # this header in combination with the directive.
759
767
  # @option options [String] :sse_customer_algorithm
760
768
  # Specifies the algorithm to use to when encrypting the object (for
761
769
  # example, AES256).
@@ -839,7 +847,9 @@ module Aws::S3
839
847
  bucket: @bucket_name,
840
848
  key: @key
841
849
  )
842
- resp = @client.copy_object(options)
850
+ resp = Aws::Plugins::UserAgent.feature('resource') do
851
+ @client.copy_object(options)
852
+ end
843
853
  resp.data
844
854
  end
845
855
 
@@ -884,7 +894,9 @@ module Aws::S3
884
894
  bucket: @bucket_name,
885
895
  key: @key
886
896
  )
887
- resp = @client.delete_object(options)
897
+ resp = Aws::Plugins::UserAgent.feature('resource') do
898
+ @client.delete_object(options)
899
+ end
888
900
  resp.data
889
901
  end
890
902
 
@@ -927,7 +939,7 @@ module Aws::S3
927
939
  # @option options [String] :range
928
940
  # Downloads the specified range bytes of an object. For more information
929
941
  # about the HTTP Range header, see
930
- # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
942
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
931
943
  #
932
944
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
933
945
  # `GET` request.
@@ -936,7 +948,7 @@ module Aws::S3
936
948
  #
937
949
  #
938
950
  #
939
- # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
951
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
940
952
  # @option options [String] :response_cache_control
941
953
  # Sets the `Cache-Control` header of the response.
942
954
  # @option options [String] :response_content_disposition
@@ -991,7 +1003,9 @@ module Aws::S3
991
1003
  bucket: @bucket_name,
992
1004
  key: @key
993
1005
  )
994
- resp = @client.get_object(options, &block)
1006
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1007
+ @client.get_object(options, &block)
1008
+ end
995
1009
  resp.data
996
1010
  end
997
1011
 
@@ -1069,7 +1083,7 @@ module Aws::S3
1069
1083
  # A map of metadata to store with the object in S3.
1070
1084
  # @option options [String] :server_side_encryption
1071
1085
  # The server-side encryption algorithm used when storing this object in
1072
- # Amazon S3 (for example, AES256, aws:kms).
1086
+ # Amazon S3 (for example, AES256, `aws:kms`).
1073
1087
  # @option options [String] :storage_class
1074
1088
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1075
1089
  # created objects. The STANDARD storage class provides high durability
@@ -1099,13 +1113,13 @@ module Aws::S3
1099
1113
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
1100
1114
  # ensure that the encryption key was transmitted without error.
1101
1115
  # @option options [String] :ssekms_key_id
1102
- # Specifies the ID of the symmetric customer managed key to use for
1103
- # object encryption. All GET and PUT requests for an object protected by
1104
- # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
1105
- # For information about configuring using any of the officially
1106
- # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
1107
- # [Specifying the Signature Version in Request Authentication][1] in the
1108
- # *Amazon S3 User Guide*.
1116
+ # Specifies the ID of the symmetric encryption customer managed key to
1117
+ # use for object encryption. All GET and PUT requests for an object
1118
+ # protected by Amazon Web Services KMS will fail if not made via SSL or
1119
+ # using SigV4. For information about configuring using any of the
1120
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
1121
+ # CLI, see [Specifying the Signature Version in Request
1122
+ # Authentication][1] in the *Amazon S3 User Guide*.
1109
1123
  #
1110
1124
  #
1111
1125
  #
@@ -1161,7 +1175,9 @@ module Aws::S3
1161
1175
  bucket: @bucket_name,
1162
1176
  key: @key
1163
1177
  )
1164
- resp = @client.create_multipart_upload(options)
1178
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1179
+ @client.create_multipart_upload(options)
1180
+ end
1165
1181
  MultipartUpload.new(
1166
1182
  bucket_name: @bucket_name,
1167
1183
  object_key: @key,
@@ -1234,30 +1250,30 @@ module Aws::S3
1234
1250
  # @option options [String] :content_disposition
1235
1251
  # Specifies presentational information for the object. For more
1236
1252
  # information, see
1237
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
1253
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
1238
1254
  #
1239
1255
  #
1240
1256
  #
1241
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
1257
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
1242
1258
  # @option options [String] :content_encoding
1243
1259
  # Specifies what content encodings have been applied to the object and
1244
1260
  # thus what decoding mechanisms must be applied to obtain the media-type
1245
1261
  # referenced by the Content-Type header field. For more information, see
1246
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
1262
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
1247
1263
  #
1248
1264
  #
1249
1265
  #
1250
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
1266
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
1251
1267
  # @option options [String] :content_language
1252
1268
  # The language the content is in.
1253
1269
  # @option options [Integer] :content_length
1254
1270
  # Size of the body in bytes. This parameter is useful when the size of
1255
1271
  # the body cannot be determined automatically. For more information, see
1256
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
1272
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
1257
1273
  #
1258
1274
  #
1259
1275
  #
1260
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
1276
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
1261
1277
  # @option options [String] :content_md5
1262
1278
  # The base64-encoded 128-bit MD5 digest of the message (without the
1263
1279
  # headers) according to RFC 1864. This header can be used as a message
@@ -1273,11 +1289,11 @@ module Aws::S3
1273
1289
  # @option options [String] :content_type
1274
1290
  # A standard MIME type describing the format of the contents. For more
1275
1291
  # information, see
1276
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
1292
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
1277
1293
  #
1278
1294
  #
1279
1295
  #
1280
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
1296
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
1281
1297
  # @option options [String] :checksum_algorithm
1282
1298
  # Indicates the algorithm used to create the checksum for the object
1283
1299
  # when using the SDK. This header will not provide any additional
@@ -1336,11 +1352,11 @@ module Aws::S3
1336
1352
  # @option options [Time,DateTime,Date,Integer,String] :expires
1337
1353
  # The date and time at which the object is no longer cacheable. For more
1338
1354
  # information, see
1339
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
1355
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
1340
1356
  #
1341
1357
  #
1342
1358
  #
1343
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
1359
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
1344
1360
  # @option options [String] :grant_full_control
1345
1361
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1346
1362
  # object.
@@ -1362,7 +1378,7 @@ module Aws::S3
1362
1378
  # A map of metadata to store with the object in S3.
1363
1379
  # @option options [String] :server_side_encryption
1364
1380
  # The server-side encryption algorithm used when storing this object in
1365
- # Amazon S3 (for example, AES256, aws:kms).
1381
+ # Amazon S3 (for example, AES256, `aws:kms`).
1366
1382
  # @option options [String] :storage_class
1367
1383
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1368
1384
  # created objects. The STANDARD storage class provides high durability
@@ -1413,9 +1429,9 @@ module Aws::S3
1413
1429
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
1414
1430
  # ensure that the encryption key was transmitted without error.
1415
1431
  # @option options [String] :ssekms_key_id
1416
- # If `x-amz-server-side-encryption` is present and has the value of
1417
- # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
1418
- # Management Service (Amazon Web Services KMS) symmetrical customer
1432
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
1433
+ # header specifies the ID of the Amazon Web Services Key Management
1434
+ # Service (Amazon Web Services KMS) symmetric encryption customer
1419
1435
  # managed key that was used for the object. If you specify
1420
1436
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
1421
1437
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
@@ -1425,7 +1441,10 @@ module Aws::S3
1425
1441
  # @option options [String] :ssekms_encryption_context
1426
1442
  # Specifies the Amazon Web Services KMS Encryption Context to use for
1427
1443
  # object encryption. The value of this header is a base64-encoded UTF-8
1428
- # string holding JSON with the encryption context key-value pairs.
1444
+ # string holding JSON with the encryption context key-value pairs. This
1445
+ # value is stored as object metadata and automatically gets passed on to
1446
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
1447
+ # operations on this object.
1429
1448
  # @option options [Boolean] :bucket_key_enabled
1430
1449
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1431
1450
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -1469,7 +1488,9 @@ module Aws::S3
1469
1488
  bucket: @bucket_name,
1470
1489
  key: @key
1471
1490
  )
1472
- resp = @client.put_object(options)
1491
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1492
+ @client.put_object(options)
1493
+ end
1473
1494
  resp.data
1474
1495
  end
1475
1496
 
@@ -1602,7 +1623,9 @@ module Aws::S3
1602
1623
  bucket: @bucket_name,
1603
1624
  key: @key
1604
1625
  )
1605
- resp = @client.restore_object(options)
1626
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1627
+ @client.restore_object(options)
1628
+ end
1606
1629
  resp.data
1607
1630
  end
1608
1631
 
@@ -1637,8 +1660,10 @@ module Aws::S3
1637
1660
  # Return the object only if it has not been modified since the specified
1638
1661
  # time; otherwise, return a 412 (precondition failed) error.
1639
1662
  # @option options [String] :range
1640
- # Because `HeadObject` returns only the metadata for an object, this
1641
- # parameter has no effect.
1663
+ # HeadObject returns only the metadata for an object. If the Range is
1664
+ # satisfiable, only the `ContentLength` is affected in the response. If
1665
+ # the Range is not satisfiable, S3 returns a `416 - Requested Range Not
1666
+ # Satisfiable` error.
1642
1667
  # @option options [String] :version_id
1643
1668
  # VersionId used to reference a specific version of the object.
1644
1669
  # @option options [String] :sse_customer_algorithm
@@ -1686,7 +1711,9 @@ module Aws::S3
1686
1711
  bucket: @bucket_name,
1687
1712
  key: @key
1688
1713
  )
1689
- resp = @client.head_object(options)
1714
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1715
+ @client.head_object(options)
1716
+ end
1690
1717
  resp.data
1691
1718
  end
1692
1719
 
@@ -1859,7 +1886,9 @@ module Aws::S3
1859
1886
  key: item.key
1860
1887
  }
1861
1888
  end
1862
- batch[0].client.delete_objects(params)
1889
+ Aws::Plugins::UserAgent.feature('resource') do
1890
+ batch[0].client.delete_objects(params)
1891
+ end
1863
1892
  end
1864
1893
  nil
1865
1894
  end
@@ -75,10 +75,12 @@ module Aws::S3
75
75
  #
76
76
  # @return [self]
77
77
  def load
78
- resp = @client.get_object_acl(
78
+ resp = Aws::Plugins::UserAgent.feature('resource') do
79
+ @client.get_object_acl(
79
80
  bucket: @bucket_name,
80
81
  key: @object_key
81
82
  )
83
+ end
82
84
  @data = resp.data
83
85
  self
84
86
  end
@@ -193,7 +195,9 @@ module Aws::S3
193
195
  :retry
194
196
  end
195
197
  end
196
- Aws::Waiters::Waiter.new(options).wait({})
198
+ Aws::Plugins::UserAgent.feature('resource') do
199
+ Aws::Waiters::Waiter.new(options).wait({})
200
+ end
197
201
  end
198
202
 
199
203
  # @!group Actions
@@ -314,7 +318,9 @@ module Aws::S3
314
318
  bucket: @bucket_name,
315
319
  key: @object_key
316
320
  )
317
- resp = @client.put_object_acl(options)
321
+ resp = Aws::Plugins::UserAgent.feature('resource') do
322
+ @client.put_object_acl(options)
323
+ end
318
324
  resp.data
319
325
  end
320
326
 
@@ -28,11 +28,13 @@ module Aws
28
28
  options[:bucket] = target_bucket
29
29
  options[:key] = target_key
30
30
  options[:copy_source] = copy_source(source)
31
- if options.delete(:multipart_copy)
32
- apply_source_client(source, options)
33
- ObjectMultipartCopier.new(@options).copy(options)
34
- else
35
- @object.client.copy_object(options)
31
+ Aws::Plugins::UserAgent.feature('s3-transfer') do
32
+ if options.delete(:multipart_copy)
33
+ apply_source_client(source, options)
34
+ ObjectMultipartCopier.new(@options).copy(options)
35
+ else
36
+ @object.client.copy_object(options)
37
+ end
36
38
  end
37
39
  end
38
40
 
@@ -152,8 +152,10 @@ module Aws::S3
152
152
  options, params = separate_params_and_options(options)
153
153
  waiter = Waiters::ObjectExists.new(options)
154
154
  yield_waiter_and_warn(waiter, &block) if block_given?
155
- waiter.wait(params.merge(bucket: @bucket_name,
155
+ Aws::Plugins::UserAgent.feature('resource') do
156
+ waiter.wait(params.merge(bucket: @bucket_name,
156
157
  key: @key))
158
+ end
157
159
  ObjectSummary.new({
158
160
  bucket_name: @bucket_name,
159
161
  key: @key,
@@ -171,8 +173,10 @@ module Aws::S3
171
173
  options, params = separate_params_and_options(options)
172
174
  waiter = Waiters::ObjectNotExists.new(options)
173
175
  yield_waiter_and_warn(waiter, &block) if block_given?
174
- waiter.wait(params.merge(bucket: @bucket_name,
176
+ Aws::Plugins::UserAgent.feature('resource') do
177
+ waiter.wait(params.merge(bucket: @bucket_name,
175
178
  key: @key))
179
+ end
176
180
  ObjectSummary.new({
177
181
  bucket_name: @bucket_name,
178
182
  key: @key,
@@ -274,7 +278,9 @@ module Aws::S3
274
278
  :retry
275
279
  end
276
280
  end
277
- Aws::Waiters::Waiter.new(options).wait({})
281
+ Aws::Plugins::UserAgent.feature('resource') do
282
+ Aws::Waiters::Waiter.new(options).wait({})
283
+ end
278
284
  end
279
285
 
280
286
  # @!group Actions
@@ -434,7 +440,7 @@ module Aws::S3
434
440
  # or replaced with tag-set provided in the request.
435
441
  # @option options [String] :server_side_encryption
436
442
  # The server-side encryption algorithm used when storing this object in
437
- # Amazon S3 (for example, AES256, aws:kms).
443
+ # Amazon S3 (for example, AES256, `aws:kms`).
438
444
  # @option options [String] :storage_class
439
445
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
440
446
  # created objects. The STANDARD storage class provides high durability
@@ -449,7 +455,10 @@ module Aws::S3
449
455
  # @option options [String] :website_redirect_location
450
456
  # If the bucket is configured as a website, redirects requests for this
451
457
  # object to another object in the same bucket or to an external URL.
452
- # Amazon S3 stores the value of this header in the object metadata.
458
+ # Amazon S3 stores the value of this header in the object metadata. This
459
+ # value is unique to each object and is not copied when using the
460
+ # `x-amz-metadata-directive` header. Instead, you may opt to provide
461
+ # this header in combination with the directive.
453
462
  # @option options [String] :sse_customer_algorithm
454
463
  # Specifies the algorithm to use to when encrypting the object (for
455
464
  # example, AES256).
@@ -533,7 +542,9 @@ module Aws::S3
533
542
  bucket: @bucket_name,
534
543
  key: @key
535
544
  )
536
- resp = @client.copy_object(options)
545
+ resp = Aws::Plugins::UserAgent.feature('resource') do
546
+ @client.copy_object(options)
547
+ end
537
548
  resp.data
538
549
  end
539
550
 
@@ -578,7 +589,9 @@ module Aws::S3
578
589
  bucket: @bucket_name,
579
590
  key: @key
580
591
  )
581
- resp = @client.delete_object(options)
592
+ resp = Aws::Plugins::UserAgent.feature('resource') do
593
+ @client.delete_object(options)
594
+ end
582
595
  resp.data
583
596
  end
584
597
 
@@ -621,7 +634,7 @@ module Aws::S3
621
634
  # @option options [String] :range
622
635
  # Downloads the specified range bytes of an object. For more information
623
636
  # about the HTTP Range header, see
624
- # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
637
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
625
638
  #
626
639
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
627
640
  # `GET` request.
@@ -630,7 +643,7 @@ module Aws::S3
630
643
  #
631
644
  #
632
645
  #
633
- # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
646
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
634
647
  # @option options [String] :response_cache_control
635
648
  # Sets the `Cache-Control` header of the response.
636
649
  # @option options [String] :response_content_disposition
@@ -685,7 +698,9 @@ module Aws::S3
685
698
  bucket: @bucket_name,
686
699
  key: @key
687
700
  )
688
- resp = @client.get_object(options, &block)
701
+ resp = Aws::Plugins::UserAgent.feature('resource') do
702
+ @client.get_object(options, &block)
703
+ end
689
704
  resp.data
690
705
  end
691
706
 
@@ -763,7 +778,7 @@ module Aws::S3
763
778
  # A map of metadata to store with the object in S3.
764
779
  # @option options [String] :server_side_encryption
765
780
  # The server-side encryption algorithm used when storing this object in
766
- # Amazon S3 (for example, AES256, aws:kms).
781
+ # Amazon S3 (for example, AES256, `aws:kms`).
767
782
  # @option options [String] :storage_class
768
783
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
769
784
  # created objects. The STANDARD storage class provides high durability
@@ -793,13 +808,13 @@ module Aws::S3
793
808
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
794
809
  # ensure that the encryption key was transmitted without error.
795
810
  # @option options [String] :ssekms_key_id
796
- # Specifies the ID of the symmetric customer managed key to use for
797
- # object encryption. All GET and PUT requests for an object protected by
798
- # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
799
- # For information about configuring using any of the officially
800
- # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
801
- # [Specifying the Signature Version in Request Authentication][1] in the
802
- # *Amazon S3 User Guide*.
811
+ # Specifies the ID of the symmetric encryption customer managed key to
812
+ # use for object encryption. All GET and PUT requests for an object
813
+ # protected by Amazon Web Services KMS will fail if not made via SSL or
814
+ # using SigV4. For information about configuring using any of the
815
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
816
+ # CLI, see [Specifying the Signature Version in Request
817
+ # Authentication][1] in the *Amazon S3 User Guide*.
803
818
  #
804
819
  #
805
820
  #
@@ -855,7 +870,9 @@ module Aws::S3
855
870
  bucket: @bucket_name,
856
871
  key: @key
857
872
  )
858
- resp = @client.create_multipart_upload(options)
873
+ resp = Aws::Plugins::UserAgent.feature('resource') do
874
+ @client.create_multipart_upload(options)
875
+ end
859
876
  MultipartUpload.new(
860
877
  bucket_name: @bucket_name,
861
878
  object_key: @key,
@@ -928,30 +945,30 @@ module Aws::S3
928
945
  # @option options [String] :content_disposition
929
946
  # Specifies presentational information for the object. For more
930
947
  # information, see
931
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
948
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
932
949
  #
933
950
  #
934
951
  #
935
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
952
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
936
953
  # @option options [String] :content_encoding
937
954
  # Specifies what content encodings have been applied to the object and
938
955
  # thus what decoding mechanisms must be applied to obtain the media-type
939
956
  # referenced by the Content-Type header field. For more information, see
940
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
957
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
941
958
  #
942
959
  #
943
960
  #
944
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
961
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
945
962
  # @option options [String] :content_language
946
963
  # The language the content is in.
947
964
  # @option options [Integer] :content_length
948
965
  # Size of the body in bytes. This parameter is useful when the size of
949
966
  # the body cannot be determined automatically. For more information, see
950
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
967
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
951
968
  #
952
969
  #
953
970
  #
954
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
971
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
955
972
  # @option options [String] :content_md5
956
973
  # The base64-encoded 128-bit MD5 digest of the message (without the
957
974
  # headers) according to RFC 1864. This header can be used as a message
@@ -967,11 +984,11 @@ module Aws::S3
967
984
  # @option options [String] :content_type
968
985
  # A standard MIME type describing the format of the contents. For more
969
986
  # information, see
970
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
987
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
971
988
  #
972
989
  #
973
990
  #
974
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
991
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
975
992
  # @option options [String] :checksum_algorithm
976
993
  # Indicates the algorithm used to create the checksum for the object
977
994
  # when using the SDK. This header will not provide any additional
@@ -1030,11 +1047,11 @@ module Aws::S3
1030
1047
  # @option options [Time,DateTime,Date,Integer,String] :expires
1031
1048
  # The date and time at which the object is no longer cacheable. For more
1032
1049
  # information, see
1033
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
1050
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
1034
1051
  #
1035
1052
  #
1036
1053
  #
1037
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
1054
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
1038
1055
  # @option options [String] :grant_full_control
1039
1056
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1040
1057
  # object.
@@ -1056,7 +1073,7 @@ module Aws::S3
1056
1073
  # A map of metadata to store with the object in S3.
1057
1074
  # @option options [String] :server_side_encryption
1058
1075
  # The server-side encryption algorithm used when storing this object in
1059
- # Amazon S3 (for example, AES256, aws:kms).
1076
+ # Amazon S3 (for example, AES256, `aws:kms`).
1060
1077
  # @option options [String] :storage_class
1061
1078
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1062
1079
  # created objects. The STANDARD storage class provides high durability
@@ -1107,9 +1124,9 @@ module Aws::S3
1107
1124
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
1108
1125
  # ensure that the encryption key was transmitted without error.
1109
1126
  # @option options [String] :ssekms_key_id
1110
- # If `x-amz-server-side-encryption` is present and has the value of
1111
- # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
1112
- # Management Service (Amazon Web Services KMS) symmetrical customer
1127
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
1128
+ # header specifies the ID of the Amazon Web Services Key Management
1129
+ # Service (Amazon Web Services KMS) symmetric encryption customer
1113
1130
  # managed key that was used for the object. If you specify
1114
1131
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
1115
1132
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
@@ -1119,7 +1136,10 @@ module Aws::S3
1119
1136
  # @option options [String] :ssekms_encryption_context
1120
1137
  # Specifies the Amazon Web Services KMS Encryption Context to use for
1121
1138
  # object encryption. The value of this header is a base64-encoded UTF-8
1122
- # string holding JSON with the encryption context key-value pairs.
1139
+ # string holding JSON with the encryption context key-value pairs. This
1140
+ # value is stored as object metadata and automatically gets passed on to
1141
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
1142
+ # operations on this object.
1123
1143
  # @option options [Boolean] :bucket_key_enabled
1124
1144
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1125
1145
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -1163,7 +1183,9 @@ module Aws::S3
1163
1183
  bucket: @bucket_name,
1164
1184
  key: @key
1165
1185
  )
1166
- resp = @client.put_object(options)
1186
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1187
+ @client.put_object(options)
1188
+ end
1167
1189
  resp.data
1168
1190
  end
1169
1191
 
@@ -1296,7 +1318,9 @@ module Aws::S3
1296
1318
  bucket: @bucket_name,
1297
1319
  key: @key
1298
1320
  )
1299
- resp = @client.restore_object(options)
1321
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1322
+ @client.restore_object(options)
1323
+ end
1300
1324
  resp.data
1301
1325
  end
1302
1326
 
@@ -1478,7 +1502,9 @@ module Aws::S3
1478
1502
  key: item.key
1479
1503
  }
1480
1504
  end
1481
- batch[0].client.delete_objects(params)
1505
+ Aws::Plugins::UserAgent.feature('resource') do
1506
+ batch[0].client.delete_objects(params)
1507
+ end
1482
1508
  end
1483
1509
  nil
1484
1510
  end