async getRegionsForServiceQuotas()

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


    async getRegionsForServiceQuotas() {
        AWS.config.update({region: 'us-east-1'});
        let ec2 = new AWS.EC2({apiVersion: '2016-11-15'});
        let params = {};
        let ec2_regions = [];
        let service_quota_regions = [];
        let ec2_onDemand_quota={
            QuotaCode: 'L-1216C47A',
            ServiceCode: 'ec2'
        }
        try {   
            let response_ec2_regions = await ec2.describeRegions(params).promise();
            ec2_regions = response_ec2_regions.Regions;
            for(let item of ec2_regions) {
                let region = item.RegionName;
                let sq = new AWS.ServiceQuotas({
                    region: region,
                    maxRetries: 2,
                    httpOptions: {
                        timeout: 3000,
                        connectTimeout: 5000
                    }
                });
                try {
                    await sq.getAWSDefaultServiceQuota(ec2_onDemand_quota).promise();
                    service_quota_regions.push(region);
                } catch(err) {
                    LOGGER.log('DEBUG', `${err} - ${JSON.stringify(item)}`);
                }
            }
        } catch(err) {
            LOGGER.log('ERROR', err);
        }
        LOGGER.log('DEBUG', `service_quota_regions: ${service_quota_regions}`)
        return service_quota_regions;
    }