pvea_proxmox

1.0.1 • Public • Published

pvea_proxmox

pvea_proxmox (pronounced pea-va) is a modern and up-to-date node.js client for the proxmox api. Note: This is a reupload of pvea package of Jade Cole!

Proxmox API wiki.
Proxmox API documentation.

Installation:

npm i pvea_proxmox or yarn add pvea_proxmox.

To-Do List:

  • [X] Basic functionality.

    • [X] Authenticate with Proxmox VE API.
    • [X] Check if authentication token is expired.
    • [X] Get api version.
  • [X] storage

    • [X] getStorage(param)
    • [X] createStorage(param)
    • [X] getStorageConfig(storage)
    • [X] deleteStorageConfig(storage, param)
    • [X] getStorageStatus(node, storage)
    • [X] getStorageRrdData(node, storage, param)
    • [X] getStorageContent(node, storage, param)
    • [X] allocateDiskImage(node, storage, param)
    • [X] getVolumeAttributes(node, storage, volume, param)
    • [X] deleteVolume(node, storage, volume, param)
    • [X] createBackup(node, param)
    • [X] getBackupConfig(node, param)
  • [X] pools

    • [X] getPools()
    • [X] getPoolConfig(poolid)
    • [X] deletePoolConfig(poolid)
    • [X] updatePoolConfig(poolid, param)
  • [X] nodes

    • [X] getNodes()
    • [X] wakeNode(node)
    • [X] getNodeVersion(node)
    • [X] getNodeTime(node)
    • [X] updateNodeTimeZone(node, param)
    • [X] getNodeLog(node, param)
    • [X] getNodeSubscriptionStatus(node)
    • [X] deleteNodeSubscriptionKey(node)
    • [X] setNodeSubscriptionKey(node)
    • [X] updateNodeSubscriptionKey(node)
    • [X] stopAll(node, param)
    • [X] getNodeStatus(node)
    • [X] rebootNode(node)
    • [X] shutdownNode(node)
    • [X] startAll(node, param)
    • [X] getNodeRrdData(node)
    • [X] getNodeReport(node)
    • [X] getNodeNetstat(node)
    • [X] migrateAll(node, param)
    • [X] getNodeJournal(node, param)
    • [X] getNodeHostname(node)
    • [X] setNodeHostname(node, param)
    • [X] getNodeDnsSettings(node)
    • [X] setNodeDnsSettings(node, param)
    • [X] listNodeCpu(node)
    • [X] getNodeConfig(node, param)
    • [X] updateNodeConfig(node, param)
    • [X] getNodeAplInfo(node)
  • [X] tasks

    • [X] getNodeTasks(node, param)
    • [X] stopTask(node, upid)
    • [X] getTaskLog(node, upid, param)
    • [X] getTaskStatus(node, upid)
  • [X] services

    • [X] reloadService(node, service)
    • [X] restartService(node, service)
    • [X] startService(node, service)
    • [X] stopService(node, service)
    • [X] getServiceState(node, service)
    • [X] listServices(node)
  • [X] lxc

    • [X] listLxcContainers(node)
    • [X] createLxcContainer(node, param)
    • [X] createLxcTemplate(node, vmid)
    • [X] getLxcRRDData(node, vmid, param)
    • [X] resizeLxcContainer(node, vmid, param)
    • [X] getLxcPending(node, vmid)
    • [X] getLxcConfig(node, vmid)
    • [X] cloneLxcContainer(node, vmid, param)
    • [X] suspendLxcContainer(node, vmid)
    • [X] stopLxcContainer(node, vmid)
    • [X] resumeLxcContainer(node, vmid)
    • [X] rebootLxcContainer(node, vmid)
    • [X] getLxcContainerStatus(node, vmid)
    • [X] deleteLxcContainer(node, vmid, param)
    • [X] getLxcSnapshot(node, vmid)
    • [X] createLxcSnapshot(node, vmid, param)
    • [X] deleteLxcSnapshot(node, vmid, snapName, param)
    • [X] getLxcSnapshotConfig(node, vmid, snapName)
    • [X] updateLxcSnapshotMetadata(node, vmid, snapName, param)
    • [X] rollbackLxcContainer(node, vmid, snapName)
    • [X] getLxcFirewallRefs(node, vmid)
    • [X] getLxcFirewallOptions(node, vmid)
    • [X] setLxcFirewallOptions(node, vmid, param)
    • [X] getLxcFirewallLog(node, vmid, param)
    • [X] getLxcFirewallRules(node, vmid)
    • [X] createLxcFirewallRule(node, vmid, param)
    • [X] getLxcFirewallIPSets(node, vmid)
    • [X] createLxcFirewallIPSet(node, vmid, param)
    • [X] getLxcFirewallAliases(node, vmid)
    • [X] createLxcFirewallAlias(node, vmid, param)
  • [X] qemu

    • [X] listQemuVms(node)
    • [X] getQemuVmConfig(node, vmid)
    • [X] checkQemuVmFeature(node, vmid)
    • [X] getQemuVmMigrationPreconditions(node, vmid)
    • [X] cloneQemuVm(node, vmid, param)
    • [X] suspendQemuVm(node, vmid)
    • [X] stopQemuVm(node, vmid)
    • [X] startQemuVm(node, vmid)
    • [X] shutdownQemuVm(node, vmid)
    • [X] resumeQemuVm(node, vmid)
    • [X] rebootQemuVm(node, vmid)
    • [X] execQemuMonitorCommand(node, vmid, param)
    • [X] moveQemuVmDisk(node, vmid, param)
    • [X] getQemuVmPendingConfig(node, vmid)
    • [X] getQemuSnapshot(node, vmid)
    • [X] createQemuSnapshot(node, vmid, param)
    • [X] deleteQemuSnapshot(node, vmid, snapName, param)
    • [X] getQemuSnapshotConfig(node, vmid, snapName)
    • [X] updateQemuSnapshotMetadata(node, vmid, snapName, param)
    • [X] rollbackQemuVm(node, vmid, snapName)
    • [X] createQemuVm(node, param)
    • [X] getQemuVmCloudinitConfig(node, vmid)
    • [X] makeQemuVmTemplate(node, vmid, param)
    • [X] createQemuVmTermProxy(node, vmid, param)
    • [X] getQemuFirewallRefs(node, vmid)
    • [X] getQemuFirewallOptions(node, vmid)
    • [X] setQemuFirewallOptions(node, vmid, param)
    • [X] getQemuFirewallLog(node, vmid, param)
    • [X] getQemuFirewallRules(node, vmid)
    • [X] createQemuFirewallRule(node, vmid, param)
    • [X] getQemuFirewallIPSets(node, vmid)
    • [X] createQemuFirewallIPSet(node, vmid, param)
    • [X] createQemuFirewallIPSet(node, vmid, param)
    • [X] unlinkQemuVmDisk(node, vmid, param)
    • [X] createQemuVmVncProxy(node, vmid, param)
    • [X] getQemuRRDData(node, vmid, param)
    • [X] execGetQemuAgentCommand(node, vmid, command)
    • [X] execPostQemuAgentCommand(node, vmid, command, params)
    • [X] deleteQemuVm(node, vmid, param)
    • [X] getCurrentQemuVmState(node, vmid)
  • [ ] Write documentation for this library.

Example:

// pvea library.
const pveajs = require("pvea")

// create a new instance, you can use this to connect to multiple nodes if you want.
const pvea = new pveajs('hostname', 'user@auth', 'password')

// our main application.
async function main() {
    // get version of proxmox API.
    pvea.apiVersion().then( res => {
        // log result.
        console.log(res)
    })
}

// execute the application.
pvea.run(main)

Contributors

Thanks to Creator of this package Jade, uqlel, andressantamaria2003, and simonfrfr.

Notes

Thanks to Creator of this package ttarvis for writing node-proxmox! Code was used for reference and function names are taken from it. Also thanks to alo-is for writing another module also called node-proxmox.

Readme

Keywords

Package Sidebar

Install

npm i pvea_proxmox

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

40.5 kB

Total Files

4

Last publish

Collaborators

  • redodge