aws-sdk-s3 1.119.2 → 1.158.0

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