UNPKG

@amaabca/aws-lex-custom-resources

Version:
46 lines (45 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handler = void 0; const client_lex_models_v2_1 = require("@aws-sdk/client-lex-models-v2"); const handler = async (event, context) => { try { console.log(event, context); let params = JSON.parse(event.ResourceProperties.props); const client = new client_lex_models_v2_1.LexModelsV2Client({ region: process.env.REGION || "us-east-1" }); if (event.RequestType === "Create") { const command = new client_lex_models_v2_1.CreateBotCommand(params); let createResponse = await client.send(command); console.log(createResponse); return { PhysicalResourceId: createResponse.botId }; } else if (event.RequestType === "Delete") { const deleteCommand = new client_lex_models_v2_1.DeleteBotCommand({ botId: event.PhysicalResourceId }); let deleteResponse = await client.send(deleteCommand); console.log(deleteResponse); return { PhysicalResourceId: deleteResponse.botId }; } else if (event.RequestType === "Update") { params.botId = event.PhysicalResourceId; const updateCommand = new client_lex_models_v2_1.UpdateBotCommand(params); let updateResponse = await client.send(updateCommand); console.log(updateResponse); return { PhysicalResourceId: updateResponse.botId }; } else { console.error("Event request type unknown!"); throw new Error("Event request type unknown!"); } } catch (err) { console.error(err); throw new Error(err); } }; exports.handler = handler;