mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-08-08 21:43:12 +00:00
a72642d203
Add 35 new cmdlets bringing the total to 118: - Firewall (21): rules, groups, aliases, IP sets, options at cluster/node/VM/container levels - Backup (5): ad-hoc vzdump and scheduled backup job CRUD - SDN IPAM/DNS/Controller (9): plugin management for SDN subsystem Also includes: - Fix: Remove-PveRole now has ConfirmImpact.High - Fix: URL-encode snapshot names in API paths - Refactor: extract auth header strings to constants in PveHttpClient - Add PSGallery version badge to README - Full test coverage: 11 JSON fixtures, xUnit model tests, Pester unit tests, and integration tests for firewall/backup/OVA import - Updated manifest, format file, CHANGELOG, README, API coverage docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
71 lines
3.8 KiB
Markdown
71 lines
3.8 KiB
Markdown
# Proxmox VE API Coverage
|
|
|
|
This document tracks which PVE API areas are implemented in PSProxmoxVE and which are planned for future releases.
|
|
|
|
**Last updated:** 2026-03-21
|
|
**Module version:** 0.1.0-preview
|
|
**Total cmdlets:** 110
|
|
|
|
## Implemented
|
|
|
|
| Area | Cmdlets | API Endpoints |
|
|
|------|---------|---------------|
|
|
| **Connection** | 3 | `POST /access/ticket`, `DELETE /access/ticket` |
|
|
| **Nodes** | 2 | `GET /nodes`, `GET /nodes/{node}/status` |
|
|
| **VMs (QEMU)** | 19 | `/nodes/{node}/qemu/*` (CRUD, lifecycle, clone, migrate, resize, disk import, config, guest agent) |
|
|
| **Containers (LXC)** | 14 | `/nodes/{node}/lxc/*` (CRUD, lifecycle, clone, migrate, config, snapshots) |
|
|
| **Storage** | 6 | `/storage`, `/nodes/{node}/storage/{storage}/*` (CRUD, content, upload, download) |
|
|
| **Snapshots** | 4 | `/nodes/{node}/qemu/{vmid}/snapshot/*` (CRUD, rollback) |
|
|
| **Container Snapshots** | 4 | `/nodes/{node}/lxc/{vmid}/snapshot/*` (CRUD, rollback) |
|
|
| **Networking** | 5 | `/nodes/{node}/network/*` (CRUD, apply) |
|
|
| **SDN Zones** | 3 | `/cluster/sdn/zones/*` (CRUD) |
|
|
| **SDN VNets** | 3 | `/cluster/sdn/vnets/*` (CRUD) |
|
|
| **SDN Subnets** | 3 | `/cluster/sdn/vnets/{vnet}/subnets/*` (CRUD) |
|
|
| **Users** | 4 | `/access/users/*` (CRUD) |
|
|
| **Roles** | 3 | `/access/roles/*` (CRUD) |
|
|
| **Permissions** | 2 | `/access/acl` (get, set) |
|
|
| **API Tokens** | 3 | `/access/users/{userid}/tokens/*` (CRUD) |
|
|
| **Templates** | 4 | VM template conversion, listing, cloning, removal |
|
|
| **Cloud-Init** | 3 | `/nodes/{node}/qemu/{vmid}/config` (cloud-init fields), `/nodes/{node}/qemu/{vmid}/cloudinit/regenerate` |
|
|
| **Tasks** | 2 | `/nodes/{node}/tasks/{upid}/status` (get, wait) |
|
|
| **Firewall** | 21 | `/cluster/firewall/*`, `/nodes/{node}/firewall/*`, `/nodes/{node}/qemu/{vmid}/firewall/*`, `/nodes/{node}/lxc/{vmid}/firewall/*` (rules, groups, aliases, IP sets, options, refs) |
|
|
| **Backup** | 5 | `/nodes/{node}/vzdump`, `/cluster/backup/*` (ad-hoc backup, scheduled job CRUD) |
|
|
| **SDN IPAM** | 3 | `/cluster/sdn/ipams/*` (CRUD) |
|
|
| **SDN DNS** | 3 | `/cluster/sdn/dns/*` (CRUD) |
|
|
| **SDN Controllers** | 3 | `/cluster/sdn/controllers/*` (CRUD) |
|
|
|
|
## Not Yet Implemented
|
|
|
|
### Gaps
|
|
|
|
| Area | Key Endpoints | Notes | Priority |
|
|
|------|--------------|-------|----------|
|
|
| **Pool Management** | `/pools/*` | Multi-tenant environments, resource grouping | Medium |
|
|
|
|
### Lower Priority Gaps
|
|
|
|
| Area | Key Endpoints | Notes |
|
|
|------|--------------|-------|
|
|
| **Ceph** | `/nodes/{node}/ceph/*` | OSD, monitor, pool, and MDS management |
|
|
| **HA (High Availability)** | `/cluster/ha/*` | HA groups, resources, and fencing configuration |
|
|
| **Replication** | `/cluster/replication/*` | ZFS replication between nodes |
|
|
| **Access Groups** | `/access/groups/*` | User group management |
|
|
| **Access Domains/Realms** | `/access/domains/*` | LDAP, AD, OpenID realm configuration |
|
|
| **PBS Integration** | N/A (separate API) | Proxmox Backup Server operations |
|
|
| **Cluster Config** | `/cluster/config/*` | Cluster join, node management, totem config |
|
|
| **ACME / Certificates** | `/cluster/acme/*`, `/nodes/{node}/certificates/*` | Let's Encrypt certificate automation |
|
|
| **Node Management** | `/nodes/{node}/apt/*`, `/nodes/{node}/disks/*`, `/nodes/{node}/services/*` | Package updates, disk management, service control |
|
|
| **Metrics** | `/cluster/metrics/*` | External metrics server configuration |
|
|
| **Additional VM Agent** | `/nodes/{node}/qemu/{vmid}/agent/*` | File read/write, OS info, suspend/resume via agent |
|
|
|
|
## Contributing New Cmdlets
|
|
|
|
See [CONTRIBUTING.md](../CONTRIBUTING.md) for the full guide. In short:
|
|
|
|
1. Create service methods in `PSProxmoxVE.Core/Services/`
|
|
2. Create model classes in `PSProxmoxVE.Core/Models/` if needed
|
|
3. Create cmdlet classes in `PSProxmoxVE/Cmdlets/`
|
|
4. Add cmdlet names to `CmdletsToExport` in the manifest
|
|
5. Add Pester tests
|
|
6. Update this document and the README cmdlet reference
|