aws-iam-policy-tool
Version:
AWS IAM role/policy management cli tool
30 lines (29 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* import IAM roles from JSON files
*/
const promisedLife = require('promised-lifestream');
const StreamUtils = require('@tilfin/stream-utils');
const stream_1 = require("./utils/stream");
const result_writer_1 = require("./utils/result_writer");
const file_1 = require("./utils/file");
const role_registerer_1 = require("./logic/role_registerer");
const file_reader_1 = require("./aws/file_reader");
async function main(inDir, varSet, opts = {}) {
const registerer = new role_registerer_1.RoleRegisterer(opts);
try {
const jsonFiles = await file_1.listJsonFiles(inDir);
return promisedLife([
StreamUtils.readArray(jsonFiles),
stream_1.promisedStream((filePath) => file_reader_1.readRoleFile(filePath, varSet)),
stream_1.promisedStream((file) => registerer.register(file)),
result_writer_1.createWriter(opts),
]);
}
catch (err) {
console.error(err.stack);
return false;
}
}
exports.main = main;