UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

39 lines (38 loc) 1.47 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 ApisCollector extends base_1.BaseCollector { collect(callback) { return this.getAllApis(); } async getAllApis() { const serviceName = "APIGateway"; const apiGatewayRegions = this.getRegions(serviceName); const apis = {}; for (const region of apiGatewayRegions) { try { const apiGateway = this.getClient(serviceName, region); apis[region] = []; let fetchPending = true; let marker; while (fetchPending) { const apisResponse = await apiGateway.getRestApis({ position: marker }).promise(); if (apisResponse.items) { apis[region] = apis[region].concat(apisResponse.items); } marker = apisResponse.position; fetchPending = marker !== undefined && marker !== null; await utils_1.CommonUtil.wait(200); } } catch (error) { aws_1.AWSErrorHandler.handle(error); continue; } } return { apis }; } } exports.ApisCollector = ApisCollector;