UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

32 lines (31 loc) 1.17 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 ElasticIPsCollector extends base_1.BaseCollector { collect() { return this.getAllElasticIPs(); } async getAllElasticIPs() { const serviceName = "EC2"; const ec2Regions = this.getRegions(serviceName); const elastic_ips = {}; for (const region of ec2Regions) { try { const ec2 = this.getClient(serviceName, region); const elasticIPsResponse = await ec2.describeAddresses().promise(); if (elasticIPsResponse && elasticIPsResponse.Addresses) { elastic_ips[region] = elasticIPsResponse.Addresses; } await utils_1.CommonUtil.wait(200); } catch (error) { aws_1.AWSErrorHandler.handle(error); continue; } } return { elastic_ips }; } } exports.ElasticIPsCollector = ElasticIPsCollector;