Базовый маршрут
GET /fr/api/config/{resource} # Lister toutes les entrées
GET /fr/api/config/{resource}/{id} # Lire une entrée
POST /fr/api/config/{resource} # Créer (JSON body)
PUT /fr/api/config/{resource}/{id} # Mettre à jour (JSON body complet)
PATCH /fr/api/config/{resource}/{id} # Mise à jour partielle
DELETE /fr/api/config/{resource}/{id} # Supprimer
# Export OpenAPI
GET /fr/api/openApi
Предоставляемые ресурсы
- tags —
{ name, color, background } — hard delete
- clients —
{ libelle, logo, is_monitored } — hard delete (защита на id=99)
- environments —
{ libelle, key, class, letter } — hard delete при id > 6
- aliases —
{ id_mysql_server, dns, port }
- storage-areas —
{ ip, port, path, libelle, ssh_key, géolocalisation }
- servers —
{ ip, port, hostname, ssl, ssh, is_proxy, is_vip, is_monitored } — soft delete через is_deleted=1
- ssh-keys —
{ type ED25519/RSA, fingerprint, pub/privée }
Примеры cURL
# Lister tous les serveurs
curl -s http://pmacontrol/fr/api/config/servers | jq
# Ajouter un tag
curl -s -X POST http://pmacontrol/fr/api/config/tags \
-H "Content-Type: application/json" \
-d '{"name":"critical","color":"#ffffff","background":"#d9534f"}'
# Mettre à jour un serveur
curl -s -X PATCH http://pmacontrol/fr/api/config/servers/42 \
-H "Content-Type: application/json" \
-d '{"is_monitored": true}'
# Supprimer un alias
curl -s -X DELETE http://pmacontrol/fr/api/config/aliases/15