def create_lex_slot_types()

in functions/source/lex_custom_resource/lex_custom_resource.py [0:0]


def create_lex_slot_types(slot_types):
    """
    Creates Lex slot types.
    :param slot_types: List of Lex slot types.
    :return: Map of Slot type versions.
    """
    slot_type_version = {}
    for slot_type in slot_types:
        slot_type.pop('version', None)
        try:
            slot_get_response = lex_client.get_slot_type(name=slot_type['name'], version='$LATEST')
            slot_type['checksum'] = slot_get_response['checksum']
        except lex_client.exceptions.NotFoundException:
            pass
        slot_type['createVersion'] = True
        slot_type_response = lex_client.put_slot_type(**slot_type)
        slot_type_version[slot_type['name']] = slot_type_response['version']
        logger.info("Created/updated slot type %s", str(slot_type['name']))
    return slot_type_version