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

***************
get_credentials
***************



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

  

  Returns a database user name and temporary password with temporary authorization to log in to Amazon Redshift Serverless.

   

  By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).

   

  The Identity and Access Management (IAM) user or role that runs GetCredentials must have an IAM policy attached that allows access to all necessary actions and resources.

   

  If the ``DbName`` parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

  

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


  **Request Syntax**
  ::

    response = client.get_credentials(
        customDomainName='string',
        dbName='string',
        durationSeconds=123,
        workgroupName='string'
    )
    
  :type customDomainName: string
  :param customDomainName: 

    The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.

    

  
  :type dbName: string
  :param dbName: 

    The name of the database to get temporary authorization to log on to.

     

    Constraints:

     

    
    * Must be 1 to 64 alphanumeric characters or hyphens.
     
    * Must contain only uppercase or lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.
     
    * The first character must be a letter.
     
    * Must not contain a colon ( : ) or slash ( / ).
     
    * 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
    

    

  
  :type durationSeconds: integer
  :param durationSeconds: 

    The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds.

    

  
  :type workgroupName: string
  :param workgroupName: 

    The name of the workgroup associated with the database.

    

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

    
    ::

      {
          'dbPassword': 'string',
          'dbUser': 'string',
          'expiration': datetime(2015, 1, 1),
          'nextRefreshTime': datetime(2015, 1, 1)
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **dbPassword** *(string) --* 

        A temporary password that authorizes the user name returned by ``DbUser`` to log on to the database ``DbName``.

        
      

      - **dbUser** *(string) --* 

        A database user name that is authorized to log on to the database ``DbName`` using the password ``DbPassword``. If the specified ``DbUser`` exists in the database, the new user name has the same database privileges as the the user named in ``DbUser``. By default, the user is added to PUBLIC.

        
      

      - **expiration** *(datetime) --* 

        The date and time the password in ``DbPassword`` expires.

        
      

      - **nextRefreshTime** *(datetime) --* 

        The date and time of when the ``DbUser`` and ``DbPassword`` authorization refreshes.

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

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

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

  