:doc:`Connect <../../connect>` / Client / update_data_table_metadata

**************************
update_data_table_metadata
**************************



.. py:method:: Connect.Client.update_data_table_metadata(**kwargs)

  

  Updates the metadata properties of a data table. Accepts all fields similar to CreateDataTable, except for fields and tags. There are no other granular update endpoints. It does not act as a patch operation - all properties must be provided or defaults will be used. Fields follow the same requirements as CreateDataTable.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateDataTableMetadata>`_  


  **Request Syntax**
  ::

    response = client.update_data_table_metadata(
        InstanceId='string',
        DataTableId='string',
        Name='string',
        Description='string',
        ValueLockLevel='NONE'|'DATA_TABLE'|'PRIMARY_VALUE'|'ATTRIBUTE'|'VALUE',
        TimeZone='string'
    )
    
  :type InstanceId: string
  :param InstanceId: **[REQUIRED]** 

    The unique identifier for the Amazon Connect instance.

    

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

    The unique identifier for the data table. Must also accept the table ARN with or without a version alias. If the version is provided as part of the identifier or ARN, the version must be $LATEST. Providing any other alias fails with an error.

    

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

    The updated name for the data table. Must conform to Connect human readable string specification and have 1-127 characters. Must be unique for the instance using case-insensitive comparison.

    

  
  :type Description: string
  :param Description: 

    The updated description for the data table. Must conform to Connect human readable string specification and have 0-250 characters.

    

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

    The updated value lock level for the data table. One of DATA_TABLE, PRIMARY_VALUE, ATTRIBUTE, VALUE, and NONE.

    

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

    The updated IANA timezone identifier to use when resolving time based dynamic values.

    

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

    
    ::

      {
          'LockVersion': {
              'DataTable': 'string',
              'Attribute': 'string',
              'PrimaryValues': 'string',
              'Value': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **LockVersion** *(dict) --* 

        The new lock version for the data table after the update.

        
        

        - **DataTable** *(string) --* 

          The lock version for the data table itself. Used for optimistic locking and table versioning. Changes with each update to the table's metadata or structure.

          
        

        - **Attribute** *(string) --* 

          The lock version for a specific attribute. When the ValueLockLevel is ATTRIBUTE, this version changes when any value for the attribute changes. For other lock levels, it only changes when the attribute's properties are directly updated.

          
        

        - **PrimaryValues** *(string) --* 

          The lock version for a specific set of primary values (record). This includes the default record even if the table does not have any primary attributes. Used for record-level locking.

          
        

        - **Value** *(string) --* 

          The lock version for a specific value. Changes each time the individual value is modified. Used for the finest-grained locking control.

          
    
  
  **Exceptions**
  
  *   :py:class:`Connect.Client.exceptions.InvalidRequestException`

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

  
  *   :py:class:`Connect.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`Connect.Client.exceptions.InternalServiceException`

  
  *   :py:class:`Connect.Client.exceptions.ThrottlingException`

  
  *   :py:class:`Connect.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`Connect.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`Connect.Client.exceptions.DuplicateResourceException`

  