aws-sdk-s3 1.136.0 → 1.140.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: 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