aws-sdk-s3 1.171.0 → 1.173.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -703,6 +703,18 @@ module Aws::S3
703
703
  # you provide does not match the actual owner of the bucket, the request
704
704
  # fails with the HTTP status code `403 Forbidden` (access denied).
705
705
  #
706
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_initiated_time
707
+ # If present, this header aborts an in progress multipart upload only if
708
+ # it was initiated on the provided timestamp. If the initiated timestamp
709
+ # of the multipart upload does not match the provided value, the
710
+ # operation returns a `412 Precondition Failed` error. If the initiated
711
+ # timestamp matches or if the multipart upload doesn’t exist, the
712
+ # operation returns a `204 Success (No Content)` response.
713
+ #
714
+ # <note markdown="1"> This functionality is only supported for directory buckets.
715
+ #
716
+ # </note>
717
+ #
706
718
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
719
  #
708
720
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -730,6 +742,7 @@ module Aws::S3
730
742
  # upload_id: "MultipartUploadId", # required
731
743
  # request_payer: "requester", # accepts requester
732
744
  # expected_bucket_owner: "AccountId",
745
+ # if_match_initiated_time: Time.now,
733
746
  # })
734
747
  #
735
748
  # @example Response structure
@@ -837,7 +850,6 @@ module Aws::S3
837
850
  # except the last part.
838
851
  #
839
852
  # * HTTP Status Code: 400 Bad Request
840
- #
841
853
  # * Error Code: `InvalidPart`
842
854
  #
843
855
  # * Description: One or more of the specified parts could not be
@@ -845,14 +857,12 @@ module Aws::S3
845
857
  # ETag might not have matched the uploaded part's ETag.
846
858
  #
847
859
  # * HTTP Status Code: 400 Bad Request
848
- #
849
860
  # * Error Code: `InvalidPartOrder`
850
861
  #
851
862
  # * Description: The list of parts was not in ascending order. The
852
863
  # parts list must be specified in order by part number.
853
864
  #
854
865
  # * HTTP Status Code: 400 Bad Request
855
- #
856
866
  # * Error Code: `NoSuchUpload`
857
867
  #
858
868
  # * Description: The specified multipart upload does not exist. The
@@ -1254,7 +1264,6 @@ module Aws::S3
1254
1264
  # * If the destination bucket is a general purpose bucket, you must
1255
1265
  # have <b> <code>s3:PutObject</code> </b> permission to write the
1256
1266
  # object copy to the destination bucket.
1257
- #
1258
1267
  # * **Directory bucket permissions** - You must have permissions in a
1259
1268
  # bucket policy or an IAM identity-based policy based on the source
1260
1269
  # and destination bucket types in a `CopyObject` operation.
@@ -1272,7 +1281,6 @@ module Aws::S3
1272
1281
  # `Action` element of a policy to write the object to the
1273
1282
  # destination. The `s3express:SessionMode` condition key can't be
1274
1283
  # set to `ReadOnly` on the copy destination bucket.
1275
- #
1276
1284
  # If the object is encrypted with SSE-KMS, you must also have the
1277
1285
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
1278
1286
  # identity-based policies and KMS key policies for the KMS key.
@@ -2309,7 +2317,6 @@ module Aws::S3
2309
2317
  # more information about S3 Block Public Access, see [Blocking
2310
2318
  # public access to your Amazon S3 storage ][6] in the *Amazon S3
2311
2319
  # User Guide*.
2312
- #
2313
2320
  # * **Directory bucket permissions** - You must have the
2314
2321
  # `s3express:CreateBucket` permission in an IAM identity-based
2315
2322
  # policy instead of a bucket policy. Cross-account access to this
@@ -2477,33 +2484,33 @@ module Aws::S3
2477
2484
  # * {Types::CreateBucketOutput#location #location} => String
2478
2485
  #
2479
2486
  #
2480
- # @example Example: To create a bucket in a specific region
2487
+ # @example Example: To create a bucket
2481
2488
  #
2482
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2489
+ # # The following example creates a bucket.
2483
2490
  #
2484
2491
  # resp = client.create_bucket({
2485
2492
  # bucket: "examplebucket",
2486
- # create_bucket_configuration: {
2487
- # location_constraint: "eu-west-1",
2488
- # },
2489
2493
  # })
2490
2494
  #
2491
2495
  # resp.to_h outputs the following:
2492
2496
  # {
2493
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2497
+ # location: "/examplebucket",
2494
2498
  # }
2495
2499
  #
2496
- # @example Example: To create a bucket
2500
+ # @example Example: To create a bucket in a specific region
2497
2501
  #
2498
- # # The following example creates a bucket.
2502
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2499
2503
  #
2500
2504
  # resp = client.create_bucket({
2501
2505
  # bucket: "examplebucket",
2506
+ # create_bucket_configuration: {
2507
+ # location_constraint: "eu-west-1",
2508
+ # },
2502
2509
  # })
2503
2510
  #
2504
2511
  # resp.to_h outputs the following:
2505
2512
  # {
2506
- # location: "/examplebucket",
2513
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2507
2514
  # }
2508
2515
  #
2509
2516
  # @example Request syntax with placeholder values
@@ -2660,7 +2667,6 @@ module Aws::S3
2660
2667
  # * `x-amz-server-side-encryption-aws-kms-key-id`
2661
2668
  #
2662
2669
  # * `x-amz-server-side-encryption-context`
2663
- #
2664
2670
  # <note markdown="1"> * If you specify `x-amz-server-side-encryption:aws:kms`, but
2665
2671
  # don't provide `x-amz-server-side-encryption-aws-kms-key-id`,
2666
2672
  # Amazon S3 uses the Amazon Web Services managed key (`aws/s3`
@@ -2706,12 +2712,10 @@ module Aws::S3
2706
2712
  # * `x-amz-server-side-encryption-customer-key`
2707
2713
  #
2708
2714
  # * `x-amz-server-side-encryption-customer-key-MD5`
2709
- #
2710
2715
  # For more information about server-side encryption with
2711
2716
  # customer-provided encryption keys (SSE-C), see [ Protecting data
2712
2717
  # using server-side encryption with customer-provided encryption
2713
2718
  # keys (SSE-C)][11] in the *Amazon S3 User Guide*.
2714
- #
2715
2719
  # * **Directory buckets** - For directory buckets, there are only two
2716
2720
  # supported options for server-side encryption: server-side
2717
2721
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
@@ -3885,7 +3889,7 @@ module Aws::S3
3885
3889
  req.send_request(options)
3886
3890
  end
3887
3891
 
3888
- # <note markdown="1"> This operation is not supported by directory buckets.
3892
+ # <note markdown="1"> This operation is not supported for directory buckets.
3889
3893
  #
3890
3894
  # </note>
3891
3895
  #
@@ -3951,7 +3955,7 @@ module Aws::S3
3951
3955
  req.send_request(options)
3952
3956
  end
3953
3957
 
3954
- # <note markdown="1"> This operation is not supported by directory buckets.
3958
+ # <note markdown="1"> This operation is not supported for directory buckets.
3955
3959
  #
3956
3960
  # </note>
3957
3961
  #
@@ -4115,7 +4119,7 @@ module Aws::S3
4115
4119
  req.send_request(options)
4116
4120
  end
4117
4121
 
4118
- # <note markdown="1"> This operation is not supported by directory buckets.
4122
+ # <note markdown="1"> This operation is not supported for directory buckets.
4119
4123
  #
4120
4124
  # </note>
4121
4125
  #
@@ -4182,7 +4186,7 @@ module Aws::S3
4182
4186
  req.send_request(options)
4183
4187
  end
4184
4188
 
4185
- # <note markdown="1"> This operation is not supported by directory buckets.
4189
+ # <note markdown="1"> This operation is not supported for directory buckets.
4186
4190
  #
4187
4191
  # </note>
4188
4192
  #
@@ -4247,38 +4251,71 @@ module Aws::S3
4247
4251
  req.send_request(options)
4248
4252
  end
4249
4253
 
4250
- # <note markdown="1"> This operation is not supported by directory buckets.
4251
- #
4252
- # </note>
4253
- #
4254
4254
  # Deletes the lifecycle configuration from the specified bucket. Amazon
4255
4255
  # S3 removes all the lifecycle configuration rules in the lifecycle
4256
4256
  # subresource associated with the bucket. Your objects never expire, and
4257
4257
  # Amazon S3 no longer automatically deletes any objects on the basis of
4258
4258
  # rules contained in the deleted lifecycle configuration.
4259
4259
  #
4260
- # To use this operation, you must have permission to perform the
4261
- # `s3:PutLifecycleConfiguration` action. By default, the bucket owner
4262
- # has this permission and the bucket owner can grant this permission to
4263
- # others.
4260
+ # Permissions
4261
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
4262
+ # resources are private, including buckets, objects, and related
4263
+ # subresources (for example, lifecycle configuration and website
4264
+ # configuration). Only the resource owner (that is, the Amazon Web
4265
+ # Services account that created it) can access the resource. The
4266
+ # resource owner can optionally grant access permissions to others
4267
+ # by writing an access policy. For this operation, a user must have
4268
+ # the `s3:PutLifecycleConfiguration` permission.
4269
+ #
4270
+ # For more information about permissions, see [Managing Access
4271
+ # Permissions to Your Amazon S3 Resources][1].
4272
+ # ^
4273
+ #
4274
+ # * **Directory bucket permissions** - You must have the
4275
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
4276
+ # identity-based policy to use this operation. Cross-account access
4277
+ # to this API operation isn't supported. The resource owner can
4278
+ # optionally grant access permissions to others by creating a role
4279
+ # or user for them as long as they are within the same account as
4280
+ # the owner and resource.
4281
+ #
4282
+ # For more information about directory bucket policies and
4283
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][2]
4284
+ # in the *Amazon S3 User Guide*.
4285
+ #
4286
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4287
+ # requests for this API operation to the Regional endpoint. These
4288
+ # endpoints support path-style requests in the format
4289
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
4290
+ # `. Virtual-hosted-style requests aren't supported. For more
4291
+ # information, see [Regional and Zonal endpoints][3] in the *Amazon
4292
+ # S3 User Guide*.
4264
4293
  #
4265
- # There is usually some time lag before lifecycle configuration deletion
4266
- # is fully propagated to all the Amazon S3 systems.
4294
+ # </note>
4295
+ # ^
4296
+ #
4297
+ # HTTP Host header syntax
4298
+ #
4299
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
4300
+ # `s3express-control.region.amazonaws.com`.
4267
4301
  #
4268
4302
  # For more information about the object expiration, see [Elements to
4269
- # Describe Lifecycle Actions][1].
4303
+ # Describe Lifecycle Actions][4].
4270
4304
  #
4271
4305
  # Related actions include:
4272
4306
  #
4273
- # * [PutBucketLifecycleConfiguration][2]
4307
+ # * [PutBucketLifecycleConfiguration][5]
4274
4308
  #
4275
- # * [GetBucketLifecycleConfiguration][3]
4309
+ # * [GetBucketLifecycleConfiguration][6]
4276
4310
  #
4277
4311
  #
4278
4312
  #
4279
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4280
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4281
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4313
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
4314
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4315
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4316
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4317
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4318
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4282
4319
  #
4283
4320
  # @option params [required, String] :bucket
4284
4321
  # The bucket name of the lifecycle to delete.
@@ -4288,6 +4325,11 @@ module Aws::S3
4288
4325
  # you provide does not match the actual owner of the bucket, the request
4289
4326
  # fails with the HTTP status code `403 Forbidden` (access denied).
4290
4327
  #
4328
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
4329
+ # supported for directory bucket lifecycle configurations.
4330
+ #
4331
+ # </note>
4332
+ #
4291
4333
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4292
4334
  #
4293
4335
  #
@@ -4315,7 +4357,7 @@ module Aws::S3
4315
4357
  req.send_request(options)
4316
4358
  end
4317
4359
 
4318
- # <note markdown="1"> This operation is not supported by directory buckets.
4360
+ # <note markdown="1"> This operation is not supported for directory buckets.
4319
4361
  #
4320
4362
  # </note>
4321
4363
  #
@@ -4385,7 +4427,7 @@ module Aws::S3
4385
4427
  req.send_request(options)
4386
4428
  end
4387
4429
 
4388
- # <note markdown="1"> This operation is not supported by directory buckets.
4430
+ # <note markdown="1"> This operation is not supported for directory buckets.
4389
4431
  #
4390
4432
  # </note>
4391
4433
  #
@@ -4559,7 +4601,7 @@ module Aws::S3
4559
4601
  req.send_request(options)
4560
4602
  end
4561
4603
 
4562
- # <note markdown="1"> This operation is not supported by directory buckets.
4604
+ # <note markdown="1"> This operation is not supported for directory buckets.
4563
4605
  #
4564
4606
  # </note>
4565
4607
  #
@@ -4629,7 +4671,7 @@ module Aws::S3
4629
4671
  req.send_request(options)
4630
4672
  end
4631
4673
 
4632
- # <note markdown="1"> This operation is not supported by directory buckets.
4674
+ # <note markdown="1"> This operation is not supported for directory buckets.
4633
4675
  #
4634
4676
  # </note>
4635
4677
  #
@@ -4685,7 +4727,7 @@ module Aws::S3
4685
4727
  req.send_request(options)
4686
4728
  end
4687
4729
 
4688
- # <note markdown="1"> This operation is not supported by directory buckets.
4730
+ # <note markdown="1"> This operation is not supported for directory buckets.
4689
4731
  #
4690
4732
  # </note>
4691
4733
  #
@@ -4805,7 +4847,6 @@ module Aws::S3
4805
4847
  # objects from your bucket, you must deny them the
4806
4848
  # `s3:DeleteObject`, `s3:DeleteObjectVersion`, and
4807
4849
  # `s3:PutLifeCycleConfiguration` permissions.
4808
- #
4809
4850
  # * **Directory buckets permissions** - To grant access to this API
4810
4851
  # operation on a directory bucket, we recommend that you use the
4811
4852
  # CreateSession API operation for session-based authorization.
@@ -4925,6 +4966,49 @@ module Aws::S3
4925
4966
  # you provide does not match the actual owner of the bucket, the request
4926
4967
  # fails with the HTTP status code `403 Forbidden` (access denied).
4927
4968
  #
4969
+ # @option params [String] :if_match
4970
+ # The `If-Match` header field makes the request method conditional on
4971
+ # ETags. If the ETag value does not match, the operation returns a `412
4972
+ # Precondition Failed` error. If the ETag matches or if the object
4973
+ # doesn't exist, the operation will return a `204 Success (No Content)
4974
+ # response`.
4975
+ #
4976
+ # For more information about conditional requests, see [RFC 7232][1].
4977
+ #
4978
+ # <note markdown="1"> This functionality is only supported for directory buckets.
4979
+ #
4980
+ # </note>
4981
+ #
4982
+ #
4983
+ #
4984
+ # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
4985
+ #
4986
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
4987
+ # If present, the object is deleted only if its modification times
4988
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
4989
+ # match, the operation returns a `412 Precondition Failed` error. If the
4990
+ # `Timestamp` matches or if the object doesn’t exist, the operation
4991
+ # returns a `204 Success (No Content)` response.
4992
+ #
4993
+ # <note markdown="1"> This functionality is only supported for directory buckets.
4994
+ #
4995
+ # </note>
4996
+ #
4997
+ # @option params [Integer] :if_match_size
4998
+ # If present, the object is deleted only if its size matches the
4999
+ # provided size in bytes. If the `Size` value does not match, the
5000
+ # operation returns a `412 Precondition Failed` error. If the `Size`
5001
+ # matches or if the object doesn’t exist, the operation returns a `204
5002
+ # Success (No Content)` response.
5003
+ #
5004
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5005
+ #
5006
+ # </note>
5007
+ #
5008
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
5009
+ # `x-amz-if-match-size` conditional headers in conjunction with
5010
+ # each-other or individually.
5011
+ #
4928
5012
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4929
5013
  #
4930
5014
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -4932,15 +5016,6 @@ module Aws::S3
4932
5016
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
4933
5017
  #
4934
5018
  #
4935
- # @example Example: To delete an object (from a non-versioned bucket)
4936
- #
4937
- # # The following example deletes an object from a non-versioned bucket.
4938
- #
4939
- # resp = client.delete_object({
4940
- # bucket: "ExampleBucket",
4941
- # key: "HappyFace.jpg",
4942
- # })
4943
- #
4944
5019
  # @example Example: To delete an object
4945
5020
  #
4946
5021
  # # The following example deletes an object from an S3 bucket.
@@ -4954,6 +5029,15 @@ module Aws::S3
4954
5029
  # {
4955
5030
  # }
4956
5031
  #
5032
+ # @example Example: To delete an object (from a non-versioned bucket)
5033
+ #
5034
+ # # The following example deletes an object from a non-versioned bucket.
5035
+ #
5036
+ # resp = client.delete_object({
5037
+ # bucket: "ExampleBucket",
5038
+ # key: "HappyFace.jpg",
5039
+ # })
5040
+ #
4957
5041
  # @example Request syntax with placeholder values
4958
5042
  #
4959
5043
  # resp = client.delete_object({
@@ -4964,6 +5048,9 @@ module Aws::S3
4964
5048
  # request_payer: "requester", # accepts requester
4965
5049
  # bypass_governance_retention: false,
4966
5050
  # expected_bucket_owner: "AccountId",
5051
+ # if_match: "IfMatch",
5052
+ # if_match_last_modified_time: Time.now,
5053
+ # if_match_size: 1,
4967
5054
  # })
4968
5055
  #
4969
5056
  # @example Response structure
@@ -4981,7 +5068,7 @@ module Aws::S3
4981
5068
  req.send_request(options)
4982
5069
  end
4983
5070
 
4984
- # <note markdown="1"> This operation is not supported by directory buckets.
5071
+ # <note markdown="1"> This operation is not supported for directory buckets.
4985
5072
  #
4986
5073
  # </note>
4987
5074
  #
@@ -5164,7 +5251,6 @@ module Aws::S3
5164
5251
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
5165
5252
  # specific version of an object from a versioning-enabled bucket,
5166
5253
  # you must specify the `s3:DeleteObjectVersion` permission.
5167
- #
5168
5254
  # * **Directory bucket permissions** - To grant access to this API
5169
5255
  # operation on a directory bucket, we recommend that you use the [
5170
5256
  # `CreateSession` ][3] API operation for session-based
@@ -5363,20 +5449,22 @@ module Aws::S3
5363
5449
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5364
5450
  #
5365
5451
  #
5366
- # @example Example: To delete multiple objects from a versioned bucket
5452
+ # @example Example: To delete multiple object versions from a versioned bucket
5367
5453
  #
5368
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5369
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5454
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5455
+ # # versions and returns the key and versions of deleted objects in the response.
5370
5456
  #
5371
5457
  # resp = client.delete_objects({
5372
5458
  # bucket: "examplebucket",
5373
5459
  # delete: {
5374
5460
  # objects: [
5375
5461
  # {
5376
- # key: "objectkey1",
5462
+ # key: "HappyFace.jpg",
5463
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5377
5464
  # },
5378
5465
  # {
5379
- # key: "objectkey2",
5466
+ # key: "HappyFace.jpg",
5467
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5380
5468
  # },
5381
5469
  # ],
5382
5470
  # quiet: false,
@@ -5387,34 +5475,30 @@ module Aws::S3
5387
5475
  # {
5388
5476
  # deleted: [
5389
5477
  # {
5390
- # delete_marker: true,
5391
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5392
- # key: "objectkey1",
5478
+ # key: "HappyFace.jpg",
5479
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5393
5480
  # },
5394
5481
  # {
5395
- # delete_marker: true,
5396
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5397
- # key: "objectkey2",
5482
+ # key: "HappyFace.jpg",
5483
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5398
5484
  # },
5399
5485
  # ],
5400
5486
  # }
5401
5487
  #
5402
- # @example Example: To delete multiple object versions from a versioned bucket
5488
+ # @example Example: To delete multiple objects from a versioned bucket
5403
5489
  #
5404
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5405
- # # versions and returns the key and versions of deleted objects in the response.
5490
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5491
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5406
5492
  #
5407
5493
  # resp = client.delete_objects({
5408
5494
  # bucket: "examplebucket",
5409
5495
  # delete: {
5410
5496
  # objects: [
5411
5497
  # {
5412
- # key: "HappyFace.jpg",
5413
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5498
+ # key: "objectkey1",
5414
5499
  # },
5415
5500
  # {
5416
- # key: "HappyFace.jpg",
5417
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5501
+ # key: "objectkey2",
5418
5502
  # },
5419
5503
  # ],
5420
5504
  # quiet: false,
@@ -5425,12 +5509,14 @@ module Aws::S3
5425
5509
  # {
5426
5510
  # deleted: [
5427
5511
  # {
5428
- # key: "HappyFace.jpg",
5429
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5512
+ # delete_marker: true,
5513
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5514
+ # key: "objectkey1",
5430
5515
  # },
5431
5516
  # {
5432
- # key: "HappyFace.jpg",
5433
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5517
+ # delete_marker: true,
5518
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5519
+ # key: "objectkey2",
5434
5520
  # },
5435
5521
  # ],
5436
5522
  # }
@@ -5444,6 +5530,9 @@ module Aws::S3
5444
5530
  # {
5445
5531
  # key: "ObjectKey", # required
5446
5532
  # version_id: "ObjectVersionId",
5533
+ # etag: "ETag",
5534
+ # last_modified_time: Time.now,
5535
+ # size: 1,
5447
5536
  # },
5448
5537
  # ],
5449
5538
  # quiet: false,
@@ -5478,7 +5567,7 @@ module Aws::S3
5478
5567
  req.send_request(options)
5479
5568
  end
5480
5569
 
5481
- # <note markdown="1"> This operation is not supported by directory buckets.
5570
+ # <note markdown="1"> This operation is not supported for directory buckets.
5482
5571
  #
5483
5572
  # </note>
5484
5573
  #
@@ -5535,7 +5624,7 @@ module Aws::S3
5535
5624
  req.send_request(options)
5536
5625
  end
5537
5626
 
5538
- # <note markdown="1"> This operation is not supported by directory buckets.
5627
+ # <note markdown="1"> This operation is not supported for directory buckets.
5539
5628
  #
5540
5629
  # </note>
5541
5630
  #
@@ -5631,7 +5720,7 @@ module Aws::S3
5631
5720
  req.send_request(options)
5632
5721
  end
5633
5722
 
5634
- # <note markdown="1"> This operation is not supported by directory buckets.
5723
+ # <note markdown="1"> This operation is not supported for directory buckets.
5635
5724
  #
5636
5725
  # </note>
5637
5726
  #
@@ -5727,7 +5816,7 @@ module Aws::S3
5727
5816
  req.send_request(options)
5728
5817
  end
5729
5818
 
5730
- # <note markdown="1"> This operation is not supported by directory buckets.
5819
+ # <note markdown="1"> This operation is not supported for directory buckets.
5731
5820
  #
5732
5821
  # </note>
5733
5822
  #
@@ -5813,7 +5902,7 @@ module Aws::S3
5813
5902
  req.send_request(options)
5814
5903
  end
5815
5904
 
5816
- # <note markdown="1"> This operation is not supported by directory buckets.
5905
+ # <note markdown="1"> This operation is not supported for directory buckets.
5817
5906
  #
5818
5907
  # </note>
5819
5908
  #
@@ -6046,7 +6135,7 @@ module Aws::S3
6046
6135
  req.send_request(options)
6047
6136
  end
6048
6137
 
6049
- # <note markdown="1"> This operation is not supported by directory buckets.
6138
+ # <note markdown="1"> This operation is not supported for directory buckets.
6050
6139
  #
6051
6140
  # </note>
6052
6141
  #
@@ -6130,7 +6219,7 @@ module Aws::S3
6130
6219
  req.send_request(options)
6131
6220
  end
6132
6221
 
6133
- # <note markdown="1"> This operation is not supported by directory buckets.
6222
+ # <note markdown="1"> This operation is not supported for directory buckets.
6134
6223
  #
6135
6224
  # </note>
6136
6225
  #
@@ -6219,7 +6308,7 @@ module Aws::S3
6219
6308
  # version of this topic. This topic is provided for backward
6220
6309
  # compatibility.
6221
6310
  #
6222
- # <note markdown="1"> This operation is not supported by directory buckets.
6311
+ # <note markdown="1"> This operation is not supported for directory buckets.
6223
6312
  #
6224
6313
  # </note>
6225
6314
  #
@@ -6331,34 +6420,65 @@ module Aws::S3
6331
6420
  req.send_request(options)
6332
6421
  end
6333
6422
 
6334
- # <note markdown="1"> This operation is not supported by directory buckets.
6335
- #
6336
- # </note>
6423
+ # Returns the lifecycle configuration information set on the bucket. For
6424
+ # information about lifecycle configuration, see [Object Lifecycle
6425
+ # Management][1].
6337
6426
  #
6338
- # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
6427
+ # Bucket lifecycle configuration now supports specifying a lifecycle
6339
6428
  # rule using an object key name prefix, one or more object tags, object
6340
6429
  # size, or any combination of these. Accordingly, this section describes
6341
- # the latest API. The previous version of the API supported filtering
6342
- # based only on an object key name prefix, which is supported for
6343
- # backward compatibility. For the related API description, see
6344
- # [GetBucketLifecycle][1]. Accordingly, this section describes the
6345
- # latest API. The response describes the new filter element that you can
6346
- # use to specify a filter to select a subset of objects to which the
6347
- # rule applies. If you are using a previous version of the lifecycle
6348
- # configuration, it still works. For the earlier action,
6430
+ # the latest API, which is compatible with the new functionality. The
6431
+ # previous version of the API supported filtering based only on an
6432
+ # object key name prefix, which is supported for general purpose buckets
6433
+ # for backward compatibility. For the related API description, see
6434
+ # [GetBucketLifecycle][2].
6435
+ #
6436
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
6437
+ # objects and cancelling multipart uploads. Expiring of versioned
6438
+ # objects, transitions and tag filters are not supported.
6349
6439
  #
6350
6440
  # </note>
6351
6441
  #
6352
- # Returns the lifecycle configuration information set on the bucket. For
6353
- # information about lifecycle configuration, see [Object Lifecycle
6354
- # Management][2].
6442
+ # Permissions
6443
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
6444
+ # resources are private, including buckets, objects, and related
6445
+ # subresources (for example, lifecycle configuration and website
6446
+ # configuration). Only the resource owner (that is, the Amazon Web
6447
+ # Services account that created it) can access the resource. The
6448
+ # resource owner can optionally grant access permissions to others
6449
+ # by writing an access policy. For this operation, a user must have
6450
+ # the `s3:GetLifecycleConfiguration` permission.
6451
+ #
6452
+ # For more information about permissions, see [Managing Access
6453
+ # Permissions to Your Amazon S3 Resources][3].
6454
+ # ^
6355
6455
  #
6356
- # To use this operation, you must have permission to perform the
6357
- # `s3:GetLifecycleConfiguration` action. The bucket owner has this
6358
- # permission, by default. The bucket owner can grant this permission to
6359
- # others. For more information about permissions, see [Permissions
6360
- # Related to Bucket Subresource Operations][3] and [Managing Access
6361
- # Permissions to Your Amazon S3 Resources][4].
6456
+ # * **Directory bucket permissions** - You must have the
6457
+ # `s3express:GetLifecycleConfiguration` permission in an IAM
6458
+ # identity-based policy to use this operation. Cross-account access
6459
+ # to this API operation isn't supported. The resource owner can
6460
+ # optionally grant access permissions to others by creating a role
6461
+ # or user for them as long as they are within the same account as
6462
+ # the owner and resource.
6463
+ #
6464
+ # For more information about directory bucket policies and
6465
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][4]
6466
+ # in the *Amazon S3 User Guide*.
6467
+ #
6468
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
6469
+ # requests for this API operation to the Regional endpoint. These
6470
+ # endpoints support path-style requests in the format
6471
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
6472
+ # `. Virtual-hosted-style requests aren't supported. For more
6473
+ # information, see [Regional and Zonal endpoints][5] in the *Amazon
6474
+ # S3 User Guide*.
6475
+ #
6476
+ # </note>
6477
+ #
6478
+ # HTTP Host header syntax
6479
+ #
6480
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
6481
+ # `s3express-control.region.amazonaws.com`.
6362
6482
  #
6363
6483
  # `GetBucketLifecycleConfiguration` has the following special error:
6364
6484
  #
@@ -6373,20 +6493,21 @@ module Aws::S3
6373
6493
  # The following operations are related to
6374
6494
  # `GetBucketLifecycleConfiguration`:
6375
6495
  #
6376
- # * [GetBucketLifecycle][1]
6496
+ # * [GetBucketLifecycle][2]
6377
6497
  #
6378
- # * [PutBucketLifecycle][5]
6498
+ # * [PutBucketLifecycle][6]
6379
6499
  #
6380
- # * [DeleteBucketLifecycle][6]
6500
+ # * [DeleteBucketLifecycle][7]
6381
6501
  #
6382
6502
  #
6383
6503
  #
6384
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6385
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6386
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6387
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6388
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6389
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6504
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6505
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6506
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6507
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6508
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
6509
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6510
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6390
6511
  #
6391
6512
  # @option params [required, String] :bucket
6392
6513
  # The name of the bucket for which to get the lifecycle information.
@@ -6396,6 +6517,11 @@ module Aws::S3
6396
6517
  # you provide does not match the actual owner of the bucket, the request
6397
6518
  # fails with the HTTP status code `403 Forbidden` (access denied).
6398
6519
  #
6520
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
6521
+ # supported for directory bucket lifecycle configurations.
6522
+ #
6523
+ # </note>
6524
+ #
6399
6525
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6400
6526
  #
6401
6527
  # * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array&lt;Types::LifecycleRule&gt;
@@ -6476,7 +6602,7 @@ module Aws::S3
6476
6602
  req.send_request(options)
6477
6603
  end
6478
6604
 
6479
- # <note markdown="1"> This operation is not supported by directory buckets.
6605
+ # <note markdown="1"> This operation is not supported for directory buckets.
6480
6606
  #
6481
6607
  # </note>
6482
6608
  #
@@ -6573,7 +6699,7 @@ module Aws::S3
6573
6699
  req.send_request(options)
6574
6700
  end
6575
6701
 
6576
- # <note markdown="1"> This operation is not supported by directory buckets.
6702
+ # <note markdown="1"> This operation is not supported for directory buckets.
6577
6703
  #
6578
6704
  # </note>
6579
6705
  #
@@ -6632,7 +6758,7 @@ module Aws::S3
6632
6758
  req.send_request(options)
6633
6759
  end
6634
6760
 
6635
- # <note markdown="1"> This operation is not supported by directory buckets.
6761
+ # <note markdown="1"> This operation is not supported for directory buckets.
6636
6762
  #
6637
6763
  # </note>
6638
6764
  #
@@ -6718,7 +6844,7 @@ module Aws::S3
6718
6844
  req.send_request(options)
6719
6845
  end
6720
6846
 
6721
- # <note markdown="1"> This operation is not supported by directory buckets.
6847
+ # <note markdown="1"> This operation is not supported for directory buckets.
6722
6848
  #
6723
6849
  # </note>
6724
6850
  #
@@ -6849,7 +6975,7 @@ module Aws::S3
6849
6975
  req.send_request(options)
6850
6976
  end
6851
6977
 
6852
- # <note markdown="1"> This operation is not supported by directory buckets.
6978
+ # <note markdown="1"> This operation is not supported for directory buckets.
6853
6979
  #
6854
6980
  # </note>
6855
6981
  #
@@ -6964,7 +7090,7 @@ module Aws::S3
6964
7090
  req.send_request(options)
6965
7091
  end
6966
7092
 
6967
- # <note markdown="1"> This operation is not supported by directory buckets.
7093
+ # <note markdown="1"> This operation is not supported for directory buckets.
6968
7094
  #
6969
7095
  # </note>
6970
7096
  #
@@ -7181,7 +7307,7 @@ module Aws::S3
7181
7307
  req.send_request(options, &block)
7182
7308
  end
7183
7309
 
7184
- # <note markdown="1"> This operation is not supported by directory buckets.
7310
+ # <note markdown="1"> This operation is not supported for directory buckets.
7185
7311
  #
7186
7312
  # </note>
7187
7313
  #
@@ -7246,7 +7372,7 @@ module Aws::S3
7246
7372
  req.send_request(options)
7247
7373
  end
7248
7374
 
7249
- # <note markdown="1"> This operation is not supported by directory buckets.
7375
+ # <note markdown="1"> This operation is not supported for directory buckets.
7250
7376
  #
7251
7377
  # </note>
7252
7378
  #
@@ -7369,7 +7495,7 @@ module Aws::S3
7369
7495
  req.send_request(options)
7370
7496
  end
7371
7497
 
7372
- # <note markdown="1"> This operation is not supported by directory buckets.
7498
+ # <note markdown="1"> This operation is not supported for directory buckets.
7373
7499
  #
7374
7500
  # </note>
7375
7501
  #
@@ -7435,7 +7561,7 @@ module Aws::S3
7435
7561
  req.send_request(options)
7436
7562
  end
7437
7563
 
7438
- # <note markdown="1"> This operation is not supported by directory buckets.
7564
+ # <note markdown="1"> This operation is not supported for directory buckets.
7439
7565
  #
7440
7566
  # </note>
7441
7567
  #
@@ -7521,7 +7647,7 @@ module Aws::S3
7521
7647
  req.send_request(options)
7522
7648
  end
7523
7649
 
7524
- # <note markdown="1"> This operation is not supported by directory buckets.
7650
+ # <note markdown="1"> This operation is not supported for directory buckets.
7525
7651
  #
7526
7652
  # </note>
7527
7653
  #
@@ -7598,7 +7724,7 @@ module Aws::S3
7598
7724
  req.send_request(options)
7599
7725
  end
7600
7726
 
7601
- # <note markdown="1"> This operation is not supported by directory buckets.
7727
+ # <note markdown="1"> This operation is not supported for directory buckets.
7602
7728
  #
7603
7729
  # </note>
7604
7730
  #
@@ -7744,7 +7870,6 @@ module Aws::S3
7744
7870
  #
7745
7871
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7746
7872
  # returns an HTTP status code `403 Access Denied` error.
7747
- #
7748
7873
  # * **Directory bucket permissions** - To grant access to this API
7749
7874
  # operation on a directory bucket, we recommend that you use the [
7750
7875
  # `CreateSession` ][4] API operation for session-based
@@ -8205,49 +8330,49 @@ module Aws::S3
8205
8330
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8206
8331
  #
8207
8332
  #
8208
- # @example Example: To retrieve an object
8333
+ # @example Example: To retrieve a byte range of an object
8209
8334
  #
8210
- # # The following example retrieves an object for an S3 bucket.
8335
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8336
+ # # specific byte range.
8211
8337
  #
8212
8338
  # resp = client.get_object({
8213
8339
  # bucket: "examplebucket",
8214
- # key: "HappyFace.jpg",
8340
+ # key: "SampleFile.txt",
8341
+ # range: "bytes=0-9",
8215
8342
  # })
8216
8343
  #
8217
8344
  # resp.to_h outputs the following:
8218
8345
  # {
8219
8346
  # accept_ranges: "bytes",
8220
- # content_length: 3191,
8221
- # content_type: "image/jpeg",
8222
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8223
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8347
+ # content_length: 10,
8348
+ # content_range: "bytes 0-9/43",
8349
+ # content_type: "text/plain",
8350
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8351
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8224
8352
  # metadata: {
8225
8353
  # },
8226
- # tag_count: 2,
8227
8354
  # version_id: "null",
8228
8355
  # }
8229
8356
  #
8230
- # @example Example: To retrieve a byte range of an object
8357
+ # @example Example: To retrieve an object
8231
8358
  #
8232
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8233
- # # specific byte range.
8359
+ # # The following example retrieves an object for an S3 bucket.
8234
8360
  #
8235
8361
  # resp = client.get_object({
8236
8362
  # bucket: "examplebucket",
8237
- # key: "SampleFile.txt",
8238
- # range: "bytes=0-9",
8363
+ # key: "HappyFace.jpg",
8239
8364
  # })
8240
8365
  #
8241
8366
  # resp.to_h outputs the following:
8242
8367
  # {
8243
8368
  # accept_ranges: "bytes",
8244
- # content_length: 10,
8245
- # content_range: "bytes 0-9/43",
8246
- # content_type: "text/plain",
8247
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8248
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8369
+ # content_length: 3191,
8370
+ # content_type: "image/jpeg",
8371
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8372
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8249
8373
  # metadata: {
8250
8374
  # },
8375
+ # tag_count: 2,
8251
8376
  # version_id: "null",
8252
8377
  # }
8253
8378
  #
@@ -8356,7 +8481,7 @@ module Aws::S3
8356
8481
  req.send_request(options, &block)
8357
8482
  end
8358
8483
 
8359
- # <note markdown="1"> This operation is not supported by directory buckets.
8484
+ # <note markdown="1"> This operation is not supported for directory buckets.
8360
8485
  #
8361
8486
  # </note>
8362
8487
  #
@@ -8578,7 +8703,6 @@ module Aws::S3
8578
8703
  # * If you don't have the `s3:ListBucket` permission, Amazon S3
8579
8704
  # returns an HTTP status code `403 Forbidden` ("access denied")
8580
8705
  # error.
8581
- #
8582
8706
  # * **Directory bucket permissions** - To grant access to this API
8583
8707
  # operation on a directory bucket, we recommend that you use the [
8584
8708
  # `CreateSession` ][3] API operation for session-based
@@ -8665,7 +8789,6 @@ module Aws::S3
8665
8789
  # * `If-Match` condition evaluates to `true`.
8666
8790
  #
8667
8791
  # * `If-Unmodified-Since` condition evaluates to `false`.
8668
- #
8669
8792
  # For more information about conditional requests, see [RFC
8670
8793
  # 7232][7].
8671
8794
  #
@@ -8676,7 +8799,6 @@ module Aws::S3
8676
8799
  # * `If-None-Match` condition evaluates to `false`.
8677
8800
  #
8678
8801
  # * `If-Modified-Since` condition evaluates to `true`.
8679
- #
8680
8802
  # For more information about conditional requests, see [RFC
8681
8803
  # 7232][7].
8682
8804
  #
@@ -8902,7 +9024,7 @@ module Aws::S3
8902
9024
  req.send_request(options)
8903
9025
  end
8904
9026
 
8905
- # <note markdown="1"> This operation is not supported by directory buckets.
9027
+ # <note markdown="1"> This operation is not supported for directory buckets.
8906
9028
  #
8907
9029
  # </note>
8908
9030
  #
@@ -8998,7 +9120,7 @@ module Aws::S3
8998
9120
  req.send_request(options)
8999
9121
  end
9000
9122
 
9001
- # <note markdown="1"> This operation is not supported by directory buckets.
9123
+ # <note markdown="1"> This operation is not supported for directory buckets.
9002
9124
  #
9003
9125
  # </note>
9004
9126
  #
@@ -9068,7 +9190,7 @@ module Aws::S3
9068
9190
  req.send_request(options)
9069
9191
  end
9070
9192
 
9071
- # <note markdown="1"> This operation is not supported by directory buckets.
9193
+ # <note markdown="1"> This operation is not supported for directory buckets.
9072
9194
  #
9073
9195
  # </note>
9074
9196
  #
@@ -9165,7 +9287,7 @@ module Aws::S3
9165
9287
  req.send_request(options)
9166
9288
  end
9167
9289
 
9168
- # <note markdown="1"> This operation is not supported by directory buckets.
9290
+ # <note markdown="1"> This operation is not supported for directory buckets.
9169
9291
  #
9170
9292
  # </note>
9171
9293
  #
@@ -9334,7 +9456,7 @@ module Aws::S3
9334
9456
  req.send_request(options)
9335
9457
  end
9336
9458
 
9337
- # <note markdown="1"> This operation is not supported by directory buckets.
9459
+ # <note markdown="1"> This operation is not supported for directory buckets.
9338
9460
  #
9339
9461
  # </note>
9340
9462
  #
@@ -9435,7 +9557,7 @@ module Aws::S3
9435
9557
  req.send_request(options, &block)
9436
9558
  end
9437
9559
 
9438
- # <note markdown="1"> This operation is not supported by directory buckets.
9560
+ # <note markdown="1"> This operation is not supported for directory buckets.
9439
9561
  #
9440
9562
  # </note>
9441
9563
  #
@@ -9726,7 +9848,6 @@ module Aws::S3
9726
9848
  #
9727
9849
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
9728
9850
  # returns an HTTP status code `403 Forbidden` error.
9729
- #
9730
9851
  # * **Directory bucket permissions** - To grant access to this API
9731
9852
  # operation on a directory bucket, we recommend that you use the [
9732
9853
  # `CreateSession` ][3] API operation for session-based
@@ -9798,7 +9919,7 @@ module Aws::S3
9798
9919
  # a `405 Method Not Allowed` error and the `Last-Modified:
9799
9920
  # timestamp` response header.
9800
9921
  #
9801
- # <note markdown="1"> * **Directory buckets** - Delete marker is not supported by
9922
+ # <note markdown="1"> * **Directory buckets** - Delete marker is not supported for
9802
9923
  # directory buckets.
9803
9924
  #
9804
9925
  # * **Directory buckets** - S3 Versioning isn't enabled and supported
@@ -10209,7 +10330,7 @@ module Aws::S3
10209
10330
  req.send_request(options)
10210
10331
  end
10211
10332
 
10212
- # <note markdown="1"> This operation is not supported by directory buckets.
10333
+ # <note markdown="1"> This operation is not supported for directory buckets.
10213
10334
  #
10214
10335
  # </note>
10215
10336
  #
@@ -10310,7 +10431,7 @@ module Aws::S3
10310
10431
  req.send_request(options)
10311
10432
  end
10312
10433
 
10313
- # <note markdown="1"> This operation is not supported by directory buckets.
10434
+ # <note markdown="1"> This operation is not supported for directory buckets.
10314
10435
  #
10315
10436
  # </note>
10316
10437
  #
@@ -10402,7 +10523,7 @@ module Aws::S3
10402
10523
  req.send_request(options)
10403
10524
  end
10404
10525
 
10405
- # <note markdown="1"> This operation is not supported by directory buckets.
10526
+ # <note markdown="1"> This operation is not supported for directory buckets.
10406
10527
  #
10407
10528
  # </note>
10408
10529
  #
@@ -10504,7 +10625,7 @@ module Aws::S3
10504
10625
  req.send_request(options)
10505
10626
  end
10506
10627
 
10507
- # <note markdown="1"> This operation is not supported by directory buckets.
10628
+ # <note markdown="1"> This operation is not supported for directory buckets.
10508
10629
  #
10509
10630
  # </note>
10510
10631
  #
@@ -10606,24 +10727,25 @@ module Aws::S3
10606
10727
  req.send_request(options)
10607
10728
  end
10608
10729
 
10609
- # <note markdown="1"> This operation is not supported by directory buckets.
10730
+ # <note markdown="1"> This operation is not supported for directory buckets.
10610
10731
  #
10611
10732
  # </note>
10612
10733
  #
10613
10734
  # Returns a list of all buckets owned by the authenticated sender of the
10614
- # request. To use this operation, you must have the
10615
- # `s3:ListAllMyBuckets` permission.
10735
+ # request. To grant IAM permission to use this operation, you must add
10736
+ # the `s3:ListAllMyBuckets` policy action.
10616
10737
  #
10617
10738
  # For information about Amazon S3 buckets, see [Creating, configuring,
10618
10739
  # and working with Amazon S3 buckets][1].
10619
10740
  #
10620
- # We strongly recommend using only paginated requests. Unpaginated
10621
- # requests are only supported for Amazon Web Services accounts set to
10622
- # the default general purpose bucket quota of 10,000. If you have an
10623
- # approved general purpose bucket quota above 10,000, you must send
10624
- # paginated requests to list your account’s buckets. All unpaginated
10625
- # ListBuckets requests will be rejected for Amazon Web Services accounts
10626
- # with a general purpose bucket quota greater than 10,000.
10741
+ # We strongly recommend using only paginated `ListBuckets` requests.
10742
+ # Unpaginated `ListBuckets` requests are only supported for Amazon Web
10743
+ # Services accounts set to the default general purpose bucket quota of
10744
+ # 10,000. If you have an approved general purpose bucket quota above
10745
+ # 10,000, you must send paginated `ListBuckets` requests to list your
10746
+ # account’s buckets. All unpaginated `ListBuckets` requests will be
10747
+ # rejected for Amazon Web Services accounts with a general purpose
10748
+ # bucket quota greater than 10,000.
10627
10749
  #
10628
10750
  #
10629
10751
  #
@@ -10909,7 +11031,6 @@ module Aws::S3
10909
11031
  # initiation time. Among uploads with the same key, the one that
10910
11032
  # was initiated first will appear before the ones that were
10911
11033
  # initiated later.
10912
- #
10913
11034
  # * **Directory bucket** - In the `ListMultipartUploads` response, the
10914
11035
  # multipart uploads aren't sorted lexicographically based on the
10915
11036
  # object keys.
@@ -11122,97 +11243,97 @@ module Aws::S3
11122
11243
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11123
11244
  #
11124
11245
  #
11125
- # @example Example: List next set of multipart uploads when previous result is truncated
11246
+ # @example Example: To list in-progress multipart uploads on a bucket
11126
11247
  #
11127
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11128
- # # setup of multipart uploads.
11248
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11129
11249
  #
11130
11250
  # resp = client.list_multipart_uploads({
11131
11251
  # bucket: "examplebucket",
11132
- # key_marker: "nextkeyfrompreviousresponse",
11133
- # max_uploads: 2,
11134
- # upload_id_marker: "valuefrompreviousresponse",
11135
11252
  # })
11136
11253
  #
11137
11254
  # resp.to_h outputs the following:
11138
11255
  # {
11139
- # bucket: "acl1",
11140
- # is_truncated: true,
11141
- # key_marker: "",
11142
- # max_uploads: 2,
11143
- # next_key_marker: "someobjectkey",
11144
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11145
- # upload_id_marker: "",
11146
11256
  # uploads: [
11147
11257
  # {
11148
11258
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11149
11259
  # initiator: {
11150
- # display_name: "ownder-display-name",
11260
+ # display_name: "display-name",
11151
11261
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11152
11262
  # },
11153
11263
  # key: "JavaFile",
11154
11264
  # owner: {
11155
- # display_name: "mohanataws",
11156
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11265
+ # display_name: "display-name",
11266
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11157
11267
  # },
11158
11268
  # storage_class: "STANDARD",
11159
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11269
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11160
11270
  # },
11161
11271
  # {
11162
11272
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11163
11273
  # initiator: {
11164
- # display_name: "ownder-display-name",
11274
+ # display_name: "display-name",
11165
11275
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11166
11276
  # },
11167
11277
  # key: "JavaFile",
11168
11278
  # owner: {
11169
- # display_name: "ownder-display-name",
11279
+ # display_name: "display-name",
11170
11280
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11171
11281
  # },
11172
11282
  # storage_class: "STANDARD",
11173
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11283
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11174
11284
  # },
11175
11285
  # ],
11176
11286
  # }
11177
11287
  #
11178
- # @example Example: To list in-progress multipart uploads on a bucket
11288
+ # @example Example: List next set of multipart uploads when previous result is truncated
11179
11289
  #
11180
- # # The following example lists in-progress multipart uploads on a specific bucket.
11290
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11291
+ # # setup of multipart uploads.
11181
11292
  #
11182
11293
  # resp = client.list_multipart_uploads({
11183
11294
  # bucket: "examplebucket",
11295
+ # key_marker: "nextkeyfrompreviousresponse",
11296
+ # max_uploads: 2,
11297
+ # upload_id_marker: "valuefrompreviousresponse",
11184
11298
  # })
11185
11299
  #
11186
11300
  # resp.to_h outputs the following:
11187
11301
  # {
11302
+ # bucket: "acl1",
11303
+ # is_truncated: true,
11304
+ # key_marker: "",
11305
+ # max_uploads: 2,
11306
+ # next_key_marker: "someobjectkey",
11307
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11308
+ # upload_id_marker: "",
11188
11309
  # uploads: [
11189
11310
  # {
11190
11311
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11191
11312
  # initiator: {
11192
- # display_name: "display-name",
11313
+ # display_name: "ownder-display-name",
11193
11314
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11194
11315
  # },
11195
11316
  # key: "JavaFile",
11196
11317
  # owner: {
11197
- # display_name: "display-name",
11198
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11318
+ # display_name: "mohanataws",
11319
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11199
11320
  # },
11200
11321
  # storage_class: "STANDARD",
11201
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11322
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11202
11323
  # },
11203
11324
  # {
11204
11325
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11205
11326
  # initiator: {
11206
- # display_name: "display-name",
11327
+ # display_name: "ownder-display-name",
11207
11328
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11208
11329
  # },
11209
11330
  # key: "JavaFile",
11210
11331
  # owner: {
11211
- # display_name: "display-name",
11332
+ # display_name: "ownder-display-name",
11212
11333
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11213
11334
  # },
11214
11335
  # storage_class: "STANDARD",
11215
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11336
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11216
11337
  # },
11217
11338
  # ],
11218
11339
  # }
@@ -11266,7 +11387,7 @@ module Aws::S3
11266
11387
  req.send_request(options)
11267
11388
  end
11268
11389
 
11269
- # <note markdown="1"> This operation is not supported by directory buckets.
11390
+ # <note markdown="1"> This operation is not supported for directory buckets.
11270
11391
  #
11271
11392
  # </note>
11272
11393
  #
@@ -11505,7 +11626,7 @@ module Aws::S3
11505
11626
  req.send_request(options)
11506
11627
  end
11507
11628
 
11508
- # <note markdown="1"> This operation is not supported by directory buckets.
11629
+ # <note markdown="1"> This operation is not supported for directory buckets.
11509
11630
  #
11510
11631
  # </note>
11511
11632
  #
@@ -12399,7 +12520,7 @@ module Aws::S3
12399
12520
  req.send_request(options)
12400
12521
  end
12401
12522
 
12402
- # <note markdown="1"> This operation is not supported by directory buckets.
12523
+ # <note markdown="1"> This operation is not supported for directory buckets.
12403
12524
  #
12404
12525
  # </note>
12405
12526
  #
@@ -12498,7 +12619,7 @@ module Aws::S3
12498
12619
  req.send_request(options)
12499
12620
  end
12500
12621
 
12501
- # <note markdown="1"> This operation is not supported by directory buckets.
12622
+ # <note markdown="1"> This operation is not supported for directory buckets.
12502
12623
  #
12503
12624
  # </note>
12504
12625
  #
@@ -12589,7 +12710,6 @@ module Aws::S3
12589
12710
  # General Reference.
12590
12711
  #
12591
12712
  # </note>
12592
- #
12593
12713
  # For example, the following `x-amz-grant-write` header grants
12594
12714
  # create, overwrite, and delete objects permission to LogDelivery
12595
12715
  # group predefined by Amazon S3 and two Amazon Web Services accounts
@@ -12792,7 +12912,7 @@ module Aws::S3
12792
12912
  req.send_request(options)
12793
12913
  end
12794
12914
 
12795
- # <note markdown="1"> This operation is not supported by directory buckets.
12915
+ # <note markdown="1"> This operation is not supported for directory buckets.
12796
12916
  #
12797
12917
  # </note>
12798
12918
  #
@@ -12830,14 +12950,12 @@ module Aws::S3
12830
12950
  # * *Code: InvalidArgument*
12831
12951
  #
12832
12952
  # * *Cause: Invalid argument.*
12833
- #
12834
12953
  # * * *HTTP Error: HTTP 400 Bad Request*
12835
12954
  #
12836
12955
  # * *Code: TooManyConfigurations*
12837
12956
  #
12838
12957
  # * *Cause: You are attempting to create a new configuration but have
12839
12958
  # already reached the 1,000-configuration limit.*
12840
- #
12841
12959
  # * * *HTTP Error: HTTP 403 Forbidden*
12842
12960
  #
12843
12961
  # * *Code: AccessDenied*
@@ -12930,7 +13048,7 @@ module Aws::S3
12930
13048
  req.send_request(options)
12931
13049
  end
12932
13050
 
12933
- # <note markdown="1"> This operation is not supported by directory buckets.
13051
+ # <note markdown="1"> This operation is not supported for directory buckets.
12934
13052
  #
12935
13053
  # </note>
12936
13054
  #
@@ -13139,7 +13257,6 @@ module Aws::S3
13139
13257
  # encryption][3] to SSE-KMS, you should verify that your KMS key ID
13140
13258
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
13141
13259
  # PutBucketEncryption requests.
13142
- #
13143
13260
  # * <b>Directory buckets </b> - You can optionally configure default
13144
13261
  # encryption for a bucket by using server-side encryption with Key
13145
13262
  # Management Service (KMS) keys (SSE-KMS).
@@ -13338,7 +13455,7 @@ module Aws::S3
13338
13455
  req.send_request(options)
13339
13456
  end
13340
13457
 
13341
- # <note markdown="1"> This operation is not supported by directory buckets.
13458
+ # <note markdown="1"> This operation is not supported for directory buckets.
13342
13459
  #
13343
13460
  # </note>
13344
13461
  #
@@ -13463,7 +13580,7 @@ module Aws::S3
13463
13580
  req.send_request(options)
13464
13581
  end
13465
13582
 
13466
- # <note markdown="1"> This operation is not supported by directory buckets.
13583
+ # <note markdown="1"> This operation is not supported for directory buckets.
13467
13584
  #
13468
13585
  # </note>
13469
13586
  #
@@ -13615,15 +13732,15 @@ module Aws::S3
13615
13732
  req.send_request(options)
13616
13733
  end
13617
13734
 
13618
- # <note markdown="1"> This operation is not supported by directory buckets.
13619
- #
13620
- # </note>
13621
- #
13622
13735
  # For an updated version of this API, see
13623
13736
  # [PutBucketLifecycleConfiguration][1]. This version has been
13624
13737
  # deprecated. Existing lifecycle configurations will work. For new
13625
13738
  # lifecycle configurations, use the updated API.
13626
13739
  #
13740
+ # <note markdown="1"> This operation is not supported for directory buckets.
13741
+ #
13742
+ # </note>
13743
+ #
13627
13744
  # Creates a new lifecycle configuration for the bucket or replaces an
13628
13745
  # existing lifecycle configuration. For information about lifecycle
13629
13746
  # configuration, see [Object Lifecycle Management][2] in the *Amazon S3
@@ -13766,10 +13883,6 @@ module Aws::S3
13766
13883
  req.send_request(options)
13767
13884
  end
13768
13885
 
13769
- # <note markdown="1"> This operation is not supported by directory buckets.
13770
- #
13771
- # </note>
13772
- #
13773
13886
  # Creates a new lifecycle configuration for the bucket or replaces an
13774
13887
  # existing lifecycle configuration. Keep in mind that this will
13775
13888
  # overwrite an existing lifecycle configuration, so if you want to
@@ -13778,6 +13891,8 @@ module Aws::S3
13778
13891
  # configuration, see [Managing your storage lifecycle][1].
13779
13892
  #
13780
13893
  # Rules
13894
+ # Permissions
13895
+ # HTTP Host header syntax
13781
13896
  #
13782
13897
  # : You specify the lifecycle configuration in your request body. The
13783
13898
  # lifecycle configuration is specified as XML consisting of one or
@@ -13789,8 +13904,14 @@ module Aws::S3
13789
13904
  # size, or any combination of these. Accordingly, this section
13790
13905
  # describes the latest API. The previous version of the API supported
13791
13906
  # filtering based only on an object key name prefix, which is
13792
- # supported for backward compatibility. For the related API
13793
- # description, see [PutBucketLifecycle][2].
13907
+ # supported for backward compatibility for general purpose buckets.
13908
+ # For the related API description, see [PutBucketLifecycle][2].
13909
+ #
13910
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
13911
+ # objects and cancelling multipart uploads. Expiring of versioned
13912
+ # objects,transitions and tag filters are not supported.
13913
+ #
13914
+ # </note>
13794
13915
  #
13795
13916
  # A lifecycle rule consists of the following:
13796
13917
  #
@@ -13810,40 +13931,61 @@ module Aws::S3
13810
13931
  #
13811
13932
  # For more information, see [Object Lifecycle Management][3] and
13812
13933
  # [Lifecycle Configuration Elements][4].
13934
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
13935
+ # resources are private, including buckets, objects, and related
13936
+ # subresources (for example, lifecycle configuration and website
13937
+ # configuration). Only the resource owner (that is, the Amazon Web
13938
+ # Services account that created it) can access the resource. The
13939
+ # resource owner can optionally grant access permissions to others
13940
+ # by writing an access policy. For this operation, a user must have
13941
+ # the `s3:PutLifecycleConfiguration` permission.
13813
13942
  #
13814
- # Permissions
13943
+ # You can also explicitly deny permissions. An explicit deny also
13944
+ # supersedes any other permissions. If you want to block users or
13945
+ # accounts from removing or deleting objects from your bucket, you
13946
+ # must deny them permissions for the following actions:
13947
+ #
13948
+ # * `s3:DeleteObject`
13815
13949
  #
13816
- # : By default, all Amazon S3 resources are private, including buckets,
13817
- # objects, and related subresources (for example, lifecycle
13818
- # configuration and website configuration). Only the resource owner
13819
- # (that is, the Amazon Web Services account that created it) can
13820
- # access the resource. The resource owner can optionally grant access
13821
- # permissions to others by writing an access policy. For this
13822
- # operation, a user must get the `s3:PutLifecycleConfiguration`
13823
- # permission.
13950
+ # * `s3:DeleteObjectVersion`
13824
13951
  #
13825
- # You can also explicitly deny permissions. An explicit deny also
13826
- # supersedes any other permissions. If you want to block users or
13827
- # accounts from removing or deleting objects from your bucket, you
13828
- # must deny them permissions for the following actions:
13952
+ # * `s3:PutLifecycleConfiguration`
13829
13953
  #
13830
- # * `s3:DeleteObject`
13954
+ # For more information about permissions, see [Managing Access
13955
+ # Permissions to Your Amazon S3 Resources][5].
13956
+ # ^
13831
13957
  #
13832
- # * `s3:DeleteObjectVersion`
13958
+ # * **Directory bucket permissions** - You must have the
13959
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
13960
+ # identity-based policy to use this operation. Cross-account access
13961
+ # to this API operation isn't supported. The resource owner can
13962
+ # optionally grant access permissions to others by creating a role
13963
+ # or user for them as long as they are within the same account as
13964
+ # the owner and resource.
13965
+ #
13966
+ # For more information about directory bucket policies and
13967
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][6]
13968
+ # in the *Amazon S3 User Guide*.
13833
13969
  #
13834
- # * `s3:PutLifecycleConfiguration`
13970
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13971
+ # requests for this API operation to the Regional endpoint. These
13972
+ # endpoints support path-style requests in the format
13973
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
13974
+ # `. Virtual-hosted-style requests aren't supported. For more
13975
+ # information, see [Regional and Zonal endpoints][7] in the *Amazon
13976
+ # S3 User Guide*.
13835
13977
  #
13836
- # For more information about permissions, see [Managing Access
13837
- # Permissions to Your Amazon S3 Resources][5].
13978
+ # </note>
13838
13979
  #
13839
- # The following operations are related to
13840
- # `PutBucketLifecycleConfiguration`:
13980
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
13981
+ # `s3express-control.region.amazonaws.com`.
13841
13982
  #
13842
- # * [Examples of Lifecycle Configuration][6]
13983
+ # The following operations are related to
13984
+ # `PutBucketLifecycleConfiguration`:
13843
13985
  #
13844
- # * [GetBucketLifecycleConfiguration][7]
13986
+ # * [GetBucketLifecycleConfiguration][8]
13845
13987
  #
13846
- # * [DeleteBucketLifecycle][8]
13988
+ # * [DeleteBucketLifecycle][9]
13847
13989
  #
13848
13990
  #
13849
13991
  #
@@ -13852,9 +13994,10 @@ module Aws::S3
13852
13994
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13853
13995
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
13854
13996
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13855
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
13856
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
13857
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
13997
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
13998
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
13999
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14000
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
13858
14001
  #
13859
14002
  # @option params [required, String] :bucket
13860
14003
  # The name of the bucket for which to set the configuration.
@@ -13883,10 +14026,20 @@ module Aws::S3
13883
14026
  # you provide does not match the actual owner of the bucket, the request
13884
14027
  # fails with the HTTP status code `403 Forbidden` (access denied).
13885
14028
  #
14029
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14030
+ # supported for directory bucket lifecycle configurations.
14031
+ #
14032
+ # </note>
14033
+ #
13886
14034
  # @option params [String] :transition_default_minimum_object_size
13887
14035
  # Indicates which default minimum object size behavior is applied to the
13888
14036
  # lifecycle configuration.
13889
14037
  #
14038
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14039
+ # supported for directory bucket lifecycle configurations.
14040
+ #
14041
+ # </note>
14042
+ #
13890
14043
  # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
13891
14044
  # transition to any storage class by default.
13892
14045
  #
@@ -14010,7 +14163,7 @@ module Aws::S3
14010
14163
  req.send_request(options)
14011
14164
  end
14012
14165
 
14013
- # <note markdown="1"> This operation is not supported by directory buckets.
14166
+ # <note markdown="1"> This operation is not supported for directory buckets.
14014
14167
  #
14015
14168
  # </note>
14016
14169
  #
@@ -14193,7 +14346,7 @@ module Aws::S3
14193
14346
  req.send_request(options)
14194
14347
  end
14195
14348
 
14196
- # <note markdown="1"> This operation is not supported by directory buckets.
14349
+ # <note markdown="1"> This operation is not supported for directory buckets.
14197
14350
  #
14198
14351
  # </note>
14199
14352
  #
@@ -14297,7 +14450,7 @@ module Aws::S3
14297
14450
  req.send_request(options)
14298
14451
  end
14299
14452
 
14300
- # <note markdown="1"> This operation is not supported by directory buckets.
14453
+ # <note markdown="1"> This operation is not supported for directory buckets.
14301
14454
  #
14302
14455
  # </note>
14303
14456
  #
@@ -14383,7 +14536,7 @@ module Aws::S3
14383
14536
  req.send_request(options)
14384
14537
  end
14385
14538
 
14386
- # <note markdown="1"> This operation is not supported by directory buckets.
14539
+ # <note markdown="1"> This operation is not supported for directory buckets.
14387
14540
  #
14388
14541
  # </note>
14389
14542
  #
@@ -14567,7 +14720,7 @@ module Aws::S3
14567
14720
  req.send_request(options)
14568
14721
  end
14569
14722
 
14570
- # <note markdown="1"> This operation is not supported by directory buckets.
14723
+ # <note markdown="1"> This operation is not supported for directory buckets.
14571
14724
  #
14572
14725
  # </note>
14573
14726
  #
@@ -14836,7 +14989,7 @@ module Aws::S3
14836
14989
  req.send_request(options)
14837
14990
  end
14838
14991
 
14839
- # <note markdown="1"> This operation is not supported by directory buckets.
14992
+ # <note markdown="1"> This operation is not supported for directory buckets.
14840
14993
  #
14841
14994
  # </note>
14842
14995
  #
@@ -15074,7 +15227,7 @@ module Aws::S3
15074
15227
  req.send_request(options)
15075
15228
  end
15076
15229
 
15077
- # <note markdown="1"> This operation is not supported by directory buckets.
15230
+ # <note markdown="1"> This operation is not supported for directory buckets.
15078
15231
  #
15079
15232
  # </note>
15080
15233
  #
@@ -15171,7 +15324,7 @@ module Aws::S3
15171
15324
  req.send_request(options)
15172
15325
  end
15173
15326
 
15174
- # <note markdown="1"> This operation is not supported by directory buckets.
15327
+ # <note markdown="1"> This operation is not supported for directory buckets.
15175
15328
  #
15176
15329
  # </note>
15177
15330
  #
@@ -15322,7 +15475,7 @@ module Aws::S3
15322
15475
  req.send_request(options)
15323
15476
  end
15324
15477
 
15325
- # <note markdown="1"> This operation is not supported by directory buckets.
15478
+ # <note markdown="1"> This operation is not supported for directory buckets.
15326
15479
  #
15327
15480
  # </note>
15328
15481
  #
@@ -15461,7 +15614,7 @@ module Aws::S3
15461
15614
  req.send_request(options)
15462
15615
  end
15463
15616
 
15464
- # <note markdown="1"> This operation is not supported by directory buckets.
15617
+ # <note markdown="1"> This operation is not supported for directory buckets.
15465
15618
  #
15466
15619
  # </note>
15467
15620
  #
@@ -15711,7 +15864,6 @@ module Aws::S3
15711
15864
  # * <b> <code>s3:PutObjectTagging</code> </b> - To successfully set
15712
15865
  # the tag-set with your `PutObject` request, you must have the
15713
15866
  # `s3:PutObjectTagging`.
15714
- #
15715
15867
  # * **Directory bucket permissions** - To grant access to this API
15716
15868
  # operation on a directory bucket, we recommend that you use the [
15717
15869
  # `CreateSession` ][5] API operation for session-based
@@ -16080,6 +16232,17 @@ module Aws::S3
16080
16232
  # @option params [required, String] :key
16081
16233
  # Object key for which the PUT action was initiated.
16082
16234
  #
16235
+ # @option params [Integer] :write_offset_bytes
16236
+ # Specifies the offset for appending data to existing objects in bytes.
16237
+ # The offset must be equal to the size of the existing object being
16238
+ # appended to. If no object exists, setting this header to 0 will create
16239
+ # a new object.
16240
+ #
16241
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
16242
+ # Express One Zone storage class in directory buckets.
16243
+ #
16244
+ # </note>
16245
+ #
16083
16246
  # @option params [Hash<String,String>] :metadata
16084
16247
  # A map of metadata to store with the object in S3.
16085
16248
  #
@@ -16382,6 +16545,7 @@ module Aws::S3
16382
16545
  # * {Types::PutObjectOutput#ssekms_key_id #ssekms_key_id} => String
16383
16546
  # * {Types::PutObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
16384
16547
  # * {Types::PutObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
16548
+ # * {Types::PutObjectOutput#size #size} => Integer
16385
16549
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16386
16550
  #
16387
16551
  #
@@ -16421,24 +16585,21 @@ module Aws::S3
16421
16585
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16422
16586
  # }
16423
16587
  #
16424
- # @example Example: To upload an object and specify server-side encryption and object tags
16588
+ # @example Example: To upload an object
16425
16589
  #
16426
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16427
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16590
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16591
+ # # syntax. S3 returns VersionId of the newly created object.
16428
16592
  #
16429
16593
  # resp = client.put_object({
16430
- # body: "filetoupload",
16594
+ # body: "HappyFace.jpg",
16431
16595
  # bucket: "examplebucket",
16432
- # key: "exampleobject",
16433
- # server_side_encryption: "AES256",
16434
- # tagging: "key1=value1&key2=value2",
16596
+ # key: "HappyFace.jpg",
16435
16597
  # })
16436
16598
  #
16437
16599
  # resp.to_h outputs the following:
16438
16600
  # {
16439
16601
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16440
- # server_side_encryption: "AES256",
16441
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16602
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16442
16603
  # }
16443
16604
  #
16444
16605
  # @example Example: To upload object and specify user-defined metadata
@@ -16462,57 +16623,60 @@ module Aws::S3
16462
16623
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16463
16624
  # }
16464
16625
  #
16465
- # @example Example: To upload an object (specify optional headers)
16626
+ # @example Example: To create an object.
16466
16627
  #
16467
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
16468
- # # storage class and use server-side encryption.
16628
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16469
16629
  #
16470
16630
  # resp = client.put_object({
16471
- # body: "HappyFace.jpg",
16631
+ # body: "filetoupload",
16472
16632
  # bucket: "examplebucket",
16473
- # key: "HappyFace.jpg",
16474
- # server_side_encryption: "AES256",
16475
- # storage_class: "STANDARD_IA",
16633
+ # key: "objectkey",
16476
16634
  # })
16477
16635
  #
16478
16636
  # resp.to_h outputs the following:
16479
16637
  # {
16480
16638
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16481
- # server_side_encryption: "AES256",
16482
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16639
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16483
16640
  # }
16484
16641
  #
16485
- # @example Example: To create an object.
16642
+ # @example Example: To upload an object (specify optional headers)
16486
16643
  #
16487
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16644
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
16645
+ # # storage class and use server-side encryption.
16488
16646
  #
16489
16647
  # resp = client.put_object({
16490
- # body: "filetoupload",
16648
+ # body: "HappyFace.jpg",
16491
16649
  # bucket: "examplebucket",
16492
- # key: "objectkey",
16650
+ # key: "HappyFace.jpg",
16651
+ # server_side_encryption: "AES256",
16652
+ # storage_class: "STANDARD_IA",
16493
16653
  # })
16494
16654
  #
16495
16655
  # resp.to_h outputs the following:
16496
16656
  # {
16497
16657
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16498
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16658
+ # server_side_encryption: "AES256",
16659
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16499
16660
  # }
16500
16661
  #
16501
- # @example Example: To upload an object
16662
+ # @example Example: To upload an object and specify server-side encryption and object tags
16502
16663
  #
16503
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16504
- # # syntax. S3 returns VersionId of the newly created object.
16664
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16665
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16505
16666
  #
16506
16667
  # resp = client.put_object({
16507
- # body: "HappyFace.jpg",
16668
+ # body: "filetoupload",
16508
16669
  # bucket: "examplebucket",
16509
- # key: "HappyFace.jpg",
16670
+ # key: "exampleobject",
16671
+ # server_side_encryption: "AES256",
16672
+ # tagging: "key1=value1&key2=value2",
16510
16673
  # })
16511
16674
  #
16512
16675
  # resp.to_h outputs the following:
16513
16676
  # {
16514
16677
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16515
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16678
+ # server_side_encryption: "AES256",
16679
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16516
16680
  # }
16517
16681
  #
16518
16682
  # @example Streaming a file from disk
@@ -16546,6 +16710,7 @@ module Aws::S3
16546
16710
  # grant_read_acp: "GrantReadACP",
16547
16711
  # grant_write_acp: "GrantWriteACP",
16548
16712
  # key: "ObjectKey", # required
16713
+ # write_offset_bytes: 1,
16549
16714
  # metadata: {
16550
16715
  # "MetadataKey" => "MetadataValue",
16551
16716
  # },
@@ -16581,6 +16746,7 @@ module Aws::S3
16581
16746
  # resp.ssekms_key_id #=> String
16582
16747
  # resp.ssekms_encryption_context #=> String
16583
16748
  # resp.bucket_key_enabled #=> Boolean
16749
+ # resp.size #=> Integer
16584
16750
  # resp.request_charged #=> String, one of "requester"
16585
16751
  #
16586
16752
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject AWS API Documentation
@@ -16592,7 +16758,7 @@ module Aws::S3
16592
16758
  req.send_request(options)
16593
16759
  end
16594
16760
 
16595
- # <note markdown="1"> This operation is not supported by directory buckets.
16761
+ # <note markdown="1"> This operation is not supported for directory buckets.
16596
16762
  #
16597
16763
  # </note>
16598
16764
  #
@@ -16676,7 +16842,6 @@ module Aws::S3
16676
16842
  # General Reference.
16677
16843
  #
16678
16844
  # </note>
16679
- #
16680
16845
  # For example, the following `x-amz-grant-read` header grants list
16681
16846
  # objects permission to the two Amazon Web Services accounts
16682
16847
  # identified by their email addresses.
@@ -16962,7 +17127,7 @@ module Aws::S3
16962
17127
  req.send_request(options)
16963
17128
  end
16964
17129
 
16965
- # <note markdown="1"> This operation is not supported by directory buckets.
17130
+ # <note markdown="1"> This operation is not supported for directory buckets.
16966
17131
  #
16967
17132
  # </note>
16968
17133
  #
@@ -17081,7 +17246,7 @@ module Aws::S3
17081
17246
  req.send_request(options)
17082
17247
  end
17083
17248
 
17084
- # <note markdown="1"> This operation is not supported by directory buckets.
17249
+ # <note markdown="1"> This operation is not supported for directory buckets.
17085
17250
  #
17086
17251
  # </note>
17087
17252
  #
@@ -17200,7 +17365,7 @@ module Aws::S3
17200
17365
  req.send_request(options)
17201
17366
  end
17202
17367
 
17203
- # <note markdown="1"> This operation is not supported by directory buckets.
17368
+ # <note markdown="1"> This operation is not supported for directory buckets.
17204
17369
  #
17205
17370
  # </note>
17206
17371
  #
@@ -17329,7 +17494,7 @@ module Aws::S3
17329
17494
  req.send_request(options)
17330
17495
  end
17331
17496
 
17332
- # <note markdown="1"> This operation is not supported by directory buckets.
17497
+ # <note markdown="1"> This operation is not supported for directory buckets.
17333
17498
  #
17334
17499
  # </note>
17335
17500
  #
@@ -17528,7 +17693,7 @@ module Aws::S3
17528
17693
  req.send_request(options)
17529
17694
  end
17530
17695
 
17531
- # <note markdown="1"> This operation is not supported by directory buckets.
17696
+ # <note markdown="1"> This operation is not supported for directory buckets.
17532
17697
  #
17533
17698
  # </note>
17534
17699
  #
@@ -17636,7 +17801,7 @@ module Aws::S3
17636
17801
  req.send_request(options)
17637
17802
  end
17638
17803
 
17639
- # <note markdown="1"> This operation is not supported by directory buckets.
17804
+ # <note markdown="1"> This operation is not supported for directory buckets.
17640
17805
  #
17641
17806
  # </note>
17642
17807
  #
@@ -17782,7 +17947,6 @@ module Aws::S3
17782
17947
  # * *HTTP Status Code: 409 Conflict*
17783
17948
  #
17784
17949
  # * *SOAP Fault Code Prefix: Client*
17785
- #
17786
17950
  # * * *Code: GlacierExpeditedRetrievalNotAvailable*
17787
17951
  #
17788
17952
  # * *Cause: expedited retrievals are currently not available. Try
@@ -18021,7 +18185,7 @@ module Aws::S3
18021
18185
  req.send_request(options)
18022
18186
  end
18023
18187
 
18024
- # <note markdown="1"> This operation is not supported by directory buckets.
18188
+ # <note markdown="1"> This operation is not supported for directory buckets.
18025
18189
  #
18026
18190
  # </note>
18027
18191
  #
@@ -18569,7 +18733,6 @@ module Aws::S3
18569
18733
  # * x-amz-server-side-encryption-customer-key
18570
18734
  #
18571
18735
  # * x-amz-server-side-encryption-customer-key-MD5
18572
- #
18573
18736
  # For more information, see [Using Server-Side Encryption][11] in
18574
18737
  # the *Amazon S3 User Guide*.
18575
18738
  #
@@ -18970,7 +19133,6 @@ module Aws::S3
18970
19133
  # permissions required to use the multipart upload API, see
18971
19134
  # [Multipart upload and permissions][8] and [Multipart upload API
18972
19135
  # and permissions][9] in the *Amazon S3 User Guide*.
18973
- #
18974
19136
  # * **Directory bucket permissions** - You must have permissions in a
18975
19137
  # bucket policy or an IAM identity-based policy based on the source
18976
19138
  # and destination bucket types in an `UploadPartCopy` operation.
@@ -18988,7 +19150,6 @@ module Aws::S3
18988
19150
  # `Action` element of a policy to write the object to the
18989
19151
  # destination. The `s3express:SessionMode` condition key cannot be
18990
19152
  # set to `ReadOnly` on the copy destination.
18991
- #
18992
19153
  # If the object is encrypted with SSE-KMS, you must also have the
18993
19154
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
18994
19155
  # identity-based policies and KMS key policies for the KMS key.
@@ -19033,7 +19194,6 @@ module Aws::S3
19033
19194
  # been aborted or completed.
19034
19195
  #
19035
19196
  # * HTTP Status Code: 404 Not Found
19036
- #
19037
19197
  # * Error Code: `InvalidRequest`
19038
19198
  #
19039
19199
  # * Description: The specified copy source is not supported as a
@@ -19457,7 +19617,7 @@ module Aws::S3
19457
19617
  req.send_request(options)
19458
19618
  end
19459
19619
 
19460
- # <note markdown="1"> This operation is not supported by directory buckets.
19620
+ # <note markdown="1"> This operation is not supported for directory buckets.
19461
19621
  #
19462
19622
  # </note>
19463
19623
  #
@@ -19866,7 +20026,7 @@ module Aws::S3
19866
20026
  tracer: tracer
19867
20027
  )
19868
20028
  context[:gem_name] = 'aws-sdk-s3'
19869
- context[:gem_version] = '1.171.0'
20029
+ context[:gem_version] = '1.173.0'
19870
20030
  Seahorse::Client::Request.new(handlers, context)
19871
20031
  end
19872
20032