Giter VIP home page Giter VIP logo

Proxmoxer: A Python wrapper for Proxmox REST API

master branch: master_build_status master_coverage_status pypi_version pypi_downloads

develop branch: develop_build_status develop_coverage_status

Proxmoxer is a python wrapper around the Proxmox REST API v2. It currently supports the Proxmox services of Proxmox Virtual Environment (PVE), Proxmox Mail Gateway (PMG), and Proxmox Backup Server (PBS).

It was inspired by slumber, but it is dedicated only to Proxmox. It allows not only REST API use over HTTPS, but the same api over ssh and pvesh utility.

Like Proxmoxia, it dynamically creates attributes which responds to the attributes you've attempted to reach.

Full Documentation is available at https://proxmoxer.github.io/docs/

Migrating to version 2

Full instructions for the minimal steps needed to update to version 2 can be found in Migration Docs.

Installation

pip install proxmoxer

To use the 'https' backend, install requests

pip install requests

To use the 'ssh_paramiko' backend, install paramiko

pip install paramiko

To use the 'openssh' backend, install openssh_wrapper

pip install openssh_wrapper

Short usage information

The first thing to do is import the proxmoxer library and create ProxmoxAPI instance.

from proxmoxer import ProxmoxAPI

proxmox = ProxmoxAPI(
    "proxmox_host", user="admin@pam", password="secret_word", verify_ssl=False
)

This will connect by default to PVE through the 'https' backend.

Note: ensure you have the required libraries (listed above) for the connection method you are using

Queries are exposed via the access methods get, post, put and delete. For convenience two synonyms are available: create for post, and set for put.

Using the paths from the PVE API v2, you can create API calls using the access methods above.

>>> for node in proxmox.nodes.get():
...     for vm in proxmox.nodes(node["node"]).qemu.get():
...         print(f"{vm['vmid']}. {vm['name']} => {vm['status']}")
...

141. puppet-2.london.example.com => running
101. munki.london.example.com => running
102. redmine.london.example.com => running
140. dns-1.london.example.com => running
126. ns-3.london.example.com => running
113. rabbitmq.london.example.com => running

See Changelog in CHANGELOG.md

proxmoxer's Projects

docs icon docs

Documentation for the proxmoxer python library

proxmoxer icon proxmoxer

python wrapper for Proxmox API v2 (https://pve.proxmox.com/pve-docs/api-viewer/index.html)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.