:doc:`S3 <../../s3>` / Client / update_bucket_metadata_inventory_table_configuration

****************************************************
update_bucket_metadata_inventory_table_configuration
****************************************************



.. py:method:: S3.Client.update_bucket_metadata_inventory_table_configuration(**kwargs)

  

  Enables or disables a live inventory table for an S3 Metadata configuration on a general purpose bucket. For more information, see `Accelerating data discovery with S3 Metadata <https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html>`__ in the *Amazon S3 User Guide*.

    Permissions  

  To use this operation, you must have the following permissions. For more information, see `Setting up permissions for configuring metadata tables <https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html>`__ in the *Amazon S3 User Guide*.

   

  If you want to encrypt your inventory table with server-side encryption with Key Management Service (KMS) keys (SSE-KMS), you need additional permissions in your KMS key policy. For more information, see `Setting up permissions for configuring metadata tables <https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html>`__ in the *Amazon S3 User Guide*.

   

  
  * ``s3:UpdateBucketMetadataInventoryTableConfiguration``
   
  * ``s3tables:CreateTableBucket``
   
  * ``s3tables:CreateNamespace``
   
  * ``s3tables:GetTable``
   
  * ``s3tables:CreateTable``
   
  * ``s3tables:PutTablePolicy``
   
  * ``s3tables:PutTableEncryption``
   
  * ``kms:DescribeKey``
  

     

  The following operations are related to ``UpdateBucketMetadataInventoryTableConfiguration``:

   

  
  * `CreateBucketMetadataConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html>`__
   
  * `DeleteBucketMetadataConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html>`__
   
  * `GetBucketMetadataConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html>`__
   
  * `UpdateBucketMetadataJournalTableConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html>`__
  

   

  .. warning::

     

    You must URL encode any signed header values that contain spaces. For example, if your header value is ``my file.txt``, containing two spaces after ``my``, you must URL encode this value to ``my%20%20file.txt``.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfiguration>`_  


  **Request Syntax**
  ::

    response = client.update_bucket_metadata_inventory_table_configuration(
        Bucket='string',
        ContentMD5='string',
        ChecksumAlgorithm='CRC32'|'CRC32C'|'SHA1'|'SHA256'|'CRC64NVME',
        InventoryTableConfiguration={
            'ConfigurationState': 'ENABLED'|'DISABLED',
            'EncryptionConfiguration': {
                'SseAlgorithm': 'aws:kms'|'AES256',
                'KmsKeyArn': 'string'
            }
        },
        ExpectedBucketOwner='string'
    )
    
  :type Bucket: string
  :param Bucket: **[REQUIRED]** 

    The general purpose bucket that corresponds to the metadata configuration that you want to enable or disable an inventory table for.

    

  
  :type ContentMD5: string
  :param ContentMD5: 

    The ``Content-MD5`` header for the inventory table configuration.

    

  
  :type ChecksumAlgorithm: string
  :param ChecksumAlgorithm: 

    The checksum algorithm to use with your inventory table configuration.

    

  
  :type InventoryTableConfiguration: dict
  :param InventoryTableConfiguration: **[REQUIRED]** 

    The contents of your inventory table configuration.

    

  
    - **ConfigurationState** *(string) --* **[REQUIRED]** 

      The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.

      

    
    - **EncryptionConfiguration** *(dict) --* 

      The encryption configuration for the inventory table.

      

    
      - **SseAlgorithm** *(string) --* **[REQUIRED]** 

        The encryption type specified for a metadata table. To specify server-side encryption with Key Management Service (KMS) keys (SSE-KMS), use the ``aws:kms`` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the ``AES256`` value.

        

      
      - **KmsKeyArn** *(string) --* 

        If server-side encryption with Key Management Service (KMS) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.

        

      
    
  
  :type ExpectedBucketOwner: string
  :param ExpectedBucketOwner: 

    The expected owner of the general purpose bucket that corresponds to the metadata table configuration that you want to enable or disable an inventory table for.

    

  
  
  :returns: None