melsom/proxmoxve

一个简单的PHP 5.5+ Proxmox API客户端。

v4.0.0 2018-07-29 18:25 UTC

This package is not auto-updated.

Last update: 2024-10-02 06:07:27 UTC


README

这个 PHP 5.5+ 库允许您通过API与您的Proxmox服务器交互。

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

我不再积极维护这个库了(我已经放弃了PHP),但 API相当稳定,如果它不符合您的需求,请查看分支或最好是创建一个PR添加您缺失的功能,如果您有兴趣,我可以将项目转交给您。

寻找PHP 5.3版本的库?发布版本 中搜索适合您需求的版本,我推荐使用 2.1.1 版本。

安装

建议使用 Composer 进行安装,如果您还没有 Composer,您在等什么呢?

在您的项目根目录下执行以下操作

$ composer require zzantares/proxmoxve ~4.0

或者将其添加到您的 composer.json 文件中

{
    "require": {
        "zzantares/proxmoxve": "~4.0"
    }
}

然后执行安装

$ composer install --no-dev

用法

<?php

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

// Use the library namespace
use ProxmoxVE\Proxmox;

// Create your credentials array
$credentials = [
    'hostname' => 'proxmox.server.com',  // Also can be an IP
    'username' => 'root',
    'password' => 'secret',
];

// realm and port defaults to 'pam' and '8006' but you can specify them like so
$credentials = [
    'hostname' => 'proxmox.server.com',
    'username' => 'root',
    'password' => 'secret',
    'realm' => 'pve',
    'port' => '9009',
];

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

$allNodes = $proxmox->get('/nodes');

print_r($allNodes);

示例输出

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [disk] => 2539465464
                    [cpu] => 0.031314446882002
                    [maxdisk] => 30805066770
                    [maxmem] => 175168446464
                    [node] => mynode1
                    [maxcpu] => 24
                    [level] =>
                    [uptime] => 139376
                    [id] => node/mynode1
                    [type] => node
                    [mem] => 20601992182
                )

        )

)

使用MailGateway API

此库也可以用来通过更改凭据数组中的 system 条目与 Proxmox MailGateway API 通信。

<?php

$credentials = [
    'hostname' => 'proxmox.server.com',  // Also can be an IP
    'username' => 'root',
    'password' => 'secret',
    'system' => 'pmg', // Defaults to 'pve' for the PVE API. Use 'pmg' for the PMG API.
];

想了解更多技巧吗?

查看我们的 wiki

文档

在您的Proxmox客户端对象上,您可以使用 get()create()set()delete() 函数来操作在 PVE2 API文档 中指定的所有资源,参数作为关联数组中的第二个参数传递。

我可以与哪些资源或路径交互以及如何操作?

在您的Proxmox服务器上,您可以使用 pvesh CLI工具 来管理所有pve资源,您可以使用此库以与使用pvesh工具相同的方式使用。例如,您可以运行 pvesh,然后,屏幕消息应该提示您,您可以输入 help [path] [--verbose] 来查看如何使用路径以及应该传递给它哪些参数。确保在 Proxmox wiki 上阅读有关 pvesh CLI工具 的信息。

Proxmox API是如何工作的?

请查阅 ProxmoxVE API 文章,位于 Proxmox wiki

我觉得你在隐藏一些酷炫的技巧!我需要更多的文档!

请查看项目的 wiki 以获取更详细的文档,我发誓,它都在那里...我想。

许可证

本项目采用MIT许可证发布。有关详细信息,请参阅附带的 LICENSE 文件。

想贡献吗?

感谢!请查看CONTRIBUTING,您可以轻松设置开发环境,让您立即开始!