aws-sdk-s3 1.173.0 → 1.174.0

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