JSPM

cloudsigma

0.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q34795F
  • License MIT

Dead simple wrapper for the CloudSigma API

Package Exports

  • cloudsigma

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cloudsigma) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Overview

Dead simple Node.js wrapper for the CloudSigma API.

Installation (for now)

No npm package yet...

Take it straight from Github:

"dependencies": {
  "cloudsigma": "stirlab/node-cloudsigma"
}

Usage

The library leverages the request HTTP library, providing simple wrappers for the five supported HTTP verbs.

The path and JSON data parameters can be figured out via CloudSigma's API.

Note that many of the endpoint paths include a trailing slash -- you'll need to include that to hit the right path on the endpoint.

Examples

var CloudSigma = require('cloudsigma');

// Initialize an new datacenter endpoint.
// datacenter-label is the three letter location code for the datacenter you
// wish to connect to, see:
// http://cloudsigma-docs.readthedocs.io/en/2.14/general.html
var cloudSigma = new CloudSigma('username', 'password', 'datacenter-label');

// Fetch all endpoints.
cloudSigma.options(function(err, response, body) {
  console.log(err);
  console.log(body);
});

// Get all servers.
cloudSigma.get("/servers/", function(err, response, body) {
  console.log(err);
  console.log(body);
});

// Update server attributes.
var data = {
    "cpu": 1000,
    "mem": 1073741824,
    "name": "test-server",
    "vnc_password": "supersecret"
};
cloudSigma.put("/servers/" + server_uuid + "/", data, function(err, response, body) {
  console.log(err);
  console.log(body);
});

// Start a server.
cloudSigma.post("/servers/" + server_uuid + "/action/", null, {do: 'start'}, function(err, response, body) {
  console.log(err);
  console.log(body);
});

// Create a new disk drive.
var data = {
    "media": "disk",
    "name": "test_drive_0",
    "size": 1073741824
}
cloudSigma.post("/drives/", data, function(err, response, body) {
  console.log(err);
  console.log(body);
});

// Delete a disk drive.
cloudSigma.delete("/drives/" + drive_uuid + "/", function(err, response, body) {
  console.log(err);
  console.log(body);
});

Function signatures

options(callback)

get(path, callback)
get(path, queryOpts, callback)

post(path, data, callback)
post(path, data, queryOpts, callback)

put(path, data, callback)
put(path, data, queryOpts, callback)

delete(path, callback)