async getEC2InstanceTypes()

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


    async getEC2InstanceTypes() {
        let params= {ServiceCode: 'ec2'}
        let ec2_service_limits = [];
        let instance_Types = [];
        let quotas = {};
        AWS.config.update({region:'us-east-1'});
        let sq = new AWS.ServiceQuotas();
        try {
            quotas = await sq.listServiceQuotas(params).promise();
            quotas.Quotas.map(item=> {
                ec2_service_limits.push(item);
            });
            while(quotas.NextToken) {
                params.NextToken=quotas.NextToken;
                try { 
                    quotas = await sq.listServiceQuotas(params).promise();
                    quotas.Quotas.map(item=> {
                        ec2_service_limits.push(item);
                    })
                } catch(err) {
                    LOGGER.log('ERROR', err);
                }
            }
            ec2_service_limits.map(limit_type => {
                if(limit_type.UsageMetric)
                    instance_Types.push(limit_type);
            })
            LOGGER.log('DEBUG', 'instance_Types ' + JSON.stringify(instance_Types))
        } catch(err) {
            LOGGER.log('ERROR', err);
        }
        return instance_Types;
    }