UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

70 lines 8.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.realHandler = void 0; const process = require("process"); const cxapi = require("@aws-cdk/cx-api"); const chalk = require("chalk"); const logging_1 = require("../../lib/logging"); const version = require("../../lib/version"); async function realHandler(_options) { let exitStatus = 0; for (const verification of verifications) { if (!await verification()) { exitStatus = -1; } } await version.displayVersionMessage(); return exitStatus; } exports.realHandler = realHandler; const verifications = [ displayVersionInformation, displayAwsEnvironmentVariables, displayCdkEnvironmentVariables, ]; // ### Verifications ### function displayVersionInformation() { (0, logging_1.print)(`ℹ️ CDK Version: ${chalk.green(version.DISPLAY_VERSION)}`); return true; } function displayAwsEnvironmentVariables() { const keys = Object.keys(process.env).filter(s => s.startsWith('AWS_')); if (keys.length === 0) { (0, logging_1.print)('ℹ️ No AWS environment variables'); return true; } (0, logging_1.print)('ℹ️ AWS environment variables:'); for (const key of keys) { (0, logging_1.print)(` - ${chalk.blue(key)} = ${chalk.green(anonymizeAwsVariable(key, process.env[key]))}`); } return true; } function displayCdkEnvironmentVariables() { const keys = Object.keys(process.env).filter(s => s.startsWith('CDK_')); if (keys.length === 0) { (0, logging_1.print)('ℹ️ No CDK environment variables'); return true; } (0, logging_1.print)('ℹ️ CDK environment variables:'); let healthy = true; for (const key of keys.sort()) { if (key === cxapi.CONTEXT_ENV || key === cxapi.CONTEXT_OVERFLOW_LOCATION_ENV || key === cxapi.OUTDIR_ENV) { (0, logging_1.print)(` - ${chalk.red(key)} = ${chalk.green(process.env[key])} (⚠️ reserved for use by the CDK toolkit)`); healthy = false; } else { (0, logging_1.print)(` - ${chalk.blue(key)} = ${chalk.green(process.env[key])}`); } } return healthy; } function anonymizeAwsVariable(name, value) { if (name === 'AWS_ACCESS_KEY_ID') { return value.slice(0, 4) + '<redacted>'; } // Show ASIA/AKIA key type, but hide identifier if (name === 'AWS_SECRET_ACCESS_KEY' || name === 'AWS_SESSION_TOKEN' || name === 'AWS_SECURITY_TOKEN') { return '<redacted>'; } return value; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZG9jdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUNuQyx5Q0FBeUM7QUFDekMsK0JBQStCO0FBQy9CLCtDQUEwQztBQUMxQyw2Q0FBNkM7QUFHdEMsS0FBSyxVQUFVLFdBQVcsQ0FBQyxRQUF3QjtJQUN4RCxJQUFJLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDM0IsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUU7UUFDeEMsSUFBSSxDQUFDLE1BQU0sWUFBWSxFQUFFLEVBQUU7WUFDekIsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO0tBQ0Y7SUFDRCxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3RDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFURCxrQ0FTQztBQUVELE1BQU0sYUFBYSxHQUE0QztJQUM3RCx5QkFBeUI7SUFDekIsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUMvQixDQUFDO0FBRUYsd0JBQXdCO0FBRXhCLFNBQVMseUJBQXlCO0lBQ2hDLElBQUEsZUFBSyxFQUFDLG1CQUFtQixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyw4QkFBOEI7SUFDckMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsSUFBQSxlQUFLLEVBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsSUFBQSxlQUFLLEVBQUMsK0JBQStCLENBQUMsQ0FBQztJQUN2QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtRQUN0QixJQUFBLGVBQUssRUFBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2hHO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyw4QkFBOEI7SUFDckMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsSUFBQSxlQUFLLEVBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsSUFBQSxlQUFLLEVBQUMsK0JBQStCLENBQUMsQ0FBQztJQUN2QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDbkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDN0IsSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLFdBQVcsSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLDZCQUE2QixJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3hHLElBQUEsZUFBSyxFQUFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFFLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUM1RyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ2pCO2FBQU07WUFDTCxJQUFBLGVBQUssRUFBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JFO0tBQ0Y7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxJQUFZLEVBQUUsS0FBYTtJQUN2RCxJQUFJLElBQUksS0FBSyxtQkFBbUIsRUFBRTtRQUFFLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO0tBQUUsQ0FBQywrQ0FBK0M7SUFDOUgsSUFBSSxJQUFJLEtBQUssdUJBQXVCLElBQUksSUFBSSxLQUFLLG1CQUFtQixJQUFJLElBQUksS0FBSyxvQkFBb0IsRUFBRTtRQUFFLE9BQU8sWUFBWSxDQUFDO0tBQUU7SUFDL0gsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcHJvY2VzcyBmcm9tICdwcm9jZXNzJztcbmltcG9ydCAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgKiBhcyBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBwcmludCB9IGZyb20gJy4uLy4uL2xpYi9sb2dnaW5nJztcbmltcG9ydCAqIGFzIHZlcnNpb24gZnJvbSAnLi4vLi4vbGliL3ZlcnNpb24nO1xuaW1wb3J0IHsgQ29tbWFuZE9wdGlvbnMgfSBmcm9tICcuLi9jb21tYW5kLWFwaSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFsSGFuZGxlcihfb3B0aW9uczogQ29tbWFuZE9wdGlvbnMpOiBQcm9taXNlPG51bWJlcj4ge1xuICBsZXQgZXhpdFN0YXR1czogbnVtYmVyID0gMDtcbiAgZm9yIChjb25zdCB2ZXJpZmljYXRpb24gb2YgdmVyaWZpY2F0aW9ucykge1xuICAgIGlmICghYXdhaXQgdmVyaWZpY2F0aW9uKCkpIHtcbiAgICAgIGV4aXRTdGF0dXMgPSAtMTtcbiAgICB9XG4gIH1cbiAgYXdhaXQgdmVyc2lvbi5kaXNwbGF5VmVyc2lvbk1lc3NhZ2UoKTtcbiAgcmV0dXJuIGV4aXRTdGF0dXM7XG59XG5cbmNvbnN0IHZlcmlmaWNhdGlvbnM6IEFycmF5PCgpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+PiA9IFtcbiAgZGlzcGxheVZlcnNpb25JbmZvcm1hdGlvbixcbiAgZGlzcGxheUF3c0Vudmlyb25tZW50VmFyaWFibGVzLFxuICBkaXNwbGF5Q2RrRW52aXJvbm1lbnRWYXJpYWJsZXMsXG5dO1xuXG4vLyAjIyMgVmVyaWZpY2F0aW9ucyAjIyNcblxuZnVuY3Rpb24gZGlzcGxheVZlcnNpb25JbmZvcm1hdGlvbigpIHtcbiAgcHJpbnQoYOKEue+4jyBDREsgVmVyc2lvbjogJHtjaGFsay5ncmVlbih2ZXJzaW9uLkRJU1BMQVlfVkVSU0lPTil9YCk7XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBkaXNwbGF5QXdzRW52aXJvbm1lbnRWYXJpYWJsZXMoKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhwcm9jZXNzLmVudikuZmlsdGVyKHMgPT4gcy5zdGFydHNXaXRoKCdBV1NfJykpO1xuICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICBwcmludCgn4oS577iPIE5vIEFXUyBlbnZpcm9ubWVudCB2YXJpYWJsZXMnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBwcmludCgn4oS577iPIEFXUyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6Jyk7XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBwcmludChgICAtICR7Y2hhbGsuYmx1ZShrZXkpfSA9ICR7Y2hhbGsuZ3JlZW4oYW5vbnltaXplQXdzVmFyaWFibGUoa2V5LCBwcm9jZXNzLmVudltrZXldISkpfWApO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBkaXNwbGF5Q2RrRW52aXJvbm1lbnRWYXJpYWJsZXMoKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhwcm9jZXNzLmVudikuZmlsdGVyKHMgPT4gcy5zdGFydHNXaXRoKCdDREtfJykpO1xuICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICBwcmludCgn4oS577iPIE5vIENESyBlbnZpcm9ubWVudCB2YXJpYWJsZXMnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBwcmludCgn4oS577iPIENESyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6Jyk7XG4gIGxldCBoZWFsdGh5ID0gdHJ1ZTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cy5zb3J0KCkpIHtcbiAgICBpZiAoa2V5ID09PSBjeGFwaS5DT05URVhUX0VOViB8fCBrZXkgPT09IGN4YXBpLkNPTlRFWFRfT1ZFUkZMT1dfTE9DQVRJT05fRU5WIHx8IGtleSA9PT0gY3hhcGkuT1VURElSX0VOVikge1xuICAgICAgcHJpbnQoYCAgLSAke2NoYWxrLnJlZChrZXkpfSA9ICR7Y2hhbGsuZ3JlZW4ocHJvY2Vzcy5lbnZba2V5XSEpfSAo4pqg77iPIHJlc2VydmVkIGZvciB1c2UgYnkgdGhlIENESyB0b29sa2l0KWApO1xuICAgICAgaGVhbHRoeSA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcmludChgICAtICR7Y2hhbGsuYmx1ZShrZXkpfSA9ICR7Y2hhbGsuZ3JlZW4ocHJvY2Vzcy5lbnZba2V5XSEpfWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaGVhbHRoeTtcbn1cblxuZnVuY3Rpb24gYW5vbnltaXplQXdzVmFyaWFibGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gIGlmIChuYW1lID09PSAnQVdTX0FDQ0VTU19LRVlfSUQnKSB7IHJldHVybiB2YWx1ZS5zbGljZSgwLCA0KSArICc8cmVkYWN0ZWQ+JzsgfSAvLyBTaG93IEFTSUEvQUtJQSBrZXkgdHlwZSwgYnV0IGhpZGUgaWRlbnRpZmllclxuICBpZiAobmFtZSA9PT0gJ0FXU19TRUNSRVRfQUNDRVNTX0tFWScgfHwgbmFtZSA9PT0gJ0FXU19TRVNTSU9OX1RPS0VOJyB8fCBuYW1lID09PSAnQVdTX1NFQ1VSSVRZX1RPS0VOJykgeyByZXR1cm4gJzxyZWRhY3RlZD4nOyB9XG4gIHJldHVybiB2YWx1ZTtcbn1cbiJdfQ==