mrkampf/proxmox-ve

Proxmox VE API Client

0.4.1 2022-01-06 14:55 UTC

This package is auto-updated.

Last update: 2022-06-29 21:37:26 UTC


README

This PHP 8+ Proxmox library allow, to interact with your Proxmox PVE server and cluster via API.

Latest Stable Version Total Downloads Latest Unstable Version License

You find any errors, typos or you detect that something is not working as expected please open an issue. I'll try to release a fix asap.

Getting Started

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 mrkampf/proxmox-ve

Or add this to your composer.json file:

{
    "require": {
        "mrkampf/proxmox-ve": "^0.4.0"
    }
}

Then perform the installation:

$ composer install --no-dev

Example

From version 3.1

<?php
// Require the autoloader
require_once 'vendor/autoload.php';

// Use the library namespace
use Proxmox\PVE;

// Then simply pass your credentials when creating the API client object.
$proxmox = new PVE("hostname", "username", "password", 8006, "pve", false);

//Read all nodes
print_r($proxmox->nodes()->get());

//Read all lxc
print_r($proxmox->nodes()->lxc()->get());

//Read all qemu
print_r($proxmox->nodes()->qemu()->get());

For version 3.1

WARNING: The array options is after version 3.0 no longer supported!
<?php
// Require the autoloader
require_once 'vendor/autoload.php';

// Use the library namespace
use Proxmox\PVE;

/**
 * Connect established (For version 3.0) 
 * 
 * authType and port defaults to 'pam' and '8006' but you can specify them like so
 * 
 * !!! WARNING !!!
 * This variant is after version 3.0 no longer supported
 * 
*/
$credentials = [
    'hostname' => '127.0.0.1',
    'username' => 'root',
    'password' => 'example',
    'authType' => 'pam',
    'port' => '8006',
];

// Then simply pass your credentials when creating the API client object.
$proxmox = new PVE($credentials);

//Read all nodes
print_r($proxmox->nodes()->get());

//Read all lxc
print_r($proxmox->nodes()->lxc()->get());

//Read all qemu
print_r($proxmox->nodes()->qemu()->get());