UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

33 lines (32 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../../../utils"); const aws_1 = require("../../../utils/aws"); const base_1 = require("../../base"); class CredentialsReportCollector extends base_1.BaseCollector { collect() { return this.getCredentialsReport(); } async getCredentialsReport() { try { const iam = this.getClient("IAM", "us-east-1"); let fetchPending = true; let credsReport = {}; await iam.generateCredentialReport().promise(); while (fetchPending) { await utils_1.CommonUtil.wait(1000); credsReport = await iam.getCredentialReport().promise(); fetchPending = credsReport.Content === undefined; } let credentials = {}; if (credsReport.Content) { credentials = utils_1.CsvUtil.toObject(credsReport.Content.toString()); } return { credentials }; } catch (error) { aws_1.AWSErrorHandler.handle(error); } } } exports.CredentialsReportCollector = CredentialsReportCollector;