:doc:`DeadlineCloud <../../deadline>` / Client / search_workers

**************
search_workers
**************



.. py:method:: DeadlineCloud.Client.search_workers(**kwargs)

  

  Searches for workers.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/deadline-2023-10-12/SearchWorkers>`_  


  **Request Syntax**
  ::

    response = client.search_workers(
        farmId='string',
        fleetIds=[
            'string',
        ],
        filterExpressions={
            'filters': [
                {
                    'dateTimeFilter': {
                        'name': 'string',
                        'operator': 'EQUAL'|'NOT_EQUAL'|'GREATER_THAN_EQUAL_TO'|'GREATER_THAN'|'LESS_THAN_EQUAL_TO'|'LESS_THAN'|'ANY_EQUALS'|'ALL_NOT_EQUALS',
                        'dateTime': datetime(2015, 1, 1)
                    },
                    'parameterFilter': {
                        'name': 'string',
                        'operator': 'EQUAL'|'NOT_EQUAL'|'GREATER_THAN_EQUAL_TO'|'GREATER_THAN'|'LESS_THAN_EQUAL_TO'|'LESS_THAN'|'ANY_EQUALS'|'ALL_NOT_EQUALS',
                        'value': 'string'
                    },
                    'searchTermFilter': {
                        'searchTerm': 'string',
                        'matchType': 'FUZZY_MATCH'|'CONTAINS'
                    },
                    'stringFilter': {
                        'name': 'string',
                        'operator': 'EQUAL'|'NOT_EQUAL'|'GREATER_THAN_EQUAL_TO'|'GREATER_THAN'|'LESS_THAN_EQUAL_TO'|'LESS_THAN'|'ANY_EQUALS'|'ALL_NOT_EQUALS',
                        'value': 'string'
                    },
                    'stringListFilter': {
                        'name': 'string',
                        'operator': 'EQUAL'|'NOT_EQUAL'|'GREATER_THAN_EQUAL_TO'|'GREATER_THAN'|'LESS_THAN_EQUAL_TO'|'LESS_THAN'|'ANY_EQUALS'|'ALL_NOT_EQUALS',
                        'values': [
                            'string',
                        ]
                    },
                    'groupFilter': {'... recursive ...'}
                },
            ],
            'operator': 'AND'|'OR'
        },
        sortExpressions=[
            {
                'userJobsFirst': {
                    'userIdentityId': 'string'
                },
                'fieldSort': {
                    'sortOrder': 'ASCENDING'|'DESCENDING',
                    'name': 'string'
                },
                'parameterSort': {
                    'sortOrder': 'ASCENDING'|'DESCENDING',
                    'name': 'string'
                }
            },
        ],
        itemOffset=123,
        pageSize=123
    )
    
  :type farmId: string
  :param farmId: **[REQUIRED]** 

    The farm ID in the workers search.

    

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

    The fleet ID of the workers to search for.

    

  
    - *(string) --* 

    

  :type filterExpressions: dict
  :param filterExpressions: 

    The search terms for a resource.

    

  
    - **filters** *(list) --* **[REQUIRED]** 

      The filters to use for the search.

      

    
      - *(dict) --* 

        The type of search filter to apply.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``dateTimeFilter``, ``parameterFilter``, ``searchTermFilter``, ``stringFilter``, ``stringListFilter``, ``groupFilter``. 

      
        - **dateTimeFilter** *(dict) --* 

          Filters based on date and time.

          

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

            The name of the date-time field to filter on.

            

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

            The type of comparison to use to filter the results.

            

          
          - **dateTime** *(datetime) --* **[REQUIRED]** 

            The date and time.

            

          
        
        - **parameterFilter** *(dict) --* 

          Filters by parameter.

          

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

            The name of the parameter to filter on.

            

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

            The type of comparison to use to filter results.

            

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

            The parameter's value.

            

          
        
        - **searchTermFilter** *(dict) --* 

          Filters by a specified search term.

          

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

            The term to search for.

            

          
          - **matchType** *(string) --* 

            Specifies how Deadline Cloud matches your search term in the results. If you don't specify a ``matchType`` the default is ``FUZZY_MATCH``.

             

            
            * ``FUZZY_MATCH`` - Matches if a portion of the search term is found in the result.
             
            * ``CONTAINS`` - Matches if the exact search term is contained in the result.
            

            

          
        
        - **stringFilter** *(dict) --* 

          Filters by a string.

          

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

            The field name to search.

            

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

            The type of comparison to use for this search.

            

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

            The string to search for.

            

          
        
        - **stringListFilter** *(dict) --* 

          Filters by a list of strings.

          

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

            The field name to search.

            

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

            The type of comparison to use for this search.

            

          
          - **values** *(list) --* **[REQUIRED]** 

            The list of string values to search for.

            

          
            - *(string) --* 

            
        
        
        - **groupFilter** *(dict) --* 

          Filters by group.

          

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

      The operators to include in the search.

      

    
  
  :type sortExpressions: list
  :param sortExpressions: 

    The search terms for a resource.

    

  
    - *(dict) --* 

      The resources to search.

      .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``userJobsFirst``, ``fieldSort``, ``parameterSort``. 

    
      - **userJobsFirst** *(dict) --* 

        Options for sorting a particular user's jobs first.

        

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

          The user's ID.

          

        
      
      - **fieldSort** *(dict) --* 

        Options for sorting by a field.

        

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

          The sort order for the field.

          

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

          The name of the field.

          

        
      
      - **parameterSort** *(dict) --* 

        Options for sorting by a parameter.

        

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

          The sort order for the parameter.

          

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

          The parameter name to sort by.

          

        
      
    

  :type itemOffset: integer
  :param itemOffset: **[REQUIRED]** 

    The offset for the search results.

    

  
  :type pageSize: integer
  :param pageSize: 

    Specifies the number of results to return.

    

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

    
    ::

      {
          'workers': [
              {
                  'fleetId': 'string',
                  'workerId': 'string',
                  'status': 'CREATED'|'STARTED'|'STOPPING'|'STOPPED'|'NOT_RESPONDING'|'NOT_COMPATIBLE'|'RUNNING'|'IDLE',
                  'hostProperties': {
                      'ipAddresses': {
                          'ipV4Addresses': [
                              'string',
                          ],
                          'ipV6Addresses': [
                              'string',
                          ]
                      },
                      'hostName': 'string',
                      'ec2InstanceArn': 'string',
                      'ec2InstanceType': 'string'
                  },
                  'createdBy': 'string',
                  'createdAt': datetime(2015, 1, 1),
                  'updatedBy': 'string',
                  'updatedAt': datetime(2015, 1, 1)
              },
          ],
          'nextItemOffset': 123,
          'totalResults': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **workers** *(list) --* 

        The workers for the search.

        
        

        - *(dict) --* 

          The details of a worker search.

          
          

          - **fleetId** *(string) --* 

            The fleet ID.

            
          

          - **workerId** *(string) --* 

            The worker ID.

            
          

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

            The status of the worker search.

            
          

          - **hostProperties** *(dict) --* 

            Provides the Amazon EC2 instance properties of the worker host.

            
            

            - **ipAddresses** *(dict) --* 

              The IP address of the host.

              
              

              - **ipV4Addresses** *(list) --* 

                The IpV4 address of the network.

                
                

                - *(string) --* 
            
              

              - **ipV6Addresses** *(list) --* 

                The IpV6 address for the network and node component.

                
                

                - *(string) --* 
            
          
            

            - **hostName** *(string) --* 

              The host name.

              
            

            - **ec2InstanceArn** *(string) --* 

              The ARN of the host EC2 instance.

              
            

            - **ec2InstanceType** *(string) --* 

              The instance type of the host EC2 instance.

              
        
          

          - **createdBy** *(string) --* 

            The user or system that created this resource.

            
          

          - **createdAt** *(datetime) --* 

            The date and time the resource was created.

            
          

          - **updatedBy** *(string) --* 

            The user or system that updated this resource.

            
          

          - **updatedAt** *(datetime) --* 

            The date and time the resource was updated.

            
      
    
      

      - **nextItemOffset** *(integer) --* 

        The next item offset for the search results.

        
      

      - **totalResults** *(integer) --* 

        The total number of results in the search.

        
  
  **Exceptions**
  
  *   :py:class:`DeadlineCloud.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`DeadlineCloud.Client.exceptions.InternalServerErrorException`

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

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

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

  