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