in templates/custom-resources/lexutils.py [0:0]
def _import_slot_types(self):
''' create/update slot types
'''
for slot_type in self._bot_definition['slot_types']:
name = slot_type['name']
version = '$LATEST'
if self._slot_types.get(name):
logger.info('updating slot type: {}'.format(name))
try:
get_slot_type_response = self._lex_client.get_slot_type(
name=name, version=version
)
except Exception as e:
logger.error('Lex get_slot_type call failed')
logger.error(e)
raise
checksum = get_slot_type_response['checksum']
try:
self._lex_client.put_slot_type(
checksum=checksum, **slot_type
)
logger.info('successfully updated slot type: {}'.format(name))
except Exception as e:
logger.error('Lex put_slot_type call failed')
logger.error(e)
raise
else:
logger.info('creating slot type: {}'.format(name))
try:
self._lex_client.put_slot_type(**slot_type)
logger.info('sucessfully created slot type: {}'.format(name))
except Exception as e:
logger.error('Lex put_slot_type call failed')
logger.error(e)
raise