:doc:`S3Tables <../../s3tables>` / Client / get_table_maintenance_configuration

***********************************
get_table_maintenance_configuration
***********************************



.. py:method:: S3Tables.Client.get_table_maintenance_configuration(**kwargs)

  

  Gets details about the maintenance configuration of a table. For more information, see `S3 Tables maintenance <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-maintenance.html>`__ in the *Amazon Simple Storage Service User Guide*.

    Permissions  

  
  * You must have the ``s3tables:GetTableMaintenanceConfiguration`` permission to use this operation.
   
  * You must have the ``s3tables:GetTableData`` permission to use set the compaction strategy to ``sort`` or ``zorder``.
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableMaintenanceConfiguration>`_  


  **Request Syntax**
  ::

    response = client.get_table_maintenance_configuration(
        tableBucketARN='string',
        namespace='string',
        name='string'
    )
    
  :type tableBucketARN: string
  :param tableBucketARN: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the table bucket.

    

  
  :type namespace: string
  :param namespace: **[REQUIRED]** 

    The namespace associated with the table.

    

  
  :type name: string
  :param name: **[REQUIRED]** 

    The name of the table.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'tableARN': 'string',
          'configuration': {
              'string': {
                  'status': 'enabled'|'disabled',
                  'settings': {
                      'icebergCompaction': {
                          'targetFileSizeMB': 123,
                          'strategy': 'auto'|'binpack'|'sort'|'z-order'
                      },
                      'icebergSnapshotManagement': {
                          'minSnapshotsToKeep': 123,
                          'maxSnapshotAgeHours': 123
                      }
                  }
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **tableARN** *(string) --* 

        The Amazon Resource Name (ARN) of the table.

        
      

      - **configuration** *(dict) --* 

        Details about the maintenance configuration for the table bucket.

        
        

        - *(string) --* 
          

          - *(dict) --* 

            The values that define a maintenance configuration for a table.

            
            

            - **status** *(string) --* 

              The status of the maintenance configuration.

              
            

            - **settings** *(dict) --* 

              Contains details about the settings for the maintenance configuration.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``icebergCompaction``, ``icebergSnapshotManagement``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


            
              

              - **icebergCompaction** *(dict) --* 

                Contains details about the Iceberg compaction settings for the table.

                
                

                - **targetFileSizeMB** *(integer) --* 

                  The target file size for the table in MB.

                  
                

                - **strategy** *(string) --* 

                  The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations.

                  
            
              

              - **icebergSnapshotManagement** *(dict) --* 

                Contains details about the Iceberg snapshot management settings for the table.

                
                

                - **minSnapshotsToKeep** *(integer) --* 

                  The minimum number of snapshots to keep.

                  
                

                - **maxSnapshotAgeHours** *(integer) --* 

                  The maximum age of a snapshot before it can be expired.

                  
            
          
        
    
  
  
  **Exceptions**
  
  *   :py:class:`S3Tables.Client.exceptions.InternalServerErrorException`

  
  *   :py:class:`S3Tables.Client.exceptions.ForbiddenException`

  
  *   :py:class:`S3Tables.Client.exceptions.NotFoundException`

  
  *   :py:class:`S3Tables.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`S3Tables.Client.exceptions.ConflictException`

  
  *   :py:class:`S3Tables.Client.exceptions.BadRequestException`

  