proxmoxVE
v5.3
Эта библиотека PHP 8+ Proxmox позволяет взаимодействовать с вашим сервером PVESMOX PVE и кластером через API.
Вы находите какие -либо ошибки, опечатки или обнаруживаете, что что -то не работает, как и ожидалось, откройте проблему. Я постараюсь выпустить исправление как можно скорее.
Рекомендуемая установка использует композитор . Если у вас нет композитора , чего вы ждете?
В корне вашего проекта выполните следующее:
$ composer require mrkampf/proxmox-ve Или добавьте это в свой файл composer.json :
{
"require" : {
"mrkampf/proxmox-ve" : " ^0.4.4 "
}
}Затем выполните установку:
$ 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 ());| Предупреждение: параметры массива после версии 3.0 больше не поддерживается! |
|---|
<?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 ());