cdk-assume-role-plugin
Version:
Adds assume role and mfa support to cdk apps
47 lines • 4.39 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSharedCredentialsFilename = exports.readProfiles = exports.tokenCodeFn = void 0;
const path = __importStar(require("path"));
const os = __importStar(require("os"));
const inquirer = __importStar(require("inquirer"));
const profile_mapper_1 = require("./profile-mapper");
exports.tokenCodeFn = async (mfaSerial, callback) => {
try {
const { token } = await inquirer.prompt({
name: 'token',
type: 'input',
default: '',
message: `MFA token for ${mfaSerial}:`,
});
return callback(undefined, token);
}
catch (e) {
console.error('error:', e);
return callback(e, undefined);
}
};
exports.readProfiles = () => {
return new profile_mapper_1.PrecedenceProfileMapper().resolve();
};
exports.getSharedCredentialsFilename = () => process.env.AWS_SHARED_CREDENTIALS_FILE ||
path.join(os.homedir(), '.aws', 'credentials');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qix1Q0FBeUI7QUFDekIsbURBQXFDO0FBRXJDLHFEQUcwQjtBQUViLFFBQUEsV0FBVyxHQUFHLEtBQUssRUFDOUIsU0FBaUIsRUFDakIsUUFBK0MsRUFDaEMsRUFBRTtJQUNqQixJQUFJO1FBQ0YsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN0QyxJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsaUJBQWlCLFNBQVMsR0FBRztTQUl2QyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDbkM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sUUFBUSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUMvQjtBQUNILENBQUMsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLEdBQTJCLEVBQUU7SUFDdkQsT0FBTyxJQUFJLHdDQUF1QixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDakQsQ0FBQyxDQUFDO0FBRVcsUUFBQSw0QkFBNEIsR0FBRyxHQUFXLEVBQUUsQ0FDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkI7SUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIGlucXVpcmVyIGZyb20gJ2lucXVpcmVyJztcblxuaW1wb3J0IHtcbiAgQXNzdW1lUm9sZVBsdWdpbkNvbmZpZyxcbiAgUHJlY2VkZW5jZVByb2ZpbGVNYXBwZXIsXG59IGZyb20gJy4vcHJvZmlsZS1tYXBwZXInO1xuXG5leHBvcnQgY29uc3QgdG9rZW5Db2RlRm4gPSBhc3luYyAoXG4gIG1mYVNlcmlhbDogc3RyaW5nLFxuICBjYWxsYmFjazogKGVycj86IEVycm9yLCB0b2tlbj86IHN0cmluZykgPT4gdm9pZCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHsgdG9rZW4gfSA9IGF3YWl0IGlucXVpcmVyLnByb21wdCh7XG4gICAgICBuYW1lOiAndG9rZW4nLFxuICAgICAgdHlwZTogJ2lucHV0JyxcbiAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgbWVzc2FnZTogYE1GQSB0b2tlbiBmb3IgJHttZmFTZXJpYWx9OmAsXG4gICAgICAvLyB2YWxpZGF0ZTogYXN5bmMgKGlucHV0OiBzdHJpbmcpID0+IHtcbiAgICAgIC8vICAgcmV0dXJuIHRydWU7XG4gICAgICAvLyB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNhbGxiYWNrKHVuZGVmaW5lZCwgdG9rZW4pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcignZXJyb3I6JywgZSk7XG4gICAgcmV0dXJuIGNhbGxiYWNrKGUsIHVuZGVmaW5lZCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCByZWFkUHJvZmlsZXMgPSAoKTogQXNzdW1lUm9sZVBsdWdpbkNvbmZpZyA9PiB7XG4gIHJldHVybiBuZXcgUHJlY2VkZW5jZVByb2ZpbGVNYXBwZXIoKS5yZXNvbHZlKCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2hhcmVkQ3JlZGVudGlhbHNGaWxlbmFtZSA9ICgpOiBzdHJpbmcgPT5cbiAgcHJvY2Vzcy5lbnYuQVdTX1NIQVJFRF9DUkVERU5USUFMU19GSUxFIHx8XG4gIHBhdGguam9pbihvcy5ob21lZGlyKCksICcuYXdzJywgJ2NyZWRlbnRpYWxzJyk7XG4iXX0=