aws-sdk-s3 1.137.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: 39652278a10e7d8be5b3bcd63b8e34e6429a1eb41e4643ca6fc12932f280b5e2
4
- data.tar.gz: 877e1b4e2b4fd93b9051197658cfa771822fa63130f3b0ab68d431163fa258d9
3
+ metadata.gz: 51bd0889662b403a46fb2d6870555562c1e97e398d664012bb74695ed5ccbb0c
4
+ data.tar.gz: 5ed8d9ef98331a6be26e908f3daeb5be5d70a64f22637747da5bd03d5a6613d3
5
5
  SHA512:
6
- metadata.gz: bfad21d40c4a497e0350ac4e74899b060a3f5e5ad4c681414ff921d85bf7a540f6c34781f67f4a0da706ce0175e0d41c04d739a376d0ecf9fb8349ea2685b14b
7
- data.tar.gz: 87327c8b9acd926e0a5c111936140ffdf93cc07f016687209fe0b891eb74d371e7deedb7d5263b032da827116c1f63d2a013dbc7b6a74cfcae9201870b2b7a8f
6
+ metadata.gz: 6c1dde98eebcde3534bfa3f9ca0235fe80965299415f6788c485cb1aab93b5bb7c9f20f9ad8d829fce1e1dfbf0a54844072de23c5f8ccaad19d5c1a3a86e7ecf
7
+ data.tar.gz: c55ee296c6421e468657804dee7925b4ec777bf829618d7da114199bbd760232e05bcefa6d53e849dcf7fac7cca7dc660ac2ea96fd03fc7b6195a0416d55cc14
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.137.0 (2023-11-17)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.137.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
@@ -1711,33 +1714,33 @@ module Aws::S3
1711
1714
  # * {Types::CreateBucketOutput#location #location} => String
1712
1715
  #
1713
1716
  #
1714
- # @example Example: To create a bucket in a specific region
1717
+ # @example Example: To create a bucket
1715
1718
  #
1716
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1719
+ # # The following example creates a bucket.
1717
1720
  #
1718
1721
  # resp = client.create_bucket({
1719
1722
  # bucket: "examplebucket",
1720
- # create_bucket_configuration: {
1721
- # location_constraint: "eu-west-1",
1722
- # },
1723
1723
  # })
1724
1724
  #
1725
1725
  # resp.to_h outputs the following:
1726
1726
  # {
1727
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1727
+ # location: "/examplebucket",
1728
1728
  # }
1729
1729
  #
1730
- # @example Example: To create a bucket
1730
+ # @example Example: To create a bucket in a specific region
1731
1731
  #
1732
- # # The following example creates a bucket.
1732
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1733
1733
  #
1734
1734
  # resp = client.create_bucket({
1735
1735
  # bucket: "examplebucket",
1736
+ # create_bucket_configuration: {
1737
+ # location_constraint: "eu-west-1",
1738
+ # },
1736
1739
  # })
1737
1740
  #
1738
1741
  # resp.to_h outputs the following:
1739
1742
  # {
1740
- # location: "/examplebucket",
1743
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1741
1744
  # }
1742
1745
  #
1743
1746
  # @example Request syntax with placeholder values
@@ -3306,35 +3309,35 @@ module Aws::S3
3306
3309
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3307
3310
  #
3308
3311
  #
3309
- # @example Example: To remove tag set from an object
3312
+ # @example Example: To remove tag set from an object version
3310
3313
  #
3311
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3312
- # # operation removes tag set from the latest object version.
3314
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3315
+ # # object key and object version.
3313
3316
  #
3314
3317
  # resp = client.delete_object_tagging({
3315
3318
  # bucket: "examplebucket",
3316
3319
  # key: "HappyFace.jpg",
3320
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3317
3321
  # })
3318
3322
  #
3319
3323
  # resp.to_h outputs the following:
3320
3324
  # {
3321
- # version_id: "null",
3325
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3322
3326
  # }
3323
3327
  #
3324
- # @example Example: To remove tag set from an object version
3328
+ # @example Example: To remove tag set from an object
3325
3329
  #
3326
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3327
- # # object key and object version.
3330
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3331
+ # # operation removes tag set from the latest object version.
3328
3332
  #
3329
3333
  # resp = client.delete_object_tagging({
3330
3334
  # bucket: "examplebucket",
3331
3335
  # key: "HappyFace.jpg",
3332
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3333
3336
  # })
3334
3337
  #
3335
3338
  # resp.to_h outputs the following:
3336
3339
  # {
3337
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3340
+ # version_id: "null",
3338
3341
  # }
3339
3342
  #
3340
3343
  # @example Request syntax with placeholder values
@@ -3495,22 +3498,20 @@ module Aws::S3
3495
3498
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
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].
@@ -5954,49 +5962,49 @@ module Aws::S3
5954
5962
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5955
5963
  #
5956
5964
  #
5957
- # @example Example: To retrieve an object
5965
+ # @example Example: To retrieve a byte range of an object
5958
5966
  #
5959
- # # The following example retrieves an object for an S3 bucket.
5967
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5968
+ # # specific byte range.
5960
5969
  #
5961
5970
  # resp = client.get_object({
5962
5971
  # bucket: "examplebucket",
5963
- # key: "HappyFace.jpg",
5972
+ # key: "SampleFile.txt",
5973
+ # range: "bytes=0-9",
5964
5974
  # })
5965
5975
  #
5966
5976
  # resp.to_h outputs the following:
5967
5977
  # {
5968
5978
  # accept_ranges: "bytes",
5969
- # content_length: 3191,
5970
- # content_type: "image/jpeg",
5971
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5972
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5979
+ # content_length: 10,
5980
+ # content_range: "bytes 0-9/43",
5981
+ # content_type: "text/plain",
5982
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5983
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5973
5984
  # metadata: {
5974
5985
  # },
5975
- # tag_count: 2,
5976
5986
  # version_id: "null",
5977
5987
  # }
5978
5988
  #
5979
- # @example Example: To retrieve a byte range of an object
5989
+ # @example Example: To retrieve an object
5980
5990
  #
5981
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5982
- # # specific byte range.
5991
+ # # The following example retrieves an object for an S3 bucket.
5983
5992
  #
5984
5993
  # resp = client.get_object({
5985
5994
  # bucket: "examplebucket",
5986
- # key: "SampleFile.txt",
5987
- # range: "bytes=0-9",
5995
+ # key: "HappyFace.jpg",
5988
5996
  # })
5989
5997
  #
5990
5998
  # resp.to_h outputs the following:
5991
5999
  # {
5992
6000
  # accept_ranges: "bytes",
5993
- # content_length: 10,
5994
- # content_range: "bytes 0-9/43",
5995
- # content_type: "text/plain",
5996
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5997
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
6001
+ # content_length: 3191,
6002
+ # content_type: "image/jpeg",
6003
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
6004
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5998
6005
  # metadata: {
5999
6006
  # },
6007
+ # tag_count: 2,
6000
6008
  # version_id: "null",
6001
6009
  # }
6002
6010
  #
@@ -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]
@@ -8120,97 +8138,97 @@ module Aws::S3
8120
8138
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8121
8139
  #
8122
8140
  #
8123
- # @example Example: List next set of multipart uploads when previous result is truncated
8141
+ # @example Example: To list in-progress multipart uploads on a bucket
8124
8142
  #
8125
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
8126
- # # setup of multipart uploads.
8143
+ # # The following example lists in-progress multipart uploads on a specific bucket.
8127
8144
  #
8128
8145
  # resp = client.list_multipart_uploads({
8129
8146
  # bucket: "examplebucket",
8130
- # key_marker: "nextkeyfrompreviousresponse",
8131
- # max_uploads: 2,
8132
- # upload_id_marker: "valuefrompreviousresponse",
8133
8147
  # })
8134
8148
  #
8135
8149
  # resp.to_h outputs the following:
8136
8150
  # {
8137
- # bucket: "acl1",
8138
- # is_truncated: true,
8139
- # key_marker: "",
8140
- # max_uploads: 2,
8141
- # next_key_marker: "someobjectkey",
8142
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8143
- # upload_id_marker: "",
8144
8151
  # uploads: [
8145
8152
  # {
8146
8153
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
8147
8154
  # initiator: {
8148
- # display_name: "ownder-display-name",
8155
+ # display_name: "display-name",
8149
8156
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8150
8157
  # },
8151
8158
  # key: "JavaFile",
8152
8159
  # owner: {
8153
- # display_name: "mohanataws",
8154
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8160
+ # display_name: "display-name",
8161
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8155
8162
  # },
8156
8163
  # storage_class: "STANDARD",
8157
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8164
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8158
8165
  # },
8159
8166
  # {
8160
8167
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
8161
8168
  # initiator: {
8162
- # display_name: "ownder-display-name",
8169
+ # display_name: "display-name",
8163
8170
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8164
8171
  # },
8165
8172
  # key: "JavaFile",
8166
8173
  # owner: {
8167
- # display_name: "ownder-display-name",
8174
+ # display_name: "display-name",
8168
8175
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8169
8176
  # },
8170
8177
  # storage_class: "STANDARD",
8171
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8178
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8172
8179
  # },
8173
8180
  # ],
8174
8181
  # }
8175
8182
  #
8176
- # @example Example: To list in-progress multipart uploads on a bucket
8183
+ # @example Example: List next set of multipart uploads when previous result is truncated
8177
8184
  #
8178
- # # The following example lists in-progress multipart uploads on a specific bucket.
8185
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
8186
+ # # setup of multipart uploads.
8179
8187
  #
8180
8188
  # resp = client.list_multipart_uploads({
8181
8189
  # bucket: "examplebucket",
8190
+ # key_marker: "nextkeyfrompreviousresponse",
8191
+ # max_uploads: 2,
8192
+ # upload_id_marker: "valuefrompreviousresponse",
8182
8193
  # })
8183
8194
  #
8184
8195
  # resp.to_h outputs the following:
8185
8196
  # {
8197
+ # bucket: "acl1",
8198
+ # is_truncated: true,
8199
+ # key_marker: "",
8200
+ # max_uploads: 2,
8201
+ # next_key_marker: "someobjectkey",
8202
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8203
+ # upload_id_marker: "",
8186
8204
  # uploads: [
8187
8205
  # {
8188
8206
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
8189
8207
  # initiator: {
8190
- # display_name: "display-name",
8208
+ # display_name: "ownder-display-name",
8191
8209
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8192
8210
  # },
8193
8211
  # key: "JavaFile",
8194
8212
  # owner: {
8195
- # display_name: "display-name",
8196
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8213
+ # display_name: "mohanataws",
8214
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8197
8215
  # },
8198
8216
  # storage_class: "STANDARD",
8199
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8217
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8200
8218
  # },
8201
8219
  # {
8202
8220
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
8203
8221
  # initiator: {
8204
- # display_name: "display-name",
8222
+ # display_name: "ownder-display-name",
8205
8223
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8206
8224
  # },
8207
8225
  # key: "JavaFile",
8208
8226
  # owner: {
8209
- # display_name: "display-name",
8227
+ # display_name: "ownder-display-name",
8210
8228
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8211
8229
  # },
8212
8230
  # storage_class: "STANDARD",
8213
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8231
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8214
8232
  # },
8215
8233
  # ],
8216
8234
  # }
@@ -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,96 +12554,96 @@ module Aws::S3
12530
12554
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12531
12555
  #
12532
12556
  #
12533
- # @example Example: To upload an object
12557
+ # @example Example: To upload object and specify user-defined metadata
12534
12558
  #
12535
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12536
- # # syntax. S3 returns VersionId of the newly created object.
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
- # body: "HappyFace.jpg",
12563
+ # body: "filetoupload",
12540
12564
  # bucket: "examplebucket",
12541
- # key: "HappyFace.jpg",
12565
+ # key: "exampleobject",
12566
+ # metadata: {
12567
+ # "metadata1" => "value1",
12568
+ # "metadata2" => "value2",
12569
+ # },
12542
12570
  # })
12543
12571
  #
12544
12572
  # resp.to_h outputs the following:
12545
12573
  # {
12546
12574
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12547
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12575
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12548
12576
  # }
12549
12577
  #
12550
- # @example Example: To upload an object and specify server-side encryption and object tags
12578
+ # @example Example: To upload an object (specify optional headers)
12551
12579
  #
12552
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12553
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12580
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12581
+ # # storage class and use server-side encryption.
12554
12582
  #
12555
12583
  # resp = client.put_object({
12556
- # body: "filetoupload",
12584
+ # body: "HappyFace.jpg",
12557
12585
  # bucket: "examplebucket",
12558
- # key: "exampleobject",
12586
+ # key: "HappyFace.jpg",
12559
12587
  # server_side_encryption: "AES256",
12560
- # tagging: "key1=value1&key2=value2",
12588
+ # storage_class: "STANDARD_IA",
12561
12589
  # })
12562
12590
  #
12563
12591
  # resp.to_h outputs the following:
12564
12592
  # {
12565
12593
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12566
12594
  # server_side_encryption: "AES256",
12567
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12595
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12568
12596
  # }
12569
12597
  #
12570
- # @example Example: To create an object.
12598
+ # @example Example: To upload an object and specify optional tags
12571
12599
  #
12572
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12600
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12601
+ # # S3 returns version ID of the newly created object.
12573
12602
  #
12574
12603
  # resp = client.put_object({
12575
- # body: "filetoupload",
12604
+ # body: "c:\\HappyFace.jpg",
12576
12605
  # bucket: "examplebucket",
12577
- # key: "objectkey",
12606
+ # key: "HappyFace.jpg",
12607
+ # tagging: "key1=value1&key2=value2",
12578
12608
  # })
12579
12609
  #
12580
12610
  # resp.to_h outputs the following:
12581
12611
  # {
12582
12612
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12583
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12613
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12584
12614
  # }
12585
12615
  #
12586
- # @example Example: To upload object and specify user-defined metadata
12616
+ # @example Example: To create an object.
12587
12617
  #
12588
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12589
- # # 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.
12590
12619
  #
12591
12620
  # resp = client.put_object({
12592
12621
  # body: "filetoupload",
12593
12622
  # bucket: "examplebucket",
12594
- # key: "exampleobject",
12595
- # metadata: {
12596
- # "metadata1" => "value1",
12597
- # "metadata2" => "value2",
12598
- # },
12623
+ # key: "objectkey",
12599
12624
  # })
12600
12625
  #
12601
12626
  # resp.to_h outputs the following:
12602
12627
  # {
12603
12628
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12604
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12629
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12605
12630
  # }
12606
12631
  #
12607
- # @example Example: To upload an object and specify optional tags
12632
+ # @example Example: To upload an object
12608
12633
  #
12609
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12610
- # # S3 returns version ID of the newly created object.
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.
12611
12636
  #
12612
12637
  # resp = client.put_object({
12613
- # body: "c:\\HappyFace.jpg",
12638
+ # body: "HappyFace.jpg",
12614
12639
  # bucket: "examplebucket",
12615
12640
  # key: "HappyFace.jpg",
12616
- # tagging: "key1=value1&key2=value2",
12617
12641
  # })
12618
12642
  #
12619
12643
  # resp.to_h outputs the following:
12620
12644
  # {
12621
12645
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12622
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12646
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12623
12647
  # }
12624
12648
  #
12625
12649
  # @example Example: To upload an object and specify canned ACL.
@@ -12640,24 +12664,24 @@ module Aws::S3
12640
12664
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12641
12665
  # }
12642
12666
  #
12643
- # @example Example: To upload an object (specify optional headers)
12667
+ # @example Example: To upload an object and specify server-side encryption and object tags
12644
12668
  #
12645
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12646
- # # storage class and use server-side encryption.
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.
12647
12671
  #
12648
12672
  # resp = client.put_object({
12649
- # body: "HappyFace.jpg",
12673
+ # body: "filetoupload",
12650
12674
  # bucket: "examplebucket",
12651
- # key: "HappyFace.jpg",
12675
+ # key: "exampleobject",
12652
12676
  # server_side_encryption: "AES256",
12653
- # storage_class: "STANDARD_IA",
12677
+ # tagging: "key1=value1&key2=value2",
12654
12678
  # })
12655
12679
  #
12656
12680
  # resp.to_h outputs the following:
12657
12681
  # {
12658
12682
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12659
12683
  # server_side_encryption: "AES256",
12660
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12684
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12661
12685
  # }
12662
12686
  #
12663
12687
  # @example Streaming a file from disk
@@ -15210,45 +15234,45 @@ module Aws::S3
15210
15234
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
15211
15235
  #
15212
15236
  #
15213
- # @example Example: To upload a part by copying byte range from an existing object as data source
15237
+ # @example Example: To upload a part by copying data from an existing object as data source
15214
15238
  #
15215
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15216
- # # data source.
15239
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15217
15240
  #
15218
15241
  # resp = client.upload_part_copy({
15219
15242
  # bucket: "examplebucket",
15220
15243
  # copy_source: "/bucketname/sourceobjectkey",
15221
- # copy_source_range: "bytes=1-100000",
15222
15244
  # key: "examplelargeobject",
15223
- # part_number: 2,
15245
+ # part_number: 1,
15224
15246
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
15225
15247
  # })
15226
15248
  #
15227
15249
  # resp.to_h outputs the following:
15228
15250
  # {
15229
15251
  # copy_part_result: {
15230
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15231
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15252
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15253
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15232
15254
  # },
15233
15255
  # }
15234
15256
  #
15235
- # @example Example: To upload a part by copying data from an existing object as data source
15257
+ # @example Example: To upload a part by copying byte range from an existing object as data source
15236
15258
  #
15237
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15259
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15260
+ # # data source.
15238
15261
  #
15239
15262
  # resp = client.upload_part_copy({
15240
15263
  # bucket: "examplebucket",
15241
15264
  # copy_source: "/bucketname/sourceobjectkey",
15265
+ # copy_source_range: "bytes=1-100000",
15242
15266
  # key: "examplelargeobject",
15243
- # part_number: 1,
15267
+ # part_number: 2,
15244
15268
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
15245
15269
  # })
15246
15270
  #
15247
15271
  # resp.to_h outputs the following:
15248
15272
  # {
15249
15273
  # copy_part_result: {
15250
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15251
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15274
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15275
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15252
15276
  # },
15253
15277
  # }
15254
15278
  #
@@ -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.137.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.137.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.137.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-11-17 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