# PXVDI Hyper-V Agent 这是一个用Rust编写的Hyper-V管理代理,提供REST API接口来管理Hyper-V虚拟机。 ## 功能特性 - 列出所有虚拟机 - 获取虚拟机详细信息 - 启动/停止虚拟机 - 获取虚拟机网络信息 - 获取虚拟机快照信息 ## 系统要求 - Windows操作系统 - 已安装Hyper-V - Rust开发环境 ## 安装 1. 确保已安装Rust开发环境 2. 克隆此仓库 3. 在项目目录中运行: ```bash cargo build --release ``` ## 运行 ```bash cargo run --release ``` 服务器将在 http://localhost:3000 启动 ## API接口 所有API请求都需要在header中包含 `Key: hyperv` ### 获取虚拟机列表 ``` GET /api2/ListVM ``` ### 获取虚拟机详细信息 ``` GET /api2/ListVMDetils?VMID=<虚拟机ID> ``` ### 获取所有虚拟机信息 ``` GET /api2/GetALL ``` ### 获取网络信息 ``` GET /api2/GetNetWork GET /api2/GetNetWork?VMID=<虚拟机ID> ``` ### 获取快照信息 ``` GET /api2/GetSnapShot GET /api2/GetSnapShot?VMID=<虚拟机ID> ``` ### 停止虚拟机 ``` POST /api2/StopVM?VMID=<虚拟机ID> ``` ### 启动虚拟机 ``` POST /api2/StartVM?VMID=<虚拟机ID> ``` ## 错误处理 所有API都会返回适当的HTTP状态码和JSON格式的错误信息: - 400: 请求参数错误 - 401: 认证错误 - 500: 服务器内部错误 ## 许可证 MIT