UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

38 lines (37 loc) 1.38 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 ElbV2sCollector extends base_1.BaseCollector { collect() { return this.getAllElbs(); } async getAllElbs() { const self = this; const serviceName = "ELBv2"; const elbRegions = self.getRegions(serviceName); const elbs = {}; for (const region of elbRegions) { try { const elb = self.getClient(serviceName, region); elbs[region] = []; let fetchPending = true; let marker; while (fetchPending) { const elbsResponse = await elb.describeLoadBalancers({ Marker: marker }).promise(); elbs[region] = elbs[region].concat(elbsResponse.LoadBalancers); marker = elbsResponse.NextMarker; fetchPending = marker !== undefined; await utils_1.CommonUtil.wait(200); } } catch (error) { aws_1.AWSErrorHandler.handle(error); continue; } } return { elbs }; } } exports.ElbV2sCollector = ElbV2sCollector;