aws-sdk-s3 1.172.0 → 1.173.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -703,6 +703,18 @@ module Aws::S3
703
703
  # you provide does not match the actual owner of the bucket, the request
704
704
  # fails with the HTTP status code `403 Forbidden` (access denied).
705
705
  #
706
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_initiated_time
707
+ # If present, this header aborts an in progress multipart upload only if
708
+ # it was initiated on the provided timestamp. If the initiated timestamp
709
+ # of the multipart upload does not match the provided value, the
710
+ # operation returns a `412 Precondition Failed` error. If the initiated
711
+ # timestamp matches or if the multipart upload doesn’t exist, the
712
+ # operation returns a `204 Success (No Content)` response.
713
+ #
714
+ # <note markdown="1"> This functionality is only supported for directory buckets.
715
+ #
716
+ # </note>
717
+ #
706
718
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
719
  #
708
720
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -730,6 +742,7 @@ module Aws::S3
730
742
  # upload_id: "MultipartUploadId", # required
731
743
  # request_payer: "requester", # accepts requester
732
744
  # expected_bucket_owner: "AccountId",
745
+ # if_match_initiated_time: Time.now,
733
746
  # })
734
747
  #
735
748
  # @example Response structure
@@ -2471,33 +2484,33 @@ module Aws::S3
2471
2484
  # * {Types::CreateBucketOutput#location #location} => String
2472
2485
  #
2473
2486
  #
2474
- # @example Example: To create a bucket in a specific region
2487
+ # @example Example: To create a bucket
2475
2488
  #
2476
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2489
+ # # The following example creates a bucket.
2477
2490
  #
2478
2491
  # resp = client.create_bucket({
2479
2492
  # bucket: "examplebucket",
2480
- # create_bucket_configuration: {
2481
- # location_constraint: "eu-west-1",
2482
- # },
2483
2493
  # })
2484
2494
  #
2485
2495
  # resp.to_h outputs the following:
2486
2496
  # {
2487
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2497
+ # location: "/examplebucket",
2488
2498
  # }
2489
2499
  #
2490
- # @example Example: To create a bucket
2500
+ # @example Example: To create a bucket in a specific region
2491
2501
  #
2492
- # # The following example creates a bucket.
2502
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2493
2503
  #
2494
2504
  # resp = client.create_bucket({
2495
2505
  # bucket: "examplebucket",
2506
+ # create_bucket_configuration: {
2507
+ # location_constraint: "eu-west-1",
2508
+ # },
2496
2509
  # })
2497
2510
  #
2498
2511
  # resp.to_h outputs the following:
2499
2512
  # {
2500
- # location: "/examplebucket",
2513
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2501
2514
  # }
2502
2515
  #
2503
2516
  # @example Request syntax with placeholder values
@@ -3876,7 +3889,7 @@ module Aws::S3
3876
3889
  req.send_request(options)
3877
3890
  end
3878
3891
 
3879
- # <note markdown="1"> This operation is not supported by directory buckets.
3892
+ # <note markdown="1"> This operation is not supported for directory buckets.
3880
3893
  #
3881
3894
  # </note>
3882
3895
  #
@@ -3942,7 +3955,7 @@ module Aws::S3
3942
3955
  req.send_request(options)
3943
3956
  end
3944
3957
 
3945
- # <note markdown="1"> This operation is not supported by directory buckets.
3958
+ # <note markdown="1"> This operation is not supported for directory buckets.
3946
3959
  #
3947
3960
  # </note>
3948
3961
  #
@@ -4106,7 +4119,7 @@ module Aws::S3
4106
4119
  req.send_request(options)
4107
4120
  end
4108
4121
 
4109
- # <note markdown="1"> This operation is not supported by directory buckets.
4122
+ # <note markdown="1"> This operation is not supported for directory buckets.
4110
4123
  #
4111
4124
  # </note>
4112
4125
  #
@@ -4173,7 +4186,7 @@ module Aws::S3
4173
4186
  req.send_request(options)
4174
4187
  end
4175
4188
 
4176
- # <note markdown="1"> This operation is not supported by directory buckets.
4189
+ # <note markdown="1"> This operation is not supported for directory buckets.
4177
4190
  #
4178
4191
  # </note>
4179
4192
  #
@@ -4238,38 +4251,71 @@ module Aws::S3
4238
4251
  req.send_request(options)
4239
4252
  end
4240
4253
 
4241
- # <note markdown="1"> This operation is not supported by directory buckets.
4242
- #
4243
- # </note>
4244
- #
4245
4254
  # Deletes the lifecycle configuration from the specified bucket. Amazon
4246
4255
  # S3 removes all the lifecycle configuration rules in the lifecycle
4247
4256
  # subresource associated with the bucket. Your objects never expire, and
4248
4257
  # Amazon S3 no longer automatically deletes any objects on the basis of
4249
4258
  # rules contained in the deleted lifecycle configuration.
4250
4259
  #
4251
- # To use this operation, you must have permission to perform the
4252
- # `s3:PutLifecycleConfiguration` action. By default, the bucket owner
4253
- # has this permission and the bucket owner can grant this permission to
4254
- # others.
4260
+ # Permissions
4261
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
4262
+ # resources are private, including buckets, objects, and related
4263
+ # subresources (for example, lifecycle configuration and website
4264
+ # configuration). Only the resource owner (that is, the Amazon Web
4265
+ # Services account that created it) can access the resource. The
4266
+ # resource owner can optionally grant access permissions to others
4267
+ # by writing an access policy. For this operation, a user must have
4268
+ # the `s3:PutLifecycleConfiguration` permission.
4269
+ #
4270
+ # For more information about permissions, see [Managing Access
4271
+ # Permissions to Your Amazon S3 Resources][1].
4272
+ # ^
4273
+ #
4274
+ # * **Directory bucket permissions** - You must have the
4275
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
4276
+ # identity-based policy to use this operation. Cross-account access
4277
+ # to this API operation isn't supported. The resource owner can
4278
+ # optionally grant access permissions to others by creating a role
4279
+ # or user for them as long as they are within the same account as
4280
+ # the owner and resource.
4281
+ #
4282
+ # For more information about directory bucket policies and
4283
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][2]
4284
+ # in the *Amazon S3 User Guide*.
4285
+ #
4286
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4287
+ # requests for this API operation to the Regional endpoint. These
4288
+ # endpoints support path-style requests in the format
4289
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
4290
+ # `. Virtual-hosted-style requests aren't supported. For more
4291
+ # information, see [Regional and Zonal endpoints][3] in the *Amazon
4292
+ # S3 User Guide*.
4293
+ #
4294
+ # </note>
4295
+ # ^
4296
+ #
4297
+ # HTTP Host header syntax
4255
4298
  #
4256
- # There is usually some time lag before lifecycle configuration deletion
4257
- # is fully propagated to all the Amazon S3 systems.
4299
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
4300
+ # `s3express-control.region.amazonaws.com`.
4258
4301
  #
4259
4302
  # For more information about the object expiration, see [Elements to
4260
- # Describe Lifecycle Actions][1].
4303
+ # Describe Lifecycle Actions][4].
4261
4304
  #
4262
4305
  # Related actions include:
4263
4306
  #
4264
- # * [PutBucketLifecycleConfiguration][2]
4307
+ # * [PutBucketLifecycleConfiguration][5]
4265
4308
  #
4266
- # * [GetBucketLifecycleConfiguration][3]
4309
+ # * [GetBucketLifecycleConfiguration][6]
4267
4310
  #
4268
4311
  #
4269
4312
  #
4270
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4271
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4272
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4313
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
4314
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4315
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4316
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4317
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4318
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4273
4319
  #
4274
4320
  # @option params [required, String] :bucket
4275
4321
  # The bucket name of the lifecycle to delete.
@@ -4279,6 +4325,11 @@ module Aws::S3
4279
4325
  # you provide does not match the actual owner of the bucket, the request
4280
4326
  # fails with the HTTP status code `403 Forbidden` (access denied).
4281
4327
  #
4328
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
4329
+ # supported for directory bucket lifecycle configurations.
4330
+ #
4331
+ # </note>
4332
+ #
4282
4333
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4283
4334
  #
4284
4335
  #
@@ -4306,7 +4357,7 @@ module Aws::S3
4306
4357
  req.send_request(options)
4307
4358
  end
4308
4359
 
4309
- # <note markdown="1"> This operation is not supported by directory buckets.
4360
+ # <note markdown="1"> This operation is not supported for directory buckets.
4310
4361
  #
4311
4362
  # </note>
4312
4363
  #
@@ -4376,7 +4427,7 @@ module Aws::S3
4376
4427
  req.send_request(options)
4377
4428
  end
4378
4429
 
4379
- # <note markdown="1"> This operation is not supported by directory buckets.
4430
+ # <note markdown="1"> This operation is not supported for directory buckets.
4380
4431
  #
4381
4432
  # </note>
4382
4433
  #
@@ -4550,7 +4601,7 @@ module Aws::S3
4550
4601
  req.send_request(options)
4551
4602
  end
4552
4603
 
4553
- # <note markdown="1"> This operation is not supported by directory buckets.
4604
+ # <note markdown="1"> This operation is not supported for directory buckets.
4554
4605
  #
4555
4606
  # </note>
4556
4607
  #
@@ -4620,7 +4671,7 @@ module Aws::S3
4620
4671
  req.send_request(options)
4621
4672
  end
4622
4673
 
4623
- # <note markdown="1"> This operation is not supported by directory buckets.
4674
+ # <note markdown="1"> This operation is not supported for directory buckets.
4624
4675
  #
4625
4676
  # </note>
4626
4677
  #
@@ -4676,7 +4727,7 @@ module Aws::S3
4676
4727
  req.send_request(options)
4677
4728
  end
4678
4729
 
4679
- # <note markdown="1"> This operation is not supported by directory buckets.
4730
+ # <note markdown="1"> This operation is not supported for directory buckets.
4680
4731
  #
4681
4732
  # </note>
4682
4733
  #
@@ -4915,6 +4966,49 @@ module Aws::S3
4915
4966
  # you provide does not match the actual owner of the bucket, the request
4916
4967
  # fails with the HTTP status code `403 Forbidden` (access denied).
4917
4968
  #
4969
+ # @option params [String] :if_match
4970
+ # The `If-Match` header field makes the request method conditional on
4971
+ # ETags. If the ETag value does not match, the operation returns a `412
4972
+ # Precondition Failed` error. If the ETag matches or if the object
4973
+ # doesn't exist, the operation will return a `204 Success (No Content)
4974
+ # response`.
4975
+ #
4976
+ # For more information about conditional requests, see [RFC 7232][1].
4977
+ #
4978
+ # <note markdown="1"> This functionality is only supported for directory buckets.
4979
+ #
4980
+ # </note>
4981
+ #
4982
+ #
4983
+ #
4984
+ # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
4985
+ #
4986
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
4987
+ # If present, the object is deleted only if its modification times
4988
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
4989
+ # match, the operation returns a `412 Precondition Failed` error. If the
4990
+ # `Timestamp` matches or if the object doesn’t exist, the operation
4991
+ # returns a `204 Success (No Content)` response.
4992
+ #
4993
+ # <note markdown="1"> This functionality is only supported for directory buckets.
4994
+ #
4995
+ # </note>
4996
+ #
4997
+ # @option params [Integer] :if_match_size
4998
+ # If present, the object is deleted only if its size matches the
4999
+ # provided size in bytes. If the `Size` value does not match, the
5000
+ # operation returns a `412 Precondition Failed` error. If the `Size`
5001
+ # matches or if the object doesn’t exist, the operation returns a `204
5002
+ # Success (No Content)` response.
5003
+ #
5004
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5005
+ #
5006
+ # </note>
5007
+ #
5008
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
5009
+ # `x-amz-if-match-size` conditional headers in conjunction with
5010
+ # each-other or individually.
5011
+ #
4918
5012
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4919
5013
  #
4920
5014
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -4922,15 +5016,6 @@ module Aws::S3
4922
5016
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
4923
5017
  #
4924
5018
  #
4925
- # @example Example: To delete an object (from a non-versioned bucket)
4926
- #
4927
- # # The following example deletes an object from a non-versioned bucket.
4928
- #
4929
- # resp = client.delete_object({
4930
- # bucket: "ExampleBucket",
4931
- # key: "HappyFace.jpg",
4932
- # })
4933
- #
4934
5019
  # @example Example: To delete an object
4935
5020
  #
4936
5021
  # # The following example deletes an object from an S3 bucket.
@@ -4944,6 +5029,15 @@ module Aws::S3
4944
5029
  # {
4945
5030
  # }
4946
5031
  #
5032
+ # @example Example: To delete an object (from a non-versioned bucket)
5033
+ #
5034
+ # # The following example deletes an object from a non-versioned bucket.
5035
+ #
5036
+ # resp = client.delete_object({
5037
+ # bucket: "ExampleBucket",
5038
+ # key: "HappyFace.jpg",
5039
+ # })
5040
+ #
4947
5041
  # @example Request syntax with placeholder values
4948
5042
  #
4949
5043
  # resp = client.delete_object({
@@ -4954,6 +5048,9 @@ module Aws::S3
4954
5048
  # request_payer: "requester", # accepts requester
4955
5049
  # bypass_governance_retention: false,
4956
5050
  # expected_bucket_owner: "AccountId",
5051
+ # if_match: "IfMatch",
5052
+ # if_match_last_modified_time: Time.now,
5053
+ # if_match_size: 1,
4957
5054
  # })
4958
5055
  #
4959
5056
  # @example Response structure
@@ -4971,7 +5068,7 @@ module Aws::S3
4971
5068
  req.send_request(options)
4972
5069
  end
4973
5070
 
4974
- # <note markdown="1"> This operation is not supported by directory buckets.
5071
+ # <note markdown="1"> This operation is not supported for directory buckets.
4975
5072
  #
4976
5073
  # </note>
4977
5074
  #
@@ -5352,20 +5449,22 @@ module Aws::S3
5352
5449
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5353
5450
  #
5354
5451
  #
5355
- # @example Example: To delete multiple objects from a versioned bucket
5452
+ # @example Example: To delete multiple object versions from a versioned bucket
5356
5453
  #
5357
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5358
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5454
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5455
+ # # versions and returns the key and versions of deleted objects in the response.
5359
5456
  #
5360
5457
  # resp = client.delete_objects({
5361
5458
  # bucket: "examplebucket",
5362
5459
  # delete: {
5363
5460
  # objects: [
5364
5461
  # {
5365
- # key: "objectkey1",
5462
+ # key: "HappyFace.jpg",
5463
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5366
5464
  # },
5367
5465
  # {
5368
- # key: "objectkey2",
5466
+ # key: "HappyFace.jpg",
5467
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5369
5468
  # },
5370
5469
  # ],
5371
5470
  # quiet: false,
@@ -5376,34 +5475,30 @@ module Aws::S3
5376
5475
  # {
5377
5476
  # deleted: [
5378
5477
  # {
5379
- # delete_marker: true,
5380
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5381
- # key: "objectkey1",
5478
+ # key: "HappyFace.jpg",
5479
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5382
5480
  # },
5383
5481
  # {
5384
- # delete_marker: true,
5385
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5386
- # key: "objectkey2",
5482
+ # key: "HappyFace.jpg",
5483
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5387
5484
  # },
5388
5485
  # ],
5389
5486
  # }
5390
5487
  #
5391
- # @example Example: To delete multiple object versions from a versioned bucket
5488
+ # @example Example: To delete multiple objects from a versioned bucket
5392
5489
  #
5393
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5394
- # # versions and returns the key and versions of deleted objects in the response.
5490
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5491
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5395
5492
  #
5396
5493
  # resp = client.delete_objects({
5397
5494
  # bucket: "examplebucket",
5398
5495
  # delete: {
5399
5496
  # objects: [
5400
5497
  # {
5401
- # key: "HappyFace.jpg",
5402
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5498
+ # key: "objectkey1",
5403
5499
  # },
5404
5500
  # {
5405
- # key: "HappyFace.jpg",
5406
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5501
+ # key: "objectkey2",
5407
5502
  # },
5408
5503
  # ],
5409
5504
  # quiet: false,
@@ -5414,12 +5509,14 @@ module Aws::S3
5414
5509
  # {
5415
5510
  # deleted: [
5416
5511
  # {
5417
- # key: "HappyFace.jpg",
5418
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5512
+ # delete_marker: true,
5513
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5514
+ # key: "objectkey1",
5419
5515
  # },
5420
5516
  # {
5421
- # key: "HappyFace.jpg",
5422
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5517
+ # delete_marker: true,
5518
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5519
+ # key: "objectkey2",
5423
5520
  # },
5424
5521
  # ],
5425
5522
  # }
@@ -5433,6 +5530,9 @@ module Aws::S3
5433
5530
  # {
5434
5531
  # key: "ObjectKey", # required
5435
5532
  # version_id: "ObjectVersionId",
5533
+ # etag: "ETag",
5534
+ # last_modified_time: Time.now,
5535
+ # size: 1,
5436
5536
  # },
5437
5537
  # ],
5438
5538
  # quiet: false,
@@ -5467,7 +5567,7 @@ module Aws::S3
5467
5567
  req.send_request(options)
5468
5568
  end
5469
5569
 
5470
- # <note markdown="1"> This operation is not supported by directory buckets.
5570
+ # <note markdown="1"> This operation is not supported for directory buckets.
5471
5571
  #
5472
5572
  # </note>
5473
5573
  #
@@ -5524,7 +5624,7 @@ module Aws::S3
5524
5624
  req.send_request(options)
5525
5625
  end
5526
5626
 
5527
- # <note markdown="1"> This operation is not supported by directory buckets.
5627
+ # <note markdown="1"> This operation is not supported for directory buckets.
5528
5628
  #
5529
5629
  # </note>
5530
5630
  #
@@ -5620,7 +5720,7 @@ module Aws::S3
5620
5720
  req.send_request(options)
5621
5721
  end
5622
5722
 
5623
- # <note markdown="1"> This operation is not supported by directory buckets.
5723
+ # <note markdown="1"> This operation is not supported for directory buckets.
5624
5724
  #
5625
5725
  # </note>
5626
5726
  #
@@ -5716,7 +5816,7 @@ module Aws::S3
5716
5816
  req.send_request(options)
5717
5817
  end
5718
5818
 
5719
- # <note markdown="1"> This operation is not supported by directory buckets.
5819
+ # <note markdown="1"> This operation is not supported for directory buckets.
5720
5820
  #
5721
5821
  # </note>
5722
5822
  #
@@ -5802,7 +5902,7 @@ module Aws::S3
5802
5902
  req.send_request(options)
5803
5903
  end
5804
5904
 
5805
- # <note markdown="1"> This operation is not supported by directory buckets.
5905
+ # <note markdown="1"> This operation is not supported for directory buckets.
5806
5906
  #
5807
5907
  # </note>
5808
5908
  #
@@ -6035,7 +6135,7 @@ module Aws::S3
6035
6135
  req.send_request(options)
6036
6136
  end
6037
6137
 
6038
- # <note markdown="1"> This operation is not supported by directory buckets.
6138
+ # <note markdown="1"> This operation is not supported for directory buckets.
6039
6139
  #
6040
6140
  # </note>
6041
6141
  #
@@ -6119,7 +6219,7 @@ module Aws::S3
6119
6219
  req.send_request(options)
6120
6220
  end
6121
6221
 
6122
- # <note markdown="1"> This operation is not supported by directory buckets.
6222
+ # <note markdown="1"> This operation is not supported for directory buckets.
6123
6223
  #
6124
6224
  # </note>
6125
6225
  #
@@ -6208,7 +6308,7 @@ module Aws::S3
6208
6308
  # version of this topic. This topic is provided for backward
6209
6309
  # compatibility.
6210
6310
  #
6211
- # <note markdown="1"> This operation is not supported by directory buckets.
6311
+ # <note markdown="1"> This operation is not supported for directory buckets.
6212
6312
  #
6213
6313
  # </note>
6214
6314
  #
@@ -6320,34 +6420,65 @@ module Aws::S3
6320
6420
  req.send_request(options)
6321
6421
  end
6322
6422
 
6323
- # <note markdown="1"> This operation is not supported by directory buckets.
6324
- #
6325
- # </note>
6423
+ # Returns the lifecycle configuration information set on the bucket. For
6424
+ # information about lifecycle configuration, see [Object Lifecycle
6425
+ # Management][1].
6326
6426
  #
6327
- # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
6427
+ # Bucket lifecycle configuration now supports specifying a lifecycle
6328
6428
  # rule using an object key name prefix, one or more object tags, object
6329
6429
  # size, or any combination of these. Accordingly, this section describes
6330
- # the latest API. The previous version of the API supported filtering
6331
- # based only on an object key name prefix, which is supported for
6332
- # backward compatibility. For the related API description, see
6333
- # [GetBucketLifecycle][1]. Accordingly, this section describes the
6334
- # latest API. The response describes the new filter element that you can
6335
- # use to specify a filter to select a subset of objects to which the
6336
- # rule applies. If you are using a previous version of the lifecycle
6337
- # configuration, it still works. For the earlier action,
6430
+ # the latest API, which is compatible with the new functionality. The
6431
+ # previous version of the API supported filtering based only on an
6432
+ # object key name prefix, which is supported for general purpose buckets
6433
+ # for backward compatibility. For the related API description, see
6434
+ # [GetBucketLifecycle][2].
6435
+ #
6436
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
6437
+ # objects and cancelling multipart uploads. Expiring of versioned
6438
+ # objects, transitions and tag filters are not supported.
6338
6439
  #
6339
6440
  # </note>
6340
6441
  #
6341
- # Returns the lifecycle configuration information set on the bucket. For
6342
- # information about lifecycle configuration, see [Object Lifecycle
6343
- # Management][2].
6442
+ # Permissions
6443
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
6444
+ # resources are private, including buckets, objects, and related
6445
+ # subresources (for example, lifecycle configuration and website
6446
+ # configuration). Only the resource owner (that is, the Amazon Web
6447
+ # Services account that created it) can access the resource. The
6448
+ # resource owner can optionally grant access permissions to others
6449
+ # by writing an access policy. For this operation, a user must have
6450
+ # the `s3:GetLifecycleConfiguration` permission.
6451
+ #
6452
+ # For more information about permissions, see [Managing Access
6453
+ # Permissions to Your Amazon S3 Resources][3].
6454
+ # ^
6344
6455
  #
6345
- # To use this operation, you must have permission to perform the
6346
- # `s3:GetLifecycleConfiguration` action. The bucket owner has this
6347
- # permission, by default. The bucket owner can grant this permission to
6348
- # others. For more information about permissions, see [Permissions
6349
- # Related to Bucket Subresource Operations][3] and [Managing Access
6350
- # Permissions to Your Amazon S3 Resources][4].
6456
+ # * **Directory bucket permissions** - You must have the
6457
+ # `s3express:GetLifecycleConfiguration` permission in an IAM
6458
+ # identity-based policy to use this operation. Cross-account access
6459
+ # to this API operation isn't supported. The resource owner can
6460
+ # optionally grant access permissions to others by creating a role
6461
+ # or user for them as long as they are within the same account as
6462
+ # the owner and resource.
6463
+ #
6464
+ # For more information about directory bucket policies and
6465
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][4]
6466
+ # in the *Amazon S3 User Guide*.
6467
+ #
6468
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
6469
+ # requests for this API operation to the Regional endpoint. These
6470
+ # endpoints support path-style requests in the format
6471
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
6472
+ # `. Virtual-hosted-style requests aren't supported. For more
6473
+ # information, see [Regional and Zonal endpoints][5] in the *Amazon
6474
+ # S3 User Guide*.
6475
+ #
6476
+ # </note>
6477
+ #
6478
+ # HTTP Host header syntax
6479
+ #
6480
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
6481
+ # `s3express-control.region.amazonaws.com`.
6351
6482
  #
6352
6483
  # `GetBucketLifecycleConfiguration` has the following special error:
6353
6484
  #
@@ -6362,20 +6493,21 @@ module Aws::S3
6362
6493
  # The following operations are related to
6363
6494
  # `GetBucketLifecycleConfiguration`:
6364
6495
  #
6365
- # * [GetBucketLifecycle][1]
6496
+ # * [GetBucketLifecycle][2]
6366
6497
  #
6367
- # * [PutBucketLifecycle][5]
6498
+ # * [PutBucketLifecycle][6]
6368
6499
  #
6369
- # * [DeleteBucketLifecycle][6]
6500
+ # * [DeleteBucketLifecycle][7]
6370
6501
  #
6371
6502
  #
6372
6503
  #
6373
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6374
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6375
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6376
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6377
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6378
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6504
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6505
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6506
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6507
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6508
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
6509
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6510
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6379
6511
  #
6380
6512
  # @option params [required, String] :bucket
6381
6513
  # The name of the bucket for which to get the lifecycle information.
@@ -6385,6 +6517,11 @@ module Aws::S3
6385
6517
  # you provide does not match the actual owner of the bucket, the request
6386
6518
  # fails with the HTTP status code `403 Forbidden` (access denied).
6387
6519
  #
6520
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
6521
+ # supported for directory bucket lifecycle configurations.
6522
+ #
6523
+ # </note>
6524
+ #
6388
6525
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6389
6526
  #
6390
6527
  # * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array&lt;Types::LifecycleRule&gt;
@@ -6465,7 +6602,7 @@ module Aws::S3
6465
6602
  req.send_request(options)
6466
6603
  end
6467
6604
 
6468
- # <note markdown="1"> This operation is not supported by directory buckets.
6605
+ # <note markdown="1"> This operation is not supported for directory buckets.
6469
6606
  #
6470
6607
  # </note>
6471
6608
  #
@@ -6562,7 +6699,7 @@ module Aws::S3
6562
6699
  req.send_request(options)
6563
6700
  end
6564
6701
 
6565
- # <note markdown="1"> This operation is not supported by directory buckets.
6702
+ # <note markdown="1"> This operation is not supported for directory buckets.
6566
6703
  #
6567
6704
  # </note>
6568
6705
  #
@@ -6621,7 +6758,7 @@ module Aws::S3
6621
6758
  req.send_request(options)
6622
6759
  end
6623
6760
 
6624
- # <note markdown="1"> This operation is not supported by directory buckets.
6761
+ # <note markdown="1"> This operation is not supported for directory buckets.
6625
6762
  #
6626
6763
  # </note>
6627
6764
  #
@@ -6707,7 +6844,7 @@ module Aws::S3
6707
6844
  req.send_request(options)
6708
6845
  end
6709
6846
 
6710
- # <note markdown="1"> This operation is not supported by directory buckets.
6847
+ # <note markdown="1"> This operation is not supported for directory buckets.
6711
6848
  #
6712
6849
  # </note>
6713
6850
  #
@@ -6838,7 +6975,7 @@ module Aws::S3
6838
6975
  req.send_request(options)
6839
6976
  end
6840
6977
 
6841
- # <note markdown="1"> This operation is not supported by directory buckets.
6978
+ # <note markdown="1"> This operation is not supported for directory buckets.
6842
6979
  #
6843
6980
  # </note>
6844
6981
  #
@@ -6953,7 +7090,7 @@ module Aws::S3
6953
7090
  req.send_request(options)
6954
7091
  end
6955
7092
 
6956
- # <note markdown="1"> This operation is not supported by directory buckets.
7093
+ # <note markdown="1"> This operation is not supported for directory buckets.
6957
7094
  #
6958
7095
  # </note>
6959
7096
  #
@@ -7170,7 +7307,7 @@ module Aws::S3
7170
7307
  req.send_request(options, &block)
7171
7308
  end
7172
7309
 
7173
- # <note markdown="1"> This operation is not supported by directory buckets.
7310
+ # <note markdown="1"> This operation is not supported for directory buckets.
7174
7311
  #
7175
7312
  # </note>
7176
7313
  #
@@ -7235,7 +7372,7 @@ module Aws::S3
7235
7372
  req.send_request(options)
7236
7373
  end
7237
7374
 
7238
- # <note markdown="1"> This operation is not supported by directory buckets.
7375
+ # <note markdown="1"> This operation is not supported for directory buckets.
7239
7376
  #
7240
7377
  # </note>
7241
7378
  #
@@ -7358,7 +7495,7 @@ module Aws::S3
7358
7495
  req.send_request(options)
7359
7496
  end
7360
7497
 
7361
- # <note markdown="1"> This operation is not supported by directory buckets.
7498
+ # <note markdown="1"> This operation is not supported for directory buckets.
7362
7499
  #
7363
7500
  # </note>
7364
7501
  #
@@ -7424,7 +7561,7 @@ module Aws::S3
7424
7561
  req.send_request(options)
7425
7562
  end
7426
7563
 
7427
- # <note markdown="1"> This operation is not supported by directory buckets.
7564
+ # <note markdown="1"> This operation is not supported for directory buckets.
7428
7565
  #
7429
7566
  # </note>
7430
7567
  #
@@ -7510,7 +7647,7 @@ module Aws::S3
7510
7647
  req.send_request(options)
7511
7648
  end
7512
7649
 
7513
- # <note markdown="1"> This operation is not supported by directory buckets.
7650
+ # <note markdown="1"> This operation is not supported for directory buckets.
7514
7651
  #
7515
7652
  # </note>
7516
7653
  #
@@ -7587,7 +7724,7 @@ module Aws::S3
7587
7724
  req.send_request(options)
7588
7725
  end
7589
7726
 
7590
- # <note markdown="1"> This operation is not supported by directory buckets.
7727
+ # <note markdown="1"> This operation is not supported for directory buckets.
7591
7728
  #
7592
7729
  # </note>
7593
7730
  #
@@ -8193,49 +8330,49 @@ module Aws::S3
8193
8330
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8194
8331
  #
8195
8332
  #
8196
- # @example Example: To retrieve an object
8333
+ # @example Example: To retrieve a byte range of an object
8197
8334
  #
8198
- # # The following example retrieves an object for an S3 bucket.
8335
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8336
+ # # specific byte range.
8199
8337
  #
8200
8338
  # resp = client.get_object({
8201
8339
  # bucket: "examplebucket",
8202
- # key: "HappyFace.jpg",
8340
+ # key: "SampleFile.txt",
8341
+ # range: "bytes=0-9",
8203
8342
  # })
8204
8343
  #
8205
8344
  # resp.to_h outputs the following:
8206
8345
  # {
8207
8346
  # accept_ranges: "bytes",
8208
- # content_length: 3191,
8209
- # content_type: "image/jpeg",
8210
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8211
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8347
+ # content_length: 10,
8348
+ # content_range: "bytes 0-9/43",
8349
+ # content_type: "text/plain",
8350
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8351
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8212
8352
  # metadata: {
8213
8353
  # },
8214
- # tag_count: 2,
8215
8354
  # version_id: "null",
8216
8355
  # }
8217
8356
  #
8218
- # @example Example: To retrieve a byte range of an object
8357
+ # @example Example: To retrieve an object
8219
8358
  #
8220
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8221
- # # specific byte range.
8359
+ # # The following example retrieves an object for an S3 bucket.
8222
8360
  #
8223
8361
  # resp = client.get_object({
8224
8362
  # bucket: "examplebucket",
8225
- # key: "SampleFile.txt",
8226
- # range: "bytes=0-9",
8363
+ # key: "HappyFace.jpg",
8227
8364
  # })
8228
8365
  #
8229
8366
  # resp.to_h outputs the following:
8230
8367
  # {
8231
8368
  # accept_ranges: "bytes",
8232
- # content_length: 10,
8233
- # content_range: "bytes 0-9/43",
8234
- # content_type: "text/plain",
8235
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8236
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8369
+ # content_length: 3191,
8370
+ # content_type: "image/jpeg",
8371
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8372
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8237
8373
  # metadata: {
8238
8374
  # },
8375
+ # tag_count: 2,
8239
8376
  # version_id: "null",
8240
8377
  # }
8241
8378
  #
@@ -8344,7 +8481,7 @@ module Aws::S3
8344
8481
  req.send_request(options, &block)
8345
8482
  end
8346
8483
 
8347
- # <note markdown="1"> This operation is not supported by directory buckets.
8484
+ # <note markdown="1"> This operation is not supported for directory buckets.
8348
8485
  #
8349
8486
  # </note>
8350
8487
  #
@@ -8887,7 +9024,7 @@ module Aws::S3
8887
9024
  req.send_request(options)
8888
9025
  end
8889
9026
 
8890
- # <note markdown="1"> This operation is not supported by directory buckets.
9027
+ # <note markdown="1"> This operation is not supported for directory buckets.
8891
9028
  #
8892
9029
  # </note>
8893
9030
  #
@@ -8983,7 +9120,7 @@ module Aws::S3
8983
9120
  req.send_request(options)
8984
9121
  end
8985
9122
 
8986
- # <note markdown="1"> This operation is not supported by directory buckets.
9123
+ # <note markdown="1"> This operation is not supported for directory buckets.
8987
9124
  #
8988
9125
  # </note>
8989
9126
  #
@@ -9053,7 +9190,7 @@ module Aws::S3
9053
9190
  req.send_request(options)
9054
9191
  end
9055
9192
 
9056
- # <note markdown="1"> This operation is not supported by directory buckets.
9193
+ # <note markdown="1"> This operation is not supported for directory buckets.
9057
9194
  #
9058
9195
  # </note>
9059
9196
  #
@@ -9150,7 +9287,7 @@ module Aws::S3
9150
9287
  req.send_request(options)
9151
9288
  end
9152
9289
 
9153
- # <note markdown="1"> This operation is not supported by directory buckets.
9290
+ # <note markdown="1"> This operation is not supported for directory buckets.
9154
9291
  #
9155
9292
  # </note>
9156
9293
  #
@@ -9319,7 +9456,7 @@ module Aws::S3
9319
9456
  req.send_request(options)
9320
9457
  end
9321
9458
 
9322
- # <note markdown="1"> This operation is not supported by directory buckets.
9459
+ # <note markdown="1"> This operation is not supported for directory buckets.
9323
9460
  #
9324
9461
  # </note>
9325
9462
  #
@@ -9420,7 +9557,7 @@ module Aws::S3
9420
9557
  req.send_request(options, &block)
9421
9558
  end
9422
9559
 
9423
- # <note markdown="1"> This operation is not supported by directory buckets.
9560
+ # <note markdown="1"> This operation is not supported for directory buckets.
9424
9561
  #
9425
9562
  # </note>
9426
9563
  #
@@ -9782,7 +9919,7 @@ module Aws::S3
9782
9919
  # a `405 Method Not Allowed` error and the `Last-Modified:
9783
9920
  # timestamp` response header.
9784
9921
  #
9785
- # <note markdown="1"> * **Directory buckets** - Delete marker is not supported by
9922
+ # <note markdown="1"> * **Directory buckets** - Delete marker is not supported for
9786
9923
  # directory buckets.
9787
9924
  #
9788
9925
  # * **Directory buckets** - S3 Versioning isn't enabled and supported
@@ -10193,7 +10330,7 @@ module Aws::S3
10193
10330
  req.send_request(options)
10194
10331
  end
10195
10332
 
10196
- # <note markdown="1"> This operation is not supported by directory buckets.
10333
+ # <note markdown="1"> This operation is not supported for directory buckets.
10197
10334
  #
10198
10335
  # </note>
10199
10336
  #
@@ -10294,7 +10431,7 @@ module Aws::S3
10294
10431
  req.send_request(options)
10295
10432
  end
10296
10433
 
10297
- # <note markdown="1"> This operation is not supported by directory buckets.
10434
+ # <note markdown="1"> This operation is not supported for directory buckets.
10298
10435
  #
10299
10436
  # </note>
10300
10437
  #
@@ -10386,7 +10523,7 @@ module Aws::S3
10386
10523
  req.send_request(options)
10387
10524
  end
10388
10525
 
10389
- # <note markdown="1"> This operation is not supported by directory buckets.
10526
+ # <note markdown="1"> This operation is not supported for directory buckets.
10390
10527
  #
10391
10528
  # </note>
10392
10529
  #
@@ -10488,7 +10625,7 @@ module Aws::S3
10488
10625
  req.send_request(options)
10489
10626
  end
10490
10627
 
10491
- # <note markdown="1"> This operation is not supported by directory buckets.
10628
+ # <note markdown="1"> This operation is not supported for directory buckets.
10492
10629
  #
10493
10630
  # </note>
10494
10631
  #
@@ -10590,24 +10727,25 @@ module Aws::S3
10590
10727
  req.send_request(options)
10591
10728
  end
10592
10729
 
10593
- # <note markdown="1"> This operation is not supported by directory buckets.
10730
+ # <note markdown="1"> This operation is not supported for directory buckets.
10594
10731
  #
10595
10732
  # </note>
10596
10733
  #
10597
10734
  # Returns a list of all buckets owned by the authenticated sender of the
10598
- # request. To use this operation, you must have the
10599
- # `s3:ListAllMyBuckets` permission.
10735
+ # request. To grant IAM permission to use this operation, you must add
10736
+ # the `s3:ListAllMyBuckets` policy action.
10600
10737
  #
10601
10738
  # For information about Amazon S3 buckets, see [Creating, configuring,
10602
10739
  # and working with Amazon S3 buckets][1].
10603
10740
  #
10604
- # We strongly recommend using only paginated requests. Unpaginated
10605
- # requests are only supported for Amazon Web Services accounts set to
10606
- # the default general purpose bucket quota of 10,000. If you have an
10607
- # approved general purpose bucket quota above 10,000, you must send
10608
- # paginated requests to list your account’s buckets. All unpaginated
10609
- # ListBuckets requests will be rejected for Amazon Web Services accounts
10610
- # with a general purpose bucket quota greater than 10,000.
10741
+ # We strongly recommend using only paginated `ListBuckets` requests.
10742
+ # Unpaginated `ListBuckets` requests are only supported for Amazon Web
10743
+ # Services accounts set to the default general purpose bucket quota of
10744
+ # 10,000. If you have an approved general purpose bucket quota above
10745
+ # 10,000, you must send paginated `ListBuckets` requests to list your
10746
+ # account’s buckets. All unpaginated `ListBuckets` requests will be
10747
+ # rejected for Amazon Web Services accounts with a general purpose
10748
+ # bucket quota greater than 10,000.
10611
10749
  #
10612
10750
  #
10613
10751
  #
@@ -11105,97 +11243,97 @@ module Aws::S3
11105
11243
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11106
11244
  #
11107
11245
  #
11108
- # @example Example: List next set of multipart uploads when previous result is truncated
11246
+ # @example Example: To list in-progress multipart uploads on a bucket
11109
11247
  #
11110
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11111
- # # setup of multipart uploads.
11248
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11112
11249
  #
11113
11250
  # resp = client.list_multipart_uploads({
11114
11251
  # bucket: "examplebucket",
11115
- # key_marker: "nextkeyfrompreviousresponse",
11116
- # max_uploads: 2,
11117
- # upload_id_marker: "valuefrompreviousresponse",
11118
11252
  # })
11119
11253
  #
11120
11254
  # resp.to_h outputs the following:
11121
11255
  # {
11122
- # bucket: "acl1",
11123
- # is_truncated: true,
11124
- # key_marker: "",
11125
- # max_uploads: 2,
11126
- # next_key_marker: "someobjectkey",
11127
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11128
- # upload_id_marker: "",
11129
11256
  # uploads: [
11130
11257
  # {
11131
11258
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11132
11259
  # initiator: {
11133
- # display_name: "ownder-display-name",
11260
+ # display_name: "display-name",
11134
11261
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11135
11262
  # },
11136
11263
  # key: "JavaFile",
11137
11264
  # owner: {
11138
- # display_name: "mohanataws",
11139
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11265
+ # display_name: "display-name",
11266
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11140
11267
  # },
11141
11268
  # storage_class: "STANDARD",
11142
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11269
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11143
11270
  # },
11144
11271
  # {
11145
11272
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11146
11273
  # initiator: {
11147
- # display_name: "ownder-display-name",
11274
+ # display_name: "display-name",
11148
11275
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11149
11276
  # },
11150
11277
  # key: "JavaFile",
11151
11278
  # owner: {
11152
- # display_name: "ownder-display-name",
11279
+ # display_name: "display-name",
11153
11280
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11154
11281
  # },
11155
11282
  # storage_class: "STANDARD",
11156
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11283
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11157
11284
  # },
11158
11285
  # ],
11159
11286
  # }
11160
11287
  #
11161
- # @example Example: To list in-progress multipart uploads on a bucket
11288
+ # @example Example: List next set of multipart uploads when previous result is truncated
11162
11289
  #
11163
- # # The following example lists in-progress multipart uploads on a specific bucket.
11290
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11291
+ # # setup of multipart uploads.
11164
11292
  #
11165
11293
  # resp = client.list_multipart_uploads({
11166
11294
  # bucket: "examplebucket",
11295
+ # key_marker: "nextkeyfrompreviousresponse",
11296
+ # max_uploads: 2,
11297
+ # upload_id_marker: "valuefrompreviousresponse",
11167
11298
  # })
11168
11299
  #
11169
11300
  # resp.to_h outputs the following:
11170
11301
  # {
11302
+ # bucket: "acl1",
11303
+ # is_truncated: true,
11304
+ # key_marker: "",
11305
+ # max_uploads: 2,
11306
+ # next_key_marker: "someobjectkey",
11307
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11308
+ # upload_id_marker: "",
11171
11309
  # uploads: [
11172
11310
  # {
11173
11311
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11174
11312
  # initiator: {
11175
- # display_name: "display-name",
11313
+ # display_name: "ownder-display-name",
11176
11314
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11177
11315
  # },
11178
11316
  # key: "JavaFile",
11179
11317
  # owner: {
11180
- # display_name: "display-name",
11181
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11318
+ # display_name: "mohanataws",
11319
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11182
11320
  # },
11183
11321
  # storage_class: "STANDARD",
11184
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11322
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11185
11323
  # },
11186
11324
  # {
11187
11325
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11188
11326
  # initiator: {
11189
- # display_name: "display-name",
11327
+ # display_name: "ownder-display-name",
11190
11328
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11191
11329
  # },
11192
11330
  # key: "JavaFile",
11193
11331
  # owner: {
11194
- # display_name: "display-name",
11332
+ # display_name: "ownder-display-name",
11195
11333
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11196
11334
  # },
11197
11335
  # storage_class: "STANDARD",
11198
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11336
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11199
11337
  # },
11200
11338
  # ],
11201
11339
  # }
@@ -11249,7 +11387,7 @@ module Aws::S3
11249
11387
  req.send_request(options)
11250
11388
  end
11251
11389
 
11252
- # <note markdown="1"> This operation is not supported by directory buckets.
11390
+ # <note markdown="1"> This operation is not supported for directory buckets.
11253
11391
  #
11254
11392
  # </note>
11255
11393
  #
@@ -11488,7 +11626,7 @@ module Aws::S3
11488
11626
  req.send_request(options)
11489
11627
  end
11490
11628
 
11491
- # <note markdown="1"> This operation is not supported by directory buckets.
11629
+ # <note markdown="1"> This operation is not supported for directory buckets.
11492
11630
  #
11493
11631
  # </note>
11494
11632
  #
@@ -12382,7 +12520,7 @@ module Aws::S3
12382
12520
  req.send_request(options)
12383
12521
  end
12384
12522
 
12385
- # <note markdown="1"> This operation is not supported by directory buckets.
12523
+ # <note markdown="1"> This operation is not supported for directory buckets.
12386
12524
  #
12387
12525
  # </note>
12388
12526
  #
@@ -12481,7 +12619,7 @@ module Aws::S3
12481
12619
  req.send_request(options)
12482
12620
  end
12483
12621
 
12484
- # <note markdown="1"> This operation is not supported by directory buckets.
12622
+ # <note markdown="1"> This operation is not supported for directory buckets.
12485
12623
  #
12486
12624
  # </note>
12487
12625
  #
@@ -12774,7 +12912,7 @@ module Aws::S3
12774
12912
  req.send_request(options)
12775
12913
  end
12776
12914
 
12777
- # <note markdown="1"> This operation is not supported by directory buckets.
12915
+ # <note markdown="1"> This operation is not supported for directory buckets.
12778
12916
  #
12779
12917
  # </note>
12780
12918
  #
@@ -12910,7 +13048,7 @@ module Aws::S3
12910
13048
  req.send_request(options)
12911
13049
  end
12912
13050
 
12913
- # <note markdown="1"> This operation is not supported by directory buckets.
13051
+ # <note markdown="1"> This operation is not supported for directory buckets.
12914
13052
  #
12915
13053
  # </note>
12916
13054
  #
@@ -13317,7 +13455,7 @@ module Aws::S3
13317
13455
  req.send_request(options)
13318
13456
  end
13319
13457
 
13320
- # <note markdown="1"> This operation is not supported by directory buckets.
13458
+ # <note markdown="1"> This operation is not supported for directory buckets.
13321
13459
  #
13322
13460
  # </note>
13323
13461
  #
@@ -13442,7 +13580,7 @@ module Aws::S3
13442
13580
  req.send_request(options)
13443
13581
  end
13444
13582
 
13445
- # <note markdown="1"> This operation is not supported by directory buckets.
13583
+ # <note markdown="1"> This operation is not supported for directory buckets.
13446
13584
  #
13447
13585
  # </note>
13448
13586
  #
@@ -13594,15 +13732,15 @@ module Aws::S3
13594
13732
  req.send_request(options)
13595
13733
  end
13596
13734
 
13597
- # <note markdown="1"> This operation is not supported by directory buckets.
13598
- #
13599
- # </note>
13600
- #
13601
13735
  # For an updated version of this API, see
13602
13736
  # [PutBucketLifecycleConfiguration][1]. This version has been
13603
13737
  # deprecated. Existing lifecycle configurations will work. For new
13604
13738
  # lifecycle configurations, use the updated API.
13605
13739
  #
13740
+ # <note markdown="1"> This operation is not supported for directory buckets.
13741
+ #
13742
+ # </note>
13743
+ #
13606
13744
  # Creates a new lifecycle configuration for the bucket or replaces an
13607
13745
  # existing lifecycle configuration. For information about lifecycle
13608
13746
  # configuration, see [Object Lifecycle Management][2] in the *Amazon S3
@@ -13745,10 +13883,6 @@ module Aws::S3
13745
13883
  req.send_request(options)
13746
13884
  end
13747
13885
 
13748
- # <note markdown="1"> This operation is not supported by directory buckets.
13749
- #
13750
- # </note>
13751
- #
13752
13886
  # Creates a new lifecycle configuration for the bucket or replaces an
13753
13887
  # existing lifecycle configuration. Keep in mind that this will
13754
13888
  # overwrite an existing lifecycle configuration, so if you want to
@@ -13757,6 +13891,8 @@ module Aws::S3
13757
13891
  # configuration, see [Managing your storage lifecycle][1].
13758
13892
  #
13759
13893
  # Rules
13894
+ # Permissions
13895
+ # HTTP Host header syntax
13760
13896
  #
13761
13897
  # : You specify the lifecycle configuration in your request body. The
13762
13898
  # lifecycle configuration is specified as XML consisting of one or
@@ -13768,8 +13904,14 @@ module Aws::S3
13768
13904
  # size, or any combination of these. Accordingly, this section
13769
13905
  # describes the latest API. The previous version of the API supported
13770
13906
  # filtering based only on an object key name prefix, which is
13771
- # supported for backward compatibility. For the related API
13772
- # description, see [PutBucketLifecycle][2].
13907
+ # supported for backward compatibility for general purpose buckets.
13908
+ # For the related API description, see [PutBucketLifecycle][2].
13909
+ #
13910
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
13911
+ # objects and cancelling multipart uploads. Expiring of versioned
13912
+ # objects,transitions and tag filters are not supported.
13913
+ #
13914
+ # </note>
13773
13915
  #
13774
13916
  # A lifecycle rule consists of the following:
13775
13917
  #
@@ -13789,40 +13931,61 @@ module Aws::S3
13789
13931
  #
13790
13932
  # For more information, see [Object Lifecycle Management][3] and
13791
13933
  # [Lifecycle Configuration Elements][4].
13934
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
13935
+ # resources are private, including buckets, objects, and related
13936
+ # subresources (for example, lifecycle configuration and website
13937
+ # configuration). Only the resource owner (that is, the Amazon Web
13938
+ # Services account that created it) can access the resource. The
13939
+ # resource owner can optionally grant access permissions to others
13940
+ # by writing an access policy. For this operation, a user must have
13941
+ # the `s3:PutLifecycleConfiguration` permission.
13792
13942
  #
13793
- # Permissions
13943
+ # You can also explicitly deny permissions. An explicit deny also
13944
+ # supersedes any other permissions. If you want to block users or
13945
+ # accounts from removing or deleting objects from your bucket, you
13946
+ # must deny them permissions for the following actions:
13794
13947
  #
13795
- # : By default, all Amazon S3 resources are private, including buckets,
13796
- # objects, and related subresources (for example, lifecycle
13797
- # configuration and website configuration). Only the resource owner
13798
- # (that is, the Amazon Web Services account that created it) can
13799
- # access the resource. The resource owner can optionally grant access
13800
- # permissions to others by writing an access policy. For this
13801
- # operation, a user must get the `s3:PutLifecycleConfiguration`
13802
- # permission.
13948
+ # * `s3:DeleteObject`
13803
13949
  #
13804
- # You can also explicitly deny permissions. An explicit deny also
13805
- # supersedes any other permissions. If you want to block users or
13806
- # accounts from removing or deleting objects from your bucket, you
13807
- # must deny them permissions for the following actions:
13950
+ # * `s3:DeleteObjectVersion`
13808
13951
  #
13809
- # * `s3:DeleteObject`
13952
+ # * `s3:PutLifecycleConfiguration`
13810
13953
  #
13811
- # * `s3:DeleteObjectVersion`
13954
+ # For more information about permissions, see [Managing Access
13955
+ # Permissions to Your Amazon S3 Resources][5].
13956
+ # ^
13812
13957
  #
13813
- # * `s3:PutLifecycleConfiguration`
13958
+ # * **Directory bucket permissions** - You must have the
13959
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
13960
+ # identity-based policy to use this operation. Cross-account access
13961
+ # to this API operation isn't supported. The resource owner can
13962
+ # optionally grant access permissions to others by creating a role
13963
+ # or user for them as long as they are within the same account as
13964
+ # the owner and resource.
13965
+ #
13966
+ # For more information about directory bucket policies and
13967
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][6]
13968
+ # in the *Amazon S3 User Guide*.
13814
13969
  #
13815
- # For more information about permissions, see [Managing Access
13816
- # Permissions to Your Amazon S3 Resources][5].
13970
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13971
+ # requests for this API operation to the Regional endpoint. These
13972
+ # endpoints support path-style requests in the format
13973
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
13974
+ # `. Virtual-hosted-style requests aren't supported. For more
13975
+ # information, see [Regional and Zonal endpoints][7] in the *Amazon
13976
+ # S3 User Guide*.
13817
13977
  #
13818
- # The following operations are related to
13819
- # `PutBucketLifecycleConfiguration`:
13978
+ # </note>
13820
13979
  #
13821
- # * [Examples of Lifecycle Configuration][6]
13980
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
13981
+ # `s3express-control.region.amazonaws.com`.
13982
+ #
13983
+ # The following operations are related to
13984
+ # `PutBucketLifecycleConfiguration`:
13822
13985
  #
13823
- # * [GetBucketLifecycleConfiguration][7]
13986
+ # * [GetBucketLifecycleConfiguration][8]
13824
13987
  #
13825
- # * [DeleteBucketLifecycle][8]
13988
+ # * [DeleteBucketLifecycle][9]
13826
13989
  #
13827
13990
  #
13828
13991
  #
@@ -13831,9 +13994,10 @@ module Aws::S3
13831
13994
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13832
13995
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
13833
13996
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13834
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
13835
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
13836
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
13997
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
13998
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
13999
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14000
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
13837
14001
  #
13838
14002
  # @option params [required, String] :bucket
13839
14003
  # The name of the bucket for which to set the configuration.
@@ -13862,10 +14026,20 @@ module Aws::S3
13862
14026
  # you provide does not match the actual owner of the bucket, the request
13863
14027
  # fails with the HTTP status code `403 Forbidden` (access denied).
13864
14028
  #
14029
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14030
+ # supported for directory bucket lifecycle configurations.
14031
+ #
14032
+ # </note>
14033
+ #
13865
14034
  # @option params [String] :transition_default_minimum_object_size
13866
14035
  # Indicates which default minimum object size behavior is applied to the
13867
14036
  # lifecycle configuration.
13868
14037
  #
14038
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14039
+ # supported for directory bucket lifecycle configurations.
14040
+ #
14041
+ # </note>
14042
+ #
13869
14043
  # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
13870
14044
  # transition to any storage class by default.
13871
14045
  #
@@ -13989,7 +14163,7 @@ module Aws::S3
13989
14163
  req.send_request(options)
13990
14164
  end
13991
14165
 
13992
- # <note markdown="1"> This operation is not supported by directory buckets.
14166
+ # <note markdown="1"> This operation is not supported for directory buckets.
13993
14167
  #
13994
14168
  # </note>
13995
14169
  #
@@ -14172,7 +14346,7 @@ module Aws::S3
14172
14346
  req.send_request(options)
14173
14347
  end
14174
14348
 
14175
- # <note markdown="1"> This operation is not supported by directory buckets.
14349
+ # <note markdown="1"> This operation is not supported for directory buckets.
14176
14350
  #
14177
14351
  # </note>
14178
14352
  #
@@ -14276,7 +14450,7 @@ module Aws::S3
14276
14450
  req.send_request(options)
14277
14451
  end
14278
14452
 
14279
- # <note markdown="1"> This operation is not supported by directory buckets.
14453
+ # <note markdown="1"> This operation is not supported for directory buckets.
14280
14454
  #
14281
14455
  # </note>
14282
14456
  #
@@ -14362,7 +14536,7 @@ module Aws::S3
14362
14536
  req.send_request(options)
14363
14537
  end
14364
14538
 
14365
- # <note markdown="1"> This operation is not supported by directory buckets.
14539
+ # <note markdown="1"> This operation is not supported for directory buckets.
14366
14540
  #
14367
14541
  # </note>
14368
14542
  #
@@ -14546,7 +14720,7 @@ module Aws::S3
14546
14720
  req.send_request(options)
14547
14721
  end
14548
14722
 
14549
- # <note markdown="1"> This operation is not supported by directory buckets.
14723
+ # <note markdown="1"> This operation is not supported for directory buckets.
14550
14724
  #
14551
14725
  # </note>
14552
14726
  #
@@ -14815,7 +14989,7 @@ module Aws::S3
14815
14989
  req.send_request(options)
14816
14990
  end
14817
14991
 
14818
- # <note markdown="1"> This operation is not supported by directory buckets.
14992
+ # <note markdown="1"> This operation is not supported for directory buckets.
14819
14993
  #
14820
14994
  # </note>
14821
14995
  #
@@ -15053,7 +15227,7 @@ module Aws::S3
15053
15227
  req.send_request(options)
15054
15228
  end
15055
15229
 
15056
- # <note markdown="1"> This operation is not supported by directory buckets.
15230
+ # <note markdown="1"> This operation is not supported for directory buckets.
15057
15231
  #
15058
15232
  # </note>
15059
15233
  #
@@ -15150,7 +15324,7 @@ module Aws::S3
15150
15324
  req.send_request(options)
15151
15325
  end
15152
15326
 
15153
- # <note markdown="1"> This operation is not supported by directory buckets.
15327
+ # <note markdown="1"> This operation is not supported for directory buckets.
15154
15328
  #
15155
15329
  # </note>
15156
15330
  #
@@ -15301,7 +15475,7 @@ module Aws::S3
15301
15475
  req.send_request(options)
15302
15476
  end
15303
15477
 
15304
- # <note markdown="1"> This operation is not supported by directory buckets.
15478
+ # <note markdown="1"> This operation is not supported for directory buckets.
15305
15479
  #
15306
15480
  # </note>
15307
15481
  #
@@ -15440,7 +15614,7 @@ module Aws::S3
15440
15614
  req.send_request(options)
15441
15615
  end
15442
15616
 
15443
- # <note markdown="1"> This operation is not supported by directory buckets.
15617
+ # <note markdown="1"> This operation is not supported for directory buckets.
15444
15618
  #
15445
15619
  # </note>
15446
15620
  #
@@ -16058,6 +16232,17 @@ module Aws::S3
16058
16232
  # @option params [required, String] :key
16059
16233
  # Object key for which the PUT action was initiated.
16060
16234
  #
16235
+ # @option params [Integer] :write_offset_bytes
16236
+ # Specifies the offset for appending data to existing objects in bytes.
16237
+ # The offset must be equal to the size of the existing object being
16238
+ # appended to. If no object exists, setting this header to 0 will create
16239
+ # a new object.
16240
+ #
16241
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
16242
+ # Express One Zone storage class in directory buckets.
16243
+ #
16244
+ # </note>
16245
+ #
16061
16246
  # @option params [Hash<String,String>] :metadata
16062
16247
  # A map of metadata to store with the object in S3.
16063
16248
  #
@@ -16360,6 +16545,7 @@ module Aws::S3
16360
16545
  # * {Types::PutObjectOutput#ssekms_key_id #ssekms_key_id} => String
16361
16546
  # * {Types::PutObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
16362
16547
  # * {Types::PutObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
16548
+ # * {Types::PutObjectOutput#size #size} => Integer
16363
16549
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16364
16550
  #
16365
16551
  #
@@ -16399,24 +16585,21 @@ module Aws::S3
16399
16585
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16400
16586
  # }
16401
16587
  #
16402
- # @example Example: To upload an object and specify server-side encryption and object tags
16588
+ # @example Example: To upload an object
16403
16589
  #
16404
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16405
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16590
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16591
+ # # syntax. S3 returns VersionId of the newly created object.
16406
16592
  #
16407
16593
  # resp = client.put_object({
16408
- # body: "filetoupload",
16594
+ # body: "HappyFace.jpg",
16409
16595
  # bucket: "examplebucket",
16410
- # key: "exampleobject",
16411
- # server_side_encryption: "AES256",
16412
- # tagging: "key1=value1&key2=value2",
16596
+ # key: "HappyFace.jpg",
16413
16597
  # })
16414
16598
  #
16415
16599
  # resp.to_h outputs the following:
16416
16600
  # {
16417
16601
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16418
- # server_side_encryption: "AES256",
16419
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16602
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16420
16603
  # }
16421
16604
  #
16422
16605
  # @example Example: To upload object and specify user-defined metadata
@@ -16440,57 +16623,60 @@ module Aws::S3
16440
16623
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16441
16624
  # }
16442
16625
  #
16443
- # @example Example: To upload an object (specify optional headers)
16626
+ # @example Example: To create an object.
16444
16627
  #
16445
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
16446
- # # storage class and use server-side encryption.
16628
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16447
16629
  #
16448
16630
  # resp = client.put_object({
16449
- # body: "HappyFace.jpg",
16631
+ # body: "filetoupload",
16450
16632
  # bucket: "examplebucket",
16451
- # key: "HappyFace.jpg",
16452
- # server_side_encryption: "AES256",
16453
- # storage_class: "STANDARD_IA",
16633
+ # key: "objectkey",
16454
16634
  # })
16455
16635
  #
16456
16636
  # resp.to_h outputs the following:
16457
16637
  # {
16458
16638
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16459
- # server_side_encryption: "AES256",
16460
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16639
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16461
16640
  # }
16462
16641
  #
16463
- # @example Example: To create an object.
16642
+ # @example Example: To upload an object (specify optional headers)
16464
16643
  #
16465
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16644
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
16645
+ # # storage class and use server-side encryption.
16466
16646
  #
16467
16647
  # resp = client.put_object({
16468
- # body: "filetoupload",
16648
+ # body: "HappyFace.jpg",
16469
16649
  # bucket: "examplebucket",
16470
- # key: "objectkey",
16650
+ # key: "HappyFace.jpg",
16651
+ # server_side_encryption: "AES256",
16652
+ # storage_class: "STANDARD_IA",
16471
16653
  # })
16472
16654
  #
16473
16655
  # resp.to_h outputs the following:
16474
16656
  # {
16475
16657
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16476
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16658
+ # server_side_encryption: "AES256",
16659
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16477
16660
  # }
16478
16661
  #
16479
- # @example Example: To upload an object
16662
+ # @example Example: To upload an object and specify server-side encryption and object tags
16480
16663
  #
16481
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16482
- # # syntax. S3 returns VersionId of the newly created object.
16664
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16665
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16483
16666
  #
16484
16667
  # resp = client.put_object({
16485
- # body: "HappyFace.jpg",
16668
+ # body: "filetoupload",
16486
16669
  # bucket: "examplebucket",
16487
- # key: "HappyFace.jpg",
16670
+ # key: "exampleobject",
16671
+ # server_side_encryption: "AES256",
16672
+ # tagging: "key1=value1&key2=value2",
16488
16673
  # })
16489
16674
  #
16490
16675
  # resp.to_h outputs the following:
16491
16676
  # {
16492
16677
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16493
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16678
+ # server_side_encryption: "AES256",
16679
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16494
16680
  # }
16495
16681
  #
16496
16682
  # @example Streaming a file from disk
@@ -16524,6 +16710,7 @@ module Aws::S3
16524
16710
  # grant_read_acp: "GrantReadACP",
16525
16711
  # grant_write_acp: "GrantWriteACP",
16526
16712
  # key: "ObjectKey", # required
16713
+ # write_offset_bytes: 1,
16527
16714
  # metadata: {
16528
16715
  # "MetadataKey" => "MetadataValue",
16529
16716
  # },
@@ -16559,6 +16746,7 @@ module Aws::S3
16559
16746
  # resp.ssekms_key_id #=> String
16560
16747
  # resp.ssekms_encryption_context #=> String
16561
16748
  # resp.bucket_key_enabled #=> Boolean
16749
+ # resp.size #=> Integer
16562
16750
  # resp.request_charged #=> String, one of "requester"
16563
16751
  #
16564
16752
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject AWS API Documentation
@@ -16570,7 +16758,7 @@ module Aws::S3
16570
16758
  req.send_request(options)
16571
16759
  end
16572
16760
 
16573
- # <note markdown="1"> This operation is not supported by directory buckets.
16761
+ # <note markdown="1"> This operation is not supported for directory buckets.
16574
16762
  #
16575
16763
  # </note>
16576
16764
  #
@@ -16939,7 +17127,7 @@ module Aws::S3
16939
17127
  req.send_request(options)
16940
17128
  end
16941
17129
 
16942
- # <note markdown="1"> This operation is not supported by directory buckets.
17130
+ # <note markdown="1"> This operation is not supported for directory buckets.
16943
17131
  #
16944
17132
  # </note>
16945
17133
  #
@@ -17058,7 +17246,7 @@ module Aws::S3
17058
17246
  req.send_request(options)
17059
17247
  end
17060
17248
 
17061
- # <note markdown="1"> This operation is not supported by directory buckets.
17249
+ # <note markdown="1"> This operation is not supported for directory buckets.
17062
17250
  #
17063
17251
  # </note>
17064
17252
  #
@@ -17177,7 +17365,7 @@ module Aws::S3
17177
17365
  req.send_request(options)
17178
17366
  end
17179
17367
 
17180
- # <note markdown="1"> This operation is not supported by directory buckets.
17368
+ # <note markdown="1"> This operation is not supported for directory buckets.
17181
17369
  #
17182
17370
  # </note>
17183
17371
  #
@@ -17306,7 +17494,7 @@ module Aws::S3
17306
17494
  req.send_request(options)
17307
17495
  end
17308
17496
 
17309
- # <note markdown="1"> This operation is not supported by directory buckets.
17497
+ # <note markdown="1"> This operation is not supported for directory buckets.
17310
17498
  #
17311
17499
  # </note>
17312
17500
  #
@@ -17505,7 +17693,7 @@ module Aws::S3
17505
17693
  req.send_request(options)
17506
17694
  end
17507
17695
 
17508
- # <note markdown="1"> This operation is not supported by directory buckets.
17696
+ # <note markdown="1"> This operation is not supported for directory buckets.
17509
17697
  #
17510
17698
  # </note>
17511
17699
  #
@@ -17613,7 +17801,7 @@ module Aws::S3
17613
17801
  req.send_request(options)
17614
17802
  end
17615
17803
 
17616
- # <note markdown="1"> This operation is not supported by directory buckets.
17804
+ # <note markdown="1"> This operation is not supported for directory buckets.
17617
17805
  #
17618
17806
  # </note>
17619
17807
  #
@@ -17997,7 +18185,7 @@ module Aws::S3
17997
18185
  req.send_request(options)
17998
18186
  end
17999
18187
 
18000
- # <note markdown="1"> This operation is not supported by directory buckets.
18188
+ # <note markdown="1"> This operation is not supported for directory buckets.
18001
18189
  #
18002
18190
  # </note>
18003
18191
  #
@@ -19429,7 +19617,7 @@ module Aws::S3
19429
19617
  req.send_request(options)
19430
19618
  end
19431
19619
 
19432
- # <note markdown="1"> This operation is not supported by directory buckets.
19620
+ # <note markdown="1"> This operation is not supported for directory buckets.
19433
19621
  #
19434
19622
  # </note>
19435
19623
  #
@@ -19838,7 +20026,7 @@ module Aws::S3
19838
20026
  tracer: tracer
19839
20027
  )
19840
20028
  context[:gem_name] = 'aws-sdk-s3'
19841
- context[:gem_version] = '1.172.0'
20029
+ context[:gem_version] = '1.173.0'
19842
20030
  Seahorse::Client::Request.new(handlers, context)
19843
20031
  end
19844
20032