0.1.0 • Published 4 years ago

elemental-api v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

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

NameTypeRequiredDefaultDescription
hoststringYesN/AAppliance's host address (FQDN or IP addr)
userstringYesN/AYour login user name
passstringYesN/AYour secret API key
optionsobjectNo{}See below

options

NameTypeDefaultDescription
securebooleanfalseIf true, the library sends https request
expirationTimenumber3600TTL period for each API call
concurrencynumber5Limits 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

NameTypeRequiredDefaultDescription
pathstringYesN/Apath part of API call
paramsobjectNo{}An object that holds key=value pairs of query string
optionsobjectNo{}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

NameTypeRequiredDefaultDescription
pathstringYesN/Apath part of API call
paramsobjectNo{}An object that holds key=value pairs of query string
bodystring/Buffer/objectNo{}Data to send
optionsobjectNo{}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

NameTypeRequiredDefaultDescription
pathstringYesN/Apath part of API call
paramsobjectNo{}An object that holds key=value pairs of query string
bodystring/Buffer/objectNo{}Data to send
optionsobjectNo{}See node-fetch's options

return value

A Promise object that resolves with return value

delete(path[, params, options])

Send a DELETE request

params

NameTypeRequiredDefaultDescription
pathstringYesN/Apath part of API call
paramsobjectNo{}An object that holds key=value pairs of query string
optionsobjectNo{}See node-fetch's options

return value

A Promise object that resolves with return value

Environment variables

NameDescription
HTTP_PROXYProxy 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
0.1.0

4 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago