aws-iam-policy-tool
Version:
AWS IAM role/policy management cli tool
25 lines (24 loc) • 984 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* validate 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 role_validator_1 = require("./logic/role_validator");
const file_1 = require("./utils/file");
const file_reader_1 = require("./aws/file_reader");
async function main(inDir, varSet, opts = {}) {
const validator = new role_validator_1.RoleValidator();
const jsonFiles = await file_1.listJsonFiles(inDir);
await promisedLife([
StreamUtils.readArray(jsonFiles),
stream_1.promisedStream((filePath) => file_reader_1.readRoleFile(filePath, varSet)),
stream_1.promisedStream((file) => validator.validate(file)),
result_writer_1.createWriter(opts),
]);
return validator.isValid();
}
exports.main = main;