pve-api

2.1.0 • Public • Published

pve-api

Introduction

pve-api is designed to be easy to use by straight up following the structure of the Proxmox VE API found at the following link: Proxmox VE API.

You can easily build the function to call for a given route by looking at the Proxmox VE API viewer.

Here's an example that shows how to get the current configuration of a running LXC

The API viewer's path is:

/nodes/{node}/lxc/{vmid}/config

pve-api's approach is:

let lxcConfig = pve_api.Nodes.Node('NODDID').Lxc.Vmid('VMID').Config.Get({ ...params });

Why modular?

pve-api was designed to be modular for a simple and logical reason: you won't always need the full feature set of a library.

This is why pve-api was designed and sub-divided into five smaller modules, each representing a main route on the PVE API viewer, that is: /access, /nodes, /cluster, /pools and /storage.

Note: the /cluster nodes is still under development and thus not available.

Usage

In order to use pve-api you're required to have npm installed. Right now the library is developed and tested under npm version 8.1.0.

Having npm installed, you can install pve-api by executing the following command under your project's folder:

npm install pve-api

From then on you can start using by including it in your projects:

// Using the all-in-one API Module
const pveapi = require('pve-api')(
        uname, // Username
        pwd,   // Password
        realm, // REALM of the User(PAM, PVE Auth, OpenID, ...)
        host,  // Hostname or IPv4
        verboseLevel // Verbosity of messages - default is 0(only errors and criticals)
    );

// Using the stand-alone API Module
const pve_nodes_api = require('pve-nodes-api')(
    uname,  // Username
    pwd,    // Password
    realm,  // REALM of the User(PAM, PVE Auth, OpenID, ...)
    host,   // Hostname or IPv4
    verboseLevel // Verbosity of messages - default is 0(only errors and criticals)
);

Where:

  • username: is the User you use to login to Proxmox VE.
  • password: is the User's password
  • realm: by default it's PAM.
  • host: hostname or IPv4 of the server hosting Proxmox VE
  • verboseLevel:
    • 0(default): Errors, Criticals
    • 1: Warnings, Errors, Criticals
    • 2: Info, Warnings, Errors, Criticals
    • 3: Debug, Info, Warnings, Errors, Criticals

In progress

  • [ ] pve-api-cluster module
  • [ ] Possibility to make requests using an API Token/Key
  • [ ] Tests
  • [ ] Cleaner codebase and documentation
  • [ ] Callbacks

Readme

Keywords

Package Sidebar

Install

npm i pve-api

Weekly Downloads

5

Version

2.1.0

License

MIT

Unpacked Size

145 kB

Total Files

13

Last publish

Collaborators

  • denny0754