var util = require('util');
|
|
|
|
var downtime_api = function(){};
|
|
|
|
downtime_api.prototype.schedule_downtime = function(scope, options, callback){
|
|
/*
|
|
* downtime_api.schedule_downtime(scope, [options], [callback])
|
|
*
|
|
* method to schedule a new downtime
|
|
*
|
|
* `scope` the scope to schedule downtime for
|
|
* `options` optional `start` `end` and `message` paramaters
|
|
* `callback` is an optional function to call with the results of the api call
|
|
* callback(error, results, status_code)
|
|
*/
|
|
if(typeof scope !== 'string'){
|
|
throw new Error('scope parameter must be a string');
|
|
}
|
|
|
|
if(typeof options === 'function'){
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options.scope = scope;
|
|
|
|
this.request('POST', '/downtime', {body: options}, callback);
|
|
};
|
|
|
|
downtime_api.prototype.update_downtime = function(downtime_id, options, callback){
|
|
/*
|
|
* downtime_api.update_downtime(downtime_id, [options], [callback])
|
|
*
|
|
* method to update an existing downtime
|
|
*
|
|
* `downtime_id` the id of the downtime
|
|
* `options` optional `scope` `start` `end` and `message` paramaters
|
|
* `callback` is an optional function to call with the results of the api call
|
|
* callback(error, results, status_code)
|
|
*/
|
|
|
|
if(typeof options === 'function'){
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
|
|
this.request('PUT', util.format('/downtime/%s', downtime_id), {body: options}, callback);
|
|
};
|
|
|
|
downtime_api.prototype.get_downtime = function(downtime_id, callback){
|
|
/*
|
|
* downtime_api.get_downtime(downtime_id, [callback])
|
|
*
|
|
* method to get an existing downtime
|
|
*
|
|
* `downtime_id` the id of the downtime
|
|
* `callback` is an optional function to call with the results of the api call
|
|
* callback(error, results, status_code)
|
|
*/
|
|
|
|
this.request('GET', util.format('/downtime/%s', downtime_id), callback);
|
|
};
|
|
|
|
downtime_api.prototype.cancel_downtime = function(downtime_id, callback){
|
|
/*
|
|
* downtime_api.cancel_downtime(downtime_id, [callback])
|
|
*
|
|
* method to cancel an existing downtime
|
|
*
|
|
* `downtime_id` the id of the downtime
|
|
* `callback` is an optional function to call with the results of the api call
|
|
* callback(error, results, status_code)
|
|
*/
|
|
|
|
this.request('DELETE', util.format('/downtime/%s', downtime_id), callback);
|
|
};
|
|
|
|
downtime_api.prototype.get_all_downtimes = function(current_only, callback){
|
|
/*
|
|
* downtime_api.get_all_downtimes(downtime_id, [current_only], [callback])
|
|
*
|
|
* method to get all downtimes
|
|
*
|
|
* `downtime_id` the id of the downtime
|
|
* `current_only` whether or not to get the current downtime only
|
|
* `callback` is an optional function to call with the results of the api call
|
|
* callback(error, results, status_code)
|
|
*/
|
|
|
|
if(typeof current_only === 'function'){
|
|
callback = current_only;
|
|
current_only = false;
|
|
}
|
|
|
|
query = {};
|
|
if(current_only){
|
|
query.current_only = true;
|
|
}
|
|
|
|
this.request('GET', '/downtime', {query: query}, callback);
|
|
};
|
|
|
|
return module.exports = downtime_api;
|