@yawetse/pkgcloud
Version:
An infrastructure-as-a-service agnostic cloud library for node.js
38 lines (30 loc) • 1.03 kB
JavaScript
/*
* volume.js: OpenStack Block Storage volume
*
* (C) 2014 Rackspace
* Ken Perkins
* MIT LICENSE
*
*/
var util = require('util'),
base = require('../../core/base'),
_ = require('underscore');
var Volume = exports.Volume = function Volume(client, details) {
base.Model.call(this, client, details);
};
util.inherits(Volume, base.Model);
Volume.prototype._setProperties = function (details) {
this.id = details.id;
this.status = details.status;
this.name = details.name || details['display_name'];
this.description = details.description || details['display_description'];
this.createdAt = details['created_at'];
this.size = details.size;
this.volumeType = details.volumeType || details['volume_type'];
this.attachments = details.attachments;
this.snapshotId = details.snapshotId || details['snapshot_id'];
};
Volume.prototype.toJSON = function () {
return _.pick(this, ['id', 'status', 'name', 'description', 'createdAt',
'size', 'volumeType', 'attachments', 'snapshotId']);
};