aws-sdk-s3 1.73.0 → 1.78.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3.rb +1 -1
  3. data/lib/aws-sdk-s3/bucket.rb +2 -2
  4. data/lib/aws-sdk-s3/client.rb +127 -114
  5. data/lib/aws-sdk-s3/customizations/object.rb +12 -1
  6. data/lib/aws-sdk-s3/encryption.rb +2 -0
  7. data/lib/aws-sdk-s3/encryption/client.rb +11 -0
  8. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +64 -29
  9. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +41 -5
  10. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +5 -5
  11. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +7 -6
  12. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +32 -3
  13. data/lib/aws-sdk-s3/encryption/utils.rb +23 -0
  14. data/lib/aws-sdk-s3/encryptionV2/client.rb +201 -23
  15. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +40 -12
  16. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +77 -10
  17. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +2 -0
  18. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +7 -4
  19. data/lib/aws-sdk-s3/encryptionV2/errors.rb +24 -0
  20. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +2 -0
  21. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +2 -0
  22. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  23. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +2 -0
  24. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +90 -20
  25. data/lib/aws-sdk-s3/encryptionV2/materials.rb +2 -0
  26. data/lib/aws-sdk-s3/encryptionV2/utils.rb +2 -15
  27. data/lib/aws-sdk-s3/encryption_v2.rb +4 -1
  28. data/lib/aws-sdk-s3/file_uploader.rb +11 -0
  29. data/lib/aws-sdk-s3/multipart_file_uploader.rb +37 -2
  30. data/lib/aws-sdk-s3/multipart_upload_part.rb +1 -1
  31. data/lib/aws-sdk-s3/object.rb +1 -1
  32. data/lib/aws-sdk-s3/object_summary.rb +19 -3
  33. data/lib/aws-sdk-s3/plugins/accelerate.rb +27 -38
  34. data/lib/aws-sdk-s3/plugins/dualstack.rb +3 -1
  35. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +1 -1
  36. data/lib/aws-sdk-s3/presigned_post.rb +61 -28
  37. data/lib/aws-sdk-s3/presigner.rb +2 -2
  38. data/lib/aws-sdk-s3/resource.rb +1 -1
  39. data/lib/aws-sdk-s3/types.rb +25 -8
  40. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c1a392b274571b427b52d5546c1f75e0d4917bc3b0c781b41401f28011ff8f8
4
- data.tar.gz: eead948301ba2238400318c5cc7f29ea3a059977c1198e7556fe73aafbe2ce01
3
+ metadata.gz: 12869c75a61c6e62eb981846c9cac525962300fae8ca08cf87d5c6fde2824f5f
4
+ data.tar.gz: 6a29b43d4e3453c63ed50e7a18c06af16064e3db761dd2f784923bd20abba0c4
5
5
  SHA512:
6
- metadata.gz: ebd3b711ed8d618367fc99f8536778379cde6ecc4b5ca6d92178f9cd89b3c9023906fb4535b62b133c143b0223b70382b5069a254dac80245e15777ad32867dd
7
- data.tar.gz: 2188bf53ea2a5b094674172a84b6e46de6e7fddc234ea427074671bbb2b91fc0c81ca56ab86fd103719961072dddb670d0d50b93f70c86bd66bf29c96f77e7a2
6
+ metadata.gz: b331ecb2c04da30961f53906e6811ba52f6b2f5a74f1c32153a03d7c1900392a61c6a7af8b33daa296e1cc7632514a86b99ec6af6d4b1851b9379c9a3894221b
7
+ data.tar.gz: 61ef696b6a90673f1a89f3ac5d31ccc1e8f2350e8d492b67974a3861f9cfcfc1d509d81608d96d8ee68312e5462eb64f644b415fb5fd6f79d0587b272803b136
@@ -68,6 +68,6 @@ require_relative 'aws-sdk-s3/event_streams'
68
68
  # @service
69
69
  module Aws::S3
70
70
 
71
- GEM_VERSION = '1.73.0'
71
+ GEM_VERSION = '1.78.0'
72
72
 
73
73
  end
@@ -222,7 +222,7 @@ module Aws::S3
222
222
  # bucket.create({
223
223
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
224
224
  # create_bucket_configuration: {
225
- # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
225
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
226
226
  # },
227
227
  # grant_full_control: "GrantFullControl",
228
228
  # grant_read: "GrantRead",
@@ -357,7 +357,7 @@ module Aws::S3
357
357
  #
358
358
  #
359
359
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
360
- # @option options [String, IO] :body
360
+ # @option options [String, StringIO, File] :body
361
361
  # Object data.
362
362
  # @option options [String] :cache_control
363
363
  # Can be used to specify caching behavior along the request/reply chain.
@@ -335,7 +335,7 @@ module Aws::S3
335
335
  # @option options [Boolean] :use_accelerate_endpoint (false)
336
336
  # When set to `true`, accelerated bucket endpoints will be used
337
337
  # for all object operations. You must first enable accelerate for
338
- # each bucket. [Go here for more information](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
338
+ # each bucket. [Go here for more information](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
339
339
  #
340
340
  # @option options [Boolean] :use_dualstack_endpoint (false)
341
341
  # When set to `true`, IPv6-compatible bucket endpoints will be used
@@ -529,7 +529,7 @@ module Aws::S3
529
529
  # For information about permissions required to use the multipart upload
530
530
  # API, see [Multipart Upload API and Permissions][3].
531
531
  #
532
- # `GetBucketLifecycle` has the following special errors:
532
+ # `CompleteMultipartUpload` has the following special errors:
533
533
  #
534
534
  # * Error code: `EntityTooSmall`
535
535
  #
@@ -1290,7 +1290,7 @@ module Aws::S3
1290
1290
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
1291
1291
  # bucket: "BucketName", # required
1292
1292
  # create_bucket_configuration: {
1293
- # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
1293
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
1294
1294
  # },
1295
1295
  # grant_full_control: "GrantFullControl",
1296
1296
  # grant_read: "GrantRead",
@@ -2384,6 +2384,15 @@ module Aws::S3
2384
2384
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2385
2385
  #
2386
2386
  #
2387
+ # @example Example: To delete an object (from a non-versioned bucket)
2388
+ #
2389
+ # # The following example deletes an object from a non-versioned bucket.
2390
+ #
2391
+ # resp = client.delete_object({
2392
+ # bucket: "ExampleBucket",
2393
+ # key: "HappyFace.jpg",
2394
+ # })
2395
+ #
2387
2396
  # @example Example: To delete an object
2388
2397
  #
2389
2398
  # # The following example deletes an object from an S3 bucket.
@@ -2397,15 +2406,6 @@ module Aws::S3
2397
2406
  # {
2398
2407
  # }
2399
2408
  #
2400
- # @example Example: To delete an object (from a non-versioned bucket)
2401
- #
2402
- # # The following example deletes an object from a non-versioned bucket.
2403
- #
2404
- # resp = client.delete_object({
2405
- # bucket: "ExampleBucket",
2406
- # key: "HappyFace.jpg",
2407
- # })
2408
- #
2409
2409
  # @example Request syntax with placeholder values
2410
2410
  #
2411
2411
  # resp = client.delete_object({
@@ -2469,7 +2469,7 @@ module Aws::S3
2469
2469
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2470
2470
  #
2471
2471
  # @option params [required, String] :key
2472
- # Name of the tag.
2472
+ # Name of the object key.
2473
2473
  #
2474
2474
  # @option params [String] :version_id
2475
2475
  # The versionId of the object that the tag-set will be removed from.
@@ -2479,35 +2479,35 @@ module Aws::S3
2479
2479
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2480
2480
  #
2481
2481
  #
2482
- # @example Example: To remove tag set from an object version
2482
+ # @example Example: To remove tag set from an object
2483
2483
  #
2484
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2485
- # # object key and object version.
2484
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2485
+ # # operation removes tag set from the latest object version.
2486
2486
  #
2487
2487
  # resp = client.delete_object_tagging({
2488
2488
  # bucket: "examplebucket",
2489
2489
  # key: "HappyFace.jpg",
2490
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2491
2490
  # })
2492
2491
  #
2493
2492
  # resp.to_h outputs the following:
2494
2493
  # {
2495
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2494
+ # version_id: "null",
2496
2495
  # }
2497
2496
  #
2498
- # @example Example: To remove tag set from an object
2497
+ # @example Example: To remove tag set from an object version
2499
2498
  #
2500
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2501
- # # operation removes tag set from the latest object version.
2499
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
2500
+ # # object key and object version.
2502
2501
  #
2503
2502
  # resp = client.delete_object_tagging({
2504
2503
  # bucket: "examplebucket",
2505
2504
  # key: "HappyFace.jpg",
2505
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2506
2506
  # })
2507
2507
  #
2508
2508
  # resp.to_h outputs the following:
2509
2509
  # {
2510
- # version_id: "null",
2510
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2511
2511
  # }
2512
2512
  #
2513
2513
  # @example Request syntax with placeholder values
@@ -2626,22 +2626,20 @@ module Aws::S3
2626
2626
  # * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
2627
2627
  #
2628
2628
  #
2629
- # @example Example: To delete multiple object versions from a versioned bucket
2629
+ # @example Example: To delete multiple objects from a versioned bucket
2630
2630
  #
2631
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2632
- # # versions and returns the key and versions of deleted objects in the response.
2631
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2632
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2633
2633
  #
2634
2634
  # resp = client.delete_objects({
2635
2635
  # bucket: "examplebucket",
2636
2636
  # delete: {
2637
2637
  # objects: [
2638
2638
  # {
2639
- # key: "HappyFace.jpg",
2640
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2639
+ # key: "objectkey1",
2641
2640
  # },
2642
2641
  # {
2643
- # key: "HappyFace.jpg",
2644
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2642
+ # key: "objectkey2",
2645
2643
  # },
2646
2644
  # ],
2647
2645
  # quiet: false,
@@ -2652,30 +2650,34 @@ module Aws::S3
2652
2650
  # {
2653
2651
  # deleted: [
2654
2652
  # {
2655
- # key: "HappyFace.jpg",
2656
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2653
+ # delete_marker: true,
2654
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2655
+ # key: "objectkey1",
2657
2656
  # },
2658
2657
  # {
2659
- # key: "HappyFace.jpg",
2660
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2658
+ # delete_marker: true,
2659
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2660
+ # key: "objectkey2",
2661
2661
  # },
2662
2662
  # ],
2663
2663
  # }
2664
2664
  #
2665
- # @example Example: To delete multiple objects from a versioned bucket
2665
+ # @example Example: To delete multiple object versions from a versioned bucket
2666
2666
  #
2667
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2668
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2667
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2668
+ # # versions and returns the key and versions of deleted objects in the response.
2669
2669
  #
2670
2670
  # resp = client.delete_objects({
2671
2671
  # bucket: "examplebucket",
2672
2672
  # delete: {
2673
2673
  # objects: [
2674
2674
  # {
2675
- # key: "objectkey1",
2675
+ # key: "HappyFace.jpg",
2676
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2676
2677
  # },
2677
2678
  # {
2678
- # key: "objectkey2",
2679
+ # key: "HappyFace.jpg",
2680
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2679
2681
  # },
2680
2682
  # ],
2681
2683
  # quiet: false,
@@ -2686,14 +2688,12 @@ module Aws::S3
2686
2688
  # {
2687
2689
  # deleted: [
2688
2690
  # {
2689
- # delete_marker: true,
2690
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2691
- # key: "objectkey1",
2691
+ # key: "HappyFace.jpg",
2692
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2692
2693
  # },
2693
2694
  # {
2694
- # delete_marker: true,
2695
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2696
- # key: "objectkey2",
2695
+ # key: "HappyFace.jpg",
2696
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2697
2697
  # },
2698
2698
  # ],
2699
2699
  # }
@@ -3433,7 +3433,7 @@ module Aws::S3
3433
3433
  #
3434
3434
  # @example Response structure
3435
3435
  #
3436
- # resp.location_constraint #=> String, one of "EU", "eu-west-1", "us-west-1", "us-west-2", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1", "cn-north-1", "eu-central-1"
3436
+ # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2"
3437
3437
  #
3438
3438
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation AWS API Documentation
3439
3439
  #
@@ -4522,49 +4522,49 @@ module Aws::S3
4522
4522
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
4523
4523
  #
4524
4524
  #
4525
- # @example Example: To retrieve a byte range of an object
4525
+ # @example Example: To retrieve an object
4526
4526
  #
4527
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
4528
- # # specific byte range.
4527
+ # # The following example retrieves an object for an S3 bucket.
4529
4528
  #
4530
4529
  # resp = client.get_object({
4531
4530
  # bucket: "examplebucket",
4532
- # key: "SampleFile.txt",
4533
- # range: "bytes=0-9",
4531
+ # key: "HappyFace.jpg",
4534
4532
  # })
4535
4533
  #
4536
4534
  # resp.to_h outputs the following:
4537
4535
  # {
4538
4536
  # accept_ranges: "bytes",
4539
- # content_length: 10,
4540
- # content_range: "bytes 0-9/43",
4541
- # content_type: "text/plain",
4542
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
4543
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
4537
+ # content_length: 3191,
4538
+ # content_type: "image/jpeg",
4539
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
4540
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
4544
4541
  # metadata: {
4545
4542
  # },
4543
+ # tag_count: 2,
4546
4544
  # version_id: "null",
4547
4545
  # }
4548
4546
  #
4549
- # @example Example: To retrieve an object
4547
+ # @example Example: To retrieve a byte range of an object
4550
4548
  #
4551
- # # The following example retrieves an object for an S3 bucket.
4549
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
4550
+ # # specific byte range.
4552
4551
  #
4553
4552
  # resp = client.get_object({
4554
4553
  # bucket: "examplebucket",
4555
- # key: "HappyFace.jpg",
4554
+ # key: "SampleFile.txt",
4555
+ # range: "bytes=0-9",
4556
4556
  # })
4557
4557
  #
4558
4558
  # resp.to_h outputs the following:
4559
4559
  # {
4560
4560
  # accept_ranges: "bytes",
4561
- # content_length: 3191,
4562
- # content_type: "image/jpeg",
4563
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
4564
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
4561
+ # content_length: 10,
4562
+ # content_range: "bytes 0-9/43",
4563
+ # content_type: "text/plain",
4564
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
4565
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
4565
4566
  # metadata: {
4566
4567
  # },
4567
- # tag_count: 2,
4568
4568
  # version_id: "null",
4569
4569
  # }
4570
4570
  #
@@ -4589,8 +4589,10 @@ module Aws::S3
4589
4589
  #
4590
4590
  # @example Streaming data to a block
4591
4591
  # # WARNING: yielding data to a block disables retries of networking errors
4592
+ # # However truncation of the body will be retried automatically using a range request
4592
4593
  # File.open('/path/to/file', 'wb') do |file|
4593
- # s3.get_object(bucket: 'bucket-name', key: 'object-key') do |chunk|
4594
+ # s3.get_object(bucket: 'bucket-name', key: 'object-key') do |chunk, headers|
4595
+ # # headers['content-length']
4594
4596
  # file.write(chunk)
4595
4597
  # end
4596
4598
  # end
@@ -5032,49 +5034,49 @@ module Aws::S3
5032
5034
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
5033
5035
  #
5034
5036
  #
5035
- # @example Example: To retrieve tag set of an object
5037
+ # @example Example: To retrieve tag set of a specific object version
5036
5038
  #
5037
- # # The following example retrieves tag set of an object.
5039
+ # # The following example retrieves tag set of an object. The request specifies object version.
5038
5040
  #
5039
5041
  # resp = client.get_object_tagging({
5040
5042
  # bucket: "examplebucket",
5041
- # key: "HappyFace.jpg",
5043
+ # key: "exampleobject",
5044
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5042
5045
  # })
5043
5046
  #
5044
5047
  # resp.to_h outputs the following:
5045
5048
  # {
5046
5049
  # tag_set: [
5047
5050
  # {
5048
- # key: "Key4",
5049
- # value: "Value4",
5050
- # },
5051
- # {
5052
- # key: "Key3",
5053
- # value: "Value3",
5051
+ # key: "Key1",
5052
+ # value: "Value1",
5054
5053
  # },
5055
5054
  # ],
5056
- # version_id: "null",
5055
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5057
5056
  # }
5058
5057
  #
5059
- # @example Example: To retrieve tag set of a specific object version
5058
+ # @example Example: To retrieve tag set of an object
5060
5059
  #
5061
- # # The following example retrieves tag set of an object. The request specifies object version.
5060
+ # # The following example retrieves tag set of an object.
5062
5061
  #
5063
5062
  # resp = client.get_object_tagging({
5064
5063
  # bucket: "examplebucket",
5065
- # key: "exampleobject",
5066
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5064
+ # key: "HappyFace.jpg",
5067
5065
  # })
5068
5066
  #
5069
5067
  # resp.to_h outputs the following:
5070
5068
  # {
5071
5069
  # tag_set: [
5072
5070
  # {
5073
- # key: "Key1",
5074
- # value: "Value1",
5071
+ # key: "Key4",
5072
+ # value: "Value4",
5073
+ # },
5074
+ # {
5075
+ # key: "Key3",
5076
+ # value: "Value3",
5075
5077
  # },
5076
5078
  # ],
5077
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5079
+ # version_id: "null",
5078
5080
  # }
5079
5081
  #
5080
5082
  # @example Request syntax with placeholder values
@@ -8470,6 +8472,17 @@ module Aws::S3
8470
8472
  # configuration, you must also add the following elements:
8471
8473
  # `DeleteMarkerReplication`, `Status`, and `Priority`.
8472
8474
  #
8475
+ # <note markdown="1"> The latest version of the replication configuration XML is V2. XML V2
8476
+ # replication configurations are those that contain the `Filter` element
8477
+ # for rules, and rules that specify S3 Replication Time Control (S3
8478
+ # RTC). In XML V2 replication configurations, Amazon S3 doesn't
8479
+ # replicate delete markers. Therefore, you must set the
8480
+ # `DeleteMarkerReplication` element to `Disabled`. For backward
8481
+ # compatibility, Amazon S3 continues to support the XML V1 replication
8482
+ # configuration.
8483
+ #
8484
+ # </note>
8485
+ #
8473
8486
  # For information about enabling versioning on a bucket, see [Using
8474
8487
  # Versioning][3].
8475
8488
  #
@@ -9162,7 +9175,7 @@ module Aws::S3
9162
9175
  #
9163
9176
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
9164
9177
  #
9165
- # @option params [String, IO] :body
9178
+ # @option params [String, StringIO, File] :body
9166
9179
  # Object data.
9167
9180
  #
9168
9181
  # @option params [required, String] :bucket
@@ -9380,24 +9393,39 @@ module Aws::S3
9380
9393
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
9381
9394
  #
9382
9395
  #
9383
- # @example Example: To upload an object and specify server-side encryption and object tags
9396
+ # @example Example: To upload an object and specify canned ACL.
9384
9397
  #
9385
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
9386
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
9398
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
9399
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
9387
9400
  #
9388
9401
  # resp = client.put_object({
9402
+ # acl: "authenticated-read",
9389
9403
  # body: "filetoupload",
9390
9404
  # bucket: "examplebucket",
9391
9405
  # key: "exampleobject",
9392
- # server_side_encryption: "AES256",
9393
- # tagging: "key1=value1&key2=value2",
9394
9406
  # })
9395
9407
  #
9396
9408
  # resp.to_h outputs the following:
9397
9409
  # {
9398
9410
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9399
- # server_side_encryption: "AES256",
9400
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9411
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
9412
+ # }
9413
+ #
9414
+ # @example Example: To upload an object
9415
+ #
9416
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
9417
+ # # syntax. S3 returns VersionId of the newly created object.
9418
+ #
9419
+ # resp = client.put_object({
9420
+ # body: "HappyFace.jpg",
9421
+ # bucket: "examplebucket",
9422
+ # key: "HappyFace.jpg",
9423
+ # })
9424
+ #
9425
+ # resp.to_h outputs the following:
9426
+ # {
9427
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9428
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
9401
9429
  # }
9402
9430
  #
9403
9431
  # @example Example: To create an object.
@@ -9475,39 +9503,24 @@ module Aws::S3
9475
9503
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
9476
9504
  # }
9477
9505
  #
9478
- # @example Example: To upload an object and specify canned ACL.
9506
+ # @example Example: To upload an object and specify server-side encryption and object tags
9479
9507
  #
9480
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
9481
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
9508
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
9509
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
9482
9510
  #
9483
9511
  # resp = client.put_object({
9484
- # acl: "authenticated-read",
9485
9512
  # body: "filetoupload",
9486
9513
  # bucket: "examplebucket",
9487
9514
  # key: "exampleobject",
9515
+ # server_side_encryption: "AES256",
9516
+ # tagging: "key1=value1&key2=value2",
9488
9517
  # })
9489
9518
  #
9490
9519
  # resp.to_h outputs the following:
9491
9520
  # {
9492
9521
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9493
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
9494
- # }
9495
- #
9496
- # @example Example: To upload an object
9497
- #
9498
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
9499
- # # syntax. S3 returns VersionId of the newly created object.
9500
- #
9501
- # resp = client.put_object({
9502
- # body: "HappyFace.jpg",
9503
- # bucket: "examplebucket",
9504
- # key: "HappyFace.jpg",
9505
- # })
9506
- #
9507
- # resp.to_h outputs the following:
9508
- # {
9509
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9510
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
9522
+ # server_side_encryption: "AES256",
9523
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9511
9524
  # }
9512
9525
  #
9513
9526
  # @example Streaming a file from disk
@@ -10187,7 +10200,7 @@ module Aws::S3
10187
10200
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
10188
10201
  #
10189
10202
  # @option params [required, String] :key
10190
- # Name of the tag.
10203
+ # Name of the object key.
10191
10204
  #
10192
10205
  # @option params [String] :version_id
10193
10206
  # The versionId of the object that the tag-set will be added to.
@@ -11238,7 +11251,7 @@ module Aws::S3
11238
11251
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11239
11252
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
11240
11253
  #
11241
- # @option params [String, IO] :body
11254
+ # @option params [String, StringIO, File] :body
11242
11255
  # Object data.
11243
11256
  #
11244
11257
  # @option params [required, String] :bucket
@@ -11672,7 +11685,7 @@ module Aws::S3
11672
11685
  params: params,
11673
11686
  config: config)
11674
11687
  context[:gem_name] = 'aws-sdk-s3'
11675
- context[:gem_version] = '1.73.0'
11688
+ context[:gem_version] = '1.78.0'
11676
11689
  Seahorse::Client::Request.new(handlers, context)
11677
11690
  end
11678
11691