aws-sdk-s3 1.171.0 → 1.174.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -703,6 +703,18 @@ module Aws::S3
703
703
  # you provide does not match the actual owner of the bucket, the request
704
704
  # fails with the HTTP status code `403 Forbidden` (access denied).
705
705
  #
706
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_initiated_time
707
+ # If present, this header aborts an in progress multipart upload only if
708
+ # it was initiated on the provided timestamp. If the initiated timestamp
709
+ # of the multipart upload does not match the provided value, the
710
+ # operation returns a `412 Precondition Failed` error. If the initiated
711
+ # timestamp matches or if the multipart upload doesn’t exist, the
712
+ # operation returns a `204 Success (No Content)` response.
713
+ #
714
+ # <note markdown="1"> This functionality is only supported for directory buckets.
715
+ #
716
+ # </note>
717
+ #
706
718
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
719
  #
708
720
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -730,6 +742,7 @@ module Aws::S3
730
742
  # upload_id: "MultipartUploadId", # required
731
743
  # request_payer: "requester", # accepts requester
732
744
  # expected_bucket_owner: "AccountId",
745
+ # if_match_initiated_time: Time.now,
733
746
  # })
734
747
  #
735
748
  # @example Response structure
@@ -837,7 +850,6 @@ module Aws::S3
837
850
  # except the last part.
838
851
  #
839
852
  # * HTTP Status Code: 400 Bad Request
840
- #
841
853
  # * Error Code: `InvalidPart`
842
854
  #
843
855
  # * Description: One or more of the specified parts could not be
@@ -845,14 +857,12 @@ module Aws::S3
845
857
  # ETag might not have matched the uploaded part's ETag.
846
858
  #
847
859
  # * HTTP Status Code: 400 Bad Request
848
- #
849
860
  # * Error Code: `InvalidPartOrder`
850
861
  #
851
862
  # * Description: The list of parts was not in ascending order. The
852
863
  # parts list must be specified in order by part number.
853
864
  #
854
865
  # * HTTP Status Code: 400 Bad Request
855
- #
856
866
  # * Error Code: `NoSuchUpload`
857
867
  #
858
868
  # * Description: The specified multipart upload does not exist. The
@@ -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