mrkampf / proxmox-ve
Proxmox VE API 客户端
0.5.3
2024-05-01 09:10 UTC
Requires
- php: ^8.0|^8.1|^8.2
- ext-json: *
- lib-curl: *
- guzzlehttp/guzzle: *
This package is auto-updated.
Last update: 2024-08-31 00:27:18 UTC
README
这个 PHP 8+ Proxmox 库允许您通过 API 与您的 Proxmox PVE 服务器和集群交互。
如果您发现任何错误、拼写错误或发现某些东西没有按预期工作,请打开一个 问题。我会尽快发布修复程序。
入门指南
推荐的安装方法是使用 Composer。如果您没有 Composer,您在等什么?
在您的项目根目录中执行以下操作
$ composer require mrkampf/proxmox-ve
或者将其添加到您的 composer.json
文件中
{ "require": { "mrkampf/proxmox-ve": "^0.4.4" } }
然后执行安装
$ composer install --no-dev
示例
从版本 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); // 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());
API 令牌支持
<?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());
自定义 http 客户端示例
<?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.1
<?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());