aws-sdk-s3 1.171.0 → 1.174.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
@@ -1012,6 +1022,27 @@ module Aws::S3
1012
1022
  # you provide does not match the actual owner of the bucket, the request
1013
1023
  # fails with the HTTP status code `403 Forbidden` (access denied).
1014
1024
  #
1025
+ # @option params [String] :if_match
1026
+ # Uploads the object only if the ETag (entity tag) value provided during
1027
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
1028
+ # values do not match, the operation returns a `412 Precondition Failed`
1029
+ # error.
1030
+ #
1031
+ # If a conflicting operation occurs during the upload S3 returns a `409
1032
+ # ConditionalRequestConflict` response. On a 409 failure you should
1033
+ # fetch the object's ETag, re-initiate the multipart upload with
1034
+ # `CreateMultipartUpload`, and re-upload each part.
1035
+ #
1036
+ # Expects the ETag value as a string.
1037
+ #
1038
+ # For more information about conditional requests, see [RFC 7232][1], or
1039
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
1040
+ #
1041
+ #
1042
+ #
1043
+ # [1]: https://tools.ietf.org/html/rfc7232
1044
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
1045
+ #
1015
1046
  # @option params [String] :if_none_match
1016
1047
  # Uploads the object only if the object key name does not already exist
1017
1048
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -1147,6 +1178,7 @@ module Aws::S3
1147
1178
  # checksum_sha256: "ChecksumSHA256",
1148
1179
  # request_payer: "requester", # accepts requester
1149
1180
  # expected_bucket_owner: "AccountId",
1181
+ # if_match: "IfMatch",
1150
1182
  # if_none_match: "IfNoneMatch",
1151
1183
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1152
1184
  # sse_customer_key: "SSECustomerKey",
@@ -1254,7 +1286,6 @@ module Aws::S3
1254
1286
  # * If the destination bucket is a general purpose bucket, you must
1255
1287
  # have <b> <code>s3:PutObject</code> </b> permission to write the
1256
1288
  # object copy to the destination bucket.
1257
- #
1258
1289
  # * **Directory bucket permissions** - You must have permissions in a
1259
1290
  # bucket policy or an IAM identity-based policy based on the source
1260
1291
  # and destination bucket types in a `CopyObject` operation.
@@ -1272,7 +1303,6 @@ module Aws::S3
1272
1303
  # `Action` element of a policy to write the object to the
1273
1304
  # destination. The `s3express:SessionMode` condition key can't be
1274
1305
  # set to `ReadOnly` on the copy destination bucket.
1275
- #
1276
1306
  # If the object is encrypted with SSE-KMS, you must also have the
1277
1307
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
1278
1308
  # identity-based policies and KMS key policies for the KMS key.
@@ -2309,7 +2339,6 @@ module Aws::S3
2309
2339
  # more information about S3 Block Public Access, see [Blocking
2310
2340
  # public access to your Amazon S3 storage ][6] in the *Amazon S3
2311
2341
  # User Guide*.
2312
- #
2313
2342
  # * **Directory bucket permissions** - You must have the
2314
2343
  # `s3express:CreateBucket` permission in an IAM identity-based
2315
2344
  # policy instead of a bucket policy. Cross-account access to this
@@ -2477,33 +2506,33 @@ module Aws::S3
2477
2506
  # * {Types::CreateBucketOutput#location #location} => String
2478
2507
  #
2479
2508
  #
2480
- # @example Example: To create a bucket in a specific region
2509
+ # @example Example: To create a bucket
2481
2510
  #
2482
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2511
+ # # The following example creates a bucket.
2483
2512
  #
2484
2513
  # resp = client.create_bucket({
2485
2514
  # bucket: "examplebucket",
2486
- # create_bucket_configuration: {
2487
- # location_constraint: "eu-west-1",
2488
- # },
2489
2515
  # })
2490
2516
  #
2491
2517
  # resp.to_h outputs the following:
2492
2518
  # {
2493
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2519
+ # location: "/examplebucket",
2494
2520
  # }
2495
2521
  #
2496
- # @example Example: To create a bucket
2522
+ # @example Example: To create a bucket in a specific region
2497
2523
  #
2498
- # # The following example creates a bucket.
2524
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2499
2525
  #
2500
2526
  # resp = client.create_bucket({
2501
2527
  # bucket: "examplebucket",
2528
+ # create_bucket_configuration: {
2529
+ # location_constraint: "eu-west-1",
2530
+ # },
2502
2531
  # })
2503
2532
  #
2504
2533
  # resp.to_h outputs the following:
2505
2534
  # {
2506
- # location: "/examplebucket",
2535
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2507
2536
  # }
2508
2537
  #
2509
2538
  # @example Request syntax with placeholder values
@@ -2660,7 +2689,6 @@ module Aws::S3
2660
2689
  # * `x-amz-server-side-encryption-aws-kms-key-id`
2661
2690
  #
2662
2691
  # * `x-amz-server-side-encryption-context`
2663
- #
2664
2692
  # <note markdown="1"> * If you specify `x-amz-server-side-encryption:aws:kms`, but
2665
2693
  # don't provide `x-amz-server-side-encryption-aws-kms-key-id`,
2666
2694
  # Amazon S3 uses the Amazon Web Services managed key (`aws/s3`
@@ -2706,12 +2734,10 @@ module Aws::S3
2706
2734
  # * `x-amz-server-side-encryption-customer-key`
2707
2735
  #
2708
2736
  # * `x-amz-server-side-encryption-customer-key-MD5`
2709
- #
2710
2737
  # For more information about server-side encryption with
2711
2738
  # customer-provided encryption keys (SSE-C), see [ Protecting data
2712
2739
  # using server-side encryption with customer-provided encryption
2713
2740
  # keys (SSE-C)][11] in the *Amazon S3 User Guide*.
2714
- #
2715
2741
  # * **Directory buckets** - For directory buckets, there are only two
2716
2742
  # supported options for server-side encryption: server-side
2717
2743
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
@@ -3885,7 +3911,7 @@ module Aws::S3
3885
3911
  req.send_request(options)
3886
3912
  end
3887
3913
 
3888
- # <note markdown="1"> This operation is not supported by directory buckets.
3914
+ # <note markdown="1"> This operation is not supported for directory buckets.
3889
3915
  #
3890
3916
  # </note>
3891
3917
  #
@@ -3951,7 +3977,7 @@ module Aws::S3
3951
3977
  req.send_request(options)
3952
3978
  end
3953
3979
 
3954
- # <note markdown="1"> This operation is not supported by directory buckets.
3980
+ # <note markdown="1"> This operation is not supported for directory buckets.
3955
3981
  #
3956
3982
  # </note>
3957
3983
  #
@@ -4115,7 +4141,7 @@ module Aws::S3
4115
4141
  req.send_request(options)
4116
4142
  end
4117
4143
 
4118
- # <note markdown="1"> This operation is not supported by directory buckets.
4144
+ # <note markdown="1"> This operation is not supported for directory buckets.
4119
4145
  #
4120
4146
  # </note>
4121
4147
  #
@@ -4182,7 +4208,7 @@ module Aws::S3
4182
4208
  req.send_request(options)
4183
4209
  end
4184
4210
 
4185
- # <note markdown="1"> This operation is not supported by directory buckets.
4211
+ # <note markdown="1"> This operation is not supported for directory buckets.
4186
4212
  #
4187
4213
  # </note>
4188
4214
  #
@@ -4247,38 +4273,71 @@ module Aws::S3
4247
4273
  req.send_request(options)
4248
4274
  end
4249
4275
 
4250
- # <note markdown="1"> This operation is not supported by directory buckets.
4251
- #
4252
- # </note>
4253
- #
4254
4276
  # Deletes the lifecycle configuration from the specified bucket. Amazon
4255
4277
  # S3 removes all the lifecycle configuration rules in the lifecycle
4256
4278
  # subresource associated with the bucket. Your objects never expire, and
4257
4279
  # Amazon S3 no longer automatically deletes any objects on the basis of
4258
4280
  # rules contained in the deleted lifecycle configuration.
4259
4281
  #
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.
4282
+ # Permissions
4283
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
4284
+ # resources are private, including buckets, objects, and related
4285
+ # subresources (for example, lifecycle configuration and website
4286
+ # configuration). Only the resource owner (that is, the Amazon Web
4287
+ # Services account that created it) can access the resource. The
4288
+ # resource owner can optionally grant access permissions to others
4289
+ # by writing an access policy. For this operation, a user must have
4290
+ # the `s3:PutLifecycleConfiguration` permission.
4291
+ #
4292
+ # For more information about permissions, see [Managing Access
4293
+ # Permissions to Your Amazon S3 Resources][1].
4294
+ # ^
4295
+ #
4296
+ # * **Directory bucket permissions** - You must have the
4297
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
4298
+ # identity-based policy to use this operation. Cross-account access
4299
+ # to this API operation isn't supported. The resource owner can
4300
+ # optionally grant access permissions to others by creating a role
4301
+ # or user for them as long as they are within the same account as
4302
+ # the owner and resource.
4303
+ #
4304
+ # For more information about directory bucket policies and
4305
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][2]
4306
+ # in the *Amazon S3 User Guide*.
4264
4307
  #
4265
- # There is usually some time lag before lifecycle configuration deletion
4266
- # is fully propagated to all the Amazon S3 systems.
4308
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4309
+ # requests for this API operation to the Regional endpoint. These
4310
+ # endpoints support path-style requests in the format
4311
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
4312
+ # `. Virtual-hosted-style requests aren't supported. For more
4313
+ # information, see [Regional and Zonal endpoints][3] in the *Amazon
4314
+ # S3 User Guide*.
4315
+ #
4316
+ # </note>
4317
+ # ^
4318
+ #
4319
+ # HTTP Host header syntax
4320
+ #
4321
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
4322
+ # `s3express-control.region.amazonaws.com`.
4267
4323
  #
4268
4324
  # For more information about the object expiration, see [Elements to
4269
- # Describe Lifecycle Actions][1].
4325
+ # Describe Lifecycle Actions][4].
4270
4326
  #
4271
4327
  # Related actions include:
4272
4328
  #
4273
- # * [PutBucketLifecycleConfiguration][2]
4329
+ # * [PutBucketLifecycleConfiguration][5]
4274
4330
  #
4275
- # * [GetBucketLifecycleConfiguration][3]
4331
+ # * [GetBucketLifecycleConfiguration][6]
4276
4332
  #
4277
4333
  #
4278
4334
  #
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
4335
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
4336
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4337
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4338
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4339
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4340
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4282
4341
  #
4283
4342
  # @option params [required, String] :bucket
4284
4343
  # The bucket name of the lifecycle to delete.
@@ -4288,6 +4347,11 @@ module Aws::S3
4288
4347
  # you provide does not match the actual owner of the bucket, the request
4289
4348
  # fails with the HTTP status code `403 Forbidden` (access denied).
4290
4349
  #
4350
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
4351
+ # supported for directory bucket lifecycle configurations.
4352
+ #
4353
+ # </note>
4354
+ #
4291
4355
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4292
4356
  #
4293
4357
  #
@@ -4315,7 +4379,7 @@ module Aws::S3
4315
4379
  req.send_request(options)
4316
4380
  end
4317
4381
 
4318
- # <note markdown="1"> This operation is not supported by directory buckets.
4382
+ # <note markdown="1"> This operation is not supported for directory buckets.
4319
4383
  #
4320
4384
  # </note>
4321
4385
  #
@@ -4385,7 +4449,7 @@ module Aws::S3
4385
4449
  req.send_request(options)
4386
4450
  end
4387
4451
 
4388
- # <note markdown="1"> This operation is not supported by directory buckets.
4452
+ # <note markdown="1"> This operation is not supported for directory buckets.
4389
4453
  #
4390
4454
  # </note>
4391
4455
  #
@@ -4559,7 +4623,7 @@ module Aws::S3
4559
4623
  req.send_request(options)
4560
4624
  end
4561
4625
 
4562
- # <note markdown="1"> This operation is not supported by directory buckets.
4626
+ # <note markdown="1"> This operation is not supported for directory buckets.
4563
4627
  #
4564
4628
  # </note>
4565
4629
  #
@@ -4629,7 +4693,7 @@ module Aws::S3
4629
4693
  req.send_request(options)
4630
4694
  end
4631
4695
 
4632
- # <note markdown="1"> This operation is not supported by directory buckets.
4696
+ # <note markdown="1"> This operation is not supported for directory buckets.
4633
4697
  #
4634
4698
  # </note>
4635
4699
  #
@@ -4685,7 +4749,7 @@ module Aws::S3
4685
4749
  req.send_request(options)
4686
4750
  end
4687
4751
 
4688
- # <note markdown="1"> This operation is not supported by directory buckets.
4752
+ # <note markdown="1"> This operation is not supported for directory buckets.
4689
4753
  #
4690
4754
  # </note>
4691
4755
  #
@@ -4805,7 +4869,6 @@ module Aws::S3
4805
4869
  # objects from your bucket, you must deny them the
4806
4870
  # `s3:DeleteObject`, `s3:DeleteObjectVersion`, and
4807
4871
  # `s3:PutLifeCycleConfiguration` permissions.
4808
- #
4809
4872
  # * **Directory buckets permissions** - To grant access to this API
4810
4873
  # operation on a directory bucket, we recommend that you use the
4811
4874
  # CreateSession API operation for session-based authorization.
@@ -4925,6 +4988,49 @@ module Aws::S3
4925
4988
  # you provide does not match the actual owner of the bucket, the request
4926
4989
  # fails with the HTTP status code `403 Forbidden` (access denied).
4927
4990
  #
4991
+ # @option params [String] :if_match
4992
+ # The `If-Match` header field makes the request method conditional on
4993
+ # ETags. If the ETag value does not match, the operation returns a `412
4994
+ # Precondition Failed` error. If the ETag matches or if the object
4995
+ # doesn't exist, the operation will return a `204 Success (No Content)
4996
+ # response`.
4997
+ #
4998
+ # For more information about conditional requests, see [RFC 7232][1].
4999
+ #
5000
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5001
+ #
5002
+ # </note>
5003
+ #
5004
+ #
5005
+ #
5006
+ # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
5007
+ #
5008
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
5009
+ # If present, the object is deleted only if its modification times
5010
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
5011
+ # match, the operation returns a `412 Precondition Failed` error. If the
5012
+ # `Timestamp` matches or if the object doesn’t exist, the operation
5013
+ # returns a `204 Success (No Content)` response.
5014
+ #
5015
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5016
+ #
5017
+ # </note>
5018
+ #
5019
+ # @option params [Integer] :if_match_size
5020
+ # If present, the object is deleted only if its size matches the
5021
+ # provided size in bytes. If the `Size` value does not match, the
5022
+ # operation returns a `412 Precondition Failed` error. If the `Size`
5023
+ # matches or if the object doesn’t exist, the operation returns a `204
5024
+ # Success (No Content)` response.
5025
+ #
5026
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5027
+ #
5028
+ # </note>
5029
+ #
5030
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
5031
+ # `x-amz-if-match-size` conditional headers in conjunction with
5032
+ # each-other or individually.
5033
+ #
4928
5034
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4929
5035
  #
4930
5036
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -4964,6 +5070,9 @@ module Aws::S3
4964
5070
  # request_payer: "requester", # accepts requester
4965
5071
  # bypass_governance_retention: false,
4966
5072
  # expected_bucket_owner: "AccountId",
5073
+ # if_match: "IfMatch",
5074
+ # if_match_last_modified_time: Time.now,
5075
+ # if_match_size: 1,
4967
5076
  # })
4968
5077
  #
4969
5078
  # @example Response structure
@@ -4981,7 +5090,7 @@ module Aws::S3
4981
5090
  req.send_request(options)
4982
5091
  end
4983
5092
 
4984
- # <note markdown="1"> This operation is not supported by directory buckets.
5093
+ # <note markdown="1"> This operation is not supported for directory buckets.
4985
5094
  #
4986
5095
  # </note>
4987
5096
  #
@@ -5164,7 +5273,6 @@ module Aws::S3
5164
5273
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
5165
5274
  # specific version of an object from a versioning-enabled bucket,
5166
5275
  # you must specify the `s3:DeleteObjectVersion` permission.
5167
- #
5168
5276
  # * **Directory bucket permissions** - To grant access to this API
5169
5277
  # operation on a directory bucket, we recommend that you use the [
5170
5278
  # `CreateSession` ][3] API operation for session-based
@@ -5363,20 +5471,22 @@ module Aws::S3
5363
5471
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5364
5472
  #
5365
5473
  #
5366
- # @example Example: To delete multiple objects from a versioned bucket
5474
+ # @example Example: To delete multiple object versions from a versioned bucket
5367
5475
  #
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.
5476
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5477
+ # # versions and returns the key and versions of deleted objects in the response.
5370
5478
  #
5371
5479
  # resp = client.delete_objects({
5372
5480
  # bucket: "examplebucket",
5373
5481
  # delete: {
5374
5482
  # objects: [
5375
5483
  # {
5376
- # key: "objectkey1",
5484
+ # key: "HappyFace.jpg",
5485
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5377
5486
  # },
5378
5487
  # {
5379
- # key: "objectkey2",
5488
+ # key: "HappyFace.jpg",
5489
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5380
5490
  # },
5381
5491
  # ],
5382
5492
  # quiet: false,
@@ -5387,34 +5497,30 @@ module Aws::S3
5387
5497
  # {
5388
5498
  # deleted: [
5389
5499
  # {
5390
- # delete_marker: true,
5391
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5392
- # key: "objectkey1",
5500
+ # key: "HappyFace.jpg",
5501
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5393
5502
  # },
5394
5503
  # {
5395
- # delete_marker: true,
5396
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5397
- # key: "objectkey2",
5504
+ # key: "HappyFace.jpg",
5505
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5398
5506
  # },
5399
5507
  # ],
5400
5508
  # }
5401
5509
  #
5402
- # @example Example: To delete multiple object versions from a versioned bucket
5510
+ # @example Example: To delete multiple objects from a versioned bucket
5403
5511
  #
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.
5512
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5513
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5406
5514
  #
5407
5515
  # resp = client.delete_objects({
5408
5516
  # bucket: "examplebucket",
5409
5517
  # delete: {
5410
5518
  # objects: [
5411
5519
  # {
5412
- # key: "HappyFace.jpg",
5413
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5520
+ # key: "objectkey1",
5414
5521
  # },
5415
5522
  # {
5416
- # key: "HappyFace.jpg",
5417
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5523
+ # key: "objectkey2",
5418
5524
  # },
5419
5525
  # ],
5420
5526
  # quiet: false,
@@ -5425,12 +5531,14 @@ module Aws::S3
5425
5531
  # {
5426
5532
  # deleted: [
5427
5533
  # {
5428
- # key: "HappyFace.jpg",
5429
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5534
+ # delete_marker: true,
5535
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5536
+ # key: "objectkey1",
5430
5537
  # },
5431
5538
  # {
5432
- # key: "HappyFace.jpg",
5433
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5539
+ # delete_marker: true,
5540
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5541
+ # key: "objectkey2",
5434
5542
  # },
5435
5543
  # ],
5436
5544
  # }
@@ -5444,6 +5552,9 @@ module Aws::S3
5444
5552
  # {
5445
5553
  # key: "ObjectKey", # required
5446
5554
  # version_id: "ObjectVersionId",
5555
+ # etag: "ETag",
5556
+ # last_modified_time: Time.now,
5557
+ # size: 1,
5447
5558
  # },
5448
5559
  # ],
5449
5560
  # quiet: false,
@@ -5478,7 +5589,7 @@ module Aws::S3
5478
5589
  req.send_request(options)
5479
5590
  end
5480
5591
 
5481
- # <note markdown="1"> This operation is not supported by directory buckets.
5592
+ # <note markdown="1"> This operation is not supported for directory buckets.
5482
5593
  #
5483
5594
  # </note>
5484
5595
  #
@@ -5535,7 +5646,7 @@ module Aws::S3
5535
5646
  req.send_request(options)
5536
5647
  end
5537
5648
 
5538
- # <note markdown="1"> This operation is not supported by directory buckets.
5649
+ # <note markdown="1"> This operation is not supported for directory buckets.
5539
5650
  #
5540
5651
  # </note>
5541
5652
  #
@@ -5631,7 +5742,7 @@ module Aws::S3
5631
5742
  req.send_request(options)
5632
5743
  end
5633
5744
 
5634
- # <note markdown="1"> This operation is not supported by directory buckets.
5745
+ # <note markdown="1"> This operation is not supported for directory buckets.
5635
5746
  #
5636
5747
  # </note>
5637
5748
  #
@@ -5727,7 +5838,7 @@ module Aws::S3
5727
5838
  req.send_request(options)
5728
5839
  end
5729
5840
 
5730
- # <note markdown="1"> This operation is not supported by directory buckets.
5841
+ # <note markdown="1"> This operation is not supported for directory buckets.
5731
5842
  #
5732
5843
  # </note>
5733
5844
  #
@@ -5813,7 +5924,7 @@ module Aws::S3
5813
5924
  req.send_request(options)
5814
5925
  end
5815
5926
 
5816
- # <note markdown="1"> This operation is not supported by directory buckets.
5927
+ # <note markdown="1"> This operation is not supported for directory buckets.
5817
5928
  #
5818
5929
  # </note>
5819
5930
  #
@@ -6046,7 +6157,7 @@ module Aws::S3
6046
6157
  req.send_request(options)
6047
6158
  end
6048
6159
 
6049
- # <note markdown="1"> This operation is not supported by directory buckets.
6160
+ # <note markdown="1"> This operation is not supported for directory buckets.
6050
6161
  #
6051
6162
  # </note>
6052
6163
  #
@@ -6130,7 +6241,7 @@ module Aws::S3
6130
6241
  req.send_request(options)
6131
6242
  end
6132
6243
 
6133
- # <note markdown="1"> This operation is not supported by directory buckets.
6244
+ # <note markdown="1"> This operation is not supported for directory buckets.
6134
6245
  #
6135
6246
  # </note>
6136
6247
  #
@@ -6219,7 +6330,7 @@ module Aws::S3
6219
6330
  # version of this topic. This topic is provided for backward
6220
6331
  # compatibility.
6221
6332
  #
6222
- # <note markdown="1"> This operation is not supported by directory buckets.
6333
+ # <note markdown="1"> This operation is not supported for directory buckets.
6223
6334
  #
6224
6335
  # </note>
6225
6336
  #
@@ -6331,34 +6442,65 @@ module Aws::S3
6331
6442
  req.send_request(options)
6332
6443
  end
6333
6444
 
6334
- # <note markdown="1"> This operation is not supported by directory buckets.
6335
- #
6336
- # </note>
6445
+ # Returns the lifecycle configuration information set on the bucket. For
6446
+ # information about lifecycle configuration, see [Object Lifecycle
6447
+ # Management][1].
6337
6448
  #
6338
- # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
6449
+ # Bucket lifecycle configuration now supports specifying a lifecycle
6339
6450
  # rule using an object key name prefix, one or more object tags, object
6340
6451
  # 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,
6452
+ # the latest API, which is compatible with the new functionality. The
6453
+ # previous version of the API supported filtering based only on an
6454
+ # object key name prefix, which is supported for general purpose buckets
6455
+ # for backward compatibility. For the related API description, see
6456
+ # [GetBucketLifecycle][2].
6457
+ #
6458
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
6459
+ # objects and cancelling multipart uploads. Expiring of versioned
6460
+ # objects, transitions and tag filters are not supported.
6349
6461
  #
6350
6462
  # </note>
6351
6463
  #
6352
- # Returns the lifecycle configuration information set on the bucket. For
6353
- # information about lifecycle configuration, see [Object Lifecycle
6354
- # Management][2].
6464
+ # Permissions
6465
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
6466
+ # resources are private, including buckets, objects, and related
6467
+ # subresources (for example, lifecycle configuration and website
6468
+ # configuration). Only the resource owner (that is, the Amazon Web
6469
+ # Services account that created it) can access the resource. The
6470
+ # resource owner can optionally grant access permissions to others
6471
+ # by writing an access policy. For this operation, a user must have
6472
+ # the `s3:GetLifecycleConfiguration` permission.
6473
+ #
6474
+ # For more information about permissions, see [Managing Access
6475
+ # Permissions to Your Amazon S3 Resources][3].
6476
+ # ^
6355
6477
  #
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].
6478
+ # * **Directory bucket permissions** - You must have the
6479
+ # `s3express:GetLifecycleConfiguration` permission in an IAM
6480
+ # identity-based policy to use this operation. Cross-account access
6481
+ # to this API operation isn't supported. The resource owner can
6482
+ # optionally grant access permissions to others by creating a role
6483
+ # or user for them as long as they are within the same account as
6484
+ # the owner and resource.
6485
+ #
6486
+ # For more information about directory bucket policies and
6487
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][4]
6488
+ # in the *Amazon S3 User Guide*.
6489
+ #
6490
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
6491
+ # requests for this API operation to the Regional endpoint. These
6492
+ # endpoints support path-style requests in the format
6493
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
6494
+ # `. Virtual-hosted-style requests aren't supported. For more
6495
+ # information, see [Regional and Zonal endpoints][5] in the *Amazon
6496
+ # S3 User Guide*.
6497
+ #
6498
+ # </note>
6499
+ #
6500
+ # HTTP Host header syntax
6501
+ #
6502
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
6503
+ # `s3express-control.region.amazonaws.com`.
6362
6504
  #
6363
6505
  # `GetBucketLifecycleConfiguration` has the following special error:
6364
6506
  #
@@ -6373,20 +6515,21 @@ module Aws::S3
6373
6515
  # The following operations are related to
6374
6516
  # `GetBucketLifecycleConfiguration`:
6375
6517
  #
6376
- # * [GetBucketLifecycle][1]
6518
+ # * [GetBucketLifecycle][2]
6377
6519
  #
6378
- # * [PutBucketLifecycle][5]
6520
+ # * [PutBucketLifecycle][6]
6379
6521
  #
6380
- # * [DeleteBucketLifecycle][6]
6522
+ # * [DeleteBucketLifecycle][7]
6381
6523
  #
6382
6524
  #
6383
6525
  #
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
6526
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6527
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6528
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6529
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6530
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
6531
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6532
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6390
6533
  #
6391
6534
  # @option params [required, String] :bucket
6392
6535
  # The name of the bucket for which to get the lifecycle information.
@@ -6396,6 +6539,11 @@ module Aws::S3
6396
6539
  # you provide does not match the actual owner of the bucket, the request
6397
6540
  # fails with the HTTP status code `403 Forbidden` (access denied).
6398
6541
  #
6542
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
6543
+ # supported for directory bucket lifecycle configurations.
6544
+ #
6545
+ # </note>
6546
+ #
6399
6547
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6400
6548
  #
6401
6549
  # * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array&lt;Types::LifecycleRule&gt;
@@ -6476,7 +6624,7 @@ module Aws::S3
6476
6624
  req.send_request(options)
6477
6625
  end
6478
6626
 
6479
- # <note markdown="1"> This operation is not supported by directory buckets.
6627
+ # <note markdown="1"> This operation is not supported for directory buckets.
6480
6628
  #
6481
6629
  # </note>
6482
6630
  #
@@ -6573,7 +6721,7 @@ module Aws::S3
6573
6721
  req.send_request(options)
6574
6722
  end
6575
6723
 
6576
- # <note markdown="1"> This operation is not supported by directory buckets.
6724
+ # <note markdown="1"> This operation is not supported for directory buckets.
6577
6725
  #
6578
6726
  # </note>
6579
6727
  #
@@ -6632,7 +6780,7 @@ module Aws::S3
6632
6780
  req.send_request(options)
6633
6781
  end
6634
6782
 
6635
- # <note markdown="1"> This operation is not supported by directory buckets.
6783
+ # <note markdown="1"> This operation is not supported for directory buckets.
6636
6784
  #
6637
6785
  # </note>
6638
6786
  #
@@ -6718,7 +6866,7 @@ module Aws::S3
6718
6866
  req.send_request(options)
6719
6867
  end
6720
6868
 
6721
- # <note markdown="1"> This operation is not supported by directory buckets.
6869
+ # <note markdown="1"> This operation is not supported for directory buckets.
6722
6870
  #
6723
6871
  # </note>
6724
6872
  #
@@ -6849,7 +6997,7 @@ module Aws::S3
6849
6997
  req.send_request(options)
6850
6998
  end
6851
6999
 
6852
- # <note markdown="1"> This operation is not supported by directory buckets.
7000
+ # <note markdown="1"> This operation is not supported for directory buckets.
6853
7001
  #
6854
7002
  # </note>
6855
7003
  #
@@ -6964,7 +7112,7 @@ module Aws::S3
6964
7112
  req.send_request(options)
6965
7113
  end
6966
7114
 
6967
- # <note markdown="1"> This operation is not supported by directory buckets.
7115
+ # <note markdown="1"> This operation is not supported for directory buckets.
6968
7116
  #
6969
7117
  # </note>
6970
7118
  #
@@ -7181,7 +7329,7 @@ module Aws::S3
7181
7329
  req.send_request(options, &block)
7182
7330
  end
7183
7331
 
7184
- # <note markdown="1"> This operation is not supported by directory buckets.
7332
+ # <note markdown="1"> This operation is not supported for directory buckets.
7185
7333
  #
7186
7334
  # </note>
7187
7335
  #
@@ -7246,7 +7394,7 @@ module Aws::S3
7246
7394
  req.send_request(options)
7247
7395
  end
7248
7396
 
7249
- # <note markdown="1"> This operation is not supported by directory buckets.
7397
+ # <note markdown="1"> This operation is not supported for directory buckets.
7250
7398
  #
7251
7399
  # </note>
7252
7400
  #
@@ -7369,7 +7517,7 @@ module Aws::S3
7369
7517
  req.send_request(options)
7370
7518
  end
7371
7519
 
7372
- # <note markdown="1"> This operation is not supported by directory buckets.
7520
+ # <note markdown="1"> This operation is not supported for directory buckets.
7373
7521
  #
7374
7522
  # </note>
7375
7523
  #
@@ -7435,7 +7583,7 @@ module Aws::S3
7435
7583
  req.send_request(options)
7436
7584
  end
7437
7585
 
7438
- # <note markdown="1"> This operation is not supported by directory buckets.
7586
+ # <note markdown="1"> This operation is not supported for directory buckets.
7439
7587
  #
7440
7588
  # </note>
7441
7589
  #
@@ -7521,7 +7669,7 @@ module Aws::S3
7521
7669
  req.send_request(options)
7522
7670
  end
7523
7671
 
7524
- # <note markdown="1"> This operation is not supported by directory buckets.
7672
+ # <note markdown="1"> This operation is not supported for directory buckets.
7525
7673
  #
7526
7674
  # </note>
7527
7675
  #
@@ -7598,7 +7746,7 @@ module Aws::S3
7598
7746
  req.send_request(options)
7599
7747
  end
7600
7748
 
7601
- # <note markdown="1"> This operation is not supported by directory buckets.
7749
+ # <note markdown="1"> This operation is not supported for directory buckets.
7602
7750
  #
7603
7751
  # </note>
7604
7752
  #
@@ -7744,7 +7892,6 @@ module Aws::S3
7744
7892
  #
7745
7893
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7746
7894
  # returns an HTTP status code `403 Access Denied` error.
7747
- #
7748
7895
  # * **Directory bucket permissions** - To grant access to this API
7749
7896
  # operation on a directory bucket, we recommend that you use the [
7750
7897
  # `CreateSession` ][4] API operation for session-based
@@ -8356,7 +8503,7 @@ module Aws::S3
8356
8503
  req.send_request(options, &block)
8357
8504
  end
8358
8505
 
8359
- # <note markdown="1"> This operation is not supported by directory buckets.
8506
+ # <note markdown="1"> This operation is not supported for directory buckets.
8360
8507
  #
8361
8508
  # </note>
8362
8509
  #
@@ -8578,7 +8725,6 @@ module Aws::S3
8578
8725
  # * If you don't have the `s3:ListBucket` permission, Amazon S3
8579
8726
  # returns an HTTP status code `403 Forbidden` ("access denied")
8580
8727
  # error.
8581
- #
8582
8728
  # * **Directory bucket permissions** - To grant access to this API
8583
8729
  # operation on a directory bucket, we recommend that you use the [
8584
8730
  # `CreateSession` ][3] API operation for session-based
@@ -8665,7 +8811,6 @@ module Aws::S3
8665
8811
  # * `If-Match` condition evaluates to `true`.
8666
8812
  #
8667
8813
  # * `If-Unmodified-Since` condition evaluates to `false`.
8668
- #
8669
8814
  # For more information about conditional requests, see [RFC
8670
8815
  # 7232][7].
8671
8816
  #
@@ -8676,7 +8821,6 @@ module Aws::S3
8676
8821
  # * `If-None-Match` condition evaluates to `false`.
8677
8822
  #
8678
8823
  # * `If-Modified-Since` condition evaluates to `true`.
8679
- #
8680
8824
  # For more information about conditional requests, see [RFC
8681
8825
  # 7232][7].
8682
8826
  #
@@ -8902,7 +9046,7 @@ module Aws::S3
8902
9046
  req.send_request(options)
8903
9047
  end
8904
9048
 
8905
- # <note markdown="1"> This operation is not supported by directory buckets.
9049
+ # <note markdown="1"> This operation is not supported for directory buckets.
8906
9050
  #
8907
9051
  # </note>
8908
9052
  #
@@ -8998,7 +9142,7 @@ module Aws::S3
8998
9142
  req.send_request(options)
8999
9143
  end
9000
9144
 
9001
- # <note markdown="1"> This operation is not supported by directory buckets.
9145
+ # <note markdown="1"> This operation is not supported for directory buckets.
9002
9146
  #
9003
9147
  # </note>
9004
9148
  #
@@ -9068,7 +9212,7 @@ module Aws::S3
9068
9212
  req.send_request(options)
9069
9213
  end
9070
9214
 
9071
- # <note markdown="1"> This operation is not supported by directory buckets.
9215
+ # <note markdown="1"> This operation is not supported for directory buckets.
9072
9216
  #
9073
9217
  # </note>
9074
9218
  #
@@ -9165,7 +9309,7 @@ module Aws::S3
9165
9309
  req.send_request(options)
9166
9310
  end
9167
9311
 
9168
- # <note markdown="1"> This operation is not supported by directory buckets.
9312
+ # <note markdown="1"> This operation is not supported for directory buckets.
9169
9313
  #
9170
9314
  # </note>
9171
9315
  #
@@ -9263,49 +9407,49 @@ module Aws::S3
9263
9407
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
9264
9408
  #
9265
9409
  #
9266
- # @example Example: To retrieve tag set of an object
9410
+ # @example Example: To retrieve tag set of a specific object version
9267
9411
  #
9268
- # # The following example retrieves tag set of an object.
9412
+ # # The following example retrieves tag set of an object. The request specifies object version.
9269
9413
  #
9270
9414
  # resp = client.get_object_tagging({
9271
9415
  # bucket: "examplebucket",
9272
- # key: "HappyFace.jpg",
9416
+ # key: "exampleobject",
9417
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9273
9418
  # })
9274
9419
  #
9275
9420
  # resp.to_h outputs the following:
9276
9421
  # {
9277
9422
  # tag_set: [
9278
9423
  # {
9279
- # key: "Key4",
9280
- # value: "Value4",
9281
- # },
9282
- # {
9283
- # key: "Key3",
9284
- # value: "Value3",
9424
+ # key: "Key1",
9425
+ # value: "Value1",
9285
9426
  # },
9286
9427
  # ],
9287
- # version_id: "null",
9428
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9288
9429
  # }
9289
9430
  #
9290
- # @example Example: To retrieve tag set of a specific object version
9431
+ # @example Example: To retrieve tag set of an object
9291
9432
  #
9292
- # # The following example retrieves tag set of an object. The request specifies object version.
9433
+ # # The following example retrieves tag set of an object.
9293
9434
  #
9294
9435
  # resp = client.get_object_tagging({
9295
9436
  # bucket: "examplebucket",
9296
- # key: "exampleobject",
9297
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9437
+ # key: "HappyFace.jpg",
9298
9438
  # })
9299
9439
  #
9300
9440
  # resp.to_h outputs the following:
9301
9441
  # {
9302
9442
  # tag_set: [
9303
9443
  # {
9304
- # key: "Key1",
9305
- # value: "Value1",
9444
+ # key: "Key4",
9445
+ # value: "Value4",
9446
+ # },
9447
+ # {
9448
+ # key: "Key3",
9449
+ # value: "Value3",
9306
9450
  # },
9307
9451
  # ],
9308
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9452
+ # version_id: "null",
9309
9453
  # }
9310
9454
  #
9311
9455
  # @example Request syntax with placeholder values
@@ -9334,7 +9478,7 @@ module Aws::S3
9334
9478
  req.send_request(options)
9335
9479
  end
9336
9480
 
9337
- # <note markdown="1"> This operation is not supported by directory buckets.
9481
+ # <note markdown="1"> This operation is not supported for directory buckets.
9338
9482
  #
9339
9483
  # </note>
9340
9484
  #
@@ -9435,7 +9579,7 @@ module Aws::S3
9435
9579
  req.send_request(options, &block)
9436
9580
  end
9437
9581
 
9438
- # <note markdown="1"> This operation is not supported by directory buckets.
9582
+ # <note markdown="1"> This operation is not supported for directory buckets.
9439
9583
  #
9440
9584
  # </note>
9441
9585
  #
@@ -9726,7 +9870,6 @@ module Aws::S3
9726
9870
  #
9727
9871
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
9728
9872
  # returns an HTTP status code `403 Forbidden` error.
9729
- #
9730
9873
  # * **Directory bucket permissions** - To grant access to this API
9731
9874
  # operation on a directory bucket, we recommend that you use the [
9732
9875
  # `CreateSession` ][3] API operation for session-based
@@ -9798,7 +9941,7 @@ module Aws::S3
9798
9941
  # a `405 Method Not Allowed` error and the `Last-Modified:
9799
9942
  # timestamp` response header.
9800
9943
  #
9801
- # <note markdown="1"> * **Directory buckets** - Delete marker is not supported by
9944
+ # <note markdown="1"> * **Directory buckets** - Delete marker is not supported for
9802
9945
  # directory buckets.
9803
9946
  #
9804
9947
  # * **Directory buckets** - S3 Versioning isn't enabled and supported
@@ -10209,7 +10352,7 @@ module Aws::S3
10209
10352
  req.send_request(options)
10210
10353
  end
10211
10354
 
10212
- # <note markdown="1"> This operation is not supported by directory buckets.
10355
+ # <note markdown="1"> This operation is not supported for directory buckets.
10213
10356
  #
10214
10357
  # </note>
10215
10358
  #
@@ -10310,7 +10453,7 @@ module Aws::S3
10310
10453
  req.send_request(options)
10311
10454
  end
10312
10455
 
10313
- # <note markdown="1"> This operation is not supported by directory buckets.
10456
+ # <note markdown="1"> This operation is not supported for directory buckets.
10314
10457
  #
10315
10458
  # </note>
10316
10459
  #
@@ -10402,7 +10545,7 @@ module Aws::S3
10402
10545
  req.send_request(options)
10403
10546
  end
10404
10547
 
10405
- # <note markdown="1"> This operation is not supported by directory buckets.
10548
+ # <note markdown="1"> This operation is not supported for directory buckets.
10406
10549
  #
10407
10550
  # </note>
10408
10551
  #
@@ -10504,7 +10647,7 @@ module Aws::S3
10504
10647
  req.send_request(options)
10505
10648
  end
10506
10649
 
10507
- # <note markdown="1"> This operation is not supported by directory buckets.
10650
+ # <note markdown="1"> This operation is not supported for directory buckets.
10508
10651
  #
10509
10652
  # </note>
10510
10653
  #
@@ -10606,24 +10749,25 @@ module Aws::S3
10606
10749
  req.send_request(options)
10607
10750
  end
10608
10751
 
10609
- # <note markdown="1"> This operation is not supported by directory buckets.
10752
+ # <note markdown="1"> This operation is not supported for directory buckets.
10610
10753
  #
10611
10754
  # </note>
10612
10755
  #
10613
10756
  # 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.
10757
+ # request. To grant IAM permission to use this operation, you must add
10758
+ # the `s3:ListAllMyBuckets` policy action.
10616
10759
  #
10617
10760
  # For information about Amazon S3 buckets, see [Creating, configuring,
10618
10761
  # and working with Amazon S3 buckets][1].
10619
10762
  #
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.
10763
+ # We strongly recommend using only paginated `ListBuckets` requests.
10764
+ # Unpaginated `ListBuckets` requests are only supported for Amazon Web
10765
+ # Services accounts set to the default general purpose bucket quota of
10766
+ # 10,000. If you have an approved general purpose bucket quota above
10767
+ # 10,000, you must send paginated `ListBuckets` requests to list your
10768
+ # account’s buckets. All unpaginated `ListBuckets` requests will be
10769
+ # rejected for Amazon Web Services accounts with a general purpose
10770
+ # bucket quota greater than 10,000.
10627
10771
  #
10628
10772
  #
10629
10773
  #
@@ -10909,7 +11053,6 @@ module Aws::S3
10909
11053
  # initiation time. Among uploads with the same key, the one that
10910
11054
  # was initiated first will appear before the ones that were
10911
11055
  # initiated later.
10912
- #
10913
11056
  # * **Directory bucket** - In the `ListMultipartUploads` response, the
10914
11057
  # multipart uploads aren't sorted lexicographically based on the
10915
11058
  # object keys.
@@ -11122,97 +11265,97 @@ module Aws::S3
11122
11265
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11123
11266
  #
11124
11267
  #
11125
- # @example Example: List next set of multipart uploads when previous result is truncated
11268
+ # @example Example: To list in-progress multipart uploads on a bucket
11126
11269
  #
11127
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11128
- # # setup of multipart uploads.
11270
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11129
11271
  #
11130
11272
  # resp = client.list_multipart_uploads({
11131
11273
  # bucket: "examplebucket",
11132
- # key_marker: "nextkeyfrompreviousresponse",
11133
- # max_uploads: 2,
11134
- # upload_id_marker: "valuefrompreviousresponse",
11135
11274
  # })
11136
11275
  #
11137
11276
  # resp.to_h outputs the following:
11138
11277
  # {
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
11278
  # uploads: [
11147
11279
  # {
11148
11280
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11149
11281
  # initiator: {
11150
- # display_name: "ownder-display-name",
11282
+ # display_name: "display-name",
11151
11283
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11152
11284
  # },
11153
11285
  # key: "JavaFile",
11154
11286
  # owner: {
11155
- # display_name: "mohanataws",
11156
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11287
+ # display_name: "display-name",
11288
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11157
11289
  # },
11158
11290
  # storage_class: "STANDARD",
11159
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11291
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11160
11292
  # },
11161
11293
  # {
11162
11294
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11163
11295
  # initiator: {
11164
- # display_name: "ownder-display-name",
11296
+ # display_name: "display-name",
11165
11297
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11166
11298
  # },
11167
11299
  # key: "JavaFile",
11168
11300
  # owner: {
11169
- # display_name: "ownder-display-name",
11301
+ # display_name: "display-name",
11170
11302
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11171
11303
  # },
11172
11304
  # storage_class: "STANDARD",
11173
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11305
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11174
11306
  # },
11175
11307
  # ],
11176
11308
  # }
11177
11309
  #
11178
- # @example Example: To list in-progress multipart uploads on a bucket
11310
+ # @example Example: List next set of multipart uploads when previous result is truncated
11179
11311
  #
11180
- # # The following example lists in-progress multipart uploads on a specific bucket.
11312
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11313
+ # # setup of multipart uploads.
11181
11314
  #
11182
11315
  # resp = client.list_multipart_uploads({
11183
11316
  # bucket: "examplebucket",
11317
+ # key_marker: "nextkeyfrompreviousresponse",
11318
+ # max_uploads: 2,
11319
+ # upload_id_marker: "valuefrompreviousresponse",
11184
11320
  # })
11185
11321
  #
11186
11322
  # resp.to_h outputs the following:
11187
11323
  # {
11324
+ # bucket: "acl1",
11325
+ # is_truncated: true,
11326
+ # key_marker: "",
11327
+ # max_uploads: 2,
11328
+ # next_key_marker: "someobjectkey",
11329
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11330
+ # upload_id_marker: "",
11188
11331
  # uploads: [
11189
11332
  # {
11190
11333
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11191
11334
  # initiator: {
11192
- # display_name: "display-name",
11335
+ # display_name: "ownder-display-name",
11193
11336
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11194
11337
  # },
11195
11338
  # key: "JavaFile",
11196
11339
  # owner: {
11197
- # display_name: "display-name",
11198
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11340
+ # display_name: "mohanataws",
11341
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11199
11342
  # },
11200
11343
  # storage_class: "STANDARD",
11201
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11344
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11202
11345
  # },
11203
11346
  # {
11204
11347
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11205
11348
  # initiator: {
11206
- # display_name: "display-name",
11349
+ # display_name: "ownder-display-name",
11207
11350
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11208
11351
  # },
11209
11352
  # key: "JavaFile",
11210
11353
  # owner: {
11211
- # display_name: "display-name",
11354
+ # display_name: "ownder-display-name",
11212
11355
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11213
11356
  # },
11214
11357
  # storage_class: "STANDARD",
11215
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11358
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11216
11359
  # },
11217
11360
  # ],
11218
11361
  # }
@@ -11266,7 +11409,7 @@ module Aws::S3
11266
11409
  req.send_request(options)
11267
11410
  end
11268
11411
 
11269
- # <note markdown="1"> This operation is not supported by directory buckets.
11412
+ # <note markdown="1"> This operation is not supported for directory buckets.
11270
11413
  #
11271
11414
  # </note>
11272
11415
  #
@@ -11505,7 +11648,7 @@ module Aws::S3
11505
11648
  req.send_request(options)
11506
11649
  end
11507
11650
 
11508
- # <note markdown="1"> This operation is not supported by directory buckets.
11651
+ # <note markdown="1"> This operation is not supported for directory buckets.
11509
11652
  #
11510
11653
  # </note>
11511
11654
  #
@@ -12399,7 +12542,7 @@ module Aws::S3
12399
12542
  req.send_request(options)
12400
12543
  end
12401
12544
 
12402
- # <note markdown="1"> This operation is not supported by directory buckets.
12545
+ # <note markdown="1"> This operation is not supported for directory buckets.
12403
12546
  #
12404
12547
  # </note>
12405
12548
  #
@@ -12498,7 +12641,7 @@ module Aws::S3
12498
12641
  req.send_request(options)
12499
12642
  end
12500
12643
 
12501
- # <note markdown="1"> This operation is not supported by directory buckets.
12644
+ # <note markdown="1"> This operation is not supported for directory buckets.
12502
12645
  #
12503
12646
  # </note>
12504
12647
  #
@@ -12589,7 +12732,6 @@ module Aws::S3
12589
12732
  # General Reference.
12590
12733
  #
12591
12734
  # </note>
12592
- #
12593
12735
  # For example, the following `x-amz-grant-write` header grants
12594
12736
  # create, overwrite, and delete objects permission to LogDelivery
12595
12737
  # group predefined by Amazon S3 and two Amazon Web Services accounts
@@ -12792,7 +12934,7 @@ module Aws::S3
12792
12934
  req.send_request(options)
12793
12935
  end
12794
12936
 
12795
- # <note markdown="1"> This operation is not supported by directory buckets.
12937
+ # <note markdown="1"> This operation is not supported for directory buckets.
12796
12938
  #
12797
12939
  # </note>
12798
12940
  #
@@ -12830,14 +12972,12 @@ module Aws::S3
12830
12972
  # * *Code: InvalidArgument*
12831
12973
  #
12832
12974
  # * *Cause: Invalid argument.*
12833
- #
12834
12975
  # * * *HTTP Error: HTTP 400 Bad Request*
12835
12976
  #
12836
12977
  # * *Code: TooManyConfigurations*
12837
12978
  #
12838
12979
  # * *Cause: You are attempting to create a new configuration but have
12839
12980
  # already reached the 1,000-configuration limit.*
12840
- #
12841
12981
  # * * *HTTP Error: HTTP 403 Forbidden*
12842
12982
  #
12843
12983
  # * *Code: AccessDenied*
@@ -12930,7 +13070,7 @@ module Aws::S3
12930
13070
  req.send_request(options)
12931
13071
  end
12932
13072
 
12933
- # <note markdown="1"> This operation is not supported by directory buckets.
13073
+ # <note markdown="1"> This operation is not supported for directory buckets.
12934
13074
  #
12935
13075
  # </note>
12936
13076
  #
@@ -13139,7 +13279,6 @@ module Aws::S3
13139
13279
  # encryption][3] to SSE-KMS, you should verify that your KMS key ID
13140
13280
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
13141
13281
  # PutBucketEncryption requests.
13142
- #
13143
13282
  # * <b>Directory buckets </b> - You can optionally configure default
13144
13283
  # encryption for a bucket by using server-side encryption with Key
13145
13284
  # Management Service (KMS) keys (SSE-KMS).
@@ -13338,7 +13477,7 @@ module Aws::S3
13338
13477
  req.send_request(options)
13339
13478
  end
13340
13479
 
13341
- # <note markdown="1"> This operation is not supported by directory buckets.
13480
+ # <note markdown="1"> This operation is not supported for directory buckets.
13342
13481
  #
13343
13482
  # </note>
13344
13483
  #
@@ -13463,7 +13602,7 @@ module Aws::S3
13463
13602
  req.send_request(options)
13464
13603
  end
13465
13604
 
13466
- # <note markdown="1"> This operation is not supported by directory buckets.
13605
+ # <note markdown="1"> This operation is not supported for directory buckets.
13467
13606
  #
13468
13607
  # </note>
13469
13608
  #
@@ -13615,15 +13754,15 @@ module Aws::S3
13615
13754
  req.send_request(options)
13616
13755
  end
13617
13756
 
13618
- # <note markdown="1"> This operation is not supported by directory buckets.
13619
- #
13620
- # </note>
13621
- #
13622
13757
  # For an updated version of this API, see
13623
13758
  # [PutBucketLifecycleConfiguration][1]. This version has been
13624
13759
  # deprecated. Existing lifecycle configurations will work. For new
13625
13760
  # lifecycle configurations, use the updated API.
13626
13761
  #
13762
+ # <note markdown="1"> This operation is not supported for directory buckets.
13763
+ #
13764
+ # </note>
13765
+ #
13627
13766
  # Creates a new lifecycle configuration for the bucket or replaces an
13628
13767
  # existing lifecycle configuration. For information about lifecycle
13629
13768
  # configuration, see [Object Lifecycle Management][2] in the *Amazon S3
@@ -13766,10 +13905,6 @@ module Aws::S3
13766
13905
  req.send_request(options)
13767
13906
  end
13768
13907
 
13769
- # <note markdown="1"> This operation is not supported by directory buckets.
13770
- #
13771
- # </note>
13772
- #
13773
13908
  # Creates a new lifecycle configuration for the bucket or replaces an
13774
13909
  # existing lifecycle configuration. Keep in mind that this will
13775
13910
  # overwrite an existing lifecycle configuration, so if you want to
@@ -13778,6 +13913,8 @@ module Aws::S3
13778
13913
  # configuration, see [Managing your storage lifecycle][1].
13779
13914
  #
13780
13915
  # Rules
13916
+ # Permissions
13917
+ # HTTP Host header syntax
13781
13918
  #
13782
13919
  # : You specify the lifecycle configuration in your request body. The
13783
13920
  # lifecycle configuration is specified as XML consisting of one or
@@ -13789,8 +13926,14 @@ module Aws::S3
13789
13926
  # size, or any combination of these. Accordingly, this section
13790
13927
  # describes the latest API. The previous version of the API supported
13791
13928
  # 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].
13929
+ # supported for backward compatibility for general purpose buckets.
13930
+ # For the related API description, see [PutBucketLifecycle][2].
13931
+ #
13932
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
13933
+ # objects and cancelling multipart uploads. Expiring of versioned
13934
+ # objects,transitions and tag filters are not supported.
13935
+ #
13936
+ # </note>
13794
13937
  #
13795
13938
  # A lifecycle rule consists of the following:
13796
13939
  #
@@ -13810,40 +13953,61 @@ module Aws::S3
13810
13953
  #
13811
13954
  # For more information, see [Object Lifecycle Management][3] and
13812
13955
  # [Lifecycle Configuration Elements][4].
13956
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
13957
+ # resources are private, including buckets, objects, and related
13958
+ # subresources (for example, lifecycle configuration and website
13959
+ # configuration). Only the resource owner (that is, the Amazon Web
13960
+ # Services account that created it) can access the resource. The
13961
+ # resource owner can optionally grant access permissions to others
13962
+ # by writing an access policy. For this operation, a user must have
13963
+ # the `s3:PutLifecycleConfiguration` permission.
13813
13964
  #
13814
- # Permissions
13965
+ # You can also explicitly deny permissions. An explicit deny also
13966
+ # supersedes any other permissions. If you want to block users or
13967
+ # accounts from removing or deleting objects from your bucket, you
13968
+ # must deny them permissions for the following actions:
13815
13969
  #
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.
13970
+ # * `s3:DeleteObject`
13824
13971
  #
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:
13972
+ # * `s3:DeleteObjectVersion`
13829
13973
  #
13830
- # * `s3:DeleteObject`
13974
+ # * `s3:PutLifecycleConfiguration`
13831
13975
  #
13832
- # * `s3:DeleteObjectVersion`
13976
+ # For more information about permissions, see [Managing Access
13977
+ # Permissions to Your Amazon S3 Resources][5].
13978
+ # ^
13833
13979
  #
13834
- # * `s3:PutLifecycleConfiguration`
13980
+ # * **Directory bucket permissions** - You must have the
13981
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
13982
+ # identity-based policy to use this operation. Cross-account access
13983
+ # to this API operation isn't supported. The resource owner can
13984
+ # optionally grant access permissions to others by creating a role
13985
+ # or user for them as long as they are within the same account as
13986
+ # the owner and resource.
13987
+ #
13988
+ # For more information about directory bucket policies and
13989
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][6]
13990
+ # in the *Amazon S3 User Guide*.
13835
13991
  #
13836
- # For more information about permissions, see [Managing Access
13837
- # Permissions to Your Amazon S3 Resources][5].
13992
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13993
+ # requests for this API operation to the Regional endpoint. These
13994
+ # endpoints support path-style requests in the format
13995
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
13996
+ # `. Virtual-hosted-style requests aren't supported. For more
13997
+ # information, see [Regional and Zonal endpoints][7] in the *Amazon
13998
+ # S3 User Guide*.
13838
13999
  #
13839
- # The following operations are related to
13840
- # `PutBucketLifecycleConfiguration`:
14000
+ # </note>
14001
+ #
14002
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
14003
+ # `s3express-control.region.amazonaws.com`.
13841
14004
  #
13842
- # * [Examples of Lifecycle Configuration][6]
14005
+ # The following operations are related to
14006
+ # `PutBucketLifecycleConfiguration`:
13843
14007
  #
13844
- # * [GetBucketLifecycleConfiguration][7]
14008
+ # * [GetBucketLifecycleConfiguration][8]
13845
14009
  #
13846
- # * [DeleteBucketLifecycle][8]
14010
+ # * [DeleteBucketLifecycle][9]
13847
14011
  #
13848
14012
  #
13849
14013
  #
@@ -13852,9 +14016,10 @@ module Aws::S3
13852
14016
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13853
14017
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
13854
14018
  # [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
14019
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14020
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
14021
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14022
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
13858
14023
  #
13859
14024
  # @option params [required, String] :bucket
13860
14025
  # The name of the bucket for which to set the configuration.
@@ -13883,10 +14048,20 @@ module Aws::S3
13883
14048
  # you provide does not match the actual owner of the bucket, the request
13884
14049
  # fails with the HTTP status code `403 Forbidden` (access denied).
13885
14050
  #
14051
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14052
+ # supported for directory bucket lifecycle configurations.
14053
+ #
14054
+ # </note>
14055
+ #
13886
14056
  # @option params [String] :transition_default_minimum_object_size
13887
14057
  # Indicates which default minimum object size behavior is applied to the
13888
14058
  # lifecycle configuration.
13889
14059
  #
14060
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14061
+ # supported for directory bucket lifecycle configurations.
14062
+ #
14063
+ # </note>
14064
+ #
13890
14065
  # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
13891
14066
  # transition to any storage class by default.
13892
14067
  #
@@ -14010,7 +14185,7 @@ module Aws::S3
14010
14185
  req.send_request(options)
14011
14186
  end
14012
14187
 
14013
- # <note markdown="1"> This operation is not supported by directory buckets.
14188
+ # <note markdown="1"> This operation is not supported for directory buckets.
14014
14189
  #
14015
14190
  # </note>
14016
14191
  #
@@ -14193,7 +14368,7 @@ module Aws::S3
14193
14368
  req.send_request(options)
14194
14369
  end
14195
14370
 
14196
- # <note markdown="1"> This operation is not supported by directory buckets.
14371
+ # <note markdown="1"> This operation is not supported for directory buckets.
14197
14372
  #
14198
14373
  # </note>
14199
14374
  #
@@ -14297,7 +14472,7 @@ module Aws::S3
14297
14472
  req.send_request(options)
14298
14473
  end
14299
14474
 
14300
- # <note markdown="1"> This operation is not supported by directory buckets.
14475
+ # <note markdown="1"> This operation is not supported for directory buckets.
14301
14476
  #
14302
14477
  # </note>
14303
14478
  #
@@ -14383,7 +14558,7 @@ module Aws::S3
14383
14558
  req.send_request(options)
14384
14559
  end
14385
14560
 
14386
- # <note markdown="1"> This operation is not supported by directory buckets.
14561
+ # <note markdown="1"> This operation is not supported for directory buckets.
14387
14562
  #
14388
14563
  # </note>
14389
14564
  #
@@ -14567,7 +14742,7 @@ module Aws::S3
14567
14742
  req.send_request(options)
14568
14743
  end
14569
14744
 
14570
- # <note markdown="1"> This operation is not supported by directory buckets.
14745
+ # <note markdown="1"> This operation is not supported for directory buckets.
14571
14746
  #
14572
14747
  # </note>
14573
14748
  #
@@ -14836,7 +15011,7 @@ module Aws::S3
14836
15011
  req.send_request(options)
14837
15012
  end
14838
15013
 
14839
- # <note markdown="1"> This operation is not supported by directory buckets.
15014
+ # <note markdown="1"> This operation is not supported for directory buckets.
14840
15015
  #
14841
15016
  # </note>
14842
15017
  #
@@ -15074,7 +15249,7 @@ module Aws::S3
15074
15249
  req.send_request(options)
15075
15250
  end
15076
15251
 
15077
- # <note markdown="1"> This operation is not supported by directory buckets.
15252
+ # <note markdown="1"> This operation is not supported for directory buckets.
15078
15253
  #
15079
15254
  # </note>
15080
15255
  #
@@ -15171,7 +15346,7 @@ module Aws::S3
15171
15346
  req.send_request(options)
15172
15347
  end
15173
15348
 
15174
- # <note markdown="1"> This operation is not supported by directory buckets.
15349
+ # <note markdown="1"> This operation is not supported for directory buckets.
15175
15350
  #
15176
15351
  # </note>
15177
15352
  #
@@ -15322,15 +15497,17 @@ module Aws::S3
15322
15497
  req.send_request(options)
15323
15498
  end
15324
15499
 
15325
- # <note markdown="1"> This operation is not supported by directory buckets.
15500
+ # <note markdown="1"> This operation is not supported for directory buckets.
15326
15501
  #
15327
15502
  # </note>
15328
15503
  #
15329
15504
  # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
15330
- # take a short amount of time for the change to be fully propagated. We
15331
- # recommend that you wait for 15 minutes after enabling versioning
15332
- # before issuing write operations (`PUT` or `DELETE`) on objects in the
15333
- # bucket.
15505
+ # take a short amount of time for the change to be fully propagated.
15506
+ # While this change is propagating, you may encounter intermittent `HTTP
15507
+ # 404 NoSuchKey` errors for requests to objects created or updated after
15508
+ # enabling versioning. We recommend that you wait for 15 minutes after
15509
+ # enabling versioning before issuing write operations (`PUT` or
15510
+ # `DELETE`) on objects in the bucket.
15334
15511
  #
15335
15512
  # </note>
15336
15513
  #
@@ -15461,7 +15638,7 @@ module Aws::S3
15461
15638
  req.send_request(options)
15462
15639
  end
15463
15640
 
15464
- # <note markdown="1"> This operation is not supported by directory buckets.
15641
+ # <note markdown="1"> This operation is not supported for directory buckets.
15465
15642
  #
15466
15643
  # </note>
15467
15644
  #
@@ -15711,7 +15888,6 @@ module Aws::S3
15711
15888
  # * <b> <code>s3:PutObjectTagging</code> </b> - To successfully set
15712
15889
  # the tag-set with your `PutObject` request, you must have the
15713
15890
  # `s3:PutObjectTagging`.
15714
- #
15715
15891
  # * **Directory bucket permissions** - To grant access to this API
15716
15892
  # operation on a directory bucket, we recommend that you use the [
15717
15893
  # `CreateSession` ][5] API operation for session-based
@@ -16021,6 +16197,26 @@ module Aws::S3
16021
16197
  #
16022
16198
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
16023
16199
  #
16200
+ # @option params [String] :if_match
16201
+ # Uploads the object only if the ETag (entity tag) value provided during
16202
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
16203
+ # values do not match, the operation returns a `412 Precondition Failed`
16204
+ # error.
16205
+ #
16206
+ # If a conflicting operation occurs during the upload S3 returns a `409
16207
+ # ConditionalRequestConflict` response. On a 409 failure you should
16208
+ # fetch the object's ETag and retry the upload.
16209
+ #
16210
+ # Expects the ETag value as a string.
16211
+ #
16212
+ # For more information about conditional requests, see [RFC 7232][1], or
16213
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
16214
+ #
16215
+ #
16216
+ #
16217
+ # [1]: https://tools.ietf.org/html/rfc7232
16218
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
16219
+ #
16024
16220
  # @option params [String] :if_none_match
16025
16221
  # Uploads the object only if the object key name does not already exist
16026
16222
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -16080,6 +16276,17 @@ module Aws::S3
16080
16276
  # @option params [required, String] :key
16081
16277
  # Object key for which the PUT action was initiated.
16082
16278
  #
16279
+ # @option params [Integer] :write_offset_bytes
16280
+ # Specifies the offset for appending data to existing objects in bytes.
16281
+ # The offset must be equal to the size of the existing object being
16282
+ # appended to. If no object exists, setting this header to 0 will create
16283
+ # a new object.
16284
+ #
16285
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
16286
+ # Express One Zone storage class in directory buckets.
16287
+ #
16288
+ # </note>
16289
+ #
16083
16290
  # @option params [Hash<String,String>] :metadata
16084
16291
  # A map of metadata to store with the object in S3.
16085
16292
  #
@@ -16382,63 +16589,63 @@ module Aws::S3
16382
16589
  # * {Types::PutObjectOutput#ssekms_key_id #ssekms_key_id} => String
16383
16590
  # * {Types::PutObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
16384
16591
  # * {Types::PutObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
16592
+ # * {Types::PutObjectOutput#size #size} => Integer
16385
16593
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16386
16594
  #
16387
16595
  #
16388
- # @example Example: To upload an object and specify optional tags
16596
+ # @example Example: To upload an object and specify server-side encryption and object tags
16389
16597
  #
16390
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
16391
- # # S3 returns version ID of the newly created object.
16598
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16599
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16392
16600
  #
16393
16601
  # resp = client.put_object({
16394
- # body: "c:\\HappyFace.jpg",
16602
+ # body: "filetoupload",
16395
16603
  # bucket: "examplebucket",
16396
- # key: "HappyFace.jpg",
16604
+ # key: "exampleobject",
16605
+ # server_side_encryption: "AES256",
16397
16606
  # tagging: "key1=value1&key2=value2",
16398
16607
  # })
16399
16608
  #
16400
16609
  # resp.to_h outputs the following:
16401
16610
  # {
16402
16611
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16403
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16612
+ # server_side_encryption: "AES256",
16613
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16404
16614
  # }
16405
16615
  #
16406
- # @example Example: To upload an object and specify canned ACL.
16616
+ # @example Example: To upload an object
16407
16617
  #
16408
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
16409
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
16618
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16619
+ # # syntax. S3 returns VersionId of the newly created object.
16410
16620
  #
16411
16621
  # resp = client.put_object({
16412
- # acl: "authenticated-read",
16413
- # body: "filetoupload",
16622
+ # body: "HappyFace.jpg",
16414
16623
  # bucket: "examplebucket",
16415
- # key: "exampleobject",
16624
+ # key: "HappyFace.jpg",
16416
16625
  # })
16417
16626
  #
16418
16627
  # resp.to_h outputs the following:
16419
16628
  # {
16420
16629
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16421
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16630
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16422
16631
  # }
16423
16632
  #
16424
- # @example Example: To upload an object and specify server-side encryption and object tags
16633
+ # @example Example: To upload an object and specify optional tags
16425
16634
  #
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.
16635
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
16636
+ # # S3 returns version ID of the newly created object.
16428
16637
  #
16429
16638
  # resp = client.put_object({
16430
- # body: "filetoupload",
16639
+ # body: "c:\\HappyFace.jpg",
16431
16640
  # bucket: "examplebucket",
16432
- # key: "exampleobject",
16433
- # server_side_encryption: "AES256",
16641
+ # key: "HappyFace.jpg",
16434
16642
  # tagging: "key1=value1&key2=value2",
16435
16643
  # })
16436
16644
  #
16437
16645
  # resp.to_h outputs the following:
16438
16646
  # {
16439
16647
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16440
- # server_side_encryption: "AES256",
16441
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16648
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16442
16649
  # }
16443
16650
  #
16444
16651
  # @example Example: To upload object and specify user-defined metadata
@@ -16462,6 +16669,24 @@ module Aws::S3
16462
16669
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16463
16670
  # }
16464
16671
  #
16672
+ # @example Example: To upload an object and specify canned ACL.
16673
+ #
16674
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
16675
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
16676
+ #
16677
+ # resp = client.put_object({
16678
+ # acl: "authenticated-read",
16679
+ # body: "filetoupload",
16680
+ # bucket: "examplebucket",
16681
+ # key: "exampleobject",
16682
+ # })
16683
+ #
16684
+ # resp.to_h outputs the following:
16685
+ # {
16686
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16687
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16688
+ # }
16689
+ #
16465
16690
  # @example Example: To upload an object (specify optional headers)
16466
16691
  #
16467
16692
  # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
@@ -16498,23 +16723,6 @@ module Aws::S3
16498
16723
  # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16499
16724
  # }
16500
16725
  #
16501
- # @example Example: To upload an object
16502
- #
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.
16505
- #
16506
- # resp = client.put_object({
16507
- # body: "HappyFace.jpg",
16508
- # bucket: "examplebucket",
16509
- # key: "HappyFace.jpg",
16510
- # })
16511
- #
16512
- # resp.to_h outputs the following:
16513
- # {
16514
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16515
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16516
- # }
16517
- #
16518
16726
  # @example Streaming a file from disk
16519
16727
  # # upload file from disk in a single request, may not exceed 5GB
16520
16728
  # File.open('/source/file/path', 'rb') do |file|
@@ -16540,12 +16748,14 @@ module Aws::S3
16540
16748
  # checksum_sha1: "ChecksumSHA1",
16541
16749
  # checksum_sha256: "ChecksumSHA256",
16542
16750
  # expires: Time.now,
16751
+ # if_match: "IfMatch",
16543
16752
  # if_none_match: "IfNoneMatch",
16544
16753
  # grant_full_control: "GrantFullControl",
16545
16754
  # grant_read: "GrantRead",
16546
16755
  # grant_read_acp: "GrantReadACP",
16547
16756
  # grant_write_acp: "GrantWriteACP",
16548
16757
  # key: "ObjectKey", # required
16758
+ # write_offset_bytes: 1,
16549
16759
  # metadata: {
16550
16760
  # "MetadataKey" => "MetadataValue",
16551
16761
  # },
@@ -16581,6 +16791,7 @@ module Aws::S3
16581
16791
  # resp.ssekms_key_id #=> String
16582
16792
  # resp.ssekms_encryption_context #=> String
16583
16793
  # resp.bucket_key_enabled #=> Boolean
16794
+ # resp.size #=> Integer
16584
16795
  # resp.request_charged #=> String, one of "requester"
16585
16796
  #
16586
16797
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject AWS API Documentation
@@ -16592,7 +16803,7 @@ module Aws::S3
16592
16803
  req.send_request(options)
16593
16804
  end
16594
16805
 
16595
- # <note markdown="1"> This operation is not supported by directory buckets.
16806
+ # <note markdown="1"> This operation is not supported for directory buckets.
16596
16807
  #
16597
16808
  # </note>
16598
16809
  #
@@ -16676,7 +16887,6 @@ module Aws::S3
16676
16887
  # General Reference.
16677
16888
  #
16678
16889
  # </note>
16679
- #
16680
16890
  # For example, the following `x-amz-grant-read` header grants list
16681
16891
  # objects permission to the two Amazon Web Services accounts
16682
16892
  # identified by their email addresses.
@@ -16962,7 +17172,7 @@ module Aws::S3
16962
17172
  req.send_request(options)
16963
17173
  end
16964
17174
 
16965
- # <note markdown="1"> This operation is not supported by directory buckets.
17175
+ # <note markdown="1"> This operation is not supported for directory buckets.
16966
17176
  #
16967
17177
  # </note>
16968
17178
  #
@@ -17081,7 +17291,7 @@ module Aws::S3
17081
17291
  req.send_request(options)
17082
17292
  end
17083
17293
 
17084
- # <note markdown="1"> This operation is not supported by directory buckets.
17294
+ # <note markdown="1"> This operation is not supported for directory buckets.
17085
17295
  #
17086
17296
  # </note>
17087
17297
  #
@@ -17200,7 +17410,7 @@ module Aws::S3
17200
17410
  req.send_request(options)
17201
17411
  end
17202
17412
 
17203
- # <note markdown="1"> This operation is not supported by directory buckets.
17413
+ # <note markdown="1"> This operation is not supported for directory buckets.
17204
17414
  #
17205
17415
  # </note>
17206
17416
  #
@@ -17329,7 +17539,7 @@ module Aws::S3
17329
17539
  req.send_request(options)
17330
17540
  end
17331
17541
 
17332
- # <note markdown="1"> This operation is not supported by directory buckets.
17542
+ # <note markdown="1"> This operation is not supported for directory buckets.
17333
17543
  #
17334
17544
  # </note>
17335
17545
  #
@@ -17528,7 +17738,7 @@ module Aws::S3
17528
17738
  req.send_request(options)
17529
17739
  end
17530
17740
 
17531
- # <note markdown="1"> This operation is not supported by directory buckets.
17741
+ # <note markdown="1"> This operation is not supported for directory buckets.
17532
17742
  #
17533
17743
  # </note>
17534
17744
  #
@@ -17636,7 +17846,7 @@ module Aws::S3
17636
17846
  req.send_request(options)
17637
17847
  end
17638
17848
 
17639
- # <note markdown="1"> This operation is not supported by directory buckets.
17849
+ # <note markdown="1"> This operation is not supported for directory buckets.
17640
17850
  #
17641
17851
  # </note>
17642
17852
  #
@@ -17782,7 +17992,6 @@ module Aws::S3
17782
17992
  # * *HTTP Status Code: 409 Conflict*
17783
17993
  #
17784
17994
  # * *SOAP Fault Code Prefix: Client*
17785
- #
17786
17995
  # * * *Code: GlacierExpeditedRetrievalNotAvailable*
17787
17996
  #
17788
17997
  # * *Cause: expedited retrievals are currently not available. Try
@@ -18021,7 +18230,7 @@ module Aws::S3
18021
18230
  req.send_request(options)
18022
18231
  end
18023
18232
 
18024
- # <note markdown="1"> This operation is not supported by directory buckets.
18233
+ # <note markdown="1"> This operation is not supported for directory buckets.
18025
18234
  #
18026
18235
  # </note>
18027
18236
  #
@@ -18569,7 +18778,6 @@ module Aws::S3
18569
18778
  # * x-amz-server-side-encryption-customer-key
18570
18779
  #
18571
18780
  # * x-amz-server-side-encryption-customer-key-MD5
18572
- #
18573
18781
  # For more information, see [Using Server-Side Encryption][11] in
18574
18782
  # the *Amazon S3 User Guide*.
18575
18783
  #
@@ -18970,7 +19178,6 @@ module Aws::S3
18970
19178
  # permissions required to use the multipart upload API, see
18971
19179
  # [Multipart upload and permissions][8] and [Multipart upload API
18972
19180
  # and permissions][9] in the *Amazon S3 User Guide*.
18973
- #
18974
19181
  # * **Directory bucket permissions** - You must have permissions in a
18975
19182
  # bucket policy or an IAM identity-based policy based on the source
18976
19183
  # and destination bucket types in an `UploadPartCopy` operation.
@@ -18988,7 +19195,6 @@ module Aws::S3
18988
19195
  # `Action` element of a policy to write the object to the
18989
19196
  # destination. The `s3express:SessionMode` condition key cannot be
18990
19197
  # set to `ReadOnly` on the copy destination.
18991
- #
18992
19198
  # If the object is encrypted with SSE-KMS, you must also have the
18993
19199
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
18994
19200
  # identity-based policies and KMS key policies for the KMS key.
@@ -19033,7 +19239,6 @@ module Aws::S3
19033
19239
  # been aborted or completed.
19034
19240
  #
19035
19241
  # * HTTP Status Code: 404 Not Found
19036
- #
19037
19242
  # * Error Code: `InvalidRequest`
19038
19243
  #
19039
19244
  # * Description: The specified copy source is not supported as a
@@ -19457,7 +19662,7 @@ module Aws::S3
19457
19662
  req.send_request(options)
19458
19663
  end
19459
19664
 
19460
- # <note markdown="1"> This operation is not supported by directory buckets.
19665
+ # <note markdown="1"> This operation is not supported for directory buckets.
19461
19666
  #
19462
19667
  # </note>
19463
19668
  #
@@ -19866,7 +20071,7 @@ module Aws::S3
19866
20071
  tracer: tracer
19867
20072
  )
19868
20073
  context[:gem_name] = 'aws-sdk-s3'
19869
- context[:gem_version] = '1.171.0'
20074
+ context[:gem_version] = '1.174.0'
19870
20075
  Seahorse::Client::Request.new(handlers, context)
19871
20076
  end
19872
20077