proxmoxVE
v5.3
Cette bibliothèque PHP 8+ ProxMox permet, d'interagir avec votre serveur et votre cluster ProxMox PVE via l'API.
Vous trouvez des erreurs, des fautes de frappe ou vous détectez que quelque chose ne fonctionne pas comme prévu, veuillez ouvrir un problème. J'essaierai de libérer un correctif dès que possible.
L'installation recommandée utilise le compositeur . Si vous n'avez pas de compositeur , qu'attendez-vous?
Dans la racine de votre projet, exécutez ce qui suit:
$ composer require mrkampf/proxmox-ve Ou ajoutez ceci à votre fichier composer.json :
{
"require" : {
"mrkampf/proxmox-ve" : " ^0.4.4 "
}
}Ensuite, effectuez l'installation:
$ composer install --no-dev <?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 );
// Note: Use "pam" instead of "pve" if you're using Standard Linux PAM authentication.
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
// Read all LXC
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
// Read all LXC for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> lxc ()-> get ());
// Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());
// Read all QEMU for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> qemu ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox API ;
// Then simply pass your credentials when creating the API client object.
$ proxmox = new API ( " hostname " , " USER@REALM!TOKENID " , " aaaaaaaaa-bbb-cccc-dddd-ef0123456789 " , 8006 , false );
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
// Read all LXC
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
// Read all LXC for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> lxc ()-> get ());
// Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());
// Read all QEMU for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> qemu ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
//Example for lazy login
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false , true );
//Login
$ proxmox -> getApi ()-> login ();
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
$ customGuzzleHttpClient = new GuzzleHttp Client ();
//Example for lazy login
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false , false , $ customGuzzleHttpClient );
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());| AVERTISSEMENT: Les options de tableau sont après la version 3.0 n'est plus prise en charge! |
|---|
<?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 ());