aws-sdk-s3 1.171.0 → 1.173.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.
@@ -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