async getServiceUsage()

in source/lambda/services/servicequotaschecks/lib/service-quotas-checks.js [224:243]


    async getServiceUsage(checkName, params, valid_regions) {
        let usage_map = {};
        let region_map = {};
        for (let currentRegion of valid_regions) {
            AWS.config.update({region: currentRegion});
            let cloudwatch = new AWS.CloudWatch();
            try {
                let response = await cloudwatch.getMetricData(params).promise();
                if (response.MetricDataResults[0].Values[0] !== undefined) {
                    let maxUsage = response.MetricDataResults[0].Values[0]
                    region_map[currentRegion] = maxUsage;
                }
            } catch (err) {
                LOGGER.log('ERROR', err);
            }
        }
        usage_map[checkName]=region_map;
        LOGGER.log('DEBUG', JSON.stringify(usage_map));
        return usage_map;
    }