aws-sdk-s3 1.172.0 → 1.173.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -703,6 +703,18 @@ module Aws::S3
703
703
  # you provide does not match the actual owner of the bucket, the request
704
704
  # fails with the HTTP status code `403 Forbidden` (access denied).
705
705
  #
706
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_initiated_time
707
+ # If present, this header aborts an in progress multipart upload only if
708
+ # it was initiated on the provided timestamp. If the initiated timestamp
709
+ # of the multipart upload does not match the provided value, the
710
+ # operation returns a `412 Precondition Failed` error. If the initiated
711
+ # timestamp matches or if the multipart upload doesn’t exist, the
712
+ # operation returns a `204 Success (No Content)` response.
713
+ #
714
+ # <note markdown="1"> This functionality is only supported for directory buckets.
715
+ #
716
+ # </note>
717
+ #
706
718
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
719
  #
708
720
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -730,6 +742,7 @@ module Aws::S3
730
742
  # upload_id: "MultipartUploadId", # required
731
743
  # request_payer: "requester", # accepts requester
732
744
  # expected_bucket_owner: "AccountId",
745
+ # if_match_initiated_time: Time.now,
733
746
  # })
734
747
  #
735
748
  # @example Response structure
@@ -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