aws-sdk-s3 1.122.0 → 1.136.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +94 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +108 -49
  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 +727 -626
  17. data/lib/aws-sdk-s3/client_api.rb +24 -0
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
  19. data/lib/aws-sdk-s3/customizations/errors.rb +1 -1
  20. data/lib/aws-sdk-s3/customizations/object.rb +91 -18
  21. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  22. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  23. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  24. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  25. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  26. data/lib/aws-sdk-s3/endpoint_parameters.rb +4 -0
  27. data/lib/aws-sdk-s3/endpoint_provider.rb +22 -246
  28. data/lib/aws-sdk-s3/endpoints.rb +1 -0
  29. data/lib/aws-sdk-s3/file_downloader.rb +170 -44
  30. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  31. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +5 -3
  32. data/lib/aws-sdk-s3/multipart_upload.rb +27 -13
  33. data/lib/aws-sdk-s3/multipart_upload_part.rb +19 -9
  34. data/lib/aws-sdk-s3/object.rb +125 -84
  35. data/lib/aws-sdk-s3/object_acl.rb +14 -6
  36. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  37. data/lib/aws-sdk-s3/object_multipart_copier.rb +33 -17
  38. data/lib/aws-sdk-s3/object_summary.rb +123 -74
  39. data/lib/aws-sdk-s3/object_version.rb +49 -17
  40. data/lib/aws-sdk-s3/presigned_post.rb +52 -43
  41. data/lib/aws-sdk-s3/presigner.rb +4 -2
  42. data/lib/aws-sdk-s3/resource.rb +7 -3
  43. data/lib/aws-sdk-s3/types.rb +529 -299
  44. data/lib/aws-sdk-s3.rb +1 -1
  45. metadata +6 -6
@@ -98,6 +98,20 @@ module Aws::S3
98
98
  data[:owner]
99
99
  end
100
100
 
101
+ # Specifies the restoration status of an object. Objects in certain
102
+ # storage classes must be restored before they can be retrieved. For
103
+ # more information about these storage classes and how to work with
104
+ # archived objects, see [ Working with archived objects][1] in the
105
+ # *Amazon S3 User Guide*.
106
+ #
107
+ #
108
+ #
109
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html
110
+ # @return [Types::RestoreStatus]
111
+ def restore_status
112
+ data[:restore_status]
113
+ end
114
+
101
115
  # @!endgroup
102
116
 
103
117
  # @return [Client]
@@ -152,8 +166,10 @@ module Aws::S3
152
166
  options, params = separate_params_and_options(options)
153
167
  waiter = Waiters::ObjectExists.new(options)
154
168
  yield_waiter_and_warn(waiter, &block) if block_given?
155
- waiter.wait(params.merge(bucket: @bucket_name,
169
+ Aws::Plugins::UserAgent.feature('resource') do
170
+ waiter.wait(params.merge(bucket: @bucket_name,
156
171
  key: @key))
172
+ end
157
173
  ObjectSummary.new({
158
174
  bucket_name: @bucket_name,
159
175
  key: @key,
@@ -171,8 +187,10 @@ module Aws::S3
171
187
  options, params = separate_params_and_options(options)
172
188
  waiter = Waiters::ObjectNotExists.new(options)
173
189
  yield_waiter_and_warn(waiter, &block) if block_given?
174
- waiter.wait(params.merge(bucket: @bucket_name,
190
+ Aws::Plugins::UserAgent.feature('resource') do
191
+ waiter.wait(params.merge(bucket: @bucket_name,
175
192
  key: @key))
193
+ end
176
194
  ObjectSummary.new({
177
195
  bucket_name: @bucket_name,
178
196
  key: @key,
@@ -274,7 +292,9 @@ module Aws::S3
274
292
  :retry
275
293
  end
276
294
  end
277
- Aws::Waiters::Waiter.new(options).wait({})
295
+ Aws::Plugins::UserAgent.feature('resource') do
296
+ Aws::Waiters::Waiter.new(options).wait({})
297
+ end
278
298
  end
279
299
 
280
300
  # @!group Actions
@@ -304,7 +324,7 @@ module Aws::S3
304
324
  # },
305
325
  # metadata_directive: "COPY", # accepts COPY, REPLACE
306
326
  # tagging_directive: "COPY", # accepts COPY, REPLACE
307
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
327
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
308
328
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
309
329
  # website_redirect_location: "WebsiteRedirectLocation",
310
330
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -434,14 +454,15 @@ module Aws::S3
434
454
  # or replaced with tag-set provided in the request.
435
455
  # @option options [String] :server_side_encryption
436
456
  # The server-side encryption algorithm used when storing this object in
437
- # Amazon S3 (for example, AES256, `aws:kms`).
457
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
438
458
  # @option options [String] :storage_class
439
- # By default, Amazon S3 uses the STANDARD Storage Class to store newly
440
- # created objects. The STANDARD storage class provides high durability
441
- # and high availability. Depending on performance needs, you can specify
442
- # a different Storage Class. Amazon S3 on Outposts only uses the
443
- # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
444
- # in the *Amazon S3 User Guide*.
459
+ # If the `x-amz-storage-class` header is not used, the copied object
460
+ # will be stored in the STANDARD Storage Class by default. The STANDARD
461
+ # storage class provides high durability and high availability.
462
+ # Depending on performance needs, you can specify a different Storage
463
+ # Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For
464
+ # more information, see [Storage Classes][1] in the *Amazon S3 User
465
+ # Guide*.
445
466
  #
446
467
  #
447
468
  #
@@ -467,13 +488,12 @@ module Aws::S3
467
488
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
468
489
  # ensure that the encryption key was transmitted without error.
469
490
  # @option options [String] :ssekms_key_id
470
- # Specifies the Amazon Web Services KMS key ID to use for object
471
- # encryption. All GET and PUT requests for an object protected by Amazon
472
- # Web Services KMS will fail if not made via SSL or using SigV4. For
473
- # information about configuring using any of the officially supported
474
- # Amazon Web Services SDKs and Amazon Web Services CLI, see [Specifying
475
- # the Signature Version in Request Authentication][1] in the *Amazon S3
476
- # User Guide*.
491
+ # Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
492
+ # encryption. All GET and PUT requests for an object protected by KMS
493
+ # will fail if they're not made via SSL or using SigV4. For information
494
+ # about configuring any of the officially supported Amazon Web Services
495
+ # SDKs and Amazon Web Services CLI, see [Specifying the Signature
496
+ # Version in Request Authentication][1] in the *Amazon S3 User Guide*.
477
497
  #
478
498
  #
479
499
  #
@@ -484,9 +504,9 @@ module Aws::S3
484
504
  # string holding JSON with the encryption context key-value pairs.
485
505
  # @option options [Boolean] :bucket_key_enabled
486
506
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
487
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
488
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
489
- # for object encryption with SSE-KMS.
507
+ # encryption with server-side encryption using Key Management Service
508
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
509
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
490
510
  #
491
511
  # Specifying this header with a COPY action doesn’t affect bucket-level
492
512
  # settings for S3 Bucket Key.
@@ -504,9 +524,11 @@ module Aws::S3
504
524
  # @option options [String] :request_payer
505
525
  # Confirms that the requester knows that they will be charged for the
506
526
  # request. Bucket owners need not specify this parameter in their
507
- # requests. For information about downloading objects from Requester
508
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
509
- # in the *Amazon S3 User Guide*.
527
+ # requests. If either the source or destination Amazon S3 bucket has
528
+ # Requester Pays enabled, the requester will pay for corresponding
529
+ # charges to copy the object. For information about downloading objects
530
+ # from Requester Pays buckets, see [Downloading Objects in Requester
531
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
510
532
  #
511
533
  #
512
534
  #
@@ -536,7 +558,9 @@ module Aws::S3
536
558
  bucket: @bucket_name,
537
559
  key: @key
538
560
  )
539
- resp = @client.copy_object(options)
561
+ resp = Aws::Plugins::UserAgent.feature('resource') do
562
+ @client.copy_object(options)
563
+ end
540
564
  resp.data
541
565
  end
542
566
 
@@ -560,9 +584,11 @@ module Aws::S3
560
584
  # @option options [String] :request_payer
561
585
  # Confirms that the requester knows that they will be charged for the
562
586
  # request. Bucket owners need not specify this parameter in their
563
- # requests. For information about downloading objects from Requester
564
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
565
- # in the *Amazon S3 User Guide*.
587
+ # requests. If either the source or destination Amazon S3 bucket has
588
+ # Requester Pays enabled, the requester will pay for corresponding
589
+ # charges to copy the object. For information about downloading objects
590
+ # from Requester Pays buckets, see [Downloading Objects in Requester
591
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
566
592
  #
567
593
  #
568
594
  #
@@ -581,7 +607,9 @@ module Aws::S3
581
607
  bucket: @bucket_name,
582
608
  key: @key
583
609
  )
584
- resp = @client.delete_object(options)
610
+ resp = Aws::Plugins::UserAgent.feature('resource') do
611
+ @client.delete_object(options)
612
+ end
585
613
  resp.data
586
614
  end
587
615
 
@@ -664,9 +692,11 @@ module Aws::S3
664
692
  # @option options [String] :request_payer
665
693
  # Confirms that the requester knows that they will be charged for the
666
694
  # request. Bucket owners need not specify this parameter in their
667
- # requests. For information about downloading objects from Requester
668
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
669
- # in the *Amazon S3 User Guide*.
695
+ # requests. If either the source or destination Amazon S3 bucket has
696
+ # Requester Pays enabled, the requester will pay for corresponding
697
+ # charges to copy the object. For information about downloading objects
698
+ # from Requester Pays buckets, see [Downloading Objects in Requester
699
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
670
700
  #
671
701
  #
672
702
  #
@@ -688,7 +718,9 @@ module Aws::S3
688
718
  bucket: @bucket_name,
689
719
  key: @key
690
720
  )
691
- resp = @client.get_object(options, &block)
721
+ resp = Aws::Plugins::UserAgent.feature('resource') do
722
+ @client.get_object(options, &block)
723
+ end
692
724
  resp.data
693
725
  end
694
726
 
@@ -709,7 +741,7 @@ module Aws::S3
709
741
  # metadata: {
710
742
  # "MetadataKey" => "MetadataValue",
711
743
  # },
712
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
744
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
713
745
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
714
746
  # website_redirect_location: "WebsiteRedirectLocation",
715
747
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -766,7 +798,7 @@ module Aws::S3
766
798
  # A map of metadata to store with the object in S3.
767
799
  # @option options [String] :server_side_encryption
768
800
  # The server-side encryption algorithm used when storing this object in
769
- # Amazon S3 (for example, AES256, `aws:kms`).
801
+ # Amazon S3 (for example, `AES256`, `aws:kms`).
770
802
  # @option options [String] :storage_class
771
803
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
772
804
  # created objects. The STANDARD storage class provides high durability
@@ -796,12 +828,12 @@ module Aws::S3
796
828
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
797
829
  # ensure that the encryption key was transmitted without error.
798
830
  # @option options [String] :ssekms_key_id
799
- # Specifies the ID of the symmetric encryption customer managed key to
800
- # use for object encryption. All GET and PUT requests for an object
801
- # protected by Amazon Web Services KMS will fail if not made via SSL or
802
- # using SigV4. For information about configuring using any of the
803
- # officially supported Amazon Web Services SDKs and Amazon Web Services
804
- # CLI, see [Specifying the Signature Version in Request
831
+ # Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric
832
+ # encryption customer managed key to use for object encryption. All GET
833
+ # and PUT requests for an object protected by KMS will fail if they're
834
+ # not made via SSL or using SigV4. For information about configuring any
835
+ # of the officially supported Amazon Web Services SDKs and Amazon Web
836
+ # Services CLI, see [Specifying the Signature Version in Request
805
837
  # Authentication][1] in the *Amazon S3 User Guide*.
806
838
  #
807
839
  #
@@ -813,18 +845,20 @@ module Aws::S3
813
845
  # string holding JSON with the encryption context key-value pairs.
814
846
  # @option options [Boolean] :bucket_key_enabled
815
847
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
816
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
817
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
818
- # for object encryption with SSE-KMS.
848
+ # encryption with server-side encryption using Key Management Service
849
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
850
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
819
851
  #
820
852
  # Specifying this header with an object action doesn’t affect
821
853
  # bucket-level settings for S3 Bucket Key.
822
854
  # @option options [String] :request_payer
823
855
  # Confirms that the requester knows that they will be charged for the
824
856
  # request. Bucket owners need not specify this parameter in their
825
- # requests. For information about downloading objects from Requester
826
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
827
- # in the *Amazon S3 User Guide*.
857
+ # requests. If either the source or destination Amazon S3 bucket has
858
+ # Requester Pays enabled, the requester will pay for corresponding
859
+ # charges to copy the object. For information about downloading objects
860
+ # from Requester Pays buckets, see [Downloading Objects in Requester
861
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
828
862
  #
829
863
  #
830
864
  #
@@ -858,7 +892,9 @@ module Aws::S3
858
892
  bucket: @bucket_name,
859
893
  key: @key
860
894
  )
861
- resp = @client.create_multipart_upload(options)
895
+ resp = Aws::Plugins::UserAgent.feature('resource') do
896
+ @client.create_multipart_upload(options)
897
+ end
862
898
  MultipartUpload.new(
863
899
  bucket_name: @bucket_name,
864
900
  object_key: @key,
@@ -892,7 +928,7 @@ module Aws::S3
892
928
  # metadata: {
893
929
  # "MetadataKey" => "MetadataValue",
894
930
  # },
895
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
931
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
896
932
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
897
933
  # website_redirect_location: "WebsiteRedirectLocation",
898
934
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -1059,7 +1095,7 @@ module Aws::S3
1059
1095
  # A map of metadata to store with the object in S3.
1060
1096
  # @option options [String] :server_side_encryption
1061
1097
  # The server-side encryption algorithm used when storing this object in
1062
- # Amazon S3 (for example, AES256, `aws:kms`).
1098
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
1063
1099
  # @option options [String] :storage_class
1064
1100
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1065
1101
  # created objects. The STANDARD storage class provides high durability
@@ -1110,15 +1146,16 @@ module Aws::S3
1110
1146
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
1111
1147
  # ensure that the encryption key was transmitted without error.
1112
1148
  # @option options [String] :ssekms_key_id
1113
- # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
1114
- # header specifies the ID of the Amazon Web Services Key Management
1115
- # Service (Amazon Web Services KMS) symmetric encryption customer
1116
- # managed key that was used for the object. If you specify
1117
- # `x-amz-server-side-encryption:aws:kms`, but do not provide`
1149
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
1150
+ # `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
1151
+ # Alias) of the Key Management Service (KMS) symmetric encryption
1152
+ # customer managed key that was used for the object. If you specify
1153
+ # `x-amz-server-side-encryption:aws:kms` or
1154
+ # `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
1118
1155
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
1119
- # Amazon Web Services managed key to protect the data. If the KMS key
1120
- # does not exist in the same account issuing the command, you must use
1121
- # the full ARN and not just the ID.
1156
+ # Amazon Web Services managed key (`aws/s3`) to protect the data. If the
1157
+ # KMS key does not exist in the same account that's issuing the
1158
+ # command, you must use the full ARN and not just the ID.
1122
1159
  # @option options [String] :ssekms_encryption_context
1123
1160
  # Specifies the Amazon Web Services KMS Encryption Context to use for
1124
1161
  # object encryption. The value of this header is a base64-encoded UTF-8
@@ -1128,18 +1165,20 @@ module Aws::S3
1128
1165
  # operations on this object.
1129
1166
  # @option options [Boolean] :bucket_key_enabled
1130
1167
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1131
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
1132
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1133
- # for object encryption with SSE-KMS.
1168
+ # encryption with server-side encryption using Key Management Service
1169
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
1170
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
1134
1171
  #
1135
1172
  # Specifying this header with a PUT action doesn’t affect bucket-level
1136
1173
  # settings for S3 Bucket Key.
1137
1174
  # @option options [String] :request_payer
1138
1175
  # Confirms that the requester knows that they will be charged for the
1139
1176
  # request. Bucket owners need not specify this parameter in their
1140
- # requests. For information about downloading objects from Requester
1141
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1142
- # in the *Amazon S3 User Guide*.
1177
+ # requests. If either the source or destination Amazon S3 bucket has
1178
+ # Requester Pays enabled, the requester will pay for corresponding
1179
+ # charges to copy the object. For information about downloading objects
1180
+ # from Requester Pays buckets, see [Downloading Objects in Requester
1181
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
1143
1182
  #
1144
1183
  #
1145
1184
  #
@@ -1169,7 +1208,9 @@ module Aws::S3
1169
1208
  bucket: @bucket_name,
1170
1209
  key: @key
1171
1210
  )
1172
- resp = @client.put_object(options)
1211
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1212
+ @client.put_object(options)
1213
+ end
1173
1214
  resp.data
1174
1215
  end
1175
1216
 
@@ -1223,7 +1264,7 @@ module Aws::S3
1223
1264
  # bucket_name: "BucketName", # required
1224
1265
  # prefix: "LocationPrefix", # required
1225
1266
  # encryption: {
1226
- # encryption_type: "AES256", # required, accepts AES256, aws:kms
1267
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
1227
1268
  # kms_key_id: "SSEKMSKeyId",
1228
1269
  # kms_context: "KMSContext",
1229
1270
  # },
@@ -1270,9 +1311,11 @@ module Aws::S3
1270
1311
  # @option options [String] :request_payer
1271
1312
  # Confirms that the requester knows that they will be charged for the
1272
1313
  # request. Bucket owners need not specify this parameter in their
1273
- # requests. For information about downloading objects from Requester
1274
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1275
- # in the *Amazon S3 User Guide*.
1314
+ # requests. If either the source or destination Amazon S3 bucket has
1315
+ # Requester Pays enabled, the requester will pay for corresponding
1316
+ # charges to copy the object. For information about downloading objects
1317
+ # from Requester Pays buckets, see [Downloading Objects in Requester
1318
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
1276
1319
  #
1277
1320
  #
1278
1321
  #
@@ -1302,7 +1345,9 @@ module Aws::S3
1302
1345
  bucket: @bucket_name,
1303
1346
  key: @key
1304
1347
  )
1305
- resp = @client.restore_object(options)
1348
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1349
+ @client.restore_object(options)
1350
+ end
1306
1351
  resp.data
1307
1352
  end
1308
1353
 
@@ -1439,9 +1484,11 @@ module Aws::S3
1439
1484
  # @option options [String] :request_payer
1440
1485
  # Confirms that the requester knows that they will be charged for the
1441
1486
  # request. Bucket owners need not specify this parameter in their
1442
- # requests. For information about downloading objects from Requester
1443
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1444
- # in the *Amazon S3 User Guide*.
1487
+ # requests. If either the source or destination Amazon S3 bucket has
1488
+ # Requester Pays enabled, the requester will pay for corresponding
1489
+ # charges to copy the object. For information about downloading objects
1490
+ # from Requester Pays buckets, see [Downloading Objects in Requester
1491
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
1445
1492
  #
1446
1493
  #
1447
1494
  #
@@ -1484,7 +1531,9 @@ module Aws::S3
1484
1531
  key: item.key
1485
1532
  }
1486
1533
  end
1487
- batch[0].client.delete_objects(params)
1534
+ Aws::Plugins::UserAgent.feature('resource') do
1535
+ batch[0].client.delete_objects(params)
1536
+ end
1488
1537
  end
1489
1538
  nil
1490
1539
  end
@@ -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.feature('resource') do
247
+ Aws::Waiters::Waiter.new(options).wait({})
248
+ end
233
249
  end
234
250
 
235
251
  # @!group Actions
@@ -251,9 +267,11 @@ module Aws::S3
251
267
  # @option options [String] :request_payer
252
268
  # Confirms that the requester knows that they will be charged for the
253
269
  # request. Bucket owners need not specify this parameter in their
254
- # requests. For information about downloading objects from Requester
255
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
256
- # in the *Amazon S3 User Guide*.
270
+ # requests. If either the source or destination Amazon S3 bucket has
271
+ # Requester Pays enabled, the requester will pay for corresponding
272
+ # charges to copy the object. For information about downloading objects
273
+ # from Requester Pays buckets, see [Downloading Objects in Requester
274
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
257
275
  #
258
276
  #
259
277
  #
@@ -273,7 +291,9 @@ module Aws::S3
273
291
  key: @object_key,
274
292
  version_id: @id
275
293
  )
276
- resp = @client.delete_object(options)
294
+ resp = Aws::Plugins::UserAgent.feature('resource') do
295
+ @client.delete_object(options)
296
+ end
277
297
  resp.data
278
298
  end
279
299
 
@@ -353,9 +373,11 @@ module Aws::S3
353
373
  # @option options [String] :request_payer
354
374
  # Confirms that the requester knows that they will be charged for the
355
375
  # request. Bucket owners need not specify this parameter in their
356
- # requests. For information about downloading objects from Requester
357
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
358
- # in the *Amazon S3 User Guide*.
376
+ # requests. If either the source or destination Amazon S3 bucket has
377
+ # Requester Pays enabled, the requester will pay for corresponding
378
+ # charges to copy the object. For information about downloading objects
379
+ # from Requester Pays buckets, see [Downloading Objects in Requester
380
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
359
381
  #
360
382
  #
361
383
  #
@@ -378,7 +400,9 @@ module Aws::S3
378
400
  key: @object_key,
379
401
  version_id: @id
380
402
  )
381
- resp = @client.get_object(options, &block)
403
+ resp = Aws::Plugins::UserAgent.feature('resource') do
404
+ @client.get_object(options, &block)
405
+ end
382
406
  resp.data
383
407
  end
384
408
 
@@ -432,9 +456,11 @@ module Aws::S3
432
456
  # @option options [String] :request_payer
433
457
  # Confirms that the requester knows that they will be charged for the
434
458
  # request. Bucket owners need not specify this parameter in their
435
- # requests. For information about downloading objects from Requester
436
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
437
- # in the *Amazon S3 User Guide*.
459
+ # requests. If either the source or destination Amazon S3 bucket has
460
+ # Requester Pays enabled, the requester will pay for corresponding
461
+ # charges to copy the object. For information about downloading objects
462
+ # from Requester Pays buckets, see [Downloading Objects in Requester
463
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
438
464
  #
439
465
  #
440
466
  #
@@ -462,7 +488,9 @@ module Aws::S3
462
488
  key: @object_key,
463
489
  version_id: @id
464
490
  )
465
- resp = @client.head_object(options)
491
+ resp = Aws::Plugins::UserAgent.feature('resource') do
492
+ @client.head_object(options)
493
+ end
466
494
  resp.data
467
495
  end
468
496
 
@@ -545,9 +573,11 @@ module Aws::S3
545
573
  # @option options [String] :request_payer
546
574
  # Confirms that the requester knows that they will be charged for the
547
575
  # request. Bucket owners need not specify this parameter in their
548
- # requests. For information about downloading objects from Requester
549
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
550
- # in the *Amazon S3 User Guide*.
576
+ # requests. If either the source or destination Amazon S3 bucket has
577
+ # Requester Pays enabled, the requester will pay for corresponding
578
+ # charges to copy the object. For information about downloading objects
579
+ # from Requester Pays buckets, see [Downloading Objects in Requester
580
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
551
581
  #
552
582
  #
553
583
  #
@@ -591,7 +621,9 @@ module Aws::S3
591
621
  version_id: item.id
592
622
  }
593
623
  end
594
- batch[0].client.delete_objects(params)
624
+ Aws::Plugins::UserAgent.feature('resource') do
625
+ batch[0].client.delete_objects(params)
626
+ end
595
627
  end
596
628
  nil
597
629
  end