aws-sdk-s3 1.192.0 → 1.194.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.
@@ -137,7 +137,7 @@ module Aws::S3
137
137
  # class name or an instance of a plugin class.
138
138
  #
139
139
  # @option options [required, Aws::CredentialProvider] :credentials
140
- # Your AWS credentials. This can be an instance of any one of the
140
+ # Your AWS credentials used for authentication. This can be an instance of any one of the
141
141
  # following classes:
142
142
  #
143
143
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
@@ -170,18 +170,23 @@ module Aws::S3
170
170
  # locations will be searched for credentials:
171
171
  #
172
172
  # * `Aws.config[:credentials]`
173
+ #
173
174
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
174
175
  # `:account_id` options.
175
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
176
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
176
+ #
177
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
178
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
179
+ #
177
180
  # * `~/.aws/credentials`
181
+ #
178
182
  # * `~/.aws/config`
183
+ #
179
184
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
180
185
  # are very aggressive. Construct and pass an instance of
181
186
  # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
182
187
  # enable retries and extended timeouts. Instance profile credential
183
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
184
- # to true.
188
+ # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
189
+ # to `true`.
185
190
  #
186
191
  # @option options [required, String] :region
187
192
  # The AWS region to connect to. The configured `:region` is
@@ -219,6 +224,11 @@ module Aws::S3
219
224
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
220
225
  # not retry instead of sleeping.
221
226
  #
227
+ # @option options [Array<String>] :auth_scheme_preference
228
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
229
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
230
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
231
+ #
222
232
  # @option options [Boolean] :client_side_monitoring (false)
223
233
  # When `true`, client-side metrics will be collected for all API requests from
224
234
  # this client.
@@ -333,8 +343,8 @@ module Aws::S3
333
343
  # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
334
344
  #
335
345
  # @option options [String] :profile ("default")
336
- # Used when loading credentials from the shared credentials file
337
- # at HOME/.aws/credentials. When not specified, 'default' is used.
346
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
347
+ # When not specified, 'default' is used.
338
348
  #
339
349
  # @option options [String] :request_checksum_calculation ("when_supported")
340
350
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -466,7 +476,7 @@ module Aws::S3
466
476
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
467
477
  #
468
478
  # @option options [Aws::TokenProvider] :token_provider
469
- # A Bearer Token Provider. This can be an instance of any one of the
479
+ # Your Bearer token used for authentication. This can be an instance of any one of the
470
480
  # following classes:
471
481
  #
472
482
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
@@ -2729,8 +2739,8 @@ module Aws::S3
2729
2739
  req.send_request(options)
2730
2740
  end
2731
2741
 
2732
- # Creates a metadata table configuration for a general purpose bucket.
2733
- # For more information, see [Accelerating data discovery with S3
2742
+ # Creates an S3 Metadata V2 metadata configuration for a general purpose
2743
+ # bucket. For more information, see [Accelerating data discovery with S3
2734
2744
  # Metadata][1] in the *Amazon S3 User Guide*.
2735
2745
  #
2736
2746
  # Permissions
@@ -2739,14 +2749,31 @@ module Aws::S3
2739
2749
  # more information, see [Setting up permissions for configuring
2740
2750
  # metadata tables][2] in the *Amazon S3 User Guide*.
2741
2751
  #
2752
+ # If you want to encrypt your metadata tables with server-side
2753
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2754
+ # need additional permissions in your KMS key policy. For more
2755
+ # information, see [ Setting up permissions for configuring metadata
2756
+ # tables][2] in the *Amazon S3 User Guide*.
2757
+ #
2742
2758
  # If you also want to integrate your table bucket with Amazon Web
2743
2759
  # Services analytics services so that you can query your metadata
2744
2760
  # table, you need additional permissions. For more information, see [
2745
2761
  # Integrating Amazon S3 Tables with Amazon Web Services analytics
2746
2762
  # services][3] in the *Amazon S3 User Guide*.
2747
2763
  #
2764
+ # To query your metadata tables, you need additional permissions. For
2765
+ # more information, see [ Permissions for querying metadata tables][4]
2766
+ # in the *Amazon S3 User Guide*.
2767
+ #
2748
2768
  # * `s3:CreateBucketMetadataTableConfiguration`
2749
2769
  #
2770
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
2771
+ # operations.
2772
+ #
2773
+ # </note>
2774
+ #
2775
+ # * `s3tables:CreateTableBucket`
2776
+ #
2750
2777
  # * `s3tables:CreateNamespace`
2751
2778
  #
2752
2779
  # * `s3tables:GetTable`
@@ -2755,24 +2782,150 @@ module Aws::S3
2755
2782
  #
2756
2783
  # * `s3tables:PutTablePolicy`
2757
2784
  #
2785
+ # * `s3tables:PutTableEncryption`
2786
+ #
2787
+ # * `kms:DescribeKey`
2788
+ #
2758
2789
  # The following operations are related to
2759
- # `CreateBucketMetadataTableConfiguration`:
2790
+ # `CreateBucketMetadataConfiguration`:
2791
+ #
2792
+ # * [DeleteBucketMetadataConfiguration][5]
2793
+ #
2794
+ # * [GetBucketMetadataConfiguration][6]
2760
2795
  #
2761
- # * [DeleteBucketMetadataTableConfiguration][4]
2796
+ # * [UpdateBucketMetadataInventoryTableConfiguration][7]
2762
2797
  #
2763
- # * [GetBucketMetadataTableConfiguration][5]
2798
+ # * [UpdateBucketMetadataJournalTableConfiguration][8]
2764
2799
  #
2765
2800
  #
2766
2801
  #
2767
2802
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2768
2803
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2769
2804
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2770
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2771
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2805
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-bucket-query-permissions.html
2806
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
2807
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
2808
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
2809
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
2810
+ #
2811
+ # @option params [required, String] :bucket
2812
+ # The general purpose bucket that you want to create the metadata
2813
+ # configuration for.
2814
+ #
2815
+ # @option params [String] :content_md5
2816
+ # The `Content-MD5` header for the metadata configuration.
2817
+ #
2818
+ # @option params [String] :checksum_algorithm
2819
+ # The checksum algorithm to use with your metadata configuration.
2820
+ #
2821
+ # @option params [required, Types::MetadataConfiguration] :metadata_configuration
2822
+ # The contents of your metadata configuration.
2823
+ #
2824
+ # @option params [String] :expected_bucket_owner
2825
+ # The expected owner of the general purpose bucket that corresponds to
2826
+ # your metadata configuration.
2827
+ #
2828
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2829
+ #
2830
+ # @example Request syntax with placeholder values
2831
+ #
2832
+ # resp = client.create_bucket_metadata_configuration({
2833
+ # bucket: "BucketName", # required
2834
+ # content_md5: "ContentMD5",
2835
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2836
+ # metadata_configuration: { # required
2837
+ # journal_table_configuration: { # required
2838
+ # record_expiration: { # required
2839
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
2840
+ # days: 1,
2841
+ # },
2842
+ # encryption_configuration: {
2843
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2844
+ # kms_key_arn: "KmsKeyArn",
2845
+ # },
2846
+ # },
2847
+ # inventory_table_configuration: {
2848
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
2849
+ # encryption_configuration: {
2850
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2851
+ # kms_key_arn: "KmsKeyArn",
2852
+ # },
2853
+ # },
2854
+ # },
2855
+ # expected_bucket_owner: "AccountId",
2856
+ # })
2857
+ #
2858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfiguration AWS API Documentation
2859
+ #
2860
+ # @overload create_bucket_metadata_configuration(params = {})
2861
+ # @param [Hash] params ({})
2862
+ def create_bucket_metadata_configuration(params = {}, options = {})
2863
+ req = build_request(:create_bucket_metadata_configuration, params)
2864
+ req.send_request(options)
2865
+ end
2866
+
2867
+ # We recommend that you create your S3 Metadata configurations by using
2868
+ # the V2 [CreateBucketMetadataConfiguration][1] API operation. We no
2869
+ # longer recommend using the V1 `CreateBucketMetadataTableConfiguration`
2870
+ # API operation.
2871
+ #
2872
+ # If you created your S3 Metadata configuration before July 15, 2025,
2873
+ # we
2874
+ # recommend that you delete and re-create your configuration by using
2875
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
2876
+ # table records and create a live inventory table.
2877
+ #
2878
+ # Creates a V1 S3 Metadata configuration for a general purpose bucket.
2879
+ # For more information, see [Accelerating data discovery with S3
2880
+ # Metadata][2] in the *Amazon S3 User Guide*.
2881
+ #
2882
+ # Permissions
2883
+ #
2884
+ # : To use this operation, you must have the following permissions. For
2885
+ # more information, see [Setting up permissions for configuring
2886
+ # metadata tables][3] in the *Amazon S3 User Guide*.
2887
+ #
2888
+ # If you want to encrypt your metadata tables with server-side
2889
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2890
+ # need additional permissions. For more information, see [ Setting up
2891
+ # permissions for configuring metadata tables][3] in the *Amazon S3
2892
+ # User Guide*.
2893
+ #
2894
+ # If you also want to integrate your table bucket with Amazon Web
2895
+ # Services analytics services so that you can query your metadata
2896
+ # table, you need additional permissions. For more information, see [
2897
+ # Integrating Amazon S3 Tables with Amazon Web Services analytics
2898
+ # services][4] in the *Amazon S3 User Guide*.
2899
+ #
2900
+ # * `s3:CreateBucketMetadataTableConfiguration`
2901
+ #
2902
+ # * `s3tables:CreateNamespace`
2903
+ #
2904
+ # * `s3tables:GetTable`
2905
+ #
2906
+ # * `s3tables:CreateTable`
2907
+ #
2908
+ # * `s3tables:PutTablePolicy`
2909
+ #
2910
+ # The following operations are related to
2911
+ # `CreateBucketMetadataTableConfiguration`:
2912
+ #
2913
+ # * [DeleteBucketMetadataTableConfiguration][5]
2914
+ #
2915
+ # * [GetBucketMetadataTableConfiguration][6]
2916
+ #
2917
+ #
2918
+ #
2919
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
2920
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2921
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2922
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2923
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2924
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2772
2925
  #
2773
2926
  # @option params [required, String] :bucket
2774
2927
  # The general purpose bucket that you want to create the metadata table
2775
- # configuration in.
2928
+ # configuration for.
2776
2929
  #
2777
2930
  # @option params [String] :content_md5
2778
2931
  # The `Content-MD5` header for the metadata table configuration.
@@ -2784,8 +2937,8 @@ module Aws::S3
2784
2937
  # The contents of your metadata table configuration.
2785
2938
  #
2786
2939
  # @option params [String] :expected_bucket_owner
2787
- # The expected owner of the general purpose bucket that contains your
2788
- # metadata table configuration.
2940
+ # The expected owner of the general purpose bucket that corresponds to
2941
+ # your metadata table configuration.
2789
2942
  #
2790
2943
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2791
2944
  #
@@ -4515,7 +4668,7 @@ module Aws::S3
4515
4668
  #
4516
4669
  # </note>
4517
4670
  #
4518
- # Deletes an inventory configuration (identified by the inventory ID)
4671
+ # Deletes an S3 Inventory configuration (identified by the inventory ID)
4519
4672
  # from the bucket.
4520
4673
  #
4521
4674
  # To use this operation, you must have permissions to perform the
@@ -4686,10 +4839,18 @@ module Aws::S3
4686
4839
  req.send_request(options)
4687
4840
  end
4688
4841
 
4689
- # Deletes a metadata table configuration from a general purpose bucket.
4842
+ # Deletes an S3 Metadata configuration from a general purpose bucket.
4690
4843
  # For more information, see [Accelerating data discovery with S3
4691
4844
  # Metadata][1] in the *Amazon S3 User Guide*.
4692
4845
  #
4846
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4847
+ # with V1 or V2 metadata configurations. However, if you try to use the
4848
+ # V1 `DeleteBucketMetadataTableConfiguration` API operation with V2
4849
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
4850
+ # error.
4851
+ #
4852
+ # </note>
4853
+ #
4693
4854
  # Permissions
4694
4855
  #
4695
4856
  # : To use this operation, you must have the
@@ -4697,19 +4858,107 @@ module Aws::S3
4697
4858
  # information, see [Setting up permissions for configuring metadata
4698
4859
  # tables][2] in the *Amazon S3 User Guide*.
4699
4860
  #
4861
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
4862
+ # operations.
4863
+ #
4864
+ # </note>
4865
+ #
4700
4866
  # The following operations are related to
4701
- # `DeleteBucketMetadataTableConfiguration`:
4867
+ # `DeleteBucketMetadataConfiguration`:
4868
+ #
4869
+ # * [CreateBucketMetadataConfiguration][3]
4870
+ #
4871
+ # * [GetBucketMetadataConfiguration][4]
4702
4872
  #
4703
- # * [CreateBucketMetadataTableConfiguration][3]
4873
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
4704
4874
  #
4705
- # * [GetBucketMetadataTableConfiguration][4]
4875
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
4706
4876
  #
4707
4877
  #
4708
4878
  #
4709
4879
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4710
4880
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4711
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4712
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4881
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4882
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
4883
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
4884
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
4885
+ #
4886
+ # @option params [required, String] :bucket
4887
+ # The general purpose bucket that you want to remove the metadata
4888
+ # configuration from.
4889
+ #
4890
+ # @option params [String] :expected_bucket_owner
4891
+ # The expected bucket owner of the general purpose bucket that you want
4892
+ # to remove the metadata table configuration from.
4893
+ #
4894
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4895
+ #
4896
+ # @example Request syntax with placeholder values
4897
+ #
4898
+ # resp = client.delete_bucket_metadata_configuration({
4899
+ # bucket: "BucketName", # required
4900
+ # expected_bucket_owner: "AccountId",
4901
+ # })
4902
+ #
4903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfiguration AWS API Documentation
4904
+ #
4905
+ # @overload delete_bucket_metadata_configuration(params = {})
4906
+ # @param [Hash] params ({})
4907
+ def delete_bucket_metadata_configuration(params = {}, options = {})
4908
+ req = build_request(:delete_bucket_metadata_configuration, params)
4909
+ req.send_request(options)
4910
+ end
4911
+
4912
+ # We recommend that you delete your S3 Metadata configurations by using
4913
+ # the V2 [DeleteBucketMetadataTableConfiguration][1] API operation. We
4914
+ # no longer recommend using the V1
4915
+ # `DeleteBucketMetadataTableConfiguration` API operation.
4916
+ #
4917
+ # If you created your S3 Metadata configuration before July 15, 2025,
4918
+ # we
4919
+ # recommend that you delete and re-create your configuration by using
4920
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
4921
+ # table records and create a live inventory table.
4922
+ #
4923
+ # Deletes a V1 S3 Metadata configuration from a general purpose bucket.
4924
+ # For more information, see [Accelerating data discovery with S3
4925
+ # Metadata][3] in the *Amazon S3 User Guide*.
4926
+ #
4927
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4928
+ # with V1 or V2 metadata table configurations. However, if you try to
4929
+ # use the V1 `DeleteBucketMetadataTableConfiguration` API operation with
4930
+ # V2 configurations, you will receive an HTTP `405 Method Not Allowed`
4931
+ # error.
4932
+ #
4933
+ # Make sure that you update your processes to use the new V2 API
4934
+ # operations (`CreateBucketMetadataConfiguration`,
4935
+ # `GetBucketMetadataConfiguration`, and
4936
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
4937
+ #
4938
+ # </note>
4939
+ #
4940
+ # Permissions
4941
+ #
4942
+ # : To use this operation, you must have the
4943
+ # `s3:DeleteBucketMetadataTableConfiguration` permission. For more
4944
+ # information, see [Setting up permissions for configuring metadata
4945
+ # tables][4] in the *Amazon S3 User Guide*.
4946
+ #
4947
+ # The following operations are related to
4948
+ # `DeleteBucketMetadataTableConfiguration`:
4949
+ #
4950
+ # * [CreateBucketMetadataTableConfiguration][5]
4951
+ #
4952
+ # * [GetBucketMetadataTableConfiguration][6]
4953
+ #
4954
+ #
4955
+ #
4956
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
4957
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4958
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4959
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4960
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4961
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4713
4962
  #
4714
4963
  # @option params [required, String] :bucket
4715
4964
  # The general purpose bucket that you want to remove the metadata table
@@ -6683,7 +6932,7 @@ module Aws::S3
6683
6932
  #
6684
6933
  # </note>
6685
6934
  #
6686
- # Returns an inventory configuration (identified by the inventory
6935
+ # Returns an S3 Inventory configuration (identified by the inventory
6687
6936
  # configuration ID) from the bucket.
6688
6937
  #
6689
6938
  # To use this operation, you must have permissions to perform the
@@ -7235,10 +7484,18 @@ module Aws::S3
7235
7484
  req.send_request(options)
7236
7485
  end
7237
7486
 
7238
- # Retrieves the metadata table configuration for a general purpose
7239
- # bucket. For more information, see [Accelerating data discovery with S3
7487
+ # Retrieves the S3 Metadata configuration for a general purpose bucket.
7488
+ # For more information, see [Accelerating data discovery with S3
7240
7489
  # Metadata][1] in the *Amazon S3 User Guide*.
7241
7490
  #
7491
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7492
+ # V1 or V2 metadata configurations. However, if you try to use the V1
7493
+ # `GetBucketMetadataTableConfiguration` API operation with V2
7494
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7495
+ # error.
7496
+ #
7497
+ # </note>
7498
+ #
7242
7499
  # Permissions
7243
7500
  #
7244
7501
  # : To use this operation, you must have the
@@ -7246,27 +7503,136 @@ module Aws::S3
7246
7503
  # information, see [Setting up permissions for configuring metadata
7247
7504
  # tables][2] in the *Amazon S3 User Guide*.
7248
7505
  #
7506
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
7507
+ # operations.
7508
+ #
7509
+ # </note>
7510
+ #
7249
7511
  # The following operations are related to
7250
- # `GetBucketMetadataTableConfiguration`:
7512
+ # `GetBucketMetadataConfiguration`:
7513
+ #
7514
+ # * [CreateBucketMetadataConfiguration][3]
7515
+ #
7516
+ # * [DeleteBucketMetadataConfiguration][4]
7251
7517
  #
7252
- # * [CreateBucketMetadataTableConfiguration][3]
7518
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
7253
7519
  #
7254
- # * [DeleteBucketMetadataTableConfiguration][4]
7520
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
7255
7521
  #
7256
7522
  #
7257
7523
  #
7258
7524
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7259
7525
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7260
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7261
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7526
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7527
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
7528
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
7529
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
7262
7530
  #
7263
7531
  # @option params [required, String] :bucket
7264
- # The general purpose bucket that contains the metadata table
7532
+ # The general purpose bucket that corresponds to the metadata
7265
7533
  # configuration that you want to retrieve.
7266
7534
  #
7267
7535
  # @option params [String] :expected_bucket_owner
7268
7536
  # The expected owner of the general purpose bucket that you want to
7269
- # retrieve the metadata table configuration from.
7537
+ # retrieve the metadata table configuration for.
7538
+ #
7539
+ # @return [Types::GetBucketMetadataConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7540
+ #
7541
+ # * {Types::GetBucketMetadataConfigurationOutput#get_bucket_metadata_configuration_result #get_bucket_metadata_configuration_result} => Types::GetBucketMetadataConfigurationResult
7542
+ #
7543
+ # @example Request syntax with placeholder values
7544
+ #
7545
+ # resp = client.get_bucket_metadata_configuration({
7546
+ # bucket: "BucketName", # required
7547
+ # expected_bucket_owner: "AccountId",
7548
+ # })
7549
+ #
7550
+ # @example Response structure
7551
+ #
7552
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_type #=> String, one of "aws", "customer"
7553
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_arn #=> String
7554
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_namespace #=> String
7555
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_status #=> String
7556
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_code #=> String
7557
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_message #=> String
7558
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_name #=> String
7559
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_arn #=> String
7560
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.expiration #=> String, one of "ENABLED", "DISABLED"
7561
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.days #=> Integer
7562
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.configuration_state #=> String, one of "ENABLED", "DISABLED"
7563
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_status #=> String
7564
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_code #=> String
7565
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_message #=> String
7566
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_name #=> String
7567
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_arn #=> String
7568
+ #
7569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfiguration AWS API Documentation
7570
+ #
7571
+ # @overload get_bucket_metadata_configuration(params = {})
7572
+ # @param [Hash] params ({})
7573
+ def get_bucket_metadata_configuration(params = {}, options = {})
7574
+ req = build_request(:get_bucket_metadata_configuration, params)
7575
+ req.send_request(options)
7576
+ end
7577
+
7578
+ # We recommend that you retrieve your S3 Metadata configurations by
7579
+ # using the V2 [GetBucketMetadataTableConfiguration][1] API operation.
7580
+ # We no longer recommend using the V1
7581
+ # `GetBucketMetadataTableConfiguration` API operation.
7582
+ #
7583
+ # If you created your S3 Metadata configuration before July 15, 2025,
7584
+ # we
7585
+ # recommend that you delete and re-create your configuration by using
7586
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
7587
+ # table records and create a live inventory table.
7588
+ #
7589
+ # Retrieves the V1 S3 Metadata configuration for a general purpose
7590
+ # bucket. For more information, see [Accelerating data discovery with S3
7591
+ # Metadata][3] in the *Amazon S3 User Guide*.
7592
+ #
7593
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7594
+ # V1 or V2 metadata table configurations. However, if you try to use the
7595
+ # V1 `GetBucketMetadataTableConfiguration` API operation with V2
7596
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7597
+ # error.
7598
+ #
7599
+ # Make sure that you update your processes to use the new V2 API
7600
+ # operations (`CreateBucketMetadataConfiguration`,
7601
+ # `GetBucketMetadataConfiguration`, and
7602
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
7603
+ #
7604
+ # </note>
7605
+ #
7606
+ # Permissions
7607
+ #
7608
+ # : To use this operation, you must have the
7609
+ # `s3:GetBucketMetadataTableConfiguration` permission. For more
7610
+ # information, see [Setting up permissions for configuring metadata
7611
+ # tables][4] in the *Amazon S3 User Guide*.
7612
+ #
7613
+ # The following operations are related to
7614
+ # `GetBucketMetadataTableConfiguration`:
7615
+ #
7616
+ # * [CreateBucketMetadataTableConfiguration][5]
7617
+ #
7618
+ # * [DeleteBucketMetadataTableConfiguration][6]
7619
+ #
7620
+ #
7621
+ #
7622
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
7623
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7624
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7625
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7626
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7627
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7628
+ #
7629
+ # @option params [required, String] :bucket
7630
+ # The general purpose bucket that corresponds to the metadata table
7631
+ # configuration that you want to retrieve.
7632
+ #
7633
+ # @option params [String] :expected_bucket_owner
7634
+ # The expected owner of the general purpose bucket that you want to
7635
+ # retrieve the metadata table configuration for.
7270
7636
  #
7271
7637
  # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7272
7638
  #
@@ -11156,7 +11522,7 @@ module Aws::S3
11156
11522
  #
11157
11523
  # </note>
11158
11524
  #
11159
- # Returns a list of inventory configurations for the bucket. You can
11525
+ # Returns a list of S3 Inventory configurations for the bucket. You can
11160
11526
  # have up to 1,000 analytics configurations per bucket.
11161
11527
  #
11162
11528
  # This action supports list pagination and does not return more than 100
@@ -14355,7 +14721,7 @@ module Aws::S3
14355
14721
  #
14356
14722
  # </note>
14357
14723
  #
14358
- # This implementation of the `PUT` action adds an inventory
14724
+ # This implementation of the `PUT` action adds an S3 Inventory
14359
14725
  # configuration (identified by the inventory ID) to the bucket. You can
14360
14726
  # have up to 1,000 inventory configurations per bucket.
14361
14727
  #
@@ -19707,6 +20073,182 @@ module Aws::S3
19707
20073
  req.send_request(options, &block)
19708
20074
  end
19709
20075
 
20076
+ # Enables or disables a live inventory table for an S3 Metadata
20077
+ # configuration on a general purpose bucket. For more information, see
20078
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20079
+ # User Guide*.
20080
+ #
20081
+ # Permissions
20082
+ #
20083
+ # : To use this operation, you must have the following permissions. For
20084
+ # more information, see [Setting up permissions for configuring
20085
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20086
+ #
20087
+ # If you want to encrypt your inventory table with server-side
20088
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
20089
+ # need additional permissions in your KMS key policy. For more
20090
+ # information, see [ Setting up permissions for configuring metadata
20091
+ # tables][2] in the *Amazon S3 User Guide*.
20092
+ #
20093
+ # * `s3:UpdateBucketMetadataInventoryTableConfiguration`
20094
+ #
20095
+ # * `s3tables:CreateTableBucket`
20096
+ #
20097
+ # * `s3tables:CreateNamespace`
20098
+ #
20099
+ # * `s3tables:GetTable`
20100
+ #
20101
+ # * `s3tables:CreateTable`
20102
+ #
20103
+ # * `s3tables:PutTablePolicy`
20104
+ #
20105
+ # * `s3tables:PutTableEncryption`
20106
+ #
20107
+ # * `kms:DescribeKey`
20108
+ #
20109
+ # The following operations are related to
20110
+ # `UpdateBucketMetadataInventoryTableConfiguration`:
20111
+ #
20112
+ # * [CreateBucketMetadataConfiguration][3]
20113
+ #
20114
+ # * [DeleteBucketMetadataConfiguration][4]
20115
+ #
20116
+ # * [GetBucketMetadataConfiguration][5]
20117
+ #
20118
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
20119
+ #
20120
+ #
20121
+ #
20122
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20123
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20124
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20125
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20126
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20127
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
20128
+ #
20129
+ # @option params [required, String] :bucket
20130
+ # The general purpose bucket that corresponds to the metadata
20131
+ # configuration that you want to enable or disable an inventory table
20132
+ # for.
20133
+ #
20134
+ # @option params [String] :content_md5
20135
+ # The `Content-MD5` header for the inventory table configuration.
20136
+ #
20137
+ # @option params [String] :checksum_algorithm
20138
+ # The checksum algorithm to use with your inventory table configuration.
20139
+ #
20140
+ # @option params [required, Types::InventoryTableConfigurationUpdates] :inventory_table_configuration
20141
+ # The contents of your inventory table configuration.
20142
+ #
20143
+ # @option params [String] :expected_bucket_owner
20144
+ # The expected owner of the general purpose bucket that corresponds to
20145
+ # the metadata table configuration that you want to enable or disable an
20146
+ # inventory table for.
20147
+ #
20148
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20149
+ #
20150
+ # @example Request syntax with placeholder values
20151
+ #
20152
+ # resp = client.update_bucket_metadata_inventory_table_configuration({
20153
+ # bucket: "BucketName", # required
20154
+ # content_md5: "ContentMD5",
20155
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20156
+ # inventory_table_configuration: { # required
20157
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
20158
+ # encryption_configuration: {
20159
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
20160
+ # kms_key_arn: "KmsKeyArn",
20161
+ # },
20162
+ # },
20163
+ # expected_bucket_owner: "AccountId",
20164
+ # })
20165
+ #
20166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfiguration AWS API Documentation
20167
+ #
20168
+ # @overload update_bucket_metadata_inventory_table_configuration(params = {})
20169
+ # @param [Hash] params ({})
20170
+ def update_bucket_metadata_inventory_table_configuration(params = {}, options = {})
20171
+ req = build_request(:update_bucket_metadata_inventory_table_configuration, params)
20172
+ req.send_request(options)
20173
+ end
20174
+
20175
+ # Enables or disables journal table record expiration for an S3 Metadata
20176
+ # configuration on a general purpose bucket. For more information, see
20177
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20178
+ # User Guide*.
20179
+ #
20180
+ # Permissions
20181
+ #
20182
+ # : To use this operation, you must have the
20183
+ # `s3:UpdateBucketMetadataJournalTableConfiguration` permission. For
20184
+ # more information, see [Setting up permissions for configuring
20185
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20186
+ #
20187
+ # The following operations are related to
20188
+ # `UpdateBucketMetadataJournalTableConfiguration`:
20189
+ #
20190
+ # * [CreateBucketMetadataConfiguration][3]
20191
+ #
20192
+ # * [DeleteBucketMetadataConfiguration][4]
20193
+ #
20194
+ # * [GetBucketMetadataConfiguration][5]
20195
+ #
20196
+ # * [UpdateBucketMetadataInventoryTableConfiguration][6]
20197
+ #
20198
+ #
20199
+ #
20200
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20201
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20202
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20203
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20204
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20205
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
20206
+ #
20207
+ # @option params [required, String] :bucket
20208
+ # The general purpose bucket that corresponds to the metadata
20209
+ # configuration that you want to enable or disable journal table record
20210
+ # expiration for.
20211
+ #
20212
+ # @option params [String] :content_md5
20213
+ # The `Content-MD5` header for the journal table configuration.
20214
+ #
20215
+ # @option params [String] :checksum_algorithm
20216
+ # The checksum algorithm to use with your journal table configuration.
20217
+ #
20218
+ # @option params [required, Types::JournalTableConfigurationUpdates] :journal_table_configuration
20219
+ # The contents of your journal table configuration.
20220
+ #
20221
+ # @option params [String] :expected_bucket_owner
20222
+ # The expected owner of the general purpose bucket that corresponds to
20223
+ # the metadata table configuration that you want to enable or disable
20224
+ # journal table record expiration for.
20225
+ #
20226
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20227
+ #
20228
+ # @example Request syntax with placeholder values
20229
+ #
20230
+ # resp = client.update_bucket_metadata_journal_table_configuration({
20231
+ # bucket: "BucketName", # required
20232
+ # content_md5: "ContentMD5",
20233
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20234
+ # journal_table_configuration: { # required
20235
+ # record_expiration: { # required
20236
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
20237
+ # days: 1,
20238
+ # },
20239
+ # },
20240
+ # expected_bucket_owner: "AccountId",
20241
+ # })
20242
+ #
20243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfiguration AWS API Documentation
20244
+ #
20245
+ # @overload update_bucket_metadata_journal_table_configuration(params = {})
20246
+ # @param [Hash] params ({})
20247
+ def update_bucket_metadata_journal_table_configuration(params = {}, options = {})
20248
+ req = build_request(:update_bucket_metadata_journal_table_configuration, params)
20249
+ req.send_request(options)
20250
+ end
20251
+
19710
20252
  # Uploads a part in a multipart upload.
19711
20253
  #
19712
20254
  # <note markdown="1"> In this operation, you provide new data as a part of an object in your
@@ -21196,7 +21738,7 @@ module Aws::S3
21196
21738
  tracer: tracer
21197
21739
  )
21198
21740
  context[:gem_name] = 'aws-sdk-s3'
21199
- context[:gem_version] = '1.192.0'
21741
+ context[:gem_version] = '1.194.0'
21200
21742
  Seahorse::Client::Request.new(handlers, context)
21201
21743
  end
21202
21744