lumaserv / proxmoxve
A simple PHP 5.5+ Proxmox API client.
Requires
- php: >=5.5
- lib-curl: *
- guzzlehttp/guzzle: ~6.0
Requires (Dev)
- phpunit/phpunit: ~4.1
- squizlabs/php_codesniffer: 1.*
README
This PHP 5.5+ library allows you to interact with your Proxmox server via API.
I'm not actively maintaining this library anymore (I've left PHP behind) but the API is pretty stable, if it doesn't suit your needs take a look at the forks or better yet create a PR to add the things you're missing, if you're interested I can transfer the project to you.
Looking for a PHP 5.3 library version? Search through the releases one that fits your needs, I recommend using the 2.1.1 version.
Installation
Recommended installation is using [Composer], if you do not have [Composer] what are you waiting?
In the root of your project execute the following:
$ composer require lumaserv/proxmoxve ~4.0.4
Or add this to your composer.json
file:
{ "require": { "lumaserv/proxmoxve": "~4.0.4" } }
Then perform the installation:
$ composer install --no-dev
Usage
<?php // Require the autoloader require_once 'vendor/autoload.php'; // Use the library namespace use ProxmoxVE\Proxmox; // Create your credentials array $credentials = [ 'hostname' => 'proxmox.server.com', // Also can be an IP 'username' => 'root', 'password' => 'secret', ]; // realm and port defaults to 'pam' and '8006' but you can specify them like so $credentials = [ 'hostname' => 'proxmox.server.com', 'username' => 'root', 'password' => 'secret', 'realm' => 'pve', 'port' => '9009', ]; // Then simply pass your credentials when creating the API client object. $proxmox = new Proxmox($credentials); $allNodes = $proxmox->get('/nodes'); print_r($allNodes);
Sample output:
Array ( [data] => Array ( [0] => Array ( [disk] => 2539465464 [cpu] => 0.031314446882002 [maxdisk] => 30805066770 [maxmem] => 175168446464 [node] => mynode1 [maxcpu] => 24 [level] => [uptime] => 139376 [id] => node/mynode1 [type] => node [mem] => 20601992182 ) ) )
Want to know more nifty tricks?
Checkout our wiki.
License
This project is released under the MIT License. See the bundled LICENSE file for details.
=======
Want to contribute?
Thank you! Take a look at the CONTRIBUTING, you could easily set up a development environment to get you started in no time!
upstream/master [PVE2 API Documentation]:http://pve.proxmox.com/pve-docs/api-viewer/index.html [ProxmoxVE API]:http://pve.proxmox.com/wiki/Proxmox_VE_API [Proxmox wiki]:http://pve.proxmox.com/wiki [Composer]:https://getcomposer.org/