UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

31 lines (30 loc) 1.44 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"); const distributions_1 = require("./distributions"); class DistributionConfigsCollector extends base_1.BaseCollector { collect() { return this.listAllDistributionConfigs(); } async listAllDistributionConfigs() { try { const cloudfront = this.getClient("CloudFront", "us-east-1"); const distributionsCollector = new distributions_1.DistributionsCollector(); distributionsCollector.setSession(this.getSession()); const distributionData = await utils_1.CollectorUtil.cachedCollect(distributionsCollector); const distribution_configs = {}; for (const distribution of distributionData.distributions) { const cloudfrontDistributionsData = await cloudfront.getDistributionConfig({ Id: distribution.Id }).promise(); distribution_configs[distribution.Id] = cloudfrontDistributionsData.DistributionConfig; await utils_1.CommonUtil.wait(200); } return { distribution_configs }; } catch (error) { aws_1.AWSErrorHandler.handle(error); } } } exports.DistributionConfigsCollector = DistributionConfigsCollector;