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!
npm i pvea_proxmox
or yarn add pvea_proxmox
.
-
Basic functionality.
- Authenticate with Proxmox VE API.
- Check if authentication token is expired.
- Get api version.
-
storage
- getStorage(param)
- createStorage(param)
- getStorageConfig(storage)
- deleteStorageConfig(storage, param)
- getStorageStatus(node, storage)
- getStorageRrdData(node, storage, param)
- getStorageContent(node, storage, param)
- allocateDiskImage(node, storage, param)
- getVolumeAttributes(node, storage, volume, param)
- deleteVolume(node, storage, volume, param)
- createBackup(node, param)
- getBackupConfig(node, param)
-
pools
- getPools()
- getPoolConfig(poolid)
- deletePoolConfig(poolid)
- updatePoolConfig(poolid, param)
-
nodes
- getNodes()
- wakeNode(node)
- getNodeVersion(node)
- getNodeTime(node)
- updateNodeTimeZone(node, param)
- getNodeLog(node, param)
- getNodeSubscriptionStatus(node)
- deleteNodeSubscriptionKey(node)
- setNodeSubscriptionKey(node)
- updateNodeSubscriptionKey(node)
- stopAll(node, param)
- getNodeStatus(node)
- rebootNode(node)
- shutdownNode(node)
- startAll(node, param)
- getNodeRrdData(node)
- getNodeReport(node)
- getNodeNetstat(node)
- migrateAll(node, param)
- getNodeJournal(node, param)
- getNodeHostname(node)
- setNodeHostname(node, param)
- getNodeDnsSettings(node)
- setNodeDnsSettings(node, param)
- listNodeCpu(node)
- getNodeConfig(node, param)
- updateNodeConfig(node, param)
- getNodeAplInfo(node)
-
tasks
- getNodeTasks(node, param)
- stopTask(node, upid)
- getTaskLog(node, upid, param)
- getTaskStatus(node, upid)
-
services
- reloadService(node, service)
- restartService(node, service)
- startService(node, service)
- stopService(node, service)
- getServiceState(node, service)
- listServices(node)
-
lxc
- listLxcContainers(node)
- createLxcContainer(node, param)
- createLxcTemplate(node, vmid)
- getLxcRRDData(node, vmid, param)
- resizeLxcContainer(node, vmid, param)
- getLxcPending(node, vmid)
- getLxcConfig(node, vmid)
- cloneLxcContainer(node, vmid, param)
- suspendLxcContainer(node, vmid)
- stopLxcContainer(node, vmid)
- resumeLxcContainer(node, vmid)
- rebootLxcContainer(node, vmid)
- getLxcContainerStatus(node, vmid)
- deleteLxcContainer(node, vmid, param)
- getLxcSnapshot(node, vmid)
- createLxcSnapshot(node, vmid, param)
- deleteLxcSnapshot(node, vmid, snapName, param)
- getLxcSnapshotConfig(node, vmid, snapName)
- updateLxcSnapshotMetadata(node, vmid, snapName, param)
- rollbackLxcContainer(node, vmid, snapName)
- getLxcFirewallRefs(node, vmid)
- getLxcFirewallOptions(node, vmid)
- setLxcFirewallOptions(node, vmid, param)
- getLxcFirewallLog(node, vmid, param)
- getLxcFirewallRules(node, vmid)
- createLxcFirewallRule(node, vmid, param)
- getLxcFirewallIPSets(node, vmid)
- createLxcFirewallIPSet(node, vmid, param)
- getLxcFirewallAliases(node, vmid)
- createLxcFirewallAlias(node, vmid, param)
-
qemu
- listQemuVms(node)
- getQemuVmConfig(node, vmid)
- checkQemuVmFeature(node, vmid)
- getQemuVmMigrationPreconditions(node, vmid)
- cloneQemuVm(node, vmid, param)
- suspendQemuVm(node, vmid)
- stopQemuVm(node, vmid)
- startQemuVm(node, vmid)
- shutdownQemuVm(node, vmid)
- resumeQemuVm(node, vmid)
- rebootQemuVm(node, vmid)
- execQemuMonitorCommand(node, vmid, param)
- moveQemuVmDisk(node, vmid, param)
- getQemuVmPendingConfig(node, vmid)
- getQemuSnapshot(node, vmid)
- createQemuSnapshot(node, vmid, param)
- deleteQemuSnapshot(node, vmid, snapName, param)
- getQemuSnapshotConfig(node, vmid, snapName)
- updateQemuSnapshotMetadata(node, vmid, snapName, param)
- rollbackQemuVm(node, vmid, snapName)
- createQemuVm(node, param)
- getQemuVmCloudinitConfig(node, vmid)
- makeQemuVmTemplate(node, vmid, param)
- createQemuVmTermProxy(node, vmid, param)
- getQemuFirewallRefs(node, vmid)
- getQemuFirewallOptions(node, vmid)
- setQemuFirewallOptions(node, vmid, param)
- getQemuFirewallLog(node, vmid, param)
- getQemuFirewallRules(node, vmid)
- createQemuFirewallRule(node, vmid, param)
- getQemuFirewallIPSets(node, vmid)
- createQemuFirewallIPSet(node, vmid, param)
- createQemuFirewallIPSet(node, vmid, param)
- unlinkQemuVmDisk(node, vmid, param)
- createQemuVmVncProxy(node, vmid, param)
- getQemuRRDData(node, vmid, param)
- execGetQemuAgentCommand(node, vmid, command)
- execPostQemuAgentCommand(node, vmid, command, params)
- deleteQemuVm(node, vmid, param)
- getCurrentQemuVmState(node, vmid)
-
Write documentation for this library.
// 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)
Thanks to Creator of this package Jade, uqlel, andressantamaria2003, and simonfrfr.
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.