:doc:`LexModelBuildingService <../../lex-models>` / Client / create_slot_type_version

************************
create_slot_type_version
************************



.. py:method:: LexModelBuildingService.Client.create_slot_type_version(**kwargs)

  

  Creates a new version of a slot type based on the ``$LATEST`` version of the specified slot type. If the ``$LATEST`` version of this resource has not changed since the last version that you created, Amazon Lex doesn't create a new version. It returns the last version that you created.

   

  .. note::

    

    You can update only the ``$LATEST`` version of a slot type. You can't update the numbered versions that you create with the ``CreateSlotTypeVersion`` operation.

    

   

  When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see  versioning-intro.

   

  This operation requires permissions for the ``lex:CreateSlotTypeVersion`` action.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateSlotTypeVersion>`_  


  **Request Syntax**
  ::

    response = client.create_slot_type_version(
        name='string',
        checksum='string'
    )
    
  :type name: string
  :param name: **[REQUIRED]** 

    The name of the slot type that you want to create a new version for. The name is case sensitive.

    

  
  :type checksum: string
  :param checksum: 

    Checksum for the ``$LATEST`` version of the slot type that you want to publish. If you specify a checksum and the ``$LATEST`` version of the slot type has a different checksum, Amazon Lex returns a ``PreconditionFailedException`` exception and doesn't publish the new version. If you don't specify a checksum, Amazon Lex publishes the ``$LATEST`` version.

    

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

    
    ::

      {
          'name': 'string',
          'description': 'string',
          'enumerationValues': [
              {
                  'value': 'string',
                  'synonyms': [
                      'string',
                  ]
              },
          ],
          'lastUpdatedDate': datetime(2015, 1, 1),
          'createdDate': datetime(2015, 1, 1),
          'version': 'string',
          'checksum': 'string',
          'valueSelectionStrategy': 'ORIGINAL_VALUE'|'TOP_RESOLUTION',
          'parentSlotTypeSignature': 'string',
          'slotTypeConfigurations': [
              {
                  'regexConfiguration': {
                      'pattern': 'string'
                  }
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The name of the slot type.

        
      

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

        A description of the slot type.

        
      

      - **enumerationValues** *(list) --* 

        A list of ``EnumerationValue`` objects that defines the values that the slot type can take.

        
        

        - *(dict) --* 

          Each slot type can have a set of values. Each enumeration value represents a value the slot type can take.

           

          For example, a pizza ordering bot could have a slot type that specifies the type of crust that the pizza should have. The slot type could include the values

           

          
          * thick
           
          * thin
           
          * stuffed
          

          
          

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

            The value of the slot type.

            
          

          - **synonyms** *(list) --* 

            Additional values related to the slot type value.

            
            

            - *(string) --* 
        
      
    
      

      - **lastUpdatedDate** *(datetime) --* 

        The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

        
      

      - **createdDate** *(datetime) --* 

        The date that the slot type was created.

        
      

      - **version** *(string) --* 

        The version assigned to the new slot type version.

        
      

      - **checksum** *(string) --* 

        Checksum of the ``$LATEST`` version of the slot type.

        
      

      - **valueSelectionStrategy** *(string) --* 

        The strategy that Amazon Lex uses to determine the value of the slot. For more information, see  PutSlotType.

        
      

      - **parentSlotTypeSignature** *(string) --* 

        The built-in slot type used a the parent of the slot type.

        
      

      - **slotTypeConfigurations** *(list) --* 

        Configuration information that extends the parent built-in slot type.

        
        

        - *(dict) --* 

          Provides configuration information for a slot type.

          
          

          - **regexConfiguration** *(dict) --* 

            A regular expression used to validate the value of a slot.

            
            

            - **pattern** *(string) --* 

              A regular expression used to validate the value of a slot.

               

              Use a standard regular expression. Amazon Lex supports the following characters in the regular expression:

               

              
              * A-Z, a-z
               
              * 0-9
               
              * Unicode characters ("\ u<Unicode>")
              

               

              Represent Unicode characters with four digits, for example "\u0041" or "\u005A".

               

              The following regular expression operators are not supported:

               

              
              * Infinite repeaters: *, +, or {x,} with no upper bound.
               
              * Wild card (.)
              

              
        
      
    
  
  **Exceptions**
  
  *   :py:class:`LexModelBuildingService.Client.exceptions.NotFoundException`

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

  
  *   :py:class:`LexModelBuildingService.Client.exceptions.LimitExceededException`

  
  *   :py:class:`LexModelBuildingService.Client.exceptions.InternalFailureException`

  
  *   :py:class:`LexModelBuildingService.Client.exceptions.BadRequestException`

  
  *   :py:class:`LexModelBuildingService.Client.exceptions.PreconditionFailedException`

  