:doc:`DataZone <../../datazone>` / Client / get_user_profile

****************
get_user_profile
****************



.. py:method:: DataZone.Client.get_user_profile(**kwargs)

  

  Gets a user profile in Amazon DataZone.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/GetUserProfile>`_  


  **Request Syntax**
  ::

    response = client.get_user_profile(
        domainIdentifier='string',
        userIdentifier='string',
        type='IAM'|'SSO'
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    the ID of the Amazon DataZone domain the data portal of which you want to get.

    

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

    The identifier of the user for which you want to get the user profile.

    

  
  :type type: string
  :param type: 

    The type of the user profile.

    

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

    
    ::

      {
          'domainId': 'string',
          'id': 'string',
          'type': 'IAM'|'SSO',
          'status': 'ASSIGNED'|'NOT_ASSIGNED'|'ACTIVATED'|'DEACTIVATED',
          'details': {
              'iam': {
                  'arn': 'string',
                  'principalId': 'string'
              },
              'sso': {
                  'username': 'string',
                  'firstName': 'string',
                  'lastName': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **domainId** *(string) --* 

        the identifier of the Amazon DataZone domain of which you want to get the user profile.

        
      

      - **id** *(string) --* 

        The identifier of the user profile.

        
      

      - **type** *(string) --* 

        The type of the user profile.

        
      

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

        The status of the user profile.

        
      

      - **details** *(dict) --* 

        The user profile details.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``iam``, ``sso``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


      
        

        - **iam** *(dict) --* 

          The IAM details of the user profile.

          
          

          - **arn** *(string) --* 

            The ARN of the IAM user.

            
          

          - **principalId** *(string) --* 

            The principal ID as part of the IAM user profile details.

            
      
        

        - **sso** *(dict) --* 

          The SSO details of the user profile.

          
          

          - **username** *(string) --* 

            The username as part of the SSO user profile detail.

            
          

          - **firstName** *(string) --* 

            The first name as part of the SSO user profile detail.

            
          

          - **lastName** *(string) --* 

            The last name as part of the SSO user profile detail.

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

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

  
  *   :py:class:`DataZone.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`DataZone.Client.exceptions.ThrottlingException`

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

  
  *   :py:class:`DataZone.Client.exceptions.UnauthorizedException`

  