new_contents: # snippet-comment:[These are tags for the AWS doc team's sample catalog. Do not remove.]
  # snippet-sourcedescription:[create_bucket.py demonstrates how to create an Amazon S3 bucket in any region.]
  # snippet-service:[s3]
  # snippet-keyword:[Amazon S3]
  # snippet-keyword:[Python]
  # snippet-keyword:[Code Sample]
  # snippet-sourcetype:[snippet]
  # snippet-sourcedate:[2019-06-24]
  # snippet-sourceauthor:[AWS]
  
  # Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  #
  # Licensed under the Apache License, Version 2.0 (the "License"). You
  # may not use this file except in compliance with the License. A copy of
  # the License is located at
  #
  # http://aws.amazon.com/apache2.0/
  #
  # or in the "license" file accompanying this file. This file is
  # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
  # ANY KIND, either express or implied. See the License for the specific
  # language governing permissions and limitations under the License.
  
  
  import logging
  import boto3
  from botocore.exceptions import ClientError
  
  
  def create_bucket(bucket_name, region=None):
      """Create an S3 bucket in a specified region
  
      If a region is not specified, the bucket is created in the S3 default
      region (us-east-1).
  
      :param bucket_name: Bucket to create
      :param region: String region to create bucket in, e.g., 'us-west-2'
      :return: True if bucket created, else False
      """
  
      # Create bucket
      s3_client = boto3.client('s3')
      try:
          if region is None:
              s3_client.create_bucket(Bucket=bucket_name)
          else:
              location = {'LocationConstraint': region}
              s3_client.create_bucket(Bucket=bucket_name,
                                      CreateBucketConfiguration=location)
      except ClientError as e:
          logging.error(e)
          return False
      return True
  
  
  def main():
      """Exercise create_bucket() method"""
  
      # Assign these values before running the program
      bucket_name_in_default_region = 'BUCKET_NAME'
      bucket_name_in_specified_region = 'BUCKET_NAME'
      region = 'us-west-2'
  
      # Set up logging
      logging.basicConfig(level=logging.DEBUG,
                          format='%(levelname)s: %(asctime)s: %(message)s')
  
      # Create a bucket in the S3 default region (us-east-1)
      if create_bucket(bucket_name_in_default_region):
          logging.info(f'Created bucket {bucket_name_in_default_region} '
                       f'in the S3 default region (us-east-1)')
  
      # Create a bucket in a specified region
      if create_bucket(bucket_name_in_specified_region, region):
          logging.info(f'Created bucket {bucket_name_in_specified_region} '
                       f'in region {region}')
  
  
  if __name__ == '__main__':
      main()
  
subject: Add Python S3 create_bucket.py example