elemental-api

0.1.0 • Public • Published

Build Status Coverage Status Dependency Status Development Dependency Status Known Vulnerabilities XO code style

elemental-api

Node client library and CLI to access REST APIs on AWS Elemental appliances & software

Install

NPM

API

Usage

const ElementalApi = require('elemental-api');

const api = new ElementalApi('192.168.0.99', 'john', 'ZSe9F1JmSeqKbJax7Jv');

// GET
api.get('/nodes')
.then((body) => {
  // XML text
})
.catch((err) => {
  // Error response
});

constructor(host, user, pass[, options])

Creates a new ElementalApi object.

params

Name Type Required Default Description
host string Yes N/A Appliance's host address (FQDN or IP addr)
user string Yes N/A Your login user name
pass string Yes N/A Your secret API key
options object No {} See below

options

Name Type Default Description
secure boolean false If true, the library sends https request
expirationTime number 3600 TTL period for each API call
concurrency number 5 Limits the number of concurrent API calls. The valid range is 1~10

return value

An instance of ElementalApi.

get(path[, params, options])

Send a [GET] request

params

Name Type Required Default Description
path string Yes N/A path part of API call
params object No {} An object that holds key=value pairs of query string
options object No {} See node-fetch's options

return value

A Promise object that resolves with return value

post(path[, params, body, options])

Send a [POST] request

params

Name Type Required Default Description
path string Yes N/A path part of API call
params object No {} An object that holds key=value pairs of query string
body string/Buffer/object No {} Data to send
options object No {} See node-fetch's options

return value

A Promise object that resolves with return value

put(path[, params, body, options])

Send a [PUT] request

params

Name Type Required Default Description
path string Yes N/A path part of API call
params object No {} An object that holds key=value pairs of query string
body string/Buffer/object No {} Data to send
options object No {} See node-fetch's options

return value

A Promise object that resolves with return value

delete(path[, params, options])

Send a [DELETE] request

params

Name Type Required Default Description
path string Yes N/A path part of API call
params object No {} An object that holds key=value pairs of query string
options object No {} See node-fetch's options

return value

A Promise object that resolves with return value

Environment variables

Name Description
HTTP_PROXY Proxy server's IP address / FQDN + port number. ex. localhost:8080 Referenced by get, post, put, and delete

Configure (for CLI)

Put a config file in your work directory

 $ mkdir config
 $ vi config/default.json
 {
   "host":          "xxxx.cloud.elementaltechnologies.com",
   "secure": true,
   "auth": {
     "user":        "Your login user name",
     "api_key":     "Your secret API key"
   }
 }

CLI

Usage:
    ele [options] command [parameters]
Options:
  -h, --help    Print help
  -v, --version Print version
Commands:
  raw             Directly calls REST API
Syntax:
  ele raw method path body
Example:
  ele -h
  ele -v
  ele raw get /nodes
Parameters:
  method        HTTP method (GET/POST/PUT/DELETE)
  path          Path starts with '/'
  body          HTTP request body

Readme

Keywords

none

Package Sidebar

Install

npm i elemental-api

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

14.8 kB

Total Files

9

Last publish

Collaborators

  • kuu