:doc:`DirectoryServiceData <../../ds-data>` / Paginator / SearchUsers

***********
SearchUsers
***********



.. py:class:: DirectoryServiceData.Paginator.SearchUsers

  ::

    
    paginator = client.get_paginator('search_users')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`DirectoryServiceData.Client.search_users`.

    See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/directory-service-data-2023-05-31/SearchUsers>`_    


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          DirectoryId='string',
          Realm='string',
          SearchAttributes=[
              'string',
          ],
          SearchString='string',
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
      
    :type DirectoryId: string
    :param DirectoryId: **[REQUIRED]** 

      The identifier (ID) of the directory that's associated with the user.

      

    
    :type Realm: string
    :param Realm: 

      The domain name that's associated with the user.

       

      .. note::

        

        This parameter is optional, so you can return users outside of your Managed Microsoft AD domain. When no value is defined, only your Managed Microsoft AD users are returned.

         

        This value is case insensitive.

        

      

    
    :type SearchAttributes: list
    :param SearchAttributes: **[REQUIRED]** 

      One or more data attributes that are used to search for a user. For a list of supported attributes, see `Directory Service Data Attributes <https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ad_data_attributes.html>`__.

      

    
      - *(string) --* 

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

      The attribute value that you want to search for.

       

      .. note::

        

        Wildcard ``(*)`` searches aren't supported. For a list of supported attributes, see `Directory Service Data Attributes <https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ad_data_attributes.html>`__.

        

      

    
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'DirectoryId': 'string',
            'Realm': 'string',
            'Users': [
                {
                    'DistinguishedName': 'string',
                    'EmailAddress': 'string',
                    'Enabled': True|False,
                    'GivenName': 'string',
                    'OtherAttributes': {
                        'string': {
                            'BOOL': True|False,
                            'N': 123,
                            'S': 'string',
                            'SS': [
                                'string',
                            ]
                        }
                    },
                    'SAMAccountName': 'string',
                    'SID': 'string',
                    'Surname': 'string',
                    'UserPrincipalName': 'string'
                },
            ]
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **DirectoryId** *(string) --* 

          The identifier (ID) of the directory where the address block is added.

          
        

        - **Realm** *(string) --* 

          The domain that's associated with the user.

          
        

        - **Users** *(list) --* 

          The user information that the request returns.

          
          

          - *(dict) --* 

            A user object that contains identifying information and attributes for a specified user.

            
            

            - **DistinguishedName** *(string) --* 

              The `distinguished name <https://learn.microsoft.com/en-us/windows/win32/ad/object-names-and-identities#distinguished-name>`__ of the object.

              
            

            - **EmailAddress** *(string) --* 

              The email address of the user.

              
            

            - **Enabled** *(boolean) --* 

              Indicates whether the user account is active.

              
            

            - **GivenName** *(string) --* 

              The first name of the user.

              
            

            - **OtherAttributes** *(dict) --* 

              An expression that includes one or more attributes, data types, and values of a user.

              
              

              - *(string) --* 
                

                - *(dict) --* 

                  The data type for an attribute. Each attribute value is described as a name-value pair. The name is the AD schema name, and the value is the data itself. For a list of supported attributes, see `Directory Service Data Attributes <https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ad_data_attributes.html>`__.

                  .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``BOOL``, ``N``, ``S``, ``SS``.     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'}


                
                  

                  - **BOOL** *(boolean) --* 

                    Indicates that the attribute type value is a boolean. For example:

                     

                    ``"BOOL": true``

                    
                  

                  - **N** *(integer) --* 

                    Indicates that the attribute type value is a number. For example:

                     

                    ``"N": "16"``

                    
                  

                  - **S** *(string) --* 

                    Indicates that the attribute type value is a string. For example:

                     

                    ``"S": "S Group"``

                    
                  

                  - **SS** *(list) --* 

                    Indicates that the attribute type value is a string set. For example:

                     

                    ``"SS": ["sample_service_class/host.sample.com:1234/sample_service_name_1", "sample_service_class/host.sample.com:1234/sample_service_name_2"]``

                    
                    

                    - *(string) --* 
                
              
          
        
            

            - **SAMAccountName** *(string) --* 

              The name of the user.

              
            

            - **SID** *(string) --* 

              The unique security identifier (SID) of the user.

              
            

            - **Surname** *(string) --* 

              The last name of the user.

              
            

            - **UserPrincipalName** *(string) --* 

              The UPN that is an internet-style login name for a user and based on the internet standard `RFC 822 <https://datatracker.ietf.org/doc/html/rfc822>`__. The UPN is shorter than the distinguished name and easier to remember.

              
        
      
    