@homeflare/alchemy 0.15.0 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/README.md +29 -0
  2. package/dist/linux/directory-lifecycle.d.ts +50 -0
  3. package/dist/linux/directory-lifecycle.d.ts.map +1 -0
  4. package/dist/linux/directory.d.ts +19 -0
  5. package/dist/linux/directory.d.ts.map +1 -0
  6. package/dist/linux/fake-linux-host.d.ts +35 -0
  7. package/dist/linux/fake-linux-host.d.ts.map +1 -0
  8. package/dist/linux/fake-systemd.d.ts +34 -0
  9. package/dist/linux/fake-systemd.d.ts.map +1 -0
  10. package/dist/linux/index.d.ts +27 -0
  11. package/dist/linux/index.d.ts.map +1 -0
  12. package/dist/linux/index.js +1575 -0
  13. package/dist/linux/index.js.map +38 -0
  14. package/dist/linux/providers.d.ts +17 -0
  15. package/dist/linux/providers.d.ts.map +1 -0
  16. package/dist/linux/region.d.ts +43 -0
  17. package/dist/linux/region.d.ts.map +1 -0
  18. package/dist/linux/remote-file-form.d.ts +47 -0
  19. package/dist/linux/remote-file-form.d.ts.map +1 -0
  20. package/dist/linux/remote-file-lifecycle.d.ts +36 -0
  21. package/dist/linux/remote-file-lifecycle.d.ts.map +1 -0
  22. package/dist/linux/remote-file-plan.d.ts +33 -0
  23. package/dist/linux/remote-file-plan.d.ts.map +1 -0
  24. package/dist/linux/remote-file.d.ts +28 -0
  25. package/dist/linux/remote-file.d.ts.map +1 -0
  26. package/dist/linux/ssh-command.d.ts +68 -0
  27. package/dist/linux/ssh-command.d.ts.map +1 -0
  28. package/dist/linux/ssh-runner.d.ts +22 -0
  29. package/dist/linux/ssh-runner.d.ts.map +1 -0
  30. package/dist/linux/ssh-scripts.d.ts +27 -0
  31. package/dist/linux/ssh-scripts.d.ts.map +1 -0
  32. package/dist/linux/systemctl.d.ts +67 -0
  33. package/dist/linux/systemctl.d.ts.map +1 -0
  34. package/dist/linux/unit-form.d.ts +78 -0
  35. package/dist/linux/unit-form.d.ts.map +1 -0
  36. package/dist/linux/unit-handlers.d.ts +15 -0
  37. package/dist/linux/unit-handlers.d.ts.map +1 -0
  38. package/dist/linux/unit-lifecycle.d.ts +40 -0
  39. package/dist/linux/unit-lifecycle.d.ts.map +1 -0
  40. package/dist/linux/unit-preflight.d.ts +41 -0
  41. package/dist/linux/unit-preflight.d.ts.map +1 -0
  42. package/dist/linux/unit-settle.d.ts +31 -0
  43. package/dist/linux/unit-settle.d.ts.map +1 -0
  44. package/dist/linux/unit.d.ts +35 -0
  45. package/dist/linux/unit.d.ts.map +1 -0
  46. package/dist/netbox/client.d.ts +52 -0
  47. package/dist/netbox/client.d.ts.map +1 -0
  48. package/dist/netbox/constraint-guard.d.ts +26 -0
  49. package/dist/netbox/constraint-guard.d.ts.map +1 -0
  50. package/dist/netbox/constraints.d.ts +76 -0
  51. package/dist/netbox/constraints.d.ts.map +1 -0
  52. package/dist/netbox/generated/constraints/index.d.ts +19 -0
  53. package/dist/netbox/generated/constraints/index.d.ts.map +1 -0
  54. package/dist/netbox/generated/constraints/netbox-ipam.d.ts +21 -0
  55. package/dist/netbox/generated/constraints/netbox-ipam.d.ts.map +1 -0
  56. package/dist/netbox/index.d.ts +17 -0
  57. package/dist/netbox/index.d.ts.map +1 -0
  58. package/dist/netbox/index.js +331 -0
  59. package/dist/netbox/index.js.map +18 -0
  60. package/dist/netbox/prefix-form.d.ts +54 -0
  61. package/dist/netbox/prefix-form.d.ts.map +1 -0
  62. package/dist/netbox/prefix.d.ts +80 -0
  63. package/dist/netbox/prefix.d.ts.map +1 -0
  64. package/dist/netbox/resource.d.ts +94 -0
  65. package/dist/netbox/resource.d.ts.map +1 -0
  66. package/dist/netbox/values.d.ts +24 -0
  67. package/dist/netbox/values.d.ts.map +1 -0
  68. package/dist/proxmox/api-token-form.d.ts.map +1 -1
  69. package/dist/proxmox/apply-endpoints.d.ts +30 -0
  70. package/dist/proxmox/apply-endpoints.d.ts.map +1 -0
  71. package/dist/proxmox/ceph-daemon-form.d.ts +29 -1
  72. package/dist/proxmox/ceph-daemon-form.d.ts.map +1 -1
  73. package/dist/proxmox/ceph-daemon.d.ts.map +1 -1
  74. package/dist/proxmox/ceph-flag.d.ts.map +1 -1
  75. package/dist/proxmox/ceph-fs.d.ts.map +1 -1
  76. package/dist/proxmox/ceph-osd-write.d.ts +19 -0
  77. package/dist/proxmox/ceph-osd-write.d.ts.map +1 -1
  78. package/dist/proxmox/ceph-pool.d.ts.map +1 -1
  79. package/dist/proxmox/constraints.d.ts +28 -5
  80. package/dist/proxmox/constraints.d.ts.map +1 -1
  81. package/dist/proxmox/generated/constraints/index.d.ts +1 -1
  82. package/dist/proxmox/generated/constraints/index.d.ts.map +1 -1
  83. package/dist/proxmox/generated/constraints/pbs-config.d.ts +6 -1
  84. package/dist/proxmox/generated/constraints/pbs-config.d.ts.map +1 -1
  85. package/dist/proxmox/generated/constraints/pve-access.d.ts +6 -1
  86. package/dist/proxmox/generated/constraints/pve-access.d.ts.map +1 -1
  87. package/dist/proxmox/generated/constraints/pve-cluster-backup.d.ts +23 -0
  88. package/dist/proxmox/generated/constraints/pve-cluster-backup.d.ts.map +1 -0
  89. package/dist/proxmox/generated/constraints/pve-cluster-ceph.d.ts +23 -0
  90. package/dist/proxmox/generated/constraints/pve-cluster-ceph.d.ts.map +1 -0
  91. package/dist/proxmox/generated/constraints/pve-cluster-firewall.d.ts +23 -0
  92. package/dist/proxmox/generated/constraints/pve-cluster-firewall.d.ts.map +1 -0
  93. package/dist/proxmox/generated/constraints/pve-cluster-ha.d.ts +23 -0
  94. package/dist/proxmox/generated/constraints/pve-cluster-ha.d.ts.map +1 -0
  95. package/dist/proxmox/generated/constraints/pve-cluster-metrics.d.ts +23 -0
  96. package/dist/proxmox/generated/constraints/pve-cluster-metrics.d.ts.map +1 -0
  97. package/dist/proxmox/generated/constraints/pve-cluster-notifications.d.ts +23 -0
  98. package/dist/proxmox/generated/constraints/pve-cluster-notifications.d.ts.map +1 -0
  99. package/dist/proxmox/generated/constraints/pve-cluster-replication.d.ts +23 -0
  100. package/dist/proxmox/generated/constraints/pve-cluster-replication.d.ts.map +1 -0
  101. package/dist/proxmox/generated/constraints/pve-cluster-sdn.d.ts +23 -0
  102. package/dist/proxmox/generated/constraints/pve-cluster-sdn.d.ts.map +1 -0
  103. package/dist/proxmox/generated/constraints/pve-nodes-ceph.d.ts +23 -0
  104. package/dist/proxmox/generated/constraints/pve-nodes-ceph.d.ts.map +1 -0
  105. package/dist/proxmox/generated/constraints/pve-nodes-disks.d.ts +23 -0
  106. package/dist/proxmox/generated/constraints/pve-nodes-disks.d.ts.map +1 -0
  107. package/dist/proxmox/generated/constraints/pve-nodes-lxc.d.ts +23 -0
  108. package/dist/proxmox/generated/constraints/pve-nodes-lxc.d.ts.map +1 -0
  109. package/dist/proxmox/generated/constraints/pve-nodes-network.d.ts +23 -0
  110. package/dist/proxmox/generated/constraints/pve-nodes-network.d.ts.map +1 -0
  111. package/dist/proxmox/generated/constraints/pve-nodes-qemu.d.ts +23 -0
  112. package/dist/proxmox/generated/constraints/pve-nodes-qemu.d.ts.map +1 -0
  113. package/dist/proxmox/generated/constraints/pve-pools.d.ts +6 -1
  114. package/dist/proxmox/generated/constraints/pve-pools.d.ts.map +1 -1
  115. package/dist/proxmox/generated/constraints/pve-storage.d.ts +6 -1
  116. package/dist/proxmox/generated/constraints/pve-storage.d.ts.map +1 -1
  117. package/dist/proxmox/generated/pbs/access-users.d.ts +137 -0
  118. package/dist/proxmox/generated/pbs/access-users.d.ts.map +1 -0
  119. package/dist/proxmox/generated/pbs/access.d.ts +171 -0
  120. package/dist/proxmox/generated/pbs/access.d.ts.map +1 -0
  121. package/dist/proxmox/generated/pbs/admin-datastore-store.d.ts +252 -0
  122. package/dist/proxmox/generated/pbs/admin-datastore-store.d.ts.map +1 -0
  123. package/dist/proxmox/generated/pbs/admin-metrics.d.ts +147 -0
  124. package/dist/proxmox/generated/pbs/admin-metrics.d.ts.map +1 -0
  125. package/dist/proxmox/generated/pbs/admin.d.ts +217 -0
  126. package/dist/proxmox/generated/pbs/admin.d.ts.map +1 -0
  127. package/dist/proxmox/generated/pbs/backup.d.ts +114 -0
  128. package/dist/proxmox/generated/pbs/backup.d.ts.map +1 -0
  129. package/dist/proxmox/generated/pbs/config-access-pam.d.ts +218 -0
  130. package/dist/proxmox/generated/pbs/config-access-pam.d.ts.map +1 -0
  131. package/dist/proxmox/generated/pbs/config-access.d.ts +203 -0
  132. package/dist/proxmox/generated/pbs/config-access.d.ts.map +1 -0
  133. package/dist/proxmox/generated/pbs/config-datastore.d.ts +195 -0
  134. package/dist/proxmox/generated/pbs/config-datastore.d.ts.map +1 -0
  135. package/dist/proxmox/generated/pbs/config-media-pool.d.ts +207 -0
  136. package/dist/proxmox/generated/pbs/config-media-pool.d.ts.map +1 -0
  137. package/dist/proxmox/generated/pbs/config-notifications-matchers.d.ts +159 -0
  138. package/dist/proxmox/generated/pbs/config-notifications-matchers.d.ts.map +1 -0
  139. package/dist/proxmox/generated/pbs/config-notifications.d.ts +199 -0
  140. package/dist/proxmox/generated/pbs/config-notifications.d.ts.map +1 -0
  141. package/dist/proxmox/generated/pbs/config-remote.d.ts +175 -0
  142. package/dist/proxmox/generated/pbs/config-remote.d.ts.map +1 -0
  143. package/dist/proxmox/generated/pbs/config-sync.d.ts +145 -0
  144. package/dist/proxmox/generated/pbs/config-sync.d.ts.map +1 -0
  145. package/dist/proxmox/generated/pbs/config-tape.d.ts +200 -0
  146. package/dist/proxmox/generated/pbs/config-tape.d.ts.map +1 -0
  147. package/dist/proxmox/generated/pbs/config-verify.d.ts +77 -0
  148. package/dist/proxmox/generated/pbs/config-verify.d.ts.map +1 -0
  149. package/dist/proxmox/generated/pbs/config.d.ts +119 -0
  150. package/dist/proxmox/generated/pbs/config.d.ts.map +1 -0
  151. package/dist/proxmox/generated/pbs/nodes-node-dns.d.ts +178 -0
  152. package/dist/proxmox/generated/pbs/nodes-node-dns.d.ts.map +1 -0
  153. package/dist/proxmox/generated/pbs/nodes-node-services.d.ts +205 -0
  154. package/dist/proxmox/generated/pbs/nodes-node-services.d.ts.map +1 -0
  155. package/dist/proxmox/generated/pbs/nodes-node.d.ts +166 -0
  156. package/dist/proxmox/generated/pbs/nodes-node.d.ts.map +1 -0
  157. package/dist/proxmox/generated/pbs/nodes.d.ts +171 -0
  158. package/dist/proxmox/generated/pbs/nodes.d.ts.map +1 -0
  159. package/dist/proxmox/generated/pbs/ping.d.ts +18 -0
  160. package/dist/proxmox/generated/pbs/ping.d.ts.map +1 -0
  161. package/dist/proxmox/generated/pbs/pull.d.ts +37 -0
  162. package/dist/proxmox/generated/pbs/pull.d.ts.map +1 -0
  163. package/dist/proxmox/generated/pbs/push.d.ts +36 -0
  164. package/dist/proxmox/generated/pbs/push.d.ts.map +1 -0
  165. package/dist/proxmox/generated/pbs/reader.d.ts +41 -0
  166. package/dist/proxmox/generated/pbs/reader.d.ts.map +1 -0
  167. package/dist/proxmox/generated/pbs/root.d.ts +16 -0
  168. package/dist/proxmox/generated/pbs/root.d.ts.map +1 -0
  169. package/dist/proxmox/generated/pbs/status.d.ts +54 -0
  170. package/dist/proxmox/generated/pbs/status.d.ts.map +1 -0
  171. package/dist/proxmox/generated/pbs/tape-drive.d.ts +181 -0
  172. package/dist/proxmox/generated/pbs/tape-drive.d.ts.map +1 -0
  173. package/dist/proxmox/generated/pbs/tape-media.d.ts +126 -0
  174. package/dist/proxmox/generated/pbs/tape-media.d.ts.map +1 -0
  175. package/dist/proxmox/generated/pbs/tape.d.ts +90 -0
  176. package/dist/proxmox/generated/pbs/tape.d.ts.map +1 -0
  177. package/dist/proxmox/generated/pbs/version.d.ts +20 -0
  178. package/dist/proxmox/generated/pbs/version.d.ts.map +1 -0
  179. package/dist/proxmox/generated/pbs.d.ts +44 -662
  180. package/dist/proxmox/generated/pbs.d.ts.map +1 -1
  181. package/dist/proxmox/generated/pve/access-roles.d.ts +164 -0
  182. package/dist/proxmox/generated/pve/access-roles.d.ts.map +1 -0
  183. package/dist/proxmox/generated/pve/access-users.d.ts +152 -0
  184. package/dist/proxmox/generated/pve/access-users.d.ts.map +1 -0
  185. package/dist/proxmox/generated/pve/access.d.ts +221 -0
  186. package/dist/proxmox/generated/pve/access.d.ts.map +1 -0
  187. package/dist/proxmox/generated/pve/cluster-acme-plugins-id.d.ts +45 -0
  188. package/dist/proxmox/generated/pve/cluster-acme-plugins-id.d.ts.map +1 -0
  189. package/dist/proxmox/generated/pve/cluster-acme-plugins.d.ts +47 -0
  190. package/dist/proxmox/generated/pve/cluster-acme-plugins.d.ts.map +1 -0
  191. package/dist/proxmox/generated/pve/cluster-acme-tos.d.ts +240 -0
  192. package/dist/proxmox/generated/pve/cluster-acme-tos.d.ts.map +1 -0
  193. package/dist/proxmox/generated/pve/cluster-bulk-action.d.ts +200 -0
  194. package/dist/proxmox/generated/pve/cluster-bulk-action.d.ts.map +1 -0
  195. package/dist/proxmox/generated/pve/cluster-firewall-refs.d.ts +109 -0
  196. package/dist/proxmox/generated/pve/cluster-firewall-refs.d.ts.map +1 -0
  197. package/dist/proxmox/generated/pve/cluster-firewall.d.ts +225 -0
  198. package/dist/proxmox/generated/pve/cluster-firewall.d.ts.map +1 -0
  199. package/dist/proxmox/generated/pve/cluster-ha.d.ts +199 -0
  200. package/dist/proxmox/generated/pve/cluster-ha.d.ts.map +1 -0
  201. package/dist/proxmox/generated/pve/cluster-jobs.d.ts +183 -0
  202. package/dist/proxmox/generated/pve/cluster-jobs.d.ts.map +1 -0
  203. package/dist/proxmox/generated/pve/cluster-metrics.d.ts +110 -0
  204. package/dist/proxmox/generated/pve/cluster-metrics.d.ts.map +1 -0
  205. package/dist/proxmox/generated/pve/cluster-notifications-endpoints.d.ts +224 -0
  206. package/dist/proxmox/generated/pve/cluster-notifications-endpoints.d.ts.map +1 -0
  207. package/dist/proxmox/generated/pve/cluster-notifications.d.ts +91 -0
  208. package/dist/proxmox/generated/pve/cluster-notifications.d.ts.map +1 -0
  209. package/dist/proxmox/generated/pve/cluster-options.d.ts +85 -0
  210. package/dist/proxmox/generated/pve/cluster-options.d.ts.map +1 -0
  211. package/dist/proxmox/generated/pve/cluster-qemu-custom-cpu-models-cputype.d.ts +48 -0
  212. package/dist/proxmox/generated/pve/cluster-qemu-custom-cpu-models-cputype.d.ts.map +1 -0
  213. package/dist/proxmox/generated/pve/cluster-qemu-custom-cpu-models.d.ts +45 -0
  214. package/dist/proxmox/generated/pve/cluster-qemu-custom-cpu-models.d.ts.map +1 -0
  215. package/dist/proxmox/generated/pve/cluster-replication.d.ts +130 -0
  216. package/dist/proxmox/generated/pve/cluster-replication.d.ts.map +1 -0
  217. package/dist/proxmox/generated/pve/cluster-sdn-fabrics.d.ts +220 -0
  218. package/dist/proxmox/generated/pve/cluster-sdn-fabrics.d.ts.map +1 -0
  219. package/dist/proxmox/generated/pve/cluster-sdn-ipams.d.ts +229 -0
  220. package/dist/proxmox/generated/pve/cluster-sdn-ipams.d.ts.map +1 -0
  221. package/dist/proxmox/generated/pve/cluster-sdn-vnets-vnet.d.ts +229 -0
  222. package/dist/proxmox/generated/pve/cluster-sdn-vnets-vnet.d.ts.map +1 -0
  223. package/dist/proxmox/generated/pve/cluster-sdn-vnets.d.ts +51 -0
  224. package/dist/proxmox/generated/pve/cluster-sdn-vnets.d.ts.map +1 -0
  225. package/dist/proxmox/generated/pve/cluster-sdn-zones.d.ts +225 -0
  226. package/dist/proxmox/generated/pve/cluster-sdn-zones.d.ts.map +1 -0
  227. package/dist/proxmox/generated/pve/cluster-sdn.d.ts +202 -0
  228. package/dist/proxmox/generated/pve/cluster-sdn.d.ts.map +1 -0
  229. package/dist/proxmox/generated/pve/cluster.d.ts +69 -0
  230. package/dist/proxmox/generated/pve/cluster.d.ts.map +1 -0
  231. package/dist/proxmox/generated/pve/nodes-node-ceph.d.ts +167 -0
  232. package/dist/proxmox/generated/pve/nodes-node-ceph.d.ts.map +1 -0
  233. package/dist/proxmox/generated/pve/nodes-node-config.d.ts +43 -0
  234. package/dist/proxmox/generated/pve/nodes-node-config.d.ts.map +1 -0
  235. package/dist/proxmox/generated/pve/nodes-node-disks.d.ts +225 -0
  236. package/dist/proxmox/generated/pve/nodes-node-disks.d.ts.map +1 -0
  237. package/dist/proxmox/generated/pve/nodes-node-firewall.d.ts +145 -0
  238. package/dist/proxmox/generated/pve/nodes-node-firewall.d.ts.map +1 -0
  239. package/dist/proxmox/generated/pve/nodes-node-hardware.d.ts +195 -0
  240. package/dist/proxmox/generated/pve/nodes-node-hardware.d.ts.map +1 -0
  241. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-firewall.d.ts +191 -0
  242. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-firewall.d.ts.map +1 -0
  243. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-move-volume.d.ts +33 -0
  244. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-move-volume.d.ts.map +1 -0
  245. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-mtunnel.d.ts +56 -0
  246. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-mtunnel.d.ts.map +1 -0
  247. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-resize.d.ts +28 -0
  248. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-resize.d.ts.map +1 -0
  249. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-rrd.d.ts +186 -0
  250. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid-rrd.d.ts.map +1 -0
  251. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid.d.ts +191 -0
  252. package/dist/proxmox/generated/pve/nodes-node-lxc-vmid.d.ts.map +1 -0
  253. package/dist/proxmox/generated/pve/nodes-node-network.d.ts +150 -0
  254. package/dist/proxmox/generated/pve/nodes-node-network.d.ts.map +1 -0
  255. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-config.d.ts +301 -0
  256. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-config.d.ts.map +1 -0
  257. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-dbus-vmstate.d.ts +170 -0
  258. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-dbus-vmstate.d.ts.map +1 -0
  259. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-firewall-rules.d.ts +144 -0
  260. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-firewall-rules.d.ts.map +1 -0
  261. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-move-disk.d.ts +34 -0
  262. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-move-disk.d.ts.map +1 -0
  263. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-mtunnel.d.ts +137 -0
  264. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-mtunnel.d.ts.map +1 -0
  265. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-status.d.ts +179 -0
  266. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid-status.d.ts.map +1 -0
  267. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid.d.ts +143 -0
  268. package/dist/proxmox/generated/pve/nodes-node-qemu-vmid.d.ts.map +1 -0
  269. package/dist/proxmox/generated/pve/nodes-node-qemu.d.ts +158 -0
  270. package/dist/proxmox/generated/pve/nodes-node-qemu.d.ts.map +1 -0
  271. package/dist/proxmox/generated/pve/nodes-node-replication.d.ts +187 -0
  272. package/dist/proxmox/generated/pve/nodes-node-replication.d.ts.map +1 -0
  273. package/dist/proxmox/generated/pve/nodes-node-services.d.ts +115 -0
  274. package/dist/proxmox/generated/pve/nodes-node-services.d.ts.map +1 -0
  275. package/dist/proxmox/generated/pve/nodes-node-storage-storage.d.ts +202 -0
  276. package/dist/proxmox/generated/pve/nodes-node-storage-storage.d.ts.map +1 -0
  277. package/dist/proxmox/generated/pve/nodes-node-storage.d.ts +40 -0
  278. package/dist/proxmox/generated/pve/nodes-node-storage.d.ts.map +1 -0
  279. package/dist/proxmox/generated/pve/nodes-node-subscription.d.ts +173 -0
  280. package/dist/proxmox/generated/pve/nodes-node-subscription.d.ts.map +1 -0
  281. package/dist/proxmox/generated/pve/nodes-node-vzdump.d.ts +97 -0
  282. package/dist/proxmox/generated/pve/nodes-node-vzdump.d.ts.map +1 -0
  283. package/dist/proxmox/generated/pve/nodes-node.d.ts +207 -0
  284. package/dist/proxmox/generated/pve/nodes-node.d.ts.map +1 -0
  285. package/dist/proxmox/generated/pve/nodes.d.ts +236 -0
  286. package/dist/proxmox/generated/pve/nodes.d.ts.map +1 -0
  287. package/dist/proxmox/generated/pve/pools.d.ts +82 -0
  288. package/dist/proxmox/generated/pve/pools.d.ts.map +1 -0
  289. package/dist/proxmox/generated/pve/storage.d.ts +159 -0
  290. package/dist/proxmox/generated/pve/storage.d.ts.map +1 -0
  291. package/dist/proxmox/generated/pve/version.d.ts +21 -0
  292. package/dist/proxmox/generated/pve/version.d.ts.map +1 -0
  293. package/dist/proxmox/generated/pve.d.ts +69 -4766
  294. package/dist/proxmox/generated/pve.d.ts.map +1 -1
  295. package/dist/proxmox/index.js +996 -372
  296. package/dist/proxmox/index.js.map +48 -32
  297. package/dist/proxmox/lxc-lifecycle.d.ts.map +1 -1
  298. package/dist/proxmox/metric-server-form.d.ts +11 -0
  299. package/dist/proxmox/metric-server-form.d.ts.map +1 -1
  300. package/dist/proxmox/metric-server.d.ts.map +1 -1
  301. package/dist/proxmox/network-apply.d.ts.map +1 -1
  302. package/dist/proxmox/node-network-form.d.ts +15 -0
  303. package/dist/proxmox/node-network-form.d.ts.map +1 -1
  304. package/dist/proxmox/node-network.d.ts.map +1 -1
  305. package/dist/proxmox/notification-target-endpoint.d.ts +26 -0
  306. package/dist/proxmox/notification-target-endpoint.d.ts.map +1 -0
  307. package/dist/proxmox/notification-target-form.d.ts +7 -0
  308. package/dist/proxmox/notification-target-form.d.ts.map +1 -1
  309. package/dist/proxmox/notification-target.d.ts.map +1 -1
  310. package/dist/proxmox/pbs-notification-target-endpoint.d.ts +29 -0
  311. package/dist/proxmox/pbs-notification-target-endpoint.d.ts.map +1 -0
  312. package/dist/proxmox/pbs-notification-target-lifecycle.d.ts.map +1 -1
  313. package/dist/proxmox/qemu.d.ts +10 -0
  314. package/dist/proxmox/qemu.d.ts.map +1 -1
  315. package/dist/proxmox/resource-guard.d.ts +15 -0
  316. package/dist/proxmox/resource-guard.d.ts.map +1 -0
  317. package/dist/proxmox/resource-spec.d.ts +15 -4
  318. package/dist/proxmox/resource-spec.d.ts.map +1 -1
  319. package/dist/proxmox/resource.d.ts +8 -0
  320. package/dist/proxmox/resource.d.ts.map +1 -1
  321. package/dist/proxmox/sdn-apply.d.ts.map +1 -1
  322. package/dist/proxmox/sdn-subnet.d.ts.map +1 -1
  323. package/dist/proxmox/zfs-pool-write.d.ts +11 -0
  324. package/dist/proxmox/zfs-pool-write.d.ts.map +1 -1
  325. package/dist/proxmox/zfs-pool.d.ts.map +1 -1
  326. package/docs/linux-host-measured.md +56 -0
  327. package/docs/linux-host.md +192 -0
  328. package/docs/netbox.md +103 -0
  329. package/package.json +9 -1
  330. package/src/linux/directory-lifecycle.ts +220 -0
  331. package/src/linux/directory.test.ts +132 -0
  332. package/src/linux/directory.ts +71 -0
  333. package/src/linux/fake-linux-host.ts +197 -0
  334. package/src/linux/fake-systemd.ts +103 -0
  335. package/src/linux/index.ts +32 -0
  336. package/src/linux/providers.ts +26 -0
  337. package/src/linux/region.test.ts +89 -0
  338. package/src/linux/region.ts +118 -0
  339. package/src/linux/remote-file-form.ts +96 -0
  340. package/src/linux/remote-file-lifecycle.test.ts +191 -0
  341. package/src/linux/remote-file-lifecycle.ts +161 -0
  342. package/src/linux/remote-file-plan.ts +154 -0
  343. package/src/linux/remote-file.ts +88 -0
  344. package/src/linux/ssh-command.test.ts +140 -0
  345. package/src/linux/ssh-command.ts +99 -0
  346. package/src/linux/ssh-runner.ts +188 -0
  347. package/src/linux/ssh-scripts.ts +105 -0
  348. package/src/linux/systemctl.ts +145 -0
  349. package/src/linux/unit-form.ts +183 -0
  350. package/src/linux/unit-handlers.ts +73 -0
  351. package/src/linux/unit-lifecycle.test.ts +220 -0
  352. package/src/linux/unit-lifecycle.ts +175 -0
  353. package/src/linux/unit-preflight.test.ts +128 -0
  354. package/src/linux/unit-preflight.ts +100 -0
  355. package/src/linux/unit-settle.ts +110 -0
  356. package/src/linux/unit.ts +81 -0
  357. package/src/netbox/client.test.ts +67 -0
  358. package/src/netbox/client.ts +146 -0
  359. package/src/netbox/constraint-guard.ts +57 -0
  360. package/src/netbox/constraints.test.ts +114 -0
  361. package/src/netbox/constraints.ts +152 -0
  362. package/src/netbox/generated/constraints/index.ts +23 -0
  363. package/src/netbox/generated/constraints/netbox-ipam.ts +32 -0
  364. package/src/netbox/index.ts +34 -0
  365. package/src/netbox/prefix-form.test.ts +127 -0
  366. package/src/netbox/prefix-form.ts +84 -0
  367. package/src/netbox/prefix.ts +136 -0
  368. package/src/netbox/resource.ts +208 -0
  369. package/src/netbox/values.test.ts +66 -0
  370. package/src/netbox/values.ts +40 -0
  371. package/src/proxmox/api-token-form.ts +5 -0
  372. package/src/proxmox/apply-endpoints.ts +34 -0
  373. package/src/proxmox/ceph-daemon-form.ts +56 -2
  374. package/src/proxmox/ceph-daemon.ts +10 -21
  375. package/src/proxmox/ceph-flag.ts +1 -0
  376. package/src/proxmox/ceph-fs.ts +1 -0
  377. package/src/proxmox/ceph-osd-write.ts +30 -4
  378. package/src/proxmox/ceph-pool.ts +10 -0
  379. package/src/proxmox/constraints-dialect.test.ts +165 -0
  380. package/src/proxmox/constraints-forms.test.ts +228 -0
  381. package/src/proxmox/constraints-host-forms.test.ts +132 -0
  382. package/src/proxmox/constraints-live.test.ts +155 -0
  383. package/src/proxmox/constraints-node-forms.test.ts +197 -0
  384. package/src/proxmox/constraints-required.test.ts +172 -0
  385. package/src/proxmox/constraints.test.ts +8 -63
  386. package/src/proxmox/constraints.ts +31 -6
  387. package/src/proxmox/generated/constraints/index.ts +27 -3
  388. package/src/proxmox/generated/constraints/pbs-config.ts +63 -1
  389. package/src/proxmox/generated/constraints/pve-access.ts +15 -3
  390. package/src/proxmox/generated/constraints/pve-cluster-backup.ts +74 -0
  391. package/src/proxmox/generated/constraints/pve-cluster-ceph.ts +27 -0
  392. package/src/proxmox/generated/constraints/pve-cluster-firewall.ts +35 -0
  393. package/src/proxmox/generated/constraints/pve-cluster-ha.ts +55 -0
  394. package/src/proxmox/generated/constraints/pve-cluster-metrics.ts +59 -0
  395. package/src/proxmox/generated/constraints/pve-cluster-notifications.ts +80 -0
  396. package/src/proxmox/generated/constraints/pve-cluster-replication.ts +43 -0
  397. package/src/proxmox/generated/constraints/pve-cluster-sdn.ts +90 -0
  398. package/src/proxmox/generated/constraints/pve-nodes-ceph.ts +57 -0
  399. package/src/proxmox/generated/constraints/pve-nodes-disks.ts +31 -0
  400. package/src/proxmox/generated/constraints/pve-nodes-lxc.ts +82 -0
  401. package/src/proxmox/generated/constraints/pve-nodes-network.ts +77 -0
  402. package/src/proxmox/generated/constraints/pve-nodes-qemu.ts +125 -0
  403. package/src/proxmox/generated/constraints/pve-pools.ts +6 -1
  404. package/src/proxmox/generated/constraints/pve-storage.ts +8 -3
  405. package/src/proxmox/generated/pbs/access-users.ts +137 -0
  406. package/src/proxmox/generated/pbs/access.ts +232 -0
  407. package/src/proxmox/generated/pbs/admin-datastore-store.ts +238 -0
  408. package/src/proxmox/generated/pbs/admin-metrics.ts +147 -0
  409. package/src/proxmox/generated/pbs/admin.ts +225 -0
  410. package/src/proxmox/generated/pbs/backup.ts +121 -0
  411. package/src/proxmox/generated/pbs/config-access-pam.ts +228 -0
  412. package/src/proxmox/generated/pbs/config-access.ts +228 -0
  413. package/src/proxmox/generated/pbs/config-datastore.ts +217 -0
  414. package/src/proxmox/generated/pbs/config-media-pool.ts +232 -0
  415. package/src/proxmox/generated/pbs/config-notifications-matchers.ts +187 -0
  416. package/src/proxmox/generated/pbs/config-notifications.ts +221 -0
  417. package/src/proxmox/generated/pbs/config-remote.ts +192 -0
  418. package/src/proxmox/generated/pbs/config-sync.ts +167 -0
  419. package/src/proxmox/generated/pbs/config-tape.ts +226 -0
  420. package/src/proxmox/generated/pbs/config-verify.ts +87 -0
  421. package/src/proxmox/generated/pbs/config.ts +135 -0
  422. package/src/proxmox/generated/pbs/nodes-node-dns.ts +229 -0
  423. package/src/proxmox/generated/pbs/nodes-node-services.ts +181 -0
  424. package/src/proxmox/generated/pbs/nodes-node.ts +244 -0
  425. package/src/proxmox/generated/pbs/nodes.ts +160 -0
  426. package/src/proxmox/generated/pbs/ping.ts +16 -0
  427. package/src/proxmox/generated/pbs/pull.ts +37 -0
  428. package/src/proxmox/generated/pbs/push.ts +36 -0
  429. package/src/proxmox/generated/pbs/reader.ts +41 -0
  430. package/src/proxmox/generated/pbs/root.ts +16 -0
  431. package/src/proxmox/generated/pbs/status.ts +50 -0
  432. package/src/proxmox/generated/pbs/tape-drive.ts +220 -0
  433. package/src/proxmox/generated/pbs/tape-media.ts +133 -0
  434. package/src/proxmox/generated/pbs/tape.ts +92 -0
  435. package/src/proxmox/generated/pbs/version.ts +16 -0
  436. package/src/proxmox/generated/pbs.ts +44 -787
  437. package/src/proxmox/generated/pve/access-roles.ts +168 -0
  438. package/src/proxmox/generated/pve/access-users.ts +155 -0
  439. package/src/proxmox/generated/pve/access.ts +217 -0
  440. package/src/proxmox/generated/pve/cluster-acme-plugins-id.ts +367 -0
  441. package/src/proxmox/generated/pve/cluster-acme-plugins.ts +366 -0
  442. package/src/proxmox/generated/pve/cluster-acme-tos.ts +232 -0
  443. package/src/proxmox/generated/pve/cluster-bulk-action.ts +227 -0
  444. package/src/proxmox/generated/pve/cluster-firewall-refs.ts +110 -0
  445. package/src/proxmox/generated/pve/cluster-firewall.ts +236 -0
  446. package/src/proxmox/generated/pve/cluster-ha.ts +203 -0
  447. package/src/proxmox/generated/pve/cluster-jobs.ts +190 -0
  448. package/src/proxmox/generated/pve/cluster-metrics.ts +116 -0
  449. package/src/proxmox/generated/pve/cluster-notifications-endpoints.ts +244 -0
  450. package/src/proxmox/generated/pve/cluster-notifications.ts +99 -0
  451. package/src/proxmox/generated/pve/cluster-options.ts +189 -0
  452. package/src/proxmox/generated/pve/cluster-qemu-custom-cpu-models-cputype.ts +272 -0
  453. package/src/proxmox/generated/pve/cluster-qemu-custom-cpu-models.ts +268 -0
  454. package/src/proxmox/generated/pve/cluster-replication.ts +127 -0
  455. package/src/proxmox/generated/pve/cluster-sdn-fabrics.ts +218 -0
  456. package/src/proxmox/generated/pve/cluster-sdn-ipams.ts +229 -0
  457. package/src/proxmox/generated/pve/cluster-sdn-vnets-vnet.ts +245 -0
  458. package/src/proxmox/generated/pve/cluster-sdn-vnets.ts +49 -0
  459. package/src/proxmox/generated/pve/cluster-sdn-zones.ts +224 -0
  460. package/src/proxmox/generated/pve/cluster-sdn.ts +201 -0
  461. package/src/proxmox/generated/pve/cluster.ts +71 -0
  462. package/src/proxmox/generated/pve/nodes-node-ceph.ts +167 -0
  463. package/src/proxmox/generated/pve/nodes-node-config.ts +56 -0
  464. package/src/proxmox/generated/pve/nodes-node-disks.ts +237 -0
  465. package/src/proxmox/generated/pve/nodes-node-firewall.ts +239 -0
  466. package/src/proxmox/generated/pve/nodes-node-hardware.ts +215 -0
  467. package/src/proxmox/generated/pve/nodes-node-lxc-vmid-firewall.ts +232 -0
  468. package/src/proxmox/generated/pve/nodes-node-lxc-vmid-move-volume.ts +1059 -0
  469. package/src/proxmox/generated/pve/nodes-node-lxc-vmid-mtunnel.ts +49 -0
  470. package/src/proxmox/generated/pve/nodes-node-lxc-vmid-resize.ts +285 -0
  471. package/src/proxmox/generated/pve/nodes-node-lxc-vmid-rrd.ts +184 -0
  472. package/src/proxmox/generated/pve/nodes-node-lxc-vmid.ts +240 -0
  473. package/src/proxmox/generated/pve/nodes-node-network.ts +234 -0
  474. package/src/proxmox/generated/pve/nodes-node-qemu-vmid-config.ts +441 -0
  475. package/src/proxmox/generated/pve/nodes-node-qemu-vmid-dbus-vmstate.ts +215 -0
  476. package/src/proxmox/generated/pve/nodes-node-qemu-vmid-firewall-rules.ts +145 -0
  477. package/src/proxmox/generated/pve/nodes-node-qemu-vmid-move-disk.ts +664 -0
  478. package/src/proxmox/generated/pve/nodes-node-qemu-vmid-mtunnel.ts +188 -0
  479. package/src/proxmox/generated/pve/nodes-node-qemu-vmid-status.ts +233 -0
  480. package/src/proxmox/generated/pve/nodes-node-qemu-vmid.ts +187 -0
  481. package/src/proxmox/generated/pve/nodes-node-qemu.ts +204 -0
  482. package/src/proxmox/generated/pve/nodes-node-replication.ts +187 -0
  483. package/src/proxmox/generated/pve/nodes-node-services.ts +221 -0
  484. package/src/proxmox/generated/pve/nodes-node-storage-storage.ts +226 -0
  485. package/src/proxmox/generated/pve/nodes-node-storage.ts +40 -0
  486. package/src/proxmox/generated/pve/nodes-node-subscription.ts +168 -0
  487. package/src/proxmox/generated/pve/nodes-node-vzdump.ts +96 -0
  488. package/src/proxmox/generated/pve/nodes-node.ts +211 -0
  489. package/src/proxmox/generated/pve/nodes.ts +235 -0
  490. package/src/proxmox/generated/pve/pools.ts +78 -0
  491. package/src/proxmox/generated/pve/storage.ts +213 -0
  492. package/src/proxmox/generated/pve/version.ts +21 -0
  493. package/src/proxmox/generated/pve.ts +69 -7403
  494. package/src/proxmox/lxc-interior.test.ts +17 -1
  495. package/src/proxmox/lxc-lifecycle.ts +48 -9
  496. package/src/proxmox/metric-server-form.ts +10 -0
  497. package/src/proxmox/metric-server.ts +11 -2
  498. package/src/proxmox/network-apply.ts +4 -0
  499. package/src/proxmox/node-network-form.ts +19 -0
  500. package/src/proxmox/node-network.ts +9 -3
  501. package/src/proxmox/notification-target-endpoint.ts +46 -0
  502. package/src/proxmox/notification-target-form.ts +11 -0
  503. package/src/proxmox/notification-target.ts +5 -2
  504. package/src/proxmox/pbs-notification-target-endpoint.ts +45 -0
  505. package/src/proxmox/pbs-notification-target-lifecycle.ts +16 -14
  506. package/src/proxmox/qemu.ts +9 -1
  507. package/src/proxmox/resource-guard.ts +61 -0
  508. package/src/proxmox/resource-spec.ts +16 -4
  509. package/src/proxmox/resource.ts +27 -27
  510. package/src/proxmox/sdn-apply.ts +4 -0
  511. package/src/proxmox/sdn-subnet.ts +5 -0
  512. package/src/proxmox/zfs-pool-write.ts +12 -0
  513. package/src/proxmox/zfs-pool.ts +2 -1
  514. package/dist/proxmox/generated/constraints/pve-cluster.d.ts +0 -18
  515. package/dist/proxmox/generated/constraints/pve-cluster.d.ts.map +0 -1
  516. package/src/proxmox/generated/constraints/pve-cluster.ts +0 -174
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/cluster/ha` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_CLUSTER_HA_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /cluster/ha/resources": {
25
+ "comment": {"maxLength":4096,"type":"string"},
26
+ "group": {"format":"pve-configid","type":"string"},
27
+ "max_relocate": {"default":"1","minimum":0,"type":"integer"},
28
+ "max_restart": {"default":"1","minimum":0,"type":"integer"},
29
+ "sid": {"format":"pve-ha-resource-or-vm-id","required":true,"type":"string"},
30
+ "state": {"default":"started","enum":["started","stopped","enabled","disabled","ignored"],"type":"string"},
31
+ "type": {"enum":["ct","vm"],"type":"string"},
32
+ },
33
+ "pve:POST /cluster/ha/rules": {
34
+ "affinity": {"enum":["positive","negative"],"type":"string"},
35
+ "comment": {"maxLength":4096,"type":"string"},
36
+ "resources": {"format":"pve-ha-resource-id-list","required":true,"type":"string"},
37
+ "rule": {"format":"pve-configid","required":true,"type":"string"},
38
+ },
39
+ "pve:PUT /cluster/ha/resources/{sid}": {
40
+ "comment": {"maxLength":4096,"type":"string"},
41
+ "delete": {"format":"pve-configid-list","maxLength":4096,"type":"string"},
42
+ "digest": {"maxLength":64,"type":"string"},
43
+ "group": {"format":"pve-configid","type":"string"},
44
+ "max_relocate": {"default":"1","minimum":0,"type":"integer"},
45
+ "max_restart": {"default":"1","minimum":0,"type":"integer"},
46
+ "state": {"default":"started","enum":["started","stopped","enabled","disabled","ignored"],"type":"string"},
47
+ },
48
+ "pve:PUT /cluster/ha/rules/{rule}": {
49
+ "affinity": {"enum":["positive","negative"],"type":"string"},
50
+ "comment": {"maxLength":4096,"type":"string"},
51
+ "delete": {"format":"pve-configid-list","maxLength":4096,"type":"string"},
52
+ "digest": {"maxLength":64,"type":"string"},
53
+ "resources": {"format":"pve-ha-resource-id-list","type":"string"},
54
+ },
55
+ };
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/cluster/metrics` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_CLUSTER_METRICS_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /cluster/metrics/server/{id}": {
25
+ "influxdbproto": {"default":"udp","enum":["udp","http","https"],"type":"string"},
26
+ "max-body-size": {"default":"25000000","minimum":1,"type":"integer"},
27
+ "mtu": {"default":"1500","maximum":65536,"minimum":512,"type":"integer"},
28
+ "otel-compression": {"default":"gzip","enum":["none","gzip"],"type":"string"},
29
+ "otel-headers": {"maxLength":1024,"type":"string"},
30
+ "otel-max-body-size": {"default":"10000000","minimum":1024,"type":"integer"},
31
+ "otel-protocol": {"default":"https","enum":["http","https"],"type":"string"},
32
+ "otel-resource-attributes": {"maxLength":1024,"type":"string"},
33
+ "otel-timeout": {"default":"5","maximum":10,"minimum":1,"type":"integer"},
34
+ "path": {"format":"graphite-path","type":"string"},
35
+ "port": {"maximum":65536,"minimum":1,"required":true,"type":"integer"},
36
+ "proto": {"enum":["udp","tcp"],"type":"string"},
37
+ "server": {"format":"address","required":true,"type":"string"},
38
+ "timeout": {"default":"1","minimum":0,"type":"integer"},
39
+ "type": {"enum":["graphite","influxdb","opentelemetry"],"format":"pve-configid","required":true,"type":"string"},
40
+ },
41
+ "pve:PUT /cluster/metrics/server/{id}": {
42
+ "delete": {"format":"pve-configid-list","maxLength":4096,"type":"string"},
43
+ "digest": {"maxLength":64,"type":"string"},
44
+ "influxdbproto": {"default":"udp","enum":["udp","http","https"],"type":"string"},
45
+ "max-body-size": {"default":"25000000","minimum":1,"type":"integer"},
46
+ "mtu": {"default":"1500","maximum":65536,"minimum":512,"type":"integer"},
47
+ "otel-compression": {"default":"gzip","enum":["none","gzip"],"type":"string"},
48
+ "otel-headers": {"maxLength":1024,"type":"string"},
49
+ "otel-max-body-size": {"default":"10000000","minimum":1024,"type":"integer"},
50
+ "otel-protocol": {"default":"https","enum":["http","https"],"type":"string"},
51
+ "otel-resource-attributes": {"maxLength":1024,"type":"string"},
52
+ "otel-timeout": {"default":"5","maximum":10,"minimum":1,"type":"integer"},
53
+ "path": {"format":"graphite-path","type":"string"},
54
+ "port": {"maximum":65536,"minimum":1,"required":true,"type":"integer"},
55
+ "proto": {"enum":["udp","tcp"],"type":"string"},
56
+ "server": {"format":"address","required":true,"type":"string"},
57
+ "timeout": {"default":"1","minimum":0,"type":"integer"},
58
+ },
59
+ };
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/cluster/notifications` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_CLUSTER_NOTIFICATIONS_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /cluster/notifications/endpoints/gotify": {
25
+ "name": {"format":"pve-configid","required":true,"type":"string"},
26
+ "server": {"required":true,"type":"string"},
27
+ "token": {"required":true,"type":"string"},
28
+ },
29
+ "pve:POST /cluster/notifications/endpoints/sendmail": {
30
+ "mailto": {"each":true,"format":"email-or-username","type":"array"},
31
+ "mailto-user": {"each":true,"format":"pve-userid","type":"array"},
32
+ "name": {"format":"pve-configid","required":true,"type":"string"},
33
+ },
34
+ "pve:POST /cluster/notifications/endpoints/smtp": {
35
+ "from-address": {"required":true,"type":"string"},
36
+ "mailto": {"each":true,"format":"email-or-username","type":"array"},
37
+ "mailto-user": {"each":true,"format":"pve-userid","type":"array"},
38
+ "mode": {"default":"tls","enum":["insecure","starttls","tls"],"type":"string"},
39
+ "name": {"format":"pve-configid","required":true,"type":"string"},
40
+ "server": {"required":true,"type":"string"},
41
+ },
42
+ "pve:POST /cluster/notifications/endpoints/webhook": {
43
+ "method": {"enum":["post","put","get"],"required":true,"type":"string"},
44
+ "name": {"format":"pve-configid","required":true,"type":"string"},
45
+ "url": {"required":true,"type":"string"},
46
+ },
47
+ "pve:POST /cluster/notifications/matchers": {
48
+ "mode": {"default":"all","enum":["all","any"],"type":"string"},
49
+ "name": {"format":"pve-configid","required":true,"type":"string"},
50
+ "target": {"each":true,"format":"pve-configid","type":"array"},
51
+ },
52
+ "pve:PUT /cluster/notifications/endpoints/gotify/{name}": {
53
+ "delete": {"each":true,"format":"pve-configid","type":"array"},
54
+ "digest": {"maxLength":64,"type":"string"},
55
+ },
56
+ "pve:PUT /cluster/notifications/endpoints/sendmail/{name}": {
57
+ "delete": {"each":true,"format":"pve-configid","type":"array"},
58
+ "digest": {"maxLength":64,"type":"string"},
59
+ "mailto": {"each":true,"format":"email-or-username","type":"array"},
60
+ "mailto-user": {"each":true,"format":"pve-userid","type":"array"},
61
+ },
62
+ "pve:PUT /cluster/notifications/endpoints/smtp/{name}": {
63
+ "delete": {"each":true,"format":"pve-configid","type":"array"},
64
+ "digest": {"maxLength":64,"type":"string"},
65
+ "mailto": {"each":true,"format":"email-or-username","type":"array"},
66
+ "mailto-user": {"each":true,"format":"pve-userid","type":"array"},
67
+ "mode": {"default":"tls","enum":["insecure","starttls","tls"],"type":"string"},
68
+ },
69
+ "pve:PUT /cluster/notifications/endpoints/webhook/{name}": {
70
+ "delete": {"each":true,"format":"pve-configid","type":"array"},
71
+ "digest": {"maxLength":64,"type":"string"},
72
+ "method": {"enum":["post","put","get"],"type":"string"},
73
+ },
74
+ "pve:PUT /cluster/notifications/matchers/{name}": {
75
+ "delete": {"each":true,"format":"pve-configid","type":"array"},
76
+ "digest": {"maxLength":64,"type":"string"},
77
+ "mode": {"default":"all","enum":["all","any"],"type":"string"},
78
+ "target": {"each":true,"format":"pve-configid","type":"array"},
79
+ },
80
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/cluster/replication` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_CLUSTER_REPLICATION_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /cluster/replication": {
25
+ "comment": {"maxLength":4096,"type":"string"},
26
+ "id": {"format":"pve-replication-job-id","pattern":"^[1-9][0-9]{2,8}-\\d{1,9}\\n?$","patternSource":"[1-9][0-9]{2,8}-\\d{1,9}","required":true,"type":"string"},
27
+ "rate": {"minimum":1,"type":"number"},
28
+ "remove_job": {"enum":["local","full"],"type":"string"},
29
+ "schedule": {"default":"*/15","format":"pve-calendar-event","maxLength":128,"type":"string"},
30
+ "source": {"format":"pve-node","type":"string"},
31
+ "target": {"format":"pve-node","required":true,"type":"string"},
32
+ "type": {"enum":["local"],"required":true,"type":"string"},
33
+ },
34
+ "pve:PUT /cluster/replication/{id}": {
35
+ "comment": {"maxLength":4096,"type":"string"},
36
+ "delete": {"format":"pve-configid-list","maxLength":4096,"type":"string"},
37
+ "digest": {"maxLength":64,"type":"string"},
38
+ "rate": {"minimum":1,"type":"number"},
39
+ "remove_job": {"enum":["local","full"],"type":"string"},
40
+ "schedule": {"default":"*/15","format":"pve-calendar-event","maxLength":128,"type":"string"},
41
+ "source": {"format":"pve-node","type":"string"},
42
+ },
43
+ };
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/cluster/sdn` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_CLUSTER_SDN_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /cluster/sdn/vnets": {
25
+ "alias": {"maxLength":256,"patternSource":"(?^i:[\\(\\)-_.\\w\\d\\s]{0,256})","type":"string"},
26
+ "tag": {"maximum":16777215,"minimum":1,"type":"integer"},
27
+ "type": {"enum":["vnet"],"type":"string"},
28
+ "vnet": {"maxLength":8,"minLength":2,"pattern":"^[a-zA-Z][a-zA-Z0-9]*[a-zA-Z0-9]\\n?$","patternSource":"[a-zA-Z][a-zA-Z0-9]*[a-zA-Z0-9]","required":true,"type":"string"},
29
+ "zone": {"required":true,"type":"string"},
30
+ },
31
+ "pve:POST /cluster/sdn/vnets/{vnet}/subnets": {
32
+ "dhcp-dns-server": {"format":"ip","type":"string"},
33
+ "dhcp-range": {"each":true,"format":"pve-sdn-dhcp-range","type":"array"},
34
+ "dnszoneprefix": {"format":"dns-name","type":"string"},
35
+ "gateway": {"format":"ip","type":"string"},
36
+ "subnet": {"format":"pve-sdn-subnet-id","required":true,"type":"string"},
37
+ "type": {"enum":["subnet"],"required":true,"type":"string"},
38
+ },
39
+ "pve:POST /cluster/sdn/zones": {
40
+ "dhcp": {"enum":["dnsmasq"],"type":"string"},
41
+ "dnszone": {"format":"dns-name","type":"string"},
42
+ "exitnodes": {"format":"pve-node-list","type":"string"},
43
+ "exitnodes-primary": {"format":"pve-node","type":"string"},
44
+ "fabric": {"format":"pve-sdn-fabric-id","type":"string"},
45
+ "mac": {"format":"mac-addr","type":"string"},
46
+ "nodes": {"format":"pve-node-list","type":"string"},
47
+ "peers": {"format":"ip-list","type":"string"},
48
+ "rt-import": {"format":"pve-sdn-bgp-rt-list","type":"string"},
49
+ "secondary-controllers": {"each":true,"maxLength":64,"minLength":2,"pattern":"^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9]\\n?$","patternSource":"[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9]","type":"array"},
50
+ "tag": {"minimum":0,"type":"integer"},
51
+ "type": {"enum":["evpn","faucet","qinq","simple","vlan","vxlan"],"format":"pve-configid","required":true,"type":"string"},
52
+ "vlan-protocol": {"default":"802.1q","enum":["802.1q","802.1ad"],"type":"string"},
53
+ "vrf-vxlan": {"maximum":16777215,"minimum":1,"type":"integer"},
54
+ "vxlan-port": {"default":"4789","maximum":65536,"minimum":1,"type":"integer"},
55
+ "zone": {"maxLength":8,"minLength":2,"pattern":"^[a-zA-Z][a-zA-Z0-9]*[a-zA-Z0-9]\\n?$","patternSource":"[a-zA-Z][a-zA-Z0-9]*[a-zA-Z0-9]","required":true,"type":"string"},
56
+ },
57
+ "pve:PUT /cluster/sdn": {},
58
+ "pve:PUT /cluster/sdn/vnets/{vnet}": {
59
+ "alias": {"maxLength":256,"patternSource":"(?^i:[\\(\\)-_.\\w\\d\\s]{0,256})","type":"string"},
60
+ "delete": {"format":"pve-configid-list","maxLength":4096,"type":"string"},
61
+ "digest": {"maxLength":64,"type":"string"},
62
+ "tag": {"maximum":16777215,"minimum":1,"type":"integer"},
63
+ },
64
+ "pve:PUT /cluster/sdn/vnets/{vnet}/subnets/{subnet}": {
65
+ "delete": {"format":"pve-configid-list","maxLength":4096,"type":"string"},
66
+ "dhcp-dns-server": {"format":"ip","type":"string"},
67
+ "dhcp-range": {"each":true,"format":"pve-sdn-dhcp-range","type":"array"},
68
+ "digest": {"maxLength":64,"type":"string"},
69
+ "dnszoneprefix": {"format":"dns-name","type":"string"},
70
+ "gateway": {"format":"ip","type":"string"},
71
+ },
72
+ "pve:PUT /cluster/sdn/zones/{zone}": {
73
+ "delete": {"format":"pve-configid-list","maxLength":4096,"type":"string"},
74
+ "dhcp": {"enum":["dnsmasq"],"type":"string"},
75
+ "digest": {"maxLength":64,"type":"string"},
76
+ "dnszone": {"format":"dns-name","type":"string"},
77
+ "exitnodes": {"format":"pve-node-list","type":"string"},
78
+ "exitnodes-primary": {"format":"pve-node","type":"string"},
79
+ "fabric": {"format":"pve-sdn-fabric-id","type":"string"},
80
+ "mac": {"format":"mac-addr","type":"string"},
81
+ "nodes": {"format":"pve-node-list","type":"string"},
82
+ "peers": {"format":"ip-list","type":"string"},
83
+ "rt-import": {"format":"pve-sdn-bgp-rt-list","type":"string"},
84
+ "secondary-controllers": {"each":true,"maxLength":64,"minLength":2,"pattern":"^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9]\\n?$","patternSource":"[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9]","type":"array"},
85
+ "tag": {"minimum":0,"type":"integer"},
86
+ "vlan-protocol": {"default":"802.1q","enum":["802.1q","802.1ad"],"type":"string"},
87
+ "vrf-vxlan": {"maximum":16777215,"minimum":1,"type":"integer"},
88
+ "vxlan-port": {"default":"4789","maximum":65536,"minimum":1,"type":"integer"},
89
+ },
90
+ };
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/nodes/{node}/ceph` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_NODES_CEPH_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /nodes/{node}/ceph/fs/{name}": {
25
+ "pg_num": {"default":"128","maximum":32768,"minimum":8,"type":"integer"},
26
+ },
27
+ "pve:POST /nodes/{node}/ceph/mds/{name}": {},
28
+ "pve:POST /nodes/{node}/ceph/mgr/{id}": {},
29
+ "pve:POST /nodes/{node}/ceph/mon/{monid}": {
30
+ "mon-address": {"format":"ip-list","type":"string"},
31
+ },
32
+ "pve:POST /nodes/{node}/ceph/osd": {
33
+ "db_dev_size": {"minimum":1,"type":"number"},
34
+ "dev": {"required":true,"type":"string"},
35
+ "osds-per-device": {"minimum":1,"type":"integer"},
36
+ "wal_dev_size": {"minimum":0.5,"type":"number"},
37
+ },
38
+ "pve:POST /nodes/{node}/ceph/pool": {
39
+ "application": {"default":"rbd","enum":["rbd","cephfs","rgw"],"type":"string"},
40
+ "min_size": {"default":"2","maximum":7,"minimum":1,"type":"integer"},
41
+ "name": {"patternSource":"(?^:^[^:/\\s]+$)","required":true,"type":"string"},
42
+ "pg_autoscale_mode": {"default":"warn","enum":["on","off","warn"],"type":"string"},
43
+ "pg_num": {"default":"128","maximum":32768,"minimum":1,"type":"integer"},
44
+ "pg_num_min": {"maximum":32768,"type":"integer"},
45
+ "size": {"default":"3","maximum":7,"minimum":1,"type":"integer"},
46
+ "target_size": {"pattern":"^^(\\d+(\\.\\d+)?)([KMGT])?$\\n?$","patternSource":"^(\\d+(\\.\\d+)?)([KMGT])?$","type":"string"},
47
+ },
48
+ "pve:PUT /nodes/{node}/ceph/pool/{name}": {
49
+ "application": {"enum":["rbd","cephfs","rgw"],"type":"string"},
50
+ "min_size": {"maximum":7,"minimum":1,"type":"integer"},
51
+ "pg_autoscale_mode": {"enum":["on","off","warn"],"type":"string"},
52
+ "pg_num": {"maximum":32768,"minimum":1,"type":"integer"},
53
+ "pg_num_min": {"maximum":32768,"type":"integer"},
54
+ "size": {"maximum":7,"minimum":1,"type":"integer"},
55
+ "target_size": {"pattern":"^^(\\d+(\\.\\d+)?)([KMGT])?$\\n?$","patternSource":"^(\\d+(\\.\\d+)?)([KMGT])?$","type":"string"},
56
+ },
57
+ };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/nodes/{node}/disks` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_NODES_DISKS_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /nodes/{node}/disks/zfs": {
25
+ "ashift": {"default":"12","maximum":16,"minimum":9,"type":"integer"},
26
+ "compression": {"default":"on","enum":["on","off","gzip","lz4","lzjb","zle","zstd"],"type":"string"},
27
+ "devices": {"format":"string-list","required":true,"type":"string"},
28
+ "name": {"format":"pve-storage-id","required":true,"type":"string"},
29
+ "raidlevel": {"enum":["single","mirror","raid10","raidz","raidz2","raidz3","draid","draid2","draid3"],"required":true,"type":"string"},
30
+ },
31
+ };
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/nodes/{node}/lxc` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_NODES_LXC_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /nodes/{node}/lxc": {
25
+ "arch": {"default":"amd64","enum":["amd64","i386","arm64","armhf","riscv32","riscv64"],"type":"string"},
26
+ "bwlimit": {"default":"restore limit from datacenter or storage config","minimum":0,"type":"number"},
27
+ "cmode": {"default":"tty","enum":["shell","console","tty"],"type":"string"},
28
+ "cores": {"maximum":8192,"minimum":1,"type":"integer"},
29
+ "cpulimit": {"default":"0","maximum":8192,"minimum":0,"type":"number"},
30
+ "cpuunits": {"default":"cgroup v1: 1024, cgroup v2: 100","maximum":500000,"minimum":0,"type":"integer"},
31
+ "description": {"maxLength":8192,"type":"string"},
32
+ "entrypoint": {"default":"/sbin/init","patternSource":"(?^:[^\\x00-\\x08\\x0a-\\x1F\\x7F]+)","type":"string"},
33
+ "env": {"patternSource":"(?^:(?:\\w+=[^\\x00-\\x08\\x0a-\\x1F\\x7F]*)(?:\\0\\w+=[^\\x00-\\x08\\x0a-\\x1F\\x7F]*)*)","type":"string"},
34
+ "hookscript": {"format":"pve-volume-id","type":"string"},
35
+ "hostname": {"format":"dns-name","maxLength":255,"type":"string"},
36
+ "lock": {"enum":["backup","create","destroyed","disk","fstrim","migrate","mounted","rollback","snapshot","snapshot-delete"],"type":"string"},
37
+ "memory": {"default":"512","minimum":16,"type":"integer"},
38
+ "nameserver": {"format":"lxc-ip-with-ll-iface-list","type":"string"},
39
+ "ostemplate": {"maxLength":255,"required":true,"type":"string"},
40
+ "ostype": {"enum":["debian","devuan","ubuntu","centos","fedora","opensuse","archlinux","alpine","gentoo","nixos","unmanaged"],"type":"string"},
41
+ "password": {"minLength":5,"type":"string"},
42
+ "pool": {"format":"pve-poolid","type":"string"},
43
+ "searchdomain": {"format":"dns-name-list","type":"string"},
44
+ "startup": {"format":"pve-startup-order","type":"string"},
45
+ "storage": {"default":"local","format":"pve-storage-id","type":"string"},
46
+ "swap": {"default":"512","minimum":0,"type":"integer"},
47
+ "tags": {"format":"pve-tag-list","type":"string"},
48
+ "timezone": {"format":"pve-ct-timezone","type":"string"},
49
+ "tty": {"default":"2","maximum":6,"minimum":0,"type":"integer"},
50
+ "vmid": {"format":"pve-vmid","maximum":999999999,"minimum":100,"required":true,"type":"integer"},
51
+ },
52
+ "pve:PUT /nodes/{node}/lxc/{vmid}/config": {
53
+ "arch": {"default":"amd64","enum":["amd64","i386","arm64","armhf","riscv32","riscv64"],"type":"string"},
54
+ "cmode": {"default":"tty","enum":["shell","console","tty"],"type":"string"},
55
+ "cores": {"maximum":8192,"minimum":1,"type":"integer"},
56
+ "cpulimit": {"default":"0","maximum":8192,"minimum":0,"type":"number"},
57
+ "cpuunits": {"default":"cgroup v1: 1024, cgroup v2: 100","maximum":500000,"minimum":0,"type":"integer"},
58
+ "delete": {"format":"pve-configid-list","type":"string"},
59
+ "description": {"maxLength":8192,"type":"string"},
60
+ "digest": {"maxLength":40,"type":"string"},
61
+ "entrypoint": {"default":"/sbin/init","patternSource":"(?^:[^\\x00-\\x08\\x0a-\\x1F\\x7F]+)","type":"string"},
62
+ "env": {"patternSource":"(?^:(?:\\w+=[^\\x00-\\x08\\x0a-\\x1F\\x7F]*)(?:\\0\\w+=[^\\x00-\\x08\\x0a-\\x1F\\x7F]*)*)","type":"string"},
63
+ "hookscript": {"format":"pve-volume-id","type":"string"},
64
+ "hostname": {"format":"dns-name","maxLength":255,"type":"string"},
65
+ "lock": {"enum":["backup","create","destroyed","disk","fstrim","migrate","mounted","rollback","snapshot","snapshot-delete"],"type":"string"},
66
+ "memory": {"default":"512","minimum":16,"type":"integer"},
67
+ "nameserver": {"format":"lxc-ip-with-ll-iface-list","type":"string"},
68
+ "ostype": {"enum":["debian","devuan","ubuntu","centos","fedora","opensuse","archlinux","alpine","gentoo","nixos","unmanaged"],"type":"string"},
69
+ "revert": {"format":"pve-configid-list","type":"string"},
70
+ "searchdomain": {"format":"dns-name-list","type":"string"},
71
+ "startup": {"format":"pve-startup-order","type":"string"},
72
+ "swap": {"default":"512","minimum":0,"type":"integer"},
73
+ "tags": {"format":"pve-tag-list","type":"string"},
74
+ "timezone": {"format":"pve-ct-timezone","type":"string"},
75
+ "tty": {"default":"2","maximum":6,"minimum":0,"type":"integer"},
76
+ },
77
+ "pve:PUT /nodes/{node}/lxc/{vmid}/resize": {
78
+ "digest": {"maxLength":40,"type":"string"},
79
+ "disk": {"enum":["rootfs","mp0","mp1","mp2","mp3","mp4","mp5","mp6","mp7","mp8","mp9","mp10","mp11","mp12","mp13","mp14","mp15","mp16","mp17","mp18","mp19","mp20","mp21","mp22","mp23","mp24","mp25","mp26","mp27","mp28","mp29","mp30","mp31","mp32","mp33","mp34","mp35","mp36","mp37","mp38","mp39","mp40","mp41","mp42","mp43","mp44","mp45","mp46","mp47","mp48","mp49","mp50","mp51","mp52","mp53","mp54","mp55","mp56","mp57","mp58","mp59","mp60","mp61","mp62","mp63","mp64","mp65","mp66","mp67","mp68","mp69","mp70","mp71","mp72","mp73","mp74","mp75","mp76","mp77","mp78","mp79","mp80","mp81","mp82","mp83","mp84","mp85","mp86","mp87","mp88","mp89","mp90","mp91","mp92","mp93","mp94","mp95","mp96","mp97","mp98","mp99","mp100","mp101","mp102","mp103","mp104","mp105","mp106","mp107","mp108","mp109","mp110","mp111","mp112","mp113","mp114","mp115","mp116","mp117","mp118","mp119","mp120","mp121","mp122","mp123","mp124","mp125","mp126","mp127","mp128","mp129","mp130","mp131","mp132","mp133","mp134","mp135","mp136","mp137","mp138","mp139","mp140","mp141","mp142","mp143","mp144","mp145","mp146","mp147","mp148","mp149","mp150","mp151","mp152","mp153","mp154","mp155","mp156","mp157","mp158","mp159","mp160","mp161","mp162","mp163","mp164","mp165","mp166","mp167","mp168","mp169","mp170","mp171","mp172","mp173","mp174","mp175","mp176","mp177","mp178","mp179","mp180","mp181","mp182","mp183","mp184","mp185","mp186","mp187","mp188","mp189","mp190","mp191","mp192","mp193","mp194","mp195","mp196","mp197","mp198","mp199","mp200","mp201","mp202","mp203","mp204","mp205","mp206","mp207","mp208","mp209","mp210","mp211","mp212","mp213","mp214","mp215","mp216","mp217","mp218","mp219","mp220","mp221","mp222","mp223","mp224","mp225","mp226","mp227","mp228","mp229","mp230","mp231","mp232","mp233","mp234","mp235","mp236","mp237","mp238","mp239","mp240","mp241","mp242","mp243","mp244","mp245","mp246","mp247","mp248","mp249","mp250","mp251","mp252","mp253","mp254","mp255"],"required":true,"type":"string"},
80
+ "size": {"pattern":"^\\+?\\d+(\\.\\d+)?[KMGT]?\\n?$","patternSource":"\\+?\\d+(\\.\\d+)?[KMGT]?","required":true,"type":"string"},
81
+ },
82
+ };
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Generated pve-manager parameter constraints for `/nodes/{node}/network` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Run: bun codegen/constraints.ts
5
+ * Manifest entry: `pve-apidoc` — pve-manager 9.2.11/f6997e698c7933ea
6
+ * sha256 9def8f13611184ee, read on a PVE cluster node from
7
+ * /usr/share/pve-docs/api-viewer/apidoc.js
8
+ *
9
+ * 59 of this product's 258 POST/PUT endpoints are tabled across all areas: the ones
10
+ * this package writes to, named in its own source. Every other vendor write endpoint is UNTABLED
11
+ * and therefore unchecked at plan time.
12
+ *
13
+ * ⚠️ A `patternSource` with no `pattern` beside it is a rule that could NOT be carried into a
14
+ * JavaScript RegExp faithfully (codegen/pattern.ts). It is recorded and NOT enforced.
15
+ * ⚠️ `pattern` IS NOT THE VENDOR'S SPELLING. For PVE it is anchored, because PVE applies
16
+ * `m/^$pattern$/` itself (JSONSchema.pm); for PBS it is the vendor's own, which already
17
+ * carries its anchors. `patternSource` is the spelling to quote at a human — param-rules.ts.
18
+ * ⚠️ `each: true` means the value rules describe every ELEMENT of a repeated key, because the
19
+ * parameter is an array and stated its limits on `items`.
20
+ */
21
+ import type { EndpointConstraints } from '../../constraints.ts';
22
+
23
+ export const PVE_NODES_NETWORK_CONSTRAINTS: Readonly<Record<string, EndpointConstraints>> = {
24
+ "pve:POST /nodes/{node}/network": {
25
+ "address": {"format":"ipv4","type":"string"},
26
+ "address6": {"format":"ipv6","type":"string"},
27
+ "bond-primary": {"format":"pve-iface","type":"string"},
28
+ "bond_mode": {"enum":["balance-rr","active-backup","balance-xor","broadcast","802.3ad","balance-tlb","balance-alb","balance-slb","lacp-balance-slb","lacp-balance-tcp"],"type":"string"},
29
+ "bond_xmit_hash_policy": {"enum":["layer2","layer2+3","layer3+4"],"type":"string"},
30
+ "bridge_ports": {"format":"pve-iface-list","type":"string"},
31
+ "bridge_vids": {"format":"pve-vlan-id-or-range-list","type":"string"},
32
+ "cidr": {"format":"CIDRv4","type":"string"},
33
+ "cidr6": {"format":"CIDRv6","type":"string"},
34
+ "gateway": {"format":"ipv4","type":"string"},
35
+ "gateway6": {"format":"ipv6","type":"string"},
36
+ "iface": {"format":"pve-iface","maxLength":20,"minLength":2,"required":true,"type":"string"},
37
+ "mtu": {"maximum":65520,"minimum":1280,"type":"integer"},
38
+ "netmask": {"format":"ipv4mask","type":"string"},
39
+ "netmask6": {"maximum":128,"minimum":0,"type":"integer"},
40
+ "ovs_bonds": {"format":"pve-iface-list","type":"string"},
41
+ "ovs_bridge": {"format":"pve-iface","type":"string"},
42
+ "ovs_options": {"maxLength":1024,"type":"string"},
43
+ "ovs_ports": {"format":"pve-iface-list","type":"string"},
44
+ "ovs_tag": {"maximum":4094,"minimum":1,"type":"integer"},
45
+ "slaves": {"format":"pve-iface-list","type":"string"},
46
+ "type": {"enum":["bridge","bond","eth","alias","vlan","fabric","OVSBridge","OVSBond","OVSPort","OVSIntPort","vnet","unknown"],"required":true,"type":"string"},
47
+ "vlan-id": {"maximum":4094,"minimum":1,"type":"integer"},
48
+ "vlan-raw-device": {"format":"pve-iface","type":"string"},
49
+ },
50
+ "pve:PUT /nodes/{node}/network": {},
51
+ "pve:PUT /nodes/{node}/network/{iface}": {
52
+ "address": {"format":"ipv4","type":"string"},
53
+ "address6": {"format":"ipv6","type":"string"},
54
+ "bond-primary": {"format":"pve-iface","type":"string"},
55
+ "bond_mode": {"enum":["balance-rr","active-backup","balance-xor","broadcast","802.3ad","balance-tlb","balance-alb","balance-slb","lacp-balance-slb","lacp-balance-tcp"],"type":"string"},
56
+ "bond_xmit_hash_policy": {"enum":["layer2","layer2+3","layer3+4"],"type":"string"},
57
+ "bridge_ports": {"format":"pve-iface-list","type":"string"},
58
+ "bridge_vids": {"format":"pve-vlan-id-or-range-list","type":"string"},
59
+ "cidr": {"format":"CIDRv4","type":"string"},
60
+ "cidr6": {"format":"CIDRv6","type":"string"},
61
+ "delete": {"format":"pve-configid-list","type":"string"},
62
+ "gateway": {"format":"ipv4","type":"string"},
63
+ "gateway6": {"format":"ipv6","type":"string"},
64
+ "mtu": {"maximum":65520,"minimum":1280,"type":"integer"},
65
+ "netmask": {"format":"ipv4mask","type":"string"},
66
+ "netmask6": {"maximum":128,"minimum":0,"type":"integer"},
67
+ "ovs_bonds": {"format":"pve-iface-list","type":"string"},
68
+ "ovs_bridge": {"format":"pve-iface","type":"string"},
69
+ "ovs_options": {"maxLength":1024,"type":"string"},
70
+ "ovs_ports": {"format":"pve-iface-list","type":"string"},
71
+ "ovs_tag": {"maximum":4094,"minimum":1,"type":"integer"},
72
+ "slaves": {"format":"pve-iface-list","type":"string"},
73
+ "type": {"enum":["bridge","bond","eth","alias","vlan","fabric","OVSBridge","OVSBond","OVSPort","OVSIntPort","vnet","unknown"],"required":true,"type":"string"},
74
+ "vlan-id": {"maximum":4094,"minimum":1,"type":"integer"},
75
+ "vlan-raw-device": {"format":"pve-iface","type":"string"},
76
+ },
77
+ };