aws-sdk-s3 1.204.0 → 1.205.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b3e6c1a389a8b653bb9b2cf6794af737d6eb9ba921e161cbc4d6310b5bf1da2
4
- data.tar.gz: 0bf11ac8e2c6482a7575814185df05085bcef7395f0b4a0d1a553ac4e28516f1
3
+ metadata.gz: 4317d141110c16240cfc5412df21c614152e959a9943dfc4525550646f02a0dc
4
+ data.tar.gz: 060fd3c2735d93bb4376f7519f84e07c984f4052a9fd0f6c6456402494810bd6
5
5
  SHA512:
6
- metadata.gz: 345faee4d24554abf10baf21078242da350ee86f60219696f6ad1df9fc4d77149d6aeabbac480e1173f5ff05a4413d9dba39b69f5b007f438672c30d5a97b406
7
- data.tar.gz: bff580e0faa100be19a1531472b7e066e20da84fb606fa52643e20d588babc88f34a37868f2a98ca031b323c7c6f82d7c46e1c608ff40a9b2b54e2c2a74472ca
6
+ metadata.gz: 5e86d07d938a24f86c26dfa0b189c38e2ecc5c20a4ab884848f680474b784bf09acc9d52310c57b7b0d176c61b284fa5387bc762d7532f0bba0ca9183ed37e93
7
+ data.tar.gz: 18d6252cfe3a9d7284789a4703db29490b2c84d62d00d8abc1c4643ef0351082e6686aa84670690ffb3b253cf43c798a367af9689858eccca7db349719cab0e7
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.205.0 (2025-11-20)
5
+ ------------------
6
+
7
+ * Feature - Enable / Disable ABAC on a general purpose bucket.
8
+
4
9
  1.204.0 (2025-11-19)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.204.0
1
+ 1.205.0
@@ -5405,7 +5405,14 @@ module Aws::S3
5405
5405
  #
5406
5406
  # </note>
5407
5407
  #
5408
- # Deletes tags from the bucket.
5408
+ # Deletes tags from the general purpose bucket if attribute based access
5409
+ # control (ABAC) is not enabled for the bucket. When you [enable ABAC
5410
+ # for a general purpose bucket][1], you can no longer use this operation
5411
+ # for that bucket and must use [UntagResource][2] instead.
5412
+ #
5413
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
5414
+ # general purpose bucket][1], you can no longer use this operation for
5415
+ # that bucket and must use [UntagResource][2] instead.
5409
5416
  #
5410
5417
  # To use this operation, you must have permission to perform the
5411
5418
  # `s3:PutBucketTagging` action. By default, the bucket owner has this
@@ -5413,9 +5420,9 @@ module Aws::S3
5413
5420
  #
5414
5421
  # The following operations are related to `DeleteBucketTagging`:
5415
5422
  #
5416
- # * [GetBucketTagging][1]
5423
+ # * [GetBucketTagging][3]
5417
5424
  #
5418
- # * [PutBucketTagging][2]
5425
+ # * [PutBucketTagging][4]
5419
5426
  #
5420
5427
  # You must URL encode any signed header values that contain spaces. For
5421
5428
  # example, if your header value is `my file.txt`, containing two spaces
@@ -5423,8 +5430,10 @@ module Aws::S3
5423
5430
  #
5424
5431
  #
5425
5432
  #
5426
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
5427
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
5433
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
5434
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
5435
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
5436
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
5428
5437
  #
5429
5438
  # @option params [required, String] :bucket
5430
5439
  # The bucket that has the tag set to be removed.
@@ -6448,6 +6457,49 @@ module Aws::S3
6448
6457
  req.send_request(options)
6449
6458
  end
6450
6459
 
6460
+ # Returns the attribute-based access control (ABAC) property of the
6461
+ # general purpose bucket. If the bucket ABAC is enabled, you can use
6462
+ # tags for bucket access control. For more information, see [Enabling
6463
+ # ABAC in general purpose buckets][1]. Whether ABAC is enabled or
6464
+ # disabled, you can use tags for cost tracking. For more information,
6465
+ # see [Using tags with S3 general purpose buckets][2].
6466
+ #
6467
+ #
6468
+ #
6469
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
6470
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
6471
+ #
6472
+ # @option params [required, String] :bucket
6473
+ # The name of the general purpose bucket.
6474
+ #
6475
+ # @option params [String] :expected_bucket_owner
6476
+ # The Amazon Web Services account ID of the general purpose bucket's
6477
+ # owner.
6478
+ #
6479
+ # @return [Types::GetBucketAbacOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6480
+ #
6481
+ # * {Types::GetBucketAbacOutput#abac_status #abac_status} => Types::AbacStatus
6482
+ #
6483
+ # @example Request syntax with placeholder values
6484
+ #
6485
+ # resp = client.get_bucket_abac({
6486
+ # bucket: "BucketName", # required
6487
+ # expected_bucket_owner: "AccountId",
6488
+ # })
6489
+ #
6490
+ # @example Response structure
6491
+ #
6492
+ # resp.abac_status.status #=> String, one of "Enabled", "Disabled"
6493
+ #
6494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbac AWS API Documentation
6495
+ #
6496
+ # @overload get_bucket_abac(params = {})
6497
+ # @param [Hash] params ({})
6498
+ def get_bucket_abac(params = {}, options = {})
6499
+ req = build_request(:get_bucket_abac, params)
6500
+ req.send_request(options)
6501
+ end
6502
+
6451
6503
  # <note markdown="1"> This operation is not supported for directory buckets.
6452
6504
  #
6453
6505
  # </note>
@@ -6878,18 +6930,18 @@ module Aws::S3
6878
6930
  # Returns the default encryption configuration for an Amazon S3 bucket.
6879
6931
  # By default, all buckets have a default encryption configuration that
6880
6932
  # uses server-side encryption with Amazon S3 managed keys (SSE-S3). This
6881
- # operation also returns the `BucketKeyEnabled` and
6882
- # `BlockedEncryptionTypes` statuses.
6933
+ # operation also returns the [BucketKeyEnabled][1] and
6934
+ # [BlockedEncryptionTypes][2] statuses.
6883
6935
  #
6884
6936
  # <note markdown="1"> * **General purpose buckets** - For information about the bucket
6885
6937
  # default encryption feature, see [Amazon S3 Bucket Default
6886
- # Encryption][1] in the *Amazon S3 User Guide*.
6938
+ # Encryption][3] in the *Amazon S3 User Guide*.
6887
6939
  #
6888
6940
  # * **Directory buckets** - For directory buckets, there are only two
6889
6941
  # supported options for server-side encryption: SSE-S3 and SSE-KMS.
6890
6942
  # For information about the default encryption configuration in
6891
6943
  # directory buckets, see [Setting default server-side encryption
6892
- # behavior for directory buckets][2].
6944
+ # behavior for directory buckets][4].
6893
6945
  #
6894
6946
  # </note>
6895
6947
  #
@@ -6899,8 +6951,8 @@ module Aws::S3
6899
6951
  # policy. The bucket owner has this permission by default. The
6900
6952
  # bucket owner can grant this permission to others. For more
6901
6953
  # information about permissions, see [Permissions Related to Bucket
6902
- # Operations][3] and [Managing Access Permissions to Your Amazon S3
6903
- # Resources][4].
6954
+ # Operations][5] and [Managing Access Permissions to Your Amazon S3
6955
+ # Resources][6].
6904
6956
  #
6905
6957
  # * **Directory bucket permissions** - To grant access to this API
6906
6958
  # operation, you must have the
@@ -6910,7 +6962,7 @@ module Aws::S3
6910
6962
  # only be performed by the Amazon Web Services account that owns the
6911
6963
  # resource. For more information about directory bucket policies and
6912
6964
  # permissions, see [Amazon Web Services Identity and Access
6913
- # Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
6965
+ # Management (IAM) for S3 Express One Zone][7] in the *Amazon S3
6914
6966
  # User Guide*.
6915
6967
  #
6916
6968
  # HTTP Host header syntax
@@ -6920,9 +6972,9 @@ module Aws::S3
6920
6972
  #
6921
6973
  # The following operations are related to `GetBucketEncryption`:
6922
6974
  #
6923
- # * [PutBucketEncryption][6]
6975
+ # * [PutBucketEncryption][8]
6924
6976
  #
6925
- # * [DeleteBucketEncryption][7]
6977
+ # * [DeleteBucketEncryption][9]
6926
6978
  #
6927
6979
  # You must URL encode any signed header values that contain spaces. For
6928
6980
  # example, if your header value is `my file.txt`, containing two spaces
@@ -6930,13 +6982,15 @@ module Aws::S3
6930
6982
  #
6931
6983
  #
6932
6984
  #
6933
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html
6934
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
6935
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6936
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6937
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6938
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
6939
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
6985
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_BucketKeyEnabled.html
6986
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_BlockedEncryptionTypes.html
6987
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html
6988
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
6989
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6990
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6991
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6992
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
6993
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
6940
6994
  #
6941
6995
  # @option params [required, String] :bucket
6942
6996
  # The name of the bucket from which the server-side encryption
@@ -8722,6 +8776,10 @@ module Aws::S3
8722
8776
  #
8723
8777
  # Returns the tag set associated with the general purpose bucket.
8724
8778
  #
8779
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
8780
+ # general purpose bucket][1], you can no longer use this operation for
8781
+ # that bucket and must use [ListTagsForResource][2] instead.
8782
+ #
8725
8783
  # To use this operation, you must have permission to perform the
8726
8784
  # `s3:GetBucketTagging` action. By default, the bucket owner has this
8727
8785
  # permission and can grant this permission to others.
@@ -8736,9 +8794,9 @@ module Aws::S3
8736
8794
  #
8737
8795
  # The following operations are related to `GetBucketTagging`:
8738
8796
  #
8739
- # * [PutBucketTagging][1]
8797
+ # * [PutBucketTagging][3]
8740
8798
  #
8741
- # * [DeleteBucketTagging][2]
8799
+ # * [DeleteBucketTagging][4]
8742
8800
  #
8743
8801
  # You must URL encode any signed header values that contain spaces. For
8744
8802
  # example, if your header value is `my file.txt`, containing two spaces
@@ -8746,8 +8804,10 @@ module Aws::S3
8746
8804
  #
8747
8805
  #
8748
8806
  #
8749
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
8750
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
8807
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
8808
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html
8809
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
8810
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
8751
8811
  #
8752
8812
  # @option params [required, String] :bucket
8753
8813
  # The name of the bucket for which to get the tagging information.
@@ -13986,6 +14046,83 @@ module Aws::S3
13986
14046
  req.send_request(options)
13987
14047
  end
13988
14048
 
14049
+ # Sets the attribute-based access control (ABAC) property of the general
14050
+ # purpose bucket. When you enable ABAC, you can use tags for bucket
14051
+ # access control. Additionally, when ABAC is enabled, you must use the
14052
+ # [TagResource][1], [UntagResource][2], and [ListTagsForResource][3]
14053
+ # actions to manage bucket tags, and you can nolonger use the
14054
+ # [PutBucketTagging][4] and [DeleteBucketTagging][5] actions to tag the
14055
+ # bucket. You must also have the correct permissions for these actions.
14056
+ # For more information, see [Enabling ABAC in general purpose
14057
+ # buckets][6].
14058
+ #
14059
+ #
14060
+ #
14061
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html
14062
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
14063
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html
14064
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
14065
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
14066
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
14067
+ #
14068
+ # @option params [required, String] :bucket
14069
+ # The name of the general purpose bucket.
14070
+ #
14071
+ # @option params [String] :content_md5
14072
+ # The MD5 hash of the `PutBucketAbac` request body.
14073
+ #
14074
+ # For requests made using the Amazon Web Services Command Line Interface
14075
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
14076
+ # automatically.
14077
+ #
14078
+ # @option params [String] :checksum_algorithm
14079
+ # Indicates the algorithm that you want Amazon S3 to use to create the
14080
+ # checksum. For more information, see [ Checking object integrity][1] in
14081
+ # the *Amazon S3 User Guide*.
14082
+ #
14083
+ #
14084
+ #
14085
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14086
+ #
14087
+ # @option params [String] :expected_bucket_owner
14088
+ # The Amazon Web Services account ID of the general purpose bucket's
14089
+ # owner.
14090
+ #
14091
+ # @option params [required, Types::AbacStatus] :abac_status
14092
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14093
+ # for the general purpose bucket, you can use tags to manage access to
14094
+ # the general purpose buckets as well as for cost tracking purposes.
14095
+ # When ABAC is disabled for the general purpose buckets, you can only
14096
+ # use tags for cost tracking purposes. For more information, see [Using
14097
+ # tags with S3 general purpose buckets][1].
14098
+ #
14099
+ #
14100
+ #
14101
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
14102
+ #
14103
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
14104
+ #
14105
+ # @example Request syntax with placeholder values
14106
+ #
14107
+ # resp = client.put_bucket_abac({
14108
+ # bucket: "BucketName", # required
14109
+ # content_md5: "ContentMD5",
14110
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14111
+ # expected_bucket_owner: "AccountId",
14112
+ # abac_status: { # required
14113
+ # status: "Enabled", # accepts Enabled, Disabled
14114
+ # },
14115
+ # })
14116
+ #
14117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAbac AWS API Documentation
14118
+ #
14119
+ # @overload put_bucket_abac(params = {})
14120
+ # @param [Hash] params ({})
14121
+ def put_bucket_abac(params = {}, options = {})
14122
+ req = build_request(:put_bucket_abac, params)
14123
+ req.send_request(options)
14124
+ end
14125
+
13989
14126
  # <note markdown="1"> This operation is not supported for directory buckets.
13990
14127
  #
13991
14128
  # </note>
@@ -14728,8 +14865,8 @@ module Aws::S3
14728
14865
  end
14729
14866
 
14730
14867
  # This operation configures default encryption and Amazon S3 Bucket Keys
14731
- # for an existing bucket. You can also block encryption types using this
14732
- # operation.
14868
+ # for an existing bucket. You can also [block encryption types][1] using
14869
+ # this operation.
14733
14870
  #
14734
14871
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
14735
14872
  # requests for this API operation to the Regional endpoint. These
@@ -14737,9 +14874,9 @@ module Aws::S3
14737
14874
  # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
14738
14875
  # Virtual-hosted-style requests aren't supported. For more information
14739
14876
  # about endpoints in Availability Zones, see [Regional and Zonal
14740
- # endpoints for directory buckets in Availability Zones][1] in the
14877
+ # endpoints for directory buckets in Availability Zones][2] in the
14741
14878
  # *Amazon S3 User Guide*. For more information about endpoints in Local
14742
- # Zones, see [Concepts for directory buckets in Local Zones][2] in the
14879
+ # Zones, see [Concepts for directory buckets in Local Zones][3] in the
14743
14880
  # *Amazon S3 User Guide*.
14744
14881
  #
14745
14882
  # </note>
@@ -14754,12 +14891,12 @@ module Aws::S3
14754
14891
  # keys (SSE-KMS) or dual-layer server-side encryption with Amazon
14755
14892
  # Web Services KMS keys (DSSE-KMS). If you specify default
14756
14893
  # encryption by using SSE-KMS, you can also configure [Amazon S3
14757
- # Bucket Keys][3]. For information about the bucket default
14758
- # encryption feature, see [Amazon S3 Bucket Default Encryption][4]
14894
+ # Bucket Keys][4]. For information about the bucket default
14895
+ # encryption feature, see [Amazon S3 Bucket Default Encryption][5]
14759
14896
  # in the *Amazon S3 User Guide*.
14760
14897
  #
14761
14898
  # * If you use PutBucketEncryption to set your [default bucket
14762
- # encryption][4] to SSE-KMS, you should verify that your KMS key ID
14899
+ # encryption][5] to SSE-KMS, you should verify that your KMS key ID
14763
14900
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
14764
14901
  # PutBucketEncryption requests.
14765
14902
  # * <b>Directory buckets </b> - You can optionally configure default
@@ -14773,28 +14910,28 @@ module Aws::S3
14773
14910
  # encrypted with the desired encryption settings. For more
14774
14911
  # information about the encryption overriding behaviors in directory
14775
14912
  # buckets, see [Specifying server-side encryption with KMS for new
14776
- # object uploads][5].
14913
+ # object uploads][6].
14777
14914
  #
14778
14915
  # * Your SSE-KMS configuration can only support 1 [customer managed
14779
- # key][6] per directory bucket's lifetime. The [Amazon Web Services
14780
- # managed key][7] (`aws/s3`) isn't supported.
14916
+ # key][7] per directory bucket's lifetime. The [Amazon Web Services
14917
+ # managed key][8] (`aws/s3`) isn't supported.
14781
14918
  #
14782
14919
  # * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
14783
14920
  # in a directory bucket and can’t be disabled. S3 Bucket Keys
14784
14921
  # aren't supported, when you copy SSE-KMS encrypted objects from
14785
14922
  # general purpose buckets to directory buckets, from directory
14786
14923
  # buckets to general purpose buckets, or between directory buckets,
14787
- # through [CopyObject][8], [UploadPartCopy][9], [the Copy operation
14788
- # in Batch Operations][10], or [the import jobs][11]. In this case,
14924
+ # through [CopyObject][9], [UploadPartCopy][10], [the Copy operation
14925
+ # in Batch Operations][11], or [the import jobs][12]. In this case,
14789
14926
  # Amazon S3 makes a call to KMS every time a copy request is made
14790
14927
  # for a KMS-encrypted object.
14791
14928
  #
14792
- # * When you specify an [KMS customer managed key][6] for encryption
14929
+ # * When you specify an [KMS customer managed key][7] for encryption
14793
14930
  # in your directory bucket, only use the key ID or key ARN. The key
14794
14931
  # alias format of the KMS key isn't supported.
14795
14932
  #
14796
14933
  # * For directory buckets, if you use PutBucketEncryption to set your
14797
- # [default bucket encryption][4] to SSE-KMS, Amazon S3 validates the
14934
+ # [default bucket encryption][5] to SSE-KMS, Amazon S3 validates the
14798
14935
  # KMS key ID provided in PutBucketEncryption requests.
14799
14936
  #
14800
14937
  # </note>
@@ -14807,7 +14944,7 @@ module Aws::S3
14807
14944
  #
14808
14945
  # Also, this action requires Amazon Web Services Signature Version 4.
14809
14946
  # For more information, see [ Authenticating Requests (Amazon Web
14810
- # Services Signature Version 4)][12].
14947
+ # Services Signature Version 4)][13].
14811
14948
  #
14812
14949
  # Permissions
14813
14950
  # : * **General purpose bucket permissions** - The
@@ -14815,8 +14952,8 @@ module Aws::S3
14815
14952
  # policy. The bucket owner has this permission by default. The
14816
14953
  # bucket owner can grant this permission to others. For more
14817
14954
  # information about permissions, see [Permissions Related to Bucket
14818
- # Operations][13] and [Managing Access Permissions to Your Amazon S3
14819
- # Resources][14] in the *Amazon S3 User Guide*.
14955
+ # Operations][14] and [Managing Access Permissions to Your Amazon S3
14956
+ # Resources][15] in the *Amazon S3 User Guide*.
14820
14957
  #
14821
14958
  # * **Directory bucket permissions** - To grant access to this API
14822
14959
  # operation, you must have the
@@ -14826,7 +14963,7 @@ module Aws::S3
14826
14963
  # only be performed by the Amazon Web Services account that owns the
14827
14964
  # resource. For more information about directory bucket policies and
14828
14965
  # permissions, see [Amazon Web Services Identity and Access
14829
- # Management (IAM) for S3 Express One Zone][15] in the *Amazon S3
14966
+ # Management (IAM) for S3 Express One Zone][16] in the *Amazon S3
14830
14967
  # User Guide*.
14831
14968
  #
14832
14969
  # To set a directory bucket default encryption with SSE-KMS, you
@@ -14841,9 +14978,9 @@ module Aws::S3
14841
14978
  #
14842
14979
  # The following operations are related to `PutBucketEncryption`:
14843
14980
  #
14844
- # * [GetBucketEncryption][16]
14981
+ # * [GetBucketEncryption][17]
14845
14982
  #
14846
- # * [DeleteBucketEncryption][17]
14983
+ # * [DeleteBucketEncryption][18]
14847
14984
  #
14848
14985
  # You must URL encode any signed header values that contain spaces. For
14849
14986
  # example, if your header value is `my file.txt`, containing two spaces
@@ -14851,23 +14988,24 @@ module Aws::S3
14851
14988
  #
14852
14989
  #
14853
14990
  #
14854
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
14855
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14856
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
14857
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
14858
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
14859
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
14860
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
14861
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
14862
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
14863
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
14864
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
14865
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
14866
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
14867
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
14868
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14869
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
14870
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
14991
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_BlockedEncryptionTypes.html
14992
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
14993
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14994
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
14995
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
14996
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
14997
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
14998
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
14999
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
15000
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
15001
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
15002
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
15003
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
15004
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
15005
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
15006
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
15007
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
15008
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
14871
15009
  #
14872
15010
  # @option params [required, String] :bucket
14873
15011
  # Specifies default encryption for a bucket using server-side encryption
@@ -16950,7 +17088,15 @@ module Aws::S3
16950
17088
  #
16951
17089
  # </note>
16952
17090
  #
16953
- # Sets the tags for a general purpose bucket.
17091
+ # Sets the tags for a general purpose bucket if attribute based access
17092
+ # control (ABAC) is not enabled for the bucket. When you [enable ABAC
17093
+ # for a general purpose bucket][1], you can no longer use this operation
17094
+ # for that bucket and must use the [TagResource][2] or
17095
+ # [UntagResource][3] operations instead.
17096
+ #
17097
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
17098
+ # general purpose bucket][1], you can no longer use this operation for
17099
+ # that bucket and must use [TagResource][2] instead.
16954
17100
  #
16955
17101
  # Use tags to organize your Amazon Web Services bill to reflect your own
16956
17102
  # cost structure. To do this, sign up to get your Amazon Web Services
@@ -16960,8 +17106,8 @@ module Aws::S3
16960
17106
  # several resources with a specific application name, and then organize
16961
17107
  # your billing information to see the total cost of that application
16962
17108
  # across several services. For more information, see [Cost Allocation
16963
- # and Tagging][1] and [Using Cost Allocation in Amazon S3 Bucket
16964
- # Tags][2].
17109
+ # and Tagging][4] and [Using Cost Allocation in Amazon S3 Bucket
17110
+ # Tags][5].
16965
17111
  #
16966
17112
  # <note markdown="1"> When this operation sets the tags for a bucket, it will overwrite any
16967
17113
  # current tags the bucket already has. You cannot use this operation to
@@ -16973,16 +17119,16 @@ module Aws::S3
16973
17119
  # `s3:PutBucketTagging` action. The bucket owner has this permission by
16974
17120
  # default and can grant this permission to others. For more information
16975
17121
  # about permissions, see [Permissions Related to Bucket Subresource
16976
- # Operations][3] and [Managing Access Permissions to Your Amazon S3
16977
- # Resources][4].
17122
+ # Operations][6] and [Managing Access Permissions to Your Amazon S3
17123
+ # Resources][7].
16978
17124
  #
16979
17125
  # `PutBucketTagging` has the following special errors. For more Amazon
16980
- # S3 errors see, [Error Responses][5].
17126
+ # S3 errors see, [Error Responses][8].
16981
17127
  #
16982
17128
  # * `InvalidTag` - The tag provided was not a valid tag. This error can
16983
17129
  # occur if the tag did not pass input validation. For more
16984
17130
  # information, see [Using Cost Allocation in Amazon S3 Bucket
16985
- # Tags][2].
17131
+ # Tags][5].
16986
17132
  #
16987
17133
  # * `MalformedXML` - The XML provided does not match the schema.
16988
17134
  #
@@ -16994,9 +17140,9 @@ module Aws::S3
16994
17140
  #
16995
17141
  # The following operations are related to `PutBucketTagging`:
16996
17142
  #
16997
- # * [GetBucketTagging][6]
17143
+ # * [GetBucketTagging][9]
16998
17144
  #
16999
- # * [DeleteBucketTagging][7]
17145
+ # * [DeleteBucketTagging][10]
17000
17146
  #
17001
17147
  # You must URL encode any signed header values that contain spaces. For
17002
17148
  # example, if your header value is `my file.txt`, containing two spaces
@@ -17004,13 +17150,16 @@ module Aws::S3
17004
17150
  #
17005
17151
  #
17006
17152
  #
17007
- # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
17008
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html
17009
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
17010
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
17011
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
17012
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
17013
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
17153
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
17154
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html
17155
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
17156
+ # [4]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
17157
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html
17158
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
17159
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
17160
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
17161
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
17162
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
17014
17163
  #
17015
17164
  # @option params [required, String] :bucket
17016
17165
  # The bucket name.
@@ -20870,6 +21019,15 @@ module Aws::S3
20870
21019
  # Multipart request. For more information, see
20871
21020
  # [CreateMultipartUpload][2].
20872
21021
  #
21022
+ # <note markdown="1"> If you have server-side encryption with customer-provided keys
21023
+ # (SSE-C) blocked for your general purpose bucket, you will get an
21024
+ # HTTP 403 Access Denied error when you specify the SSE-C request
21025
+ # headers while writing new data to your bucket. For more
21026
+ # information, see [Blocking or unblocking SSE-C for a general
21027
+ # purpose bucket][12].
21028
+ #
21029
+ # </note>
21030
+ #
20873
21031
  # If you request server-side encryption using a customer-provided
20874
21032
  # encryption key (SSE-C) in your initiate multipart upload request,
20875
21033
  # you must provide identical encryption information in each part
@@ -20880,7 +21038,7 @@ module Aws::S3
20880
21038
  # * x-amz-server-side-encryption-customer-key
20881
21039
  #
20882
21040
  # * x-amz-server-side-encryption-customer-key-MD5
20883
- # For more information, see [Using Server-Side Encryption][12] in
21041
+ # For more information, see [Using Server-Side Encryption][13] in
20884
21042
  # the *Amazon S3 User Guide*.
20885
21043
  #
20886
21044
  # * <b>Directory buckets </b> - For directory buckets, there are only
@@ -20908,13 +21066,13 @@ module Aws::S3
20908
21066
  #
20909
21067
  # * [CreateMultipartUpload][2]
20910
21068
  #
20911
- # * [CompleteMultipartUpload][13]
21069
+ # * [CompleteMultipartUpload][14]
20912
21070
  #
20913
- # * [AbortMultipartUpload][14]
21071
+ # * [AbortMultipartUpload][15]
20914
21072
  #
20915
- # * [ListParts][15]
21073
+ # * [ListParts][16]
20916
21074
  #
20917
- # * [ListMultipartUploads][16]
21075
+ # * [ListMultipartUploads][17]
20918
21076
  #
20919
21077
  # You must URL encode any signed header values that contain spaces. For
20920
21078
  # example, if your header value is `my file.txt`, containing two spaces
@@ -20933,11 +21091,12 @@ module Aws::S3
20933
21091
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
20934
21092
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
20935
21093
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
20936
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
20937
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
20938
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
20939
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
20940
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
21094
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
21095
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
21096
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
21097
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
21098
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
21099
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
20941
21100
  #
20942
21101
  # @option params [String, StringIO, File] :body
20943
21102
  # Object data.
@@ -21336,12 +21495,21 @@ module Aws::S3
21336
21495
  # the `UploadPartCopy` operation, see [CopyObject][13] and
21337
21496
  # [UploadPart][2].
21338
21497
  #
21498
+ # <note markdown="1"> If you have server-side encryption with customer-provided keys
21499
+ # (SSE-C) blocked for your general purpose bucket, you will get an
21500
+ # HTTP 403 Access Denied error when you specify the SSE-C request
21501
+ # headers while writing new data to your bucket. For more
21502
+ # information, see [Blocking or unblocking SSE-C for a general
21503
+ # purpose bucket][14].
21504
+ #
21505
+ # </note>
21506
+ #
21339
21507
  # * <b>Directory buckets </b> - For directory buckets, there are only
21340
21508
  # two supported options for server-side encryption: server-side
21341
21509
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
21342
21510
  # server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
21343
21511
  # more information, see [Protecting data with server-side
21344
- # encryption][14] in the *Amazon S3 User Guide*.
21512
+ # encryption][15] in the *Amazon S3 User Guide*.
21345
21513
  #
21346
21514
  # <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
21347
21515
  # operation and an `UploadPartCopy` operation, the request headers
@@ -21353,7 +21521,7 @@ module Aws::S3
21353
21521
  # S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
21354
21522
  # objects from general purpose buckets to directory buckets, from
21355
21523
  # directory buckets to general purpose buckets, or between directory
21356
- # buckets, through [UploadPartCopy][15]. In this case, Amazon S3
21524
+ # buckets, through [UploadPartCopy][16]. In this case, Amazon S3
21357
21525
  # makes a call to KMS every time a copy request is made for a
21358
21526
  # KMS-encrypted object.
21359
21527
  #
@@ -21379,17 +21547,17 @@ module Aws::S3
21379
21547
  #
21380
21548
  # The following operations are related to `UploadPartCopy`:
21381
21549
  #
21382
- # * [CreateMultipartUpload][16]
21550
+ # * [CreateMultipartUpload][17]
21383
21551
  #
21384
21552
  # * [UploadPart][2]
21385
21553
  #
21386
- # * [CompleteMultipartUpload][17]
21554
+ # * [CompleteMultipartUpload][18]
21387
21555
  #
21388
- # * [AbortMultipartUpload][18]
21556
+ # * [AbortMultipartUpload][19]
21389
21557
  #
21390
- # * [ListParts][19]
21558
+ # * [ListParts][20]
21391
21559
  #
21392
- # * [ListMultipartUploads][20]
21560
+ # * [ListMultipartUploads][21]
21393
21561
  #
21394
21562
  # You must URL encode any signed header values that contain spaces. For
21395
21563
  # example, if your header value is `my file.txt`, containing two spaces
@@ -21410,13 +21578,14 @@ module Aws::S3
21410
21578
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
21411
21579
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
21412
21580
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
21413
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
21414
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
21415
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
21416
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
21417
- # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
21418
- # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
21419
- # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
21581
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
21582
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
21583
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
21584
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
21585
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
21586
+ # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
21587
+ # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
21588
+ # [21]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
21420
21589
  #
21421
21590
  # @option params [required, String] :bucket
21422
21591
  # The bucket name.
@@ -22244,7 +22413,7 @@ module Aws::S3
22244
22413
  tracer: tracer
22245
22414
  )
22246
22415
  context[:gem_name] = 'aws-sdk-s3'
22247
- context[:gem_version] = '1.204.0'
22416
+ context[:gem_version] = '1.205.0'
22248
22417
  Seahorse::Client::Request.new(handlers, context)
22249
22418
  end
22250
22419
 
@@ -14,6 +14,7 @@ module Aws::S3
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ AbacStatus = Shapes::StructureShape.new(name: 'AbacStatus')
17
18
  AbortDate = Shapes::TimestampShape.new(name: 'AbortDate')
18
19
  AbortIncompleteMultipartUpload = Shapes::StructureShape.new(name: 'AbortIncompleteMultipartUpload')
19
20
  AbortMultipartUploadOutput = Shapes::StructureShape.new(name: 'AbortMultipartUploadOutput')
@@ -46,6 +47,7 @@ module Aws::S3
46
47
  BlockedEncryptionTypes = Shapes::StructureShape.new(name: 'BlockedEncryptionTypes')
47
48
  Body = Shapes::BlobShape.new(name: 'Body')
48
49
  Bucket = Shapes::StructureShape.new(name: 'Bucket')
50
+ BucketAbacStatus = Shapes::StringShape.new(name: 'BucketAbacStatus')
49
51
  BucketAccelerateStatus = Shapes::StringShape.new(name: 'BucketAccelerateStatus')
50
52
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
51
53
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
@@ -211,6 +213,8 @@ module Aws::S3
211
213
  FilterRuleList = Shapes::ListShape.new(name: 'FilterRuleList', flattened: true)
212
214
  FilterRuleName = Shapes::StringShape.new(name: 'FilterRuleName')
213
215
  FilterRuleValue = Shapes::StringShape.new(name: 'FilterRuleValue')
216
+ GetBucketAbacOutput = Shapes::StructureShape.new(name: 'GetBucketAbacOutput')
217
+ GetBucketAbacRequest = Shapes::StructureShape.new(name: 'GetBucketAbacRequest')
214
218
  GetBucketAccelerateConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationOutput')
215
219
  GetBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationRequest')
216
220
  GetBucketAclOutput = Shapes::StructureShape.new(name: 'GetBucketAclOutput')
@@ -500,6 +504,7 @@ module Aws::S3
500
504
  ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
501
505
  Protocol = Shapes::StringShape.new(name: 'Protocol')
502
506
  PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
507
+ PutBucketAbacRequest = Shapes::StructureShape.new(name: 'PutBucketAbacRequest')
503
508
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
504
509
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
505
510
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
@@ -689,6 +694,9 @@ module Aws::S3
689
694
  WriteOffsetBytes = Shapes::IntegerShape.new(name: 'WriteOffsetBytes')
690
695
  Years = Shapes::IntegerShape.new(name: 'Years')
691
696
 
697
+ AbacStatus.add_member(:status, Shapes::ShapeRef.new(shape: BucketAbacStatus, location_name: "Status"))
698
+ AbacStatus.struct_class = Types::AbacStatus
699
+
692
700
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
693
701
  AbortIncompleteMultipartUpload.struct_class = Types::AbortIncompleteMultipartUpload
694
702
 
@@ -1262,6 +1270,15 @@ module Aws::S3
1262
1270
 
1263
1271
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1264
1272
 
1273
+ GetBucketAbacOutput.add_member(:abac_status, Shapes::ShapeRef.new(shape: AbacStatus, location_name: "AbacStatus"))
1274
+ GetBucketAbacOutput.struct_class = Types::GetBucketAbacOutput
1275
+ GetBucketAbacOutput[:payload] = :abac_status
1276
+ GetBucketAbacOutput[:payload_member] = GetBucketAbacOutput.member(:abac_status)
1277
+
1278
+ GetBucketAbacRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1279
+ GetBucketAbacRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1280
+ GetBucketAbacRequest.struct_class = Types::GetBucketAbacRequest
1281
+
1265
1282
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
1266
1283
  GetBucketAccelerateConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1267
1284
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
@@ -2302,6 +2319,15 @@ module Aws::S3
2302
2319
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
2303
2320
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
2304
2321
 
2322
+ PutBucketAbacRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2323
+ PutBucketAbacRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2324
+ PutBucketAbacRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2325
+ PutBucketAbacRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2326
+ PutBucketAbacRequest.add_member(:abac_status, Shapes::ShapeRef.new(shape: AbacStatus, required: true, location_name: "AbacStatus", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2327
+ PutBucketAbacRequest.struct_class = Types::PutBucketAbacRequest
2328
+ PutBucketAbacRequest[:payload] = :abac_status
2329
+ PutBucketAbacRequest[:payload_member] = PutBucketAbacRequest.member(:abac_status)
2330
+
2305
2331
  PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2306
2332
  PutBucketAccelerateConfigurationRequest.add_member(:accelerate_configuration, Shapes::ShapeRef.new(shape: AccelerateConfiguration, required: true, location_name: "AccelerateConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2307
2333
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -3343,6 +3369,14 @@ module Aws::S3
3343
3369
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3344
3370
  end)
3345
3371
 
3372
+ api.add_operation(:get_bucket_abac, Seahorse::Model::Operation.new.tap do |o|
3373
+ o.name = "GetBucketAbac"
3374
+ o.http_method = "GET"
3375
+ o.http_request_uri = "/?abac"
3376
+ o.input = Shapes::ShapeRef.new(shape: GetBucketAbacRequest)
3377
+ o.output = Shapes::ShapeRef.new(shape: GetBucketAbacOutput)
3378
+ end)
3379
+
3346
3380
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3347
3381
  o.name = "GetBucketAccelerateConfiguration"
3348
3382
  o.http_method = "GET"
@@ -3777,6 +3811,22 @@ module Aws::S3
3777
3811
  )
3778
3812
  end)
3779
3813
 
3814
+ api.add_operation(:put_bucket_abac, Seahorse::Model::Operation.new.tap do |o|
3815
+ o.name = "PutBucketAbac"
3816
+ o.http_method = "PUT"
3817
+ o.http_request_uri = "/?abac"
3818
+ o.http_checksum = {
3819
+ "requestAlgorithmMember" => "checksum_algorithm",
3820
+ "requestChecksumRequired" => false,
3821
+ }
3822
+ o.http_checksum = {
3823
+ "requestAlgorithmMember" => "checksum_algorithm",
3824
+ "requestChecksumRequired" => false,
3825
+ }
3826
+ o.input = Shapes::ShapeRef.new(shape: PutBucketAbacRequest)
3827
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3828
+ end)
3829
+
3780
3830
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3781
3831
  o.name = "PutBucketAccelerateConfiguration"
3782
3832
  o.http_method = "PUT"
@@ -337,6 +337,17 @@ module Aws::S3
337
337
  end
338
338
  end
339
339
 
340
+ class GetBucketAbac
341
+ def self.build(context)
342
+ Aws::S3::EndpointParameters.create(
343
+ context.config,
344
+ bucket: context.params[:bucket],
345
+ use_dual_stack: context[:use_dualstack_endpoint],
346
+ accelerate: context[:use_accelerate_endpoint],
347
+ )
348
+ end
349
+ end
350
+
340
351
  class GetBucketAccelerateConfiguration
341
352
  def self.build(context)
342
353
  Aws::S3::EndpointParameters.create(
@@ -878,6 +889,17 @@ module Aws::S3
878
889
  end
879
890
  end
880
891
 
892
+ class PutBucketAbac
893
+ def self.build(context)
894
+ Aws::S3::EndpointParameters.create(
895
+ context.config,
896
+ bucket: context.params[:bucket],
897
+ use_dual_stack: context[:use_dualstack_endpoint],
898
+ accelerate: context[:use_accelerate_endpoint],
899
+ )
900
+ end
901
+ end
902
+
881
903
  class PutBucketAccelerateConfiguration
882
904
  def self.build(context)
883
905
  Aws::S3::EndpointParameters.create(
@@ -1348,6 +1370,8 @@ module Aws::S3
1348
1370
  DeleteObjects.build(context)
1349
1371
  when :delete_public_access_block
1350
1372
  DeletePublicAccessBlock.build(context)
1373
+ when :get_bucket_abac
1374
+ GetBucketAbac.build(context)
1351
1375
  when :get_bucket_accelerate_configuration
1352
1376
  GetBucketAccelerateConfiguration.build(context)
1353
1377
  when :get_bucket_acl
@@ -1440,6 +1464,8 @@ module Aws::S3
1440
1464
  ListObjectsV2.build(context)
1441
1465
  when :list_parts
1442
1466
  ListParts.build(context)
1467
+ when :put_bucket_abac
1468
+ PutBucketAbac.build(context)
1443
1469
  when :put_bucket_accelerate_configuration
1444
1470
  PutBucketAccelerateConfiguration.build(context)
1445
1471
  when :put_bucket_acl
@@ -10,6 +10,29 @@
10
10
  module Aws::S3
11
11
  module Types
12
12
 
13
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14
+ # for the general purpose bucket, you can use tags to manage access to
15
+ # the general purpose buckets as well as for cost tracking purposes.
16
+ # When ABAC is disabled for the general purpose buckets, you can only
17
+ # use tags for cost tracking purposes. For more information, see [Using
18
+ # tags with S3 general purpose buckets][1].
19
+ #
20
+ #
21
+ #
22
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
23
+ #
24
+ # @!attribute [rw] status
25
+ # The ABAC status of the general purpose bucket.
26
+ # @return [String]
27
+ #
28
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbacStatus AWS API Documentation
29
+ #
30
+ class AbacStatus < Struct.new(
31
+ :status)
32
+ SENSITIVE = []
33
+ include Aws::Structure
34
+ end
35
+
13
36
  # Specifies the days since the initiation of an incomplete multipart
14
37
  # upload that Amazon S3 will wait before permanently removing all parts
15
38
  # of the upload. For more information, see [ Aborting Incomplete
@@ -6422,6 +6445,36 @@ module Aws::S3
6422
6445
  include Aws::Structure
6423
6446
  end
6424
6447
 
6448
+ # @!attribute [rw] abac_status
6449
+ # The ABAC status of the general purpose bucket.
6450
+ # @return [Types::AbacStatus]
6451
+ #
6452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbacOutput AWS API Documentation
6453
+ #
6454
+ class GetBucketAbacOutput < Struct.new(
6455
+ :abac_status)
6456
+ SENSITIVE = []
6457
+ include Aws::Structure
6458
+ end
6459
+
6460
+ # @!attribute [rw] bucket
6461
+ # The name of the general purpose bucket.
6462
+ # @return [String]
6463
+ #
6464
+ # @!attribute [rw] expected_bucket_owner
6465
+ # The Amazon Web Services account ID of the general purpose bucket's
6466
+ # owner.
6467
+ # @return [String]
6468
+ #
6469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbacRequest AWS API Documentation
6470
+ #
6471
+ class GetBucketAbacRequest < Struct.new(
6472
+ :bucket,
6473
+ :expected_bucket_owner)
6474
+ SENSITIVE = []
6475
+ include Aws::Structure
6476
+ end
6477
+
6425
6478
  # @!attribute [rw] status
6426
6479
  # The accelerate configuration of the bucket.
6427
6480
  # @return [String]
@@ -14296,6 +14349,58 @@ module Aws::S3
14296
14349
  include Aws::Structure
14297
14350
  end
14298
14351
 
14352
+ # @!attribute [rw] bucket
14353
+ # The name of the general purpose bucket.
14354
+ # @return [String]
14355
+ #
14356
+ # @!attribute [rw] content_md5
14357
+ # The MD5 hash of the `PutBucketAbac` request body.
14358
+ #
14359
+ # For requests made using the Amazon Web Services Command Line
14360
+ # Interface (CLI) or Amazon Web Services SDKs, this field is
14361
+ # calculated automatically.
14362
+ # @return [String]
14363
+ #
14364
+ # @!attribute [rw] checksum_algorithm
14365
+ # Indicates the algorithm that you want Amazon S3 to use to create the
14366
+ # checksum. For more information, see [ Checking object integrity][1]
14367
+ # in the *Amazon S3 User Guide*.
14368
+ #
14369
+ #
14370
+ #
14371
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14372
+ # @return [String]
14373
+ #
14374
+ # @!attribute [rw] expected_bucket_owner
14375
+ # The Amazon Web Services account ID of the general purpose bucket's
14376
+ # owner.
14377
+ # @return [String]
14378
+ #
14379
+ # @!attribute [rw] abac_status
14380
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14381
+ # for the general purpose bucket, you can use tags to manage access to
14382
+ # the general purpose buckets as well as for cost tracking purposes.
14383
+ # When ABAC is disabled for the general purpose buckets, you can only
14384
+ # use tags for cost tracking purposes. For more information, see
14385
+ # [Using tags with S3 general purpose buckets][1].
14386
+ #
14387
+ #
14388
+ #
14389
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
14390
+ # @return [Types::AbacStatus]
14391
+ #
14392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAbacRequest AWS API Documentation
14393
+ #
14394
+ class PutBucketAbacRequest < Struct.new(
14395
+ :bucket,
14396
+ :content_md5,
14397
+ :checksum_algorithm,
14398
+ :expected_bucket_owner,
14399
+ :abac_status)
14400
+ SENSITIVE = []
14401
+ include Aws::Structure
14402
+ end
14403
+
14299
14404
  # @!attribute [rw] bucket
14300
14405
  # The name of the bucket for which the accelerate configuration is
14301
14406
  # set.
data/lib/aws-sdk-s3.rb CHANGED
@@ -75,7 +75,7 @@ module Aws::S3
75
75
  autoload :ObjectVersion, 'aws-sdk-s3/object_version'
76
76
  autoload :EventStreams, 'aws-sdk-s3/event_streams'
77
77
 
78
- GEM_VERSION = '1.204.0'
78
+ GEM_VERSION = '1.205.0'
79
79
 
80
80
  end
81
81
 
data/sig/client.rbs CHANGED
@@ -554,6 +554,17 @@ module Aws
554
554
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
555
555
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
556
556
 
557
+ interface _GetBucketAbacResponseSuccess
558
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetBucketAbacOutput]
559
+ def abac_status: () -> Types::AbacStatus
560
+ end
561
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#get_bucket_abac-instance_method
562
+ def get_bucket_abac: (
563
+ bucket: ::String,
564
+ ?expected_bucket_owner: ::String
565
+ ) -> _GetBucketAbacResponseSuccess
566
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetBucketAbacResponseSuccess
567
+
557
568
  interface _GetBucketAccelerateConfigurationResponseSuccess
558
569
  include ::Seahorse::Client::_ResponseSuccess[Types::GetBucketAccelerateConfigurationOutput]
559
570
  def status: () -> ("Enabled" | "Suspended")
@@ -1353,6 +1364,18 @@ module Aws
1353
1364
  ) -> _ListPartsResponseSuccess
1354
1365
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListPartsResponseSuccess
1355
1366
 
1367
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#put_bucket_abac-instance_method
1368
+ def put_bucket_abac: (
1369
+ bucket: ::String,
1370
+ ?content_md5: ::String,
1371
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
1372
+ ?expected_bucket_owner: ::String,
1373
+ abac_status: {
1374
+ status: ("Enabled" | "Disabled")?
1375
+ }
1376
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1377
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1378
+
1356
1379
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#put_bucket_accelerate_configuration-instance_method
1357
1380
  def put_bucket_accelerate_configuration: (
1358
1381
  bucket: ::String,
data/sig/types.rbs CHANGED
@@ -8,6 +8,11 @@
8
8
  module Aws::S3
9
9
  module Types
10
10
 
11
+ class AbacStatus
12
+ attr_accessor status: ("Enabled" | "Disabled")
13
+ SENSITIVE: []
14
+ end
15
+
11
16
  class AbortIncompleteMultipartUpload
12
17
  attr_accessor days_after_initiation: ::Integer
13
18
  SENSITIVE: []
@@ -701,6 +706,17 @@ module Aws::S3
701
706
  SENSITIVE: []
702
707
  end
703
708
 
709
+ class GetBucketAbacOutput
710
+ attr_accessor abac_status: Types::AbacStatus
711
+ SENSITIVE: []
712
+ end
713
+
714
+ class GetBucketAbacRequest
715
+ attr_accessor bucket: ::String
716
+ attr_accessor expected_bucket_owner: ::String
717
+ SENSITIVE: []
718
+ end
719
+
704
720
  class GetBucketAccelerateConfigurationOutput
705
721
  attr_accessor status: ("Enabled" | "Suspended")
706
722
  attr_accessor request_charged: ("requester")
@@ -1998,6 +2014,15 @@ module Aws::S3
1998
2014
  SENSITIVE: []
1999
2015
  end
2000
2016
 
2017
+ class PutBucketAbacRequest
2018
+ attr_accessor bucket: ::String
2019
+ attr_accessor content_md5: ::String
2020
+ attr_accessor checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME")
2021
+ attr_accessor expected_bucket_owner: ::String
2022
+ attr_accessor abac_status: Types::AbacStatus
2023
+ SENSITIVE: []
2024
+ end
2025
+
2001
2026
  class PutBucketAccelerateConfigurationRequest
2002
2027
  attr_accessor bucket: ::String
2003
2028
  attr_accessor accelerate_configuration: Types::AccelerateConfiguration
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.204.0
4
+ version: 1.205.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services