aws-sdk-s3 1.122.0 → 1.136.0

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