leopardslab / nodecloud-legacy

[DEPERECATED] REFER: nodecloud | The Node.js API for open cloud
Apache License 2.0
55 stars 101 forks source link
aws gcp javascript nodejs npm

Node Cloud Logo

NodeCloud

npm version Hex.pm Codacy Badge Build Status

NodeCloud is a standard library to get a single API among common cloud service providers (Ex. AWS, GCP, Azure.. ). This will make building products among multiple cloud services and its services easier for the developer.

Install

npm install nodecloud
       or
yarn add nodecloud

Service Providers

Service Types

Service Category Service AWS GCP
Compute IaaS EC2 Compute Engine
Containers ECS -
Storage Object Storage S3 Cloud Storage
Block Storage EBS Persistent Disks
Networking Load Balancer ELB -
Peering Direct Connect -
DNS Route53 Google DNS
Databases RDBMS RDS -
NoSQL: key-value DynamoDB Cloud Datastore
NoSQL: indexed - Cloud Datastore
Security/ Authorization IAM AWS IAM -
Serverless Functions AWS Lambda -

Usage

const nodeCloud = require("nodecloud");
// AWS
const ncAWS = nodeCloud.getProvider("AWS");
const options = {
  apiVersion: "2016-11-15"
};

const params = {
  ImageId: "ami-10fd7020", // amzn-ami-2011.09.1.x86_64-ebs
  InstanceType: "t1.micro",
  MinCount: 1,
  MaxCount: 1
};
const instanceParams = {
  Key: "Name",
  Value: "Node Cloud demo"
};

const ec2 = ncAWS.compute(options);
ec2
  .createInstance(params, instanceParams)
  .then(res => {
    console.log(`All done ! ${res}`);
  })
  .catch(err => {
    console.log(`Oops something happened ${err}`);
  });

Development setup

$ git clone https://github.com/cloudlibz/nodecloud
$ cd nodecloud
$ yarn install

Run unit tests

$ yarn test