Académique Documents
Professionnel Documents
Culture Documents
Api Prxmox
Api Prxmox
There are several PHP libraries available that make it easier to interact with
the Proxmox API. These libraries typically provide a higher-level abstraction
over the raw API calls, making it easier to write code that is more readable
and maintainable.
PHP
<?php
require 'vendor/autoload.php';
use Proxmox\Api\Client;
If you prefer more control over your code, you can also interact with the
Proxmox API directly using the raw HTTP calls. This involves making HTTP
requests to the Proxmox API endpoints and parsing the JSON responses.
Here is an example of how to create a new VM using the raw API calls:
PHP
<?php
$url = 'https://proxmox.example.com/api/v2/nodes/node1/vm';
$data = json_encode([
'name' => 'my-vm',
'memory' => 1024,
'cpus' => 2,
'storage' => [
'vdisk0' => [
'storage' => 'local-lvm',
'file' => 'vm-101:disk-1',
],
'cloudinit' => [
'url' => 'http://cloud.example.com/init.iso',
],
],
]);
$options = [
'http' => [
'header' => [
'Content-Type: application/json',
'Authorization: Basic ' .
base64_encode('root@proxmox:mypassword'),
],
'method' => 'POST',
'content' => $data,
],
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($response['error']) {
echo "Error creating VM: " . $response['error'];
} else {
echo "VM created with ID: " . $response['data']['vmid'];
}
Utilisez ce code avec précaution.
content_copy
The best method for you will depend on your specific needs and
preferences. If you are new to the Proxmox API, or if you need a library that
provides a higher-level of abstraction, then a dedicated PHP library is a
good option. However, if you prefer more control over your code, or if you
need to perform more complex operations, then using the raw API calls
may be a better choice.
Sources
info
1. github.com/AlinaRinn/ArchiVision
share
more_vert
1. Proxmox/ProxmoxVE-API-PHP
(https://github.com/MrKampf/proxmoxVE)
2. Corsinvest/cv4pve-api-php (https://github.com/topics/proxmox-api)
3. imbo/pve-api (https://github.com/MrKampf/proxmoxVE)
Une bibliothèque plus légère et plus simple.
Elle est idéale pour les projets qui n'ont pas besoin de toutes les
fonctionnalités de l'API Proxmox.
Elle est facile à installer et à utiliser.
4. PVE-Manager-API (https://github.com/topics/proxmox-api)
5. proxmox-api-php (https://packagist.org/packages/zzantares/proxmoxve)
J'espère que cela vous aidera à choisir la bonne bibliothèque PHP pour vos
besoins d'interaction avec l'API Proxmox!
share
more_vert
comment utiliser les bibliothèques PHP disponibles qui
facilitent l’interaction avec l’API Proxmox
edit
Afficher les suggestions
volume_up
L'utilisation des bibliothèques PHP pour interagir avec l'API Proxmox varie
en fonction de la bibliothèque spécifique que vous choisissez. Cependant,
les étapes générales sont les suivantes:
1. Installer la bibliothèque
Bash
composer require proxmox/proxmoxve-api-php
Utilisez ce code avec précaution.
content_copy
2. Inclure la bibliothèque
Une fois la bibliothèque installée, vous devez l'inclure dans votre fichier
PHP. Par exemple, pour inclure la bibliothèque Proxmox/ProxmoxVE-API-
PHP, vous pouvez ajouter la ligne suivante au début de votre fichier PHP:
PHP
<?php
require 'vendor/autoload.php';
use Proxmox\Api\Client;
Utilisez ce code avec précaution.
content_copy
Une fois la bibliothèque incluse, vous pouvez créer une instance du client
API. Cela vous permettra d'effectuer des appels à l'API Proxmox. Par
exemple, pour créer une instance du client API Proxmox/ProxmoxVE-API-
PHP, vous pouvez utiliser le code suivant:
PHP
$client = new Client('proxmox.example.com', '443', 'root@proxmox',
'mypassword');
Utilisez ce code avec précaution.
content_copy
Une fois que vous avez une instance du client API, vous pouvez effectuer
des appels à l'API Proxmox. La bibliothèque que vous utilisez fournira des
méthodes pour effectuer différentes opérations API. Par exemple, pour
créer une nouvelle VM avec la bibliothèque Proxmox/ProxmoxVE-API-PHP,
vous pouvez utiliser le code suivant:
PHP
$vmId = $client->nodes()->createVm('my-vm', 1024, 2, 'vdisk0:local-lvm:vm-
101:disk-1', 'cloudinit:http://cloud.example.com/init.iso');
Les appels à l'API Proxmox renvoient des réponses JSON. Vous devez
analyser ces réponses pour obtenir les données dont vous avez besoin. La
bibliothèque que vous utilisez fournira des outils pour analyser les réponses
JSON. Par exemple, pour obtenir l'ID de la VM à partir de la réponse de
création de VM ci-dessus, vous pouvez utiliser le code suivant:
PHP
$response = json_decode($vmId, true);
$vmId = $response['data']['vmid'];
Utilisez ce code avec précaution.
content_copy
Ressources supplémentaires