UNPKG

@xompass/pkgcloud

Version:

A provider agnostic cloud library for Node.js

59 lines (55 loc) 1.71 kB
/** * Created by Ali Bazlamit on 8/19/2017. */ var pkgcloud = require('../../../../../lib/pkgcloud'), base = require('../../../core/compute'), oneandone = require('liboneandone'), compute = pkgcloud.providers.oneandone.compute; // // ### function getFlavors(size, callback) // #### @size {size|String} flavor name or part of it S,M,L,XL // #### @callback {function} f(err, flavors). `flavors` // // Returns available flavours for fixed servers. // exports.getFlavors = function getFlavors(callback) { var self = this; oneandone.listHardwareFlavours(function (error, response, body) { if (error) { callback(error); return; } if (response.statusCode != 200) { callback(JSON.parse(body)); return; } var flavors = JSON.parse(body); callback(error, flavors.map(function (flavor) { return new compute.Flavor(self, flavor); })); }); }; // // ### function getFlavor (flavor, callback) // #### @flavor {Flavor|String} Flavor ID or an Flavor // #### @callback {function} f(err, flavor). `flavor` is an object that // represents the flavor that was retrieved. // // Returns information about one flavour // exports.getFlavor = function getFlavor(flavor, callback) { var flavorId = flavor instanceof base.Flavor ? flavor.id : flavor; var self = this; oneandone.getHardwareFlavour(flavorId, function (error, response, body) { if (error) { callback(error); return; } if (response.statusCode != 200) { callback(JSON.parse(body)); return; } var flavor = JSON.parse(body); callback(null, new compute.Flavor(self, flavor)); }); };