UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

31 lines (30 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const aws_1 = require("../../../utils/aws"); const base_1 = require("../../base"); const utils_1 = require("../../../utils"); class GroupsCollector extends base_1.BaseCollector { collect() { return this.listAllGroups(); } async listAllGroups() { try { const iam = this.getClient("IAM", "us-east-1"); let fetchPending = true; let marker; let groups = []; while (fetchPending) { const iamGroupsData = await iam.listGroups({ Marker: marker }).promise(); groups = groups.concat(iamGroupsData.Groups); marker = iamGroupsData.Marker; fetchPending = iamGroupsData.IsTruncated === true; await utils_1.CommonUtil.wait(200); } return { groups }; } catch (error) { aws_1.AWSErrorHandler.handle(error); } } } exports.GroupsCollector = GroupsCollector;