UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

39 lines (38 loc) 1.57 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 DynamoDBTableNamesCollector extends base_1.BaseCollector { collect() { return this.getAllTableNames(); } async getAllTableNames() { const serviceName = "DynamoDB"; const dynamoDBRegions = this.getRegions(serviceName); const tableNames = {}; for (const region of dynamoDBRegions) { try { const dynamoDB = this.getClient(serviceName, region); tableNames[region] = []; let fetchPending = true; let marker; while (fetchPending) { const tableNamesResponse = await dynamoDB.listTables({ ExclusiveStartTableName: marker }).promise(); if (tableNamesResponse.TableNames) { tableNames[region] = tableNames[region].concat(tableNamesResponse.TableNames); } marker = tableNamesResponse.LastEvaluatedTableName; fetchPending = marker !== undefined; await utils_1.CommonUtil.wait(200); } } catch (err) { aws_1.AWSErrorHandler.handle(err); continue; } } return { tableNames }; } } exports.DynamoDBTableNamesCollector = DynamoDBTableNamesCollector;