Files
PSProxmoxVE/docs/PVE_API_COVERAGE.md
T
Clint Branham a72642d203 feat: add firewall, backup, and SDN IPAM/DNS/controller cmdlets
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>
2026-03-21 07:51:49 -05:00

3.8 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: 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 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