Files
jarvis-home/skills/python/proxmox-ve/skill.json
T
2026-08-29 17:02:35 +02:00

276 lines
5.9 KiB
JSON

{
"protocol": "jarvis.skill.v1",
"id": "proxmox.ve",
"name": "Proxmox VE",
"version": "1.0.0",
"description": "Proxmox-VE-Cluster- und Guest-Steuerung über die REST API.",
"runtime": {
"type": "process",
"command": "python3",
"args": [
"main.py"
],
"timeout_ms": 15000,
"env_from": [
"PROXMOX_BASE_URL",
"PROXMOX_TOKEN_ID",
"PROXMOX_TOKEN_SECRET",
"PROXMOX_VERIFY_TLS"
]
},
"permissions": {
"network": true,
"system_exec": true
},
"actions": [
{
"name": "version",
"description": "Prüft die Proxmox-API und liefert die Version.",
"input_schema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"output_schema": {
"type": "object"
}
},
{
"name": "list_nodes",
"description": "Listet Proxmox-Nodes samt Status und Ressourcen.",
"input_schema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"output_schema": {
"type": "object",
"properties": {
"nodes": {
"type": "array",
"items": {
"type": "object"
}
},
"count": {
"type": "integer"
}
},
"required": [
"nodes",
"count"
],
"additionalProperties": false
}
},
{
"name": "list_guests",
"description": "Listet QEMU-VMs und LXC-Container clusterweit.",
"input_schema": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"status": {
"type": "string"
}
},
"additionalProperties": false
},
"output_schema": {
"type": "object",
"properties": {
"guests": {
"type": "array",
"items": {
"type": "object"
}
},
"count": {
"type": "integer"
}
},
"required": [
"guests",
"count"
],
"additionalProperties": false
}
},
{
"name": "guest_status",
"description": "Liest den aktuellen Status einer QEMU-VM oder eines LXC-Containers.",
"input_schema": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"guest_type": {
"type": "string",
"enum": [
"qemu",
"lxc"
]
},
"vmid": {
"type": "integer"
}
},
"required": [
"node",
"guest_type",
"vmid"
],
"additionalProperties": false
},
"output_schema": {
"type": "object"
}
},
{
"name": "start_guest",
"description": "Startet eine QEMU-VM oder einen LXC-Container.",
"mutates": true,
"requires_confirmation": true,
"input_schema": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"guest_type": {
"type": "string",
"enum": [
"qemu",
"lxc"
]
},
"vmid": {
"type": "integer"
}
},
"required": [
"node",
"guest_type",
"vmid"
],
"additionalProperties": false
},
"output_schema": {
"type": "object"
}
},
{
"name": "shutdown_guest",
"description": "Fährt eine QEMU-VM oder einen LXC-Container sauber herunter.",
"mutates": true,
"requires_confirmation": true,
"input_schema": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"guest_type": {
"type": "string",
"enum": [
"qemu",
"lxc"
]
},
"vmid": {
"type": "integer"
}
},
"required": [
"node",
"guest_type",
"vmid"
],
"additionalProperties": false
},
"output_schema": {
"type": "object"
}
},
{
"name": "reboot_guest",
"description": "Startet eine QEMU-VM oder einen LXC-Container neu.",
"mutates": true,
"requires_confirmation": true,
"input_schema": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"guest_type": {
"type": "string",
"enum": [
"qemu",
"lxc"
]
},
"vmid": {
"type": "integer"
}
},
"required": [
"node",
"guest_type",
"vmid"
],
"additionalProperties": false
},
"output_schema": {
"type": "object"
}
},
{
"name": "snapshot_guest",
"description": "Erstellt einen Proxmox-Snapshot eines Guests.",
"mutates": true,
"requires_confirmation": true,
"input_schema": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"guest_type": {
"type": "string",
"enum": [
"qemu",
"lxc"
]
},
"vmid": {
"type": "integer"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"include_ram": {
"type": "boolean"
}
},
"required": [
"node",
"guest_type",
"vmid",
"name"
],
"additionalProperties": false
},
"output_schema": {
"type": "object"
}
}
]
}