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

*******************
create_table_bucket
*******************



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

  

  Creates a table bucket. For more information, see `Creating a table bucket <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html>`__ in the *Amazon Simple Storage Service User Guide*.

    Permissions  

  
  * You must have the ``s3tables:CreateTableBucket`` permission to use this operation.
   
  * If you use this operation with the optional ``encryptionConfiguration`` parameter you must have the ``s3tables:PutTableBucketEncryption`` permission.
   
  * If you use this operation with the ``storageClassConfiguration`` request parameter, you must have the ``s3tables:PutTableBucketStorageClass`` permission.
   
  * To create a table bucket with tags, you must have the ``s3tables:TagResource`` permission in addition to ``s3tables:CreateTableBucket`` permission.
  

  

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


  **Request Syntax**
  ::

    response = client.create_table_bucket(
        name='string',
        encryptionConfiguration={
            'sseAlgorithm': 'AES256'|'aws:kms',
            'kmsKeyArn': 'string'
        },
        storageClassConfiguration={
            'storageClass': 'STANDARD'|'INTELLIGENT_TIERING'
        },
        tags={
            'string': 'string'
        }
    )
    
  :type name: string
  :param name: **[REQUIRED]** 

    The name for the table bucket.

    

  
  :type encryptionConfiguration: dict
  :param encryptionConfiguration: 

    The encryption configuration to use for the table bucket. This configuration specifies the default encryption settings that will be applied to all tables created in this bucket unless overridden at the table level. The configuration includes the encryption algorithm and, if using SSE-KMS, the KMS key to use.

    

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

      The server-side encryption algorithm to use. Valid values are ``AES256`` for S3-managed encryption keys, or ``aws:kms`` for Amazon Web Services KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`__.

      

    
    - **kmsKeyArn** *(string) --* 

      The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when ``sseAlgorithm`` is set to ``aws:kms``.

      

    
  
  :type storageClassConfiguration: dict
  :param storageClassConfiguration: 

    The default storage class configuration for the table bucket. This configuration will be applied to all new tables created in this bucket unless overridden at the table level. If not specified, the service default storage class will be used.

    

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

      The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.

      

    
  
  :type tags: dict
  :param tags: 

    A map of user-defined tags that you would like to apply to the table bucket that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize and control access to resources. For more information, see `Tagging for cost allocation or attribute-based access control (ABAC) <https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html>`__.

     

    .. note::

      

      You must have the ``s3tables:TagResource`` permission in addition to ``s3tables:CreateTableBucket`` permisson to create a table bucket with tags.

      

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'arn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **arn** *(string) --* 

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

        
  
  **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`

  