1. Go to this page and download the library: Download corsinvest/cv4pve-api-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
corsinvest / cv4pve-api-php example snippets
// Require the autoloader
only get/set/create/delete use PveClientBase
$client = new Corsinvest\ProxmoxVE\Api\PveClient("192.168.0.24");
//login check bool
if($client->login('root','password','pam')){
//get version from get method
var_dump($client->get('/version')->getResponse());
// $client->put
// $client->post
// $client->delete
$retPippo=$client->get("/pippo");
echo "\n" . $retPippo->getStatusCode();
echo "\n" . $retPippo->getReasonPhrase();
//loop nodes
foreach ($client->getNodes()->Index()->getResponse()->data as $node) {
echo "\n" . $node->id;
}
//loop vm
foreach ($client->getNodes()->get("pve1")->getQemu()->Vmlist()->getResponse()->data as $vm) {
echo "\n" . $vm->vmid ." - " .$vm->name;
}
//loop snapshots
foreach ($client->getNodes()->get("pve1")->getQemu()->get(100)->getSnapshot()->snapshotList()->getResponse()->data as $snap) {
echo "\n" . $snap->name;
}
//return object
var_dump($client->getVersion()->version()->getResponse());
//disable return object
$client->setResultIsObject(false);
//return array
$retArr = $client->getVersion()->version()->getResponse();
var_dump($retArr);
echo "\n" . $retArr['data']['release'];
//enable return objet
$client->setResultIsObject(true);
//image rrd
$client->setResponseType('png');
echo "<img src='{$client->getNodes()->get("pve1")->getRrd()->rrd('cpu','day')->getResponse()}' \>";
//result json result
$client->setResponseType('json');
var_dump($client->get('/version')->getResponse());
//set connection timeout (by default no timeout)
$client->setTimeout(2)->get('/version')->getResponse();
}
// Require the autoloader
only get/set/create/delete use PveClientBase
$client = new Corsinvest\ProxmoxVE\Api\PveClient("hostname", "8006");
$client->setApiToken("root@pam!mytokenname=<TOKEN COMES HERE>");
echo $client->getVersion();