aws-iam-policy-tool
Version:
AWS IAM role/policy management cli tool
26 lines (25 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* validate IAM polices from JSON files
*/
const promisedLife = require('promised-lifestream');
const StreamUtils = require('@tilfin/stream-utils');
const file_1 = require("./utils/file");
const stream_1 = require("./utils/stream");
const result_writer_1 = require("./utils/result_writer");
const policy_validator_1 = require("./logic/policy_validator");
const file_reader_1 = require("./aws/file_reader");
async function main(inDir, varSet, opts = {}) {
const validator = new policy_validator_1.PolicyValidator(opts);
const arnPrefix = await validator.prepare();
const jsonFiles = await file_1.listJsonFiles(inDir);
await promisedLife([
StreamUtils.readArray(jsonFiles),
stream_1.promisedStream((filePath) => file_reader_1.readPolicyFile(filePath, varSet, arnPrefix)),
stream_1.promisedStream((file) => validator.validate(file)),
result_writer_1.createWriter(opts),
]);
return validator.isValid();
}
exports.main = main;