@amaabca/aws-lex-custom-resources
Version:
AWS Lex infrastructure as code via the CDK
46 lines (45 loc) • 1.82 kB
JavaScript
;
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;