@cdklabs/cdk-amazonmq
Version:
<!--BEGIN STABILITY BANNER-->
39 lines • 4.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handler = handler;
/* eslint-disable import/no-extraneous-dependencies */
const client_ec2_1 = require("@aws-sdk/client-ec2");
const ec2Client = new client_ec2_1.EC2Client();
async function handler(event) {
const requestType = event.RequestType;
let isReady = true;
if (requestType === "Delete") {
const { MqType, EsmId, AccountId } = event.ResourceProperties;
if (MqType === undefined) {
throw new Error("MqType");
}
if (EsmId === undefined) {
throw new Error("EsmId");
}
if (AccountId === undefined) {
throw new Error("AccountId");
}
const response = await ec2Client.send(new client_ec2_1.DescribeNetworkInterfacesCommand({
Filters: [
{
Name: "description",
Values: [`AWS Lambda VPC ENI-${MqType}-${AccountId}-${EsmId}*`],
},
],
}));
if (response.NetworkInterfaces && response.NetworkInterfaces.length > 0) {
// INFO: still waiting for the ESM to clean up
isReady = false;
}
}
const response = {
IsComplete: isReady,
};
return response;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNtLWRlbGV0ZXIuaXMtY29tcGxldGUubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21xLWVzbS9lc20tZGVsZXRlci5pcy1jb21wbGV0ZS5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQSwwQkF5Q0M7QUFsREQsc0RBQXNEO0FBQ3RELG9EQUc2QjtBQUc3QixNQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztBQUUzQixLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQXdDO0lBQ3BFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDdEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRW5CLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUU5RCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQ25DLElBQUksNkNBQWdDLENBQUM7WUFDbkMsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxhQUFhO29CQUNuQixNQUFNLEVBQUUsQ0FBQyxzQkFBc0IsTUFBTSxJQUFJLFNBQVMsSUFBSSxLQUFLLEdBQUcsQ0FBQztpQkFDaEU7YUFDRjtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxRQUFRLENBQUMsaUJBQWlCLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4RSw4Q0FBOEM7WUFDOUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHO1FBQ2YsVUFBVSxFQUFFLE9BQU87S0FDcEIsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMgKi9cbmltcG9ydCB7XG4gIERlc2NyaWJlTmV0d29ya0ludGVyZmFjZXNDb21tYW5kLFxuICBFQzJDbGllbnQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZWMyXCI7XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQgfSBmcm9tIFwiYXdzLWxhbWJkYVwiO1xuXG5jb25zdCBlYzJDbGllbnQgPSBuZXcgRUMyQ2xpZW50KCk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQpIHtcbiAgY29uc3QgcmVxdWVzdFR5cGUgPSBldmVudC5SZXF1ZXN0VHlwZTtcbiAgbGV0IGlzUmVhZHkgPSB0cnVlO1xuXG4gIGlmIChyZXF1ZXN0VHlwZSA9PT0gXCJEZWxldGVcIikge1xuICAgIGNvbnN0IHsgTXFUeXBlLCBFc21JZCwgQWNjb3VudElkIH0gPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXM7XG5cbiAgICBpZiAoTXFUeXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1xVHlwZVwiKTtcbiAgICB9XG5cbiAgICBpZiAoRXNtSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXNtSWRcIik7XG4gICAgfVxuXG4gICAgaWYgKEFjY291bnRJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBY2NvdW50SWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBlYzJDbGllbnQuc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VzQ29tbWFuZCh7XG4gICAgICAgIEZpbHRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBOYW1lOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICBWYWx1ZXM6IFtgQVdTIExhbWJkYSBWUEMgRU5JLSR7TXFUeXBlfS0ke0FjY291bnRJZH0tJHtFc21JZH0qYF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBpZiAocmVzcG9uc2UuTmV0d29ya0ludGVyZmFjZXMgJiYgcmVzcG9uc2UuTmV0d29ya0ludGVyZmFjZXMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gSU5GTzogc3RpbGwgd2FpdGluZyBmb3IgdGhlIEVTTSB0byBjbGVhbiB1cFxuICAgICAgaXNSZWFkeSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0ge1xuICAgIElzQ29tcGxldGU6IGlzUmVhZHksXG4gIH07XG5cbiAgcmV0dXJuIHJlc3BvbnNlO1xufVxuIl19