Skip to content

icodeforlove/doapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NPM version Downloads

doapi

The doapi module allows you to communicate with the DigitalOcean API V2 from node.js in a promise friendly manner.

It also supports automatic request retries.

Installation

This module is published in NPM:

npm install doapi --save

The --save tells NPM to automatically add it to your package.json file

Usage

// Import a module
var DigitalOceanAPI = require('doapi');

// Create an instance with your API V2 credentials
var api = new DigitalOceanAPI({token: 'my_token'});

// Get things done
api.dropletGetAll().then(function (droplets) {
	console.log(droplets);
});

Config

new DigitalOceanAPI({
	token: 'my_token',
	itemsPerPage: 100, // default=100
	maxRetries: 5, // default=5
	raw: false // default=false
});

Pagination

you can pass pagination params into any method that has a body or query argument.

api.dropletGetAll({per_page: 1, page: 2}).then(function (droplets) {
	console.log(droplets);
});

Raw

if you set raw it will return the full response body with request info and ratelimiting details, the default is false.

api.accountGet(true)

would return

	{
		account: {
			droplet_limit: 25,
			email: 'email@domain.com',
			uuid: 'f5bbaffce3a8792421593a7075b486bafd66672f',
			email_verified: true
		},
		ratelimit: {
			limit: '5000',
			remaining: '4993',
			reset: '1434197547'
		},
		requestinfo: {
			id: 'a24427fd-0d43-9536-a206-zac22d2696e1',
			runtime: '0.038537'
		 }
	}

and with raw set to false (the default), it would return

	{
		droplet_limit: 25,
		email: 'email@domain.com',
		uuid: 'f5bbaffce3a8792421593a7075b486bafd66672f',
		email_verified: true
	}

Debugging

we use the debug module so you can debug the http requests by doing the following

DEBUG=http node myfile.js

image

also all methods enforce type checking so invalid usage would result in errors like this

image

Methods

All methods follow the official API documentation.

Droplets

Account

Regions

Images

SSH keys

Sizes

Domains

Actions

Floating IPs

About

DigitalOcean API V2 wrapper for Node.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •