aws-sdk-s3 1.137.0 → 1.138.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: 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