pve_firewall_rule_remove
Remove a firewall rule by position. Dry-run returns a plan and digest; confirm with digest to ensure the rule hasn't shifted due to concurrent edits.
Instructions
MUTATION: delete a firewall rule by position. Dry-run by default — the PLAN shows the rule
at that position AND the optimistic-lock digest. Positions SHIFT after inserts/deletes — pass the
digest from the plan back as digest= on confirm so PVE rejects the delete if the rule list moved
since the preview (otherwise a concurrent insert can shift positions and remove the wrong rule).
Synchronous — confirm=True returns {"status": "ok", "result": None}; no task UPID to poll.
No UNDO: firewall config isn't in guest snapshots — revert by re-adding the rule with pve_firewall_rule_add.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pos | Yes | Rule position (0-based index) in the target scope's rule list. | |
| kind | No | Guest kind for scope='guest': 'qemu' or 'lxc'. | |
| node | No | Node name, required for scope='node' or scope='guest'. | |
| vmid | No | Guest VMID/CTID, required for scope='guest'. | |
| scope | No | Firewall scope: 'cluster', 'node', or 'guest'. | cluster |
| digest | No | Optimistic-lock digest from the PLAN preview; pass on confirm to abort if the rule list changed since. | |
| confirm | No | Set True to execute the mutation; False (default) only returns a dry-run PLAN. | |
| proximo_target | No | Which configured Proxmox target to run this call against — a target name from your multi-target config (a specific PVE/PBS/PMG/PDM box). Omit to use the single/default target from the environment; the selection applies only to this call. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |