digital ocean API

This commit is contained in:
William Mantly 2016-05-23 18:18:34 -04:00
parent 63b7a3b481
commit 15cac181c3

View File

@ -10,21 +10,94 @@ api = function(key){
'Authorization': 'Bearer '+key 'Authorization': 'Bearer '+key
} }
this.byTag = function(tag, callback){ // API mathods
this.account = function(callback){
var options = {
url: this.BASEURL+"account",
headers: this.headers
};
return request.get(options, function(error, response, body){
return callback(body, response, error);
});
};
this.dropletsByTag = function(tag, callback){
var options = { var options = {
url: this.BASEURL+'droplets?tag_name='+tag, url: this.BASEURL+'droplets?tag_name='+tag,
headers: this.headers headers: this.headers
} };
return request.get(options, function(error, response, body){ return request.get(options, function(error, response, body){
return callback(body, response, error); return callback(body, response, error);
}) });
};
this.dropletSetTag = function(tag, dropletID, callback) {
var data = {
resources: [
{
resource_id: dropletID,
resource_type: "droplet"
}
]
};
var options = {
url: this.BASEURL+'tags/'+tag+'/resources',
headers: this.headers,
body: JSON.stringify(data)
};
return request.post(options, function(error, response, body){
return callback(body, response, error);
});
};
this.dropletCreate = function(args, callback){
var data = {
name: args.name, // || return false,
region: args.region || "nyc3",
size: args.size || "512mb",
image: args.image || "ubuntu-14-04-x64",
ssh_keys: args.ssh_key || null,
backups: args.backup || false,
private_networking: args.private_networking || true,
user_data: args.user_data || null
};
var options = {
url: this.BASEURL+'droplets',
headers: this.headers,
body: JSON.stringify(data)
};
return request.post(options, function(error, response, body){
return callback(body, response, error);
});
}
this.dropletDestroy = function(dropletID, callback){
var options = {
url: this.BASEURL+"droplets/"+dropletID,
headers: this.headers
};
return request.del(options, function(error, response, body){
callback(body, response, error);
});
};
this.dropletInfo = function(dropletID, callback){
var options = {
url: this.BASEURL+"droplets/"+dropletID,
headers: this.headers
};
return request.get(options, function(error, response, body){
callback(body, response, error);
});
}; };
// this.setTag = function(id, tag, callback){
// return request.post(url+)
// };
return this; return this;
} }
module.exports = api; module.exports = api;