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

****************
create_form_type
****************



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

  

  Creates a metadata form type.

   

  Prerequisites:

   

  
  * The domain must exist and be in an ``ENABLED`` state.
   
  * The owning project must exist and be accessible.
   
  * The name must be unique within the domain.
  

   

  For custom form types, to indicate that a field should be searchable, annotate it with ``@amazon.datazone#searchable``. By default, searchable fields are indexed for semantic search, where related query terms will match the attribute value even if they are not stemmed or keyword matches. To indicate that a field should be indexed for lexical search (which disables semantic search but supports stemmed and partial matches), annotate it with ``@amazon.datazone#searchable(modes:["LEXICAL"])``. To indicate that a field should be indexed for technical identifier search (for more information on technical identifier search, see: `https\://aws.amazon.com/blogs/big-data/streamline-data-discovery-with-precise-technical-identifier-search-in-amazon-sagemaker-unified-studio/ <https://aws.amazon.com/blogs/big-data/streamline-data-discovery-with-precise-technical-identifier-search-in-amazon-sagemaker-unified-studio/>`__), annotate it with ``@amazon.datazone#searchable(modes:["TECHNICAL"])``.

   

  To denote that a field will store glossary term ids (which are filterable via the Search/SearchListings APIs), annotate it with ``@amazon.datazone#glossaryterm("${GLOSSARY_ID}")``, where ``${GLOSSARY_ID}`` is the id of the glossary that the glossary terms stored in the field belong to.

  

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


  **Request Syntax**
  ::

    response = client.create_form_type(
        domainIdentifier='string',
        name='string',
        model={
            'smithy': 'string'
        },
        owningProjectIdentifier='string',
        status='ENABLED'|'DISABLED',
        description='string'
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The ID of the Amazon DataZone domain in which this metadata form type is created.

    

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

    The name of this Amazon DataZone metadata form type.

    

  
  :type model: dict
  :param model: **[REQUIRED]** 

    The model of this Amazon DataZone metadata form type.

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

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

      Indicates the smithy model of the API.

      

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

    The ID of the Amazon DataZone project that owns this metadata form type.

    

  
  :type status: string
  :param status: 

    The status of this Amazon DataZone metadata form type.

    

  
  :type description: string
  :param description: 

    The description of this Amazon DataZone metadata form type.

    

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

    
    ::

      {
          'domainId': 'string',
          'name': 'string',
          'revision': 'string',
          'description': 'string',
          'owningProjectId': 'string',
          'originDomainId': 'string',
          'originProjectId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The ID of the Amazon DataZone domain in which this metadata form type is created.

        
      

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

        The name of this Amazon DataZone metadata form type.

        
      

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

        The revision of this Amazon DataZone metadata form type.

        
      

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

        The description of this Amazon DataZone metadata form type.

        
      

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

        The ID of the project that owns this Amazon DataZone metadata form type.

        
      

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

        The ID of the Amazon DataZone domain in which this metadata form type was originally created.

        
      

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

        The ID of the project in which this Amazon DataZone metadata form type was originally created.

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

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

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

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

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

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

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

  