code: function(options, callback) {
          var self = this, action, expectedStatus;
  
          if (!options.action) throw new Error('options.action is a required argument.');
  
          expectedStatus = options.expectedStatus ? options.expectedStatus : 202;
          action = options.action;
  
          var requestOptions = {
              uri: '/servers/' + self.id + '/action',
              method: 'POST',
              data: action
          };
  
          self.client.authorizedRequest(requestOptions, function(err, res, body) {
              if (err) {
                  callback(err);
                  return;
              }
  
              callback(err, res.statusCode === expectedStatus);
          });
      }
docs: @name Server.doServerAction
  @description Wrapper for a series of server action api calls,
  including resize, rebuild confirmResize, revertResize, among others
  @param {Object}      options     provides the data and optional expected
  status for the response
  
  @param {Function}    callback    handles the callback of your api call