aws-sdk-s3 1.136.0 → 1.138.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: 3a563e0602ed3c1393406bb2158324b9571f7c579924f3f349fe237333d218d1
4
- data.tar.gz: 4559f4a20a3abd9dcddde15fd814012e3874813d2e5cc15cd0066125aea8348f
3
+ metadata.gz: 51bd0889662b403a46fb2d6870555562c1e97e398d664012bb74695ed5ccbb0c
4
+ data.tar.gz: 5ed8d9ef98331a6be26e908f3daeb5be5d70a64f22637747da5bd03d5a6613d3
5
5
  SHA512:
6
- metadata.gz: 03eda70ab440bdf32208be9a6f8bbe5435d77090ef6198129b9cb06b91d2aba9fb5bb3820d53380af6863f4538344d6833d507d5c46b3609d648f2c52a26561c
7
- data.tar.gz: 43cd7b5022e8602f9590463478de5adf88de7cc31d1d13179551b9434a21fd6150c61009b98796eddc91a772c70e47698e58720f79733ad03ea638c27e052653
6
+ metadata.gz: 6c1dde98eebcde3534bfa3f9ca0235fe80965299415f6788c485cb1aab93b5bb7c9f20f9ad8d829fce1e1dfbf0a54844072de23c5f8ccaad19d5c1a3a86e7ecf
7
+ data.tar.gz: c55ee296c6421e468657804dee7925b4ec777bf829618d7da114199bbd760232e05bcefa6d53e849dcf7fac7cca7dc660ac2ea96fd03fc7b6195a0416d55cc14
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.138.0 (2023-11-21)
5
+ ------------------
6
+
7
+ * Feature - Add support for automatic date based partitioning in S3 Server Access Logs.
8
+
9
+ 1.137.0 (2023-11-17)
10
+ ------------------
11
+
12
+ * Feature - Removes all default 0 values for numbers and false values for booleans
13
+
4
14
  1.136.0 (2023-09-26)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.136.0
1
+ 1.138.0
@@ -641,7 +641,8 @@ module Aws::S3
641
641
  # string holding JSON with the encryption context key-value pairs. This
642
642
  # value is stored as object metadata and automatically gets passed on to
643
643
  # Amazon Web Services KMS for future `GetObject` or `CopyObject`
644
- # operations on this object.
644
+ # operations on this object. This value must be explicitly added during
645
+ # CopyObject operations.
645
646
  # @option options [Boolean] :bucket_key_enabled
646
647
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
647
648
  # encryption with server-side encryption using Key Management Service
@@ -203,6 +203,13 @@ module Aws::S3
203
203
  # },
204
204
  # ],
205
205
  # target_prefix: "TargetPrefix", # required
206
+ # target_object_key_format: {
207
+ # simple_prefix: {
208
+ # },
209
+ # partitioned_prefix: {
210
+ # partition_date_source: "EventTime", # accepts EventTime, DeliveryTime
211
+ # },
212
+ # },
206
213
  # },
207
214
  # },
208
215
  # content_md5: "ContentMD5",
@@ -799,13 +799,14 @@ module Aws::S3
799
799
  #
800
800
  # @option params [String] :sse_customer_algorithm
801
801
  # The server-side encryption (SSE) algorithm used to encrypt the object.
802
- # This parameter is needed only when the object was created using a
803
- # checksum algorithm. For more information, see [Protecting data using
804
- # SSE-C keys][1] in the *Amazon S3 User Guide*.
802
+ # This parameter is required only when the object was created using a
803
+ # checksum algorithm or if your bucket policy requires the use of SSE-C.
804
+ # For more information, see [Protecting data using SSE-C keys][1] in the
805
+ # *Amazon S3 User Guide*.
805
806
  #
806
807
  #
807
808
  #
808
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
809
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key
809
810
  #
810
811
  # @option params [String] :sse_customer_key
811
812
  # The server-side encryption (SSE) customer managed key. This parameter
@@ -1383,7 +1384,9 @@ module Aws::S3
1383
1384
  # @option params [String] :ssekms_encryption_context
1384
1385
  # Specifies the Amazon Web Services KMS Encryption Context to use for
1385
1386
  # object encryption. The value of this header is a base64-encoded UTF-8
1386
- # string holding JSON with the encryption context key-value pairs.
1387
+ # string holding JSON with the encryption context key-value pairs. This
1388
+ # value must be explicitly added to specify encryption context for
1389
+ # CopyObject requests.
1387
1390
  #
1388
1391
  # @option params [Boolean] :bucket_key_enabled
1389
1392
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
@@ -3495,22 +3498,20 @@ module Aws::S3
3495
3498
  # * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
3496
3499
  #
3497
3500
  #
3498
- # @example Example: To delete multiple object versions from a versioned bucket
3501
+ # @example Example: To delete multiple objects from a versioned bucket
3499
3502
  #
3500
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3501
- # # versions and returns the key and versions of deleted objects in the response.
3503
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3504
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3502
3505
  #
3503
3506
  # resp = client.delete_objects({
3504
3507
  # bucket: "examplebucket",
3505
3508
  # delete: {
3506
3509
  # objects: [
3507
3510
  # {
3508
- # key: "HappyFace.jpg",
3509
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3511
+ # key: "objectkey1",
3510
3512
  # },
3511
3513
  # {
3512
- # key: "HappyFace.jpg",
3513
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3514
+ # key: "objectkey2",
3514
3515
  # },
3515
3516
  # ],
3516
3517
  # quiet: false,
@@ -3521,30 +3522,34 @@ module Aws::S3
3521
3522
  # {
3522
3523
  # deleted: [
3523
3524
  # {
3524
- # key: "HappyFace.jpg",
3525
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3525
+ # delete_marker: true,
3526
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3527
+ # key: "objectkey1",
3526
3528
  # },
3527
3529
  # {
3528
- # key: "HappyFace.jpg",
3529
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3530
+ # delete_marker: true,
3531
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3532
+ # key: "objectkey2",
3530
3533
  # },
3531
3534
  # ],
3532
3535
  # }
3533
3536
  #
3534
- # @example Example: To delete multiple objects from a versioned bucket
3537
+ # @example Example: To delete multiple object versions from a versioned bucket
3535
3538
  #
3536
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3537
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3539
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3540
+ # # versions and returns the key and versions of deleted objects in the response.
3538
3541
  #
3539
3542
  # resp = client.delete_objects({
3540
3543
  # bucket: "examplebucket",
3541
3544
  # delete: {
3542
3545
  # objects: [
3543
3546
  # {
3544
- # key: "objectkey1",
3547
+ # key: "HappyFace.jpg",
3548
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3545
3549
  # },
3546
3550
  # {
3547
- # key: "objectkey2",
3551
+ # key: "HappyFace.jpg",
3552
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3548
3553
  # },
3549
3554
  # ],
3550
3555
  # quiet: false,
@@ -3555,14 +3560,12 @@ module Aws::S3
3555
3560
  # {
3556
3561
  # deleted: [
3557
3562
  # {
3558
- # delete_marker: true,
3559
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3560
- # key: "objectkey1",
3563
+ # key: "HappyFace.jpg",
3564
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3561
3565
  # },
3562
3566
  # {
3563
- # delete_marker: true,
3564
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3565
- # key: "objectkey2",
3567
+ # key: "HappyFace.jpg",
3568
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3566
3569
  # },
3567
3570
  # ],
3568
3571
  # }
@@ -4650,6 +4653,7 @@ module Aws::S3
4650
4653
  # resp.logging_enabled.target_grants[0].grantee.uri #=> String
4651
4654
  # resp.logging_enabled.target_grants[0].permission #=> String, one of "FULL_CONTROL", "READ", "WRITE"
4652
4655
  # resp.logging_enabled.target_prefix #=> String
4656
+ # resp.logging_enabled.target_object_key_format.partitioned_prefix.partition_date_source #=> String, one of "EventTime", "DeliveryTime"
4653
4657
  #
4654
4658
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging AWS API Documentation
4655
4659
  #
@@ -5713,6 +5717,10 @@ module Aws::S3
5713
5717
  # behaves as if the object was deleted and includes
5714
5718
  # `x-amz-delete-marker: true` in the response.
5715
5719
  #
5720
+ # * If the specified version is a delete marker, the response returns
5721
+ # a 405 (Method Not Allowed) error and the `Last-Modified:
5722
+ # timestamp` response header.
5723
+ #
5716
5724
  # </note>
5717
5725
  #
5718
5726
  # For more information about versioning, see [PutBucketVersioning][8].
@@ -7196,9 +7204,10 @@ module Aws::S3
7196
7204
  # A `HEAD` request has the same options as a `GET` action on an object.
7197
7205
  # The response is identical to the `GET` response except that there is
7198
7206
  # no response body. Because of this, if the `HEAD` request generates an
7199
- # error, it returns a generic `400 Bad Request`, `403 Forbidden` or `404
7200
- # Not Found` code. It is not possible to retrieve the exact exception
7201
- # beyond these error codes.
7207
+ # error, it returns a generic code, such as `400 Bad Request`, `403
7208
+ # Forbidden`, `404 Not Found`, `405 Method Not Allowed`, `412
7209
+ # Precondition Failed`, or `304 Not Modified`. It's not possible to
7210
+ # retrieve the exact exception of these error codes.
7202
7211
  #
7203
7212
  # If you encrypt an object by using server-side encryption with
7204
7213
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -7266,6 +7275,15 @@ module Aws::S3
7266
7275
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7267
7276
  # returns an HTTP status code 403 error.
7268
7277
  #
7278
+ # Versioning
7279
+ # : * If the current version of the object is a delete marker, Amazon S3
7280
+ # behaves as if the object was deleted and includes
7281
+ # `x-amz-delete-marker: true` in the response.
7282
+ #
7283
+ # * If the specified version is a delete marker, the response returns
7284
+ # a 405 (Method Not Allowed) error and the `Last-Modified:
7285
+ # timestamp` response header.
7286
+ #
7269
7287
  # The following actions are related to `HeadObject`:
7270
7288
  #
7271
7289
  # * [GetObject][5]
@@ -8279,8 +8297,6 @@ module Aws::S3
8279
8297
  #
8280
8298
  # To use this operation, you must have READ access to the bucket.
8281
8299
  #
8282
- # This action is not supported by Amazon S3 on Outposts.
8283
- #
8284
8300
  # The following operations are related to `ListObjectVersions`:
8285
8301
  #
8286
8302
  # * [ListObjectsV2][1]
@@ -10752,6 +10768,13 @@ module Aws::S3
10752
10768
  # },
10753
10769
  # ],
10754
10770
  # target_prefix: "TargetPrefix", # required
10771
+ # target_object_key_format: {
10772
+ # simple_prefix: {
10773
+ # },
10774
+ # partitioned_prefix: {
10775
+ # partition_date_source: "EventTime", # accepts EventTime, DeliveryTime
10776
+ # },
10777
+ # },
10755
10778
  # },
10756
10779
  # },
10757
10780
  # content_md5: "ContentMD5",
@@ -12464,7 +12487,8 @@ module Aws::S3
12464
12487
  # string holding JSON with the encryption context key-value pairs. This
12465
12488
  # value is stored as object metadata and automatically gets passed on to
12466
12489
  # Amazon Web Services KMS for future `GetObject` or `CopyObject`
12467
- # operations on this object.
12490
+ # operations on this object. This value must be explicitly added during
12491
+ # CopyObject operations.
12468
12492
  #
12469
12493
  # @option params [Boolean] :bucket_key_enabled
12470
12494
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
@@ -12530,40 +12554,25 @@ module Aws::S3
12530
12554
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12531
12555
  #
12532
12556
  #
12533
- # @example Example: To upload an object and specify server-side encryption and object tags
12557
+ # @example Example: To upload object and specify user-defined metadata
12534
12558
  #
12535
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12536
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12559
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12560
+ # # enabled, S3 returns version ID in response.
12537
12561
  #
12538
12562
  # resp = client.put_object({
12539
12563
  # body: "filetoupload",
12540
12564
  # bucket: "examplebucket",
12541
12565
  # key: "exampleobject",
12542
- # server_side_encryption: "AES256",
12543
- # tagging: "key1=value1&key2=value2",
12544
- # })
12545
- #
12546
- # resp.to_h outputs the following:
12547
- # {
12548
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12549
- # server_side_encryption: "AES256",
12550
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12551
- # }
12552
- #
12553
- # @example Example: To create an object.
12554
- #
12555
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12556
- #
12557
- # resp = client.put_object({
12558
- # body: "filetoupload",
12559
- # bucket: "examplebucket",
12560
- # key: "objectkey",
12566
+ # metadata: {
12567
+ # "metadata1" => "value1",
12568
+ # "metadata2" => "value2",
12569
+ # },
12561
12570
  # })
12562
12571
  #
12563
12572
  # resp.to_h outputs the following:
12564
12573
  # {
12565
12574
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12566
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12575
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12567
12576
  # }
12568
12577
  #
12569
12578
  # @example Example: To upload an object (specify optional headers)
@@ -12604,25 +12613,37 @@ module Aws::S3
12604
12613
  # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12605
12614
  # }
12606
12615
  #
12607
- # @example Example: To upload object and specify user-defined metadata
12616
+ # @example Example: To create an object.
12608
12617
  #
12609
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12610
- # # enabled, S3 returns version ID in response.
12618
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12611
12619
  #
12612
12620
  # resp = client.put_object({
12613
12621
  # body: "filetoupload",
12614
12622
  # bucket: "examplebucket",
12615
- # key: "exampleobject",
12616
- # metadata: {
12617
- # "metadata1" => "value1",
12618
- # "metadata2" => "value2",
12619
- # },
12623
+ # key: "objectkey",
12620
12624
  # })
12621
12625
  #
12622
12626
  # resp.to_h outputs the following:
12623
12627
  # {
12624
12628
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12625
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12629
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12630
+ # }
12631
+ #
12632
+ # @example Example: To upload an object
12633
+ #
12634
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12635
+ # # syntax. S3 returns VersionId of the newly created object.
12636
+ #
12637
+ # resp = client.put_object({
12638
+ # body: "HappyFace.jpg",
12639
+ # bucket: "examplebucket",
12640
+ # key: "HappyFace.jpg",
12641
+ # })
12642
+ #
12643
+ # resp.to_h outputs the following:
12644
+ # {
12645
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12646
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12626
12647
  # }
12627
12648
  #
12628
12649
  # @example Example: To upload an object and specify canned ACL.
@@ -12643,21 +12664,24 @@ module Aws::S3
12643
12664
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12644
12665
  # }
12645
12666
  #
12646
- # @example Example: To upload an object
12667
+ # @example Example: To upload an object and specify server-side encryption and object tags
12647
12668
  #
12648
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12649
- # # syntax. S3 returns VersionId of the newly created object.
12669
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12670
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12650
12671
  #
12651
12672
  # resp = client.put_object({
12652
- # body: "HappyFace.jpg",
12673
+ # body: "filetoupload",
12653
12674
  # bucket: "examplebucket",
12654
- # key: "HappyFace.jpg",
12675
+ # key: "exampleobject",
12676
+ # server_side_encryption: "AES256",
12677
+ # tagging: "key1=value1&key2=value2",
12655
12678
  # })
12656
12679
  #
12657
12680
  # resp.to_h outputs the following:
12658
12681
  # {
12659
12682
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12660
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12683
+ # server_side_encryption: "AES256",
12684
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12661
12685
  # }
12662
12686
  #
12663
12687
  # @example Streaming a file from disk
@@ -13637,7 +13661,7 @@ module Aws::S3
13637
13661
  # bucket or an object, it checks the `PublicAccessBlock` configuration
13638
13662
  # for both the bucket (or the bucket that contains the object) and the
13639
13663
  # bucket owner's account. If the `PublicAccessBlock` configurations are
13640
- # different between the bucket and the account, S3 uses the most
13664
+ # different between the bucket and the account, Amazon S3 uses the most
13641
13665
  # restrictive combination of the bucket-level and account-level
13642
13666
  # settings.
13643
13667
  #
@@ -15697,7 +15721,7 @@ module Aws::S3
15697
15721
  params: params,
15698
15722
  config: config)
15699
15723
  context[:gem_name] = 'aws-sdk-s3'
15700
- context[:gem_version] = '1.136.0'
15724
+ context[:gem_version] = '1.138.0'
15701
15725
  Seahorse::Client::Request.new(handlers, context)
15702
15726
  end
15703
15727
 
@@ -423,6 +423,8 @@ module Aws::S3
423
423
  Part = Shapes::StructureShape.new(name: 'Part')
424
424
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
425
425
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
426
+ PartitionDateSource = Shapes::StringShape.new(name: 'PartitionDateSource')
427
+ PartitionedPrefix = Shapes::StructureShape.new(name: 'PartitionedPrefix')
426
428
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
427
429
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
428
430
  PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
@@ -542,6 +544,7 @@ module Aws::S3
542
544
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
543
545
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
544
546
  Setting = Shapes::BooleanShape.new(name: 'Setting')
547
+ SimplePrefix = Shapes::StructureShape.new(name: 'SimplePrefix')
545
548
  Size = Shapes::IntegerShape.new(name: 'Size')
546
549
  SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
547
550
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
@@ -565,6 +568,7 @@ module Aws::S3
565
568
  TargetBucket = Shapes::StringShape.new(name: 'TargetBucket')
566
569
  TargetGrant = Shapes::StructureShape.new(name: 'TargetGrant')
567
570
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
571
+ TargetObjectKeyFormat = Shapes::StructureShape.new(name: 'TargetObjectKeyFormat')
568
572
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
569
573
  Tier = Shapes::StringShape.new(name: 'Tier')
570
574
  Tiering = Shapes::StructureShape.new(name: 'Tiering')
@@ -1797,6 +1801,7 @@ module Aws::S3
1797
1801
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
1798
1802
  LoggingEnabled.add_member(:target_grants, Shapes::ShapeRef.new(shape: TargetGrants, location_name: "TargetGrants"))
1799
1803
  LoggingEnabled.add_member(:target_prefix, Shapes::ShapeRef.new(shape: TargetPrefix, required: true, location_name: "TargetPrefix"))
1804
+ LoggingEnabled.add_member(:target_object_key_format, Shapes::ShapeRef.new(shape: TargetObjectKeyFormat, location_name: "TargetObjectKeyFormat"))
1800
1805
  LoggingEnabled.struct_class = Types::LoggingEnabled
1801
1806
 
1802
1807
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
@@ -1962,6 +1967,9 @@ module Aws::S3
1962
1967
  Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1963
1968
  Part.struct_class = Types::Part
1964
1969
 
1970
+ PartitionedPrefix.add_member(:partition_date_source, Shapes::ShapeRef.new(shape: PartitionDateSource, location_name: "PartitionDateSource"))
1971
+ PartitionedPrefix.struct_class = Types::PartitionedPrefix
1972
+
1965
1973
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1966
1974
 
1967
1975
  PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
@@ -2493,6 +2501,8 @@ module Aws::S3
2493
2501
 
2494
2502
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2495
2503
 
2504
+ SimplePrefix.struct_class = Types::SimplePrefix
2505
+
2496
2506
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2497
2507
  SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2498
2508
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
@@ -2530,6 +2540,10 @@ module Aws::S3
2530
2540
 
2531
2541
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
2532
2542
 
2543
+ TargetObjectKeyFormat.add_member(:simple_prefix, Shapes::ShapeRef.new(shape: SimplePrefix, location_name: "SimplePrefix"))
2544
+ TargetObjectKeyFormat.add_member(:partitioned_prefix, Shapes::ShapeRef.new(shape: PartitionedPrefix, location_name: "PartitionedPrefix"))
2545
+ TargetObjectKeyFormat.struct_class = Types::TargetObjectKeyFormat
2546
+
2533
2547
  Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2534
2548
  Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2535
2549
  Tiering.struct_class = Types::Tiering
@@ -346,13 +346,14 @@ module Aws::S3
346
346
  # Forbidden` (access denied).
347
347
  # @option options [String] :sse_customer_algorithm
348
348
  # The server-side encryption (SSE) algorithm used to encrypt the object.
349
- # This parameter is needed only when the object was created using a
350
- # checksum algorithm. For more information, see [Protecting data using
351
- # SSE-C keys][1] in the *Amazon S3 User Guide*.
349
+ # This parameter is required only when the object was created using a
350
+ # checksum algorithm or if your bucket policy requires the use of SSE-C.
351
+ # For more information, see [Protecting data using SSE-C keys][1] in the
352
+ # *Amazon S3 User Guide*.
352
353
  #
353
354
  #
354
355
  #
355
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
356
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key
356
357
  # @option options [String] :sse_customer_key
357
358
  # The server-side encryption (SSE) customer managed key. This parameter
358
359
  # is needed only when the object was created using a checksum algorithm.
@@ -97,7 +97,7 @@ module Aws::S3
97
97
  data[:archive_status]
98
98
  end
99
99
 
100
- # Creation date of the object.
100
+ # Date and time when the object was last modified.
101
101
  # @return [Time]
102
102
  def last_modified
103
103
  data[:last_modified]
@@ -792,7 +792,9 @@ module Aws::S3
792
792
  # @option options [String] :ssekms_encryption_context
793
793
  # Specifies the Amazon Web Services KMS Encryption Context to use for
794
794
  # object encryption. The value of this header is a base64-encoded UTF-8
795
- # string holding JSON with the encryption context key-value pairs.
795
+ # string holding JSON with the encryption context key-value pairs. This
796
+ # value must be explicitly added to specify encryption context for
797
+ # CopyObject requests.
796
798
  # @option options [Boolean] :bucket_key_enabled
797
799
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
798
800
  # encryption with server-side encryption using Key Management Service
@@ -1453,7 +1455,8 @@ module Aws::S3
1453
1455
  # string holding JSON with the encryption context key-value pairs. This
1454
1456
  # value is stored as object metadata and automatically gets passed on to
1455
1457
  # Amazon Web Services KMS for future `GetObject` or `CopyObject`
1456
- # operations on this object.
1458
+ # operations on this object. This value must be explicitly added during
1459
+ # CopyObject operations.
1457
1460
  # @option options [Boolean] :bucket_key_enabled
1458
1461
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1459
1462
  # encryption with server-side encryption using Key Management Service
@@ -501,7 +501,9 @@ module Aws::S3
501
501
  # @option options [String] :ssekms_encryption_context
502
502
  # Specifies the Amazon Web Services KMS Encryption Context to use for
503
503
  # object encryption. The value of this header is a base64-encoded UTF-8
504
- # string holding JSON with the encryption context key-value pairs.
504
+ # string holding JSON with the encryption context key-value pairs. This
505
+ # value must be explicitly added to specify encryption context for
506
+ # CopyObject requests.
505
507
  # @option options [Boolean] :bucket_key_enabled
506
508
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
507
509
  # encryption with server-side encryption using Key Management Service
@@ -1162,7 +1164,8 @@ module Aws::S3
1162
1164
  # string holding JSON with the encryption context key-value pairs. This
1163
1165
  # value is stored as object metadata and automatically gets passed on to
1164
1166
  # Amazon Web Services KMS for future `GetObject` or `CopyObject`
1165
- # operations on this object.
1167
+ # operations on this object. This value must be explicitly added during
1168
+ # CopyObject operations.
1166
1169
  # @option options [Boolean] :bucket_key_enabled
1167
1170
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1168
1171
  # encryption with server-side encryption using Key Management Service
@@ -93,7 +93,7 @@ module Aws::S3
93
93
  data[:is_latest]
94
94
  end
95
95
 
96
- # Date and time the object was last modified.
96
+ # Date and time when the object was last modified.
97
97
  # @return [Time]
98
98
  def last_modified
99
99
  data[:last_modified]
@@ -963,13 +963,14 @@ module Aws::S3
963
963
  #
964
964
  # @!attribute [rw] sse_customer_algorithm
965
965
  # The server-side encryption (SSE) algorithm used to encrypt the
966
- # object. This parameter is needed only when the object was created
967
- # using a checksum algorithm. For more information, see [Protecting
968
- # data using SSE-C keys][1] in the *Amazon S3 User Guide*.
966
+ # object. This parameter is required only when the object was created
967
+ # using a checksum algorithm or if your bucket policy requires the use
968
+ # of SSE-C. For more information, see [Protecting data using SSE-C
969
+ # keys][1] in the *Amazon S3 User Guide*.
969
970
  #
970
971
  #
971
972
  #
972
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
973
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key
973
974
  # @return [String]
974
975
  #
975
976
  # @!attribute [rw] sse_customer_key
@@ -1479,7 +1480,8 @@ module Aws::S3
1479
1480
  # Specifies the Amazon Web Services KMS Encryption Context to use for
1480
1481
  # object encryption. The value of this header is a base64-encoded
1481
1482
  # UTF-8 string holding JSON with the encryption context key-value
1482
- # pairs.
1483
+ # pairs. This value must be explicitly added to specify encryption
1484
+ # context for CopyObject requests.
1483
1485
  # @return [String]
1484
1486
  #
1485
1487
  # @!attribute [rw] bucket_key_enabled
@@ -2583,7 +2585,7 @@ module Aws::S3
2583
2585
  # @return [Boolean]
2584
2586
  #
2585
2587
  # @!attribute [rw] last_modified
2586
- # Date and time the object was last modified.
2588
+ # Date and time when the object was last modified.
2587
2589
  # @return [Time]
2588
2590
  #
2589
2591
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerEntry AWS API Documentation
@@ -5296,7 +5298,7 @@ module Aws::S3
5296
5298
  # @return [String]
5297
5299
  #
5298
5300
  # @!attribute [rw] last_modified
5299
- # Creation date of the object.
5301
+ # Date and time when the object was last modified.
5300
5302
  # @return [Time]
5301
5303
  #
5302
5304
  # @!attribute [rw] content_length
@@ -6146,7 +6148,7 @@ module Aws::S3
6146
6148
  # @return [String]
6147
6149
  #
6148
6150
  # @!attribute [rw] last_modified
6149
- # Creation date of the object.
6151
+ # Date and time when the object was last modified.
6150
6152
  # @return [Time]
6151
6153
  #
6152
6154
  # @!attribute [rw] content_length
@@ -8589,12 +8591,17 @@ module Aws::S3
8589
8591
  # to distinguish which log files came from which bucket.
8590
8592
  # @return [String]
8591
8593
  #
8594
+ # @!attribute [rw] target_object_key_format
8595
+ # Amazon S3 key format for log objects.
8596
+ # @return [Types::TargetObjectKeyFormat]
8597
+ #
8592
8598
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LoggingEnabled AWS API Documentation
8593
8599
  #
8594
8600
  class LoggingEnabled < Struct.new(
8595
8601
  :target_bucket,
8596
8602
  :target_grants,
8597
- :target_prefix)
8603
+ :target_prefix,
8604
+ :target_object_key_format)
8598
8605
  SENSITIVE = []
8599
8606
  include Aws::Structure
8600
8607
  end
@@ -8821,7 +8828,8 @@ module Aws::S3
8821
8828
  # @return [Integer]
8822
8829
  #
8823
8830
  # @!attribute [rw] newer_noncurrent_versions
8824
- # Specifies how many noncurrent versions Amazon S3 will retain. If
8831
+ # Specifies how many newer noncurrent versions must exist before
8832
+ # Amazon S3 can perform the associated action on a given version. If
8825
8833
  # there are this many more recent noncurrent versions, Amazon S3 will
8826
8834
  # take the associated action. For more information about noncurrent
8827
8835
  # versions, see [Lifecycle configuration elements][1] in the *Amazon
@@ -8867,7 +8875,8 @@ module Aws::S3
8867
8875
  # @return [String]
8868
8876
  #
8869
8877
  # @!attribute [rw] newer_noncurrent_versions
8870
- # Specifies how many noncurrent versions Amazon S3 will retain. If
8878
+ # Specifies how many newer noncurrent versions must exist before
8879
+ # Amazon S3 can perform the associated action on a given version. If
8871
8880
  # there are this many more recent noncurrent versions, Amazon S3 will
8872
8881
  # take the associated action. For more information about noncurrent
8873
8882
  # versions, see [Lifecycle configuration elements][1] in the *Amazon
@@ -9271,7 +9280,7 @@ module Aws::S3
9271
9280
  # @return [Boolean]
9272
9281
  #
9273
9282
  # @!attribute [rw] last_modified
9274
- # Date and time the object was last modified.
9283
+ # Date and time when the object was last modified.
9275
9284
  # @return [Time]
9276
9285
  #
9277
9286
  # @!attribute [rw] owner
@@ -9512,6 +9521,27 @@ module Aws::S3
9512
9521
  include Aws::Structure
9513
9522
  end
9514
9523
 
9524
+ # Amazon S3 keys for log objects are partitioned in the following
9525
+ # format:
9526
+ #
9527
+ # `[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`
9528
+ #
9529
+ # PartitionedPrefix defaults to EventTime delivery when server access
9530
+ # logs are delivered.
9531
+ #
9532
+ # @!attribute [rw] partition_date_source
9533
+ # Specifies the partition date source for the partitioned prefix.
9534
+ # PartitionDateSource can be EventTime or DeliveryTime.
9535
+ # @return [String]
9536
+ #
9537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PartitionedPrefix AWS API Documentation
9538
+ #
9539
+ class PartitionedPrefix < Struct.new(
9540
+ :partition_date_source)
9541
+ SENSITIVE = []
9542
+ include Aws::Structure
9543
+ end
9544
+
9515
9545
  # The container element for a bucket's policy status.
9516
9546
  #
9517
9547
  # @!attribute [rw] is_public
@@ -11444,7 +11474,8 @@ module Aws::S3
11444
11474
  # UTF-8 string holding JSON with the encryption context key-value
11445
11475
  # pairs. This value is stored as object metadata and automatically
11446
11476
  # gets passed on to Amazon Web Services KMS for future `GetObject` or
11447
- # `CopyObject` operations on this object.
11477
+ # `CopyObject` operations on this object. This value must be
11478
+ # explicitly added during CopyObject operations.
11448
11479
  # @return [String]
11449
11480
  #
11450
11481
  # @!attribute [rw] bucket_key_enabled
@@ -13039,6 +13070,17 @@ module Aws::S3
13039
13070
  include Aws::Structure
13040
13071
  end
13041
13072
 
13073
+ # To use simple format for S3 keys for log objects, set SimplePrefix to
13074
+ # an empty object.
13075
+ #
13076
+ # `[DestinationPrefix][YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`
13077
+ #
13078
+ # @api private
13079
+ #
13080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SimplePrefix AWS API Documentation
13081
+ #
13082
+ class SimplePrefix < Aws::EmptyStructure; end
13083
+
13042
13084
  # A container that describes additional filters for identifying the
13043
13085
  # source objects that you want to replicate. You can choose to enable or
13044
13086
  # disable the replication of these objects. Currently, Amazon S3
@@ -13231,6 +13273,27 @@ module Aws::S3
13231
13273
  include Aws::Structure
13232
13274
  end
13233
13275
 
13276
+ # Amazon S3 key format for log objects. Only one format,
13277
+ # PartitionedPrefix or SimplePrefix, is allowed.
13278
+ #
13279
+ # @!attribute [rw] simple_prefix
13280
+ # To use the simple format for S3 keys for log objects. To specify
13281
+ # SimplePrefix format, set SimplePrefix to \\\{\\}.
13282
+ # @return [Types::SimplePrefix]
13283
+ #
13284
+ # @!attribute [rw] partitioned_prefix
13285
+ # Partitioned S3 key for log objects.
13286
+ # @return [Types::PartitionedPrefix]
13287
+ #
13288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TargetObjectKeyFormat AWS API Documentation
13289
+ #
13290
+ class TargetObjectKeyFormat < Struct.new(
13291
+ :simple_prefix,
13292
+ :partitioned_prefix)
13293
+ SENSITIVE = []
13294
+ include Aws::Structure
13295
+ end
13296
+
13234
13297
  # The S3 Intelligent-Tiering storage class is designed to optimize
13235
13298
  # storage costs by automatically moving data to the most cost-effective
13236
13299
  # storage access tier, without additional operational overhead.
data/lib/aws-sdk-s3.rb CHANGED
@@ -73,6 +73,6 @@ require_relative 'aws-sdk-s3/event_streams'
73
73
  # @!group service
74
74
  module Aws::S3
75
75
 
76
- GEM_VERSION = '1.136.0'
76
+ GEM_VERSION = '1.138.0'
77
77
 
78
78
  end
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.136.0
4
+ version: 1.138.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: 2023-09-26 00:00:00.000000000 Z
11
+ date: 2023-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms