# cloudsigma

> Dead simple wrapper for the CloudSigma API

Latest version **0.0.4** (published 2018-11-15) · MIT license · 0 weekly downloads

## Install

```sh
npm install cloudsigma
pnpm add cloudsigma
yarn add cloudsigma
bun add cloudsigma
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.4 |
| Published | 2018-11-15 |
| First published | 2018-11-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 6.3 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Chad Phillips |
| Maintainers | thehunmonkgroup |
| Keywords | cloudsigma |

## Links

- npm: https://www.npmjs.com/package/cloudsigma
- Repository: https://github.com/stirlab/node-cloudsigma
- Homepage: https://github.com/stirlab/node-cloudsigma#readme
- Issues: https://github.com/stirlab/node-cloudsigma/issues
- npm.io page: https://npm.io/package/cloudsigma

## Dependencies (1)

- [request](https://npm.io/package/request.md) 2.88.0

## Recent versions

- 0.0.4 (latest) — 2018-11-15

## README

# Overview

Dead simple [Node.js](https://nodejs.org) wrapper for the
[CloudSigma API](https://cloudsigma-docs.readthedocs.io/en/latest).

## Installation (for now)

No npm package yet...

Take it straight from Github:

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

## Usage

The library leverages the [request](https://www.npmjs.com/package/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](https://cloudsigma-docs.readthedocs.io/en/latest).

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

```javascript

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

```javascript
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)
```

---
_Source: https://npm.io/package/cloudsigma · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
