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

*********************
restore_from_snapshot
*********************



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

  

  Restores a namespace from a snapshot.

  

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


  **Request Syntax**
  ::

    response = client.restore_from_snapshot(
        adminPasswordSecretKmsKeyId='string',
        manageAdminPassword=True|False,
        namespaceName='string',
        ownerAccount='string',
        snapshotArn='string',
        snapshotName='string',
        workgroupName='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.

    

  
  :type manageAdminPassword: boolean
  :param manageAdminPassword: 

    If ``true``, Amazon Redshift uses Secrets Manager to manage the restored snapshot's admin credentials. If ``MmanageAdminPassword`` is false or not set, Amazon Redshift uses the admin credentials that the namespace or cluster had at the time the snapshot was taken.

    

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

    The name of the namespace to restore the snapshot to.

    

  
  :type ownerAccount: string
  :param ownerAccount: 

    The Amazon Web Services account that owns the snapshot.

    

  
  :type snapshotArn: string
  :param snapshotArn: 

    The Amazon Resource Name (ARN) of the snapshot to restore from. Required if restoring from a provisioned cluster to Amazon Redshift Serverless. Must not be specified at the same time as ``snapshotName``.

     

    The format of the ARN is arn:aws:redshift:<region>:<account_id>:snapshot:<cluster_identifier>/<snapshot_identifier>.

    

  
  :type snapshotName: string
  :param snapshotName: 

    The name of the snapshot to restore from. Must not be specified at the same time as ``snapshotArn``.

    

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

    The name of the workgroup used to restore the snapshot.

    

  
  
  :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'
          },
          'ownerAccount': 'string',
          'snapshotName': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        A collection of database objects and users.

        
        

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

          
    
      

      - **ownerAccount** *(string) --* 

        The owner Amazon Web Services; account of the snapshot that was restored.

        
      

      - **snapshotName** *(string) --* 

        The name of the snapshot used to restore the namespace.

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

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

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

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

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

  