code: function(details, options, callback) {
          var self = this;
  
          if (typeof(options) === 'function') {
              callback = options;
              options = {};
          }
  
          self.createVolume(details, function(err, volume) {
              if (err) {
                  callback(err);
                  return;
              }
  
              var waitOptions = {
                  interval: 5000,
                  maxWait: options.maxWait ? options.maxWait : 30 * 60, // 30 minute default,
                  update: options.update,
                  finish: options.finish
              };
  
              volume.setWait({ status: 'available' }, waitOptions, function(err, volume) {
                  callback(err, volume);
              });
          });
      }
docs: @name Client.createVolumeWithWait
  
  @description Creates a cloud blockstorage volume and waits for the volume to be in Active Status
  
  @param {Object}              details     the volume details to use in building your volume
  @param {Object|Function}     options     optional parameters used for volume creation
  @param {Function}            callback    handles the callback of your api call