:doc:`RedshiftServerless <../../redshift-serverless>` / Client / create_namespace

****************
create_namespace
****************



.. py:method:: RedshiftServerless.Client.create_namespace(**kwargs)

  

  Creates a namespace in Amazon Redshift Serverless.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateNamespace>`_  


  **Request Syntax**
  ::

    response = client.create_namespace(
        adminPasswordSecretKmsKeyId='string',
        adminUserPassword='string',
        adminUsername='string',
        dbName='string',
        defaultIamRoleArn='string',
        iamRoles=[
            'string',
        ],
        kmsKeyId='string',
        logExports=[
            'useractivitylog'|'userlog'|'connectionlog',
        ],
        manageAdminPassword=True|False,
        namespaceName='string',
        redshiftIdcApplicationArn='string',
        tags=[
            {
                'key': 'string',
                'value': 'string'
            },
        ]
    )
    
  :type adminPasswordSecretKmsKeyId: string
  :param adminPasswordSecretKmsKeyId: 

    The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if ``manageAdminPassword`` is true.

    

  
  :type adminUserPassword: string
  :param adminUserPassword: 

    The password of the administrator for the first database created in the namespace.

     

    You can't use ``adminUserPassword`` if ``manageAdminPassword`` is true.

    

  
  :type adminUsername: string
  :param adminUsername: 

    The username of the administrator for the first database created in the namespace.

    

  
  :type dbName: string
  :param dbName: 

    The name of the first database created in the namespace.

    

  
  :type defaultIamRoleArn: string
  :param defaultIamRoleArn: 

    The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.

    

  
  :type iamRoles: list
  :param iamRoles: 

    A list of IAM roles to associate with the namespace.

    

  
    - *(string) --* 

    

  :type kmsKeyId: string
  :param kmsKeyId: 

    The ID of the Amazon Web Services Key Management Service key used to encrypt your data.

    

  
  :type logExports: list
  :param logExports: 

    The types of logs the namespace can export. Available export types are ``userlog``, ``connectionlog``, and ``useractivitylog``.

    

  
    - *(string) --* 

    

  :type manageAdminPassword: boolean
  :param manageAdminPassword: 

    If ``true``, Amazon Redshift uses Secrets Manager to manage the namespace's admin credentials. You can't use ``adminUserPassword`` if ``manageAdminPassword`` is true. If ``manageAdminPassword`` is false or not set, Amazon Redshift uses ``adminUserPassword`` for the admin user account's password.

    

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

    The name of the namespace.

    

  
  :type redshiftIdcApplicationArn: string
  :param redshiftIdcApplicationArn: 

    The ARN for the Redshift application that integrates with IAM Identity Center.

    

  
  :type tags: list
  :param tags: 

    A list of tag instances.

    

  
    - *(dict) --* 

      A map of key-value pairs.

      

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

        The key to use in the tag.

        

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

        The value of the tag.

        

      
    

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

    
    ::

      {
          'namespace': {
              'adminPasswordSecretArn': 'string',
              'adminPasswordSecretKmsKeyId': 'string',
              'adminUsername': 'string',
              'catalogArn': 'string',
              'creationDate': datetime(2015, 1, 1),
              'dbName': 'string',
              'defaultIamRoleArn': 'string',
              'iamRoles': [
                  'string',
              ],
              'kmsKeyId': 'string',
              'lakehouseRegistrationStatus': 'string',
              'logExports': [
                  'useractivitylog'|'userlog'|'connectionlog',
              ],
              'namespaceArn': 'string',
              'namespaceId': 'string',
              'namespaceName': 'string',
              'status': 'AVAILABLE'|'MODIFYING'|'DELETING'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **namespace** *(dict) --* 

        The created namespace object.

        
        

        - **adminPasswordSecretArn** *(string) --* 

          The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.

          
        

        - **adminPasswordSecretKmsKeyId** *(string) --* 

          The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.

          
        

        - **adminUsername** *(string) --* 

          The username of the administrator for the first database created in the namespace.

          
        

        - **catalogArn** *(string) --* 

          The Amazon Resource Name (ARN) of the Glue Data Catalog associated with the namespace enabled with Amazon Redshift federated permissions.

          
        

        - **creationDate** *(datetime) --* 

          The date of when the namespace was created.

          
        

        - **dbName** *(string) --* 

          The name of the first database created in the namespace.

          
        

        - **defaultIamRoleArn** *(string) --* 

          The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.

          
        

        - **iamRoles** *(list) --* 

          A list of IAM roles to associate with the namespace.

          
          

          - *(string) --* 
      
        

        - **kmsKeyId** *(string) --* 

          The ID of the Amazon Web Services Key Management Service key used to encrypt your data.

          
        

        - **lakehouseRegistrationStatus** *(string) --* 

          The status of the lakehouse registration for the namespace. Indicates whether the namespace is successfully registered with Amazon Redshift federated permissions.

          
        

        - **logExports** *(list) --* 

          The types of logs the namespace can export. Available export types are User log, Connection log, and User activity log.

          
          

          - *(string) --* 
      
        

        - **namespaceArn** *(string) --* 

          The Amazon Resource Name (ARN) associated with a namespace.

          
        

        - **namespaceId** *(string) --* 

          The unique identifier of a namespace.

          
        

        - **namespaceName** *(string) --* 

          The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in `Reserved Words <https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html>`__ in the Amazon Redshift Database Developer Guide.

          
        

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

          The status of the namespace.

          
    
  
  **Exceptions**
  
  *   :py:class:`RedshiftServerless.Client.exceptions.InternalServerException`

  
  *   :py:class:`RedshiftServerless.Client.exceptions.ValidationException`

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

  
  *   :py:class:`RedshiftServerless.Client.exceptions.TooManyTagsException`

  