code: function(details, callback) {
          var self = this;
  
          ['size'].forEach(function(required) {
              if (!details[required]) throw new Error('details.' +
                  required + ' is a required argument.');
          });
  
          var volume = {
              size: details.size
          };
  
          if (details.display_description) {
              volume.display_description = details.display_description;
          }
  
          if (details.display_name) {
              volume.display_name = details.display_name;
          }
  
          if (details.snapshot_id) {
              volume.snapshot_id = details.snapshot_id;
          }
  
          if (details.volume_type) {
              volume.volume_type = details.volume_type;
          }
  
          var requestOptions = {
              uri: '/volumes',
              method: 'POST',
              data: {
                  volume: volume
              },
              endpoint: rackspace.Endpoints.CloudBlockStorage
          };
  
          self.authorizedRequest(requestOptions, function(err, res, body) {
              if (err || res.statusCode !== 200) {
                  callback(err ? err : body);
                  return;
              }
  
              callback(err, new rackspace.Volume(self, body.volume));
          });
      }
docs: @name Client.createVolume
  
  @description create a new cloud block storage volume
  
  @param {Object}     details     the information for your new volume
  @param {Function}   callback    handles the callback of your api call