UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

41 lines (40 loc) 1.61 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 CertificateCollector extends base_1.BaseCollector { collect(callback) { return this.getAllCertificates(); } async getAllCertificates() { const serviceName = "ACM"; const acmRegions = this.getRegions(serviceName); const certificates = {}; for (const region of acmRegions) { try { const acm = this.getClient(serviceName, region); certificates[region] = []; let fetchPending = true; let marker; while (fetchPending) { const certificatesResponse = await acm.listCertificates({ NextToken: marker, }).promise(); if (certificatesResponse.CertificateSummaryList) { certificates[region] = certificates[region].concat(certificatesResponse.CertificateSummaryList); } marker = certificatesResponse.NextToken; fetchPending = marker !== undefined; await utils_1.CommonUtil.wait(200); } } catch (error) { aws_1.AWSErrorHandler.handle(error); continue; } } return { certificates }; } } exports.CertificateCollector = CertificateCollector;