:doc:`S3Control <../../s3control>` / Client / create_bucket

*************
create_bucket
*************



.. py:method:: S3Control.Client.create_bucket(**kwargs)

  

  .. note::

    

    This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see `Create Bucket <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html>`__ in the *Amazon S3 API Reference*.

    

   

  Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To create an Outposts bucket, you must have S3 on Outposts. For more information, see `Using Amazon S3 on Outposts <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html>`__ in *Amazon S3 User Guide*.

   

  Not every string is an acceptable bucket name. For information on bucket naming restrictions, see `Working with Amazon S3 Buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules>`__.

   

  S3 on Outposts buckets support:

   

  
  * Tags
   
  * LifecycleConfigurations for deleting expired objects
  

   

  For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see `Amazon S3 on Outposts Restrictions and Limitations <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OnOutpostsRestrictionsLimitations.html>`__.

   

  For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and ``x-amz-outpost-id`` in your API request, see the `Examples <https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html#API_control_CreateBucket_Examples>`__ section.

   

  The following actions are related to ``CreateBucket`` for Amazon S3 on Outposts:

   

  
  * `PutObject <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html>`__
   
  * `GetBucket <https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html>`__
   
  * `DeleteBucket <https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html>`__
   
  * `CreateAccessPoint <https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html>`__
   
  * `PutAccessPointPolicy <https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html>`__
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucket>`_  


  **Request Syntax**
  ::

    response = client.create_bucket(
        ACL='private'|'public-read'|'public-read-write'|'authenticated-read',
        Bucket='string',
        CreateBucketConfiguration={
            'LocationConstraint': 'EU'|'eu-west-1'|'us-west-1'|'us-west-2'|'ap-south-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1'|'eu-central-1'
        },
        GrantFullControl='string',
        GrantRead='string',
        GrantReadACP='string',
        GrantWrite='string',
        GrantWriteACP='string',
        ObjectLockEnabledForBucket=True|False,
        OutpostId='string'
    )
    
  :type ACL: string
  :param ACL: 

    The canned ACL to apply to the bucket.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

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

    The name of the bucket.

    

  
  :type CreateBucketConfiguration: dict
  :param CreateBucketConfiguration: 

    The configuration information for the bucket.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

  
    - **LocationConstraint** *(string) --* 

      Specifies the Region where the bucket will be created. If you are creating a bucket on the US East (N. Virginia) Region (us-east-1), you do not need to specify the location.

       

      .. note::

        

        This is not supported by Amazon S3 on Outposts buckets.

        

      

    
  
  :type GrantFullControl: string
  :param GrantFullControl: 

    Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

  
  :type GrantRead: string
  :param GrantRead: 

    Allows grantee to list the objects in the bucket.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

  
  :type GrantReadACP: string
  :param GrantReadACP: 

    Allows grantee to read the bucket ACL.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

  
  :type GrantWrite: string
  :param GrantWrite: 

    Allows grantee to create, overwrite, and delete any object in the bucket.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

  
  :type GrantWriteACP: string
  :param GrantWriteACP: 

    Allows grantee to write the ACL for the applicable bucket.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

  
  :type ObjectLockEnabledForBucket: boolean
  :param ObjectLockEnabledForBucket: 

    Specifies whether you want S3 Object Lock to be enabled for the new bucket.

     

    .. note::

      

      This is not supported by Amazon S3 on Outposts buckets.

      

    

  
  :type OutpostId: string
  :param OutpostId: 

    The ID of the Outposts where the bucket is being created.

     

    .. note::

      

      This ID is required by Amazon S3 on Outposts buckets.

      

    

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

    
    ::

      {
          'Location': 'string',
          'BucketArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Location** *(string) --* 

        The location of the bucket.

        
      

      - **BucketArn** *(string) --* 

        The Amazon Resource Name (ARN) of the bucket.

         

        For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

         

        For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format ``arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>``. For example, to access the bucket ``reports`` through Outpost ``my-outpost`` owned by account ``123456789012`` in Region ``us-west-2``, use the URL encoding of ``arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports``. The value must be URL encoded.

        
  
  **Exceptions**
  
  *   :py:class:`S3Control.Client.exceptions.BucketAlreadyExists`

  
  *   :py:class:`S3Control.Client.exceptions.BucketAlreadyOwnedByYou`

  