aws-sdk-s3 1.173.0 → 1.174.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc1d1e6f211667a5d43efca71499d376d431a071ac8da1c40541cd62714fedca
4
- data.tar.gz: 2c2f348879b9c7528079daa05202884cb53c6b318a1a67d00346edf339b3e307
3
+ metadata.gz: 41708b9731d7e419a0ba0c0b1055eb898262787bbbb863ac9fc263dea923ab39
4
+ data.tar.gz: 7b234e13747a166c717b53e12f10c68c46f095a6c80a595729b2bf45bd26559d
5
5
  SHA512:
6
- metadata.gz: d4685a39edd262e847985899a2d5c45f6029b5ab58d5719b54b8d76d018e3ec30843a6518dd5861f651030646f45599743b605fadc44304711d704586cdfeffb
7
- data.tar.gz: 1cb52f420a2c97cfb7910e2caf71608270d40283e28bf3b86d40e9ba6ac48bd695e7f1b98bc3eca072e42eb30e6fdab86d0332690cbb896d7669d1e08fe90154
6
+ metadata.gz: ea9f2984fef0721818c9fd89578fec1607717f0997a4eef687438b0b1c8ee5d7dc9e97e7eb88f61de09639f960a26263f364a7058e2cd9177ab21c796bfd6387
7
+ data.tar.gz: 2abdd8f68b8d314356c8d94be450302c871ab278249deaedf5369760ef69b460999ec1e570902f5070795e9d3238170814be085263235239499ed599aa42a0e4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.174.0 (2024-11-25)
5
+ ------------------
6
+
7
+ * Feature - Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.
8
+
4
9
  1.173.0 (2024-11-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.173.0
1
+ 1.174.0
@@ -508,6 +508,7 @@ module Aws::S3
508
508
  # checksum_sha1: "ChecksumSHA1",
509
509
  # checksum_sha256: "ChecksumSHA256",
510
510
  # expires: Time.now,
511
+ # if_match: "IfMatch",
511
512
  # if_none_match: "IfNoneMatch",
512
513
  # grant_full_control: "GrantFullControl",
513
514
  # grant_read: "GrantRead",
@@ -733,6 +734,25 @@ module Aws::S3
733
734
  #
734
735
  #
735
736
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
737
+ # @option options [String] :if_match
738
+ # Uploads the object only if the ETag (entity tag) value provided during
739
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
740
+ # values do not match, the operation returns a `412 Precondition Failed`
741
+ # error.
742
+ #
743
+ # If a conflicting operation occurs during the upload S3 returns a `409
744
+ # ConditionalRequestConflict` response. On a 409 failure you should
745
+ # fetch the object's ETag and retry the upload.
746
+ #
747
+ # Expects the ETag value as a string.
748
+ #
749
+ # For more information about conditional requests, see [RFC 7232][1], or
750
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
751
+ #
752
+ #
753
+ #
754
+ # [1]: https://tools.ietf.org/html/rfc7232
755
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
736
756
  # @option options [String] :if_none_match
737
757
  # Uploads the object only if the object key name does not already exist
738
758
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -1022,6 +1022,27 @@ module Aws::S3
1022
1022
  # you provide does not match the actual owner of the bucket, the request
1023
1023
  # fails with the HTTP status code `403 Forbidden` (access denied).
1024
1024
  #
1025
+ # @option params [String] :if_match
1026
+ # Uploads the object only if the ETag (entity tag) value provided during
1027
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
1028
+ # values do not match, the operation returns a `412 Precondition Failed`
1029
+ # error.
1030
+ #
1031
+ # If a conflicting operation occurs during the upload S3 returns a `409
1032
+ # ConditionalRequestConflict` response. On a 409 failure you should
1033
+ # fetch the object's ETag, re-initiate the multipart upload with
1034
+ # `CreateMultipartUpload`, and re-upload each part.
1035
+ #
1036
+ # Expects the ETag value as a string.
1037
+ #
1038
+ # For more information about conditional requests, see [RFC 7232][1], or
1039
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
1040
+ #
1041
+ #
1042
+ #
1043
+ # [1]: https://tools.ietf.org/html/rfc7232
1044
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
1045
+ #
1025
1046
  # @option params [String] :if_none_match
1026
1047
  # Uploads the object only if the object key name does not already exist
1027
1048
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -1157,6 +1178,7 @@ module Aws::S3
1157
1178
  # checksum_sha256: "ChecksumSHA256",
1158
1179
  # request_payer: "requester", # accepts requester
1159
1180
  # expected_bucket_owner: "AccountId",
1181
+ # if_match: "IfMatch",
1160
1182
  # if_none_match: "IfNoneMatch",
1161
1183
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1162
1184
  # sse_customer_key: "SSECustomerKey",
@@ -5016,6 +5038,15 @@ module Aws::S3
5016
5038
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
5017
5039
  #
5018
5040
  #
5041
+ # @example Example: To delete an object (from a non-versioned bucket)
5042
+ #
5043
+ # # The following example deletes an object from a non-versioned bucket.
5044
+ #
5045
+ # resp = client.delete_object({
5046
+ # bucket: "ExampleBucket",
5047
+ # key: "HappyFace.jpg",
5048
+ # })
5049
+ #
5019
5050
  # @example Example: To delete an object
5020
5051
  #
5021
5052
  # # The following example deletes an object from an S3 bucket.
@@ -5029,15 +5060,6 @@ module Aws::S3
5029
5060
  # {
5030
5061
  # }
5031
5062
  #
5032
- # @example Example: To delete an object (from a non-versioned bucket)
5033
- #
5034
- # # The following example deletes an object from a non-versioned bucket.
5035
- #
5036
- # resp = client.delete_object({
5037
- # bucket: "ExampleBucket",
5038
- # key: "HappyFace.jpg",
5039
- # })
5040
- #
5041
5063
  # @example Request syntax with placeholder values
5042
5064
  #
5043
5065
  # resp = client.delete_object({
@@ -8330,49 +8352,49 @@ module Aws::S3
8330
8352
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8331
8353
  #
8332
8354
  #
8333
- # @example Example: To retrieve a byte range of an object
8355
+ # @example Example: To retrieve an object
8334
8356
  #
8335
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8336
- # # specific byte range.
8357
+ # # The following example retrieves an object for an S3 bucket.
8337
8358
  #
8338
8359
  # resp = client.get_object({
8339
8360
  # bucket: "examplebucket",
8340
- # key: "SampleFile.txt",
8341
- # range: "bytes=0-9",
8361
+ # key: "HappyFace.jpg",
8342
8362
  # })
8343
8363
  #
8344
8364
  # resp.to_h outputs the following:
8345
8365
  # {
8346
8366
  # accept_ranges: "bytes",
8347
- # content_length: 10,
8348
- # content_range: "bytes 0-9/43",
8349
- # content_type: "text/plain",
8350
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8351
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8367
+ # content_length: 3191,
8368
+ # content_type: "image/jpeg",
8369
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8370
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8352
8371
  # metadata: {
8353
8372
  # },
8373
+ # tag_count: 2,
8354
8374
  # version_id: "null",
8355
8375
  # }
8356
8376
  #
8357
- # @example Example: To retrieve an object
8377
+ # @example Example: To retrieve a byte range of an object
8358
8378
  #
8359
- # # The following example retrieves an object for an S3 bucket.
8379
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8380
+ # # specific byte range.
8360
8381
  #
8361
8382
  # resp = client.get_object({
8362
8383
  # bucket: "examplebucket",
8363
- # key: "HappyFace.jpg",
8384
+ # key: "SampleFile.txt",
8385
+ # range: "bytes=0-9",
8364
8386
  # })
8365
8387
  #
8366
8388
  # resp.to_h outputs the following:
8367
8389
  # {
8368
8390
  # accept_ranges: "bytes",
8369
- # content_length: 3191,
8370
- # content_type: "image/jpeg",
8371
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8372
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8391
+ # content_length: 10,
8392
+ # content_range: "bytes 0-9/43",
8393
+ # content_type: "text/plain",
8394
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8395
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8373
8396
  # metadata: {
8374
8397
  # },
8375
- # tag_count: 2,
8376
8398
  # version_id: "null",
8377
8399
  # }
8378
8400
  #
@@ -9385,49 +9407,49 @@ module Aws::S3
9385
9407
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
9386
9408
  #
9387
9409
  #
9388
- # @example Example: To retrieve tag set of an object
9410
+ # @example Example: To retrieve tag set of a specific object version
9389
9411
  #
9390
- # # The following example retrieves tag set of an object.
9412
+ # # The following example retrieves tag set of an object. The request specifies object version.
9391
9413
  #
9392
9414
  # resp = client.get_object_tagging({
9393
9415
  # bucket: "examplebucket",
9394
- # key: "HappyFace.jpg",
9416
+ # key: "exampleobject",
9417
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9395
9418
  # })
9396
9419
  #
9397
9420
  # resp.to_h outputs the following:
9398
9421
  # {
9399
9422
  # tag_set: [
9400
9423
  # {
9401
- # key: "Key4",
9402
- # value: "Value4",
9403
- # },
9404
- # {
9405
- # key: "Key3",
9406
- # value: "Value3",
9424
+ # key: "Key1",
9425
+ # value: "Value1",
9407
9426
  # },
9408
9427
  # ],
9409
- # version_id: "null",
9428
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9410
9429
  # }
9411
9430
  #
9412
- # @example Example: To retrieve tag set of a specific object version
9431
+ # @example Example: To retrieve tag set of an object
9413
9432
  #
9414
- # # The following example retrieves tag set of an object. The request specifies object version.
9433
+ # # The following example retrieves tag set of an object.
9415
9434
  #
9416
9435
  # resp = client.get_object_tagging({
9417
9436
  # bucket: "examplebucket",
9418
- # key: "exampleobject",
9419
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9437
+ # key: "HappyFace.jpg",
9420
9438
  # })
9421
9439
  #
9422
9440
  # resp.to_h outputs the following:
9423
9441
  # {
9424
9442
  # tag_set: [
9425
9443
  # {
9426
- # key: "Key1",
9427
- # value: "Value1",
9444
+ # key: "Key4",
9445
+ # value: "Value4",
9446
+ # },
9447
+ # {
9448
+ # key: "Key3",
9449
+ # value: "Value3",
9428
9450
  # },
9429
9451
  # ],
9430
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9452
+ # version_id: "null",
9431
9453
  # }
9432
9454
  #
9433
9455
  # @example Request syntax with placeholder values
@@ -15480,10 +15502,12 @@ module Aws::S3
15480
15502
  # </note>
15481
15503
  #
15482
15504
  # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
15483
- # take a short amount of time for the change to be fully propagated. We
15484
- # recommend that you wait for 15 minutes after enabling versioning
15485
- # before issuing write operations (`PUT` or `DELETE`) on objects in the
15486
- # bucket.
15505
+ # take a short amount of time for the change to be fully propagated.
15506
+ # While this change is propagating, you may encounter intermittent `HTTP
15507
+ # 404 NoSuchKey` errors for requests to objects created or updated after
15508
+ # enabling versioning. We recommend that you wait for 15 minutes after
15509
+ # enabling versioning before issuing write operations (`PUT` or
15510
+ # `DELETE`) on objects in the bucket.
15487
15511
  #
15488
15512
  # </note>
15489
15513
  #
@@ -16173,6 +16197,26 @@ module Aws::S3
16173
16197
  #
16174
16198
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
16175
16199
  #
16200
+ # @option params [String] :if_match
16201
+ # Uploads the object only if the ETag (entity tag) value provided during
16202
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
16203
+ # values do not match, the operation returns a `412 Precondition Failed`
16204
+ # error.
16205
+ #
16206
+ # If a conflicting operation occurs during the upload S3 returns a `409
16207
+ # ConditionalRequestConflict` response. On a 409 failure you should
16208
+ # fetch the object's ETag and retry the upload.
16209
+ #
16210
+ # Expects the ETag value as a string.
16211
+ #
16212
+ # For more information about conditional requests, see [RFC 7232][1], or
16213
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
16214
+ #
16215
+ #
16216
+ #
16217
+ # [1]: https://tools.ietf.org/html/rfc7232
16218
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
16219
+ #
16176
16220
  # @option params [String] :if_none_match
16177
16221
  # Uploads the object only if the object key name does not already exist
16178
16222
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -16549,57 +16593,59 @@ module Aws::S3
16549
16593
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16550
16594
  #
16551
16595
  #
16552
- # @example Example: To upload an object and specify optional tags
16596
+ # @example Example: To upload an object and specify server-side encryption and object tags
16553
16597
  #
16554
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
16555
- # # S3 returns version ID of the newly created object.
16598
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16599
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16556
16600
  #
16557
16601
  # resp = client.put_object({
16558
- # body: "c:\\HappyFace.jpg",
16602
+ # body: "filetoupload",
16559
16603
  # bucket: "examplebucket",
16560
- # key: "HappyFace.jpg",
16604
+ # key: "exampleobject",
16605
+ # server_side_encryption: "AES256",
16561
16606
  # tagging: "key1=value1&key2=value2",
16562
16607
  # })
16563
16608
  #
16564
16609
  # resp.to_h outputs the following:
16565
16610
  # {
16566
16611
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16567
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16612
+ # server_side_encryption: "AES256",
16613
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16568
16614
  # }
16569
16615
  #
16570
- # @example Example: To upload an object and specify canned ACL.
16616
+ # @example Example: To upload an object
16571
16617
  #
16572
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
16573
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
16618
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16619
+ # # syntax. S3 returns VersionId of the newly created object.
16574
16620
  #
16575
16621
  # resp = client.put_object({
16576
- # acl: "authenticated-read",
16577
- # body: "filetoupload",
16622
+ # body: "HappyFace.jpg",
16578
16623
  # bucket: "examplebucket",
16579
- # key: "exampleobject",
16624
+ # key: "HappyFace.jpg",
16580
16625
  # })
16581
16626
  #
16582
16627
  # resp.to_h outputs the following:
16583
16628
  # {
16584
16629
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16585
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16630
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16586
16631
  # }
16587
16632
  #
16588
- # @example Example: To upload an object
16633
+ # @example Example: To upload an object and specify optional tags
16589
16634
  #
16590
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16591
- # # syntax. S3 returns VersionId of the newly created object.
16635
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
16636
+ # # S3 returns version ID of the newly created object.
16592
16637
  #
16593
16638
  # resp = client.put_object({
16594
- # body: "HappyFace.jpg",
16639
+ # body: "c:\\HappyFace.jpg",
16595
16640
  # bucket: "examplebucket",
16596
16641
  # key: "HappyFace.jpg",
16642
+ # tagging: "key1=value1&key2=value2",
16597
16643
  # })
16598
16644
  #
16599
16645
  # resp.to_h outputs the following:
16600
16646
  # {
16601
16647
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16602
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16648
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16603
16649
  # }
16604
16650
  #
16605
16651
  # @example Example: To upload object and specify user-defined metadata
@@ -16623,20 +16669,22 @@ module Aws::S3
16623
16669
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16624
16670
  # }
16625
16671
  #
16626
- # @example Example: To create an object.
16672
+ # @example Example: To upload an object and specify canned ACL.
16627
16673
  #
16628
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16674
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
16675
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
16629
16676
  #
16630
16677
  # resp = client.put_object({
16678
+ # acl: "authenticated-read",
16631
16679
  # body: "filetoupload",
16632
16680
  # bucket: "examplebucket",
16633
- # key: "objectkey",
16681
+ # key: "exampleobject",
16634
16682
  # })
16635
16683
  #
16636
16684
  # resp.to_h outputs the following:
16637
16685
  # {
16638
16686
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16639
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16687
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16640
16688
  # }
16641
16689
  #
16642
16690
  # @example Example: To upload an object (specify optional headers)
@@ -16659,24 +16707,20 @@ module Aws::S3
16659
16707
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16660
16708
  # }
16661
16709
  #
16662
- # @example Example: To upload an object and specify server-side encryption and object tags
16710
+ # @example Example: To create an object.
16663
16711
  #
16664
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16665
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16712
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16666
16713
  #
16667
16714
  # resp = client.put_object({
16668
16715
  # body: "filetoupload",
16669
16716
  # bucket: "examplebucket",
16670
- # key: "exampleobject",
16671
- # server_side_encryption: "AES256",
16672
- # tagging: "key1=value1&key2=value2",
16717
+ # key: "objectkey",
16673
16718
  # })
16674
16719
  #
16675
16720
  # resp.to_h outputs the following:
16676
16721
  # {
16677
16722
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16678
- # server_side_encryption: "AES256",
16679
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16723
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16680
16724
  # }
16681
16725
  #
16682
16726
  # @example Streaming a file from disk
@@ -16704,6 +16748,7 @@ module Aws::S3
16704
16748
  # checksum_sha1: "ChecksumSHA1",
16705
16749
  # checksum_sha256: "ChecksumSHA256",
16706
16750
  # expires: Time.now,
16751
+ # if_match: "IfMatch",
16707
16752
  # if_none_match: "IfNoneMatch",
16708
16753
  # grant_full_control: "GrantFullControl",
16709
16754
  # grant_read: "GrantRead",
@@ -20026,7 +20071,7 @@ module Aws::S3
20026
20071
  tracer: tracer
20027
20072
  )
20028
20073
  context[:gem_name] = 'aws-sdk-s3'
20029
- context[:gem_version] = '1.173.0'
20074
+ context[:gem_version] = '1.174.0'
20030
20075
  Seahorse::Client::Request.new(handlers, context)
20031
20076
  end
20032
20077
 
@@ -785,6 +785,7 @@ module Aws::S3
785
785
  CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
786
786
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
787
787
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
788
+ CompleteMultipartUploadRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
788
789
  CompleteMultipartUploadRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
789
790
  CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
790
791
  CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -2363,6 +2364,7 @@ module Aws::S3
2363
2364
  PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2364
2365
  PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2365
2366
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2367
+ PutObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
2366
2368
  PutObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
2367
2369
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2368
2370
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -307,6 +307,7 @@ module Aws::S3
307
307
  # checksum_sha256: "ChecksumSHA256",
308
308
  # request_payer: "requester", # accepts requester
309
309
  # expected_bucket_owner: "AccountId",
310
+ # if_match: "IfMatch",
310
311
  # if_none_match: "IfNoneMatch",
311
312
  # sse_customer_algorithm: "SSECustomerAlgorithm",
312
313
  # sse_customer_key: "SSECustomerKey",
@@ -375,6 +376,26 @@ module Aws::S3
375
376
  # The account ID of the expected bucket owner. If the account ID that
376
377
  # you provide does not match the actual owner of the bucket, the request
377
378
  # fails with the HTTP status code `403 Forbidden` (access denied).
379
+ # @option options [String] :if_match
380
+ # Uploads the object only if the ETag (entity tag) value provided during
381
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
382
+ # values do not match, the operation returns a `412 Precondition Failed`
383
+ # error.
384
+ #
385
+ # If a conflicting operation occurs during the upload S3 returns a `409
386
+ # ConditionalRequestConflict` response. On a 409 failure you should
387
+ # fetch the object's ETag, re-initiate the multipart upload with
388
+ # `CreateMultipartUpload`, and re-upload each part.
389
+ #
390
+ # Expects the ETag value as a string.
391
+ #
392
+ # For more information about conditional requests, see [RFC 7232][1], or
393
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
394
+ #
395
+ #
396
+ #
397
+ # [1]: https://tools.ietf.org/html/rfc7232
398
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
378
399
  # @option options [String] :if_none_match
379
400
  # Uploads the object only if the object key name does not already exist
380
401
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -2368,6 +2368,7 @@ module Aws::S3
2368
2368
  # checksum_sha1: "ChecksumSHA1",
2369
2369
  # checksum_sha256: "ChecksumSHA256",
2370
2370
  # expires: Time.now,
2371
+ # if_match: "IfMatch",
2371
2372
  # if_none_match: "IfNoneMatch",
2372
2373
  # grant_full_control: "GrantFullControl",
2373
2374
  # grant_read: "GrantRead",
@@ -2592,6 +2593,25 @@ module Aws::S3
2592
2593
  #
2593
2594
  #
2594
2595
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
2596
+ # @option options [String] :if_match
2597
+ # Uploads the object only if the ETag (entity tag) value provided during
2598
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
2599
+ # values do not match, the operation returns a `412 Precondition Failed`
2600
+ # error.
2601
+ #
2602
+ # If a conflicting operation occurs during the upload S3 returns a `409
2603
+ # ConditionalRequestConflict` response. On a 409 failure you should
2604
+ # fetch the object's ETag and retry the upload.
2605
+ #
2606
+ # Expects the ETag value as a string.
2607
+ #
2608
+ # For more information about conditional requests, see [RFC 7232][1], or
2609
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
2610
+ #
2611
+ #
2612
+ #
2613
+ # [1]: https://tools.ietf.org/html/rfc7232
2614
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
2595
2615
  # @option options [String] :if_none_match
2596
2616
  # Uploads the object only if the object key name does not already exist
2597
2617
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -2018,6 +2018,7 @@ module Aws::S3
2018
2018
  # checksum_sha1: "ChecksumSHA1",
2019
2019
  # checksum_sha256: "ChecksumSHA256",
2020
2020
  # expires: Time.now,
2021
+ # if_match: "IfMatch",
2021
2022
  # if_none_match: "IfNoneMatch",
2022
2023
  # grant_full_control: "GrantFullControl",
2023
2024
  # grant_read: "GrantRead",
@@ -2242,6 +2243,25 @@ module Aws::S3
2242
2243
  #
2243
2244
  #
2244
2245
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
2246
+ # @option options [String] :if_match
2247
+ # Uploads the object only if the ETag (entity tag) value provided during
2248
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
2249
+ # values do not match, the operation returns a `412 Precondition Failed`
2250
+ # error.
2251
+ #
2252
+ # If a conflicting operation occurs during the upload S3 returns a `409
2253
+ # ConditionalRequestConflict` response. On a 409 failure you should
2254
+ # fetch the object's ETag and retry the upload.
2255
+ #
2256
+ # Expects the ETag value as a string.
2257
+ #
2258
+ # For more information about conditional requests, see [RFC 7232][1], or
2259
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
2260
+ #
2261
+ #
2262
+ #
2263
+ # [1]: https://tools.ietf.org/html/rfc7232
2264
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
2245
2265
  # @option options [String] :if_none_match
2246
2266
  # Uploads the object only if the object key name does not already exist
2247
2267
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -1068,6 +1068,28 @@ module Aws::S3
1068
1068
  # denied).
1069
1069
  # @return [String]
1070
1070
  #
1071
+ # @!attribute [rw] if_match
1072
+ # Uploads the object only if the ETag (entity tag) value provided
1073
+ # during the WRITE operation matches the ETag of the object in S3. If
1074
+ # the ETag values do not match, the operation returns a `412
1075
+ # Precondition Failed` error.
1076
+ #
1077
+ # If a conflicting operation occurs during the upload S3 returns a
1078
+ # `409 ConditionalRequestConflict` response. On a 409 failure you
1079
+ # should fetch the object's ETag, re-initiate the multipart upload
1080
+ # with `CreateMultipartUpload`, and re-upload each part.
1081
+ #
1082
+ # Expects the ETag value as a string.
1083
+ #
1084
+ # For more information about conditional requests, see [RFC 7232][1],
1085
+ # or [Conditional requests][2] in the *Amazon S3 User Guide*.
1086
+ #
1087
+ #
1088
+ #
1089
+ # [1]: https://tools.ietf.org/html/rfc7232
1090
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
1091
+ # @return [String]
1092
+ #
1071
1093
  # @!attribute [rw] if_none_match
1072
1094
  # Uploads the object only if the object key name does not already
1073
1095
  # exist in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -1148,6 +1170,7 @@ module Aws::S3
1148
1170
  :checksum_sha256,
1149
1171
  :request_payer,
1150
1172
  :expected_bucket_owner,
1173
+ :if_match,
1151
1174
  :if_none_match,
1152
1175
  :sse_customer_algorithm,
1153
1176
  :sse_customer_key,
@@ -14679,6 +14702,27 @@ module Aws::S3
14679
14702
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
14680
14703
  # @return [Time]
14681
14704
  #
14705
+ # @!attribute [rw] if_match
14706
+ # Uploads the object only if the ETag (entity tag) value provided
14707
+ # during the WRITE operation matches the ETag of the object in S3. If
14708
+ # the ETag values do not match, the operation returns a `412
14709
+ # Precondition Failed` error.
14710
+ #
14711
+ # If a conflicting operation occurs during the upload S3 returns a
14712
+ # `409 ConditionalRequestConflict` response. On a 409 failure you
14713
+ # should fetch the object's ETag and retry the upload.
14714
+ #
14715
+ # Expects the ETag value as a string.
14716
+ #
14717
+ # For more information about conditional requests, see [RFC 7232][1],
14718
+ # or [Conditional requests][2] in the *Amazon S3 User Guide*.
14719
+ #
14720
+ #
14721
+ #
14722
+ # [1]: https://tools.ietf.org/html/rfc7232
14723
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
14724
+ # @return [String]
14725
+ #
14682
14726
  # @!attribute [rw] if_none_match
14683
14727
  # Uploads the object only if the object key name does not already
14684
14728
  # exist in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -15082,6 +15126,7 @@ module Aws::S3
15082
15126
  :checksum_sha1,
15083
15127
  :checksum_sha256,
15084
15128
  :expires,
15129
+ :if_match,
15085
15130
  :if_none_match,
15086
15131
  :grant_full_control,
15087
15132
  :grant_read,
data/lib/aws-sdk-s3.rb CHANGED
@@ -75,7 +75,7 @@ module Aws::S3
75
75
  autoload :ObjectVersion, 'aws-sdk-s3/object_version'
76
76
  autoload :EventStreams, 'aws-sdk-s3/event_streams'
77
77
 
78
- GEM_VERSION = '1.173.0'
78
+ GEM_VERSION = '1.174.0'
79
79
 
80
80
  end
81
81
 
data/sig/bucket.rbs CHANGED
@@ -113,6 +113,7 @@ module Aws
113
113
  ?checksum_sha1: ::String,
114
114
  ?checksum_sha256: ::String,
115
115
  ?expires: ::Time,
116
+ ?if_match: ::String,
116
117
  ?if_none_match: ::String,
117
118
  ?grant_full_control: ::String,
118
119
  ?grant_read: ::String,
data/sig/client.rbs CHANGED
@@ -145,6 +145,7 @@ module Aws
145
145
  ?checksum_sha256: ::String,
146
146
  ?request_payer: ("requester"),
147
147
  ?expected_bucket_owner: ::String,
148
+ ?if_match: ::String,
148
149
  ?if_none_match: ::String,
149
150
  ?sse_customer_algorithm: ::String,
150
151
  ?sse_customer_key: ::String,
@@ -1914,6 +1915,7 @@ module Aws
1914
1915
  ?checksum_sha1: ::String,
1915
1916
  ?checksum_sha256: ::String,
1916
1917
  ?expires: ::Time,
1918
+ ?if_match: ::String,
1917
1919
  ?if_none_match: ::String,
1918
1920
  ?grant_full_control: ::String,
1919
1921
  ?grant_read: ::String,
@@ -82,6 +82,7 @@ module Aws
82
82
  ?checksum_sha256: ::String,
83
83
  ?request_payer: ("requester"),
84
84
  ?expected_bucket_owner: ::String,
85
+ ?if_match: ::String,
85
86
  ?if_none_match: ::String,
86
87
  ?sse_customer_algorithm: ::String,
87
88
  ?sse_customer_key: ::String,
data/sig/object.rbs CHANGED
@@ -280,6 +280,7 @@ module Aws
280
280
  ?checksum_sha1: ::String,
281
281
  ?checksum_sha256: ::String,
282
282
  ?expires: ::Time,
283
+ ?if_match: ::String,
283
284
  ?if_none_match: ::String,
284
285
  ?grant_full_control: ::String,
285
286
  ?grant_read: ::String,
@@ -193,6 +193,7 @@ module Aws
193
193
  ?checksum_sha1: ::String,
194
194
  ?checksum_sha256: ::String,
195
195
  ?expires: ::Time,
196
+ ?if_match: ::String,
196
197
  ?if_none_match: ::String,
197
198
  ?grant_full_control: ::String,
198
199
  ?grant_read: ::String,
data/sig/types.rbs CHANGED
@@ -192,6 +192,7 @@ module Aws::S3
192
192
  attr_accessor checksum_sha256: ::String
193
193
  attr_accessor request_payer: ("requester")
194
194
  attr_accessor expected_bucket_owner: ::String
195
+ attr_accessor if_match: ::String
195
196
  attr_accessor if_none_match: ::String
196
197
  attr_accessor sse_customer_algorithm: ::String
197
198
  attr_accessor sse_customer_key: ::String
@@ -2086,6 +2087,7 @@ module Aws::S3
2086
2087
  attr_accessor checksum_sha1: ::String
2087
2088
  attr_accessor checksum_sha256: ::String
2088
2089
  attr_accessor expires: ::Time
2090
+ attr_accessor if_match: ::String
2089
2091
  attr_accessor if_none_match: ::String
2090
2092
  attr_accessor grant_full_control: ::String
2091
2093
  attr_accessor grant_read: ::String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.173.0
4
+ version: 1.174.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-21 00:00:00.000000000 Z
11
+ date: 2024-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms