Skip to content
This repository has been archived by the owner on Aug 5, 2022. It is now read-only.

sakura-internet/node-sacloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-sacloud (sacloud)

A node.js library for SAKURA Internet Cloud API.

Install

npm install --save sacloud

Getting started

Load and create a client instance:

const sacloud = require("sacloud");

const client = sacloud.createClient({
  accessToken        : 'account_access_token_here',
  accessTokenSecret  : '********',
  disableLocalizeKeys: false,// (optional;default:false) false: lower-camelize the property names in response Object
  debug              : true// (optional;default:false) output debug requests to console.
});

// select zone
const zone = "tk1a";
client.opt.apiRoot = `https://secure.sakura.ad.jp/cloud/zone/${zone}/api/cloud/1.1/`;

Get Servers:

client.createRequest({
  method: 'GET',
  path  : 'server'
}).send((err, result) => {
  
  if (err) {
    throw new Error(err);
  }
  
  console.log( JSON.stringify(result, null, '  ') );
});
Create Server:
const request = client.createRequest({
  method: 'POST',
  path  : 'server',
  body  : {
    Server: {
      Zone       : { ID: 31001 },
      ServerPlan : { ID: 1 },
      Name       : 'test-server',
      Description: 'blah blah blah...',
      Tags       : ['test']
    }
  }
});

request.send((err, result) => {
  
  if (err) {
    throw new Error(err);
  }
  
  console.log(`created successfully! serverId=${result.response.server.id}`);
});

CLI

has been removed on @0.1.0. use usacloud.

API Documentation

see: http://developer.sakura.ad.jp/cloud/api/1.1/