{ "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" } } ] }