aws-sdk-s3 1.136.0 → 1.140.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a563e0602ed3c1393406bb2158324b9571f7c579924f3f349fe237333d218d1
4
- data.tar.gz: 4559f4a20a3abd9dcddde15fd814012e3874813d2e5cc15cd0066125aea8348f
3
+ metadata.gz: 2f75d0aee4d0695a751671390cae885e01f2e2be81ec45872f65168cdf5628f9
4
+ data.tar.gz: 3cec853f15506694fd50b9e86d5260d332b609a17fec0fdff3e7dbe5b23d2e6c
5
5
  SHA512:
6
- metadata.gz: 03eda70ab440bdf32208be9a6f8bbe5435d77090ef6198129b9cb06b91d2aba9fb5bb3820d53380af6863f4538344d6833d507d5c46b3609d648f2c52a26561c
7
- data.tar.gz: 43cd7b5022e8602f9590463478de5adf88de7cc31d1d13179551b9434a21fd6150c61009b98796eddc91a772c70e47698e58720f79733ad03ea638c27e052653
6
+ metadata.gz: d8b7a1756c9d6b6cbd13094d3ad349c10fdc5645267773fd85660da45e29da91c4fbee23be0802a8df707aca4abc7d7a371b27b43058b946dcf772af558d0e95
7
+ data.tar.gz: 8dd49de681a88fb3f92659b3159be0902b12cd924efb6801c5347dea96bf52a995ccfbb27aa82fcb6de27b71a0fa16bbe21ade4f93681404426dabce8a681378
data/CHANGELOG.md CHANGED
@@ -1,6 +1,28 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.140.0 (2023-11-27)
5
+ ------------------
6
+
7
+ * Feature - Adding new params - Key and Prefix, to S3 API operations for supporting S3 Access Grants. Note - These updates will not change any of the existing S3 API functionality.
8
+
9
+ * Issue - Fix thread interruptions in multipart `download_file`, `file_uploader` and `stream_uploader` (#2944).
10
+
11
+ 1.139.0 (2023-11-22)
12
+ ------------------
13
+
14
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
15
+
16
+ 1.138.0 (2023-11-21)
17
+ ------------------
18
+
19
+ * Feature - Add support for automatic date based partitioning in S3 Server Access Logs.
20
+
21
+ 1.137.0 (2023-11-17)
22
+ ------------------
23
+
24
+ * Feature - Removes all default 0 values for numbers and false values for booleans
25
+
4
26
  1.136.0 (2023-09-26)
5
27
  ------------------
6
28
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.136.0
1
+ 1.140.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
1717
+ # @example Example: To create a bucket in a specific region
1715
1718
  #
1716
- # # The following example creates a bucket.
1719
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1717
1720
  #
1718
1721
  # resp = client.create_bucket({
1719
1722
  # bucket: "examplebucket",
1723
+ # create_bucket_configuration: {
1724
+ # location_constraint: "eu-west-1",
1725
+ # },
1720
1726
  # })
1721
1727
  #
1722
1728
  # resp.to_h outputs the following:
1723
1729
  # {
1724
- # location: "/examplebucket",
1730
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1725
1731
  # }
1726
1732
  #
1727
- # @example Example: To create a bucket in a specific region
1733
+ # @example Example: To create a bucket
1728
1734
  #
1729
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1735
+ # # The following example creates a bucket.
1730
1736
  #
1731
1737
  # resp = client.create_bucket({
1732
1738
  # bucket: "examplebucket",
1733
- # create_bucket_configuration: {
1734
- # location_constraint: "eu-west-1",
1735
- # },
1736
1739
  # })
1737
1740
  #
1738
1741
  # resp.to_h outputs the following:
1739
1742
  # {
1740
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1743
+ # location: "/examplebucket",
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 version
3312
+ # @example Example: To remove tag set from an object
3310
3313
  #
3311
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3312
- # # object key and object version.
3314
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3315
+ # # operation removes tag set from the latest object version.
3313
3316
  #
3314
3317
  # resp = client.delete_object_tagging({
3315
3318
  # bucket: "examplebucket",
3316
3319
  # key: "HappyFace.jpg",
3317
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3318
3320
  # })
3319
3321
  #
3320
3322
  # resp.to_h outputs the following:
3321
3323
  # {
3322
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3324
+ # version_id: "null",
3323
3325
  # }
3324
3326
  #
3325
- # @example Example: To remove tag set from an object
3327
+ # @example Example: To remove tag set from an object version
3326
3328
  #
3327
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3328
- # # operation removes tag set from the latest object version.
3329
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3330
+ # # object key and object version.
3329
3331
  #
3330
3332
  # resp = client.delete_object_tagging({
3331
3333
  # bucket: "examplebucket",
3332
3334
  # key: "HappyFace.jpg",
3335
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3333
3336
  # })
3334
3337
  #
3335
3338
  # resp.to_h outputs the following:
3336
3339
  # {
3337
- # version_id: "null",
3340
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3338
3341
  # }
3339
3342
  #
3340
3343
  # @example Request syntax with placeholder values
@@ -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 a byte range of an object
5965
+ # @example Example: To retrieve an object
5958
5966
  #
5959
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5960
- # # specific byte range.
5967
+ # # The following example retrieves an object for an S3 bucket.
5961
5968
  #
5962
5969
  # resp = client.get_object({
5963
5970
  # bucket: "examplebucket",
5964
- # key: "SampleFile.txt",
5965
- # range: "bytes=0-9",
5971
+ # key: "HappyFace.jpg",
5966
5972
  # })
5967
5973
  #
5968
5974
  # resp.to_h outputs the following:
5969
5975
  # {
5970
5976
  # accept_ranges: "bytes",
5971
- # content_length: 10,
5972
- # content_range: "bytes 0-9/43",
5973
- # content_type: "text/plain",
5974
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5975
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5977
+ # content_length: 3191,
5978
+ # content_type: "image/jpeg",
5979
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5980
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5976
5981
  # metadata: {
5977
5982
  # },
5983
+ # tag_count: 2,
5978
5984
  # version_id: "null",
5979
5985
  # }
5980
5986
  #
5981
- # @example Example: To retrieve an object
5987
+ # @example Example: To retrieve a byte range of an object
5982
5988
  #
5983
- # # The following example retrieves an object for an S3 bucket.
5989
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5990
+ # # specific byte range.
5984
5991
  #
5985
5992
  # resp = client.get_object({
5986
5993
  # bucket: "examplebucket",
5987
- # key: "HappyFace.jpg",
5994
+ # key: "SampleFile.txt",
5995
+ # range: "bytes=0-9",
5988
5996
  # })
5989
5997
  #
5990
5998
  # resp.to_h outputs the following:
5991
5999
  # {
5992
6000
  # accept_ranges: "bytes",
5993
- # content_length: 3191,
5994
- # content_type: "image/jpeg",
5995
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5996
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
6001
+ # content_length: 10,
6002
+ # content_range: "bytes 0-9/43",
6003
+ # content_type: "text/plain",
6004
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
6005
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5997
6006
  # metadata: {
5998
6007
  # },
5999
- # tag_count: 2,
6000
6008
  # version_id: "null",
6001
6009
  # }
6002
6010
  #
@@ -6842,49 +6850,49 @@ module Aws::S3
6842
6850
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
6843
6851
  #
6844
6852
  #
6845
- # @example Example: To retrieve tag set of an object
6853
+ # @example Example: To retrieve tag set of a specific object version
6846
6854
  #
6847
- # # The following example retrieves tag set of an object.
6855
+ # # The following example retrieves tag set of an object. The request specifies object version.
6848
6856
  #
6849
6857
  # resp = client.get_object_tagging({
6850
6858
  # bucket: "examplebucket",
6851
- # key: "HappyFace.jpg",
6859
+ # key: "exampleobject",
6860
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6852
6861
  # })
6853
6862
  #
6854
6863
  # resp.to_h outputs the following:
6855
6864
  # {
6856
6865
  # tag_set: [
6857
6866
  # {
6858
- # key: "Key4",
6859
- # value: "Value4",
6860
- # },
6861
- # {
6862
- # key: "Key3",
6863
- # value: "Value3",
6867
+ # key: "Key1",
6868
+ # value: "Value1",
6864
6869
  # },
6865
6870
  # ],
6866
- # version_id: "null",
6871
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6867
6872
  # }
6868
6873
  #
6869
- # @example Example: To retrieve tag set of a specific object version
6874
+ # @example Example: To retrieve tag set of an object
6870
6875
  #
6871
- # # The following example retrieves tag set of an object. The request specifies object version.
6876
+ # # The following example retrieves tag set of an object.
6872
6877
  #
6873
6878
  # resp = client.get_object_tagging({
6874
6879
  # bucket: "examplebucket",
6875
- # key: "exampleobject",
6876
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6880
+ # key: "HappyFace.jpg",
6877
6881
  # })
6878
6882
  #
6879
6883
  # resp.to_h outputs the following:
6880
6884
  # {
6881
6885
  # tag_set: [
6882
6886
  # {
6883
- # key: "Key1",
6884
- # value: "Value1",
6887
+ # key: "Key4",
6888
+ # value: "Value4",
6889
+ # },
6890
+ # {
6891
+ # key: "Key3",
6892
+ # value: "Value3",
6885
6893
  # },
6886
6894
  # ],
6887
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6895
+ # version_id: "null",
6888
6896
  # }
6889
6897
  #
6890
6898
  # @example Request syntax with placeholder values
@@ -7196,9 +7204,10 @@ module Aws::S3
7196
7204
  # A `HEAD` request has the same options as a `GET` action on an object.
7197
7205
  # The response is identical to the `GET` response except that there is
7198
7206
  # no response body. Because of this, if the `HEAD` request generates an
7199
- # error, it returns a generic `400 Bad Request`, `403 Forbidden` or `404
7200
- # Not Found` code. It is not possible to retrieve the exact exception
7201
- # beyond these error codes.
7207
+ # error, it returns a generic code, such as `400 Bad Request`, `403
7208
+ # Forbidden`, `404 Not Found`, `405 Method Not Allowed`, `412
7209
+ # Precondition Failed`, or `304 Not Modified`. It's not possible to
7210
+ # retrieve the exact exception of these error codes.
7202
7211
  #
7203
7212
  # If you encrypt an object by using server-side encryption with
7204
7213
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -7266,6 +7275,15 @@ module Aws::S3
7266
7275
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7267
7276
  # returns an HTTP status code 403 error.
7268
7277
  #
7278
+ # Versioning
7279
+ # : * If the current version of the object is a delete marker, Amazon S3
7280
+ # behaves as if the object was deleted and includes
7281
+ # `x-amz-delete-marker: true` in the response.
7282
+ #
7283
+ # * If the specified version is a delete marker, the response returns
7284
+ # a 405 (Method Not Allowed) error and the `Last-Modified:
7285
+ # timestamp` response header.
7286
+ #
7269
7287
  # The following actions are related to `HeadObject`:
7270
7288
  #
7271
7289
  # * [GetObject][5]
@@ -8279,8 +8297,6 @@ module Aws::S3
8279
8297
  #
8280
8298
  # To use this operation, you must have READ access to the bucket.
8281
8299
  #
8282
- # This action is not supported by Amazon S3 on Outposts.
8283
- #
8284
8300
  # The following operations are related to `ListObjectVersions`:
8285
8301
  #
8286
8302
  # * [ListObjectsV2][1]
@@ -10752,6 +10768,13 @@ module Aws::S3
10752
10768
  # },
10753
10769
  # ],
10754
10770
  # target_prefix: "TargetPrefix", # required
10771
+ # target_object_key_format: {
10772
+ # simple_prefix: {
10773
+ # },
10774
+ # partitioned_prefix: {
10775
+ # partition_date_source: "EventTime", # accepts EventTime, DeliveryTime
10776
+ # },
10777
+ # },
10755
10778
  # },
10756
10779
  # },
10757
10780
  # content_md5: "ContentMD5",
@@ -12464,7 +12487,8 @@ module Aws::S3
12464
12487
  # string holding JSON with the encryption context key-value pairs. This
12465
12488
  # value is stored as object metadata and automatically gets passed on to
12466
12489
  # Amazon Web Services KMS for future `GetObject` or `CopyObject`
12467
- # operations on this object.
12490
+ # operations on this object. This value must be explicitly added during
12491
+ # CopyObject operations.
12468
12492
  #
12469
12493
  # @option params [Boolean] :bucket_key_enabled
12470
12494
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
@@ -12530,24 +12554,22 @@ module Aws::S3
12530
12554
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12531
12555
  #
12532
12556
  #
12533
- # @example Example: To upload an object and specify server-side encryption and object tags
12557
+ # @example Example: To upload an object and specify optional tags
12534
12558
  #
12535
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12536
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12559
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12560
+ # # S3 returns version ID of the newly created object.
12537
12561
  #
12538
12562
  # resp = client.put_object({
12539
- # body: "filetoupload",
12563
+ # body: "c:\\HappyFace.jpg",
12540
12564
  # bucket: "examplebucket",
12541
- # key: "exampleobject",
12542
- # server_side_encryption: "AES256",
12565
+ # key: "HappyFace.jpg",
12543
12566
  # tagging: "key1=value1&key2=value2",
12544
12567
  # })
12545
12568
  #
12546
12569
  # resp.to_h outputs the following:
12547
12570
  # {
12548
12571
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12549
- # server_side_encryption: "AES256",
12550
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12572
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12551
12573
  # }
12552
12574
  #
12553
12575
  # @example Example: To create an object.
@@ -12566,63 +12588,62 @@ module Aws::S3
12566
12588
  # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12567
12589
  # }
12568
12590
  #
12569
- # @example Example: To upload an object (specify optional headers)
12591
+ # @example Example: To upload object and specify user-defined metadata
12570
12592
  #
12571
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12572
- # # storage class and use server-side encryption.
12593
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12594
+ # # enabled, S3 returns version ID in response.
12573
12595
  #
12574
12596
  # resp = client.put_object({
12575
- # body: "HappyFace.jpg",
12597
+ # body: "filetoupload",
12576
12598
  # bucket: "examplebucket",
12577
- # key: "HappyFace.jpg",
12578
- # server_side_encryption: "AES256",
12579
- # storage_class: "STANDARD_IA",
12599
+ # key: "exampleobject",
12600
+ # metadata: {
12601
+ # "metadata1" => "value1",
12602
+ # "metadata2" => "value2",
12603
+ # },
12580
12604
  # })
12581
12605
  #
12582
12606
  # resp.to_h outputs the following:
12583
12607
  # {
12584
12608
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12585
- # server_side_encryption: "AES256",
12586
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12609
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12587
12610
  # }
12588
12611
  #
12589
- # @example Example: To upload an object and specify optional tags
12612
+ # @example Example: To upload an object
12590
12613
  #
12591
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12592
- # # S3 returns version ID of the newly created object.
12614
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12615
+ # # syntax. S3 returns VersionId of the newly created object.
12593
12616
  #
12594
12617
  # resp = client.put_object({
12595
- # body: "c:\\HappyFace.jpg",
12618
+ # body: "HappyFace.jpg",
12596
12619
  # bucket: "examplebucket",
12597
12620
  # key: "HappyFace.jpg",
12598
- # tagging: "key1=value1&key2=value2",
12599
12621
  # })
12600
12622
  #
12601
12623
  # resp.to_h outputs the following:
12602
12624
  # {
12603
12625
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12604
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12626
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12605
12627
  # }
12606
12628
  #
12607
- # @example Example: To upload object and specify user-defined metadata
12629
+ # @example Example: To upload an object and specify server-side encryption and object tags
12608
12630
  #
12609
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12610
- # # enabled, S3 returns version ID in response.
12631
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12632
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12611
12633
  #
12612
12634
  # resp = client.put_object({
12613
12635
  # body: "filetoupload",
12614
12636
  # bucket: "examplebucket",
12615
12637
  # key: "exampleobject",
12616
- # metadata: {
12617
- # "metadata1" => "value1",
12618
- # "metadata2" => "value2",
12619
- # },
12638
+ # server_side_encryption: "AES256",
12639
+ # tagging: "key1=value1&key2=value2",
12620
12640
  # })
12621
12641
  #
12622
12642
  # resp.to_h outputs the following:
12623
12643
  # {
12624
12644
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12625
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12645
+ # server_side_encryption: "AES256",
12646
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12626
12647
  # }
12627
12648
  #
12628
12649
  # @example Example: To upload an object and specify canned ACL.
@@ -12643,21 +12664,24 @@ module Aws::S3
12643
12664
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12644
12665
  # }
12645
12666
  #
12646
- # @example Example: To upload an object
12667
+ # @example Example: To upload an object (specify optional headers)
12647
12668
  #
12648
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12649
- # # syntax. S3 returns VersionId of the newly created object.
12669
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12670
+ # # storage class and use server-side encryption.
12650
12671
  #
12651
12672
  # resp = client.put_object({
12652
12673
  # body: "HappyFace.jpg",
12653
12674
  # bucket: "examplebucket",
12654
12675
  # key: "HappyFace.jpg",
12676
+ # server_side_encryption: "AES256",
12677
+ # storage_class: "STANDARD_IA",
12655
12678
  # })
12656
12679
  #
12657
12680
  # resp.to_h outputs the following:
12658
12681
  # {
12659
12682
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12660
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12683
+ # server_side_encryption: "AES256",
12684
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12661
12685
  # }
12662
12686
  #
12663
12687
  # @example Streaming a file from disk
@@ -13222,15 +13246,15 @@ module Aws::S3
13222
13246
  # you must select one. You cannot specify `Days` and `Years` at the
13223
13247
  # same time.
13224
13248
  #
13225
- # * You can only enable Object Lock for new buckets. If you want to turn
13226
- # on Object Lock for an existing bucket, contact Amazon Web Services
13227
- # Support.
13249
+ # * You can enable Object Lock for new or existing buckets. For more
13250
+ # information, see [Configuring Object Lock][2].
13228
13251
  #
13229
13252
  # </note>
13230
13253
  #
13231
13254
  #
13232
13255
  #
13233
13256
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
13257
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html
13234
13258
  #
13235
13259
  # @option params [required, String] :bucket
13236
13260
  # The bucket whose Object Lock configuration you want to create or
@@ -13637,7 +13661,7 @@ module Aws::S3
13637
13661
  # bucket or an object, it checks the `PublicAccessBlock` configuration
13638
13662
  # for both the bucket (or the bucket that contains the object) and the
13639
13663
  # bucket owner's account. If the `PublicAccessBlock` configurations are
13640
- # different between the bucket and the account, S3 uses the most
13664
+ # different between the bucket and the account, Amazon S3 uses the most
13641
13665
  # restrictive combination of the bucket-level and account-level
13642
13666
  # settings.
13643
13667
  #
@@ -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 data from an existing object as data source
15237
+ # @example Example: To upload a part by copying byte range from an existing object as data source
15214
15238
  #
15215
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15239
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15240
+ # # data source.
15216
15241
  #
15217
15242
  # resp = client.upload_part_copy({
15218
15243
  # bucket: "examplebucket",
15219
15244
  # copy_source: "/bucketname/sourceobjectkey",
15245
+ # copy_source_range: "bytes=1-100000",
15220
15246
  # key: "examplelargeobject",
15221
- # part_number: 1,
15247
+ # part_number: 2,
15222
15248
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
15223
15249
  # })
15224
15250
  #
15225
15251
  # resp.to_h outputs the following:
15226
15252
  # {
15227
15253
  # copy_part_result: {
15228
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15229
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15254
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15255
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15230
15256
  # },
15231
15257
  # }
15232
15258
  #
15233
- # @example Example: To upload a part by copying byte range from an existing object as data source
15259
+ # @example Example: To upload a part by copying data from an existing object as data source
15234
15260
  #
15235
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15236
- # # data source.
15261
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15237
15262
  #
15238
15263
  # resp = client.upload_part_copy({
15239
15264
  # bucket: "examplebucket",
15240
15265
  # copy_source: "/bucketname/sourceobjectkey",
15241
- # copy_source_range: "bytes=1-100000",
15242
15266
  # key: "examplelargeobject",
15243
- # part_number: 2,
15267
+ # part_number: 1,
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: "\"65d16d19e65a7508a51f043180edcc36\"",
15251
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15274
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15275
+ # last_modified: Time.parse("2016-12-29T21:24:43.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.136.0'
15724
+ context[:gem_version] = '1.140.0'
15701
15725
  Seahorse::Client::Request.new(handlers, context)
15702
15726
  end
15703
15727