mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-07-26 07:58:14 +00:00
df4cae01bc
Phase 1 — Missing Update/Set operations (10 cmdlets): - SDN: Set-PveSdnZone/Vnet/Subnet/Controller/Ipam/Dns + Invoke-PveSdnApply - Set-PveRole, Set-PveStorage, Set-PveApiToken Phase 2 — Cluster operations (8 cmdlets): - Get-PveClusterResource (cluster-wide inventory) - Get-PveTaskList, Stop-PveTask - Get/New/Set/Remove-PvePool - Get-PveBackupInfo (unprotected VMs) Phase 3 — VM & container gaps (14 cmdlets): - Move-PveVmDisk, Remove-PveVmDisk - Guest agent: Get-PveVmGuestOsInfo/FsInfo, Read/Write-PveVmGuestFile, Set-PveVmGuestPassword, Invoke-PveVmGuestFsTrim - Suspend/Resume-PveContainer, Resize-PveContainerDisk, New-PveContainerTemplate, Move-PveContainerVolume, Get-PveContainerInterface Phase 4 — Storage content management (4 cmdlets): - Get-PveStorageStatus, Remove/Set-PveStorageContent, New-PveStorageDisk Phase 5 — Node operations (6 cmdlets): - Get/Set-PveNodeConfig, Get/Set-PveNodeDns, Start/Stop-PveNodeVms Phase 6 — Access management (9 cmdlets): - Get/New/Set/Remove-PveGroup, Get/New/Set/Remove-PveDomain, Set-PvePassword Total: 169 cmdlets (was 118). Includes models, services, format views, Pester unit tests, manifest updates, README, CHANGELOG, API coverage docs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.7 KiB
4.7 KiB
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: 169
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 | 4 | /nodes/{node}/tasks (list, get status, stop, 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 | 7 | /nodes/{node}/vzdump, /cluster/backup/*, /cluster/backup-info/not-backed-up |
| SDN Zones | 4 | /cluster/sdn/zones/* (CRUD + update) |
| SDN VNets | 4 | /cluster/sdn/vnets/* (CRUD + update) |
| SDN Subnets | 4 | /cluster/sdn/vnets/{vnet}/subnets/* (CRUD + update) |
| SDN IPAM | 4 | /cluster/sdn/ipams/* (CRUD + update) |
| SDN DNS | 4 | /cluster/sdn/dns/* (CRUD + update) |
| SDN Controllers | 4 | /cluster/sdn/controllers/* (CRUD + update) |
| SDN Apply | 1 | PUT /cluster/sdn (apply pending changes) |
| Cluster | 1 | GET /cluster/resources (cluster-wide inventory) |
| Pools | 4 | /pools/* (CRUD) |
| VM Disk Ops | 2 | move_disk, unlink |
| Guest Agent (ext) | 6 | get-osinfo, get-fsinfo, file-read, file-write, set-user-password, fstrim |
| Container Ops | 6 | suspend, resume, resize, template, move_volume, interfaces |
| Storage Content | 4 | status, content DELETE/PUT/POST |
| Node Ops | 6 | config, dns, startall, stopall |
| Access Groups | 4 | /access/groups/* (CRUD) |
| Access Domains | 4 | /access/domains/* (CRUD) |
| Access Password | 1 | PUT /access/password |
Not Yet Implemented
Gaps
| Area | Key Endpoints | Notes | Priority |
|---|
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 for the full guide. In short:
- Create service methods in
PSProxmoxVE.Core/Services/ - Create model classes in
PSProxmoxVE.Core/Models/if needed - Create cmdlet classes in
PSProxmoxVE/Cmdlets/ - Add cmdlet names to
CmdletsToExportin the manifest - Add Pester tests
- Update this document and the README cmdlet reference