aws-sdk-s3 1.74.0 → 1.79.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3.rb +2 -2
  3. data/lib/aws-sdk-s3/bucket.rb +2 -2
  4. data/lib/aws-sdk-s3/client.rb +148 -120
  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 +3 -1
  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/presigner.rb +2 -2
  37. data/lib/aws-sdk-s3/resource.rb +1 -1
  38. data/lib/aws-sdk-s3/types.rb +25 -8
  39. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 626495d85d0f33f1a04615e2c65aca4331f8ac04b35306d2e68668eb1cbad727
4
- data.tar.gz: 324b43984913dedda5bd63af0608eb9ba01feab28e8ff15ee5ceb7b1cb5d5578
3
+ metadata.gz: 0232fc4ef28ae41e69f589f2b398846918304fd784f15720f1470ba539706b73
4
+ data.tar.gz: 5addd423494cc626b5be39d9329823a0bb27c6e62aeaf2bc3d19ec4064b7c40e
5
5
  SHA512:
6
- metadata.gz: f4958752f8508e3d4ecdb0ad22bc5184f3c9e8c9c6e035bfcb5cabda3897fb8fec2b3da206499689f400c001e83e1d364daeea687bff71cbcc1b910779936058
7
- data.tar.gz: ef54aeb2dc6373afe0b806a4e88ca85ed81eedba190da89c7370d10eea5535f6f608ba80539b7c5b31f3198ab64767afda81c8560475c9268155af373e1d23ff
6
+ metadata.gz: 20555cada51bdc0763fc5fe4bfb14b0d23632a17d473ee0eb953abdd974c5e972b227bf19dbff3ee37dd34fb94fc8e6b526b6bea1b40a94409cafcc78916d603
7
+ data.tar.gz: babae742c98d7c24784341bf204b38439dfd01b1cd14260783f18bc361065e7c7c994d59bb00120dc4fb5bdaf034936af9a8caa2b9efca6c2b1202a0d0cebaf3
@@ -65,9 +65,9 @@ require_relative 'aws-sdk-s3/event_streams'
65
65
  #
66
66
  # See {Errors} for more information.
67
67
  #
68
- # @service
68
+ # @!group service
69
69
  module Aws::S3
70
70
 
71
- GEM_VERSION = '1.74.0'
71
+ GEM_VERSION = '1.79.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.
@@ -119,13 +119,28 @@ module Aws::S3
119
119
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
120
120
  # credentials.
121
121
  #
122
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
123
+ # shared file, such as `~/.aws/config`.
124
+ #
125
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
126
+ #
127
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
128
+ # assume a role after providing credentials via the web.
129
+ #
130
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
131
+ # access token generated from `aws login`.
132
+ #
133
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
134
+ # process that outputs to stdout.
135
+ #
122
136
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
123
137
  # from an EC2 IMDS on an EC2 instance.
124
138
  #
125
- # * `Aws::SharedCredentials` - Used for loading credentials from a
126
- # shared file, such as `~/.aws/config`.
139
+ # * `Aws::ECSCredentials` - Used for loading credentials from
140
+ # instances running in ECS.
127
141
  #
128
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
142
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
143
+ # from the Cognito Identity service.
129
144
  #
130
145
  # When `:credentials` are not configured directly, the following
131
146
  # locations will be searched for credentials:
@@ -135,10 +150,10 @@ module Aws::S3
135
150
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
136
151
  # * `~/.aws/credentials`
137
152
  # * `~/.aws/config`
138
- # * EC2 IMDS instance profile - When used by default, the timeouts are
139
- # very aggressive. Construct and pass an instance of
140
- # `Aws::InstanceProfileCredentails` to enable retries and extended
141
- # timeouts.
153
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
154
+ # are very aggressive. Construct and pass an instance of
155
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
156
+ # enable retries and extended timeouts.
142
157
  #
143
158
  # @option options [required, String] :region
144
159
  # The AWS region to connect to. The configured `:region` is
@@ -529,7 +544,7 @@ module Aws::S3
529
544
  # For information about permissions required to use the multipart upload
530
545
  # API, see [Multipart Upload API and Permissions][3].
531
546
  #
532
- # `GetBucketLifecycle` has the following special errors:
547
+ # `CompleteMultipartUpload` has the following special errors:
533
548
  #
534
549
  # * Error code: `EntityTooSmall`
535
550
  #
@@ -1290,7 +1305,7 @@ module Aws::S3
1290
1305
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
1291
1306
  # bucket: "BucketName", # required
1292
1307
  # 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
1308
+ # 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
1309
  # },
1295
1310
  # grant_full_control: "GrantFullControl",
1296
1311
  # grant_read: "GrantRead",
@@ -2384,6 +2399,15 @@ module Aws::S3
2384
2399
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2385
2400
  #
2386
2401
  #
2402
+ # @example Example: To delete an object (from a non-versioned bucket)
2403
+ #
2404
+ # # The following example deletes an object from a non-versioned bucket.
2405
+ #
2406
+ # resp = client.delete_object({
2407
+ # bucket: "ExampleBucket",
2408
+ # key: "HappyFace.jpg",
2409
+ # })
2410
+ #
2387
2411
  # @example Example: To delete an object
2388
2412
  #
2389
2413
  # # The following example deletes an object from an S3 bucket.
@@ -2397,15 +2421,6 @@ module Aws::S3
2397
2421
  # {
2398
2422
  # }
2399
2423
  #
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
2424
  # @example Request syntax with placeholder values
2410
2425
  #
2411
2426
  # resp = client.delete_object({
@@ -2469,7 +2484,7 @@ module Aws::S3
2469
2484
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2470
2485
  #
2471
2486
  # @option params [required, String] :key
2472
- # Name of the tag.
2487
+ # Name of the object key.
2473
2488
  #
2474
2489
  # @option params [String] :version_id
2475
2490
  # The versionId of the object that the tag-set will be removed from.
@@ -2479,35 +2494,35 @@ module Aws::S3
2479
2494
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2480
2495
  #
2481
2496
  #
2482
- # @example Example: To remove tag set from an object version
2497
+ # @example Example: To remove tag set from an object
2483
2498
  #
2484
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2485
- # # object key and object version.
2499
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2500
+ # # operation removes tag set from the latest object version.
2486
2501
  #
2487
2502
  # resp = client.delete_object_tagging({
2488
2503
  # bucket: "examplebucket",
2489
2504
  # key: "HappyFace.jpg",
2490
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2491
2505
  # })
2492
2506
  #
2493
2507
  # resp.to_h outputs the following:
2494
2508
  # {
2495
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2509
+ # version_id: "null",
2496
2510
  # }
2497
2511
  #
2498
- # @example Example: To remove tag set from an object
2512
+ # @example Example: To remove tag set from an object version
2499
2513
  #
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.
2514
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
2515
+ # # object key and object version.
2502
2516
  #
2503
2517
  # resp = client.delete_object_tagging({
2504
2518
  # bucket: "examplebucket",
2505
2519
  # key: "HappyFace.jpg",
2520
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2506
2521
  # })
2507
2522
  #
2508
2523
  # resp.to_h outputs the following:
2509
2524
  # {
2510
- # version_id: "null",
2525
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2511
2526
  # }
2512
2527
  #
2513
2528
  # @example Request syntax with placeholder values
@@ -2626,22 +2641,20 @@ module Aws::S3
2626
2641
  # * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
2627
2642
  #
2628
2643
  #
2629
- # @example Example: To delete multiple object versions from a versioned bucket
2644
+ # @example Example: To delete multiple objects from a versioned bucket
2630
2645
  #
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.
2646
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2647
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2633
2648
  #
2634
2649
  # resp = client.delete_objects({
2635
2650
  # bucket: "examplebucket",
2636
2651
  # delete: {
2637
2652
  # objects: [
2638
2653
  # {
2639
- # key: "HappyFace.jpg",
2640
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2654
+ # key: "objectkey1",
2641
2655
  # },
2642
2656
  # {
2643
- # key: "HappyFace.jpg",
2644
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2657
+ # key: "objectkey2",
2645
2658
  # },
2646
2659
  # ],
2647
2660
  # quiet: false,
@@ -2652,30 +2665,34 @@ module Aws::S3
2652
2665
  # {
2653
2666
  # deleted: [
2654
2667
  # {
2655
- # key: "HappyFace.jpg",
2656
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2668
+ # delete_marker: true,
2669
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2670
+ # key: "objectkey1",
2657
2671
  # },
2658
2672
  # {
2659
- # key: "HappyFace.jpg",
2660
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2673
+ # delete_marker: true,
2674
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2675
+ # key: "objectkey2",
2661
2676
  # },
2662
2677
  # ],
2663
2678
  # }
2664
2679
  #
2665
- # @example Example: To delete multiple objects from a versioned bucket
2680
+ # @example Example: To delete multiple object versions from a versioned bucket
2666
2681
  #
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.
2682
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2683
+ # # versions and returns the key and versions of deleted objects in the response.
2669
2684
  #
2670
2685
  # resp = client.delete_objects({
2671
2686
  # bucket: "examplebucket",
2672
2687
  # delete: {
2673
2688
  # objects: [
2674
2689
  # {
2675
- # key: "objectkey1",
2690
+ # key: "HappyFace.jpg",
2691
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2676
2692
  # },
2677
2693
  # {
2678
- # key: "objectkey2",
2694
+ # key: "HappyFace.jpg",
2695
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2679
2696
  # },
2680
2697
  # ],
2681
2698
  # quiet: false,
@@ -2686,14 +2703,12 @@ module Aws::S3
2686
2703
  # {
2687
2704
  # deleted: [
2688
2705
  # {
2689
- # delete_marker: true,
2690
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2691
- # key: "objectkey1",
2706
+ # key: "HappyFace.jpg",
2707
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2692
2708
  # },
2693
2709
  # {
2694
- # delete_marker: true,
2695
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2696
- # key: "objectkey2",
2710
+ # key: "HappyFace.jpg",
2711
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2697
2712
  # },
2698
2713
  # ],
2699
2714
  # }
@@ -3433,7 +3448,7 @@ module Aws::S3
3433
3448
  #
3434
3449
  # @example Response structure
3435
3450
  #
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"
3451
+ # 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
3452
  #
3438
3453
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation AWS API Documentation
3439
3454
  #
@@ -4522,49 +4537,49 @@ module Aws::S3
4522
4537
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
4523
4538
  #
4524
4539
  #
4525
- # @example Example: To retrieve a byte range of an object
4540
+ # @example Example: To retrieve an object
4526
4541
  #
4527
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
4528
- # # specific byte range.
4542
+ # # The following example retrieves an object for an S3 bucket.
4529
4543
  #
4530
4544
  # resp = client.get_object({
4531
4545
  # bucket: "examplebucket",
4532
- # key: "SampleFile.txt",
4533
- # range: "bytes=0-9",
4546
+ # key: "HappyFace.jpg",
4534
4547
  # })
4535
4548
  #
4536
4549
  # resp.to_h outputs the following:
4537
4550
  # {
4538
4551
  # 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"),
4552
+ # content_length: 3191,
4553
+ # content_type: "image/jpeg",
4554
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
4555
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
4544
4556
  # metadata: {
4545
4557
  # },
4558
+ # tag_count: 2,
4546
4559
  # version_id: "null",
4547
4560
  # }
4548
4561
  #
4549
- # @example Example: To retrieve an object
4562
+ # @example Example: To retrieve a byte range of an object
4550
4563
  #
4551
- # # The following example retrieves an object for an S3 bucket.
4564
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
4565
+ # # specific byte range.
4552
4566
  #
4553
4567
  # resp = client.get_object({
4554
4568
  # bucket: "examplebucket",
4555
- # key: "HappyFace.jpg",
4569
+ # key: "SampleFile.txt",
4570
+ # range: "bytes=0-9",
4556
4571
  # })
4557
4572
  #
4558
4573
  # resp.to_h outputs the following:
4559
4574
  # {
4560
4575
  # 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"),
4576
+ # content_length: 10,
4577
+ # content_range: "bytes 0-9/43",
4578
+ # content_type: "text/plain",
4579
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
4580
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
4565
4581
  # metadata: {
4566
4582
  # },
4567
- # tag_count: 2,
4568
4583
  # version_id: "null",
4569
4584
  # }
4570
4585
  #
@@ -4589,8 +4604,10 @@ module Aws::S3
4589
4604
  #
4590
4605
  # @example Streaming data to a block
4591
4606
  # # WARNING: yielding data to a block disables retries of networking errors
4607
+ # # However truncation of the body will be retried automatically using a range request
4592
4608
  # File.open('/path/to/file', 'wb') do |file|
4593
- # s3.get_object(bucket: 'bucket-name', key: 'object-key') do |chunk|
4609
+ # s3.get_object(bucket: 'bucket-name', key: 'object-key') do |chunk, headers|
4610
+ # # headers['content-length']
4594
4611
  # file.write(chunk)
4595
4612
  # end
4596
4613
  # end
@@ -5032,49 +5049,49 @@ module Aws::S3
5032
5049
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
5033
5050
  #
5034
5051
  #
5035
- # @example Example: To retrieve tag set of an object
5052
+ # @example Example: To retrieve tag set of a specific object version
5036
5053
  #
5037
- # # The following example retrieves tag set of an object.
5054
+ # # The following example retrieves tag set of an object. The request specifies object version.
5038
5055
  #
5039
5056
  # resp = client.get_object_tagging({
5040
5057
  # bucket: "examplebucket",
5041
- # key: "HappyFace.jpg",
5058
+ # key: "exampleobject",
5059
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5042
5060
  # })
5043
5061
  #
5044
5062
  # resp.to_h outputs the following:
5045
5063
  # {
5046
5064
  # tag_set: [
5047
5065
  # {
5048
- # key: "Key4",
5049
- # value: "Value4",
5050
- # },
5051
- # {
5052
- # key: "Key3",
5053
- # value: "Value3",
5066
+ # key: "Key1",
5067
+ # value: "Value1",
5054
5068
  # },
5055
5069
  # ],
5056
- # version_id: "null",
5070
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5057
5071
  # }
5058
5072
  #
5059
- # @example Example: To retrieve tag set of a specific object version
5073
+ # @example Example: To retrieve tag set of an object
5060
5074
  #
5061
- # # The following example retrieves tag set of an object. The request specifies object version.
5075
+ # # The following example retrieves tag set of an object.
5062
5076
  #
5063
5077
  # resp = client.get_object_tagging({
5064
5078
  # bucket: "examplebucket",
5065
- # key: "exampleobject",
5066
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5079
+ # key: "HappyFace.jpg",
5067
5080
  # })
5068
5081
  #
5069
5082
  # resp.to_h outputs the following:
5070
5083
  # {
5071
5084
  # tag_set: [
5072
5085
  # {
5073
- # key: "Key1",
5074
- # value: "Value1",
5086
+ # key: "Key4",
5087
+ # value: "Value4",
5088
+ # },
5089
+ # {
5090
+ # key: "Key3",
5091
+ # value: "Value3",
5075
5092
  # },
5076
5093
  # ],
5077
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5094
+ # version_id: "null",
5078
5095
  # }
5079
5096
  #
5080
5097
  # @example Request syntax with placeholder values
@@ -8470,6 +8487,17 @@ module Aws::S3
8470
8487
  # configuration, you must also add the following elements:
8471
8488
  # `DeleteMarkerReplication`, `Status`, and `Priority`.
8472
8489
  #
8490
+ # <note markdown="1"> The latest version of the replication configuration XML is V2. XML V2
8491
+ # replication configurations are those that contain the `Filter` element
8492
+ # for rules, and rules that specify S3 Replication Time Control (S3
8493
+ # RTC). In XML V2 replication configurations, Amazon S3 doesn't
8494
+ # replicate delete markers. Therefore, you must set the
8495
+ # `DeleteMarkerReplication` element to `Disabled`. For backward
8496
+ # compatibility, Amazon S3 continues to support the XML V1 replication
8497
+ # configuration.
8498
+ #
8499
+ # </note>
8500
+ #
8473
8501
  # For information about enabling versioning on a bucket, see [Using
8474
8502
  # Versioning][3].
8475
8503
  #
@@ -9162,7 +9190,7 @@ module Aws::S3
9162
9190
  #
9163
9191
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
9164
9192
  #
9165
- # @option params [String, IO] :body
9193
+ # @option params [String, StringIO, File] :body
9166
9194
  # Object data.
9167
9195
  #
9168
9196
  # @option params [required, String] :bucket
@@ -9380,24 +9408,39 @@ module Aws::S3
9380
9408
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
9381
9409
  #
9382
9410
  #
9383
- # @example Example: To upload an object and specify server-side encryption and object tags
9411
+ # @example Example: To upload an object and specify canned ACL.
9384
9412
  #
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.
9413
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
9414
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
9387
9415
  #
9388
9416
  # resp = client.put_object({
9417
+ # acl: "authenticated-read",
9389
9418
  # body: "filetoupload",
9390
9419
  # bucket: "examplebucket",
9391
9420
  # key: "exampleobject",
9392
- # server_side_encryption: "AES256",
9393
- # tagging: "key1=value1&key2=value2",
9394
9421
  # })
9395
9422
  #
9396
9423
  # resp.to_h outputs the following:
9397
9424
  # {
9398
9425
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9399
- # server_side_encryption: "AES256",
9400
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9426
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
9427
+ # }
9428
+ #
9429
+ # @example Example: To upload an object
9430
+ #
9431
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
9432
+ # # syntax. S3 returns VersionId of the newly created object.
9433
+ #
9434
+ # resp = client.put_object({
9435
+ # body: "HappyFace.jpg",
9436
+ # bucket: "examplebucket",
9437
+ # key: "HappyFace.jpg",
9438
+ # })
9439
+ #
9440
+ # resp.to_h outputs the following:
9441
+ # {
9442
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9443
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
9401
9444
  # }
9402
9445
  #
9403
9446
  # @example Example: To create an object.
@@ -9475,39 +9518,24 @@ module Aws::S3
9475
9518
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
9476
9519
  # }
9477
9520
  #
9478
- # @example Example: To upload an object and specify canned ACL.
9521
+ # @example Example: To upload an object and specify server-side encryption and object tags
9479
9522
  #
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.
9523
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
9524
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
9482
9525
  #
9483
9526
  # resp = client.put_object({
9484
- # acl: "authenticated-read",
9485
9527
  # body: "filetoupload",
9486
9528
  # bucket: "examplebucket",
9487
9529
  # key: "exampleobject",
9530
+ # server_side_encryption: "AES256",
9531
+ # tagging: "key1=value1&key2=value2",
9488
9532
  # })
9489
9533
  #
9490
9534
  # resp.to_h outputs the following:
9491
9535
  # {
9492
9536
  # 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",
9537
+ # server_side_encryption: "AES256",
9538
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9511
9539
  # }
9512
9540
  #
9513
9541
  # @example Streaming a file from disk
@@ -10187,7 +10215,7 @@ module Aws::S3
10187
10215
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
10188
10216
  #
10189
10217
  # @option params [required, String] :key
10190
- # Name of the tag.
10218
+ # Name of the object key.
10191
10219
  #
10192
10220
  # @option params [String] :version_id
10193
10221
  # The versionId of the object that the tag-set will be added to.
@@ -11238,7 +11266,7 @@ module Aws::S3
11238
11266
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11239
11267
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
11240
11268
  #
11241
- # @option params [String, IO] :body
11269
+ # @option params [String, StringIO, File] :body
11242
11270
  # Object data.
11243
11271
  #
11244
11272
  # @option params [required, String] :bucket
@@ -11672,7 +11700,7 @@ module Aws::S3
11672
11700
  params: params,
11673
11701
  config: config)
11674
11702
  context[:gem_name] = 'aws-sdk-s3'
11675
- context[:gem_version] = '1.74.0'
11703
+ context[:gem_version] = '1.79.0'
11676
11704
  Seahorse::Client::Request.new(handlers, context)
11677
11705
  end
11678
11706