aws-sdk-s3 1.119.2 → 1.158.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +263 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
  6. data/lib/aws-sdk-s3/bucket.rb +573 -133
  7. data/lib/aws-sdk-s3/bucket_acl.rb +18 -12
  8. data/lib/aws-sdk-s3/bucket_cors.rb +24 -16
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -16
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +24 -16
  11. data/lib/aws-sdk-s3/bucket_logging.rb +25 -12
  12. data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +70 -18
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -12
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +24 -16
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +42 -32
  18. data/lib/aws-sdk-s3/bucket_website.rb +24 -16
  19. data/lib/aws-sdk-s3/client.rb +6866 -3226
  20. data/lib/aws-sdk-s3/client_api.rb +162 -21
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +16 -3
  23. data/lib/aws-sdk-s3/customizations/object.rb +91 -18
  24. data/lib/aws-sdk-s3/customizations.rb +8 -0
  25. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  26. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  29. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  30. data/lib/aws-sdk-s3/endpoint_parameters.rb +44 -0
  31. data/lib/aws-sdk-s3/endpoint_provider.rb +186 -327
  32. data/lib/aws-sdk-s3/endpoints.rb +540 -0
  33. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  34. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  35. data/lib/aws-sdk-s3/file_downloader.rb +169 -44
  36. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  37. data/lib/aws-sdk-s3/multipart_file_uploader.rb +4 -4
  38. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +10 -7
  39. data/lib/aws-sdk-s3/multipart_upload.rb +81 -20
  40. data/lib/aws-sdk-s3/multipart_upload_part.rb +169 -38
  41. data/lib/aws-sdk-s3/object.rb +1590 -275
  42. data/lib/aws-sdk-s3/object_acl.rb +38 -18
  43. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  44. data/lib/aws-sdk-s3/object_multipart_copier.rb +42 -24
  45. data/lib/aws-sdk-s3/object_summary.rb +1437 -285
  46. data/lib/aws-sdk-s3/object_version.rb +350 -51
  47. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  48. data/lib/aws-sdk-s3/plugins/endpoints.rb +14 -2
  49. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  50. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  51. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  52. data/lib/aws-sdk-s3/plugins/md5s.rb +2 -1
  53. data/lib/aws-sdk-s3/plugins/s3_signer.rb +20 -13
  54. data/lib/aws-sdk-s3/presigned_post.rb +52 -43
  55. data/lib/aws-sdk-s3/presigner.rb +8 -4
  56. data/lib/aws-sdk-s3/resource.rb +99 -21
  57. data/lib/aws-sdk-s3/types.rb +5285 -1632
  58. data/lib/aws-sdk-s3.rb +1 -1
  59. data/sig/bucket.rbs +212 -0
  60. data/sig/bucket_acl.rbs +78 -0
  61. data/sig/bucket_cors.rbs +69 -0
  62. data/sig/bucket_lifecycle.rbs +88 -0
  63. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  64. data/sig/bucket_logging.rbs +76 -0
  65. data/sig/bucket_notification.rbs +114 -0
  66. data/sig/bucket_policy.rbs +59 -0
  67. data/sig/bucket_request_payment.rbs +54 -0
  68. data/sig/bucket_tagging.rbs +65 -0
  69. data/sig/bucket_versioning.rbs +77 -0
  70. data/sig/bucket_website.rbs +93 -0
  71. data/sig/client.rbs +2385 -0
  72. data/sig/customizations/bucket.rbs +19 -0
  73. data/sig/customizations/object.rbs +38 -0
  74. data/sig/customizations/object_summary.rbs +35 -0
  75. data/sig/errors.rbs +34 -0
  76. data/sig/multipart_upload.rbs +110 -0
  77. data/sig/multipart_upload_part.rbs +105 -0
  78. data/sig/object.rbs +442 -0
  79. data/sig/object_acl.rbs +86 -0
  80. data/sig/object_summary.rbs +334 -0
  81. data/sig/object_version.rbs +137 -0
  82. data/sig/resource.rbs +128 -0
  83. data/sig/types.rbs +2575 -0
  84. data/sig/waiters.rbs +95 -0
  85. metadata +43 -11
@@ -93,7 +93,7 @@ module Aws::S3
93
93
  data[:is_latest]
94
94
  end
95
95
 
96
- # Date and time the object was last modified.
96
+ # Date and time when the object was last modified.
97
97
  # @return [Time]
98
98
  def last_modified
99
99
  data[:last_modified]
@@ -105,6 +105,20 @@ module Aws::S3
105
105
  data[:owner]
106
106
  end
107
107
 
108
+ # Specifies the restoration status of an object. Objects in certain
109
+ # storage classes must be restored before they can be retrieved. For
110
+ # more information about these storage classes and how to work with
111
+ # archived objects, see [ Working with archived objects][1] in the
112
+ # *Amazon S3 User Guide*.
113
+ #
114
+ #
115
+ #
116
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html
117
+ # @return [Types::RestoreStatus]
118
+ def restore_status
119
+ data[:restore_status]
120
+ end
121
+
108
122
  # @!endgroup
109
123
 
110
124
  # @return [Client]
@@ -229,7 +243,9 @@ module Aws::S3
229
243
  :retry
230
244
  end
231
245
  end
232
- Aws::Waiters::Waiter.new(options).wait({})
246
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
247
+ Aws::Waiters::Waiter.new(options).wait({})
248
+ end
233
249
  end
234
250
 
235
251
  # @!group Actions
@@ -248,13 +264,23 @@ module Aws::S3
248
264
  # space, and the value that is displayed on your authentication device.
249
265
  # Required to permanently delete a versioned object if versioning is
250
266
  # configured with MFA delete enabled.
267
+ #
268
+ # <note markdown="1"> This functionality is not supported for directory buckets.
269
+ #
270
+ # </note>
251
271
  # @option options [String] :request_payer
252
272
  # Confirms that the requester knows that they will be charged for the
253
273
  # request. Bucket owners need not specify this parameter in their
254
- # requests. For information about downloading objects from Requester
274
+ # requests. If either the source or destination S3 bucket has Requester
275
+ # Pays enabled, the requester will pay for corresponding charges to copy
276
+ # the object. For information about downloading objects from Requester
255
277
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
256
278
  # in the *Amazon S3 User Guide*.
257
279
  #
280
+ # <note markdown="1"> This functionality is not supported for directory buckets.
281
+ #
282
+ # </note>
283
+ #
258
284
  #
259
285
  #
260
286
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
@@ -262,10 +288,14 @@ module Aws::S3
262
288
  # Indicates whether S3 Object Lock should bypass Governance-mode
263
289
  # restrictions to process this operation. To use this header, you must
264
290
  # have the `s3:BypassGovernanceRetention` permission.
291
+ #
292
+ # <note markdown="1"> This functionality is not supported for directory buckets.
293
+ #
294
+ # </note>
265
295
  # @option options [String] :expected_bucket_owner
266
- # The account ID of the expected bucket owner. If the bucket is owned by
267
- # a different account, the request fails with the HTTP status code `403
268
- # Forbidden` (access denied).
296
+ # The account ID of the expected bucket owner. If the account ID that
297
+ # you provide does not match the actual owner of the bucket, the request
298
+ # fails with the HTTP status code `403 Forbidden` (access denied).
269
299
  # @return [Types::DeleteObjectOutput]
270
300
  def delete(options = {})
271
301
  options = options.merge(
@@ -273,7 +303,9 @@ module Aws::S3
273
303
  key: @object_key,
274
304
  version_id: @id
275
305
  )
276
- resp = @client.delete_object(options)
306
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
307
+ @client.delete_object(options)
308
+ end
277
309
  resp.data
278
310
  end
279
311
 
@@ -302,20 +334,66 @@ module Aws::S3
302
334
  # @param [Hash] options ({})
303
335
  # @option options [String] :if_match
304
336
  # Return the object only if its entity tag (ETag) is the same as the one
305
- # specified; otherwise, return a 412 (precondition failed) error.
337
+ # specified in this header; otherwise, return a `412 Precondition
338
+ # Failed` error.
339
+ #
340
+ # If both of the `If-Match` and `If-Unmodified-Since` headers are
341
+ # present in the request as follows: `If-Match` condition evaluates to
342
+ # `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
343
+ # then, S3 returns `200 OK` and the data requested.
344
+ #
345
+ # For more information about conditional requests, see [RFC 7232][1].
346
+ #
347
+ #
348
+ #
349
+ # [1]: https://tools.ietf.org/html/rfc7232
306
350
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
307
351
  # Return the object only if it has been modified since the specified
308
- # time; otherwise, return a 304 (not modified) error.
352
+ # time; otherwise, return a `304 Not Modified` error.
353
+ #
354
+ # If both of the `If-None-Match` and `If-Modified-Since` headers are
355
+ # present in the request as follows:` If-None-Match` condition evaluates
356
+ # to `false`, and; `If-Modified-Since` condition evaluates to `true`;
357
+ # then, S3 returns `304 Not Modified` status code.
358
+ #
359
+ # For more information about conditional requests, see [RFC 7232][1].
360
+ #
361
+ #
362
+ #
363
+ # [1]: https://tools.ietf.org/html/rfc7232
309
364
  # @option options [String] :if_none_match
310
365
  # Return the object only if its entity tag (ETag) is different from the
311
- # one specified; otherwise, return a 304 (not modified) error.
366
+ # one specified in this header; otherwise, return a `304 Not Modified`
367
+ # error.
368
+ #
369
+ # If both of the `If-None-Match` and `If-Modified-Since` headers are
370
+ # present in the request as follows:` If-None-Match` condition evaluates
371
+ # to `false`, and; `If-Modified-Since` condition evaluates to `true`;
372
+ # then, S3 returns `304 Not Modified` HTTP status code.
373
+ #
374
+ # For more information about conditional requests, see [RFC 7232][1].
375
+ #
376
+ #
377
+ #
378
+ # [1]: https://tools.ietf.org/html/rfc7232
312
379
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
313
380
  # Return the object only if it has not been modified since the specified
314
- # time; otherwise, return a 412 (precondition failed) error.
381
+ # time; otherwise, return a `412 Precondition Failed` error.
382
+ #
383
+ # If both of the `If-Match` and `If-Unmodified-Since` headers are
384
+ # present in the request as follows: `If-Match` condition evaluates to
385
+ # `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
386
+ # then, S3 returns `200 OK` and the data requested.
387
+ #
388
+ # For more information about conditional requests, see [RFC 7232][1].
389
+ #
390
+ #
391
+ #
392
+ # [1]: https://tools.ietf.org/html/rfc7232
315
393
  # @option options [String] :range
316
- # Downloads the specified range bytes of an object. For more information
394
+ # Downloads the specified byte range of an object. For more information
317
395
  # about the HTTP Range header, see
318
- # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
396
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
319
397
  #
320
398
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
321
399
  # `GET` request.
@@ -324,11 +402,11 @@ module Aws::S3
324
402
  #
325
403
  #
326
404
  #
327
- # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
405
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
328
406
  # @option options [String] :response_cache_control
329
407
  # Sets the `Cache-Control` header of the response.
330
408
  # @option options [String] :response_content_disposition
331
- # Sets the `Content-Disposition` header of the response
409
+ # Sets the `Content-Disposition` header of the response.
332
410
  # @option options [String] :response_content_encoding
333
411
  # Sets the `Content-Encoding` header of the response.
334
412
  # @option options [String] :response_content_language
@@ -338,25 +416,99 @@ module Aws::S3
338
416
  # @option options [Time,DateTime,Date,Integer,String] :response_expires
339
417
  # Sets the `Expires` header of the response.
340
418
  # @option options [String] :sse_customer_algorithm
341
- # Specifies the algorithm to use to when decrypting the object (for
342
- # example, AES256).
419
+ # Specifies the algorithm to use when decrypting the object (for
420
+ # example, `AES256`).
421
+ #
422
+ # If you encrypt an object by using server-side encryption with
423
+ # customer-provided encryption keys (SSE-C) when you store the object in
424
+ # Amazon S3, then when you GET the object, you must use the following
425
+ # headers:
426
+ #
427
+ # * `x-amz-server-side-encryption-customer-algorithm`
428
+ #
429
+ # * `x-amz-server-side-encryption-customer-key`
430
+ #
431
+ # * `x-amz-server-side-encryption-customer-key-MD5`
432
+ #
433
+ # For more information about SSE-C, see [Server-Side Encryption (Using
434
+ # Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
435
+ #
436
+ # <note markdown="1"> This functionality is not supported for directory buckets.
437
+ #
438
+ # </note>
439
+ #
440
+ #
441
+ #
442
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
343
443
  # @option options [String] :sse_customer_key
344
- # Specifies the customer-provided encryption key for Amazon S3 used to
345
- # encrypt the data. This value is used to decrypt the object when
346
- # recovering it and must match the one used when storing the data. The
347
- # key must be appropriate for use with the algorithm specified in the
444
+ # Specifies the customer-provided encryption key that you originally
445
+ # provided for Amazon S3 to encrypt the data before storing it. This
446
+ # value is used to decrypt the object when recovering it and must match
447
+ # the one used when storing the data. The key must be appropriate for
448
+ # use with the algorithm specified in the
348
449
  # `x-amz-server-side-encryption-customer-algorithm` header.
450
+ #
451
+ # If you encrypt an object by using server-side encryption with
452
+ # customer-provided encryption keys (SSE-C) when you store the object in
453
+ # Amazon S3, then when you GET the object, you must use the following
454
+ # headers:
455
+ #
456
+ # * `x-amz-server-side-encryption-customer-algorithm`
457
+ #
458
+ # * `x-amz-server-side-encryption-customer-key`
459
+ #
460
+ # * `x-amz-server-side-encryption-customer-key-MD5`
461
+ #
462
+ # For more information about SSE-C, see [Server-Side Encryption (Using
463
+ # Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
464
+ #
465
+ # <note markdown="1"> This functionality is not supported for directory buckets.
466
+ #
467
+ # </note>
468
+ #
469
+ #
470
+ #
471
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
349
472
  # @option options [String] :sse_customer_key_md5
350
- # Specifies the 128-bit MD5 digest of the encryption key according to
351
- # RFC 1321. Amazon S3 uses this header for a message integrity check to
352
- # ensure that the encryption key was transmitted without error.
473
+ # Specifies the 128-bit MD5 digest of the customer-provided encryption
474
+ # key according to RFC 1321. Amazon S3 uses this header for a message
475
+ # integrity check to ensure that the encryption key was transmitted
476
+ # without error.
477
+ #
478
+ # If you encrypt an object by using server-side encryption with
479
+ # customer-provided encryption keys (SSE-C) when you store the object in
480
+ # Amazon S3, then when you GET the object, you must use the following
481
+ # headers:
482
+ #
483
+ # * `x-amz-server-side-encryption-customer-algorithm`
484
+ #
485
+ # * `x-amz-server-side-encryption-customer-key`
486
+ #
487
+ # * `x-amz-server-side-encryption-customer-key-MD5`
488
+ #
489
+ # For more information about SSE-C, see [Server-Side Encryption (Using
490
+ # Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
491
+ #
492
+ # <note markdown="1"> This functionality is not supported for directory buckets.
493
+ #
494
+ # </note>
495
+ #
496
+ #
497
+ #
498
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
353
499
  # @option options [String] :request_payer
354
500
  # Confirms that the requester knows that they will be charged for the
355
501
  # request. Bucket owners need not specify this parameter in their
356
- # requests. For information about downloading objects from Requester
502
+ # requests. If either the source or destination S3 bucket has Requester
503
+ # Pays enabled, the requester will pay for corresponding charges to copy
504
+ # the object. For information about downloading objects from Requester
357
505
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
358
506
  # in the *Amazon S3 User Guide*.
359
507
  #
508
+ # <note markdown="1"> This functionality is not supported for directory buckets.
509
+ #
510
+ # </note>
511
+ #
360
512
  #
361
513
  #
362
514
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
@@ -366,9 +518,9 @@ module Aws::S3
366
518
  # for the part specified. Useful for downloading just a part of an
367
519
  # object.
368
520
  # @option options [String] :expected_bucket_owner
369
- # The account ID of the expected bucket owner. If the bucket is owned by
370
- # a different account, the request fails with the HTTP status code `403
371
- # Forbidden` (access denied).
521
+ # The account ID of the expected bucket owner. If the account ID that
522
+ # you provide does not match the actual owner of the bucket, the request
523
+ # fails with the HTTP status code `403 Forbidden` (access denied).
372
524
  # @option options [String] :checksum_mode
373
525
  # To retrieve the checksum, this mode must be enabled.
374
526
  # @return [Types::GetObjectOutput]
@@ -378,7 +530,9 @@ module Aws::S3
378
530
  key: @object_key,
379
531
  version_id: @id
380
532
  )
381
- resp = @client.get_object(options, &block)
533
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
534
+ @client.get_object(options, &block)
535
+ end
382
536
  resp.data
383
537
  end
384
538
 
@@ -390,6 +544,12 @@ module Aws::S3
390
544
  # if_none_match: "IfNoneMatch",
391
545
  # if_unmodified_since: Time.now,
392
546
  # range: "Range",
547
+ # response_cache_control: "ResponseCacheControl",
548
+ # response_content_disposition: "ResponseContentDisposition",
549
+ # response_content_encoding: "ResponseContentEncoding",
550
+ # response_content_language: "ResponseContentLanguage",
551
+ # response_content_type: "ResponseContentType",
552
+ # response_expires: Time.now,
393
553
  # sse_customer_algorithm: "SSECustomerAlgorithm",
394
554
  # sse_customer_key: "SSECustomerKey",
395
555
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -402,38 +562,130 @@ module Aws::S3
402
562
  # @option options [String] :if_match
403
563
  # Return the object only if its entity tag (ETag) is the same as the one
404
564
  # specified; otherwise, return a 412 (precondition failed) error.
565
+ #
566
+ # If both of the `If-Match` and `If-Unmodified-Since` headers are
567
+ # present in the request as follows:
568
+ #
569
+ # * `If-Match` condition evaluates to `true`, and;
570
+ #
571
+ # * `If-Unmodified-Since` condition evaluates to `false`;
572
+ #
573
+ # Then Amazon S3 returns `200 OK` and the data requested.
574
+ #
575
+ # For more information about conditional requests, see [RFC 7232][1].
576
+ #
577
+ #
578
+ #
579
+ # [1]: https://tools.ietf.org/html/rfc7232
405
580
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
406
581
  # Return the object only if it has been modified since the specified
407
582
  # time; otherwise, return a 304 (not modified) error.
583
+ #
584
+ # If both of the `If-None-Match` and `If-Modified-Since` headers are
585
+ # present in the request as follows:
586
+ #
587
+ # * `If-None-Match` condition evaluates to `false`, and;
588
+ #
589
+ # * `If-Modified-Since` condition evaluates to `true`;
590
+ #
591
+ # Then Amazon S3 returns the `304 Not Modified` response code.
592
+ #
593
+ # For more information about conditional requests, see [RFC 7232][1].
594
+ #
595
+ #
596
+ #
597
+ # [1]: https://tools.ietf.org/html/rfc7232
408
598
  # @option options [String] :if_none_match
409
599
  # Return the object only if its entity tag (ETag) is different from the
410
600
  # one specified; otherwise, return a 304 (not modified) error.
601
+ #
602
+ # If both of the `If-None-Match` and `If-Modified-Since` headers are
603
+ # present in the request as follows:
604
+ #
605
+ # * `If-None-Match` condition evaluates to `false`, and;
606
+ #
607
+ # * `If-Modified-Since` condition evaluates to `true`;
608
+ #
609
+ # Then Amazon S3 returns the `304 Not Modified` response code.
610
+ #
611
+ # For more information about conditional requests, see [RFC 7232][1].
612
+ #
613
+ #
614
+ #
615
+ # [1]: https://tools.ietf.org/html/rfc7232
411
616
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
412
617
  # Return the object only if it has not been modified since the specified
413
618
  # time; otherwise, return a 412 (precondition failed) error.
619
+ #
620
+ # If both of the `If-Match` and `If-Unmodified-Since` headers are
621
+ # present in the request as follows:
622
+ #
623
+ # * `If-Match` condition evaluates to `true`, and;
624
+ #
625
+ # * `If-Unmodified-Since` condition evaluates to `false`;
626
+ #
627
+ # Then Amazon S3 returns `200 OK` and the data requested.
628
+ #
629
+ # For more information about conditional requests, see [RFC 7232][1].
630
+ #
631
+ #
632
+ #
633
+ # [1]: https://tools.ietf.org/html/rfc7232
414
634
  # @option options [String] :range
415
- # Because `HeadObject` returns only the metadata for an object, this
416
- # parameter has no effect.
635
+ # HeadObject returns only the metadata for an object. If the Range is
636
+ # satisfiable, only the `ContentLength` is affected in the response. If
637
+ # the Range is not satisfiable, S3 returns a `416 - Requested Range Not
638
+ # Satisfiable` error.
639
+ # @option options [String] :response_cache_control
640
+ # Sets the `Cache-Control` header of the response.
641
+ # @option options [String] :response_content_disposition
642
+ # Sets the `Content-Disposition` header of the response.
643
+ # @option options [String] :response_content_encoding
644
+ # Sets the `Content-Encoding` header of the response.
645
+ # @option options [String] :response_content_language
646
+ # Sets the `Content-Language` header of the response.
647
+ # @option options [String] :response_content_type
648
+ # Sets the `Content-Type` header of the response.
649
+ # @option options [Time,DateTime,Date,Integer,String] :response_expires
650
+ # Sets the `Expires` header of the response.
417
651
  # @option options [String] :sse_customer_algorithm
418
- # Specifies the algorithm to use to when encrypting the object (for
652
+ # Specifies the algorithm to use when encrypting the object (for
419
653
  # example, AES256).
654
+ #
655
+ # <note markdown="1"> This functionality is not supported for directory buckets.
656
+ #
657
+ # </note>
420
658
  # @option options [String] :sse_customer_key
421
659
  # Specifies the customer-provided encryption key for Amazon S3 to use in
422
660
  # encrypting data. This value is used to store the object and then it is
423
661
  # discarded; Amazon S3 does not store the encryption key. The key must
424
662
  # be appropriate for use with the algorithm specified in the
425
663
  # `x-amz-server-side-encryption-customer-algorithm` header.
664
+ #
665
+ # <note markdown="1"> This functionality is not supported for directory buckets.
666
+ #
667
+ # </note>
426
668
  # @option options [String] :sse_customer_key_md5
427
669
  # Specifies the 128-bit MD5 digest of the encryption key according to
428
670
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
429
671
  # ensure that the encryption key was transmitted without error.
672
+ #
673
+ # <note markdown="1"> This functionality is not supported for directory buckets.
674
+ #
675
+ # </note>
430
676
  # @option options [String] :request_payer
431
677
  # Confirms that the requester knows that they will be charged for the
432
678
  # request. Bucket owners need not specify this parameter in their
433
- # requests. For information about downloading objects from Requester
679
+ # requests. If either the source or destination S3 bucket has Requester
680
+ # Pays enabled, the requester will pay for corresponding charges to copy
681
+ # the object. For information about downloading objects from Requester
434
682
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
435
683
  # in the *Amazon S3 User Guide*.
436
684
  #
685
+ # <note markdown="1"> This functionality is not supported for directory buckets.
686
+ #
687
+ # </note>
688
+ #
437
689
  #
438
690
  #
439
691
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
@@ -443,9 +695,9 @@ module Aws::S3
443
695
  # for the part specified. Useful querying about the size of the part and
444
696
  # the number of parts in this object.
445
697
  # @option options [String] :expected_bucket_owner
446
- # The account ID of the expected bucket owner. If the bucket is owned by
447
- # a different account, the request fails with the HTTP status code `403
448
- # Forbidden` (access denied).
698
+ # The account ID of the expected bucket owner. If the account ID that
699
+ # you provide does not match the actual owner of the bucket, the request
700
+ # fails with the HTTP status code `403 Forbidden` (access denied).
449
701
  # @option options [String] :checksum_mode
450
702
  # To retrieve the checksum, this parameter must be enabled.
451
703
  #
@@ -460,7 +712,9 @@ module Aws::S3
460
712
  key: @object_key,
461
713
  version_id: @id
462
714
  )
463
- resp = @client.head_object(options)
715
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
716
+ @client.head_object(options)
717
+ end
464
718
  resp.data
465
719
  end
466
720
 
@@ -540,13 +794,36 @@ module Aws::S3
540
794
  # space, and the value that is displayed on your authentication device.
541
795
  # Required to permanently delete a versioned object if versioning is
542
796
  # configured with MFA delete enabled.
797
+ #
798
+ # When performing the `DeleteObjects` operation on an MFA delete enabled
799
+ # bucket, which attempts to delete the specified versioned objects, you
800
+ # must include an MFA token. If you don't provide an MFA token, the
801
+ # entire request will fail, even if there are non-versioned objects that
802
+ # you are trying to delete. If you provide an invalid token, whether
803
+ # there are versioned object keys in the request or not, the entire
804
+ # Multi-Object Delete request will fail. For information about MFA
805
+ # Delete, see [ MFA Delete][1] in the *Amazon S3 User Guide*.
806
+ #
807
+ # <note markdown="1"> This functionality is not supported for directory buckets.
808
+ #
809
+ # </note>
810
+ #
811
+ #
812
+ #
813
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
543
814
  # @option options [String] :request_payer
544
815
  # Confirms that the requester knows that they will be charged for the
545
816
  # request. Bucket owners need not specify this parameter in their
546
- # requests. For information about downloading objects from Requester
817
+ # requests. If either the source or destination S3 bucket has Requester
818
+ # Pays enabled, the requester will pay for corresponding charges to copy
819
+ # the object. For information about downloading objects from Requester
547
820
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
548
821
  # in the *Amazon S3 User Guide*.
549
822
  #
823
+ # <note markdown="1"> This functionality is not supported for directory buckets.
824
+ #
825
+ # </note>
826
+ #
550
827
  #
551
828
  #
552
829
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
@@ -554,25 +831,45 @@ module Aws::S3
554
831
  # Specifies whether you want to delete this object even if it has a
555
832
  # Governance-type Object Lock in place. To use this header, you must
556
833
  # have the `s3:BypassGovernanceRetention` permission.
834
+ #
835
+ # <note markdown="1"> This functionality is not supported for directory buckets.
836
+ #
837
+ # </note>
557
838
  # @option options [String] :expected_bucket_owner
558
- # The account ID of the expected bucket owner. If the bucket is owned by
559
- # a different account, the request fails with the HTTP status code `403
560
- # Forbidden` (access denied).
839
+ # The account ID of the expected bucket owner. If the account ID that
840
+ # you provide does not match the actual owner of the bucket, the request
841
+ # fails with the HTTP status code `403 Forbidden` (access denied).
561
842
  # @option options [String] :checksum_algorithm
562
843
  # Indicates the algorithm used to create the checksum for the object
563
- # when using the SDK. This header will not provide any additional
564
- # functionality if not using the SDK. When sending this header, there
565
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
566
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
567
- # `400 Bad Request`. For more information, see [Checking object
568
- # integrity][1] in the *Amazon S3 User Guide*.
844
+ # when you use the SDK. This header will not provide any additional
845
+ # functionality if you don't use the SDK. When you send this header,
846
+ # there must be a corresponding `x-amz-checksum-algorithm ` or
847
+ # `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
848
+ # with the HTTP status code `400 Bad Request`.
849
+ #
850
+ # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
851
+ # the supported algorithm from the following list:
852
+ #
853
+ # * CRC32
854
+ #
855
+ # * CRC32C
856
+ #
857
+ # * SHA1
858
+ #
859
+ # * SHA256
860
+ #
861
+ # For more information, see [Checking object integrity][1] in the
862
+ # *Amazon S3 User Guide*.
863
+ #
864
+ # If the individual checksum value you provide through
865
+ # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
866
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
867
+ # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
868
+ # that matches the provided value in `x-amz-checksum-algorithm `.
569
869
  #
570
870
  # If you provide an individual checksum, Amazon S3 ignores any provided
571
871
  # `ChecksumAlgorithm` parameter.
572
872
  #
573
- # This checksum algorithm must be the same for all parts and it match
574
- # the checksum value supplied in the `CreateMultipartUpload` request.
575
- #
576
873
  #
577
874
  #
578
875
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
@@ -589,7 +886,9 @@ module Aws::S3
589
886
  version_id: item.id
590
887
  }
591
888
  end
592
- batch[0].client.delete_objects(params)
889
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
890
+ batch[0].client.delete_objects(params)
891
+ end
593
892
  end
594
893
  nil
595
894
  end