aws-sdk-s3 1.88.1 → 1.89.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: '08dfcc1110245eeea27aa0db3859e6a508d899e4854df2a99f00f410cad836e9'
4
- data.tar.gz: 30d80816c9fc08d5c7311bfa86b26af01f63bda25be70687bad639672171cf56
3
+ metadata.gz: 45e0db7fe593769589489e9cb17f1ede51174ab9be36a8d0d6d542f33416fde4
4
+ data.tar.gz: 45a8c14b5864962f8c32c53534b4ea2aca589758e0bccbec781bda283bfff609
5
5
  SHA512:
6
- metadata.gz: 2f6e949d35d3744fdc9f40fe5e882a019ab28ed823de0691d98a434b0ee3d4e790ac3757116fa07a33174ed03ed94e5d096280b18e4299d41b3dd1ebfc53ef6f
7
- data.tar.gz: d91ed03960cd28122b35019e36aa426848b5bbe72033eb812997040e4155dc4167c67ad66ee83ae740367ff76b0499e531d89ca3e3cdeecbe428f8741ba59f6d
6
+ metadata.gz: 7f360edf433428fb6171426ffc404cd0b09f4d75337c24d60dbfb545b469cc3cd9eeebb3a815c23f823047487a5324a445bfeac64571c394e486c9ba6de905de
7
+ data.tar.gz: 931f79ee39c5895137a8aa15662d91dfc78b7008be57ac00f1bc58ad9a1ad1ff80e3c052de7a8fdd4879c51f1cabe72536b8ab63f9ec5d59e6c1303fc1c4ad59
data/lib/aws-sdk-s3.rb CHANGED
@@ -69,6 +69,6 @@ require_relative 'aws-sdk-s3/event_streams'
69
69
  # @!group service
70
70
  module Aws::S3
71
71
 
72
- GEM_VERSION = '1.88.1'
72
+ GEM_VERSION = '1.89.0'
73
73
 
74
74
  end
@@ -185,10 +185,9 @@ module Aws::S3
185
185
  # })
186
186
  # @param [Hash] options ({})
187
187
  # @option options [String] :content_md5
188
- # >The base64-encoded 128-bit MD5 digest of the data. You must use
189
- # this header as a message integrity check to verify that the request
190
- # body was not corrupted in transit. For more information, see [RFC
191
- # 1864][1].
188
+ # The base64-encoded 128-bit MD5 digest of the data. You must use this
189
+ # header as a message integrity check to verify that the request body
190
+ # was not corrupted in transit. For more information, see [RFC 1864][1].
192
191
  #
193
192
  # For requests made using the AWS Command Line Interface (CLI) or AWS
194
193
  # SDKs, this field is calculated automatically.
@@ -2939,7 +2939,8 @@ module Aws::S3
2939
2939
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2940
2940
  #
2941
2941
  # @option params [required, String] :key
2942
- # Name of the object key.
2942
+ # The key that identifies the object in the bucket from which to remove
2943
+ # all tags.
2943
2944
  #
2944
2945
  # @option params [String] :version_id
2945
2946
  # The versionId of the object that the tag-set will be removed from.
@@ -3122,22 +3123,20 @@ module Aws::S3
3122
3123
  # * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
3123
3124
  #
3124
3125
  #
3125
- # @example Example: To delete multiple object versions from a versioned bucket
3126
+ # @example Example: To delete multiple objects from a versioned bucket
3126
3127
  #
3127
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3128
- # # versions and returns the key and versions of deleted objects in the response.
3128
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3129
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3129
3130
  #
3130
3131
  # resp = client.delete_objects({
3131
3132
  # bucket: "examplebucket",
3132
3133
  # delete: {
3133
3134
  # objects: [
3134
3135
  # {
3135
- # key: "HappyFace.jpg",
3136
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3136
+ # key: "objectkey1",
3137
3137
  # },
3138
3138
  # {
3139
- # key: "HappyFace.jpg",
3140
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3139
+ # key: "objectkey2",
3141
3140
  # },
3142
3141
  # ],
3143
3142
  # quiet: false,
@@ -3148,30 +3147,34 @@ module Aws::S3
3148
3147
  # {
3149
3148
  # deleted: [
3150
3149
  # {
3151
- # key: "HappyFace.jpg",
3152
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3150
+ # delete_marker: true,
3151
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3152
+ # key: "objectkey1",
3153
3153
  # },
3154
3154
  # {
3155
- # key: "HappyFace.jpg",
3156
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3155
+ # delete_marker: true,
3156
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3157
+ # key: "objectkey2",
3157
3158
  # },
3158
3159
  # ],
3159
3160
  # }
3160
3161
  #
3161
- # @example Example: To delete multiple objects from a versioned bucket
3162
+ # @example Example: To delete multiple object versions from a versioned bucket
3162
3163
  #
3163
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3164
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3164
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3165
+ # # versions and returns the key and versions of deleted objects in the response.
3165
3166
  #
3166
3167
  # resp = client.delete_objects({
3167
3168
  # bucket: "examplebucket",
3168
3169
  # delete: {
3169
3170
  # objects: [
3170
3171
  # {
3171
- # key: "objectkey1",
3172
+ # key: "HappyFace.jpg",
3173
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3172
3174
  # },
3173
3175
  # {
3174
- # key: "objectkey2",
3176
+ # key: "HappyFace.jpg",
3177
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3175
3178
  # },
3176
3179
  # ],
3177
3180
  # quiet: false,
@@ -3182,14 +3185,12 @@ module Aws::S3
3182
3185
  # {
3183
3186
  # deleted: [
3184
3187
  # {
3185
- # delete_marker: true,
3186
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3187
- # key: "objectkey1",
3188
+ # key: "HappyFace.jpg",
3189
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3188
3190
  # },
3189
3191
  # {
3190
- # delete_marker: true,
3191
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3192
- # key: "objectkey2",
3192
+ # key: "HappyFace.jpg",
3193
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3193
3194
  # },
3194
3195
  # ],
3195
3196
  # }
@@ -3590,6 +3591,10 @@ module Aws::S3
3590
3591
  end
3591
3592
 
3592
3593
  # Returns the default encryption configuration for an Amazon S3 bucket.
3594
+ # If the bucket does not have a default encryption configuration,
3595
+ # GetBucketEncryption returns
3596
+ # `ServerSideEncryptionConfigurationNotFoundError`.
3597
+ #
3593
3598
  # For information about the Amazon S3 default encryption feature, see
3594
3599
  # [Amazon S3 Default Bucket Encryption][1].
3595
3600
  #
@@ -5297,14 +5302,14 @@ module Aws::S3
5297
5302
  # VersionId used to reference a specific version of the object.
5298
5303
  #
5299
5304
  # @option params [String] :sse_customer_algorithm
5300
- # Specifies the algorithm to use to when encrypting the object (for
5305
+ # Specifies the algorithm to use to when decrypting the object (for
5301
5306
  # example, AES256).
5302
5307
  #
5303
5308
  # @option params [String] :sse_customer_key
5304
- # Specifies the customer-provided encryption key for Amazon S3 to use in
5305
- # encrypting data. This value is used to store the object and then it is
5306
- # discarded; Amazon S3 does not store the encryption key. The key must
5307
- # be appropriate for use with the algorithm specified in the
5309
+ # Specifies the customer-provided encryption key for Amazon S3 used to
5310
+ # encrypt the data. This value is used to decrypt the object when
5311
+ # recovering it and must match the one used when storing the data. The
5312
+ # key must be appropriate for use with the algorithm specified in the
5308
5313
  # `x-amz-server-side-encryption-customer-algorithm` header.
5309
5314
  #
5310
5315
  # @option params [String] :sse_customer_key_md5
@@ -5371,49 +5376,49 @@ module Aws::S3
5371
5376
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5372
5377
  #
5373
5378
  #
5374
- # @example Example: To retrieve a byte range of an object
5379
+ # @example Example: To retrieve an object
5375
5380
  #
5376
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5377
- # # specific byte range.
5381
+ # # The following example retrieves an object for an S3 bucket.
5378
5382
  #
5379
5383
  # resp = client.get_object({
5380
5384
  # bucket: "examplebucket",
5381
- # key: "SampleFile.txt",
5382
- # range: "bytes=0-9",
5385
+ # key: "HappyFace.jpg",
5383
5386
  # })
5384
5387
  #
5385
5388
  # resp.to_h outputs the following:
5386
5389
  # {
5387
5390
  # accept_ranges: "bytes",
5388
- # content_length: 10,
5389
- # content_range: "bytes 0-9/43",
5390
- # content_type: "text/plain",
5391
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5392
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5391
+ # content_length: 3191,
5392
+ # content_type: "image/jpeg",
5393
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5394
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5393
5395
  # metadata: {
5394
5396
  # },
5397
+ # tag_count: 2,
5395
5398
  # version_id: "null",
5396
5399
  # }
5397
5400
  #
5398
- # @example Example: To retrieve an object
5401
+ # @example Example: To retrieve a byte range of an object
5399
5402
  #
5400
- # # The following example retrieves an object for an S3 bucket.
5403
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5404
+ # # specific byte range.
5401
5405
  #
5402
5406
  # resp = client.get_object({
5403
5407
  # bucket: "examplebucket",
5404
- # key: "HappyFace.jpg",
5408
+ # key: "SampleFile.txt",
5409
+ # range: "bytes=0-9",
5405
5410
  # })
5406
5411
  #
5407
5412
  # resp.to_h outputs the following:
5408
5413
  # {
5409
5414
  # accept_ranges: "bytes",
5410
- # content_length: 3191,
5411
- # content_type: "image/jpeg",
5412
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5413
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5415
+ # content_length: 10,
5416
+ # content_range: "bytes 0-9/43",
5417
+ # content_type: "text/plain",
5418
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5419
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5414
5420
  # metadata: {
5415
5421
  # },
5416
- # tag_count: 2,
5417
5422
  # version_id: "null",
5418
5423
  # }
5419
5424
  #
@@ -5899,12 +5904,13 @@ module Aws::S3
5899
5904
  #
5900
5905
  # * [PutObjectTagging][2]
5901
5906
  #
5902
- # ^
5907
+ # * [DeleteObjectTagging][3]
5903
5908
  #
5904
5909
  #
5905
5910
  #
5906
5911
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
5907
5912
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
5913
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html
5908
5914
  #
5909
5915
  # @option params [required, String] :bucket
5910
5916
  # The bucket name containing the object for which to get the tagging
@@ -5943,55 +5949,66 @@ module Aws::S3
5943
5949
  # a different account, the request will fail with an HTTP `403 (Access
5944
5950
  # Denied)` error.
5945
5951
  #
5952
+ # @option params [String] :request_payer
5953
+ # Confirms that the requester knows that they will be charged for the
5954
+ # request. Bucket owners need not specify this parameter in their
5955
+ # requests. For information about downloading objects from requester
5956
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
5957
+ # in the *Amazon S3 Developer Guide*.
5958
+ #
5959
+ #
5960
+ #
5961
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5962
+ #
5946
5963
  # @return [Types::GetObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5947
5964
  #
5948
5965
  # * {Types::GetObjectTaggingOutput#version_id #version_id} => String
5949
5966
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
5950
5967
  #
5951
5968
  #
5952
- # @example Example: To retrieve tag set of an object
5969
+ # @example Example: To retrieve tag set of a specific object version
5953
5970
  #
5954
- # # The following example retrieves tag set of an object.
5971
+ # # The following example retrieves tag set of an object. The request specifies object version.
5955
5972
  #
5956
5973
  # resp = client.get_object_tagging({
5957
5974
  # bucket: "examplebucket",
5958
- # key: "HappyFace.jpg",
5975
+ # key: "exampleobject",
5976
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5959
5977
  # })
5960
5978
  #
5961
5979
  # resp.to_h outputs the following:
5962
5980
  # {
5963
5981
  # tag_set: [
5964
5982
  # {
5965
- # key: "Key4",
5966
- # value: "Value4",
5967
- # },
5968
- # {
5969
- # key: "Key3",
5970
- # value: "Value3",
5983
+ # key: "Key1",
5984
+ # value: "Value1",
5971
5985
  # },
5972
5986
  # ],
5973
- # version_id: "null",
5987
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5974
5988
  # }
5975
5989
  #
5976
- # @example Example: To retrieve tag set of a specific object version
5990
+ # @example Example: To retrieve tag set of an object
5977
5991
  #
5978
- # # The following example retrieves tag set of an object. The request specifies object version.
5992
+ # # The following example retrieves tag set of an object.
5979
5993
  #
5980
5994
  # resp = client.get_object_tagging({
5981
5995
  # bucket: "examplebucket",
5982
- # key: "exampleobject",
5983
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5996
+ # key: "HappyFace.jpg",
5984
5997
  # })
5985
5998
  #
5986
5999
  # resp.to_h outputs the following:
5987
6000
  # {
5988
6001
  # tag_set: [
5989
6002
  # {
5990
- # key: "Key1",
5991
- # value: "Value1",
6003
+ # key: "Key4",
6004
+ # value: "Value4",
6005
+ # },
6006
+ # {
6007
+ # key: "Key3",
6008
+ # value: "Value3",
5992
6009
  # },
5993
6010
  # ],
5994
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6011
+ # version_id: "null",
5995
6012
  # }
5996
6013
  #
5997
6014
  # @example Request syntax with placeholder values
@@ -6001,6 +6018,7 @@ module Aws::S3
6001
6018
  # key: "ObjectKey", # required
6002
6019
  # version_id: "ObjectVersionId",
6003
6020
  # expected_bucket_owner: "AccountId",
6021
+ # request_payer: "requester", # accepts requester
6004
6022
  # })
6005
6023
  #
6006
6024
  # @example Response structure
@@ -6185,9 +6203,12 @@ module Aws::S3
6185
6203
 
6186
6204
  # This operation is useful to determine if a bucket exists and you have
6187
6205
  # permission to access it. The operation returns a `200 OK` if the
6188
- # bucket exists and you have permission to access it. Otherwise, the
6189
- # operation might return responses such as `404 Not Found` and `403
6190
- # Forbidden`.
6206
+ # bucket exists and you have permission to access it.
6207
+ #
6208
+ # If the bucket does not exist or you do not have permission to access
6209
+ # it, the `HEAD` request returns a generic `404 Not Found` or `403
6210
+ # Forbidden` code. A message body is not included, so you cannot
6211
+ # determine the exception beyond these error codes.
6191
6212
  #
6192
6213
  # To use this operation, you must have permissions to perform the
6193
6214
  # `s3:ListBucket` action. The bucket owner has this permission by
@@ -6271,7 +6292,10 @@ module Aws::S3
6271
6292
  #
6272
6293
  # A `HEAD` request has the same options as a `GET` operation on an
6273
6294
  # object. The response is identical to the `GET` response except that
6274
- # there is no response body.
6295
+ # there is no response body. Because of this, if the `HEAD` request
6296
+ # generates an error, it returns a generic `404 Not Found` or `403
6297
+ # Forbidden` code. It is not possible to retrieve the exact exception
6298
+ # beyond these error codes.
6275
6299
  #
6276
6300
  # If you encrypt an object by using server-side encryption with
6277
6301
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -6287,12 +6311,15 @@ module Aws::S3
6287
6311
  # For more information about SSE-C, see [Server-Side Encryption (Using
6288
6312
  # Customer-Provided Encryption Keys)][1].
6289
6313
  #
6290
- # <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
6291
- # should not be sent for GET requests if your object uses server-side
6292
- # encryption with CMKs stored in AWS KMS (SSE-KMS) or server-side
6293
- # encryption with Amazon S3–managed encryption keys (SSE-S3). If your
6294
- # object does use these types of keys, you’ll get an HTTP 400 BadRequest
6295
- # error.
6314
+ # <note markdown="1"> * Encryption request headers, like `x-amz-server-side-encryption`,
6315
+ # should not be sent for GET requests if your object uses server-side
6316
+ # encryption with CMKs stored in AWS KMS (SSE-KMS) or server-side
6317
+ # encryption with Amazon S3–managed encryption keys (SSE-S3). If your
6318
+ # object does use these types of keys, you’ll get an HTTP 400
6319
+ # BadRequest error.
6320
+ #
6321
+ # * The last modified property in this case is the creation date of the
6322
+ # object.
6296
6323
  #
6297
6324
  # </note>
6298
6325
  #
@@ -7677,7 +7704,9 @@ module Aws::S3
7677
7704
  # use the request parameters as selection criteria to return a subset of
7678
7705
  # the objects in a bucket. A `200 OK` response can contain valid or
7679
7706
  # invalid XML. Make sure to design your application to parse the
7680
- # contents of the response and handle it appropriately.
7707
+ # contents of the response and handle it appropriately. Objects are
7708
+ # returned sorted in an ascending order of the respective key names in
7709
+ # the list.
7681
7710
  #
7682
7711
  # To use this operation, you must have READ access to the bucket.
7683
7712
  #
@@ -8796,6 +8825,8 @@ module Aws::S3
8796
8825
  end
8797
8826
 
8798
8827
  # Puts a S3 Intelligent-Tiering configuration to the specified bucket.
8828
+ # You can have up to 1,000 S3 Intelligent-Tiering configurations per
8829
+ # bucket.
8799
8830
  #
8800
8831
  # The S3 Intelligent-Tiering storage class is designed to optimize
8801
8832
  # storage costs by automatically moving data to the most cost-effective
@@ -8824,6 +8855,35 @@ module Aws::S3
8824
8855
  #
8825
8856
  # * [ListBucketIntelligentTieringConfigurations][4]
8826
8857
  #
8858
+ # <note markdown="1"> You only need S3 Intelligent-Tiering enabled on a bucket if you want
8859
+ # to automatically move objects stored in the S3 Intelligent-Tiering
8860
+ # storage class to the Archive Access or Deep Archive Access tier.
8861
+ #
8862
+ # </note>
8863
+ #
8864
+ # **Special Errors**
8865
+ #
8866
+ # * **HTTP 400 Bad Request Error**
8867
+ #
8868
+ # * *Code:* InvalidArgument
8869
+ #
8870
+ # * *Cause:* Invalid Argument
8871
+ #
8872
+ # * **HTTP 400 Bad Request Error**
8873
+ #
8874
+ # * *Code:* TooManyConfigurations
8875
+ #
8876
+ # * *Cause:* You are attempting to create a new configuration but have
8877
+ # already reached the 1,000-configuration limit.
8878
+ #
8879
+ # * **HTTP 403 Forbidden Error**
8880
+ #
8881
+ # * *Code:* AccessDenied
8882
+ #
8883
+ # * *Cause:* You are not the owner of the specified bucket, or you do
8884
+ # not have the `s3:PutIntelligentTieringConfiguration` bucket
8885
+ # permission to set the configuration on the bucket.
8886
+ #
8827
8887
  #
8828
8888
  #
8829
8889
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -10187,10 +10247,9 @@ module Aws::S3
10187
10247
  # The bucket name.
10188
10248
  #
10189
10249
  # @option params [String] :content_md5
10190
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
10191
- # this header as a message integrity check to verify that the request
10192
- # body was not corrupted in transit. For more information, see [RFC
10193
- # 1864][1].
10250
+ # The base64-encoded 128-bit MD5 digest of the data. You must use this
10251
+ # header as a message integrity check to verify that the request body
10252
+ # was not corrupted in transit. For more information, see [RFC 1864][1].
10194
10253
  #
10195
10254
  # For requests made using the AWS Command Line Interface (CLI) or AWS
10196
10255
  # SDKs, this field is calculated automatically.
@@ -11013,134 +11072,134 @@ module Aws::S3
11013
11072
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11014
11073
  #
11015
11074
  #
11016
- # @example Example: To upload an object and specify server-side encryption and object tags
11075
+ # @example Example: To upload object and specify user-defined metadata
11017
11076
  #
11018
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11019
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11077
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11078
+ # # enabled, S3 returns version ID in response.
11020
11079
  #
11021
11080
  # resp = client.put_object({
11022
11081
  # body: "filetoupload",
11023
11082
  # bucket: "examplebucket",
11024
11083
  # key: "exampleobject",
11025
- # server_side_encryption: "AES256",
11026
- # tagging: "key1=value1&key2=value2",
11084
+ # metadata: {
11085
+ # "metadata1" => "value1",
11086
+ # "metadata2" => "value2",
11087
+ # },
11027
11088
  # })
11028
11089
  #
11029
11090
  # resp.to_h outputs the following:
11030
11091
  # {
11031
11092
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11032
- # server_side_encryption: "AES256",
11033
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11093
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11034
11094
  # }
11035
11095
  #
11036
- # @example Example: To create an object.
11096
+ # @example Example: To upload an object and specify server-side encryption and object tags
11037
11097
  #
11038
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11098
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11099
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11039
11100
  #
11040
11101
  # resp = client.put_object({
11041
11102
  # body: "filetoupload",
11042
11103
  # bucket: "examplebucket",
11043
- # key: "objectkey",
11104
+ # key: "exampleobject",
11105
+ # server_side_encryption: "AES256",
11106
+ # tagging: "key1=value1&key2=value2",
11044
11107
  # })
11045
11108
  #
11046
11109
  # resp.to_h outputs the following:
11047
11110
  # {
11048
11111
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11049
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11112
+ # server_side_encryption: "AES256",
11113
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11050
11114
  # }
11051
11115
  #
11052
- # @example Example: To upload an object and specify optional tags
11116
+ # @example Example: To upload an object
11053
11117
  #
11054
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11055
- # # S3 returns version ID of the newly created object.
11118
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11119
+ # # syntax. S3 returns VersionId of the newly created object.
11056
11120
  #
11057
11121
  # resp = client.put_object({
11058
- # body: "c:\\HappyFace.jpg",
11122
+ # body: "HappyFace.jpg",
11059
11123
  # bucket: "examplebucket",
11060
11124
  # key: "HappyFace.jpg",
11061
- # tagging: "key1=value1&key2=value2",
11062
11125
  # })
11063
11126
  #
11064
11127
  # resp.to_h outputs the following:
11065
11128
  # {
11066
11129
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11067
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11130
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11068
11131
  # }
11069
11132
  #
11070
- # @example Example: To upload an object (specify optional headers)
11133
+ # @example Example: To create an object.
11071
11134
  #
11072
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11073
- # # storage class and use server-side encryption.
11135
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11074
11136
  #
11075
11137
  # resp = client.put_object({
11076
- # body: "HappyFace.jpg",
11138
+ # body: "filetoupload",
11077
11139
  # bucket: "examplebucket",
11078
- # key: "HappyFace.jpg",
11079
- # server_side_encryption: "AES256",
11080
- # storage_class: "STANDARD_IA",
11140
+ # key: "objectkey",
11081
11141
  # })
11082
11142
  #
11083
11143
  # resp.to_h outputs the following:
11084
11144
  # {
11085
11145
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11086
- # server_side_encryption: "AES256",
11087
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11146
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11088
11147
  # }
11089
11148
  #
11090
- # @example Example: To upload object and specify user-defined metadata
11149
+ # @example Example: To upload an object and specify canned ACL.
11091
11150
  #
11092
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11093
- # # enabled, S3 returns version ID in response.
11151
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11152
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11094
11153
  #
11095
11154
  # resp = client.put_object({
11155
+ # acl: "authenticated-read",
11096
11156
  # body: "filetoupload",
11097
11157
  # bucket: "examplebucket",
11098
11158
  # key: "exampleobject",
11099
- # metadata: {
11100
- # "metadata1" => "value1",
11101
- # "metadata2" => "value2",
11102
- # },
11103
11159
  # })
11104
11160
  #
11105
11161
  # resp.to_h outputs the following:
11106
11162
  # {
11107
11163
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11108
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11164
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11109
11165
  # }
11110
11166
  #
11111
- # @example Example: To upload an object and specify canned ACL.
11167
+ # @example Example: To upload an object and specify optional tags
11112
11168
  #
11113
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11114
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11169
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11170
+ # # S3 returns version ID of the newly created object.
11115
11171
  #
11116
11172
  # resp = client.put_object({
11117
- # acl: "authenticated-read",
11118
- # body: "filetoupload",
11173
+ # body: "c:\\HappyFace.jpg",
11119
11174
  # bucket: "examplebucket",
11120
- # key: "exampleobject",
11175
+ # key: "HappyFace.jpg",
11176
+ # tagging: "key1=value1&key2=value2",
11121
11177
  # })
11122
11178
  #
11123
11179
  # resp.to_h outputs the following:
11124
11180
  # {
11125
11181
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11126
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11182
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11127
11183
  # }
11128
11184
  #
11129
- # @example Example: To upload an object
11185
+ # @example Example: To upload an object (specify optional headers)
11130
11186
  #
11131
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11132
- # # syntax. S3 returns VersionId of the newly created object.
11187
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11188
+ # # storage class and use server-side encryption.
11133
11189
  #
11134
11190
  # resp = client.put_object({
11135
11191
  # body: "HappyFace.jpg",
11136
11192
  # bucket: "examplebucket",
11137
11193
  # key: "HappyFace.jpg",
11194
+ # server_side_encryption: "AES256",
11195
+ # storage_class: "STANDARD_IA",
11138
11196
  # })
11139
11197
  #
11140
11198
  # resp.to_h outputs the following:
11141
11199
  # {
11142
11200
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11143
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11201
+ # server_side_encryption: "AES256",
11202
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11144
11203
  # }
11145
11204
  #
11146
11205
  # @example Streaming a file from disk
@@ -11873,13 +11932,14 @@ module Aws::S3
11873
11932
  #
11874
11933
  # * [GetObjectTagging][1]
11875
11934
  #
11876
- # ^
11935
+ # * [DeleteObjectTagging][4]
11877
11936
  #
11878
11937
  #
11879
11938
  #
11880
11939
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
11881
11940
  # [2]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
11882
11941
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
11942
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html
11883
11943
  #
11884
11944
  # @option params [required, String] :bucket
11885
11945
  # The bucket name containing the object.
@@ -11926,6 +11986,17 @@ module Aws::S3
11926
11986
  # a different account, the request will fail with an HTTP `403 (Access
11927
11987
  # Denied)` error.
11928
11988
  #
11989
+ # @option params [String] :request_payer
11990
+ # Confirms that the requester knows that they will be charged for the
11991
+ # request. Bucket owners need not specify this parameter in their
11992
+ # requests. For information about downloading objects from requester
11993
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
11994
+ # in the *Amazon S3 Developer Guide*.
11995
+ #
11996
+ #
11997
+ #
11998
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11999
+ #
11929
12000
  # @return [Types::PutObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11930
12001
  #
11931
12002
  # * {Types::PutObjectTaggingOutput#version_id #version_id} => String
@@ -11973,6 +12044,7 @@ module Aws::S3
11973
12044
  # ],
11974
12045
  # },
11975
12046
  # expected_bucket_owner: "AccountId",
12047
+ # request_payer: "requester", # accepts requester
11976
12048
  # })
11977
12049
  #
11978
12050
  # @example Response structure
@@ -13566,7 +13638,7 @@ module Aws::S3
13566
13638
  params: params,
13567
13639
  config: config)
13568
13640
  context[:gem_name] = 'aws-sdk-s3'
13569
- context[:gem_version] = '1.88.1'
13641
+ context[:gem_version] = '1.89.0'
13570
13642
  Seahorse::Client::Request.new(handlers, context)
13571
13643
  end
13572
13644
 
@@ -1288,6 +1288,7 @@ module Aws::S3
1288
1288
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1289
1289
  GetObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1290
1290
  GetObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1291
+ GetObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1291
1292
  GetObjectTaggingRequest.struct_class = Types::GetObjectTaggingRequest
1292
1293
 
1293
1294
  GetObjectTorrentOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
@@ -2105,6 +2106,7 @@ module Aws::S3
2105
2106
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2106
2107
  PutObjectTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2107
2108
  PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2109
+ PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2108
2110
  PutObjectTaggingRequest.struct_class = Types::PutObjectTaggingRequest
2109
2111
  PutObjectTaggingRequest[:payload] = :tagging
2110
2112
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
@@ -88,18 +88,23 @@ module Aws
88
88
  # You can pass `virtual_host: true` to use the bucket name as the
89
89
  # host name.
90
90
  #
91
- # bucket = s3.bucket('my.bucket.com')
91
+ # bucket = s3.bucket('my-bucket.com')
92
92
  # bucket.url(virtual_host: true)
93
- # #=> "http://my.bucket.com"
93
+ # #=> "http://my-bucket.com"
94
94
  #
95
95
  # @option options [Boolean] :virtual_host (false) When `true`,
96
96
  # the bucket name will be used as the host name. This is useful
97
97
  # when you have a CNAME configured for this bucket.
98
98
  #
99
+ # @option options [Boolean] :secure (true) When `false`, http
100
+ # will be used with virtual_host. This is required when
101
+ # the bucket name has a dot (.) in it.
102
+ #
99
103
  # @return [String] the URL for this bucket.
100
104
  def url(options = {})
101
105
  if options[:virtual_host]
102
- "http://#{name}"
106
+ scheme = options.fetch(:secure, true) ? 'https' : 'http'
107
+ "#{scheme}://#{name}"
103
108
  elsif @arn
104
109
  Plugins::ARN.resolve_url!(
105
110
  client.config.endpoint.dup,
@@ -201,16 +201,22 @@ module Aws
201
201
  # s3.bucket('bucket-name').object('obj-key').public_url
202
202
  # #=> "https://bucket-name.s3.amazonaws.com/obj-key"
203
203
  #
204
- # To use virtual hosted bucket url (disables https):
204
+ # To use virtual hosted bucket url.
205
+ # Uses https unless secure: false is set. If the bucket
206
+ # name contains dots (.) then you will need to set secure: false.
205
207
  #
206
- # s3.bucket('my.bucket.com').object('key')
208
+ # s3.bucket('my-bucket.com').object('key')
207
209
  # .public_url(virtual_host: true)
208
- # #=> "http://my.bucket.com/key"
210
+ # #=> "https://my-bucket.com/key"
209
211
  #
210
212
  # @option options [Boolean] :virtual_host (false) When `true`, the bucket
211
213
  # name will be used as the host name. This is useful when you have
212
214
  # a CNAME configured for the bucket.
213
215
  #
216
+ # @option options [Boolean] :secure (true) When `false`, http
217
+ # will be used with virtual_host. This is required when
218
+ # the bucket name has a dot (.) in it.
219
+ #
214
220
  # @return [String]
215
221
  def public_url(options = {})
216
222
  url = URI.parse(bucket.url(options))
@@ -97,7 +97,7 @@ module Aws::S3
97
97
  data[:archive_status]
98
98
  end
99
99
 
100
- # Last modified date of the object
100
+ # Creation date of the object.
101
101
  # @return [Time]
102
102
  def last_modified
103
103
  data[:last_modified]
@@ -881,13 +881,13 @@ module Aws::S3
881
881
  # @option options [String] :version_id
882
882
  # VersionId used to reference a specific version of the object.
883
883
  # @option options [String] :sse_customer_algorithm
884
- # Specifies the algorithm to use to when encrypting the object (for
884
+ # Specifies the algorithm to use to when decrypting the object (for
885
885
  # example, AES256).
886
886
  # @option options [String] :sse_customer_key
887
- # Specifies the customer-provided encryption key for Amazon S3 to use in
888
- # encrypting data. This value is used to store the object and then it is
889
- # discarded; Amazon S3 does not store the encryption key. The key must
890
- # be appropriate for use with the algorithm specified in the
887
+ # Specifies the customer-provided encryption key for Amazon S3 used to
888
+ # encrypt the data. This value is used to decrypt the object when
889
+ # recovering it and must match the one used when storing the data. The
890
+ # key must be appropriate for use with the algorithm specified in the
891
891
  # `x-amz-server-side-encryption-customer-algorithm` header.
892
892
  # @option options [String] :sse_customer_key_md5
893
893
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -42,7 +42,7 @@ module Aws::S3
42
42
  @key
43
43
  end
44
44
 
45
- # The date the Object was Last Modified
45
+ # Creation date of the object.
46
46
  # @return [Time]
47
47
  def last_modified
48
48
  data[:last_modified]
@@ -624,13 +624,13 @@ module Aws::S3
624
624
  # @option options [String] :version_id
625
625
  # VersionId used to reference a specific version of the object.
626
626
  # @option options [String] :sse_customer_algorithm
627
- # Specifies the algorithm to use to when encrypting the object (for
627
+ # Specifies the algorithm to use to when decrypting the object (for
628
628
  # example, AES256).
629
629
  # @option options [String] :sse_customer_key
630
- # Specifies the customer-provided encryption key for Amazon S3 to use in
631
- # encrypting data. This value is used to store the object and then it is
632
- # discarded; Amazon S3 does not store the encryption key. The key must
633
- # be appropriate for use with the algorithm specified in the
630
+ # Specifies the customer-provided encryption key for Amazon S3 used to
631
+ # encrypt the data. This value is used to decrypt the object when
632
+ # recovering it and must match the one used when storing the data. The
633
+ # key must be appropriate for use with the algorithm specified in the
634
634
  # `x-amz-server-side-encryption-customer-algorithm` header.
635
635
  # @option options [String] :sse_customer_key_md5
636
636
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -330,13 +330,13 @@ module Aws::S3
330
330
  # @option options [Time,DateTime,Date,Integer,String] :response_expires
331
331
  # Sets the `Expires` header of the response.
332
332
  # @option options [String] :sse_customer_algorithm
333
- # Specifies the algorithm to use to when encrypting the object (for
333
+ # Specifies the algorithm to use to when decrypting the object (for
334
334
  # example, AES256).
335
335
  # @option options [String] :sse_customer_key
336
- # Specifies the customer-provided encryption key for Amazon S3 to use in
337
- # encrypting data. This value is used to store the object and then it is
338
- # discarded; Amazon S3 does not store the encryption key. The key must
339
- # be appropriate for use with the algorithm specified in the
336
+ # Specifies the customer-provided encryption key for Amazon S3 used to
337
+ # encrypt the data. This value is used to decrypt the object when
338
+ # recovering it and must match the one used when storing the data. The
339
+ # key must be appropriate for use with the algorithm specified in the
340
340
  # `x-amz-server-side-encryption-customer-algorithm` header.
341
341
  # @option options [String] :sse_customer_key_md5
342
342
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -17,7 +17,8 @@ region. Defaults to `legacy` mode using global endpoint.
17
17
  end
18
18
 
19
19
  def add_handlers(handlers, config)
20
- if config.region == 'us-east-1'
20
+ # only modify non-custom endpoints
21
+ if config.regional_endpoint && config.region == 'us-east-1'
21
22
  handlers.add(Handler)
22
23
  end
23
24
  end
@@ -29,7 +30,7 @@ region. Defaults to `legacy` mode using global endpoint.
29
30
  # keep legacy global endpoint pattern by default
30
31
  if context.config.s3_us_east_1_regional_endpoint == 'legacy'
31
32
  host = context.http_request.endpoint.host
32
- # if it's an ARN, don't touch the endpoint at all
33
+ # if it's an ARN then don't touch the endpoint at all
33
34
  unless context.metadata[:s3_arn]
34
35
  legacy_host = IADRegionalEndpoint.legacy_host(host)
35
36
  context.http_request.endpoint.host = legacy_host
@@ -58,8 +58,7 @@ module Aws
58
58
  # is returned instead of the default HTTPS URL.
59
59
  #
60
60
  # @option params [Boolean] :virtual_host (false) When `true`, the
61
- # bucket name will be used as the hostname. This will cause
62
- # the returned URL to be 'http' and not 'https'.
61
+ # bucket name will be used as the hostname.
63
62
  #
64
63
  # @option params [Boolean] :use_accelerate_endpoint (false) When `true`,
65
64
  # Presigner will attempt to use accelerated endpoint.
@@ -1153,6 +1153,14 @@ module Aws::S3
1153
1153
  # `Condition` is specified and sibling `HttpErrorCodeReturnedEquals`
1154
1154
  # is not specified. If both conditions are specified, both must be
1155
1155
  # true for the redirect to be applied.
1156
+ #
1157
+ # Replacement must be made for object keys containing special
1158
+ # characters (such as carriage returns) when using XML requests. For
1159
+ # more information, see [ XML related object key constraints][1].
1160
+ #
1161
+ #
1162
+ #
1163
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
1156
1164
  # @return [String]
1157
1165
  #
1158
1166
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Condition AWS API Documentation
@@ -1650,11 +1658,12 @@ module Aws::S3
1650
1658
  # @!attribute [rw] etag
1651
1659
  # Returns the ETag of the new object. The ETag reflects only changes
1652
1660
  # to the contents of an object, not its metadata. The source and
1653
- # destination ETag is identical for a successfully copied object.
1661
+ # destination ETag is identical for a successfully copied
1662
+ # non-multipart object.
1654
1663
  # @return [String]
1655
1664
  #
1656
1665
  # @!attribute [rw] last_modified
1657
- # Returns the date that the object was last modified.
1666
+ # Creation date of the object.
1658
1667
  # @return [Time]
1659
1668
  #
1660
1669
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectResult AWS API Documentation
@@ -2881,7 +2890,8 @@ module Aws::S3
2881
2890
  # @return [String]
2882
2891
  #
2883
2892
  # @!attribute [rw] key
2884
- # Name of the object key.
2893
+ # The key that identifies the object in the bucket from which to
2894
+ # remove all tags.
2885
2895
  # @return [String]
2886
2896
  #
2887
2897
  # @!attribute [rw] version_id
@@ -4120,6 +4130,14 @@ module Aws::S3
4120
4130
  #
4121
4131
  # @!attribute [rw] key
4122
4132
  # The object key name to use when a 4XX class error occurs.
4133
+ #
4134
+ # Replacement must be made for object keys containing special
4135
+ # characters (such as carriage returns) when using XML requests. For
4136
+ # more information, see [ XML related object key constraints][1].
4137
+ #
4138
+ #
4139
+ #
4140
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
4123
4141
  # @return [String]
4124
4142
  #
4125
4143
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDocument AWS API Documentation
@@ -5321,7 +5339,7 @@ module Aws::S3
5321
5339
  # @return [String]
5322
5340
  #
5323
5341
  # @!attribute [rw] last_modified
5324
- # Last modified date of the object
5342
+ # Creation date of the object.
5325
5343
  # @return [Time]
5326
5344
  #
5327
5345
  # @!attribute [rw] content_length
@@ -5617,14 +5635,14 @@ module Aws::S3
5617
5635
  # @return [String]
5618
5636
  #
5619
5637
  # @!attribute [rw] sse_customer_algorithm
5620
- # Specifies the algorithm to use to when encrypting the object (for
5638
+ # Specifies the algorithm to use to when decrypting the object (for
5621
5639
  # example, AES256).
5622
5640
  # @return [String]
5623
5641
  #
5624
5642
  # @!attribute [rw] sse_customer_key
5625
- # Specifies the customer-provided encryption key for Amazon S3 to use
5626
- # in encrypting data. This value is used to store the object and then
5627
- # it is discarded; Amazon S3 does not store the encryption key. The
5643
+ # Specifies the customer-provided encryption key for Amazon S3 used to
5644
+ # encrypt the data. This value is used to decrypt the object when
5645
+ # recovering it and must match the one used when storing the data. The
5628
5646
  # key must be appropriate for use with the algorithm specified in the
5629
5647
  # `x-amz-server-side-encryption-customer-algorithm` header.
5630
5648
  # @return [String]
@@ -5794,6 +5812,7 @@ module Aws::S3
5794
5812
  # key: "ObjectKey", # required
5795
5813
  # version_id: "ObjectVersionId",
5796
5814
  # expected_bucket_owner: "AccountId",
5815
+ # request_payer: "requester", # accepts requester
5797
5816
  # }
5798
5817
  #
5799
5818
  # @!attribute [rw] bucket
@@ -5839,13 +5858,26 @@ module Aws::S3
5839
5858
  # (Access Denied)` error.
5840
5859
  # @return [String]
5841
5860
  #
5861
+ # @!attribute [rw] request_payer
5862
+ # Confirms that the requester knows that they will be charged for the
5863
+ # request. Bucket owners need not specify this parameter in their
5864
+ # requests. For information about downloading objects from requester
5865
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
5866
+ # in the *Amazon S3 Developer Guide*.
5867
+ #
5868
+ #
5869
+ #
5870
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5871
+ # @return [String]
5872
+ #
5842
5873
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTaggingRequest AWS API Documentation
5843
5874
  #
5844
5875
  class GetObjectTaggingRequest < Struct.new(
5845
5876
  :bucket,
5846
5877
  :key,
5847
5878
  :version_id,
5848
- :expected_bucket_owner)
5879
+ :expected_bucket_owner,
5880
+ :request_payer)
5849
5881
  SENSITIVE = []
5850
5882
  include Aws::Structure
5851
5883
  end
@@ -6180,7 +6212,7 @@ module Aws::S3
6180
6212
  # @return [String]
6181
6213
  #
6182
6214
  # @!attribute [rw] last_modified
6183
- # Last modified date of the object
6215
+ # Creation date of the object.
6184
6216
  # @return [Time]
6185
6217
  #
6186
6218
  # @!attribute [rw] content_length
@@ -6578,6 +6610,14 @@ module Aws::S3
6578
6610
  # you make a request to samplebucket/images/ the data that is returned
6579
6611
  # will be for the object with the key name images/index.html) The
6580
6612
  # suffix must not be empty and must not include a slash character.
6613
+ #
6614
+ # Replacement must be made for object keys containing special
6615
+ # characters (such as carriage returns) when using XML requests. For
6616
+ # more information, see [ XML related object key constraints][1].
6617
+ #
6618
+ #
6619
+ #
6620
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
6581
6621
  # @return [String]
6582
6622
  #
6583
6623
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IndexDocument AWS API Documentation
@@ -6790,6 +6830,14 @@ module Aws::S3
6790
6830
  # @!attribute [rw] prefix
6791
6831
  # An object key name prefix that identifies the subset of objects to
6792
6832
  # which the rule applies.
6833
+ #
6834
+ # Replacement must be made for object keys containing special
6835
+ # characters (such as carriage returns) when using XML requests. For
6836
+ # more information, see [ XML related object key constraints][1].
6837
+ #
6838
+ #
6839
+ #
6840
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
6793
6841
  # @return [String]
6794
6842
  #
6795
6843
  # @!attribute [rw] tag
@@ -7345,6 +7393,14 @@ module Aws::S3
7345
7393
  # @!attribute [rw] prefix
7346
7394
  # Prefix identifying one or more objects to which the rule applies.
7347
7395
  # This is No longer used; use `Filter` instead.
7396
+ #
7397
+ # Replacement must be made for object keys containing special
7398
+ # characters (such as carriage returns) when using XML requests. For
7399
+ # more information, see [ XML related object key constraints][1].
7400
+ #
7401
+ #
7402
+ #
7403
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
7348
7404
  # @return [String]
7349
7405
  #
7350
7406
  # @!attribute [rw] filter
@@ -7470,6 +7526,14 @@ module Aws::S3
7470
7526
  #
7471
7527
  # @!attribute [rw] prefix
7472
7528
  # Prefix identifying one or more objects to which the rule applies.
7529
+ #
7530
+ # Replacement must be made for object keys containing special
7531
+ # characters (such as carriage returns) when using XML requests. For
7532
+ # more information, see [ XML related object key constraints][1].
7533
+ #
7534
+ #
7535
+ #
7536
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
7473
7537
  # @return [String]
7474
7538
  #
7475
7539
  # @!attribute [rw] tag
@@ -8218,8 +8282,8 @@ module Aws::S3
8218
8282
  # @return [Integer]
8219
8283
  #
8220
8284
  # @!attribute [rw] common_prefixes
8221
- # All of the keys rolled up in a common prefix count as a single
8222
- # return when calculating the number of returns.
8285
+ # All of the keys (up to 1,000) rolled up in a common prefix count as
8286
+ # a single return when calculating the number of returns.
8223
8287
  #
8224
8288
  # A response can contain CommonPrefixes only if you specify a
8225
8289
  # delimiter.
@@ -8409,8 +8473,8 @@ module Aws::S3
8409
8473
  # @return [Integer]
8410
8474
  #
8411
8475
  # @!attribute [rw] common_prefixes
8412
- # All of the keys rolled up into a common prefix count as a single
8413
- # return when calculating the number of returns.
8476
+ # All of the keys (up to 1,000) rolled up into a common prefix count
8477
+ # as a single return when calculating the number of returns.
8414
8478
  #
8415
8479
  # A response can contain `CommonPrefixes` only if you specify a
8416
8480
  # delimiter.
@@ -8441,8 +8505,8 @@ module Aws::S3
8441
8505
  #
8442
8506
  # @!attribute [rw] key_count
8443
8507
  # KeyCount is the number of keys returned with this request. KeyCount
8444
- # will always be less than equals to MaxKeys field. Say you ask for 50
8445
- # keys, your result will include less than equals 50 keys
8508
+ # will always be less than or equals to MaxKeys field. Say you ask for
8509
+ # 50 keys, your result will include less than equals 50 keys
8446
8510
  # @return [Integer]
8447
8511
  #
8448
8512
  # @!attribute [rw] continuation_token
@@ -9358,7 +9422,7 @@ module Aws::S3
9358
9422
  # @return [String]
9359
9423
  #
9360
9424
  # @!attribute [rw] last_modified
9361
- # The date the Object was Last Modified
9425
+ # Creation date of the object.
9362
9426
  # @return [Time]
9363
9427
  #
9364
9428
  # @!attribute [rw] etag
@@ -9425,7 +9489,15 @@ module Aws::S3
9425
9489
  # }
9426
9490
  #
9427
9491
  # @!attribute [rw] key
9428
- # Key name of the object to delete.
9492
+ # Key name of the object.
9493
+ #
9494
+ # Replacement must be made for object keys containing special
9495
+ # characters (such as carriage returns) when using XML requests. For
9496
+ # more information, see [ XML related object key constraints][1].
9497
+ #
9498
+ #
9499
+ #
9500
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
9429
9501
  # @return [String]
9430
9502
  #
9431
9503
  # @!attribute [rw] version_id
@@ -11060,9 +11132,9 @@ module Aws::S3
11060
11132
  # @return [String]
11061
11133
  #
11062
11134
  # @!attribute [rw] content_md5
11063
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
11064
- # this header as a message integrity check to verify that the request
11065
- # body was not corrupted in transit. For more information, see [RFC
11135
+ # The base64-encoded 128-bit MD5 digest of the data. You must use this
11136
+ # header as a message integrity check to verify that the request body
11137
+ # was not corrupted in transit. For more information, see [RFC
11066
11138
  # 1864][1].
11067
11139
  #
11068
11140
  # For requests made using the AWS Command Line Interface (CLI) or AWS
@@ -12251,6 +12323,7 @@ module Aws::S3
12251
12323
  # ],
12252
12324
  # },
12253
12325
  # expected_bucket_owner: "AccountId",
12326
+ # request_payer: "requester", # accepts requester
12254
12327
  # }
12255
12328
  #
12256
12329
  # @!attribute [rw] bucket
@@ -12305,6 +12378,18 @@ module Aws::S3
12305
12378
  # (Access Denied)` error.
12306
12379
  # @return [String]
12307
12380
  #
12381
+ # @!attribute [rw] request_payer
12382
+ # Confirms that the requester knows that they will be charged for the
12383
+ # request. Bucket owners need not specify this parameter in their
12384
+ # requests. For information about downloading objects from requester
12385
+ # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
12386
+ # in the *Amazon S3 Developer Guide*.
12387
+ #
12388
+ #
12389
+ #
12390
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12391
+ # @return [String]
12392
+ #
12308
12393
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingRequest AWS API Documentation
12309
12394
  #
12310
12395
  class PutObjectTaggingRequest < Struct.new(
@@ -12313,7 +12398,8 @@ module Aws::S3
12313
12398
  :version_id,
12314
12399
  :content_md5,
12315
12400
  :tagging,
12316
- :expected_bucket_owner)
12401
+ :expected_bucket_owner,
12402
+ :request_payer)
12317
12403
  SENSITIVE = []
12318
12404
  include Aws::Structure
12319
12405
  end
@@ -12535,6 +12621,14 @@ module Aws::S3
12535
12621
  # `ReplaceKeyPrefixWith` to `/documents`. Not required if one of the
12536
12622
  # siblings is present. Can be present only if `ReplaceKeyWith` is not
12537
12623
  # provided.
12624
+ #
12625
+ # Replacement must be made for object keys containing special
12626
+ # characters (such as carriage returns) when using XML requests. For
12627
+ # more information, see [ XML related object key constraints][1].
12628
+ #
12629
+ #
12630
+ #
12631
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
12538
12632
  # @return [String]
12539
12633
  #
12540
12634
  # @!attribute [rw] replace_key_with
@@ -12542,6 +12636,14 @@ module Aws::S3
12542
12636
  # redirect request to `error.html`. Not required if one of the
12543
12637
  # siblings is present. Can be present only if `ReplaceKeyPrefixWith`
12544
12638
  # is not provided.
12639
+ #
12640
+ # Replacement must be made for object keys containing special
12641
+ # characters (such as carriage returns) when using XML requests. For
12642
+ # more information, see [ XML related object key constraints][1].
12643
+ #
12644
+ #
12645
+ #
12646
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
12545
12647
  # @return [String]
12546
12648
  #
12547
12649
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Redirect AWS API Documentation
@@ -12805,6 +12907,14 @@ module Aws::S3
12805
12907
  # which the rule applies. The maximum prefix length is 1,024
12806
12908
  # characters. To include all objects in a bucket, specify an empty
12807
12909
  # string.
12910
+ #
12911
+ # Replacement must be made for object keys containing special
12912
+ # characters (such as carriage returns) when using XML requests. For
12913
+ # more information, see [ XML related object key constraints][1].
12914
+ #
12915
+ #
12916
+ #
12917
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
12808
12918
  # @return [String]
12809
12919
  #
12810
12920
  # @!attribute [rw] filter
@@ -12946,6 +13056,14 @@ module Aws::S3
12946
13056
  # @!attribute [rw] prefix
12947
13057
  # An object key name prefix that identifies the subset of objects to
12948
13058
  # which the rule applies.
13059
+ #
13060
+ # Replacement must be made for object keys containing special
13061
+ # characters (such as carriage returns) when using XML requests. For
13062
+ # more information, see [ XML related object key constraints][1].
13063
+ #
13064
+ #
13065
+ #
13066
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
12949
13067
  # @return [String]
12950
13068
  #
12951
13069
  # @!attribute [rw] tag
@@ -13492,6 +13610,14 @@ module Aws::S3
13492
13610
  # @!attribute [rw] prefix
13493
13611
  # Object key prefix that identifies one or more objects to which this
13494
13612
  # rule applies.
13613
+ #
13614
+ # Replacement must be made for object keys containing special
13615
+ # characters (such as carriage returns) when using XML requests. For
13616
+ # more information, see [ XML related object key constraints][1].
13617
+ #
13618
+ #
13619
+ #
13620
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
13495
13621
  # @return [String]
13496
13622
  #
13497
13623
  # @!attribute [rw] status
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.88.1
4
+ version: 1.89.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: 2021-02-12 00:00:00.000000000 Z
11
+ date: 2021-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms