aws-sdk-s3 1.166.0 → 1.174.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -571,7 +571,7 @@ module Aws::S3
571
571
  # in-progress multipart uploads are aborted or completed. To delete
572
572
  # these in-progress multipart uploads, use the `ListMultipartUploads`
573
573
  # operation to list the in-progress multipart uploads in the bucket
574
- # and use the `AbortMultupartUpload` operation to abort all the
574
+ # and use the `AbortMultipartUpload` operation to abort all the
575
575
  # in-progress multipart uploads.
576
576
  #
577
577
  # * **Directory buckets** - For directory buckets, you must make
@@ -703,6 +703,18 @@ module Aws::S3
703
703
  # you provide does not match the actual owner of the bucket, the request
704
704
  # fails with the HTTP status code `403 Forbidden` (access denied).
705
705
  #
706
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_initiated_time
707
+ # If present, this header aborts an in progress multipart upload only if
708
+ # it was initiated on the provided timestamp. If the initiated timestamp
709
+ # of the multipart upload does not match the provided value, the
710
+ # operation returns a `412 Precondition Failed` error. If the initiated
711
+ # timestamp matches or if the multipart upload doesn’t exist, the
712
+ # operation returns a `204 Success (No Content)` response.
713
+ #
714
+ # <note markdown="1"> This functionality is only supported for directory buckets.
715
+ #
716
+ # </note>
717
+ #
706
718
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
719
  #
708
720
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -730,6 +742,7 @@ module Aws::S3
730
742
  # upload_id: "MultipartUploadId", # required
731
743
  # request_payer: "requester", # accepts requester
732
744
  # expected_bucket_owner: "AccountId",
745
+ # if_match_initiated_time: Time.now,
733
746
  # })
734
747
  #
735
748
  # @example Response structure
@@ -837,7 +850,6 @@ module Aws::S3
837
850
  # except the last part.
838
851
  #
839
852
  # * HTTP Status Code: 400 Bad Request
840
- #
841
853
  # * Error Code: `InvalidPart`
842
854
  #
843
855
  # * Description: One or more of the specified parts could not be
@@ -845,14 +857,12 @@ module Aws::S3
845
857
  # ETag might not have matched the uploaded part's ETag.
846
858
  #
847
859
  # * HTTP Status Code: 400 Bad Request
848
- #
849
860
  # * Error Code: `InvalidPartOrder`
850
861
  #
851
862
  # * Description: The list of parts was not in ascending order. The
852
863
  # parts list must be specified in order by part number.
853
864
  #
854
865
  # * HTTP Status Code: 400 Bad Request
855
- #
856
866
  # * Error Code: `NoSuchUpload`
857
867
  #
858
868
  # * Description: The specified multipart upload does not exist. The
@@ -949,9 +959,9 @@ module Aws::S3
949
959
  # @option params [String] :checksum_crc32
950
960
  # This header can be used as a data integrity check to verify that the
951
961
  # data received is the same data that was originally sent. This header
952
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
953
- # more information, see [Checking object integrity][1] in the *Amazon S3
954
- # User Guide*.
962
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
963
+ # For more information, see [Checking object integrity][1] in the
964
+ # *Amazon S3 User Guide*.
955
965
  #
956
966
  #
957
967
  #
@@ -960,7 +970,7 @@ module Aws::S3
960
970
  # @option params [String] :checksum_crc32c
961
971
  # This header can be used as a data integrity check to verify that the
962
972
  # data received is the same data that was originally sent. This header
963
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
973
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
964
974
  # For more information, see [Checking object integrity][1] in the
965
975
  # *Amazon S3 User Guide*.
966
976
  #
@@ -1012,6 +1022,27 @@ module Aws::S3
1012
1022
  # you provide does not match the actual owner of the bucket, the request
1013
1023
  # fails with the HTTP status code `403 Forbidden` (access denied).
1014
1024
  #
1025
+ # @option params [String] :if_match
1026
+ # Uploads the object only if the ETag (entity tag) value provided during
1027
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
1028
+ # values do not match, the operation returns a `412 Precondition Failed`
1029
+ # error.
1030
+ #
1031
+ # If a conflicting operation occurs during the upload S3 returns a `409
1032
+ # ConditionalRequestConflict` response. On a 409 failure you should
1033
+ # fetch the object's ETag, re-initiate the multipart upload with
1034
+ # `CreateMultipartUpload`, and re-upload each part.
1035
+ #
1036
+ # Expects the ETag value as a string.
1037
+ #
1038
+ # For more information about conditional requests, see [RFC 7232][1], or
1039
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
1040
+ #
1041
+ #
1042
+ #
1043
+ # [1]: https://tools.ietf.org/html/rfc7232
1044
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
1045
+ #
1015
1046
  # @option params [String] :if_none_match
1016
1047
  # Uploads the object only if the object key name does not already exist
1017
1048
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -1147,6 +1178,7 @@ module Aws::S3
1147
1178
  # checksum_sha256: "ChecksumSHA256",
1148
1179
  # request_payer: "requester", # accepts requester
1149
1180
  # expected_bucket_owner: "AccountId",
1181
+ # if_match: "IfMatch",
1150
1182
  # if_none_match: "IfNoneMatch",
1151
1183
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1152
1184
  # sse_customer_key: "SSECustomerKey",
@@ -1254,7 +1286,6 @@ module Aws::S3
1254
1286
  # * If the destination bucket is a general purpose bucket, you must
1255
1287
  # have <b> <code>s3:PutObject</code> </b> permission to write the
1256
1288
  # object copy to the destination bucket.
1257
- #
1258
1289
  # * **Directory bucket permissions** - You must have permissions in a
1259
1290
  # bucket policy or an IAM identity-based policy based on the source
1260
1291
  # and destination bucket types in a `CopyObject` operation.
@@ -1272,7 +1303,6 @@ module Aws::S3
1272
1303
  # `Action` element of a policy to write the object to the
1273
1304
  # destination. The `s3express:SessionMode` condition key can't be
1274
1305
  # set to `ReadOnly` on the copy destination bucket.
1275
- #
1276
1306
  # If the object is encrypted with SSE-KMS, you must also have the
1277
1307
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
1278
1308
  # identity-based policies and KMS key policies for the KMS key.
@@ -1779,17 +1809,17 @@ module Aws::S3
1779
1809
  # * To encrypt new object copies to a directory bucket with SSE-KMS, we
1780
1810
  # recommend you specify SSE-KMS as the directory bucket's default
1781
1811
  # encryption configuration with a KMS key (specifically, a [customer
1782
- # managed key][4]). [Amazon Web Services managed key][5] (`aws/s3`)
1783
- # isn't supported. Your SSE-KMS configuration can only support 1
1784
- # [customer managed key][4] per directory bucket for the lifetime of
1785
- # the bucket. After you specify a customer managed key for SSE-KMS,
1786
- # you can't override the customer managed key for the bucket's
1787
- # SSE-KMS configuration. Then, when you perform a `CopyObject`
1788
- # operation and want to specify server-side encryption settings for
1789
- # new object copies with SSE-KMS in the encryption-related request
1790
- # headers, you must ensure the encryption key is the same customer
1791
- # managed key that you specified for the directory bucket's default
1792
- # encryption configuration.
1812
+ # managed key][4]). The [Amazon Web Services managed key][5]
1813
+ # (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
1814
+ # support 1 [customer managed key][4] per directory bucket for the
1815
+ # lifetime of the bucket. After you specify a customer managed key for
1816
+ # SSE-KMS, you can't override the customer managed key for the
1817
+ # bucket's SSE-KMS configuration. Then, when you perform a
1818
+ # `CopyObject` operation and want to specify server-side encryption
1819
+ # settings for new object copies with SSE-KMS in the
1820
+ # encryption-related request headers, you must ensure the encryption
1821
+ # key is the same customer managed key that you specified for the
1822
+ # directory bucket's default encryption configuration.
1793
1823
  #
1794
1824
  #
1795
1825
  #
@@ -1903,14 +1933,19 @@ module Aws::S3
1903
1933
  # Guide*.
1904
1934
  #
1905
1935
  # **Directory buckets** - If you specify `x-amz-server-side-encryption`
1906
- # with `aws:kms`, you must specify the `
1907
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
1908
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
1909
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
1910
- # key ID or key ARN. The key alias format of the KMS key isn't
1911
- # supported. Your SSE-KMS configuration can only support 1 [customer
1912
- # managed key][2] per directory bucket for the lifetime of the bucket.
1913
- # [Amazon Web Services managed key][3] (`aws/s3`) isn't supported.
1936
+ # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
1937
+ # header is implicitly assigned the ID of the KMS symmetric encryption
1938
+ # customer managed key that's configured for your directory bucket's
1939
+ # default encryption setting. If you want to specify the `
1940
+ # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
1941
+ # can only specify it with the ID (Key ID or Key ARN) of the KMS
1942
+ # customer managed key that's configured for your directory bucket's
1943
+ # default encryption setting. Otherwise, you get an HTTP `400 Bad
1944
+ # Request` error. Only use the key ID or key ARN. The key alias format
1945
+ # of the KMS key isn't supported. Your SSE-KMS configuration can only
1946
+ # support 1 [customer managed key][2] per directory bucket for the
1947
+ # lifetime of the bucket. The [Amazon Web Services managed key][3]
1948
+ # (`aws/s3`) isn't supported.
1914
1949
  #
1915
1950
  #
1916
1951
  #
@@ -2304,7 +2339,6 @@ module Aws::S3
2304
2339
  # more information about S3 Block Public Access, see [Blocking
2305
2340
  # public access to your Amazon S3 storage ][6] in the *Amazon S3
2306
2341
  # User Guide*.
2307
- #
2308
2342
  # * **Directory bucket permissions** - You must have the
2309
2343
  # `s3express:CreateBucket` permission in an IAM identity-based
2310
2344
  # policy instead of a bucket policy. Cross-account access to this
@@ -2472,33 +2506,33 @@ module Aws::S3
2472
2506
  # * {Types::CreateBucketOutput#location #location} => String
2473
2507
  #
2474
2508
  #
2475
- # @example Example: To create a bucket in a specific region
2509
+ # @example Example: To create a bucket
2476
2510
  #
2477
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2511
+ # # The following example creates a bucket.
2478
2512
  #
2479
2513
  # resp = client.create_bucket({
2480
2514
  # bucket: "examplebucket",
2481
- # create_bucket_configuration: {
2482
- # location_constraint: "eu-west-1",
2483
- # },
2484
2515
  # })
2485
2516
  #
2486
2517
  # resp.to_h outputs the following:
2487
2518
  # {
2488
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2519
+ # location: "/examplebucket",
2489
2520
  # }
2490
2521
  #
2491
- # @example Example: To create a bucket
2522
+ # @example Example: To create a bucket in a specific region
2492
2523
  #
2493
- # # The following example creates a bucket.
2524
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2494
2525
  #
2495
2526
  # resp = client.create_bucket({
2496
2527
  # bucket: "examplebucket",
2528
+ # create_bucket_configuration: {
2529
+ # location_constraint: "eu-west-1",
2530
+ # },
2497
2531
  # })
2498
2532
  #
2499
2533
  # resp.to_h outputs the following:
2500
2534
  # {
2501
- # location: "/examplebucket",
2535
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2502
2536
  # }
2503
2537
  #
2504
2538
  # @example Request syntax with placeholder values
@@ -2655,7 +2689,6 @@ module Aws::S3
2655
2689
  # * `x-amz-server-side-encryption-aws-kms-key-id`
2656
2690
  #
2657
2691
  # * `x-amz-server-side-encryption-context`
2658
- #
2659
2692
  # <note markdown="1"> * If you specify `x-amz-server-side-encryption:aws:kms`, but
2660
2693
  # don't provide `x-amz-server-side-encryption-aws-kms-key-id`,
2661
2694
  # Amazon S3 uses the Amazon Web Services managed key (`aws/s3`
@@ -2701,12 +2734,10 @@ module Aws::S3
2701
2734
  # * `x-amz-server-side-encryption-customer-key`
2702
2735
  #
2703
2736
  # * `x-amz-server-side-encryption-customer-key-MD5`
2704
- #
2705
2737
  # For more information about server-side encryption with
2706
2738
  # customer-provided encryption keys (SSE-C), see [ Protecting data
2707
2739
  # using server-side encryption with customer-provided encryption
2708
2740
  # keys (SSE-C)][11] in the *Amazon S3 User Guide*.
2709
- #
2710
2741
  # * **Directory buckets** - For directory buckets, there are only two
2711
2742
  # supported options for server-side encryption: server-side
2712
2743
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
@@ -3272,14 +3303,19 @@ module Aws::S3
3272
3303
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
3273
3304
  #
3274
3305
  # **Directory buckets** - If you specify `x-amz-server-side-encryption`
3275
- # with `aws:kms`, you must specify the `
3276
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
3277
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
3278
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
3279
- # key ID or key ARN. The key alias format of the KMS key isn't
3280
- # supported. Your SSE-KMS configuration can only support 1 [customer
3281
- # managed key][1] per directory bucket for the lifetime of the bucket.
3282
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
3306
+ # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
3307
+ # header is implicitly assigned the ID of the KMS symmetric encryption
3308
+ # customer managed key that's configured for your directory bucket's
3309
+ # default encryption setting. If you want to specify the `
3310
+ # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
3311
+ # can only specify it with the ID (Key ID or Key ARN) of the KMS
3312
+ # customer managed key that's configured for your directory bucket's
3313
+ # default encryption setting. Otherwise, you get an HTTP `400 Bad
3314
+ # Request` error. Only use the key ID or key ARN. The key alias format
3315
+ # of the KMS key isn't supported. Your SSE-KMS configuration can only
3316
+ # support 1 [customer managed key][1] per directory bucket for the
3317
+ # lifetime of the bucket. The [Amazon Web Services managed key][2]
3318
+ # (`aws/s3`) isn't supported.
3283
3319
  #
3284
3320
  #
3285
3321
  #
@@ -3587,7 +3623,7 @@ module Aws::S3
3587
3623
  # with SSE-KMS and S3 Bucket Keys during the session.
3588
3624
  #
3589
3625
  # <note markdown="1"> Only 1 [customer managed key][14] is supported per directory bucket
3590
- # for the lifetime of the bucket. [Amazon Web Services managed
3626
+ # for the lifetime of the bucket. The [Amazon Web Services managed
3591
3627
  # key][15] (`aws/s3`) isn't supported. After you specify SSE-KMS as
3592
3628
  # your bucket's default encryption configuration with a customer
3593
3629
  # managed key, you can't change the customer managed key for the
@@ -3679,8 +3715,8 @@ module Aws::S3
3679
3715
  # the Key ID.
3680
3716
  #
3681
3717
  # Your SSE-KMS configuration can only support 1 [customer managed
3682
- # key][1] per directory bucket for the lifetime of the bucket. [Amazon
3683
- # Web Services managed key][2] (`aws/s3`) isn't supported.
3718
+ # key][1] per directory bucket for the lifetime of the bucket. The
3719
+ # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
3684
3720
  #
3685
3721
  #
3686
3722
  #
@@ -3875,7 +3911,7 @@ module Aws::S3
3875
3911
  req.send_request(options)
3876
3912
  end
3877
3913
 
3878
- # <note markdown="1"> This operation is not supported by directory buckets.
3914
+ # <note markdown="1"> This operation is not supported for directory buckets.
3879
3915
  #
3880
3916
  # </note>
3881
3917
  #
@@ -3941,7 +3977,7 @@ module Aws::S3
3941
3977
  req.send_request(options)
3942
3978
  end
3943
3979
 
3944
- # <note markdown="1"> This operation is not supported by directory buckets.
3980
+ # <note markdown="1"> This operation is not supported for directory buckets.
3945
3981
  #
3946
3982
  # </note>
3947
3983
  #
@@ -4105,7 +4141,7 @@ module Aws::S3
4105
4141
  req.send_request(options)
4106
4142
  end
4107
4143
 
4108
- # <note markdown="1"> This operation is not supported by directory buckets.
4144
+ # <note markdown="1"> This operation is not supported for directory buckets.
4109
4145
  #
4110
4146
  # </note>
4111
4147
  #
@@ -4172,7 +4208,7 @@ module Aws::S3
4172
4208
  req.send_request(options)
4173
4209
  end
4174
4210
 
4175
- # <note markdown="1"> This operation is not supported by directory buckets.
4211
+ # <note markdown="1"> This operation is not supported for directory buckets.
4176
4212
  #
4177
4213
  # </note>
4178
4214
  #
@@ -4237,38 +4273,71 @@ module Aws::S3
4237
4273
  req.send_request(options)
4238
4274
  end
4239
4275
 
4240
- # <note markdown="1"> This operation is not supported by directory buckets.
4241
- #
4242
- # </note>
4243
- #
4244
4276
  # Deletes the lifecycle configuration from the specified bucket. Amazon
4245
4277
  # S3 removes all the lifecycle configuration rules in the lifecycle
4246
4278
  # subresource associated with the bucket. Your objects never expire, and
4247
4279
  # Amazon S3 no longer automatically deletes any objects on the basis of
4248
4280
  # rules contained in the deleted lifecycle configuration.
4249
4281
  #
4250
- # To use this operation, you must have permission to perform the
4251
- # `s3:PutLifecycleConfiguration` action. By default, the bucket owner
4252
- # has this permission and the bucket owner can grant this permission to
4253
- # others.
4282
+ # Permissions
4283
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
4284
+ # resources are private, including buckets, objects, and related
4285
+ # subresources (for example, lifecycle configuration and website
4286
+ # configuration). Only the resource owner (that is, the Amazon Web
4287
+ # Services account that created it) can access the resource. The
4288
+ # resource owner can optionally grant access permissions to others
4289
+ # by writing an access policy. For this operation, a user must have
4290
+ # the `s3:PutLifecycleConfiguration` permission.
4291
+ #
4292
+ # For more information about permissions, see [Managing Access
4293
+ # Permissions to Your Amazon S3 Resources][1].
4294
+ # ^
4295
+ #
4296
+ # * **Directory bucket permissions** - You must have the
4297
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
4298
+ # identity-based policy to use this operation. Cross-account access
4299
+ # to this API operation isn't supported. The resource owner can
4300
+ # optionally grant access permissions to others by creating a role
4301
+ # or user for them as long as they are within the same account as
4302
+ # the owner and resource.
4303
+ #
4304
+ # For more information about directory bucket policies and
4305
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][2]
4306
+ # in the *Amazon S3 User Guide*.
4307
+ #
4308
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4309
+ # requests for this API operation to the Regional endpoint. These
4310
+ # endpoints support path-style requests in the format
4311
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
4312
+ # `. Virtual-hosted-style requests aren't supported. For more
4313
+ # information, see [Regional and Zonal endpoints][3] in the *Amazon
4314
+ # S3 User Guide*.
4254
4315
  #
4255
- # There is usually some time lag before lifecycle configuration deletion
4256
- # is fully propagated to all the Amazon S3 systems.
4316
+ # </note>
4317
+ # ^
4318
+ #
4319
+ # HTTP Host header syntax
4320
+ #
4321
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
4322
+ # `s3express-control.region.amazonaws.com`.
4257
4323
  #
4258
4324
  # For more information about the object expiration, see [Elements to
4259
- # Describe Lifecycle Actions][1].
4325
+ # Describe Lifecycle Actions][4].
4260
4326
  #
4261
4327
  # Related actions include:
4262
4328
  #
4263
- # * [PutBucketLifecycleConfiguration][2]
4329
+ # * [PutBucketLifecycleConfiguration][5]
4264
4330
  #
4265
- # * [GetBucketLifecycleConfiguration][3]
4331
+ # * [GetBucketLifecycleConfiguration][6]
4266
4332
  #
4267
4333
  #
4268
4334
  #
4269
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4270
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4271
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4335
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
4336
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4337
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4338
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4339
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4340
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4272
4341
  #
4273
4342
  # @option params [required, String] :bucket
4274
4343
  # The bucket name of the lifecycle to delete.
@@ -4278,6 +4347,11 @@ module Aws::S3
4278
4347
  # you provide does not match the actual owner of the bucket, the request
4279
4348
  # fails with the HTTP status code `403 Forbidden` (access denied).
4280
4349
  #
4350
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
4351
+ # supported for directory bucket lifecycle configurations.
4352
+ #
4353
+ # </note>
4354
+ #
4281
4355
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4282
4356
  #
4283
4357
  #
@@ -4305,7 +4379,7 @@ module Aws::S3
4305
4379
  req.send_request(options)
4306
4380
  end
4307
4381
 
4308
- # <note markdown="1"> This operation is not supported by directory buckets.
4382
+ # <note markdown="1"> This operation is not supported for directory buckets.
4309
4383
  #
4310
4384
  # </note>
4311
4385
  #
@@ -4375,7 +4449,7 @@ module Aws::S3
4375
4449
  req.send_request(options)
4376
4450
  end
4377
4451
 
4378
- # <note markdown="1"> This operation is not supported by directory buckets.
4452
+ # <note markdown="1"> This operation is not supported for directory buckets.
4379
4453
  #
4380
4454
  # </note>
4381
4455
  #
@@ -4549,7 +4623,7 @@ module Aws::S3
4549
4623
  req.send_request(options)
4550
4624
  end
4551
4625
 
4552
- # <note markdown="1"> This operation is not supported by directory buckets.
4626
+ # <note markdown="1"> This operation is not supported for directory buckets.
4553
4627
  #
4554
4628
  # </note>
4555
4629
  #
@@ -4619,7 +4693,7 @@ module Aws::S3
4619
4693
  req.send_request(options)
4620
4694
  end
4621
4695
 
4622
- # <note markdown="1"> This operation is not supported by directory buckets.
4696
+ # <note markdown="1"> This operation is not supported for directory buckets.
4623
4697
  #
4624
4698
  # </note>
4625
4699
  #
@@ -4675,7 +4749,7 @@ module Aws::S3
4675
4749
  req.send_request(options)
4676
4750
  end
4677
4751
 
4678
- # <note markdown="1"> This operation is not supported by directory buckets.
4752
+ # <note markdown="1"> This operation is not supported for directory buckets.
4679
4753
  #
4680
4754
  # </note>
4681
4755
  #
@@ -4744,67 +4818,33 @@ module Aws::S3
4744
4818
  end
4745
4819
 
4746
4820
  # Removes an object from a bucket. The behavior depends on the bucket's
4747
- # versioning state:
4748
- #
4749
- # * If bucket versioning is not enabled, the operation permanently
4750
- # deletes the object.
4751
- #
4752
- # * If bucket versioning is enabled, the operation inserts a delete
4753
- # marker, which becomes the current version of the object. To
4754
- # permanently delete an object in a versioned bucket, you must include
4755
- # the object’s `versionId` in the request. For more information about
4756
- # versioning-enabled buckets, see [Deleting object versions from a
4757
- # versioning-enabled bucket][1].
4758
- #
4759
- # * If bucket versioning is suspended, the operation removes the object
4760
- # that has a null `versionId`, if there is one, and inserts a delete
4761
- # marker that becomes the current version of the object. If there
4762
- # isn't an object with a null `versionId`, and all versions of the
4763
- # object have a `versionId`, Amazon S3 does not remove the object and
4764
- # only inserts a delete marker. To permanently delete an object that
4765
- # has a `versionId`, you must include the object’s `versionId` in the
4766
- # request. For more information about versioning-suspended buckets,
4767
- # see [Deleting objects from versioning-suspended buckets][2].
4768
- #
4769
- # <note markdown="1"> * **Directory buckets** - S3 Versioning isn't enabled and supported
4770
- # for directory buckets. For this API operation, only the `null` value
4771
- # of the version ID is supported by directory buckets. You can only
4772
- # specify `null` to the `versionId` query parameter in the request.
4773
- #
4774
- # * **Directory buckets** - For directory buckets, you must make
4775
- # requests for this API operation to the Zonal endpoint. These
4776
- # endpoints support virtual-hosted-style requests in the format
4777
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
4778
- # `. Path-style requests are not supported. For more information, see
4779
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
4780
- #
4781
- # </note>
4821
+ # versioning state. For more information, see [Best practices to
4822
+ # consider before deleting an object][1].
4782
4823
  #
4783
4824
  # To remove a specific version, you must use the `versionId` query
4784
4825
  # parameter. Using this query parameter permanently deletes the version.
4785
4826
  # If the object deleted is a delete marker, Amazon S3 sets the response
4786
- # header `x-amz-delete-marker` to true.
4787
- #
4788
- # If the object you want to delete is in a bucket where the bucket
4789
- # versioning configuration is MFA Delete enabled, you must include the
4790
- # `x-amz-mfa` request header in the DELETE `versionId` request. Requests
4791
- # that include `x-amz-mfa` must use HTTPS. For more information about
4792
- # MFA Delete, see [Using MFA Delete][4] in the *Amazon S3 User Guide*.
4793
- # To see sample requests that use versioning, see [Sample Request][5].
4794
- #
4795
- # <note markdown="1"> **Directory buckets** - MFA delete is not supported by directory
4796
- # buckets.
4827
+ # header `x-amz-delete-marker` to true. If the object you want to delete
4828
+ # is in a bucket where the bucket versioning configuration is MFA delete
4829
+ # enabled, you must include the `x-amz-mfa` request header in the DELETE
4830
+ # `versionId` request. Requests that include `x-amz-mfa` must use HTTPS.
4831
+ # For more information about MFA delete and to see example requests, see
4832
+ # [Using MFA delete][2] and [Sample request][3] in the *Amazon S3 User
4833
+ # Guide*.
4797
4834
  #
4798
- # </note>
4835
+ # <note markdown="1"> * S3 Versioning isn't enabled and supported for directory buckets.
4836
+ # For this API operation, only the `null` value of the version ID is
4837
+ # supported by directory buckets. You can only specify `null` to the
4838
+ # `versionId` query parameter in the request.
4799
4839
  #
4800
- # You can delete objects by explicitly calling DELETE Object or calling
4801
- # ([PutBucketLifecycle][6]) to enable Amazon S3 to remove them for you.
4802
- # If you want to block users or accounts from removing or deleting
4803
- # objects from your bucket, you must deny them the `s3:DeleteObject`,
4804
- # `s3:DeleteObjectVersion`, and `s3:PutLifeCycleConfiguration` actions.
4840
+ # * For directory buckets, you must make requests for this API operation
4841
+ # to the Zonal endpoint. These endpoints support virtual-hosted-style
4842
+ # requests in the format
4843
+ # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
4844
+ # `. Path-style requests are not supported. For more information, see
4845
+ # [Regional and Zonal endpoints][4] in the *Amazon S3 User Guide*.
4805
4846
  #
4806
- # <note markdown="1"> **Directory buckets** - S3 Lifecycle is not supported by directory
4807
- # buckets.
4847
+ # * MFA delete is not supported by directory buckets.
4808
4848
  #
4809
4849
  # </note>
4810
4850
  #
@@ -4816,24 +4856,22 @@ module Aws::S3
4816
4856
  # * <b> <code>s3:DeleteObject</code> </b> - To delete an object from
4817
4857
  # a bucket, you must always have the `s3:DeleteObject` permission.
4818
4858
  #
4859
+ # <note markdown="1"> You can also use PutBucketLifecycle to delete objects in Amazon
4860
+ # S3.
4861
+ #
4862
+ # </note>
4863
+ #
4819
4864
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
4820
4865
  # specific version of an object from a versioning-enabled bucket,
4821
4866
  # you must have the `s3:DeleteObjectVersion` permission.
4822
4867
  #
4823
- # * **Directory bucket permissions** - To grant access to this API
4824
- # operation on a directory bucket, we recommend that you use the [
4825
- # `CreateSession` ][7] API operation for session-based
4826
- # authorization. Specifically, you grant the
4827
- # `s3express:CreateSession` permission to the directory bucket in a
4828
- # bucket policy or an IAM identity-based policy. Then, you make the
4829
- # `CreateSession` API call on the bucket to obtain a session token.
4830
- # With the session token in your request header, you can make API
4831
- # requests to this operation. After the session token expires, you
4832
- # make another `CreateSession` API call to generate a new session
4833
- # token for use. Amazon Web Services CLI or SDKs create session and
4834
- # refresh the session token automatically to avoid service
4835
- # interruptions when a session expires. For more information about
4836
- # authorization, see [ `CreateSession` ][7].
4868
+ # * If you want to block users or accounts from removing or deleting
4869
+ # objects from your bucket, you must deny them the
4870
+ # `s3:DeleteObject`, `s3:DeleteObjectVersion`, and
4871
+ # `s3:PutLifeCycleConfiguration` permissions.
4872
+ # * **Directory buckets permissions** - To grant access to this API
4873
+ # operation on a directory bucket, we recommend that you use the
4874
+ # CreateSession API operation for session-based authorization.
4837
4875
  #
4838
4876
  # HTTP Host header syntax
4839
4877
  #
@@ -4842,20 +4880,17 @@ module Aws::S3
4842
4880
  #
4843
4881
  # The following action is related to `DeleteObject`:
4844
4882
  #
4845
- # * [PutObject][8]
4883
+ # * [PutObject][5]
4846
4884
  #
4847
4885
  # ^
4848
4886
  #
4849
4887
  #
4850
4888
  #
4851
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html
4852
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectsfromVersioningSuspendedBuckets.html
4853
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4854
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
4855
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
4856
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
4857
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
4858
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
4889
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html#DeletingObjects-best-practices
4890
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
4891
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
4892
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4893
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
4859
4894
  #
4860
4895
  # @option params [required, String] :bucket
4861
4896
  # The bucket name of the bucket containing the object.
@@ -4953,6 +4988,49 @@ module Aws::S3
4953
4988
  # you provide does not match the actual owner of the bucket, the request
4954
4989
  # fails with the HTTP status code `403 Forbidden` (access denied).
4955
4990
  #
4991
+ # @option params [String] :if_match
4992
+ # The `If-Match` header field makes the request method conditional on
4993
+ # ETags. If the ETag value does not match, the operation returns a `412
4994
+ # Precondition Failed` error. If the ETag matches or if the object
4995
+ # doesn't exist, the operation will return a `204 Success (No Content)
4996
+ # response`.
4997
+ #
4998
+ # For more information about conditional requests, see [RFC 7232][1].
4999
+ #
5000
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5001
+ #
5002
+ # </note>
5003
+ #
5004
+ #
5005
+ #
5006
+ # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
5007
+ #
5008
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
5009
+ # If present, the object is deleted only if its modification times
5010
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
5011
+ # match, the operation returns a `412 Precondition Failed` error. If the
5012
+ # `Timestamp` matches or if the object doesn’t exist, the operation
5013
+ # returns a `204 Success (No Content)` response.
5014
+ #
5015
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5016
+ #
5017
+ # </note>
5018
+ #
5019
+ # @option params [Integer] :if_match_size
5020
+ # If present, the object is deleted only if its size matches the
5021
+ # provided size in bytes. If the `Size` value does not match, the
5022
+ # operation returns a `412 Precondition Failed` error. If the `Size`
5023
+ # matches or if the object doesn’t exist, the operation returns a `204
5024
+ # Success (No Content)` response.
5025
+ #
5026
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5027
+ #
5028
+ # </note>
5029
+ #
5030
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
5031
+ # `x-amz-if-match-size` conditional headers in conjunction with
5032
+ # each-other or individually.
5033
+ #
4956
5034
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4957
5035
  #
4958
5036
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -4992,6 +5070,9 @@ module Aws::S3
4992
5070
  # request_payer: "requester", # accepts requester
4993
5071
  # bypass_governance_retention: false,
4994
5072
  # expected_bucket_owner: "AccountId",
5073
+ # if_match: "IfMatch",
5074
+ # if_match_last_modified_time: Time.now,
5075
+ # if_match_size: 1,
4995
5076
  # })
4996
5077
  #
4997
5078
  # @example Response structure
@@ -5009,7 +5090,7 @@ module Aws::S3
5009
5090
  req.send_request(options)
5010
5091
  end
5011
5092
 
5012
- # <note markdown="1"> This operation is not supported by directory buckets.
5093
+ # <note markdown="1"> This operation is not supported for directory buckets.
5013
5094
  #
5014
5095
  # </note>
5015
5096
  #
@@ -5192,7 +5273,6 @@ module Aws::S3
5192
5273
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
5193
5274
  # specific version of an object from a versioning-enabled bucket,
5194
5275
  # you must specify the `s3:DeleteObjectVersion` permission.
5195
- #
5196
5276
  # * **Directory bucket permissions** - To grant access to this API
5197
5277
  # operation on a directory bucket, we recommend that you use the [
5198
5278
  # `CreateSession` ][3] API operation for session-based
@@ -5360,13 +5440,13 @@ module Aws::S3
5360
5440
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
5361
5441
  # the supported algorithm from the following list:
5362
5442
  #
5363
- # * CRC32
5443
+ # * `CRC32`
5364
5444
  #
5365
- # * CRC32C
5445
+ # * `CRC32C`
5366
5446
  #
5367
- # * SHA1
5447
+ # * `SHA1`
5368
5448
  #
5369
- # * SHA256
5449
+ # * `SHA256`
5370
5450
  #
5371
5451
  # For more information, see [Checking object integrity][1] in the
5372
5452
  # *Amazon S3 User Guide*.
@@ -5472,6 +5552,9 @@ module Aws::S3
5472
5552
  # {
5473
5553
  # key: "ObjectKey", # required
5474
5554
  # version_id: "ObjectVersionId",
5555
+ # etag: "ETag",
5556
+ # last_modified_time: Time.now,
5557
+ # size: 1,
5475
5558
  # },
5476
5559
  # ],
5477
5560
  # quiet: false,
@@ -5506,7 +5589,7 @@ module Aws::S3
5506
5589
  req.send_request(options)
5507
5590
  end
5508
5591
 
5509
- # <note markdown="1"> This operation is not supported by directory buckets.
5592
+ # <note markdown="1"> This operation is not supported for directory buckets.
5510
5593
  #
5511
5594
  # </note>
5512
5595
  #
@@ -5563,7 +5646,7 @@ module Aws::S3
5563
5646
  req.send_request(options)
5564
5647
  end
5565
5648
 
5566
- # <note markdown="1"> This operation is not supported by directory buckets.
5649
+ # <note markdown="1"> This operation is not supported for directory buckets.
5567
5650
  #
5568
5651
  # </note>
5569
5652
  #
@@ -5659,7 +5742,7 @@ module Aws::S3
5659
5742
  req.send_request(options)
5660
5743
  end
5661
5744
 
5662
- # <note markdown="1"> This operation is not supported by directory buckets.
5745
+ # <note markdown="1"> This operation is not supported for directory buckets.
5663
5746
  #
5664
5747
  # </note>
5665
5748
  #
@@ -5755,7 +5838,7 @@ module Aws::S3
5755
5838
  req.send_request(options)
5756
5839
  end
5757
5840
 
5758
- # <note markdown="1"> This operation is not supported by directory buckets.
5841
+ # <note markdown="1"> This operation is not supported for directory buckets.
5759
5842
  #
5760
5843
  # </note>
5761
5844
  #
@@ -5841,7 +5924,7 @@ module Aws::S3
5841
5924
  req.send_request(options)
5842
5925
  end
5843
5926
 
5844
- # <note markdown="1"> This operation is not supported by directory buckets.
5927
+ # <note markdown="1"> This operation is not supported for directory buckets.
5845
5928
  #
5846
5929
  # </note>
5847
5930
  #
@@ -6074,7 +6157,7 @@ module Aws::S3
6074
6157
  req.send_request(options)
6075
6158
  end
6076
6159
 
6077
- # <note markdown="1"> This operation is not supported by directory buckets.
6160
+ # <note markdown="1"> This operation is not supported for directory buckets.
6078
6161
  #
6079
6162
  # </note>
6080
6163
  #
@@ -6158,7 +6241,7 @@ module Aws::S3
6158
6241
  req.send_request(options)
6159
6242
  end
6160
6243
 
6161
- # <note markdown="1"> This operation is not supported by directory buckets.
6244
+ # <note markdown="1"> This operation is not supported for directory buckets.
6162
6245
  #
6163
6246
  # </note>
6164
6247
  #
@@ -6247,7 +6330,7 @@ module Aws::S3
6247
6330
  # version of this topic. This topic is provided for backward
6248
6331
  # compatibility.
6249
6332
  #
6250
- # <note markdown="1"> This operation is not supported by directory buckets.
6333
+ # <note markdown="1"> This operation is not supported for directory buckets.
6251
6334
  #
6252
6335
  # </note>
6253
6336
  #
@@ -6359,34 +6442,65 @@ module Aws::S3
6359
6442
  req.send_request(options)
6360
6443
  end
6361
6444
 
6362
- # <note markdown="1"> This operation is not supported by directory buckets.
6363
- #
6364
- # </note>
6445
+ # Returns the lifecycle configuration information set on the bucket. For
6446
+ # information about lifecycle configuration, see [Object Lifecycle
6447
+ # Management][1].
6365
6448
  #
6366
- # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
6449
+ # Bucket lifecycle configuration now supports specifying a lifecycle
6367
6450
  # rule using an object key name prefix, one or more object tags, object
6368
6451
  # size, or any combination of these. Accordingly, this section describes
6369
- # the latest API. The previous version of the API supported filtering
6370
- # based only on an object key name prefix, which is supported for
6371
- # backward compatibility. For the related API description, see
6372
- # [GetBucketLifecycle][1]. Accordingly, this section describes the
6373
- # latest API. The response describes the new filter element that you can
6374
- # use to specify a filter to select a subset of objects to which the
6375
- # rule applies. If you are using a previous version of the lifecycle
6376
- # configuration, it still works. For the earlier action,
6452
+ # the latest API, which is compatible with the new functionality. The
6453
+ # previous version of the API supported filtering based only on an
6454
+ # object key name prefix, which is supported for general purpose buckets
6455
+ # for backward compatibility. For the related API description, see
6456
+ # [GetBucketLifecycle][2].
6457
+ #
6458
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
6459
+ # objects and cancelling multipart uploads. Expiring of versioned
6460
+ # objects, transitions and tag filters are not supported.
6377
6461
  #
6378
6462
  # </note>
6379
6463
  #
6380
- # Returns the lifecycle configuration information set on the bucket. For
6381
- # information about lifecycle configuration, see [Object Lifecycle
6382
- # Management][2].
6464
+ # Permissions
6465
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
6466
+ # resources are private, including buckets, objects, and related
6467
+ # subresources (for example, lifecycle configuration and website
6468
+ # configuration). Only the resource owner (that is, the Amazon Web
6469
+ # Services account that created it) can access the resource. The
6470
+ # resource owner can optionally grant access permissions to others
6471
+ # by writing an access policy. For this operation, a user must have
6472
+ # the `s3:GetLifecycleConfiguration` permission.
6473
+ #
6474
+ # For more information about permissions, see [Managing Access
6475
+ # Permissions to Your Amazon S3 Resources][3].
6476
+ # ^
6383
6477
  #
6384
- # To use this operation, you must have permission to perform the
6385
- # `s3:GetLifecycleConfiguration` action. The bucket owner has this
6386
- # permission, by default. The bucket owner can grant this permission to
6387
- # others. For more information about permissions, see [Permissions
6388
- # Related to Bucket Subresource Operations][3] and [Managing Access
6389
- # Permissions to Your Amazon S3 Resources][4].
6478
+ # * **Directory bucket permissions** - You must have the
6479
+ # `s3express:GetLifecycleConfiguration` permission in an IAM
6480
+ # identity-based policy to use this operation. Cross-account access
6481
+ # to this API operation isn't supported. The resource owner can
6482
+ # optionally grant access permissions to others by creating a role
6483
+ # or user for them as long as they are within the same account as
6484
+ # the owner and resource.
6485
+ #
6486
+ # For more information about directory bucket policies and
6487
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][4]
6488
+ # in the *Amazon S3 User Guide*.
6489
+ #
6490
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
6491
+ # requests for this API operation to the Regional endpoint. These
6492
+ # endpoints support path-style requests in the format
6493
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
6494
+ # `. Virtual-hosted-style requests aren't supported. For more
6495
+ # information, see [Regional and Zonal endpoints][5] in the *Amazon
6496
+ # S3 User Guide*.
6497
+ #
6498
+ # </note>
6499
+ #
6500
+ # HTTP Host header syntax
6501
+ #
6502
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
6503
+ # `s3express-control.region.amazonaws.com`.
6390
6504
  #
6391
6505
  # `GetBucketLifecycleConfiguration` has the following special error:
6392
6506
  #
@@ -6401,20 +6515,21 @@ module Aws::S3
6401
6515
  # The following operations are related to
6402
6516
  # `GetBucketLifecycleConfiguration`:
6403
6517
  #
6404
- # * [GetBucketLifecycle][1]
6518
+ # * [GetBucketLifecycle][2]
6405
6519
  #
6406
- # * [PutBucketLifecycle][5]
6520
+ # * [PutBucketLifecycle][6]
6407
6521
  #
6408
- # * [DeleteBucketLifecycle][6]
6522
+ # * [DeleteBucketLifecycle][7]
6409
6523
  #
6410
6524
  #
6411
6525
  #
6412
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6413
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6414
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6415
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6416
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6417
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6526
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6527
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6528
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6529
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6530
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
6531
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6532
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6418
6533
  #
6419
6534
  # @option params [required, String] :bucket
6420
6535
  # The name of the bucket for which to get the lifecycle information.
@@ -6424,9 +6539,15 @@ module Aws::S3
6424
6539
  # you provide does not match the actual owner of the bucket, the request
6425
6540
  # fails with the HTTP status code `403 Forbidden` (access denied).
6426
6541
  #
6542
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
6543
+ # supported for directory bucket lifecycle configurations.
6544
+ #
6545
+ # </note>
6546
+ #
6427
6547
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6428
6548
  #
6429
6549
  # * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array&lt;Types::LifecycleRule&gt;
6550
+ # * {Types::GetBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
6430
6551
  #
6431
6552
  #
6432
6553
  # @example Example: To get lifecycle configuration on a bucket
@@ -6492,6 +6613,7 @@ module Aws::S3
6492
6613
  # resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
6493
6614
  # resp.rules[0].noncurrent_version_expiration.newer_noncurrent_versions #=> Integer
6494
6615
  # resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
6616
+ # resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
6495
6617
  #
6496
6618
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration AWS API Documentation
6497
6619
  #
@@ -6502,7 +6624,7 @@ module Aws::S3
6502
6624
  req.send_request(options)
6503
6625
  end
6504
6626
 
6505
- # <note markdown="1"> This operation is not supported by directory buckets.
6627
+ # <note markdown="1"> This operation is not supported for directory buckets.
6506
6628
  #
6507
6629
  # </note>
6508
6630
  #
@@ -6599,7 +6721,7 @@ module Aws::S3
6599
6721
  req.send_request(options)
6600
6722
  end
6601
6723
 
6602
- # <note markdown="1"> This operation is not supported by directory buckets.
6724
+ # <note markdown="1"> This operation is not supported for directory buckets.
6603
6725
  #
6604
6726
  # </note>
6605
6727
  #
@@ -6658,7 +6780,7 @@ module Aws::S3
6658
6780
  req.send_request(options)
6659
6781
  end
6660
6782
 
6661
- # <note markdown="1"> This operation is not supported by directory buckets.
6783
+ # <note markdown="1"> This operation is not supported for directory buckets.
6662
6784
  #
6663
6785
  # </note>
6664
6786
  #
@@ -6744,7 +6866,7 @@ module Aws::S3
6744
6866
  req.send_request(options)
6745
6867
  end
6746
6868
 
6747
- # <note markdown="1"> This operation is not supported by directory buckets.
6869
+ # <note markdown="1"> This operation is not supported for directory buckets.
6748
6870
  #
6749
6871
  # </note>
6750
6872
  #
@@ -6875,7 +6997,7 @@ module Aws::S3
6875
6997
  req.send_request(options)
6876
6998
  end
6877
6999
 
6878
- # <note markdown="1"> This operation is not supported by directory buckets.
7000
+ # <note markdown="1"> This operation is not supported for directory buckets.
6879
7001
  #
6880
7002
  # </note>
6881
7003
  #
@@ -6990,7 +7112,7 @@ module Aws::S3
6990
7112
  req.send_request(options)
6991
7113
  end
6992
7114
 
6993
- # <note markdown="1"> This operation is not supported by directory buckets.
7115
+ # <note markdown="1"> This operation is not supported for directory buckets.
6994
7116
  #
6995
7117
  # </note>
6996
7118
  #
@@ -7207,7 +7329,7 @@ module Aws::S3
7207
7329
  req.send_request(options, &block)
7208
7330
  end
7209
7331
 
7210
- # <note markdown="1"> This operation is not supported by directory buckets.
7332
+ # <note markdown="1"> This operation is not supported for directory buckets.
7211
7333
  #
7212
7334
  # </note>
7213
7335
  #
@@ -7272,7 +7394,7 @@ module Aws::S3
7272
7394
  req.send_request(options)
7273
7395
  end
7274
7396
 
7275
- # <note markdown="1"> This operation is not supported by directory buckets.
7397
+ # <note markdown="1"> This operation is not supported for directory buckets.
7276
7398
  #
7277
7399
  # </note>
7278
7400
  #
@@ -7395,7 +7517,7 @@ module Aws::S3
7395
7517
  req.send_request(options)
7396
7518
  end
7397
7519
 
7398
- # <note markdown="1"> This operation is not supported by directory buckets.
7520
+ # <note markdown="1"> This operation is not supported for directory buckets.
7399
7521
  #
7400
7522
  # </note>
7401
7523
  #
@@ -7461,7 +7583,7 @@ module Aws::S3
7461
7583
  req.send_request(options)
7462
7584
  end
7463
7585
 
7464
- # <note markdown="1"> This operation is not supported by directory buckets.
7586
+ # <note markdown="1"> This operation is not supported for directory buckets.
7465
7587
  #
7466
7588
  # </note>
7467
7589
  #
@@ -7547,7 +7669,7 @@ module Aws::S3
7547
7669
  req.send_request(options)
7548
7670
  end
7549
7671
 
7550
- # <note markdown="1"> This operation is not supported by directory buckets.
7672
+ # <note markdown="1"> This operation is not supported for directory buckets.
7551
7673
  #
7552
7674
  # </note>
7553
7675
  #
@@ -7624,7 +7746,7 @@ module Aws::S3
7624
7746
  req.send_request(options)
7625
7747
  end
7626
7748
 
7627
- # <note markdown="1"> This operation is not supported by directory buckets.
7749
+ # <note markdown="1"> This operation is not supported for directory buckets.
7628
7750
  #
7629
7751
  # </note>
7630
7752
  #
@@ -7770,7 +7892,6 @@ module Aws::S3
7770
7892
  #
7771
7893
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7772
7894
  # returns an HTTP status code `403 Access Denied` error.
7773
- #
7774
7895
  # * **Directory bucket permissions** - To grant access to this API
7775
7896
  # operation on a directory bucket, we recommend that you use the [
7776
7897
  # `CreateSession` ][4] API operation for session-based
@@ -8246,7 +8367,7 @@ module Aws::S3
8246
8367
  # content_length: 3191,
8247
8368
  # content_type: "image/jpeg",
8248
8369
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8249
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
8370
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8250
8371
  # metadata: {
8251
8372
  # },
8252
8373
  # tag_count: 2,
@@ -8271,7 +8392,7 @@ module Aws::S3
8271
8392
  # content_range: "bytes 0-9/43",
8272
8393
  # content_type: "text/plain",
8273
8394
  # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8274
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
8395
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8275
8396
  # metadata: {
8276
8397
  # },
8277
8398
  # version_id: "null",
@@ -8382,7 +8503,7 @@ module Aws::S3
8382
8503
  req.send_request(options, &block)
8383
8504
  end
8384
8505
 
8385
- # <note markdown="1"> This operation is not supported by directory buckets.
8506
+ # <note markdown="1"> This operation is not supported for directory buckets.
8386
8507
  #
8387
8508
  # </note>
8388
8509
  #
@@ -8604,7 +8725,6 @@ module Aws::S3
8604
8725
  # * If you don't have the `s3:ListBucket` permission, Amazon S3
8605
8726
  # returns an HTTP status code `403 Forbidden` ("access denied")
8606
8727
  # error.
8607
- #
8608
8728
  # * **Directory bucket permissions** - To grant access to this API
8609
8729
  # operation on a directory bucket, we recommend that you use the [
8610
8730
  # `CreateSession` ][3] API operation for session-based
@@ -8691,7 +8811,6 @@ module Aws::S3
8691
8811
  # * `If-Match` condition evaluates to `true`.
8692
8812
  #
8693
8813
  # * `If-Unmodified-Since` condition evaluates to `false`.
8694
- #
8695
8814
  # For more information about conditional requests, see [RFC
8696
8815
  # 7232][7].
8697
8816
  #
@@ -8702,7 +8821,6 @@ module Aws::S3
8702
8821
  # * `If-None-Match` condition evaluates to `false`.
8703
8822
  #
8704
8823
  # * `If-Modified-Since` condition evaluates to `true`.
8705
- #
8706
8824
  # For more information about conditional requests, see [RFC
8707
8825
  # 7232][7].
8708
8826
  #
@@ -8928,7 +9046,7 @@ module Aws::S3
8928
9046
  req.send_request(options)
8929
9047
  end
8930
9048
 
8931
- # <note markdown="1"> This operation is not supported by directory buckets.
9049
+ # <note markdown="1"> This operation is not supported for directory buckets.
8932
9050
  #
8933
9051
  # </note>
8934
9052
  #
@@ -9024,7 +9142,7 @@ module Aws::S3
9024
9142
  req.send_request(options)
9025
9143
  end
9026
9144
 
9027
- # <note markdown="1"> This operation is not supported by directory buckets.
9145
+ # <note markdown="1"> This operation is not supported for directory buckets.
9028
9146
  #
9029
9147
  # </note>
9030
9148
  #
@@ -9094,7 +9212,7 @@ module Aws::S3
9094
9212
  req.send_request(options)
9095
9213
  end
9096
9214
 
9097
- # <note markdown="1"> This operation is not supported by directory buckets.
9215
+ # <note markdown="1"> This operation is not supported for directory buckets.
9098
9216
  #
9099
9217
  # </note>
9100
9218
  #
@@ -9191,7 +9309,7 @@ module Aws::S3
9191
9309
  req.send_request(options)
9192
9310
  end
9193
9311
 
9194
- # <note markdown="1"> This operation is not supported by directory buckets.
9312
+ # <note markdown="1"> This operation is not supported for directory buckets.
9195
9313
  #
9196
9314
  # </note>
9197
9315
  #
@@ -9360,7 +9478,7 @@ module Aws::S3
9360
9478
  req.send_request(options)
9361
9479
  end
9362
9480
 
9363
- # <note markdown="1"> This operation is not supported by directory buckets.
9481
+ # <note markdown="1"> This operation is not supported for directory buckets.
9364
9482
  #
9365
9483
  # </note>
9366
9484
  #
@@ -9461,7 +9579,7 @@ module Aws::S3
9461
9579
  req.send_request(options, &block)
9462
9580
  end
9463
9581
 
9464
- # <note markdown="1"> This operation is not supported by directory buckets.
9582
+ # <note markdown="1"> This operation is not supported for directory buckets.
9465
9583
  #
9466
9584
  # </note>
9467
9585
  #
@@ -9737,7 +9855,11 @@ module Aws::S3
9737
9855
  # have the `s3:GetObject` permission. You need the relevant read
9738
9856
  # object (or version) permission for this operation. For more
9739
9857
  # information, see [Actions, resources, and condition keys for
9740
- # Amazon S3][2] in the *Amazon S3 User Guide*.
9858
+ # Amazon S3][2] in the *Amazon S3 User Guide*. For more information
9859
+ # about the permissions to S3 API operations by S3 resource types,
9860
+ # see [Required permissions for Amazon S3 API
9861
+ # operations](/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)
9862
+ # in the *Amazon S3 User Guide*.
9741
9863
  #
9742
9864
  # If the object you request doesn't exist, the error that Amazon S3
9743
9865
  # returns depends on whether you also have the `s3:ListBucket`
@@ -9748,7 +9870,6 @@ module Aws::S3
9748
9870
  #
9749
9871
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
9750
9872
  # returns an HTTP status code `403 Forbidden` error.
9751
- #
9752
9873
  # * **Directory bucket permissions** - To grant access to this API
9753
9874
  # operation on a directory bucket, we recommend that you use the [
9754
9875
  # `CreateSession` ][3] API operation for session-based
@@ -9820,7 +9941,7 @@ module Aws::S3
9820
9941
  # a `405 Method Not Allowed` error and the `Last-Modified:
9821
9942
  # timestamp` response header.
9822
9943
  #
9823
- # <note markdown="1"> * **Directory buckets** - Delete marker is not supported by
9944
+ # <note markdown="1"> * **Directory buckets** - Delete marker is not supported for
9824
9945
  # directory buckets.
9825
9946
  #
9826
9947
  # * **Directory buckets** - S3 Versioning isn't enabled and supported
@@ -10145,7 +10266,7 @@ module Aws::S3
10145
10266
  # content_length: 3191,
10146
10267
  # content_type: "image/jpeg",
10147
10268
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10148
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
10269
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
10149
10270
  # metadata: {
10150
10271
  # },
10151
10272
  # version_id: "null",
@@ -10231,7 +10352,7 @@ module Aws::S3
10231
10352
  req.send_request(options)
10232
10353
  end
10233
10354
 
10234
- # <note markdown="1"> This operation is not supported by directory buckets.
10355
+ # <note markdown="1"> This operation is not supported for directory buckets.
10235
10356
  #
10236
10357
  # </note>
10237
10358
  #
@@ -10332,7 +10453,7 @@ module Aws::S3
10332
10453
  req.send_request(options)
10333
10454
  end
10334
10455
 
10335
- # <note markdown="1"> This operation is not supported by directory buckets.
10456
+ # <note markdown="1"> This operation is not supported for directory buckets.
10336
10457
  #
10337
10458
  # </note>
10338
10459
  #
@@ -10424,7 +10545,7 @@ module Aws::S3
10424
10545
  req.send_request(options)
10425
10546
  end
10426
10547
 
10427
- # <note markdown="1"> This operation is not supported by directory buckets.
10548
+ # <note markdown="1"> This operation is not supported for directory buckets.
10428
10549
  #
10429
10550
  # </note>
10430
10551
  #
@@ -10526,7 +10647,7 @@ module Aws::S3
10526
10647
  req.send_request(options)
10527
10648
  end
10528
10649
 
10529
- # <note markdown="1"> This operation is not supported by directory buckets.
10650
+ # <note markdown="1"> This operation is not supported for directory buckets.
10530
10651
  #
10531
10652
  # </note>
10532
10653
  #
@@ -10628,17 +10749,26 @@ module Aws::S3
10628
10749
  req.send_request(options)
10629
10750
  end
10630
10751
 
10631
- # <note markdown="1"> This operation is not supported by directory buckets.
10752
+ # <note markdown="1"> This operation is not supported for directory buckets.
10632
10753
  #
10633
10754
  # </note>
10634
10755
  #
10635
10756
  # Returns a list of all buckets owned by the authenticated sender of the
10636
- # request. To use this operation, you must have the
10637
- # `s3:ListAllMyBuckets` permission.
10757
+ # request. To grant IAM permission to use this operation, you must add
10758
+ # the `s3:ListAllMyBuckets` policy action.
10638
10759
  #
10639
10760
  # For information about Amazon S3 buckets, see [Creating, configuring,
10640
10761
  # and working with Amazon S3 buckets][1].
10641
10762
  #
10763
+ # We strongly recommend using only paginated `ListBuckets` requests.
10764
+ # Unpaginated `ListBuckets` requests are only supported for Amazon Web
10765
+ # Services accounts set to the default general purpose bucket quota of
10766
+ # 10,000. If you have an approved general purpose bucket quota above
10767
+ # 10,000, you must send paginated `ListBuckets` requests to list your
10768
+ # account’s buckets. All unpaginated `ListBuckets` requests will be
10769
+ # rejected for Amazon Web Services accounts with a general purpose
10770
+ # bucket quota greater than 10,000.
10771
+ #
10642
10772
  #
10643
10773
  #
10644
10774
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
@@ -10658,11 +10788,43 @@ module Aws::S3
10658
10788
  #
10659
10789
  # Required: No.
10660
10790
  #
10791
+ # <note markdown="1"> If you specify the `bucket-region`, `prefix`, or `continuation-token`
10792
+ # query parameters without using `max-buckets` to set the maximum number
10793
+ # of buckets returned in the response, Amazon S3 applies a default page
10794
+ # size of 10,000 and provides a continuation token if there are more
10795
+ # buckets.
10796
+ #
10797
+ # </note>
10798
+ #
10799
+ # @option params [String] :prefix
10800
+ # Limits the response to bucket names that begin with the specified
10801
+ # bucket name prefix.
10802
+ #
10803
+ # @option params [String] :bucket_region
10804
+ # Limits the response to buckets that are located in the specified
10805
+ # Amazon Web Services Region. The Amazon Web Services Region must be
10806
+ # expressed according to the Amazon Web Services Region code, such as
10807
+ # `us-west-2` for the US West (Oregon) Region. For a list of the valid
10808
+ # values for all of the Amazon Web Services Regions, see [Regions and
10809
+ # Endpoints][1].
10810
+ #
10811
+ # <note markdown="1"> Requests made to a Regional endpoint that is different from the
10812
+ # `bucket-region` parameter are not supported. For example, if you want
10813
+ # to limit the response to your buckets in Region `us-west-2`, the
10814
+ # request must be made to an endpoint in Region `us-west-2`.
10815
+ #
10816
+ # </note>
10817
+ #
10818
+ #
10819
+ #
10820
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
10821
+ #
10661
10822
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10662
10823
  #
10663
10824
  # * {Types::ListBucketsOutput#buckets #buckets} => Array&lt;Types::Bucket&gt;
10664
10825
  # * {Types::ListBucketsOutput#owner #owner} => Types::Owner
10665
10826
  # * {Types::ListBucketsOutput#continuation_token #continuation_token} => String
10827
+ # * {Types::ListBucketsOutput#prefix #prefix} => String
10666
10828
  #
10667
10829
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
10668
10830
  #
@@ -10701,6 +10863,8 @@ module Aws::S3
10701
10863
  # resp = client.list_buckets({
10702
10864
  # max_buckets: 1,
10703
10865
  # continuation_token: "Token",
10866
+ # prefix: "Prefix",
10867
+ # bucket_region: "BucketRegion",
10704
10868
  # })
10705
10869
  #
10706
10870
  # @example Response structure
@@ -10708,9 +10872,11 @@ module Aws::S3
10708
10872
  # resp.buckets #=> Array
10709
10873
  # resp.buckets[0].name #=> String
10710
10874
  # resp.buckets[0].creation_date #=> Time
10875
+ # resp.buckets[0].bucket_region #=> String
10711
10876
  # resp.owner.display_name #=> String
10712
10877
  # resp.owner.id #=> String
10713
10878
  # resp.continuation_token #=> String
10879
+ # resp.prefix #=> String
10714
10880
  #
10715
10881
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets AWS API Documentation
10716
10882
  #
@@ -10751,6 +10917,11 @@ module Aws::S3
10751
10917
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
10752
10918
  # `s3express-control.region.amazonaws.com`.
10753
10919
  #
10920
+ # <note markdown="1"> The `BucketRegion` response element is not part of the
10921
+ # `ListDirectoryBuckets` Response Syntax.
10922
+ #
10923
+ # </note>
10924
+ #
10754
10925
  #
10755
10926
  #
10756
10927
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
@@ -10787,6 +10958,7 @@ module Aws::S3
10787
10958
  # resp.buckets #=> Array
10788
10959
  # resp.buckets[0].name #=> String
10789
10960
  # resp.buckets[0].creation_date #=> Time
10961
+ # resp.buckets[0].bucket_region #=> String
10790
10962
  # resp.continuation_token #=> String
10791
10963
  #
10792
10964
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListDirectoryBuckets AWS API Documentation
@@ -10808,7 +10980,7 @@ module Aws::S3
10808
10980
  # multipart uploads are aborted or completed. To delete these
10809
10981
  # in-progress multipart uploads, use the `ListMultipartUploads`
10810
10982
  # operation to list the in-progress multipart uploads in the bucket and
10811
- # use the `AbortMultupartUpload` operation to abort all the in-progress
10983
+ # use the `AbortMultipartUpload` operation to abort all the in-progress
10812
10984
  # multipart uploads.
10813
10985
  #
10814
10986
  # </note>
@@ -10881,7 +11053,6 @@ module Aws::S3
10881
11053
  # initiation time. Among uploads with the same key, the one that
10882
11054
  # was initiated first will appear before the ones that were
10883
11055
  # initiated later.
10884
- #
10885
11056
  # * **Directory bucket** - In the `ListMultipartUploads` response, the
10886
11057
  # multipart uploads aren't sorted lexicographically based on the
10887
11058
  # object keys.
@@ -11238,7 +11409,7 @@ module Aws::S3
11238
11409
  req.send_request(options)
11239
11410
  end
11240
11411
 
11241
- # <note markdown="1"> This operation is not supported by directory buckets.
11412
+ # <note markdown="1"> This operation is not supported for directory buckets.
11242
11413
  #
11243
11414
  # </note>
11244
11415
  #
@@ -11477,7 +11648,7 @@ module Aws::S3
11477
11648
  req.send_request(options)
11478
11649
  end
11479
11650
 
11480
- # <note markdown="1"> This operation is not supported by directory buckets.
11651
+ # <note markdown="1"> This operation is not supported for directory buckets.
11481
11652
  #
11482
11653
  # </note>
11483
11654
  #
@@ -12371,7 +12542,7 @@ module Aws::S3
12371
12542
  req.send_request(options)
12372
12543
  end
12373
12544
 
12374
- # <note markdown="1"> This operation is not supported by directory buckets.
12545
+ # <note markdown="1"> This operation is not supported for directory buckets.
12375
12546
  #
12376
12547
  # </note>
12377
12548
  #
@@ -12470,7 +12641,7 @@ module Aws::S3
12470
12641
  req.send_request(options)
12471
12642
  end
12472
12643
 
12473
- # <note markdown="1"> This operation is not supported by directory buckets.
12644
+ # <note markdown="1"> This operation is not supported for directory buckets.
12474
12645
  #
12475
12646
  # </note>
12476
12647
  #
@@ -12561,7 +12732,6 @@ module Aws::S3
12561
12732
  # General Reference.
12562
12733
  #
12563
12734
  # </note>
12564
- #
12565
12735
  # For example, the following `x-amz-grant-write` header grants
12566
12736
  # create, overwrite, and delete objects permission to LogDelivery
12567
12737
  # group predefined by Amazon S3 and two Amazon Web Services accounts
@@ -12764,7 +12934,7 @@ module Aws::S3
12764
12934
  req.send_request(options)
12765
12935
  end
12766
12936
 
12767
- # <note markdown="1"> This operation is not supported by directory buckets.
12937
+ # <note markdown="1"> This operation is not supported for directory buckets.
12768
12938
  #
12769
12939
  # </note>
12770
12940
  #
@@ -12802,14 +12972,12 @@ module Aws::S3
12802
12972
  # * *Code: InvalidArgument*
12803
12973
  #
12804
12974
  # * *Cause: Invalid argument.*
12805
- #
12806
12975
  # * * *HTTP Error: HTTP 400 Bad Request*
12807
12976
  #
12808
12977
  # * *Code: TooManyConfigurations*
12809
12978
  #
12810
12979
  # * *Cause: You are attempting to create a new configuration but have
12811
12980
  # already reached the 1,000-configuration limit.*
12812
- #
12813
12981
  # * * *HTTP Error: HTTP 403 Forbidden*
12814
12982
  #
12815
12983
  # * *Code: AccessDenied*
@@ -12902,7 +13070,7 @@ module Aws::S3
12902
13070
  req.send_request(options)
12903
13071
  end
12904
13072
 
12905
- # <note markdown="1"> This operation is not supported by directory buckets.
13073
+ # <note markdown="1"> This operation is not supported for directory buckets.
12906
13074
  #
12907
13075
  # </note>
12908
13076
  #
@@ -13111,7 +13279,6 @@ module Aws::S3
13111
13279
  # encryption][3] to SSE-KMS, you should verify that your KMS key ID
13112
13280
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
13113
13281
  # PutBucketEncryption requests.
13114
- #
13115
13282
  # * <b>Directory buckets </b> - You can optionally configure default
13116
13283
  # encryption for a bucket by using server-side encryption with Key
13117
13284
  # Management Service (KMS) keys (SSE-KMS).
@@ -13126,7 +13293,7 @@ module Aws::S3
13126
13293
  # object uploads][4].
13127
13294
  #
13128
13295
  # * Your SSE-KMS configuration can only support 1 [customer managed
13129
- # key][5] per directory bucket for the lifetime of the bucket.
13296
+ # key][5] per directory bucket for the lifetime of the bucket. The
13130
13297
  # [Amazon Web Services managed key][6] (`aws/s3`) isn't supported.
13131
13298
  #
13132
13299
  # * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
@@ -13310,7 +13477,7 @@ module Aws::S3
13310
13477
  req.send_request(options)
13311
13478
  end
13312
13479
 
13313
- # <note markdown="1"> This operation is not supported by directory buckets.
13480
+ # <note markdown="1"> This operation is not supported for directory buckets.
13314
13481
  #
13315
13482
  # </note>
13316
13483
  #
@@ -13435,7 +13602,7 @@ module Aws::S3
13435
13602
  req.send_request(options)
13436
13603
  end
13437
13604
 
13438
- # <note markdown="1"> This operation is not supported by directory buckets.
13605
+ # <note markdown="1"> This operation is not supported for directory buckets.
13439
13606
  #
13440
13607
  # </note>
13441
13608
  #
@@ -13587,15 +13754,15 @@ module Aws::S3
13587
13754
  req.send_request(options)
13588
13755
  end
13589
13756
 
13590
- # <note markdown="1"> This operation is not supported by directory buckets.
13591
- #
13592
- # </note>
13593
- #
13594
13757
  # For an updated version of this API, see
13595
13758
  # [PutBucketLifecycleConfiguration][1]. This version has been
13596
13759
  # deprecated. Existing lifecycle configurations will work. For new
13597
13760
  # lifecycle configurations, use the updated API.
13598
13761
  #
13762
+ # <note markdown="1"> This operation is not supported for directory buckets.
13763
+ #
13764
+ # </note>
13765
+ #
13599
13766
  # Creates a new lifecycle configuration for the bucket or replaces an
13600
13767
  # existing lifecycle configuration. For information about lifecycle
13601
13768
  # configuration, see [Object Lifecycle Management][2] in the *Amazon S3
@@ -13738,10 +13905,6 @@ module Aws::S3
13738
13905
  req.send_request(options)
13739
13906
  end
13740
13907
 
13741
- # <note markdown="1"> This operation is not supported by directory buckets.
13742
- #
13743
- # </note>
13744
- #
13745
13908
  # Creates a new lifecycle configuration for the bucket or replaces an
13746
13909
  # existing lifecycle configuration. Keep in mind that this will
13747
13910
  # overwrite an existing lifecycle configuration, so if you want to
@@ -13749,23 +13912,30 @@ module Aws::S3
13749
13912
  # lifecycle configuration. For information about lifecycle
13750
13913
  # configuration, see [Managing your storage lifecycle][1].
13751
13914
  #
13752
- # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
13753
- # rule using an object key name prefix, one or more object tags, object
13754
- # size, or any combination of these. Accordingly, this section describes
13755
- # the latest API. The previous version of the API supported filtering
13756
- # based only on an object key name prefix, which is supported for
13757
- # backward compatibility. For the related API description, see
13758
- # [PutBucketLifecycle][2].
13759
- #
13760
- # </note>
13761
- #
13762
13915
  # Rules
13916
+ # Permissions
13917
+ # HTTP Host header syntax
13763
13918
  #
13764
13919
  # : You specify the lifecycle configuration in your request body. The
13765
13920
  # lifecycle configuration is specified as XML consisting of one or
13766
13921
  # more rules. An Amazon S3 Lifecycle configuration can have up to
13767
- # 1,000 rules. This limit is not adjustable. Each rule consists of the
13768
- # following:
13922
+ # 1,000 rules. This limit is not adjustable.
13923
+ #
13924
+ # Bucket lifecycle configuration supports specifying a lifecycle rule
13925
+ # using an object key name prefix, one or more object tags, object
13926
+ # size, or any combination of these. Accordingly, this section
13927
+ # describes the latest API. The previous version of the API supported
13928
+ # filtering based only on an object key name prefix, which is
13929
+ # supported for backward compatibility for general purpose buckets.
13930
+ # For the related API description, see [PutBucketLifecycle][2].
13931
+ #
13932
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
13933
+ # objects and cancelling multipart uploads. Expiring of versioned
13934
+ # objects,transitions and tag filters are not supported.
13935
+ #
13936
+ # </note>
13937
+ #
13938
+ # A lifecycle rule consists of the following:
13769
13939
  #
13770
13940
  # * A filter identifying a subset of objects to which the rule
13771
13941
  # applies. The filter can be based on a key name prefix, object
@@ -13783,40 +13953,61 @@ module Aws::S3
13783
13953
  #
13784
13954
  # For more information, see [Object Lifecycle Management][3] and
13785
13955
  # [Lifecycle Configuration Elements][4].
13956
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
13957
+ # resources are private, including buckets, objects, and related
13958
+ # subresources (for example, lifecycle configuration and website
13959
+ # configuration). Only the resource owner (that is, the Amazon Web
13960
+ # Services account that created it) can access the resource. The
13961
+ # resource owner can optionally grant access permissions to others
13962
+ # by writing an access policy. For this operation, a user must have
13963
+ # the `s3:PutLifecycleConfiguration` permission.
13786
13964
  #
13787
- # Permissions
13965
+ # You can also explicitly deny permissions. An explicit deny also
13966
+ # supersedes any other permissions. If you want to block users or
13967
+ # accounts from removing or deleting objects from your bucket, you
13968
+ # must deny them permissions for the following actions:
13788
13969
  #
13789
- # : By default, all Amazon S3 resources are private, including buckets,
13790
- # objects, and related subresources (for example, lifecycle
13791
- # configuration and website configuration). Only the resource owner
13792
- # (that is, the Amazon Web Services account that created it) can
13793
- # access the resource. The resource owner can optionally grant access
13794
- # permissions to others by writing an access policy. For this
13795
- # operation, a user must get the `s3:PutLifecycleConfiguration`
13796
- # permission.
13970
+ # * `s3:DeleteObject`
13797
13971
  #
13798
- # You can also explicitly deny permissions. An explicit deny also
13799
- # supersedes any other permissions. If you want to block users or
13800
- # accounts from removing or deleting objects from your bucket, you
13801
- # must deny them permissions for the following actions:
13972
+ # * `s3:DeleteObjectVersion`
13802
13973
  #
13803
- # * `s3:DeleteObject`
13974
+ # * `s3:PutLifecycleConfiguration`
13804
13975
  #
13805
- # * `s3:DeleteObjectVersion`
13976
+ # For more information about permissions, see [Managing Access
13977
+ # Permissions to Your Amazon S3 Resources][5].
13978
+ # ^
13806
13979
  #
13807
- # * `s3:PutLifecycleConfiguration`
13980
+ # * **Directory bucket permissions** - You must have the
13981
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
13982
+ # identity-based policy to use this operation. Cross-account access
13983
+ # to this API operation isn't supported. The resource owner can
13984
+ # optionally grant access permissions to others by creating a role
13985
+ # or user for them as long as they are within the same account as
13986
+ # the owner and resource.
13987
+ #
13988
+ # For more information about directory bucket policies and
13989
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][6]
13990
+ # in the *Amazon S3 User Guide*.
13808
13991
  #
13809
- # For more information about permissions, see [Managing Access
13810
- # Permissions to Your Amazon S3 Resources][5].
13992
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13993
+ # requests for this API operation to the Regional endpoint. These
13994
+ # endpoints support path-style requests in the format
13995
+ # `https://s3express-control.region_code.amazonaws.com/bucket-name
13996
+ # `. Virtual-hosted-style requests aren't supported. For more
13997
+ # information, see [Regional and Zonal endpoints][7] in the *Amazon
13998
+ # S3 User Guide*.
13811
13999
  #
13812
- # The following operations are related to
13813
- # `PutBucketLifecycleConfiguration`:
14000
+ # </note>
13814
14001
  #
13815
- # * [Examples of Lifecycle Configuration][6]
14002
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
14003
+ # `s3express-control.region.amazonaws.com`.
13816
14004
  #
13817
- # * [GetBucketLifecycleConfiguration][7]
14005
+ # The following operations are related to
14006
+ # `PutBucketLifecycleConfiguration`:
13818
14007
  #
13819
- # * [DeleteBucketLifecycle][8]
14008
+ # * [GetBucketLifecycleConfiguration][8]
14009
+ #
14010
+ # * [DeleteBucketLifecycle][9]
13820
14011
  #
13821
14012
  #
13822
14013
  #
@@ -13825,9 +14016,10 @@ module Aws::S3
13825
14016
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13826
14017
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
13827
14018
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13828
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
13829
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
13830
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
14019
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14020
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
14021
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14022
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
13831
14023
  #
13832
14024
  # @option params [required, String] :bucket
13833
14025
  # The name of the bucket for which to set the configuration.
@@ -13856,7 +14048,36 @@ module Aws::S3
13856
14048
  # you provide does not match the actual owner of the bucket, the request
13857
14049
  # fails with the HTTP status code `403 Forbidden` (access denied).
13858
14050
  #
13859
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
14051
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14052
+ # supported for directory bucket lifecycle configurations.
14053
+ #
14054
+ # </note>
14055
+ #
14056
+ # @option params [String] :transition_default_minimum_object_size
14057
+ # Indicates which default minimum object size behavior is applied to the
14058
+ # lifecycle configuration.
14059
+ #
14060
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14061
+ # supported for directory bucket lifecycle configurations.
14062
+ #
14063
+ # </note>
14064
+ #
14065
+ # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
14066
+ # transition to any storage class by default.
14067
+ #
14068
+ # * `varies_by_storage_class` - Objects smaller than 128 KB will
14069
+ # transition to Glacier Flexible Retrieval or Glacier Deep Archive
14070
+ # storage classes. By default, all other storage classes will prevent
14071
+ # transitions smaller than 128 KB.
14072
+ #
14073
+ # To customize the minimum object size for any transition you can add a
14074
+ # filter that specifies a custom `ObjectSizeGreaterThan` or
14075
+ # `ObjectSizeLessThan` in the body of your transition rule. Custom
14076
+ # filters always take precedence over the default transition behavior.
14077
+ #
14078
+ # @return [Types::PutBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
14079
+ #
14080
+ # * {Types::PutBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
13860
14081
  #
13861
14082
  #
13862
14083
  # @example Example: Put bucket lifecycle
@@ -13948,8 +14169,13 @@ module Aws::S3
13948
14169
  # ],
13949
14170
  # },
13950
14171
  # expected_bucket_owner: "AccountId",
14172
+ # transition_default_minimum_object_size: "varies_by_storage_class", # accepts varies_by_storage_class, all_storage_classes_128K
13951
14173
  # })
13952
14174
  #
14175
+ # @example Response structure
14176
+ #
14177
+ # resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
14178
+ #
13953
14179
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration AWS API Documentation
13954
14180
  #
13955
14181
  # @overload put_bucket_lifecycle_configuration(params = {})
@@ -13959,7 +14185,7 @@ module Aws::S3
13959
14185
  req.send_request(options)
13960
14186
  end
13961
14187
 
13962
- # <note markdown="1"> This operation is not supported by directory buckets.
14188
+ # <note markdown="1"> This operation is not supported for directory buckets.
13963
14189
  #
13964
14190
  # </note>
13965
14191
  #
@@ -14142,7 +14368,7 @@ module Aws::S3
14142
14368
  req.send_request(options)
14143
14369
  end
14144
14370
 
14145
- # <note markdown="1"> This operation is not supported by directory buckets.
14371
+ # <note markdown="1"> This operation is not supported for directory buckets.
14146
14372
  #
14147
14373
  # </note>
14148
14374
  #
@@ -14246,7 +14472,7 @@ module Aws::S3
14246
14472
  req.send_request(options)
14247
14473
  end
14248
14474
 
14249
- # <note markdown="1"> This operation is not supported by directory buckets.
14475
+ # <note markdown="1"> This operation is not supported for directory buckets.
14250
14476
  #
14251
14477
  # </note>
14252
14478
  #
@@ -14332,7 +14558,7 @@ module Aws::S3
14332
14558
  req.send_request(options)
14333
14559
  end
14334
14560
 
14335
- # <note markdown="1"> This operation is not supported by directory buckets.
14561
+ # <note markdown="1"> This operation is not supported for directory buckets.
14336
14562
  #
14337
14563
  # </note>
14338
14564
  #
@@ -14516,7 +14742,7 @@ module Aws::S3
14516
14742
  req.send_request(options)
14517
14743
  end
14518
14744
 
14519
- # <note markdown="1"> This operation is not supported by directory buckets.
14745
+ # <note markdown="1"> This operation is not supported for directory buckets.
14520
14746
  #
14521
14747
  # </note>
14522
14748
  #
@@ -14702,13 +14928,13 @@ module Aws::S3
14702
14928
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
14703
14929
  # the supported algorithm from the following list:
14704
14930
  #
14705
- # * CRC32
14931
+ # * `CRC32`
14706
14932
  #
14707
- # * CRC32C
14933
+ # * `CRC32C`
14708
14934
  #
14709
- # * SHA1
14935
+ # * `SHA1`
14710
14936
  #
14711
- # * SHA256
14937
+ # * `SHA256`
14712
14938
  #
14713
14939
  # For more information, see [Checking object integrity][1] in the
14714
14940
  # *Amazon S3 User Guide*.
@@ -14785,7 +15011,7 @@ module Aws::S3
14785
15011
  req.send_request(options)
14786
15012
  end
14787
15013
 
14788
- # <note markdown="1"> This operation is not supported by directory buckets.
15014
+ # <note markdown="1"> This operation is not supported for directory buckets.
14789
15015
  #
14790
15016
  # </note>
14791
15017
  #
@@ -15023,7 +15249,7 @@ module Aws::S3
15023
15249
  req.send_request(options)
15024
15250
  end
15025
15251
 
15026
- # <note markdown="1"> This operation is not supported by directory buckets.
15252
+ # <note markdown="1"> This operation is not supported for directory buckets.
15027
15253
  #
15028
15254
  # </note>
15029
15255
  #
@@ -15120,7 +15346,7 @@ module Aws::S3
15120
15346
  req.send_request(options)
15121
15347
  end
15122
15348
 
15123
- # <note markdown="1"> This operation is not supported by directory buckets.
15349
+ # <note markdown="1"> This operation is not supported for directory buckets.
15124
15350
  #
15125
15351
  # </note>
15126
15352
  #
@@ -15271,15 +15497,17 @@ module Aws::S3
15271
15497
  req.send_request(options)
15272
15498
  end
15273
15499
 
15274
- # <note markdown="1"> This operation is not supported by directory buckets.
15500
+ # <note markdown="1"> This operation is not supported for directory buckets.
15275
15501
  #
15276
15502
  # </note>
15277
15503
  #
15278
15504
  # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
15279
- # take a short amount of time for the change to be fully propagated. We
15280
- # recommend that you wait for 15 minutes after enabling versioning
15281
- # before issuing write operations (`PUT` or `DELETE`) on objects in the
15282
- # bucket.
15505
+ # take a short amount of time for the change to be fully propagated.
15506
+ # While this change is propagating, you may encounter intermittent `HTTP
15507
+ # 404 NoSuchKey` errors for requests to objects created or updated after
15508
+ # enabling versioning. We recommend that you wait for 15 minutes after
15509
+ # enabling versioning before issuing write operations (`PUT` or
15510
+ # `DELETE`) on objects in the bucket.
15283
15511
  #
15284
15512
  # </note>
15285
15513
  #
@@ -15410,7 +15638,7 @@ module Aws::S3
15410
15638
  req.send_request(options)
15411
15639
  end
15412
15640
 
15413
- # <note markdown="1"> This operation is not supported by directory buckets.
15641
+ # <note markdown="1"> This operation is not supported for directory buckets.
15414
15642
  #
15415
15643
  # </note>
15416
15644
  #
@@ -15660,7 +15888,6 @@ module Aws::S3
15660
15888
  # * <b> <code>s3:PutObjectTagging</code> </b> - To successfully set
15661
15889
  # the tag-set with your `PutObject` request, you must have the
15662
15890
  # `s3:PutObjectTagging`.
15663
- #
15664
15891
  # * **Directory bucket permissions** - To grant access to this API
15665
15892
  # operation on a directory bucket, we recommend that you use the [
15666
15893
  # `CreateSession` ][5] API operation for session-based
@@ -15847,10 +16074,11 @@ module Aws::S3
15847
16074
  # information about REST request authentication, see [REST
15848
16075
  # Authentication][1].
15849
16076
  #
15850
- # <note markdown="1"> The `Content-MD5` header is required for any request to upload an
15851
- # object with a retention period configured using Amazon S3 Object Lock.
15852
- # For more information about Amazon S3 Object Lock, see [Amazon S3
15853
- # Object Lock Overview][2] in the *Amazon S3 User Guide*.
16077
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
16078
+ # for any request to upload an object with a retention period configured
16079
+ # using Amazon S3 Object Lock. For more information, see [Uploading
16080
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
16081
+ # Guide*.
15854
16082
  #
15855
16083
  # </note>
15856
16084
  #
@@ -15861,7 +16089,7 @@ module Aws::S3
15861
16089
  #
15862
16090
  #
15863
16091
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
15864
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
16092
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
15865
16093
  #
15866
16094
  # @option params [String] :content_type
15867
16095
  # A standard MIME type describing the format of the contents. For more
@@ -15883,13 +16111,13 @@ module Aws::S3
15883
16111
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
15884
16112
  # the supported algorithm from the following list:
15885
16113
  #
15886
- # * CRC32
16114
+ # * `CRC32`
15887
16115
  #
15888
- # * CRC32C
16116
+ # * `CRC32C`
15889
16117
  #
15890
- # * SHA1
16118
+ # * `SHA1`
15891
16119
  #
15892
- # * SHA256
16120
+ # * `SHA256`
15893
16121
  #
15894
16122
  # For more information, see [Checking object integrity][1] in the
15895
16123
  # *Amazon S3 User Guide*.
@@ -15900,21 +16128,28 @@ module Aws::S3
15900
16128
  # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
15901
16129
  # that matches the provided value in `x-amz-checksum-algorithm `.
15902
16130
  #
15903
- # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
15904
- # is the default checksum algorithm that's used for performance.
16131
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
16132
+ # for any request to upload an object with a retention period configured
16133
+ # using Amazon S3 Object Lock. For more information, see [Uploading
16134
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
16135
+ # Guide*.
15905
16136
  #
15906
16137
  # </note>
15907
16138
  #
16139
+ # For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
16140
+ # is the default checksum algorithm that's used for performance.
16141
+ #
15908
16142
  #
15909
16143
  #
15910
16144
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
16145
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
15911
16146
  #
15912
16147
  # @option params [String] :checksum_crc32
15913
16148
  # This header can be used as a data integrity check to verify that the
15914
16149
  # data received is the same data that was originally sent. This header
15915
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
15916
- # more information, see [Checking object integrity][1] in the *Amazon S3
15917
- # User Guide*.
16150
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
16151
+ # For more information, see [Checking object integrity][1] in the
16152
+ # *Amazon S3 User Guide*.
15918
16153
  #
15919
16154
  #
15920
16155
  #
@@ -15923,7 +16158,7 @@ module Aws::S3
15923
16158
  # @option params [String] :checksum_crc32c
15924
16159
  # This header can be used as a data integrity check to verify that the
15925
16160
  # data received is the same data that was originally sent. This header
15926
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
16161
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
15927
16162
  # For more information, see [Checking object integrity][1] in the
15928
16163
  # *Amazon S3 User Guide*.
15929
16164
  #
@@ -15962,6 +16197,26 @@ module Aws::S3
15962
16197
  #
15963
16198
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
15964
16199
  #
16200
+ # @option params [String] :if_match
16201
+ # Uploads the object only if the ETag (entity tag) value provided during
16202
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
16203
+ # values do not match, the operation returns a `412 Precondition Failed`
16204
+ # error.
16205
+ #
16206
+ # If a conflicting operation occurs during the upload S3 returns a `409
16207
+ # ConditionalRequestConflict` response. On a 409 failure you should
16208
+ # fetch the object's ETag and retry the upload.
16209
+ #
16210
+ # Expects the ETag value as a string.
16211
+ #
16212
+ # For more information about conditional requests, see [RFC 7232][1], or
16213
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
16214
+ #
16215
+ #
16216
+ #
16217
+ # [1]: https://tools.ietf.org/html/rfc7232
16218
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
16219
+ #
15965
16220
  # @option params [String] :if_none_match
15966
16221
  # Uploads the object only if the object key name does not already exist
15967
16222
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -16021,6 +16276,17 @@ module Aws::S3
16021
16276
  # @option params [required, String] :key
16022
16277
  # Object key for which the PUT action was initiated.
16023
16278
  #
16279
+ # @option params [Integer] :write_offset_bytes
16280
+ # Specifies the offset for appending data to existing objects in bytes.
16281
+ # The offset must be equal to the size of the existing object being
16282
+ # appended to. If no object exists, setting this header to 0 will create
16283
+ # a new object.
16284
+ #
16285
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
16286
+ # Express One Zone storage class in directory buckets.
16287
+ #
16288
+ # </note>
16289
+ #
16024
16290
  # @option params [Hash<String,String>] :metadata
16025
16291
  # A map of metadata to store with the object in S3.
16026
16292
  #
@@ -16181,14 +16447,19 @@ module Aws::S3
16181
16447
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
16182
16448
  #
16183
16449
  # **Directory buckets** - If you specify `x-amz-server-side-encryption`
16184
- # with `aws:kms`, you must specify the `
16185
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
16186
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
16187
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
16188
- # key ID or key ARN. The key alias format of the KMS key isn't
16189
- # supported. Your SSE-KMS configuration can only support 1 [customer
16190
- # managed key][1] per directory bucket for the lifetime of the bucket.
16191
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
16450
+ # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
16451
+ # header is implicitly assigned the ID of the KMS symmetric encryption
16452
+ # customer managed key that's configured for your directory bucket's
16453
+ # default encryption setting. If you want to specify the `
16454
+ # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
16455
+ # can only specify it with the ID (Key ID or Key ARN) of the KMS
16456
+ # customer managed key that's configured for your directory bucket's
16457
+ # default encryption setting. Otherwise, you get an HTTP `400 Bad
16458
+ # Request` error. Only use the key ID or key ARN. The key alias format
16459
+ # of the KMS key isn't supported. Your SSE-KMS configuration can only
16460
+ # support 1 [customer managed key][1] per directory bucket for the
16461
+ # lifetime of the bucket. The [Amazon Web Services managed key][2]
16462
+ # (`aws/s3`) isn't supported.
16192
16463
  #
16193
16464
  #
16194
16465
  #
@@ -16318,99 +16589,84 @@ module Aws::S3
16318
16589
  # * {Types::PutObjectOutput#ssekms_key_id #ssekms_key_id} => String
16319
16590
  # * {Types::PutObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
16320
16591
  # * {Types::PutObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
16592
+ # * {Types::PutObjectOutput#size #size} => Integer
16321
16593
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16322
16594
  #
16323
16595
  #
16324
- # @example Example: To upload an object and specify optional tags
16325
- #
16326
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
16327
- # # S3 returns version ID of the newly created object.
16328
- #
16329
- # resp = client.put_object({
16330
- # body: "c:\\HappyFace.jpg",
16331
- # bucket: "examplebucket",
16332
- # key: "HappyFace.jpg",
16333
- # tagging: "key1=value1&key2=value2",
16334
- # })
16335
- #
16336
- # resp.to_h outputs the following:
16337
- # {
16338
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16339
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16340
- # }
16341
- #
16342
- # @example Example: To create an object.
16596
+ # @example Example: To upload an object and specify server-side encryption and object tags
16343
16597
  #
16344
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16598
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16599
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16345
16600
  #
16346
16601
  # resp = client.put_object({
16347
16602
  # body: "filetoupload",
16348
16603
  # bucket: "examplebucket",
16349
- # key: "objectkey",
16604
+ # key: "exampleobject",
16605
+ # server_side_encryption: "AES256",
16606
+ # tagging: "key1=value1&key2=value2",
16350
16607
  # })
16351
16608
  #
16352
16609
  # resp.to_h outputs the following:
16353
16610
  # {
16354
16611
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16355
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16612
+ # server_side_encryption: "AES256",
16613
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16356
16614
  # }
16357
16615
  #
16358
- # @example Example: To upload object and specify user-defined metadata
16616
+ # @example Example: To upload an object
16359
16617
  #
16360
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
16361
- # # enabled, S3 returns version ID in response.
16618
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16619
+ # # syntax. S3 returns VersionId of the newly created object.
16362
16620
  #
16363
16621
  # resp = client.put_object({
16364
- # body: "filetoupload",
16622
+ # body: "HappyFace.jpg",
16365
16623
  # bucket: "examplebucket",
16366
- # key: "exampleobject",
16367
- # metadata: {
16368
- # "metadata1" => "value1",
16369
- # "metadata2" => "value2",
16370
- # },
16624
+ # key: "HappyFace.jpg",
16371
16625
  # })
16372
16626
  #
16373
16627
  # resp.to_h outputs the following:
16374
16628
  # {
16375
16629
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16376
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16630
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16377
16631
  # }
16378
16632
  #
16379
- # @example Example: To upload an object
16633
+ # @example Example: To upload an object and specify optional tags
16380
16634
  #
16381
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16382
- # # syntax. S3 returns VersionId of the newly created object.
16635
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
16636
+ # # S3 returns version ID of the newly created object.
16383
16637
  #
16384
16638
  # resp = client.put_object({
16385
- # body: "HappyFace.jpg",
16639
+ # body: "c:\\HappyFace.jpg",
16386
16640
  # bucket: "examplebucket",
16387
16641
  # key: "HappyFace.jpg",
16642
+ # tagging: "key1=value1&key2=value2",
16388
16643
  # })
16389
16644
  #
16390
16645
  # resp.to_h outputs the following:
16391
16646
  # {
16392
16647
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16393
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16648
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16394
16649
  # }
16395
16650
  #
16396
- # @example Example: To upload an object and specify server-side encryption and object tags
16651
+ # @example Example: To upload object and specify user-defined metadata
16397
16652
  #
16398
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16399
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16653
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
16654
+ # # enabled, S3 returns version ID in response.
16400
16655
  #
16401
16656
  # resp = client.put_object({
16402
16657
  # body: "filetoupload",
16403
16658
  # bucket: "examplebucket",
16404
16659
  # key: "exampleobject",
16405
- # server_side_encryption: "AES256",
16406
- # tagging: "key1=value1&key2=value2",
16660
+ # metadata: {
16661
+ # "metadata1" => "value1",
16662
+ # "metadata2" => "value2",
16663
+ # },
16407
16664
  # })
16408
16665
  #
16409
16666
  # resp.to_h outputs the following:
16410
16667
  # {
16411
16668
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16412
- # server_side_encryption: "AES256",
16413
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16669
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16414
16670
  # }
16415
16671
  #
16416
16672
  # @example Example: To upload an object and specify canned ACL.
@@ -16451,6 +16707,22 @@ module Aws::S3
16451
16707
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16452
16708
  # }
16453
16709
  #
16710
+ # @example Example: To create an object.
16711
+ #
16712
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16713
+ #
16714
+ # resp = client.put_object({
16715
+ # body: "filetoupload",
16716
+ # bucket: "examplebucket",
16717
+ # key: "objectkey",
16718
+ # })
16719
+ #
16720
+ # resp.to_h outputs the following:
16721
+ # {
16722
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16723
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16724
+ # }
16725
+ #
16454
16726
  # @example Streaming a file from disk
16455
16727
  # # upload file from disk in a single request, may not exceed 5GB
16456
16728
  # File.open('/source/file/path', 'rb') do |file|
@@ -16476,12 +16748,14 @@ module Aws::S3
16476
16748
  # checksum_sha1: "ChecksumSHA1",
16477
16749
  # checksum_sha256: "ChecksumSHA256",
16478
16750
  # expires: Time.now,
16751
+ # if_match: "IfMatch",
16479
16752
  # if_none_match: "IfNoneMatch",
16480
16753
  # grant_full_control: "GrantFullControl",
16481
16754
  # grant_read: "GrantRead",
16482
16755
  # grant_read_acp: "GrantReadACP",
16483
16756
  # grant_write_acp: "GrantWriteACP",
16484
16757
  # key: "ObjectKey", # required
16758
+ # write_offset_bytes: 1,
16485
16759
  # metadata: {
16486
16760
  # "MetadataKey" => "MetadataValue",
16487
16761
  # },
@@ -16517,6 +16791,7 @@ module Aws::S3
16517
16791
  # resp.ssekms_key_id #=> String
16518
16792
  # resp.ssekms_encryption_context #=> String
16519
16793
  # resp.bucket_key_enabled #=> Boolean
16794
+ # resp.size #=> Integer
16520
16795
  # resp.request_charged #=> String, one of "requester"
16521
16796
  #
16522
16797
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject AWS API Documentation
@@ -16528,7 +16803,7 @@ module Aws::S3
16528
16803
  req.send_request(options)
16529
16804
  end
16530
16805
 
16531
- # <note markdown="1"> This operation is not supported by directory buckets.
16806
+ # <note markdown="1"> This operation is not supported for directory buckets.
16532
16807
  #
16533
16808
  # </note>
16534
16809
  #
@@ -16612,7 +16887,6 @@ module Aws::S3
16612
16887
  # General Reference.
16613
16888
  #
16614
16889
  # </note>
16615
- #
16616
16890
  # For example, the following `x-amz-grant-read` header grants list
16617
16891
  # objects permission to the two Amazon Web Services accounts
16618
16892
  # identified by their email addresses.
@@ -16898,7 +17172,7 @@ module Aws::S3
16898
17172
  req.send_request(options)
16899
17173
  end
16900
17174
 
16901
- # <note markdown="1"> This operation is not supported by directory buckets.
17175
+ # <note markdown="1"> This operation is not supported for directory buckets.
16902
17176
  #
16903
17177
  # </note>
16904
17178
  #
@@ -17017,7 +17291,7 @@ module Aws::S3
17017
17291
  req.send_request(options)
17018
17292
  end
17019
17293
 
17020
- # <note markdown="1"> This operation is not supported by directory buckets.
17294
+ # <note markdown="1"> This operation is not supported for directory buckets.
17021
17295
  #
17022
17296
  # </note>
17023
17297
  #
@@ -17136,7 +17410,7 @@ module Aws::S3
17136
17410
  req.send_request(options)
17137
17411
  end
17138
17412
 
17139
- # <note markdown="1"> This operation is not supported by directory buckets.
17413
+ # <note markdown="1"> This operation is not supported for directory buckets.
17140
17414
  #
17141
17415
  # </note>
17142
17416
  #
@@ -17265,7 +17539,7 @@ module Aws::S3
17265
17539
  req.send_request(options)
17266
17540
  end
17267
17541
 
17268
- # <note markdown="1"> This operation is not supported by directory buckets.
17542
+ # <note markdown="1"> This operation is not supported for directory buckets.
17269
17543
  #
17270
17544
  # </note>
17271
17545
  #
@@ -17464,7 +17738,7 @@ module Aws::S3
17464
17738
  req.send_request(options)
17465
17739
  end
17466
17740
 
17467
- # <note markdown="1"> This operation is not supported by directory buckets.
17741
+ # <note markdown="1"> This operation is not supported for directory buckets.
17468
17742
  #
17469
17743
  # </note>
17470
17744
  #
@@ -17572,14 +17846,10 @@ module Aws::S3
17572
17846
  req.send_request(options)
17573
17847
  end
17574
17848
 
17575
- # <note markdown="1"> This operation is not supported by directory buckets.
17849
+ # <note markdown="1"> This operation is not supported for directory buckets.
17576
17850
  #
17577
17851
  # </note>
17578
17852
  #
17579
- # The `SELECT` job type for the RestoreObject operation is no longer
17580
- # available to new customers. Existing customers of Amazon S3 Select can
17581
- # continue to use the feature as usual. [Learn more][1]
17582
- #
17583
17853
  # Restores an archived copy of an object back into Amazon S3
17584
17854
  #
17585
17855
  # This functionality is not supported for Amazon S3 on Outposts.
@@ -17593,11 +17863,11 @@ module Aws::S3
17593
17863
  # For more information about the `S3` structure in the request body, see
17594
17864
  # the following:
17595
17865
  #
17596
- # * [PutObject][2]
17866
+ # * [PutObject][1]
17597
17867
  #
17598
- # * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
17868
+ # * [Managing Access with ACLs][2] in the *Amazon S3 User Guide*
17599
17869
  #
17600
- # * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
17870
+ # * [Protecting Data Using Server-Side Encryption][3] in the *Amazon S3
17601
17871
  # User Guide*
17602
17872
  #
17603
17873
  # Permissions
@@ -17606,8 +17876,8 @@ module Aws::S3
17606
17876
  # `s3:RestoreObject` action. The bucket owner has this permission by
17607
17877
  # default and can grant this permission to others. For more
17608
17878
  # information about permissions, see [Permissions Related to Bucket
17609
- # Subresource Operations][5] and [Managing Access Permissions to Your
17610
- # Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
17879
+ # Subresource Operations][4] and [Managing Access Permissions to Your
17880
+ # Amazon S3 Resources][5] in the *Amazon S3 User Guide*.
17611
17881
  #
17612
17882
  # Restoring objects
17613
17883
  #
@@ -17670,11 +17940,11 @@ module Aws::S3
17670
17940
  #
17671
17941
  # For more information about archive retrieval options and provisioned
17672
17942
  # capacity for `Expedited` data access, see [Restoring Archived
17673
- # Objects][7] in the *Amazon S3 User Guide*.
17943
+ # Objects][6] in the *Amazon S3 User Guide*.
17674
17944
  #
17675
17945
  # You can use Amazon S3 restore speed upgrade to change the restore
17676
17946
  # speed to a faster speed while it is in progress. For more
17677
- # information, see [ Upgrading the speed of an in-progress restore][8]
17947
+ # information, see [ Upgrading the speed of an in-progress restore][7]
17678
17948
  # in the *Amazon S3 User Guide*.
17679
17949
  #
17680
17950
  # To get the status of object restoration, you can send a `HEAD`
@@ -17682,7 +17952,7 @@ module Aws::S3
17682
17952
  # provides information about the restoration status, in the response.
17683
17953
  # You can use Amazon S3 event notifications to notify you when a
17684
17954
  # restore is initiated or completed. For more information, see
17685
- # [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
17955
+ # [Configuring Amazon S3 Event Notifications][8] in the *Amazon S3
17686
17956
  # User Guide*.
17687
17957
  #
17688
17958
  # After restoring an archived object, you can update the restoration
@@ -17698,8 +17968,8 @@ module Aws::S3
17698
17968
  # restore an object copy for 10 days, but the object is scheduled to
17699
17969
  # expire in 3 days, Amazon S3 deletes the object in 3 days. For more
17700
17970
  # information about lifecycle configuration, see
17701
- # [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
17702
- # Management][11] in *Amazon S3 User Guide*.
17971
+ # [PutBucketLifecycleConfiguration][9] and [Object Lifecycle
17972
+ # Management][10] in *Amazon S3 User Guide*.
17703
17973
  #
17704
17974
  # Responses
17705
17975
  #
@@ -17722,7 +17992,6 @@ module Aws::S3
17722
17992
  # * *HTTP Status Code: 409 Conflict*
17723
17993
  #
17724
17994
  # * *SOAP Fault Code Prefix: Client*
17725
- #
17726
17995
  # * * *Code: GlacierExpeditedRetrievalNotAvailable*
17727
17996
  #
17728
17997
  # * *Cause: expedited retrievals are currently not available. Try
@@ -17737,24 +18006,23 @@ module Aws::S3
17737
18006
  #
17738
18007
  # The following operations are related to `RestoreObject`:
17739
18008
  #
17740
- # * [PutBucketLifecycleConfiguration][10]
18009
+ # * [PutBucketLifecycleConfiguration][9]
17741
18010
  #
17742
- # * [GetBucketNotificationConfiguration][12]
18011
+ # * [GetBucketNotificationConfiguration][11]
17743
18012
  #
17744
18013
  #
17745
18014
  #
17746
- # [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
17747
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
17748
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
17749
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
17750
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
17751
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
17752
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
17753
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
17754
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
17755
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
17756
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
17757
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
18015
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
18016
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
18017
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
18018
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
18019
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
18020
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
18021
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
18022
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
18023
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
18024
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
18025
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
17758
18026
  #
17759
18027
  # @option params [required, String] :bucket
17760
18028
  # The bucket name containing the object to restore.
@@ -17962,14 +18230,10 @@ module Aws::S3
17962
18230
  req.send_request(options)
17963
18231
  end
17964
18232
 
17965
- # <note markdown="1"> This operation is not supported by directory buckets.
18233
+ # <note markdown="1"> This operation is not supported for directory buckets.
17966
18234
  #
17967
18235
  # </note>
17968
18236
  #
17969
- # The SelectObjectContent operation is no longer available to new
17970
- # customers. Existing customers of Amazon S3 Select can continue to use
17971
- # the operation as usual. [Learn more][1]
17972
- #
17973
18237
  # This action filters the contents of an Amazon S3 object based on a
17974
18238
  # simple structured query language (SQL) statement. In the request,
17975
18239
  # along with the SQL expression, you must also specify a data
@@ -17981,7 +18245,7 @@ module Aws::S3
17981
18245
  # This functionality is not supported for Amazon S3 on Outposts.
17982
18246
  #
17983
18247
  # For more information about Amazon S3 Select, see [Selecting Content
17984
- # from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
18248
+ # from Objects][1] and [SELECT Command][2] in the *Amazon S3 User
17985
18249
  # Guide*.
17986
18250
  #
17987
18251
  #
@@ -17991,7 +18255,7 @@ module Aws::S3
17991
18255
  # : You must have the `s3:GetObject` permission for this
17992
18256
  # operation. Amazon S3 Select does not support anonymous access. For
17993
18257
  # more information about permissions, see [Specifying Permissions in a
17994
- # Policy][4] in the *Amazon S3 User Guide*.
18258
+ # Policy][3] in the *Amazon S3 User Guide*.
17995
18259
  #
17996
18260
  # Object Data Formats
17997
18261
  #
@@ -18016,31 +18280,31 @@ module Aws::S3
18016
18280
  #
18017
18281
  # For objects that are encrypted with customer-provided encryption
18018
18282
  # keys (SSE-C), you must use HTTPS, and you must use the headers
18019
- # that are documented in the [GetObject][5]. For more information
18283
+ # that are documented in the [GetObject][4]. For more information
18020
18284
  # about SSE-C, see [Server-Side Encryption (Using Customer-Provided
18021
- # Encryption Keys)][6] in the *Amazon S3 User Guide*.
18285
+ # Encryption Keys)][5] in the *Amazon S3 User Guide*.
18022
18286
  #
18023
18287
  # For objects that are encrypted with Amazon S3 managed keys
18024
18288
  # (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
18025
18289
  # encryption is handled transparently, so you don't need to specify
18026
18290
  # anything. For more information about server-side encryption,
18027
18291
  # including SSE-S3 and SSE-KMS, see [Protecting Data Using
18028
- # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
18292
+ # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
18029
18293
  #
18030
18294
  # Working with the Response Body
18031
18295
  #
18032
18296
  # : Given the response size is unknown, Amazon S3 Select streams the
18033
18297
  # response as a series of messages and includes a `Transfer-Encoding`
18034
18298
  # header with `chunked` as its value in the response. For more
18035
- # information, see [Appendix: SelectObjectContent Response][8].
18299
+ # information, see [Appendix: SelectObjectContent Response][7].
18036
18300
  #
18037
18301
  # GetObject Support
18038
18302
  #
18039
18303
  # : The `SelectObjectContent` action does not support the following
18040
- # `GetObject` functionality. For more information, see [GetObject][5].
18304
+ # `GetObject` functionality. For more information, see [GetObject][4].
18041
18305
  #
18042
18306
  # * `Range`: Although you can specify a scan range for an Amazon S3
18043
- # Select request (see [SelectObjectContentRequest - ScanRange][9] in
18307
+ # Select request (see [SelectObjectContentRequest - ScanRange][8] in
18044
18308
  # the request parameters), you cannot specify the range of bytes of
18045
18309
  # an object to return.
18046
18310
  #
@@ -18051,37 +18315,36 @@ module Aws::S3
18051
18315
  # storage classes, nor objects in the `ARCHIVE_ACCESS` or
18052
18316
  # `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
18053
18317
  # storage class. For more information about storage classes, see
18054
- # [Using Amazon S3 storage classes][10] in the *Amazon S3 User
18318
+ # [Using Amazon S3 storage classes][9] in the *Amazon S3 User
18055
18319
  # Guide*.
18056
18320
  #
18057
18321
  # Special Errors
18058
18322
  #
18059
18323
  # : For a list of special errors for this operation, see [List of SELECT
18060
- # Object Content Error Codes][11]
18324
+ # Object Content Error Codes][10]
18061
18325
  #
18062
18326
  # The following operations are related to `SelectObjectContent`:
18063
18327
  #
18064
- # * [GetObject][5]
18328
+ # * [GetObject][4]
18065
18329
  #
18066
- # * [GetBucketLifecycleConfiguration][12]
18330
+ # * [GetBucketLifecycleConfiguration][11]
18067
18331
  #
18068
- # * [PutBucketLifecycleConfiguration][13]
18332
+ # * [PutBucketLifecycleConfiguration][12]
18069
18333
  #
18070
18334
  #
18071
18335
  #
18072
- # [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
18073
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
18074
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
18075
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
18076
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
18077
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
18078
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
18079
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
18080
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
18081
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
18082
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
18083
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
18084
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
18336
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
18337
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
18338
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
18339
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
18340
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
18341
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
18342
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
18343
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
18344
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
18345
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
18346
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
18347
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
18085
18348
  #
18086
18349
  # @option params [required, String] :bucket
18087
18350
  # The S3 bucket.
@@ -18515,7 +18778,6 @@ module Aws::S3
18515
18778
  # * x-amz-server-side-encryption-customer-key
18516
18779
  #
18517
18780
  # * x-amz-server-side-encryption-customer-key-MD5
18518
- #
18519
18781
  # For more information, see [Using Server-Side Encryption][11] in
18520
18782
  # the *Amazon S3 User Guide*.
18521
18783
  #
@@ -18652,9 +18914,9 @@ module Aws::S3
18652
18914
  # @option params [String] :checksum_crc32
18653
18915
  # This header can be used as a data integrity check to verify that the
18654
18916
  # data received is the same data that was originally sent. This header
18655
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
18656
- # more information, see [Checking object integrity][1] in the *Amazon S3
18657
- # User Guide*.
18917
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
18918
+ # For more information, see [Checking object integrity][1] in the
18919
+ # *Amazon S3 User Guide*.
18658
18920
  #
18659
18921
  #
18660
18922
  #
@@ -18663,7 +18925,7 @@ module Aws::S3
18663
18925
  # @option params [String] :checksum_crc32c
18664
18926
  # This header can be used as a data integrity check to verify that the
18665
18927
  # data received is the same data that was originally sent. This header
18666
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
18928
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
18667
18929
  # For more information, see [Checking object integrity][1] in the
18668
18930
  # *Amazon S3 User Guide*.
18669
18931
  #
@@ -18916,7 +19178,6 @@ module Aws::S3
18916
19178
  # permissions required to use the multipart upload API, see
18917
19179
  # [Multipart upload and permissions][8] and [Multipart upload API
18918
19180
  # and permissions][9] in the *Amazon S3 User Guide*.
18919
- #
18920
19181
  # * **Directory bucket permissions** - You must have permissions in a
18921
19182
  # bucket policy or an IAM identity-based policy based on the source
18922
19183
  # and destination bucket types in an `UploadPartCopy` operation.
@@ -18934,7 +19195,6 @@ module Aws::S3
18934
19195
  # `Action` element of a policy to write the object to the
18935
19196
  # destination. The `s3express:SessionMode` condition key cannot be
18936
19197
  # set to `ReadOnly` on the copy destination.
18937
- #
18938
19198
  # If the object is encrypted with SSE-KMS, you must also have the
18939
19199
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
18940
19200
  # identity-based policies and KMS key policies for the KMS key.
@@ -18979,7 +19239,6 @@ module Aws::S3
18979
19239
  # been aborted or completed.
18980
19240
  #
18981
19241
  # * HTTP Status Code: 404 Not Found
18982
- #
18983
19242
  # * Error Code: `InvalidRequest`
18984
19243
  #
18985
19244
  # * Description: The specified copy source is not supported as a
@@ -19312,45 +19571,45 @@ module Aws::S3
19312
19571
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
19313
19572
  #
19314
19573
  #
19315
- # @example Example: To upload a part by copying byte range from an existing object as data source
19574
+ # @example Example: To upload a part by copying data from an existing object as data source
19316
19575
  #
19317
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
19318
- # # data source.
19576
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
19319
19577
  #
19320
19578
  # resp = client.upload_part_copy({
19321
19579
  # bucket: "examplebucket",
19322
19580
  # copy_source: "/bucketname/sourceobjectkey",
19323
- # copy_source_range: "bytes=1-100000",
19324
19581
  # key: "examplelargeobject",
19325
- # part_number: 2,
19582
+ # part_number: 1,
19326
19583
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
19327
19584
  # })
19328
19585
  #
19329
19586
  # resp.to_h outputs the following:
19330
19587
  # {
19331
19588
  # copy_part_result: {
19332
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
19333
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
19589
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
19590
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
19334
19591
  # },
19335
19592
  # }
19336
19593
  #
19337
- # @example Example: To upload a part by copying data from an existing object as data source
19594
+ # @example Example: To upload a part by copying byte range from an existing object as data source
19338
19595
  #
19339
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
19596
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
19597
+ # # data source.
19340
19598
  #
19341
19599
  # resp = client.upload_part_copy({
19342
19600
  # bucket: "examplebucket",
19343
19601
  # copy_source: "/bucketname/sourceobjectkey",
19602
+ # copy_source_range: "bytes=1-100000",
19344
19603
  # key: "examplelargeobject",
19345
- # part_number: 1,
19604
+ # part_number: 2,
19346
19605
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
19347
19606
  # })
19348
19607
  #
19349
19608
  # resp.to_h outputs the following:
19350
19609
  # {
19351
19610
  # copy_part_result: {
19352
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
19353
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
19611
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
19612
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
19354
19613
  # },
19355
19614
  # }
19356
19615
  #
@@ -19403,7 +19662,7 @@ module Aws::S3
19403
19662
  req.send_request(options)
19404
19663
  end
19405
19664
 
19406
- # <note markdown="1"> This operation is not supported by directory buckets.
19665
+ # <note markdown="1"> This operation is not supported for directory buckets.
19407
19666
  #
19408
19667
  # </note>
19409
19668
  #
@@ -19549,7 +19808,7 @@ module Aws::S3
19549
19808
  # @option params [String] :checksum_crc32
19550
19809
  # This header can be used as a data integrity check to verify that the
19551
19810
  # data received is the same data that was originally sent. This
19552
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object
19811
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object
19553
19812
  # returned by the Object Lambda function. This may not match the
19554
19813
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
19555
19814
  # validation of the checksum values only when the original `GetObject`
@@ -19569,7 +19828,7 @@ module Aws::S3
19569
19828
  # @option params [String] :checksum_crc32c
19570
19829
  # This header can be used as a data integrity check to verify that the
19571
19830
  # data received is the same data that was originally sent. This
19572
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object
19831
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object
19573
19832
  # returned by the Object Lambda function. This may not match the
19574
19833
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
19575
19834
  # validation of the checksum values only when the original `GetObject`
@@ -19812,7 +20071,7 @@ module Aws::S3
19812
20071
  tracer: tracer
19813
20072
  )
19814
20073
  context[:gem_name] = 'aws-sdk-s3'
19815
- context[:gem_version] = '1.166.0'
20074
+ context[:gem_version] = '1.174.0'
19816
20075
  Seahorse::Client::Request.new(handlers, context)
19817
20076
  end
19818
20077