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

************
search_types
************



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

  

  Searches for types in Amazon DataZone.

   

  Prerequisites:

   

  
  * The --domain-identifier must refer to an existing Amazon DataZone domain.
   
  * --search-scope must be one of the valid values including: ASSET_TYPE, GLOSSARY_TERM_TYPE, DATA_PRODUCT_TYPE.
   
  * The --managed flag must be present without a value.
   
  * The user must have permissions for form or asset types in the domain.
   
  * If using --filters, ensure that the JSON is valid.
   
  * Filters contain correct structure (attribute, value, operator).
  

  

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


  **Request Syntax**
  ::

    response = client.search_types(
        domainIdentifier='string',
        maxResults=123,
        nextToken='string',
        searchScope='ASSET_TYPE'|'FORM_TYPE'|'LINEAGE_NODE_TYPE',
        searchText='string',
        searchIn=[
            {
                'attribute': 'string'
            },
        ],
        filters={
            'filter': {
                'attribute': 'string',
                'value': 'string',
                'intValue': 123,
                'operator': 'EQ'|'LE'|'LT'|'GE'|'GT'|'TEXT_SEARCH'
            },
            'and': [
                {'... recursive ...'},
            ],
            'or': [
                {'... recursive ...'},
            ]
        },
        sort={
            'attribute': 'string',
            'order': 'ASCENDING'|'DESCENDING'
        },
        managed=True|False
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The identifier of the Amazon DataZone domain in which to invoke the ``SearchTypes`` action.

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of results to return in a single call to ``SearchTypes``. When the number of results to be listed is greater than the value of ``MaxResults``, the response contains a ``NextToken`` value that you can use in a subsequent call to ``SearchTypes`` to list the next set of results.

    

  
  :type nextToken: string
  :param nextToken: 

    When the number of results is greater than the default value for the ``MaxResults`` parameter, or if you explicitly specify a value for ``MaxResults`` that is less than the number of results, the response includes a pagination token named ``NextToken``. You can specify this ``NextToken`` value in a subsequent call to ``SearchTypes`` to list the next set of results.

    

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

    Specifies the scope of the search for types.

    

  
  :type searchText: string
  :param searchText: 

    Specifies the text for which to search.

    

  
  :type searchIn: list
  :param searchIn: 

    The details of the search.

    

  
    - *(dict) --* 

      The details of the search.

      

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

        The search attribute.

        

      
    

  :type filters: dict
  :param filters: 

    The filters for the ``SearchTypes`` action.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``filter``, ``and``, ``or``. 

  
    - **filter** *(dict) --* 

      A search filter in Amazon DataZone.

      

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

        A search filter attribute in Amazon DataZone.

        

      
      - **value** *(string) --* 

        A search filter string value in Amazon DataZone.

        

      
      - **intValue** *(integer) --* 

        A search filter integer value in Amazon DataZone.

        

      
      - **operator** *(string) --* 

        Specifies the search filter operator.

        

      
    
    - **and** *(list) --* 

      The 'and' search filter clause in Amazon DataZone.

      

    
      - *(dict) --* 

        A search filter clause in Amazon DataZone.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``filter``, ``and``, ``or``. 

      
  
    - **or** *(list) --* 

      The 'or' search filter clause in Amazon DataZone.

      

    
      - *(dict) --* 

        A search filter clause in Amazon DataZone.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``filter``, ``and``, ``or``. 

      
  
  
  :type sort: dict
  :param sort: 

    The specifies the way to sort the ``SearchTypes`` results.

    

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

      The attribute detail of the way to sort search results.

      

    
    - **order** *(string) --* 

      The order detail of the wya to sort search results.

      

    
  
  :type managed: boolean
  :param managed: **[REQUIRED]** 

    Specifies whether the search is managed.

    

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

    
    ::

      {
          'items': [
              {
                  'assetTypeItem': {
                      'domainId': 'string',
                      'name': 'string',
                      'revision': 'string',
                      'description': 'string',
                      'formsOutput': {
                          'string': {
                              'typeName': 'string',
                              'typeRevision': 'string',
                              'required': True|False
                          }
                      },
                      'owningProjectId': 'string',
                      'originDomainId': 'string',
                      'originProjectId': 'string',
                      'createdAt': datetime(2015, 1, 1),
                      'createdBy': 'string',
                      'updatedAt': datetime(2015, 1, 1),
                      'updatedBy': 'string'
                  },
                  'formTypeItem': {
                      'domainId': 'string',
                      'name': 'string',
                      'revision': 'string',
                      'model': {
                          'smithy': 'string'
                      },
                      'status': 'ENABLED'|'DISABLED',
                      'owningProjectId': 'string',
                      'originDomainId': 'string',
                      'originProjectId': 'string',
                      'createdAt': datetime(2015, 1, 1),
                      'createdBy': 'string',
                      'description': 'string',
                      'imports': [
                          {
                              'name': 'string',
                              'revision': 'string'
                          },
                      ]
                  },
                  'lineageNodeTypeItem': {
                      'domainId': 'string',
                      'name': 'string',
                      'description': 'string',
                      'createdAt': datetime(2015, 1, 1),
                      'createdBy': 'string',
                      'updatedAt': datetime(2015, 1, 1),
                      'updatedBy': 'string',
                      'revision': 'string',
                      'formsOutput': {
                          'string': {
                              'typeName': 'string',
                              'typeRevision': 'string',
                              'required': True|False
                          }
                      }
                  }
              },
          ],
          'nextToken': 'string',
          'totalMatchCount': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **items** *(list) --* 

        The results of the ``SearchTypes`` action.

        
        

        - *(dict) --* 

          The details of the results of the ``SearchTypes`` action.

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


        
          

          - **assetTypeItem** *(dict) --* 

            The asset type included in the results of the ``SearchTypes`` action.

            
            

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

              The identifier of the Amazon DataZone domain where the asset type exists.

              
            

            - **name** *(string) --* 

              The name of the asset type.

              
            

            - **revision** *(string) --* 

              The revision of the asset type.

              
            

            - **description** *(string) --* 

              The description of the asset type.

              
            

            - **formsOutput** *(dict) --* 

              The forms included in the details of the asset type.

              
              

              - *(string) --* 
                

                - *(dict) --* 

                  The details of the form entry.

                  
                  

                  - **typeName** *(string) --* 

                    The name of the type of the form entry.

                    
                  

                  - **typeRevision** *(string) --* 

                    The type revision of the form entry.

                    
                  

                  - **required** *(boolean) --* 

                    Specifies whether a form entry is required.

                    
              
          
        
            

            - **owningProjectId** *(string) --* 

              The identifier of the Amazon DataZone project that owns the asset type.

              
            

            - **originDomainId** *(string) --* 

              The identifier of the Amazon DataZone domain where the asset type was originally created.

              
            

            - **originProjectId** *(string) --* 

              The identifier of the Amazon DataZone project where the asset type exists.

              
            

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

              The timestamp of when the asset type was created.

              
            

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

              The Amazon DataZone user who created the asset type.

              
            

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

              The timestamp of when the asset type was updated.

              
            

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

              The Amazon DataZone user who updated the asset type.

              
        
          

          - **formTypeItem** *(dict) --* 

            The form type included in the results of the ``SearchTypes`` action.

            
            

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

              The identifier of the Amazon DataZone domain in which the form type exists.

              
            

            - **name** *(string) --* 

              The name of the form type.

              
            

            - **revision** *(string) --* 

              The revision of the form type.

              
            

            - **model** *(dict) --* 

              The model of the form type.

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


            
              

              - **smithy** *(string) --* 

                Indicates the smithy model of the API.

                
          
            

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

              The status of the form type.

              
            

            - **owningProjectId** *(string) --* 

              The identifier of the project that owns the form type.

              
            

            - **originDomainId** *(string) --* 

              The identifier of the Amazon DataZone domain in which the form type was originally created.

              
            

            - **originProjectId** *(string) --* 

              The identifier of the project in which the form type was originally created.

              
            

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

              The timestamp of when the metadata form type was created.

              
            

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

              The Amazon DataZone user who created teh metadata form type.

              
            

            - **description** *(string) --* 

              The description of the metadata form type.

              
            

            - **imports** *(list) --* 

              The imports specified in the form type.

              
              

              - *(dict) --* 

                The details of the import of the metadata form type.

                
                

                - **name** *(string) --* 

                  The name of the import.

                  
                

                - **revision** *(string) --* 

                  The revision of the import.

                  
            
          
        
          

          - **lineageNodeTypeItem** *(dict) --* 

            The details of a data lineage node type.

            
            

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

              The ID of the domain where the data lineage node type lives.

              
            

            - **name** *(string) --* 

              The name of the data lineage node type.

              
            

            - **description** *(string) --* 

              The description of the data lineage node type.

              
            

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

              The timestamp at which the data lineage node type was created.

              
            

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

              The user who created the data lineage node type.

              
            

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

              The timestamp at which the data lineage node type was updated.

              
            

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

              The user who updated the data lineage node type.

              
            

            - **revision** *(string) --* 

              The revision of the data lineage node type.

              
            

            - **formsOutput** *(dict) --* 

              The forms output of the data lineage node type.

              
              

              - *(string) --* 
                

                - *(dict) --* 

                  The details of the form entry.

                  
                  

                  - **typeName** *(string) --* 

                    The name of the type of the form entry.

                    
                  

                  - **typeRevision** *(string) --* 

                    The type revision of the form entry.

                    
                  

                  - **required** *(boolean) --* 

                    Specifies whether a form entry is required.

                    
              
          
        
        
      
    
      

      - **nextToken** *(string) --* 

        When the number of results is greater than the default value for the ``MaxResults`` parameter, or if you explicitly specify a value for ``MaxResults`` that is less than the number of results, the response includes a pagination token named ``NextToken``. You can specify this ``NextToken`` value in a subsequent call to ``SearchTypes`` to list the next set of results.

        
      

      - **totalMatchCount** *(integer) --* 

        Total number of search results.

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

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

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

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

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

  