aws-sdk-s3 1.166.0 → 1.174.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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