]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
installation: don't mention ext3 as an option anymore
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
e9cd3bd4 9 "allowtoken" : 1,
5d9c884c
DM
10 "description" : "Mark replication job for removal.",
11 "method" : "DELETE",
12 "name" : "delete",
13 "parameters" : {
14 "additionalProperties" : 0,
15 "properties" : {
16 "force" : {
17 "default" : 0,
18 "description" : "Will remove the jobconfig entry, but will not cleanup.",
19 "optional" : 1,
20 "type" : "boolean",
21 "typetext" : "<boolean>"
22 },
23 "id" : {
24 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25 "format" : "pve-replication-job-id",
26 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
27 "type" : "string"
28 },
29 "keep" : {
30 "default" : 0,
31 "description" : "Keep replicated data at target (do not remove).",
32 "optional" : 1,
33 "type" : "boolean",
34 "typetext" : "<boolean>"
35 }
36 }
37 },
38 "permissions" : {
39 "check" : [
40 "perm",
41 "/storage",
42 [
43 "Datastore.Allocate"
44 ]
45 ]
46 },
47 "protected" : 1,
48 "returns" : {
49 "type" : "null"
50 }
51 },
52 "GET" : {
e9cd3bd4 53 "allowtoken" : 1,
5d9c884c
DM
54 "description" : "Read replication job configuration.",
55 "method" : "GET",
56 "name" : "read",
57 "parameters" : {
58 "additionalProperties" : 0,
59 "properties" : {
60 "id" : {
61 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
62 "format" : "pve-replication-job-id",
63 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
64 "type" : "string"
65 }
66 }
67 },
68 "permissions" : {
69 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
70 "user" : "all"
71 },
72 "returns" : {
73 "type" : "object"
74 }
75 },
76 "PUT" : {
e9cd3bd4 77 "allowtoken" : 1,
5d9c884c
DM
78 "description" : "Update replication job configuration.",
79 "method" : "PUT",
80 "name" : "update",
81 "parameters" : {
82 "additionalProperties" : 0,
83 "properties" : {
84 "comment" : {
85 "description" : "Description.",
86 "maxLength" : 4096,
87 "optional" : 1,
88 "type" : "string",
89 "typetext" : "<string>"
90 },
91 "delete" : {
92 "description" : "A list of settings you want to delete.",
93 "format" : "pve-configid-list",
94 "maxLength" : 4096,
95 "optional" : 1,
96 "type" : "string",
97 "typetext" : "<string>"
98 },
99 "digest" : {
100 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
101 "maxLength" : 40,
102 "optional" : 1,
103 "type" : "string",
104 "typetext" : "<string>"
105 },
106 "disable" : {
107 "description" : "Flag to disable/deactivate the entry.",
108 "optional" : 1,
109 "type" : "boolean",
110 "typetext" : "<boolean>"
111 },
112 "id" : {
113 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
114 "format" : "pve-replication-job-id",
115 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
116 "type" : "string"
117 },
118 "rate" : {
119 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
120 "minimum" : 1,
121 "optional" : 1,
122 "type" : "number",
123 "typetext" : "<number> (1 - N)"
124 },
125 "remove_job" : {
126 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
127 "enum" : [
128 "local",
129 "full"
130 ],
131 "optional" : 1,
132 "type" : "string"
133 },
134 "schedule" : {
135 "default" : "*/15",
c5aa7e14 136 "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.",
5d9c884c
DM
137 "format" : "pve-calendar-event",
138 "maxLength" : 128,
139 "optional" : 1,
140 "type" : "string",
141 "typetext" : "<string>"
a9a8e3d1
DM
142 },
143 "source" : {
144 "description" : "Source of the replication.",
145 "format" : "pve-node",
146 "optional" : 1,
147 "type" : "string",
148 "typetext" : "<string>"
5d9c884c
DM
149 }
150 },
151 "type" : "object"
152 },
153 "permissions" : {
154 "check" : [
155 "perm",
156 "/storage",
157 [
158 "Datastore.Allocate"
159 ]
160 ]
161 },
162 "protected" : 1,
163 "returns" : {
164 "type" : "null"
165 }
166 }
167 },
168 "leaf" : 1,
169 "path" : "/cluster/replication/{id}",
170 "text" : "{id}"
171 }
172 ],
173 "info" : {
174 "GET" : {
e9cd3bd4 175 "allowtoken" : 1,
5d9c884c
DM
176 "description" : "List replication jobs.",
177 "method" : "GET",
178 "name" : "index",
179 "parameters" : {
180 "additionalProperties" : 0
181 },
182 "permissions" : {
183 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
184 "user" : "all"
185 },
186 "returns" : {
187 "items" : {
188 "properties" : {},
189 "type" : "object"
190 },
191 "links" : [
192 {
193 "href" : "{id}",
194 "rel" : "child"
195 }
196 ],
197 "type" : "array"
198 }
199 },
200 "POST" : {
e9cd3bd4 201 "allowtoken" : 1,
5d9c884c
DM
202 "description" : "Create a new replication job",
203 "method" : "POST",
204 "name" : "create",
205 "parameters" : {
206 "additionalProperties" : 0,
207 "properties" : {
208 "comment" : {
209 "description" : "Description.",
210 "maxLength" : 4096,
211 "optional" : 1,
212 "type" : "string",
213 "typetext" : "<string>"
214 },
215 "disable" : {
216 "description" : "Flag to disable/deactivate the entry.",
217 "optional" : 1,
218 "type" : "boolean",
219 "typetext" : "<boolean>"
220 },
221 "id" : {
222 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
223 "format" : "pve-replication-job-id",
224 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
225 "type" : "string"
226 },
227 "rate" : {
228 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
229 "minimum" : 1,
230 "optional" : 1,
231 "type" : "number",
232 "typetext" : "<number> (1 - N)"
233 },
234 "remove_job" : {
235 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
236 "enum" : [
237 "local",
238 "full"
239 ],
240 "optional" : 1,
241 "type" : "string"
242 },
243 "schedule" : {
244 "default" : "*/15",
c5aa7e14 245 "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.",
5d9c884c
DM
246 "format" : "pve-calendar-event",
247 "maxLength" : 128,
248 "optional" : 1,
249 "type" : "string",
250 "typetext" : "<string>"
251 },
a9a8e3d1
DM
252 "source" : {
253 "description" : "Source of the replication.",
254 "format" : "pve-node",
255 "optional" : 1,
256 "type" : "string",
257 "typetext" : "<string>"
258 },
5d9c884c
DM
259 "target" : {
260 "description" : "Target node.",
261 "format" : "pve-node",
262 "optional" : 0,
263 "type" : "string",
264 "typetext" : "<string>"
265 },
266 "type" : {
267 "description" : "Section type.",
268 "enum" : [
269 "local"
270 ],
271 "type" : "string"
272 }
273 },
274 "type" : "object"
275 },
276 "permissions" : {
277 "check" : [
278 "perm",
279 "/storage",
280 [
281 "Datastore.Allocate"
282 ]
283 ]
284 },
285 "protected" : 1,
286 "returns" : {
287 "type" : "null"
288 }
289 }
290 },
291 "leaf" : 0,
292 "path" : "/cluster/replication",
293 "text" : "replication"
294 },
32d876b5
DM
295 {
296 "children" : [
c5aa7e14
TL
297 {
298 "info" : {
299 "GET" : {
300 "allowtoken" : 1,
301 "description" : "Return the version of the cluster join API available on this node.",
302 "method" : "GET",
303 "name" : "join_api_version",
304 "parameters" : {
305 "additionalProperties" : 0
306 },
307 "permissions" : {
308 "check" : [
309 "perm",
310 "/",
311 [
312 "Sys.Audit"
313 ]
314 ]
315 },
316 "returns" : {
317 "description" : "Cluster Join API version, currently 1",
318 "minimum" : 0,
319 "type" : "integer"
320 }
321 }
322 },
323 "leaf" : 1,
324 "path" : "/cluster/config/apiversion",
325 "text" : "apiversion"
326 },
32d876b5 327 {
27a7acb2
DM
328 "children" : [
329 {
330 "info" : {
331 "DELETE" : {
e9cd3bd4 332 "allowtoken" : 1,
27a7acb2
DM
333 "description" : "Removes a node from the cluster configuration.",
334 "method" : "DELETE",
335 "name" : "delnode",
336 "parameters" : {
337 "additionalProperties" : 0,
338 "properties" : {
339 "node" : {
340 "description" : "The cluster node name.",
341 "format" : "pve-node",
342 "type" : "string",
343 "typetext" : "<string>"
344 }
345 }
346 },
347 "protected" : 1,
348 "returns" : {
349 "type" : "null"
350 }
351 },
352 "POST" : {
e9cd3bd4 353 "allowtoken" : 1,
e2d681b3 354 "description" : "Adds a node to the cluster configuration. This call is for internal use.",
27a7acb2
DM
355 "method" : "POST",
356 "name" : "addnode",
357 "parameters" : {
358 "additionalProperties" : 0,
359 "properties" : {
c5aa7e14
TL
360 "apiversion" : {
361 "description" : "The JOIN_API_VERSION of the new node.",
362 "optional" : 1,
363 "type" : "integer",
364 "typetext" : "<integer>"
365 },
27a7acb2
DM
366 "force" : {
367 "description" : "Do not throw error if node already exists.",
368 "optional" : 1,
369 "type" : "boolean",
370 "typetext" : "<boolean>"
371 },
1e3f8156 372 "link[n]" : {
c5aa7e14 373 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
374 "format" : {
375 "address" : {
376 "default_key" : 1,
377 "description" : "Hostname (or IP) of this corosync link address.",
378 "format" : "address",
379 "format_description" : "IP",
380 "type" : "string"
381 },
382 "priority" : {
383 "default" : 0,
c5aa7e14 384 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
385 "maximum" : 255,
386 "minimum" : 0,
387 "optional" : 1,
388 "type" : "integer"
389 }
390 },
391 "optional" : 1,
392 "type" : "string",
393 "typetext" : "[address=]<IP> [,priority=<integer>]"
394 },
c5aa7e14
TL
395 "new_node_ip" : {
396 "description" : "IP Address of node to add. Used as fallback if no links are given.",
397 "format" : "ip",
398 "optional" : 1,
399 "type" : "string",
400 "typetext" : "<string>"
401 },
27a7acb2
DM
402 "node" : {
403 "description" : "The cluster node name.",
404 "format" : "pve-node",
405 "type" : "string",
406 "typetext" : "<string>"
407 },
408 "nodeid" : {
409 "description" : "Node id for this node.",
410 "minimum" : 1,
411 "optional" : 1,
412 "type" : "integer",
413 "typetext" : "<integer> (1 - N)"
414 },
27a7acb2
DM
415 "votes" : {
416 "description" : "Number of votes for this node",
417 "minimum" : 0,
418 "optional" : 1,
419 "type" : "integer",
420 "typetext" : "<integer> (0 - N)"
421 }
422 }
423 },
424 "protected" : 1,
425 "returns" : {
426 "properties" : {
427 "corosync_authkey" : {
428 "type" : "string"
429 },
430 "corosync_conf" : {
431 "type" : "string"
c5aa7e14
TL
432 },
433 "warnings" : {
434 "items" : {
435 "type" : "string"
436 },
437 "type" : "array"
27a7acb2
DM
438 }
439 },
440 "type" : "object"
441 }
442 }
443 },
444 "leaf" : 1,
445 "path" : "/cluster/config/nodes/{node}",
446 "text" : "{node}"
447 }
448 ],
32d876b5
DM
449 "info" : {
450 "GET" : {
e9cd3bd4 451 "allowtoken" : 1,
32d876b5
DM
452 "description" : "Corosync node list.",
453 "method" : "GET",
454 "name" : "nodes",
455 "parameters" : {
456 "additionalProperties" : 0
457 },
5d9c884c
DM
458 "permissions" : {
459 "check" : [
460 "perm",
461 "/",
462 [
463 "Sys.Audit"
464 ]
465 ]
466 },
32d876b5
DM
467 "returns" : {
468 "items" : {
469 "properties" : {
470 "node" : {
471 "type" : "string"
472 }
473 },
474 "type" : "object"
475 },
476 "links" : [
477 {
478 "href" : "{node}",
479 "rel" : "child"
480 }
481 ],
482 "type" : "array"
483 }
484 }
485 },
27a7acb2 486 "leaf" : 0,
32d876b5
DM
487 "path" : "/cluster/config/nodes",
488 "text" : "nodes"
489 },
27a7acb2
DM
490 {
491 "info" : {
492 "GET" : {
e9cd3bd4 493 "allowtoken" : 1,
27a7acb2
DM
494 "description" : "Get information needed to join this cluster over the connected node.",
495 "method" : "GET",
496 "name" : "join_info",
497 "parameters" : {
498 "additionalProperties" : 0,
499 "properties" : {
500 "node" : {
501 "default" : "current connected node",
502 "description" : "The node for which the joinee gets the nodeinfo. ",
503 "format" : "pve-node",
504 "optional" : 1,
505 "type" : "string",
506 "typetext" : "<string>"
507 }
508 }
509 },
a9a8e3d1
DM
510 "permissions" : {
511 "check" : [
512 "perm",
513 "/",
514 [
515 "Sys.Audit"
516 ]
517 ]
518 },
27a7acb2
DM
519 "returns" : {
520 "additionalProperties" : 0,
521 "properties" : {
522 "config_digest" : {
523 "type" : "string"
524 },
525 "nodelist" : {
526 "items" : {
527 "additionalProperties" : 1,
528 "properties" : {
529 "name" : {
530 "description" : "The cluster node name.",
531 "format" : "pve-node",
532 "type" : "string"
533 },
534 "nodeid" : {
535 "description" : "Node id for this node.",
536 "minimum" : 1,
537 "optional" : 1,
538 "type" : "integer"
539 },
540 "pve_addr" : {
541 "format" : "ip",
542 "type" : "string"
543 },
544 "pve_fp" : {
545 "description" : "Certificate SHA 256 fingerprint.",
546 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
547 "type" : "string"
548 },
549 "quorum_votes" : {
550 "minimum" : 0,
551 "type" : "integer"
552 },
553 "ring0_addr" : {
c5aa7e14 554 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
555 "format" : {
556 "address" : {
557 "default_key" : 1,
558 "description" : "Hostname (or IP) of this corosync link address.",
559 "format" : "address",
560 "format_description" : "IP",
561 "type" : "string"
562 },
563 "priority" : {
564 "default" : 0,
c5aa7e14 565 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
566 "maximum" : 255,
567 "minimum" : 0,
568 "optional" : 1,
569 "type" : "integer"
570 }
571 },
27a7acb2
DM
572 "optional" : 1,
573 "type" : "string"
574 }
575 },
576 "type" : "object"
577 },
578 "type" : "array"
579 },
580 "preferred_node" : {
581 "description" : "The cluster node name.",
582 "format" : "pve-node",
583 "type" : "string"
584 },
585 "totem" : {
586 "type" : "object"
587 }
588 },
589 "type" : "object"
590 }
591 },
592 "POST" : {
e9cd3bd4 593 "allowtoken" : 1,
c5aa7e14 594 "description" : "Joins this node into an existing cluster. If no links are given, default to IP resolved by node's hostname on single link (fallback fails for clusters with multiple links).",
27a7acb2
DM
595 "method" : "POST",
596 "name" : "join",
597 "parameters" : {
598 "additionalProperties" : 0,
599 "properties" : {
600 "fingerprint" : {
601 "description" : "Certificate SHA 256 fingerprint.",
602 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
603 "type" : "string"
604 },
605 "force" : {
606 "description" : "Do not throw error if node already exists.",
607 "optional" : 1,
608 "type" : "boolean",
609 "typetext" : "<boolean>"
610 },
611 "hostname" : {
612 "description" : "Hostname (or IP) of an existing cluster member.",
613 "type" : "string",
614 "typetext" : "<string>"
615 },
1e3f8156 616 "link[n]" : {
c5aa7e14 617 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
618 "format" : {
619 "address" : {
620 "default_key" : 1,
621 "description" : "Hostname (or IP) of this corosync link address.",
622 "format" : "address",
623 "format_description" : "IP",
624 "type" : "string"
625 },
626 "priority" : {
627 "default" : 0,
c5aa7e14 628 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
629 "maximum" : 255,
630 "minimum" : 0,
631 "optional" : 1,
632 "type" : "integer"
633 }
634 },
635 "optional" : 1,
636 "type" : "string",
637 "typetext" : "[address=]<IP> [,priority=<integer>]"
638 },
27a7acb2
DM
639 "nodeid" : {
640 "description" : "Node id for this node.",
641 "minimum" : 1,
642 "optional" : 1,
643 "type" : "integer",
644 "typetext" : "<integer> (1 - N)"
645 },
646 "password" : {
647 "description" : "Superuser (root) password of peer node.",
648 "maxLength" : 128,
649 "type" : "string",
650 "typetext" : "<string>"
651 },
27a7acb2
DM
652 "votes" : {
653 "description" : "Number of votes for this node",
654 "minimum" : 0,
655 "optional" : 1,
656 "type" : "integer",
657 "typetext" : "<integer> (0 - N)"
658 }
659 }
660 },
661 "protected" : 1,
662 "returns" : {
663 "type" : "string"
664 }
665 }
666 },
667 "leaf" : 1,
668 "path" : "/cluster/config/join",
669 "text" : "join"
670 },
32d876b5
DM
671 {
672 "info" : {
673 "GET" : {
e9cd3bd4 674 "allowtoken" : 1,
32d876b5
DM
675 "description" : "Get corosync totem protocol settings.",
676 "method" : "GET",
677 "name" : "totem",
678 "parameters" : {
679 "additionalProperties" : 0
680 },
5d9c884c
DM
681 "permissions" : {
682 "check" : [
683 "perm",
684 "/",
685 [
686 "Sys.Audit"
687 ]
688 ]
689 },
32d876b5 690 "returns" : {
32d876b5
DM
691 "type" : "object"
692 }
693 }
694 },
695 "leaf" : 1,
696 "path" : "/cluster/config/totem",
697 "text" : "totem"
9226ccbc
TL
698 },
699 {
700 "info" : {
701 "GET" : {
e9cd3bd4 702 "allowtoken" : 1,
9226ccbc
TL
703 "description" : "Get QDevice status",
704 "method" : "GET",
705 "name" : "status",
706 "parameters" : {
707 "additionalProperties" : 0
708 },
709 "permissions" : {
710 "check" : [
711 "perm",
712 "/",
713 [
714 "Sys.Audit"
715 ]
716 ]
717 },
718 "returns" : {
719 "type" : "object"
720 }
721 }
722 },
723 "leaf" : 1,
724 "path" : "/cluster/config/qdevice",
725 "text" : "qdevice"
32d876b5
DM
726 }
727 ],
728 "info" : {
729 "GET" : {
e9cd3bd4 730 "allowtoken" : 1,
32d876b5
DM
731 "description" : "Directory index.",
732 "method" : "GET",
733 "name" : "index",
734 "parameters" : {
735 "additionalProperties" : 0
736 },
5d9c884c
DM
737 "permissions" : {
738 "check" : [
739 "perm",
740 "/",
741 [
742 "Sys.Audit"
743 ]
744 ]
745 },
32d876b5
DM
746 "returns" : {
747 "items" : {
748 "properties" : {},
749 "type" : "object"
750 },
751 "links" : [
752 {
753 "href" : "{name}",
754 "rel" : "child"
755 }
756 ],
757 "type" : "array"
758 }
27a7acb2
DM
759 },
760 "POST" : {
e9cd3bd4 761 "allowtoken" : 1,
c5aa7e14 762 "description" : "Generate new cluster configuration. If no links given, default to local IP address as link0.",
27a7acb2
DM
763 "method" : "POST",
764 "name" : "create",
765 "parameters" : {
766 "additionalProperties" : 0,
767 "properties" : {
27a7acb2
DM
768 "clustername" : {
769 "description" : "The name of the cluster.",
770 "format" : "pve-node",
771 "maxLength" : 15,
772 "type" : "string",
773 "typetext" : "<string>"
774 },
1e3f8156 775 "link[n]" : {
c5aa7e14 776 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
777 "format" : {
778 "address" : {
779 "default_key" : 1,
780 "description" : "Hostname (or IP) of this corosync link address.",
781 "format" : "address",
782 "format_description" : "IP",
783 "type" : "string"
784 },
785 "priority" : {
786 "default" : 0,
c5aa7e14 787 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
788 "maximum" : 255,
789 "minimum" : 0,
790 "optional" : 1,
791 "type" : "integer"
792 }
793 },
794 "optional" : 1,
795 "type" : "string",
796 "typetext" : "[address=]<IP> [,priority=<integer>]"
797 },
27a7acb2
DM
798 "nodeid" : {
799 "description" : "Node id for this node.",
800 "minimum" : 1,
801 "optional" : 1,
802 "type" : "integer",
803 "typetext" : "<integer> (1 - N)"
804 },
27a7acb2
DM
805 "votes" : {
806 "description" : "Number of votes for this node.",
807 "minimum" : 1,
808 "optional" : 1,
809 "type" : "integer",
810 "typetext" : "<integer> (1 - N)"
811 }
812 }
813 },
814 "protected" : 1,
815 "returns" : {
816 "type" : "string"
817 }
32d876b5
DM
818 }
819 },
820 "leaf" : 0,
821 "path" : "/cluster/config",
822 "text" : "config"
823 },
56122987 824 {
56122987
DM
825 "children" : [
826 {
56122987
DM
827 "children" : [
828 {
44660702
DM
829 "children" : [
830 {
831 "info" : {
832 "DELETE" : {
e9cd3bd4 833 "allowtoken" : 1,
44660702
DM
834 "description" : "Delete rule.",
835 "method" : "DELETE",
836 "name" : "delete_rule",
837 "parameters" : {
838 "additionalProperties" : 0,
839 "properties" : {
840 "digest" : {
841 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
842 "maxLength" : 40,
843 "optional" : 1,
013dc89f
DM
844 "type" : "string",
845 "typetext" : "<string>"
44660702
DM
846 },
847 "group" : {
848 "description" : "Security Group name.",
4bd7df8b 849 "maxLength" : 18,
44660702
DM
850 "minLength" : 2,
851 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
852 "type" : "string"
853 },
854 "pos" : {
855 "description" : "Update rule at position <pos>.",
856 "minimum" : 0,
857 "optional" : 1,
4bd7df8b 858 "type" : "integer",
013dc89f 859 "typetext" : "<integer> (0 - N)"
44660702
DM
860 }
861 }
862 },
863 "permissions" : {
864 "check" : [
865 "perm",
866 "/",
867 [
868 "Sys.Modify"
869 ]
870 ]
871 },
872 "protected" : 1,
873 "proxyto" : null,
874 "returns" : {
875 "type" : "null"
7aacca6f
DM
876 }
877 },
44660702 878 "GET" : {
e9cd3bd4 879 "allowtoken" : 1,
44660702
DM
880 "description" : "Get single rule data.",
881 "method" : "GET",
882 "name" : "get_rule",
883 "parameters" : {
884 "additionalProperties" : 0,
885 "properties" : {
886 "group" : {
887 "description" : "Security Group name.",
4bd7df8b 888 "maxLength" : 18,
44660702
DM
889 "minLength" : 2,
890 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
891 "type" : "string"
892 },
893 "pos" : {
894 "description" : "Update rule at position <pos>.",
895 "minimum" : 0,
896 "optional" : 1,
4bd7df8b 897 "type" : "integer",
013dc89f 898 "typetext" : "<integer> (0 - N)"
44660702 899 }
7aacca6f 900 }
56122987 901 },
44660702
DM
902 "permissions" : {
903 "check" : [
904 "perm",
905 "/",
906 [
907 "Sys.Audit"
908 ]
909 ]
910 },
911 "proxyto" : null,
912 "returns" : {
913 "properties" : {
e2d681b3
TL
914 "action" : {
915 "type" : "string"
916 },
917 "comment" : {
918 "optional" : 1,
919 "type" : "string"
920 },
921 "dest" : {
922 "optional" : 1,
923 "type" : "string"
924 },
925 "dport" : {
926 "optional" : 1,
927 "type" : "string"
928 },
929 "enable" : {
930 "optional" : 1,
931 "type" : "integer"
932 },
933 "iface" : {
934 "optional" : 1,
935 "type" : "string"
936 },
937 "ipversion" : {
938 "optional" : 1,
939 "type" : "integer"
940 },
95895385
TL
941 "log" : {
942 "description" : "Log level for firewall rule",
943 "enum" : [
944 "emerg",
945 "alert",
946 "crit",
947 "err",
948 "warning",
949 "notice",
950 "info",
951 "debug",
952 "nolog"
953 ],
954 "optional" : 1,
955 "type" : "string"
956 },
e2d681b3
TL
957 "macro" : {
958 "optional" : 1,
5f26e15b 959 "type" : "string"
e2d681b3 960 },
44660702
DM
961 "pos" : {
962 "type" : "integer"
e2d681b3
TL
963 },
964 "proto" : {
965 "optional" : 1,
966 "type" : "string"
967 },
968 "source" : {
969 "optional" : 1,
970 "type" : "string"
971 },
972 "sport" : {
973 "optional" : 1,
974 "type" : "string"
975 },
976 "type" : {
977 "type" : "string"
44660702
DM
978 }
979 },
980 "type" : "object"
56122987 981 }
44660702 982 },
7aacca6f 983 "PUT" : {
e9cd3bd4 984 "allowtoken" : 1,
44660702
DM
985 "description" : "Modify rule data.",
986 "method" : "PUT",
987 "name" : "update_rule",
7aacca6f
DM
988 "parameters" : {
989 "additionalProperties" : 0,
990 "properties" : {
44660702
DM
991 "action" : {
992 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 993 "maxLength" : 20,
44660702 994 "minLength" : 2,
7aacca6f 995 "optional" : 1,
44660702 996 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
997 "type" : "string"
998 },
44660702 999 "comment" : {
e94f0d56 1000 "description" : "Descriptive comment.",
7aacca6f 1001 "optional" : 1,
013dc89f
DM
1002 "type" : "string",
1003 "typetext" : "<string>"
7aacca6f 1004 },
44660702
DM
1005 "delete" : {
1006 "description" : "A list of settings you want to delete.",
1007 "format" : "pve-configid-list",
7aacca6f 1008 "optional" : 1,
013dc89f
DM
1009 "type" : "string",
1010 "typetext" : "<string>"
7aacca6f 1011 },
44660702
DM
1012 "dest" : {
1013 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1014 "format" : "pve-fw-addr-spec",
7aacca6f 1015 "optional" : 1,
013dc89f
DM
1016 "type" : "string",
1017 "typetext" : "<string>"
7aacca6f
DM
1018 },
1019 "digest" : {
1020 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 1021 "maxLength" : 40,
7aacca6f 1022 "optional" : 1,
013dc89f
DM
1023 "type" : "string",
1024 "typetext" : "<string>"
7aacca6f 1025 },
44660702
DM
1026 "dport" : {
1027 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1028 "format" : "pve-fw-dport-spec",
7aacca6f 1029 "optional" : 1,
013dc89f
DM
1030 "type" : "string",
1031 "typetext" : "<string>"
7aacca6f 1032 },
44660702 1033 "enable" : {
e94f0d56 1034 "description" : "Flag to enable/disable a rule.",
44660702 1035 "minimum" : 0,
7aacca6f 1036 "optional" : 1,
4bd7df8b 1037 "type" : "integer",
013dc89f 1038 "typetext" : "<integer> (0 - N)"
7aacca6f 1039 },
44660702
DM
1040 "group" : {
1041 "description" : "Security Group name.",
4bd7df8b 1042 "maxLength" : 18,
44660702
DM
1043 "minLength" : 2,
1044 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1045 "type" : "string"
1046 },
1047 "iface" : {
1048 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1049 "format" : "pve-iface",
1050 "maxLength" : 20,
1051 "minLength" : 2,
7aacca6f 1052 "optional" : 1,
013dc89f
DM
1053 "type" : "string",
1054 "typetext" : "<string>"
7aacca6f 1055 },
95895385
TL
1056 "log" : {
1057 "description" : "Log level for firewall rule.",
1058 "enum" : [
1059 "emerg",
1060 "alert",
1061 "crit",
1062 "err",
1063 "warning",
1064 "notice",
1065 "info",
1066 "debug",
1067 "nolog"
1068 ],
1069 "optional" : 1,
1070 "type" : "string"
1071 },
44660702 1072 "macro" : {
e94f0d56 1073 "description" : "Use predefined standard macro.",
44660702
DM
1074 "maxLength" : 128,
1075 "optional" : 1,
013dc89f
DM
1076 "type" : "string",
1077 "typetext" : "<string>"
7aacca6f
DM
1078 },
1079 "moveto" : {
1080 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1081 "minimum" : 0,
7aacca6f 1082 "optional" : 1,
4bd7df8b 1083 "type" : "integer",
013dc89f 1084 "typetext" : "<integer> (0 - N)"
7aacca6f 1085 },
44660702
DM
1086 "pos" : {
1087 "description" : "Update rule at position <pos>.",
1088 "minimum" : 0,
1089 "optional" : 1,
4bd7df8b 1090 "type" : "integer",
013dc89f 1091 "typetext" : "<integer> (0 - N)"
7aacca6f 1092 },
44660702
DM
1093 "proto" : {
1094 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1095 "format" : "pve-fw-protocol-spec",
7aacca6f 1096 "optional" : 1,
013dc89f
DM
1097 "type" : "string",
1098 "typetext" : "<string>"
44660702
DM
1099 },
1100 "source" : {
1101 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1102 "format" : "pve-fw-addr-spec",
1103 "optional" : 1,
013dc89f
DM
1104 "type" : "string",
1105 "typetext" : "<string>"
44660702
DM
1106 },
1107 "sport" : {
1108 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1109 "format" : "pve-fw-sport-spec",
1110 "optional" : 1,
013dc89f
DM
1111 "type" : "string",
1112 "typetext" : "<string>"
7aacca6f
DM
1113 },
1114 "type" : {
e94f0d56 1115 "description" : "Rule type.",
7aacca6f
DM
1116 "enum" : [
1117 "in",
1118 "out",
1119 "group"
1120 ],
1121 "optional" : 1,
1122 "type" : "string"
1123 }
1124 }
1125 },
7aacca6f
DM
1126 "permissions" : {
1127 "check" : [
1128 "perm",
1129 "/",
1130 [
1131 "Sys.Modify"
1132 ]
1133 ]
1134 },
44660702 1135 "protected" : 1,
7aacca6f
DM
1136 "proxyto" : null,
1137 "returns" : {
1138 "type" : "null"
1139 }
7aacca6f
DM
1140 }
1141 },
44660702 1142 "leaf" : 1,
7aacca6f 1143 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1144 "text" : "{pos}"
7aacca6f
DM
1145 }
1146 ],
44660702
DM
1147 "info" : {
1148 "DELETE" : {
e9cd3bd4 1149 "allowtoken" : 1,
44660702
DM
1150 "description" : "Delete security group.",
1151 "method" : "DELETE",
1152 "name" : "delete_security_group",
1153 "parameters" : {
1154 "additionalProperties" : 0,
1155 "properties" : {
1156 "group" : {
1157 "description" : "Security Group name.",
4bd7df8b 1158 "maxLength" : 18,
44660702
DM
1159 "minLength" : 2,
1160 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1161 "type" : "string"
1162 }
56122987 1163 }
7aacca6f 1164 },
44660702
DM
1165 "permissions" : {
1166 "check" : [
1167 "perm",
1168 "/",
1169 [
1170 "Sys.Modify"
1171 ]
7aacca6f 1172 ]
56122987 1173 },
44660702
DM
1174 "protected" : 1,
1175 "returns" : {
1176 "type" : "null"
56122987 1177 }
7aacca6f 1178 },
7aacca6f 1179 "GET" : {
e9cd3bd4 1180 "allowtoken" : 1,
44660702 1181 "description" : "List rules.",
7aacca6f 1182 "method" : "GET",
44660702
DM
1183 "name" : "get_rules",
1184 "parameters" : {
1185 "additionalProperties" : 0,
7aacca6f 1186 "properties" : {
44660702
DM
1187 "group" : {
1188 "description" : "Security Group name.",
4bd7df8b 1189 "maxLength" : 18,
44660702
DM
1190 "minLength" : 2,
1191 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1192 "type" : "string"
7aacca6f 1193 }
44660702 1194 }
7aacca6f
DM
1195 },
1196 "permissions" : {
1197 "check" : [
1198 "perm",
1199 "/",
1200 [
1201 "Sys.Audit"
1202 ]
1203 ]
1204 },
44660702
DM
1205 "proxyto" : null,
1206 "returns" : {
1207 "items" : {
1208 "properties" : {
1209 "pos" : {
1210 "type" : "integer"
1211 }
1212 },
1213 "type" : "object"
1214 },
1215 "links" : [
1216 {
1217 "href" : "{pos}",
1218 "rel" : "child"
1219 }
1220 ],
1221 "type" : "array"
1222 }
1223 },
1224 "POST" : {
e9cd3bd4 1225 "allowtoken" : 1,
44660702
DM
1226 "description" : "Create new rule.",
1227 "method" : "POST",
1228 "name" : "create_rule",
7aacca6f
DM
1229 "parameters" : {
1230 "additionalProperties" : 0,
1231 "properties" : {
44660702
DM
1232 "action" : {
1233 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1234 "maxLength" : 20,
56122987 1235 "minLength" : 2,
44660702
DM
1236 "optional" : 0,
1237 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1238 "type" : "string"
56122987 1239 },
44660702 1240 "comment" : {
e94f0d56 1241 "description" : "Descriptive comment.",
56122987 1242 "optional" : 1,
013dc89f
DM
1243 "type" : "string",
1244 "typetext" : "<string>"
56122987 1245 },
44660702
DM
1246 "dest" : {
1247 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
56122987
DM
1248 "format" : "pve-fw-addr-spec",
1249 "optional" : 1,
013dc89f
DM
1250 "type" : "string",
1251 "typetext" : "<string>"
56122987 1252 },
44660702
DM
1253 "digest" : {
1254 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1255 "maxLength" : 40,
7aacca6f 1256 "optional" : 1,
013dc89f
DM
1257 "type" : "string",
1258 "typetext" : "<string>"
56122987 1259 },
44660702
DM
1260 "dport" : {
1261 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1262 "format" : "pve-fw-dport-spec",
56122987 1263 "optional" : 1,
013dc89f
DM
1264 "type" : "string",
1265 "typetext" : "<string>"
56122987 1266 },
7aacca6f 1267 "enable" : {
e94f0d56 1268 "description" : "Flag to enable/disable a rule.",
44660702 1269 "minimum" : 0,
7aacca6f 1270 "optional" : 1,
4bd7df8b 1271 "type" : "integer",
013dc89f 1272 "typetext" : "<integer> (0 - N)"
56122987 1273 },
44660702
DM
1274 "group" : {
1275 "description" : "Security Group name.",
4bd7df8b 1276 "maxLength" : 18,
44660702 1277 "minLength" : 2,
7aacca6f 1278 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1279 "type" : "string"
1280 },
1281 "iface" : {
1282 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1283 "format" : "pve-iface",
1284 "maxLength" : 20,
7aacca6f 1285 "minLength" : 2,
44660702 1286 "optional" : 1,
013dc89f
DM
1287 "type" : "string",
1288 "typetext" : "<string>"
56122987 1289 },
95895385
TL
1290 "log" : {
1291 "description" : "Log level for firewall rule.",
1292 "enum" : [
1293 "emerg",
1294 "alert",
1295 "crit",
1296 "err",
1297 "warning",
1298 "notice",
1299 "info",
1300 "debug",
1301 "nolog"
1302 ],
1303 "optional" : 1,
1304 "type" : "string"
1305 },
7aacca6f 1306 "macro" : {
e94f0d56 1307 "description" : "Use predefined standard macro.",
44660702 1308 "maxLength" : 128,
7aacca6f 1309 "optional" : 1,
013dc89f
DM
1310 "type" : "string",
1311 "typetext" : "<string>"
7aacca6f
DM
1312 },
1313 "pos" : {
1314 "description" : "Update rule at position <pos>.",
44660702 1315 "minimum" : 0,
56122987 1316 "optional" : 1,
4bd7df8b 1317 "type" : "integer",
013dc89f 1318 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1319 },
1320 "proto" : {
1321 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1322 "format" : "pve-fw-protocol-spec",
7aacca6f 1323 "optional" : 1,
013dc89f
DM
1324 "type" : "string",
1325 "typetext" : "<string>"
44660702
DM
1326 },
1327 "source" : {
1328 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1329 "format" : "pve-fw-addr-spec",
1330 "optional" : 1,
013dc89f
DM
1331 "type" : "string",
1332 "typetext" : "<string>"
44660702
DM
1333 },
1334 "sport" : {
1335 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1336 "format" : "pve-fw-sport-spec",
1337 "optional" : 1,
013dc89f
DM
1338 "type" : "string",
1339 "typetext" : "<string>"
44660702
DM
1340 },
1341 "type" : {
e94f0d56 1342 "description" : "Rule type.",
44660702
DM
1343 "enum" : [
1344 "in",
1345 "out",
1346 "group"
1347 ],
1348 "optional" : 0,
1349 "type" : "string"
56122987 1350 }
44660702 1351 }
56122987 1352 },
56122987
DM
1353 "permissions" : {
1354 "check" : [
1355 "perm",
1356 "/",
1357 [
1358 "Sys.Modify"
1359 ]
1360 ]
1361 },
44660702
DM
1362 "protected" : 1,
1363 "proxyto" : null,
56122987
DM
1364 "returns" : {
1365 "type" : "null"
7aacca6f 1366 }
44660702
DM
1367 }
1368 },
1369 "leaf" : 0,
1370 "path" : "/cluster/firewall/groups/{group}",
1371 "text" : "{group}"
1372 }
1373 ],
1374 "info" : {
1375 "GET" : {
e9cd3bd4 1376 "allowtoken" : 1,
44660702
DM
1377 "description" : "List security groups.",
1378 "method" : "GET",
1379 "name" : "list_security_groups",
1380 "parameters" : {
1381 "additionalProperties" : 0
1382 },
1383 "permissions" : {
1384 "user" : "all"
1385 },
1386 "returns" : {
1387 "items" : {
1388 "properties" : {
1389 "comment" : {
1390 "optional" : 1,
1391 "type" : "string"
1392 },
1393 "digest" : {
1394 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1395 "maxLength" : 40,
1396 "optional" : 0,
1397 "type" : "string"
1398 },
1399 "group" : {
1400 "description" : "Security Group name.",
4bd7df8b 1401 "maxLength" : 18,
44660702
DM
1402 "minLength" : 2,
1403 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1404 "type" : "string"
1405 }
1406 },
1407 "type" : "object"
56122987 1408 },
44660702
DM
1409 "links" : [
1410 {
1411 "href" : "{group}",
1412 "rel" : "child"
1413 }
1414 ],
1415 "type" : "array"
1416 }
1417 },
1418 "POST" : {
e9cd3bd4 1419 "allowtoken" : 1,
44660702
DM
1420 "description" : "Create new security group.",
1421 "method" : "POST",
1422 "name" : "create_security_group",
1423 "parameters" : {
1424 "additionalProperties" : 0,
1425 "properties" : {
1426 "comment" : {
1427 "optional" : 1,
013dc89f
DM
1428 "type" : "string",
1429 "typetext" : "<string>"
44660702
DM
1430 },
1431 "digest" : {
1432 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1433 "maxLength" : 40,
1434 "optional" : 1,
013dc89f
DM
1435 "type" : "string",
1436 "typetext" : "<string>"
44660702
DM
1437 },
1438 "group" : {
1439 "description" : "Security Group name.",
4bd7df8b 1440 "maxLength" : 18,
44660702
DM
1441 "minLength" : 2,
1442 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1443 "type" : "string"
1444 },
1445 "rename" : {
1446 "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
4bd7df8b 1447 "maxLength" : 18,
44660702
DM
1448 "minLength" : 2,
1449 "optional" : 1,
1450 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1451 "type" : "string"
1452 }
1453 }
1454 },
1455 "permissions" : {
1456 "check" : [
1457 "perm",
1458 "/",
1459 [
1460 "Sys.Modify"
1461 ]
1462 ]
1463 },
1464 "protected" : 1,
1465 "returns" : {
1466 "type" : "null"
1467 }
1468 }
1469 },
1470 "leaf" : 0,
1471 "path" : "/cluster/firewall/groups",
1472 "text" : "groups"
1473 },
1474 {
1475 "children" : [
1476 {
1477 "info" : {
7aacca6f 1478 "DELETE" : {
e9cd3bd4 1479 "allowtoken" : 1,
44660702
DM
1480 "description" : "Delete rule.",
1481 "method" : "DELETE",
1482 "name" : "delete_rule",
1483 "parameters" : {
1484 "additionalProperties" : 0,
1485 "properties" : {
1486 "digest" : {
1487 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1488 "maxLength" : 40,
1489 "optional" : 1,
013dc89f
DM
1490 "type" : "string",
1491 "typetext" : "<string>"
44660702
DM
1492 },
1493 "pos" : {
1494 "description" : "Update rule at position <pos>.",
1495 "minimum" : 0,
1496 "optional" : 1,
4bd7df8b 1497 "type" : "integer",
013dc89f 1498 "typetext" : "<integer> (0 - N)"
44660702
DM
1499 }
1500 }
1501 },
56122987
DM
1502 "permissions" : {
1503 "check" : [
1504 "perm",
1505 "/",
1506 [
7aacca6f 1507 "Sys.Modify"
56122987
DM
1508 ]
1509 ]
1510 },
44660702 1511 "protected" : 1,
56122987
DM
1512 "proxyto" : null,
1513 "returns" : {
7aacca6f 1514 "type" : "null"
44660702
DM
1515 }
1516 },
1517 "GET" : {
e9cd3bd4 1518 "allowtoken" : 1,
44660702
DM
1519 "description" : "Get single rule data.",
1520 "method" : "GET",
1521 "name" : "get_rule",
56122987
DM
1522 "parameters" : {
1523 "additionalProperties" : 0,
1524 "properties" : {
1525 "pos" : {
7aacca6f 1526 "description" : "Update rule at position <pos>.",
44660702 1527 "minimum" : 0,
56122987 1528 "optional" : 1,
4bd7df8b 1529 "type" : "integer",
013dc89f 1530 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1531 }
1532 }
1533 },
7aacca6f
DM
1534 "permissions" : {
1535 "check" : [
1536 "perm",
1537 "/",
1538 [
1539 "Sys.Audit"
1540 ]
1541 ]
56122987 1542 },
44660702
DM
1543 "proxyto" : null,
1544 "returns" : {
7aacca6f 1545 "properties" : {
e2d681b3
TL
1546 "action" : {
1547 "type" : "string"
1548 },
1549 "comment" : {
1550 "optional" : 1,
1551 "type" : "string"
1552 },
1553 "dest" : {
1554 "optional" : 1,
1555 "type" : "string"
1556 },
1557 "dport" : {
1558 "optional" : 1,
1559 "type" : "string"
1560 },
1561 "enable" : {
1562 "optional" : 1,
1563 "type" : "integer"
1564 },
1565 "iface" : {
1566 "optional" : 1,
1567 "type" : "string"
1568 },
1569 "ipversion" : {
1570 "optional" : 1,
1571 "type" : "integer"
1572 },
95895385
TL
1573 "log" : {
1574 "description" : "Log level for firewall rule",
1575 "enum" : [
1576 "emerg",
1577 "alert",
1578 "crit",
1579 "err",
1580 "warning",
1581 "notice",
1582 "info",
1583 "debug",
1584 "nolog"
1585 ],
1586 "optional" : 1,
1587 "type" : "string"
1588 },
e2d681b3
TL
1589 "macro" : {
1590 "optional" : 1,
5f26e15b 1591 "type" : "string"
e2d681b3 1592 },
44660702
DM
1593 "pos" : {
1594 "type" : "integer"
e2d681b3
TL
1595 },
1596 "proto" : {
1597 "optional" : 1,
1598 "type" : "string"
1599 },
1600 "source" : {
1601 "optional" : 1,
1602 "type" : "string"
1603 },
1604 "sport" : {
1605 "optional" : 1,
1606 "type" : "string"
1607 },
1608 "type" : {
1609 "type" : "string"
7aacca6f 1610 }
44660702
DM
1611 },
1612 "type" : "object"
1613 }
56122987 1614 },
44660702 1615 "PUT" : {
e9cd3bd4 1616 "allowtoken" : 1,
44660702
DM
1617 "description" : "Modify rule data.",
1618 "method" : "PUT",
1619 "name" : "update_rule",
7aacca6f
DM
1620 "parameters" : {
1621 "additionalProperties" : 0,
1622 "properties" : {
44660702
DM
1623 "action" : {
1624 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1625 "maxLength" : 20,
1626 "minLength" : 2,
1627 "optional" : 1,
1628 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1629 "type" : "string"
7aacca6f 1630 },
44660702 1631 "comment" : {
e94f0d56 1632 "description" : "Descriptive comment.",
44660702 1633 "optional" : 1,
013dc89f
DM
1634 "type" : "string",
1635 "typetext" : "<string>"
7aacca6f 1636 },
44660702
DM
1637 "delete" : {
1638 "description" : "A list of settings you want to delete.",
1639 "format" : "pve-configid-list",
1640 "optional" : 1,
013dc89f
DM
1641 "type" : "string",
1642 "typetext" : "<string>"
44660702
DM
1643 },
1644 "dest" : {
1645 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1646 "format" : "pve-fw-addr-spec",
1647 "optional" : 1,
013dc89f
DM
1648 "type" : "string",
1649 "typetext" : "<string>"
44660702
DM
1650 },
1651 "digest" : {
1652 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1653 "maxLength" : 40,
1654 "optional" : 1,
013dc89f
DM
1655 "type" : "string",
1656 "typetext" : "<string>"
44660702
DM
1657 },
1658 "dport" : {
1659 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1660 "format" : "pve-fw-dport-spec",
1661 "optional" : 1,
013dc89f
DM
1662 "type" : "string",
1663 "typetext" : "<string>"
44660702
DM
1664 },
1665 "enable" : {
e94f0d56 1666 "description" : "Flag to enable/disable a rule.",
44660702
DM
1667 "minimum" : 0,
1668 "optional" : 1,
4bd7df8b 1669 "type" : "integer",
013dc89f 1670 "typetext" : "<integer> (0 - N)"
44660702
DM
1671 },
1672 "iface" : {
1673 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1674 "format" : "pve-iface",
1675 "maxLength" : 20,
7aacca6f 1676 "minLength" : 2,
44660702 1677 "optional" : 1,
013dc89f
DM
1678 "type" : "string",
1679 "typetext" : "<string>"
7aacca6f 1680 },
95895385
TL
1681 "log" : {
1682 "description" : "Log level for firewall rule.",
1683 "enum" : [
1684 "emerg",
1685 "alert",
1686 "crit",
1687 "err",
1688 "warning",
1689 "notice",
1690 "info",
1691 "debug",
1692 "nolog"
1693 ],
1694 "optional" : 1,
1695 "type" : "string"
1696 },
44660702 1697 "macro" : {
e94f0d56 1698 "description" : "Use predefined standard macro.",
44660702
DM
1699 "maxLength" : 128,
1700 "optional" : 1,
013dc89f
DM
1701 "type" : "string",
1702 "typetext" : "<string>"
44660702
DM
1703 },
1704 "moveto" : {
1705 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1706 "minimum" : 0,
1707 "optional" : 1,
4bd7df8b 1708 "type" : "integer",
013dc89f 1709 "typetext" : "<integer> (0 - N)"
44660702
DM
1710 },
1711 "pos" : {
1712 "description" : "Update rule at position <pos>.",
1713 "minimum" : 0,
1714 "optional" : 1,
4bd7df8b 1715 "type" : "integer",
013dc89f 1716 "typetext" : "<integer> (0 - N)"
44660702
DM
1717 },
1718 "proto" : {
1719 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1720 "format" : "pve-fw-protocol-spec",
1721 "optional" : 1,
013dc89f
DM
1722 "type" : "string",
1723 "typetext" : "<string>"
44660702
DM
1724 },
1725 "source" : {
1726 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1727 "format" : "pve-fw-addr-spec",
1728 "optional" : 1,
013dc89f
DM
1729 "type" : "string",
1730 "typetext" : "<string>"
44660702
DM
1731 },
1732 "sport" : {
1733 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1734 "format" : "pve-fw-sport-spec",
1735 "optional" : 1,
013dc89f
DM
1736 "type" : "string",
1737 "typetext" : "<string>"
44660702
DM
1738 },
1739 "type" : {
e94f0d56 1740 "description" : "Rule type.",
44660702
DM
1741 "enum" : [
1742 "in",
1743 "out",
1744 "group"
1745 ],
1746 "optional" : 1,
1747 "type" : "string"
7aacca6f 1748 }
56122987
DM
1749 }
1750 },
7aacca6f
DM
1751 "permissions" : {
1752 "check" : [
1753 "perm",
1754 "/",
1755 [
1756 "Sys.Modify"
1757 ]
1758 ]
1759 },
44660702
DM
1760 "protected" : 1,
1761 "proxyto" : null,
1762 "returns" : {
1763 "type" : "null"
1764 }
7aacca6f 1765 }
56122987 1766 },
44660702
DM
1767 "leaf" : 1,
1768 "path" : "/cluster/firewall/rules/{pos}",
1769 "text" : "{pos}"
7aacca6f
DM
1770 }
1771 ],
7aacca6f 1772 "info" : {
44660702 1773 "GET" : {
e9cd3bd4 1774 "allowtoken" : 1,
44660702
DM
1775 "description" : "List rules.",
1776 "method" : "GET",
1777 "name" : "get_rules",
7aacca6f 1778 "parameters" : {
44660702 1779 "additionalProperties" : 0
7aacca6f
DM
1780 },
1781 "permissions" : {
1782 "check" : [
1783 "perm",
1784 "/",
1785 [
44660702 1786 "Sys.Audit"
7aacca6f
DM
1787 ]
1788 ]
1789 },
44660702 1790 "proxyto" : null,
7aacca6f 1791 "returns" : {
7aacca6f
DM
1792 "items" : {
1793 "properties" : {
44660702
DM
1794 "pos" : {
1795 "type" : "integer"
7aacca6f
DM
1796 }
1797 },
1798 "type" : "object"
56122987 1799 },
7aacca6f
DM
1800 "links" : [
1801 {
44660702 1802 "href" : "{pos}",
7aacca6f
DM
1803 "rel" : "child"
1804 }
44660702
DM
1805 ],
1806 "type" : "array"
7aacca6f 1807 }
44660702 1808 },
7aacca6f 1809 "POST" : {
e9cd3bd4 1810 "allowtoken" : 1,
44660702 1811 "description" : "Create new rule.",
7aacca6f 1812 "method" : "POST",
44660702 1813 "name" : "create_rule",
7aacca6f
DM
1814 "parameters" : {
1815 "additionalProperties" : 0,
1816 "properties" : {
44660702
DM
1817 "action" : {
1818 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1819 "maxLength" : 20,
7aacca6f 1820 "minLength" : 2,
44660702
DM
1821 "optional" : 0,
1822 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1823 "type" : "string"
7aacca6f
DM
1824 },
1825 "comment" : {
e94f0d56 1826 "description" : "Descriptive comment.",
7aacca6f 1827 "optional" : 1,
013dc89f
DM
1828 "type" : "string",
1829 "typetext" : "<string>"
44660702
DM
1830 },
1831 "dest" : {
1832 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1833 "format" : "pve-fw-addr-spec",
1834 "optional" : 1,
013dc89f
DM
1835 "type" : "string",
1836 "typetext" : "<string>"
44660702
DM
1837 },
1838 "digest" : {
1839 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1840 "maxLength" : 40,
1841 "optional" : 1,
013dc89f
DM
1842 "type" : "string",
1843 "typetext" : "<string>"
44660702
DM
1844 },
1845 "dport" : {
1846 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1847 "format" : "pve-fw-dport-spec",
1848 "optional" : 1,
013dc89f
DM
1849 "type" : "string",
1850 "typetext" : "<string>"
44660702
DM
1851 },
1852 "enable" : {
e94f0d56 1853 "description" : "Flag to enable/disable a rule.",
44660702
DM
1854 "minimum" : 0,
1855 "optional" : 1,
4bd7df8b 1856 "type" : "integer",
013dc89f 1857 "typetext" : "<integer> (0 - N)"
44660702
DM
1858 },
1859 "iface" : {
1860 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1861 "format" : "pve-iface",
1862 "maxLength" : 20,
1863 "minLength" : 2,
1864 "optional" : 1,
013dc89f
DM
1865 "type" : "string",
1866 "typetext" : "<string>"
44660702 1867 },
95895385
TL
1868 "log" : {
1869 "description" : "Log level for firewall rule.",
1870 "enum" : [
1871 "emerg",
1872 "alert",
1873 "crit",
1874 "err",
1875 "warning",
1876 "notice",
1877 "info",
1878 "debug",
1879 "nolog"
1880 ],
1881 "optional" : 1,
1882 "type" : "string"
1883 },
44660702 1884 "macro" : {
e94f0d56 1885 "description" : "Use predefined standard macro.",
44660702
DM
1886 "maxLength" : 128,
1887 "optional" : 1,
013dc89f
DM
1888 "type" : "string",
1889 "typetext" : "<string>"
44660702
DM
1890 },
1891 "pos" : {
1892 "description" : "Update rule at position <pos>.",
1893 "minimum" : 0,
1894 "optional" : 1,
4bd7df8b 1895 "type" : "integer",
013dc89f 1896 "typetext" : "<integer> (0 - N)"
44660702
DM
1897 },
1898 "proto" : {
1899 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1900 "format" : "pve-fw-protocol-spec",
1901 "optional" : 1,
013dc89f
DM
1902 "type" : "string",
1903 "typetext" : "<string>"
44660702
DM
1904 },
1905 "source" : {
1906 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1907 "format" : "pve-fw-addr-spec",
1908 "optional" : 1,
013dc89f
DM
1909 "type" : "string",
1910 "typetext" : "<string>"
44660702
DM
1911 },
1912 "sport" : {
1913 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1914 "format" : "pve-fw-sport-spec",
1915 "optional" : 1,
013dc89f
DM
1916 "type" : "string",
1917 "typetext" : "<string>"
44660702
DM
1918 },
1919 "type" : {
e94f0d56 1920 "description" : "Rule type.",
44660702
DM
1921 "enum" : [
1922 "in",
1923 "out",
1924 "group"
1925 ],
1926 "optional" : 0,
1927 "type" : "string"
7aacca6f
DM
1928 }
1929 }
1930 },
1931 "permissions" : {
1932 "check" : [
1933 "perm",
1934 "/",
1935 [
1936 "Sys.Modify"
1937 ]
1938 ]
1939 },
44660702
DM
1940 "protected" : 1,
1941 "proxyto" : null,
7aacca6f 1942 "returns" : {
44660702
DM
1943 "type" : "null"
1944 }
1945 }
1946 },
1947 "leaf" : 0,
1948 "path" : "/cluster/firewall/rules",
1949 "text" : "rules"
1950 },
1951 {
1952 "children" : [
1953 {
1954 "children" : [
1955 {
1956 "info" : {
1957 "DELETE" : {
e9cd3bd4 1958 "allowtoken" : 1,
44660702
DM
1959 "description" : "Remove IP or Network from IPSet.",
1960 "method" : "DELETE",
1961 "name" : "remove_ip",
1962 "parameters" : {
1963 "additionalProperties" : 0,
1964 "properties" : {
1965 "cidr" : {
1966 "description" : "Network/IP specification in CIDR format.",
1967 "format" : "IPorCIDRorAlias",
013dc89f
DM
1968 "type" : "string",
1969 "typetext" : "<string>"
44660702
DM
1970 },
1971 "digest" : {
1972 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1973 "maxLength" : 40,
1974 "optional" : 1,
013dc89f
DM
1975 "type" : "string",
1976 "typetext" : "<string>"
44660702
DM
1977 },
1978 "name" : {
1979 "description" : "IP set name.",
1980 "maxLength" : 64,
1981 "minLength" : 2,
1982 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1983 "type" : "string"
1984 }
1985 }
1986 },
1987 "permissions" : {
1988 "check" : [
1989 "perm",
1990 "/",
1991 [
1992 "Sys.Modify"
1993 ]
1994 ]
1995 },
1996 "protected" : 1,
1997 "returns" : {
1998 "type" : "null"
1999 }
7aacca6f 2000 },
44660702 2001 "GET" : {
e9cd3bd4 2002 "allowtoken" : 1,
44660702
DM
2003 "description" : "Read IP or Network settings from IPSet.",
2004 "method" : "GET",
2005 "name" : "read_ip",
2006 "parameters" : {
2007 "additionalProperties" : 0,
2008 "properties" : {
2009 "cidr" : {
2010 "description" : "Network/IP specification in CIDR format.",
2011 "format" : "IPorCIDRorAlias",
013dc89f
DM
2012 "type" : "string",
2013 "typetext" : "<string>"
44660702
DM
2014 },
2015 "name" : {
2016 "description" : "IP set name.",
2017 "maxLength" : 64,
2018 "minLength" : 2,
2019 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2020 "type" : "string"
2021 }
2022 }
2023 },
2024 "permissions" : {
2025 "check" : [
2026 "perm",
2027 "/",
2028 [
2029 "Sys.Audit"
2030 ]
2031 ]
2032 },
2033 "protected" : 1,
2034 "returns" : {
2035 "type" : "object"
2036 }
7aacca6f 2037 },
44660702 2038 "PUT" : {
e9cd3bd4 2039 "allowtoken" : 1,
44660702
DM
2040 "description" : "Update IP or Network settings",
2041 "method" : "PUT",
2042 "name" : "update_ip",
2043 "parameters" : {
2044 "additionalProperties" : 0,
2045 "properties" : {
2046 "cidr" : {
2047 "description" : "Network/IP specification in CIDR format.",
2048 "format" : "IPorCIDRorAlias",
013dc89f
DM
2049 "type" : "string",
2050 "typetext" : "<string>"
44660702
DM
2051 },
2052 "comment" : {
2053 "optional" : 1,
013dc89f
DM
2054 "type" : "string",
2055 "typetext" : "<string>"
44660702
DM
2056 },
2057 "digest" : {
2058 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2059 "maxLength" : 40,
2060 "optional" : 1,
013dc89f
DM
2061 "type" : "string",
2062 "typetext" : "<string>"
44660702
DM
2063 },
2064 "name" : {
2065 "description" : "IP set name.",
2066 "maxLength" : 64,
2067 "minLength" : 2,
2068 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2069 "type" : "string"
2070 },
2071 "nomatch" : {
2072 "optional" : 1,
013dc89f
DM
2073 "type" : "boolean",
2074 "typetext" : "<boolean>"
44660702
DM
2075 }
2076 }
2077 },
2078 "permissions" : {
2079 "check" : [
2080 "perm",
2081 "/",
2082 [
2083 "Sys.Modify"
2084 ]
2085 ]
2086 },
2087 "protected" : 1,
2088 "returns" : {
2089 "type" : "null"
2090 }
7aacca6f
DM
2091 }
2092 },
44660702
DM
2093 "leaf" : 1,
2094 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2095 "text" : "{cidr}"
7aacca6f 2096 }
44660702 2097 ],
7aacca6f
DM
2098 "info" : {
2099 "DELETE" : {
e9cd3bd4 2100 "allowtoken" : 1,
44660702
DM
2101 "description" : "Delete IPSet",
2102 "method" : "DELETE",
2103 "name" : "delete_ipset",
56122987 2104 "parameters" : {
44660702 2105 "additionalProperties" : 0,
56122987
DM
2106 "properties" : {
2107 "name" : {
44660702 2108 "description" : "IP set name.",
56122987 2109 "maxLength" : 64,
44660702 2110 "minLength" : 2,
56122987 2111 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2112 "type" : "string"
56122987 2113 }
44660702 2114 }
7aacca6f 2115 },
56122987
DM
2116 "permissions" : {
2117 "check" : [
2118 "perm",
2119 "/",
2120 [
2121 "Sys.Modify"
2122 ]
2123 ]
2124 },
7aacca6f
DM
2125 "protected" : 1,
2126 "returns" : {
2127 "type" : "null"
44660702 2128 }
7aacca6f 2129 },
44660702 2130 "GET" : {
e9cd3bd4 2131 "allowtoken" : 1,
44660702
DM
2132 "description" : "List IPSet content",
2133 "method" : "GET",
2134 "name" : "get_ipset",
56122987
DM
2135 "parameters" : {
2136 "additionalProperties" : 0,
2137 "properties" : {
7aacca6f 2138 "name" : {
44660702 2139 "description" : "IP set name.",
7aacca6f 2140 "maxLength" : 64,
7aacca6f 2141 "minLength" : 2,
44660702 2142 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2143 "type" : "string"
56122987 2144 }
7aacca6f 2145 }
56122987 2146 },
56122987
DM
2147 "permissions" : {
2148 "check" : [
2149 "perm",
2150 "/",
2151 [
44660702 2152 "Sys.Audit"
56122987
DM
2153 ]
2154 ]
44660702
DM
2155 },
2156 "returns" : {
2157 "items" : {
2158 "properties" : {
2159 "cidr" : {
2160 "type" : "string"
2161 },
2162 "comment" : {
2163 "optional" : 1,
2164 "type" : "string"
2165 },
2166 "digest" : {
2167 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2168 "maxLength" : 40,
2169 "optional" : 0,
2170 "type" : "string"
2171 },
2172 "nomatch" : {
2173 "optional" : 1,
2174 "type" : "boolean"
2175 }
2176 },
2177 "type" : "object"
2178 },
2179 "links" : [
2180 {
2181 "href" : "{cidr}",
2182 "rel" : "child"
2183 }
2184 ],
2185 "type" : "array"
7aacca6f
DM
2186 }
2187 },
44660702 2188 "POST" : {
e9cd3bd4 2189 "allowtoken" : 1,
44660702
DM
2190 "description" : "Add IP or Network to IPSet.",
2191 "method" : "POST",
2192 "name" : "create_ip",
56122987
DM
2193 "parameters" : {
2194 "additionalProperties" : 0,
2195 "properties" : {
44660702
DM
2196 "cidr" : {
2197 "description" : "Network/IP specification in CIDR format.",
2198 "format" : "IPorCIDRorAlias",
013dc89f
DM
2199 "type" : "string",
2200 "typetext" : "<string>"
44660702
DM
2201 },
2202 "comment" : {
2203 "optional" : 1,
013dc89f
DM
2204 "type" : "string",
2205 "typetext" : "<string>"
44660702
DM
2206 },
2207 "name" : {
2208 "description" : "IP set name.",
2209 "maxLength" : 64,
2210 "minLength" : 2,
2211 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2212 "type" : "string"
2213 },
2214 "nomatch" : {
2215 "optional" : 1,
013dc89f
DM
2216 "type" : "boolean",
2217 "typetext" : "<boolean>"
56122987
DM
2218 }
2219 }
2220 },
56122987
DM
2221 "permissions" : {
2222 "check" : [
2223 "perm",
2224 "/",
2225 [
44660702 2226 "Sys.Modify"
56122987
DM
2227 ]
2228 ]
2229 },
44660702 2230 "protected" : 1,
56122987 2231 "returns" : {
44660702
DM
2232 "type" : "null"
2233 }
56122987
DM
2234 }
2235 },
44660702
DM
2236 "leaf" : 0,
2237 "path" : "/cluster/firewall/ipset/{name}",
2238 "text" : "{name}"
56122987
DM
2239 }
2240 ],
56122987 2241 "info" : {
44660702 2242 "GET" : {
e9cd3bd4 2243 "allowtoken" : 1,
44660702
DM
2244 "description" : "List IPSets",
2245 "method" : "GET",
2246 "name" : "ipset_index",
56122987 2247 "parameters" : {
7aacca6f 2248 "additionalProperties" : 0
56122987 2249 },
56122987
DM
2250 "permissions" : {
2251 "check" : [
2252 "perm",
2253 "/",
2254 [
7aacca6f 2255 "Sys.Audit"
56122987
DM
2256 ]
2257 ]
2258 },
56122987
DM
2259 "returns" : {
2260 "items" : {
2261 "properties" : {
44660702
DM
2262 "comment" : {
2263 "optional" : 1,
2264 "type" : "string"
56122987 2265 },
44660702
DM
2266 "digest" : {
2267 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2268 "maxLength" : 40,
2269 "optional" : 0,
2270 "type" : "string"
2271 },
2272 "name" : {
2273 "description" : "IP set name.",
2274 "maxLength" : 64,
2275 "minLength" : 2,
2276 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2277 "type" : "string"
56122987
DM
2278 }
2279 },
2280 "type" : "object"
44660702
DM
2281 },
2282 "links" : [
2283 {
2284 "href" : "{name}",
2285 "rel" : "child"
2286 }
2287 ],
2288 "type" : "array"
56122987 2289 }
44660702
DM
2290 },
2291 "POST" : {
e9cd3bd4 2292 "allowtoken" : 1,
44660702
DM
2293 "description" : "Create new IPSet",
2294 "method" : "POST",
2295 "name" : "create_ipset",
7aacca6f
DM
2296 "parameters" : {
2297 "additionalProperties" : 0,
2298 "properties" : {
44660702
DM
2299 "comment" : {
2300 "optional" : 1,
013dc89f
DM
2301 "type" : "string",
2302 "typetext" : "<string>"
44660702
DM
2303 },
2304 "digest" : {
2305 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2306 "maxLength" : 40,
2307 "optional" : 1,
013dc89f
DM
2308 "type" : "string",
2309 "typetext" : "<string>"
44660702
DM
2310 },
2311 "name" : {
2312 "description" : "IP set name.",
2313 "maxLength" : 64,
2314 "minLength" : 2,
2315 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2316 "type" : "string"
2317 },
2318 "rename" : {
2319 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2320 "maxLength" : 64,
2321 "minLength" : 2,
2322 "optional" : 1,
2323 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2324 "type" : "string"
7aacca6f
DM
2325 }
2326 }
2327 },
56122987
DM
2328 "permissions" : {
2329 "check" : [
2330 "perm",
2331 "/",
2332 [
44660702 2333 "Sys.Modify"
56122987
DM
2334 ]
2335 ]
2336 },
44660702 2337 "protected" : 1,
56122987 2338 "returns" : {
44660702
DM
2339 "type" : "null"
2340 }
56122987 2341 }
7aacca6f 2342 },
44660702
DM
2343 "leaf" : 0,
2344 "path" : "/cluster/firewall/ipset",
2345 "text" : "ipset"
2346 },
56122987 2347 {
44660702
DM
2348 "children" : [
2349 {
2350 "info" : {
2351 "DELETE" : {
e9cd3bd4 2352 "allowtoken" : 1,
44660702
DM
2353 "description" : "Remove IP or Network alias.",
2354 "method" : "DELETE",
2355 "name" : "remove_alias",
2356 "parameters" : {
2357 "additionalProperties" : 0,
2358 "properties" : {
2359 "digest" : {
2360 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2361 "maxLength" : 40,
2362 "optional" : 1,
013dc89f
DM
2363 "type" : "string",
2364 "typetext" : "<string>"
44660702
DM
2365 },
2366 "name" : {
2367 "description" : "Alias name.",
2368 "maxLength" : 64,
2369 "minLength" : 2,
2370 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2371 "type" : "string"
2372 }
2373 }
2374 },
2375 "permissions" : {
2376 "check" : [
2377 "perm",
2378 "/",
2379 [
2380 "Sys.Modify"
2381 ]
2382 ]
2383 },
2384 "protected" : 1,
2385 "returns" : {
2386 "type" : "null"
2387 }
2388 },
2389 "GET" : {
e9cd3bd4 2390 "allowtoken" : 1,
44660702
DM
2391 "description" : "Read alias.",
2392 "method" : "GET",
2393 "name" : "read_alias",
2394 "parameters" : {
2395 "additionalProperties" : 0,
2396 "properties" : {
2397 "name" : {
2398 "description" : "Alias name.",
2399 "maxLength" : 64,
2400 "minLength" : 2,
2401 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2402 "type" : "string"
2403 }
2404 }
2405 },
2406 "permissions" : {
2407 "check" : [
2408 "perm",
2409 "/",
2410 [
2411 "Sys.Audit"
2412 ]
2413 ]
2414 },
2415 "returns" : {
2416 "type" : "object"
2417 }
2418 },
2419 "PUT" : {
e9cd3bd4 2420 "allowtoken" : 1,
44660702
DM
2421 "description" : "Update IP or Network alias.",
2422 "method" : "PUT",
2423 "name" : "update_alias",
2424 "parameters" : {
2425 "additionalProperties" : 0,
2426 "properties" : {
2427 "cidr" : {
2428 "description" : "Network/IP specification in CIDR format.",
2429 "format" : "IPorCIDR",
013dc89f
DM
2430 "type" : "string",
2431 "typetext" : "<string>"
44660702
DM
2432 },
2433 "comment" : {
2434 "optional" : 1,
013dc89f
DM
2435 "type" : "string",
2436 "typetext" : "<string>"
44660702
DM
2437 },
2438 "digest" : {
2439 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2440 "maxLength" : 40,
2441 "optional" : 1,
013dc89f
DM
2442 "type" : "string",
2443 "typetext" : "<string>"
44660702
DM
2444 },
2445 "name" : {
2446 "description" : "Alias name.",
2447 "maxLength" : 64,
2448 "minLength" : 2,
2449 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2450 "type" : "string"
2451 },
2452 "rename" : {
2453 "description" : "Rename an existing alias.",
2454 "maxLength" : 64,
2455 "minLength" : 2,
2456 "optional" : 1,
2457 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2458 "type" : "string"
2459 }
2460 }
2461 },
2462 "permissions" : {
2463 "check" : [
2464 "perm",
2465 "/",
2466 [
2467 "Sys.Modify"
2468 ]
2469 ]
2470 },
2471 "protected" : 1,
2472 "returns" : {
2473 "type" : "null"
2474 }
2475 }
2476 },
2477 "leaf" : 1,
2478 "path" : "/cluster/firewall/aliases/{name}",
2479 "text" : "{name}"
2480 }
2481 ],
2482 "info" : {
2483 "GET" : {
e9cd3bd4 2484 "allowtoken" : 1,
44660702
DM
2485 "description" : "List aliases",
2486 "method" : "GET",
2487 "name" : "get_aliases",
2488 "parameters" : {
2489 "additionalProperties" : 0
2490 },
2491 "permissions" : {
2492 "check" : [
2493 "perm",
2494 "/",
2495 [
2496 "Sys.Audit"
2497 ]
2498 ]
2499 },
2500 "returns" : {
2501 "items" : {
2502 "properties" : {
2503 "cidr" : {
2504 "type" : "string"
2505 },
2506 "comment" : {
2507 "optional" : 1,
2508 "type" : "string"
2509 },
2510 "digest" : {
2511 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2512 "maxLength" : 40,
2513 "optional" : 0,
2514 "type" : "string"
2515 },
2516 "name" : {
2517 "type" : "string"
2518 }
2519 },
2520 "type" : "object"
2521 },
2522 "links" : [
2523 {
2524 "href" : "{name}",
2525 "rel" : "child"
2526 }
2527 ],
2528 "type" : "array"
2529 }
2530 },
2531 "POST" : {
e9cd3bd4 2532 "allowtoken" : 1,
44660702
DM
2533 "description" : "Create IP or Network Alias.",
2534 "method" : "POST",
2535 "name" : "create_alias",
56122987
DM
2536 "parameters" : {
2537 "additionalProperties" : 0,
2538 "properties" : {
44660702
DM
2539 "cidr" : {
2540 "description" : "Network/IP specification in CIDR format.",
2541 "format" : "IPorCIDR",
013dc89f
DM
2542 "type" : "string",
2543 "typetext" : "<string>"
44660702
DM
2544 },
2545 "comment" : {
2546 "optional" : 1,
013dc89f
DM
2547 "type" : "string",
2548 "typetext" : "<string>"
44660702
DM
2549 },
2550 "name" : {
2551 "description" : "Alias name.",
2552 "maxLength" : 64,
2553 "minLength" : 2,
2554 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2555 "type" : "string"
56122987
DM
2556 }
2557 }
2558 },
56122987
DM
2559 "permissions" : {
2560 "check" : [
2561 "perm",
2562 "/",
2563 [
2564 "Sys.Modify"
2565 ]
2566 ]
2567 },
44660702 2568 "protected" : 1,
56122987
DM
2569 "returns" : {
2570 "type" : "null"
2571 }
44660702
DM
2572 }
2573 },
2574 "leaf" : 0,
2575 "path" : "/cluster/firewall/aliases",
2576 "text" : "aliases"
2577 },
2578 {
2579 "info" : {
2580 "GET" : {
e9cd3bd4 2581 "allowtoken" : 1,
44660702
DM
2582 "description" : "Get Firewall options.",
2583 "method" : "GET",
2584 "name" : "get_options",
2585 "parameters" : {
2586 "additionalProperties" : 0
7aacca6f 2587 },
56122987
DM
2588 "permissions" : {
2589 "check" : [
2590 "perm",
2591 "/",
2592 [
44660702 2593 "Sys.Audit"
56122987
DM
2594 ]
2595 ]
2596 },
44660702 2597 "returns" : {
56122987 2598 "properties" : {
5da3d723
TL
2599 "ebtables" : {
2600 "default" : 1,
2601 "description" : "Enable ebtables rules cluster wide.",
2602 "optional" : 1,
2603 "type" : "boolean"
2604 },
44660702
DM
2605 "enable" : {
2606 "description" : "Enable or disable the firewall cluster wide.",
2607 "minimum" : 0,
56122987 2608 "optional" : 1,
7aacca6f 2609 "type" : "integer"
56122987 2610 },
95895385
TL
2611 "log_ratelimit" : {
2612 "description" : "Log ratelimiting settings",
2613 "format" : {
2614 "burst" : {
2615 "default" : 5,
2616 "description" : "Inital burst of packages which will get logged",
2617 "minimum" : 0,
2618 "optional" : 1,
2619 "type" : "integer"
2620 },
2621 "enable" : {
2622 "default" : "1",
2623 "default_key" : 1,
2624 "description" : "Enable or disable log rate limiting",
2625 "type" : "boolean"
2626 },
2627 "rate" : {
2628 "default" : "1/second",
2629 "description" : "Frequency with which the burst bucket gets refilled",
2630 "format_description" : "rate",
2631 "optional" : 1,
2632 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2633 "type" : "string"
2634 }
2635 },
2636 "optional" : 1,
2637 "type" : "string"
2638 },
44660702
DM
2639 "policy_in" : {
2640 "description" : "Input policy.",
2641 "enum" : [
2642 "ACCEPT",
2643 "REJECT",
2644 "DROP"
2645 ],
56122987 2646 "optional" : 1,
44660702 2647 "type" : "string"
7aacca6f 2648 },
44660702
DM
2649 "policy_out" : {
2650 "description" : "Output policy.",
2651 "enum" : [
2652 "ACCEPT",
2653 "REJECT",
2654 "DROP"
2655 ],
7aacca6f 2656 "optional" : 1,
44660702
DM
2657 "type" : "string"
2658 }
2659 },
2660 "type" : "object"
2661 }
2662 },
2663 "PUT" : {
e9cd3bd4 2664 "allowtoken" : 1,
44660702
DM
2665 "description" : "Set Firewall options.",
2666 "method" : "PUT",
2667 "name" : "set_options",
2668 "parameters" : {
2669 "additionalProperties" : 0,
2670 "properties" : {
2671 "delete" : {
2672 "description" : "A list of settings you want to delete.",
2673 "format" : "pve-configid-list",
56122987 2674 "optional" : 1,
013dc89f
DM
2675 "type" : "string",
2676 "typetext" : "<string>"
56122987 2677 },
44660702
DM
2678 "digest" : {
2679 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2680 "maxLength" : 40,
56122987 2681 "optional" : 1,
013dc89f
DM
2682 "type" : "string",
2683 "typetext" : "<string>"
56122987 2684 },
5da3d723
TL
2685 "ebtables" : {
2686 "default" : 1,
2687 "description" : "Enable ebtables rules cluster wide.",
2688 "optional" : 1,
2689 "type" : "boolean",
2690 "typetext" : "<boolean>"
2691 },
44660702
DM
2692 "enable" : {
2693 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2694 "minimum" : 0,
56122987 2695 "optional" : 1,
4bd7df8b 2696 "type" : "integer",
013dc89f 2697 "typetext" : "<integer> (0 - N)"
56122987 2698 },
95895385
TL
2699 "log_ratelimit" : {
2700 "description" : "Log ratelimiting settings",
2701 "format" : {
2702 "burst" : {
2703 "default" : 5,
2704 "description" : "Inital burst of packages which will get logged",
2705 "minimum" : 0,
2706 "optional" : 1,
2707 "type" : "integer"
2708 },
2709 "enable" : {
2710 "default" : "1",
2711 "default_key" : 1,
2712 "description" : "Enable or disable log rate limiting",
2713 "type" : "boolean"
2714 },
2715 "rate" : {
2716 "default" : "1/second",
2717 "description" : "Frequency with which the burst bucket gets refilled",
2718 "format_description" : "rate",
2719 "optional" : 1,
2720 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2721 "type" : "string"
2722 }
2723 },
2724 "optional" : 1,
2725 "type" : "string",
2726 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
2727 },
44660702
DM
2728 "policy_in" : {
2729 "description" : "Input policy.",
56122987 2730 "enum" : [
44660702
DM
2731 "ACCEPT",
2732 "REJECT",
2733 "DROP"
56122987 2734 ],
56122987 2735 "optional" : 1,
44660702 2736 "type" : "string"
56122987 2737 },
44660702
DM
2738 "policy_out" : {
2739 "description" : "Output policy.",
56122987 2740 "enum" : [
44660702
DM
2741 "ACCEPT",
2742 "REJECT",
2743 "DROP"
56122987 2744 ],
7aacca6f 2745 "optional" : 1,
44660702 2746 "type" : "string"
56122987 2747 }
44660702
DM
2748 }
2749 },
2750 "permissions" : {
2751 "check" : [
2752 "perm",
2753 "/",
2754 [
2755 "Sys.Modify"
2756 ]
2757 ]
7aacca6f
DM
2758 },
2759 "protected" : 1,
44660702
DM
2760 "returns" : {
2761 "type" : "null"
2762 }
2763 }
2764 },
2765 "leaf" : 1,
2766 "path" : "/cluster/firewall/options",
2767 "text" : "options"
2768 },
2769 {
2770 "info" : {
7aacca6f 2771 "GET" : {
e9cd3bd4 2772 "allowtoken" : 1,
44660702 2773 "description" : "List available macros",
7aacca6f 2774 "method" : "GET",
44660702
DM
2775 "name" : "get_macros",
2776 "parameters" : {
2777 "additionalProperties" : 0
7aacca6f 2778 },
44660702
DM
2779 "permissions" : {
2780 "user" : "all"
2781 },
2782 "returns" : {
2783 "items" : {
2784 "properties" : {
2785 "descr" : {
2786 "description" : "More verbose description (if available).",
2787 "type" : "string"
2788 },
2789 "macro" : {
2790 "description" : "Macro name.",
2791 "type" : "string"
2792 }
2793 },
2794 "type" : "object"
2795 },
2796 "type" : "array"
2797 }
2798 }
2799 },
2800 "leaf" : 1,
2801 "path" : "/cluster/firewall/macros",
2802 "text" : "macros"
2803 },
2804 {
2805 "info" : {
2806 "GET" : {
e9cd3bd4 2807 "allowtoken" : 1,
44660702
DM
2808 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2809 "method" : "GET",
2810 "name" : "refs",
7aacca6f 2811 "parameters" : {
44660702 2812 "additionalProperties" : 0,
7aacca6f 2813 "properties" : {
44660702
DM
2814 "type" : {
2815 "description" : "Only list references of specified type.",
2816 "enum" : [
2817 "alias",
2818 "ipset"
2819 ],
2820 "optional" : 1,
2821 "type" : "string"
7aacca6f 2822 }
44660702 2823 }
7aacca6f
DM
2824 },
2825 "permissions" : {
2826 "check" : [
2827 "perm",
2828 "/",
2829 [
2830 "Sys.Audit"
2831 ]
2832 ]
2833 },
44660702
DM
2834 "returns" : {
2835 "items" : {
2836 "properties" : {
2837 "comment" : {
2838 "optional" : 1,
2839 "type" : "string"
2840 },
2841 "name" : {
2842 "type" : "string"
2843 },
2844 "ref" : {
2845 "type" : "string"
2846 },
2847 "type" : {
2848 "enum" : [
2849 "alias",
2850 "ipset"
2851 ],
2852 "type" : "string"
2853 }
2854 },
2855 "type" : "object"
2856 },
2857 "type" : "array"
2858 }
56122987
DM
2859 }
2860 },
7aacca6f 2861 "leaf" : 1,
44660702
DM
2862 "path" : "/cluster/firewall/refs",
2863 "text" : "refs"
56122987
DM
2864 }
2865 ],
56122987 2866 "info" : {
44660702 2867 "GET" : {
e9cd3bd4 2868 "allowtoken" : 1,
44660702
DM
2869 "description" : "Directory index.",
2870 "method" : "GET",
2871 "name" : "index",
56122987 2872 "parameters" : {
56122987
DM
2873 "additionalProperties" : 0
2874 },
44660702
DM
2875 "permissions" : {
2876 "user" : "all"
2877 },
56122987 2878 "returns" : {
44660702
DM
2879 "items" : {
2880 "properties" : {},
2881 "type" : "object"
2882 },
7aacca6f
DM
2883 "links" : [
2884 {
44660702
DM
2885 "href" : "{name}",
2886 "rel" : "child"
7aacca6f
DM
2887 }
2888 ],
7aacca6f 2889 "type" : "array"
7aacca6f 2890 }
56122987
DM
2891 }
2892 },
44660702
DM
2893 "leaf" : 0,
2894 "path" : "/cluster/firewall",
2895 "text" : "firewall"
7aacca6f
DM
2896 },
2897 {
56122987
DM
2898 "children" : [
2899 {
04d22a9f
TL
2900 "children" : [
2901 {
2902 "info" : {
2903 "GET" : {
2904 "allowtoken" : 1,
2905 "description" : "Returns included guests and the backup status of their disks. Optimized to be used in ExtJS tree views.",
2906 "method" : "GET",
2907 "name" : "get_volume_backup_included",
2908 "parameters" : {
2909 "additionalProperties" : 0,
2910 "properties" : {
2911 "id" : {
2912 "description" : "The job ID.",
2913 "maxLength" : 50,
2914 "type" : "string",
2915 "typetext" : "<string>"
2916 }
2917 }
2918 },
2919 "permissions" : {
2920 "check" : [
2921 "perm",
2922 "/",
2923 [
2924 "Sys.Audit"
2925 ]
2926 ]
2927 },
2928 "protected" : 1,
2929 "returns" : {
2930 "description" : "Root node of the tree object. Children represent guests, grandchildren represent volumes of that guest.",
2931 "properties" : {
2932 "children" : {
2933 "items" : {
2934 "properties" : {
2935 "children" : {
2936 "description" : "The volumes of the guest with the information if they will be included in backups.",
2937 "items" : {
2938 "properties" : {
2939 "id" : {
2940 "description" : "Configuration key of the volume.",
2941 "type" : "string"
2942 },
2943 "included" : {
2944 "description" : "Whether the volume is included in the backup or not.",
2945 "type" : "boolean"
2946 },
2947 "name" : {
2948 "description" : "Name of the volume.",
2949 "type" : "string"
2950 },
2951 "reason" : {
2952 "description" : "The reason why the volume is included (or excluded).",
2953 "type" : "string"
2954 }
2955 },
2956 "type" : "object"
2957 },
2958 "optional" : 1,
2959 "type" : "array"
2960 },
2961 "id" : {
2962 "description" : "VMID of the guest.",
2963 "type" : "integer"
2964 },
2965 "name" : {
2966 "description" : "Name of the guest",
2967 "optional" : 1,
2968 "type" : "string"
2969 },
2970 "type" : {
2971 "description" : "Type of the guest, VM, CT or unknown for removed but not purged guests.",
2972 "enum" : [
2973 "qemu",
2974 "lxc",
2975 "unknown"
2976 ],
2977 "type" : "string"
2978 }
2979 },
2980 "type" : "object"
2981 },
2982 "type" : "array"
2983 }
2984 },
2985 "type" : "object"
2986 }
2987 }
2988 },
2989 "leaf" : 1,
2990 "path" : "/cluster/backup/{id}/included_volumes",
2991 "text" : "included_volumes"
2992 }
2993 ],
56122987 2994 "info" : {
44660702 2995 "DELETE" : {
e9cd3bd4 2996 "allowtoken" : 1,
44660702
DM
2997 "description" : "Delete vzdump backup job definition.",
2998 "method" : "DELETE",
2999 "name" : "delete_job",
3000 "parameters" : {
3001 "additionalProperties" : 0,
3002 "properties" : {
3003 "id" : {
3004 "description" : "The job ID.",
3005 "maxLength" : 50,
013dc89f
DM
3006 "type" : "string",
3007 "typetext" : "<string>"
44660702
DM
3008 }
3009 }
3010 },
3011 "permissions" : {
3012 "check" : [
3013 "perm",
3014 "/",
3015 [
3016 "Sys.Modify"
3017 ]
3018 ]
3019 },
3020 "protected" : 1,
56122987
DM
3021 "returns" : {
3022 "type" : "null"
44660702
DM
3023 }
3024 },
3025 "GET" : {
e9cd3bd4 3026 "allowtoken" : 1,
44660702
DM
3027 "description" : "Read vzdump backup job definition.",
3028 "method" : "GET",
3029 "name" : "read_job",
3030 "parameters" : {
3031 "additionalProperties" : 0,
3032 "properties" : {
3033 "id" : {
3034 "description" : "The job ID.",
3035 "maxLength" : 50,
013dc89f
DM
3036 "type" : "string",
3037 "typetext" : "<string>"
44660702
DM
3038 }
3039 }
56122987 3040 },
7aacca6f
DM
3041 "permissions" : {
3042 "check" : [
3043 "perm",
3044 "/",
3045 [
44660702 3046 "Sys.Audit"
7aacca6f
DM
3047 ]
3048 ]
3049 },
44660702
DM
3050 "returns" : {
3051 "type" : "object"
3052 }
3053 },
3054 "PUT" : {
e9cd3bd4 3055 "allowtoken" : 1,
44660702
DM
3056 "description" : "Update vzdump backup job definition.",
3057 "method" : "PUT",
3058 "name" : "update_job",
56122987 3059 "parameters" : {
44660702 3060 "additionalProperties" : 0,
56122987 3061 "properties" : {
44660702
DM
3062 "all" : {
3063 "default" : 0,
3064 "description" : "Backup all known guest systems on this host.",
7aacca6f 3065 "optional" : 1,
013dc89f
DM
3066 "type" : "boolean",
3067 "typetext" : "<boolean>"
7aacca6f 3068 },
44660702
DM
3069 "bwlimit" : {
3070 "default" : 0,
3071 "description" : "Limit I/O bandwidth (KBytes per second).",
3072 "minimum" : 0,
3073 "optional" : 1,
4bd7df8b 3074 "type" : "integer",
013dc89f 3075 "typetext" : "<integer> (0 - N)"
44660702
DM
3076 },
3077 "compress" : {
3078 "default" : "0",
3079 "description" : "Compress dump file.",
7aacca6f 3080 "enum" : [
44660702
DM
3081 "0",
3082 "1",
3083 "gzip",
c5aa7e14
TL
3084 "lzo",
3085 "zstd"
7aacca6f 3086 ],
44660702
DM
3087 "optional" : 1,
3088 "type" : "string"
7aacca6f 3089 },
44660702
DM
3090 "delete" : {
3091 "description" : "A list of settings you want to delete.",
3092 "format" : "pve-configid-list",
7aacca6f 3093 "optional" : 1,
013dc89f
DM
3094 "type" : "string",
3095 "typetext" : "<string>"
56122987 3096 },
44660702
DM
3097 "dow" : {
3098 "description" : "Day of week selection.",
3099 "format" : "pve-day-of-week-list",
7aacca6f 3100 "optional" : 1,
013dc89f
DM
3101 "type" : "string",
3102 "typetext" : "<string>"
56122987 3103 },
44660702
DM
3104 "dumpdir" : {
3105 "description" : "Store resulting files to specified directory.",
56122987 3106 "optional" : 1,
013dc89f
DM
3107 "type" : "string",
3108 "typetext" : "<string>"
56122987 3109 },
44660702
DM
3110 "enabled" : {
3111 "default" : "1",
3112 "description" : "Enable or disable the job.",
3113 "optional" : 1,
013dc89f
DM
3114 "type" : "boolean",
3115 "typetext" : "<boolean>"
44660702
DM
3116 },
3117 "exclude" : {
3118 "description" : "Exclude specified guest systems (assumes --all)",
3119 "format" : "pve-vmid-list",
3120 "optional" : 1,
013dc89f
DM
3121 "type" : "string",
3122 "typetext" : "<string>"
44660702
DM
3123 },
3124 "exclude-path" : {
3125 "description" : "Exclude certain files/directories (shell globs).",
3126 "format" : "string-alist",
3127 "optional" : 1,
013dc89f
DM
3128 "type" : "string",
3129 "typetext" : "<string>"
44660702
DM
3130 },
3131 "id" : {
3132 "description" : "The job ID.",
3133 "maxLength" : 50,
013dc89f
DM
3134 "type" : "string",
3135 "typetext" : "<string>"
44660702
DM
3136 },
3137 "ionice" : {
3138 "default" : 7,
3139 "description" : "Set CFQ ionice priority.",
3140 "maximum" : 8,
3141 "minimum" : 0,
3142 "optional" : 1,
4bd7df8b 3143 "type" : "integer",
013dc89f 3144 "typetext" : "<integer> (0 - 8)"
44660702
DM
3145 },
3146 "lockwait" : {
3147 "default" : 180,
3148 "description" : "Maximal time to wait for the global lock (minutes).",
3149 "minimum" : 0,
3150 "optional" : 1,
4bd7df8b 3151 "type" : "integer",
013dc89f 3152 "typetext" : "<integer> (0 - N)"
44660702
DM
3153 },
3154 "mailnotification" : {
3155 "default" : "always",
3156 "description" : "Specify when to send an email",
56122987 3157 "enum" : [
44660702
DM
3158 "always",
3159 "failure"
56122987 3160 ],
44660702
DM
3161 "optional" : 1,
3162 "type" : "string"
3163 },
3164 "mailto" : {
3165 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3166 "format" : "string-list",
3167 "optional" : 1,
013dc89f
DM
3168 "type" : "string",
3169 "typetext" : "<string>"
44660702
DM
3170 },
3171 "maxfiles" : {
3172 "default" : 1,
3173 "description" : "Maximal number of backup files per guest system.",
3174 "minimum" : 1,
3175 "optional" : 1,
4bd7df8b 3176 "type" : "integer",
013dc89f 3177 "typetext" : "<integer> (1 - N)"
44660702
DM
3178 },
3179 "mode" : {
3180 "default" : "snapshot",
3181 "description" : "Backup mode.",
3182 "enum" : [
3183 "snapshot",
3184 "suspend",
3185 "stop"
3186 ],
3187 "optional" : 1,
3188 "type" : "string"
3189 },
3190 "node" : {
3191 "description" : "Only run if executed on this node.",
3192 "format" : "pve-node",
3193 "optional" : 1,
013dc89f
DM
3194 "type" : "string",
3195 "typetext" : "<string>"
44660702
DM
3196 },
3197 "pigz" : {
3198 "default" : 0,
3199 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3200 "optional" : 1,
013dc89f
DM
3201 "type" : "integer",
3202 "typetext" : "<integer>"
44660702 3203 },
9226ccbc
TL
3204 "pool" : {
3205 "description" : "Backup all known guest systems included in the specified pool.",
3206 "optional" : 1,
3207 "type" : "string",
3208 "typetext" : "<string>"
3209 },
739d4d64
TL
3210 "prune-backups" : {
3211 "description" : "Use these retention options instead of those from the storage configuration.",
3212 "format" : "prune-backups",
3213 "optional" : 1,
3214 "type" : "string",
3215 "typetext" : "[keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
3216 },
44660702
DM
3217 "quiet" : {
3218 "default" : 0,
3219 "description" : "Be quiet.",
3220 "optional" : 1,
013dc89f
DM
3221 "type" : "boolean",
3222 "typetext" : "<boolean>"
44660702
DM
3223 },
3224 "remove" : {
3225 "default" : 1,
3226 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3227 "optional" : 1,
013dc89f
DM
3228 "type" : "boolean",
3229 "typetext" : "<boolean>"
44660702
DM
3230 },
3231 "script" : {
3232 "description" : "Use specified hook script.",
3233 "optional" : 1,
013dc89f
DM
3234 "type" : "string",
3235 "typetext" : "<string>"
44660702
DM
3236 },
3237 "size" : {
3238 "default" : 1024,
3239 "description" : "Unused, will be removed in a future release.",
3240 "minimum" : 500,
3241 "optional" : 1,
4bd7df8b 3242 "type" : "integer",
013dc89f 3243 "typetext" : "<integer> (500 - N)"
44660702
DM
3244 },
3245 "starttime" : {
3246 "description" : "Job Start time.",
3247 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 3248 "type" : "string",
44660702 3249 "typetext" : "HH:MM"
7aacca6f 3250 },
44660702
DM
3251 "stdexcludes" : {
3252 "default" : 1,
3253 "description" : "Exclude temporary files and logs.",
3254 "optional" : 1,
013dc89f
DM
3255 "type" : "boolean",
3256 "typetext" : "<boolean>"
44660702
DM
3257 },
3258 "stop" : {
3259 "default" : 0,
1e3f8156 3260 "description" : "Stop running backup jobs on this host.",
44660702 3261 "optional" : 1,
013dc89f
DM
3262 "type" : "boolean",
3263 "typetext" : "<boolean>"
44660702
DM
3264 },
3265 "stopwait" : {
3266 "default" : 10,
3267 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3268 "minimum" : 0,
3269 "optional" : 1,
4bd7df8b 3270 "type" : "integer",
013dc89f 3271 "typetext" : "<integer> (0 - N)"
44660702
DM
3272 },
3273 "storage" : {
3274 "description" : "Store resulting file to this storage.",
3275 "format" : "pve-storage-id",
3276 "optional" : 1,
013dc89f
DM
3277 "type" : "string",
3278 "typetext" : "<string>"
56122987 3279 },
44660702
DM
3280 "tmpdir" : {
3281 "description" : "Store temporary files to specified directory.",
3282 "optional" : 1,
013dc89f
DM
3283 "type" : "string",
3284 "typetext" : "<string>"
44660702
DM
3285 },
3286 "vmid" : {
3287 "description" : "The ID of the guest system you want to backup.",
3288 "format" : "pve-vmid-list",
3289 "optional" : 1,
013dc89f
DM
3290 "type" : "string",
3291 "typetext" : "<string>"
c5aa7e14
TL
3292 },
3293 "zstd" : {
3294 "default" : 1,
3295 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
3296 "optional" : 1,
3297 "type" : "integer",
3298 "typetext" : "<integer>"
56122987 3299 }
44660702 3300 }
56122987
DM
3301 },
3302 "permissions" : {
3303 "check" : [
3304 "perm",
3305 "/",
3306 [
44660702 3307 "Sys.Modify"
56122987 3308 ]
04d22a9f
TL
3309 ],
3310 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
56122987 3311 },
44660702
DM
3312 "protected" : 1,
3313 "returns" : {
3314 "type" : "null"
7aacca6f 3315 }
56122987
DM
3316 }
3317 },
04d22a9f 3318 "leaf" : 0,
44660702
DM
3319 "path" : "/cluster/backup/{id}",
3320 "text" : "{id}"
3321 }
3322 ],
3323 "info" : {
3324 "GET" : {
e9cd3bd4 3325 "allowtoken" : 1,
44660702
DM
3326 "description" : "List vzdump backup schedule.",
3327 "method" : "GET",
3328 "name" : "index",
3329 "parameters" : {
3330 "additionalProperties" : 0
3331 },
3332 "permissions" : {
3333 "check" : [
3334 "perm",
3335 "/",
3336 [
3337 "Sys.Audit"
3338 ]
3339 ]
3340 },
3341 "returns" : {
3342 "items" : {
3343 "properties" : {
3344 "id" : {
1c532546
TL
3345 "description" : "The job ID.",
3346 "maxLength" : 50,
44660702
DM
3347 "type" : "string"
3348 }
3349 },
3350 "type" : "object"
3351 },
3352 "links" : [
3353 {
3354 "href" : "{id}",
3355 "rel" : "child"
3356 }
3357 ],
3358 "type" : "array"
3359 }
3360 },
3361 "POST" : {
e9cd3bd4 3362 "allowtoken" : 1,
44660702
DM
3363 "description" : "Create new vzdump backup job.",
3364 "method" : "POST",
3365 "name" : "create_job",
3366 "parameters" : {
3367 "additionalProperties" : 0,
3368 "properties" : {
3369 "all" : {
3370 "default" : 0,
3371 "description" : "Backup all known guest systems on this host.",
3372 "optional" : 1,
013dc89f
DM
3373 "type" : "boolean",
3374 "typetext" : "<boolean>"
44660702
DM
3375 },
3376 "bwlimit" : {
3377 "default" : 0,
3378 "description" : "Limit I/O bandwidth (KBytes per second).",
3379 "minimum" : 0,
3380 "optional" : 1,
4bd7df8b 3381 "type" : "integer",
013dc89f 3382 "typetext" : "<integer> (0 - N)"
44660702
DM
3383 },
3384 "compress" : {
3385 "default" : "0",
3386 "description" : "Compress dump file.",
3387 "enum" : [
3388 "0",
3389 "1",
3390 "gzip",
c5aa7e14
TL
3391 "lzo",
3392 "zstd"
44660702
DM
3393 ],
3394 "optional" : 1,
3395 "type" : "string"
3396 },
3397 "dow" : {
3398 "default" : "mon,tue,wed,thu,fri,sat,sun",
3399 "description" : "Day of week selection.",
3400 "format" : "pve-day-of-week-list",
3401 "optional" : 1,
013dc89f
DM
3402 "type" : "string",
3403 "typetext" : "<string>"
44660702
DM
3404 },
3405 "dumpdir" : {
3406 "description" : "Store resulting files to specified directory.",
3407 "optional" : 1,
013dc89f
DM
3408 "type" : "string",
3409 "typetext" : "<string>"
44660702
DM
3410 },
3411 "enabled" : {
3412 "default" : "1",
3413 "description" : "Enable or disable the job.",
3414 "optional" : 1,
013dc89f
DM
3415 "type" : "boolean",
3416 "typetext" : "<boolean>"
44660702
DM
3417 },
3418 "exclude" : {
3419 "description" : "Exclude specified guest systems (assumes --all)",
3420 "format" : "pve-vmid-list",
3421 "optional" : 1,
013dc89f
DM
3422 "type" : "string",
3423 "typetext" : "<string>"
44660702
DM
3424 },
3425 "exclude-path" : {
3426 "description" : "Exclude certain files/directories (shell globs).",
3427 "format" : "string-alist",
3428 "optional" : 1,
013dc89f
DM
3429 "type" : "string",
3430 "typetext" : "<string>"
44660702
DM
3431 },
3432 "ionice" : {
3433 "default" : 7,
3434 "description" : "Set CFQ ionice priority.",
3435 "maximum" : 8,
3436 "minimum" : 0,
3437 "optional" : 1,
4bd7df8b 3438 "type" : "integer",
013dc89f 3439 "typetext" : "<integer> (0 - 8)"
44660702
DM
3440 },
3441 "lockwait" : {
3442 "default" : 180,
3443 "description" : "Maximal time to wait for the global lock (minutes).",
3444 "minimum" : 0,
3445 "optional" : 1,
4bd7df8b 3446 "type" : "integer",
013dc89f 3447 "typetext" : "<integer> (0 - N)"
44660702
DM
3448 },
3449 "mailnotification" : {
3450 "default" : "always",
3451 "description" : "Specify when to send an email",
3452 "enum" : [
3453 "always",
3454 "failure"
3455 ],
3456 "optional" : 1,
3457 "type" : "string"
3458 },
3459 "mailto" : {
3460 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3461 "format" : "string-list",
3462 "optional" : 1,
013dc89f
DM
3463 "type" : "string",
3464 "typetext" : "<string>"
44660702
DM
3465 },
3466 "maxfiles" : {
3467 "default" : 1,
3468 "description" : "Maximal number of backup files per guest system.",
3469 "minimum" : 1,
3470 "optional" : 1,
4bd7df8b 3471 "type" : "integer",
013dc89f 3472 "typetext" : "<integer> (1 - N)"
44660702
DM
3473 },
3474 "mode" : {
3475 "default" : "snapshot",
3476 "description" : "Backup mode.",
3477 "enum" : [
3478 "snapshot",
3479 "suspend",
3480 "stop"
3481 ],
3482 "optional" : 1,
3483 "type" : "string"
3484 },
3485 "node" : {
3486 "description" : "Only run if executed on this node.",
3487 "format" : "pve-node",
3488 "optional" : 1,
013dc89f
DM
3489 "type" : "string",
3490 "typetext" : "<string>"
44660702
DM
3491 },
3492 "pigz" : {
3493 "default" : 0,
3494 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3495 "optional" : 1,
013dc89f
DM
3496 "type" : "integer",
3497 "typetext" : "<integer>"
44660702 3498 },
9226ccbc
TL
3499 "pool" : {
3500 "description" : "Backup all known guest systems included in the specified pool.",
3501 "optional" : 1,
3502 "type" : "string",
3503 "typetext" : "<string>"
3504 },
739d4d64
TL
3505 "prune-backups" : {
3506 "description" : "Use these retention options instead of those from the storage configuration.",
3507 "format" : "prune-backups",
3508 "optional" : 1,
3509 "type" : "string",
3510 "typetext" : "[keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
3511 },
44660702
DM
3512 "quiet" : {
3513 "default" : 0,
3514 "description" : "Be quiet.",
3515 "optional" : 1,
013dc89f
DM
3516 "type" : "boolean",
3517 "typetext" : "<boolean>"
44660702
DM
3518 },
3519 "remove" : {
3520 "default" : 1,
3521 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3522 "optional" : 1,
013dc89f
DM
3523 "type" : "boolean",
3524 "typetext" : "<boolean>"
44660702
DM
3525 },
3526 "script" : {
3527 "description" : "Use specified hook script.",
3528 "optional" : 1,
013dc89f
DM
3529 "type" : "string",
3530 "typetext" : "<string>"
44660702
DM
3531 },
3532 "size" : {
3533 "default" : 1024,
3534 "description" : "Unused, will be removed in a future release.",
3535 "minimum" : 500,
3536 "optional" : 1,
4bd7df8b 3537 "type" : "integer",
013dc89f 3538 "typetext" : "<integer> (500 - N)"
44660702
DM
3539 },
3540 "starttime" : {
3541 "description" : "Job Start time.",
3542 "pattern" : "\\d{1,2}:\\d{1,2}",
3543 "type" : "string",
3544 "typetext" : "HH:MM"
3545 },
3546 "stdexcludes" : {
3547 "default" : 1,
3548 "description" : "Exclude temporary files and logs.",
3549 "optional" : 1,
013dc89f
DM
3550 "type" : "boolean",
3551 "typetext" : "<boolean>"
44660702
DM
3552 },
3553 "stop" : {
3554 "default" : 0,
1e3f8156 3555 "description" : "Stop running backup jobs on this host.",
44660702 3556 "optional" : 1,
013dc89f
DM
3557 "type" : "boolean",
3558 "typetext" : "<boolean>"
44660702
DM
3559 },
3560 "stopwait" : {
3561 "default" : 10,
3562 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3563 "minimum" : 0,
3564 "optional" : 1,
4bd7df8b 3565 "type" : "integer",
013dc89f 3566 "typetext" : "<integer> (0 - N)"
44660702
DM
3567 },
3568 "storage" : {
3569 "description" : "Store resulting file to this storage.",
3570 "format" : "pve-storage-id",
3571 "optional" : 1,
013dc89f
DM
3572 "type" : "string",
3573 "typetext" : "<string>"
44660702
DM
3574 },
3575 "tmpdir" : {
3576 "description" : "Store temporary files to specified directory.",
3577 "optional" : 1,
013dc89f
DM
3578 "type" : "string",
3579 "typetext" : "<string>"
44660702
DM
3580 },
3581 "vmid" : {
3582 "description" : "The ID of the guest system you want to backup.",
3583 "format" : "pve-vmid-list",
3584 "optional" : 1,
013dc89f
DM
3585 "type" : "string",
3586 "typetext" : "<string>"
c5aa7e14
TL
3587 },
3588 "zstd" : {
3589 "default" : 1,
3590 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
3591 "optional" : 1,
3592 "type" : "integer",
3593 "typetext" : "<integer>"
44660702
DM
3594 }
3595 }
3596 },
3597 "permissions" : {
3598 "check" : [
3599 "perm",
3600 "/",
3601 [
3602 "Sys.Modify"
3603 ]
de0983cb
DM
3604 ],
3605 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3606 },
3607 "protected" : 1,
3608 "returns" : {
3609 "type" : "null"
3610 }
3611 }
3612 },
3613 "leaf" : 0,
3614 "path" : "/cluster/backup",
3615 "text" : "backup"
3616 },
04d22a9f
TL
3617 {
3618 "children" : [
3619 {
3620 "info" : {
3621 "GET" : {
3622 "allowtoken" : 1,
3623 "description" : "Shows all guests which are not covered by any backup job.",
3624 "method" : "GET",
3625 "name" : "get_guests_not_in_backup",
3626 "parameters" : {
3627 "additionalProperties" : 0
3628 },
3629 "permissions" : {
3630 "check" : [
3631 "perm",
3632 "/",
3633 [
3634 "Sys.Audit"
3635 ]
3636 ]
3637 },
3638 "protected" : 1,
3639 "returns" : {
3640 "description" : "Contains the guest objects.",
3641 "items" : {
3642 "properties" : {
3643 "name" : {
3644 "description" : "Name of the guest",
3645 "optional" : 1,
3646 "type" : "string"
3647 },
3648 "type" : {
3649 "description" : "Type of the guest.",
3650 "enum" : [
3651 "qemu",
3652 "lxc"
3653 ],
3654 "type" : "string"
3655 },
3656 "vmid" : {
3657 "description" : "VMID of the guest.",
3658 "type" : "integer"
3659 }
3660 },
3661 "type" : "object"
3662 },
3663 "type" : "array"
3664 }
3665 }
3666 },
3667 "leaf" : 1,
3668 "path" : "/cluster/backupinfo/not_backed_up",
3669 "text" : "not_backed_up"
3670 }
3671 ],
3672 "info" : {
3673 "GET" : {
3674 "allowtoken" : 1,
3675 "description" : "Stub, waits for future use.",
3676 "method" : "GET",
3677 "name" : "get_backupinfo",
3678 "parameters" : {
3679 "additionalProperties" : 0
3680 },
3681 "protected" : 1,
3682 "returns" : {
3683 "description" : "Shows stub message",
3684 "type" : "string"
3685 }
3686 }
3687 },
3688 "leaf" : 0,
3689 "path" : "/cluster/backupinfo",
3690 "text" : "backupinfo"
3691 },
44660702
DM
3692 {
3693 "children" : [
3694 {
3695 "children" : [
3696 {
3697 "children" : [
56122987 3698 {
56122987
DM
3699 "info" : {
3700 "POST" : {
e9cd3bd4 3701 "allowtoken" : 1,
44660702
DM
3702 "description" : "Request resource migration (online) to another node.",
3703 "method" : "POST",
3704 "name" : "migrate",
56122987 3705 "parameters" : {
7aacca6f 3706 "additionalProperties" : 0,
56122987
DM
3707 "properties" : {
3708 "node" : {
95895385 3709 "description" : "Target node.",
44660702 3710 "format" : "pve-node",
013dc89f
DM
3711 "type" : "string",
3712 "typetext" : "<string>"
56122987
DM
3713 },
3714 "sid" : {
44660702 3715 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
56122987 3716 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3717 "type" : "string",
44660702 3718 "typetext" : "<type>:<name>"
56122987 3719 }
7aacca6f 3720 }
56122987 3721 },
56122987
DM
3722 "permissions" : {
3723 "check" : [
3724 "perm",
3725 "/",
3726 [
3727 "Sys.Console"
3728 ]
3729 ]
3730 },
7aacca6f 3731 "protected" : 1,
7aacca6f
DM
3732 "returns" : {
3733 "type" : "null"
44660702 3734 }
56122987 3735 }
44660702
DM
3736 },
3737 "leaf" : 1,
3738 "path" : "/cluster/ha/resources/{sid}/migrate",
3739 "text" : "migrate"
3740 },
3741 {
3742 "info" : {
3743 "POST" : {
e9cd3bd4 3744 "allowtoken" : 1,
44660702
DM
3745 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3746 "method" : "POST",
3747 "name" : "relocate",
3748 "parameters" : {
3749 "additionalProperties" : 0,
3750 "properties" : {
3751 "node" : {
95895385 3752 "description" : "Target node.",
44660702 3753 "format" : "pve-node",
013dc89f
DM
3754 "type" : "string",
3755 "typetext" : "<string>"
44660702
DM
3756 },
3757 "sid" : {
3758 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3759 "format" : "pve-ha-resource-or-vm-id",
3760 "type" : "string",
3761 "typetext" : "<type>:<name>"
3762 }
3763 }
3764 },
3765 "permissions" : {
3766 "check" : [
3767 "perm",
3768 "/",
3769 [
3770 "Sys.Console"
3771 ]
3772 ]
3773 },
3774 "protected" : 1,
3775 "returns" : {
3776 "type" : "null"
3777 }
3778 }
3779 },
3780 "leaf" : 1,
3781 "path" : "/cluster/ha/resources/{sid}/relocate",
3782 "text" : "relocate"
3783 }
3784 ],
3785 "info" : {
3786 "DELETE" : {
e9cd3bd4 3787 "allowtoken" : 1,
44660702
DM
3788 "description" : "Delete resource configuration.",
3789 "method" : "DELETE",
3790 "name" : "delete",
7aacca6f 3791 "parameters" : {
44660702 3792 "additionalProperties" : 0,
7aacca6f
DM
3793 "properties" : {
3794 "sid" : {
3795 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
44660702 3796 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3797 "type" : "string",
44660702
DM
3798 "typetext" : "<type>:<name>"
3799 }
3800 }
3801 },
3802 "permissions" : {
3803 "check" : [
3804 "perm",
3805 "/",
3806 [
3807 "Sys.Console"
3808 ]
3809 ]
3810 },
3811 "protected" : 1,
3812 "returns" : {
3813 "type" : "null"
3814 }
3815 },
3816 "GET" : {
e9cd3bd4 3817 "allowtoken" : 1,
44660702
DM
3818 "description" : "Read resource configuration.",
3819 "method" : "GET",
3820 "name" : "read",
3821 "parameters" : {
3822 "additionalProperties" : 0,
3823 "properties" : {
3824 "sid" : {
3825 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
7aacca6f 3826 "format" : "pve-ha-resource-or-vm-id",
44660702 3827 "type" : "string",
7aacca6f
DM
3828 "typetext" : "<type>:<name>"
3829 }
44660702 3830 }
7aacca6f
DM
3831 },
3832 "permissions" : {
3833 "check" : [
3834 "perm",
3835 "/",
3836 [
3837 "Sys.Audit"
3838 ]
3839 ]
3840 },
5f26e15b
TL
3841 "returns" : {
3842 "properties" : {
3843 "comment" : {
3844 "description" : "Description.",
3845 "optional" : 1,
3846 "type" : "string"
3847 },
3848 "digest" : {
3849 "description" : "Can be used to prevent concurrent modifications.",
3850 "type" : "string"
3851 },
3852 "group" : {
3853 "description" : "The HA group identifier.",
3854 "format" : "pve-configid",
3855 "optional" : 1,
3856 "type" : "string"
3857 },
3858 "max_relocate" : {
3859 "description" : "Maximal number of service relocate tries when a service failes to start.",
3860 "optional" : 1,
3861 "type" : "integer"
3862 },
3863 "max_restart" : {
3864 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3865 "optional" : 1,
3866 "type" : "integer"
3867 },
3868 "sid" : {
3869 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3870 "format" : "pve-ha-resource-or-vm-id",
3871 "type" : "string",
3872 "typetext" : "<type>:<name>"
3873 },
3874 "state" : {
3875 "description" : "Requested resource state.",
3876 "enum" : [
3877 "started",
3878 "stopped",
3879 "enabled",
3880 "disabled",
3881 "ignored"
3882 ],
3883 "optional" : 1,
3884 "type" : "string"
3885 },
3886 "type" : {
3887 "description" : "The type of the resources.",
3888 "type" : "string"
3889 }
3890 },
3891 "type" : "object"
3892 }
7aacca6f 3893 },
56122987 3894 "PUT" : {
e9cd3bd4 3895 "allowtoken" : 1,
44660702 3896 "description" : "Update resource configuration.",
7aacca6f 3897 "method" : "PUT",
44660702 3898 "name" : "update",
56122987
DM
3899 "parameters" : {
3900 "additionalProperties" : 0,
3901 "properties" : {
44660702
DM
3902 "comment" : {
3903 "description" : "Description.",
3904 "maxLength" : 4096,
56122987 3905 "optional" : 1,
013dc89f
DM
3906 "type" : "string",
3907 "typetext" : "<string>"
56122987 3908 },
7aacca6f
DM
3909 "delete" : {
3910 "description" : "A list of settings you want to delete.",
7aacca6f 3911 "format" : "pve-configid-list",
44660702
DM
3912 "maxLength" : 4096,
3913 "optional" : 1,
013dc89f
DM
3914 "type" : "string",
3915 "typetext" : "<string>"
56122987 3916 },
44660702
DM
3917 "digest" : {
3918 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3919 "maxLength" : 40,
3920 "optional" : 1,
013dc89f
DM
3921 "type" : "string",
3922 "typetext" : "<string>"
56122987 3923 },
44660702
DM
3924 "group" : {
3925 "description" : "The HA group identifier.",
3926 "format" : "pve-configid",
7aacca6f 3927 "optional" : 1,
013dc89f
DM
3928 "type" : "string",
3929 "typetext" : "<string>"
56122987
DM
3930 },
3931 "max_relocate" : {
7aacca6f 3932 "default" : 1,
56122987 3933 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3934 "minimum" : 0,
3935 "optional" : 1,
4bd7df8b 3936 "type" : "integer",
013dc89f 3937 "typetext" : "<integer> (0 - N)"
7aacca6f 3938 },
44660702
DM
3939 "max_restart" : {
3940 "default" : 1,
3941 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3942 "minimum" : 0,
7aacca6f 3943 "optional" : 1,
4bd7df8b 3944 "type" : "integer",
013dc89f 3945 "typetext" : "<integer> (0 - N)"
44660702
DM
3946 },
3947 "sid" : {
3948 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3949 "format" : "pve-ha-resource-or-vm-id",
3950 "type" : "string",
3951 "typetext" : "<type>:<name>"
7aacca6f
DM
3952 },
3953 "state" : {
f13c1238
DM
3954 "default" : "started",
3955 "description" : "Requested resource state.",
7aacca6f 3956 "enum" : [
f13c1238
DM
3957 "started",
3958 "stopped",
7aacca6f 3959 "enabled",
2489d6df
WB
3960 "disabled",
3961 "ignored"
7aacca6f 3962 ],
7aacca6f 3963 "optional" : 1,
f13c1238 3964 "type" : "string",
2489d6df 3965 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
56122987 3966 }
44660702
DM
3967 },
3968 "type" : "object"
56122987 3969 },
56122987
DM
3970 "permissions" : {
3971 "check" : [
3972 "perm",
3973 "/",
3974 [
3975 "Sys.Console"
3976 ]
3977 ]
3978 },
7aacca6f 3979 "protected" : 1,
56122987
DM
3980 "returns" : {
3981 "type" : "null"
3982 }
3983 }
3984 },
44660702 3985 "leaf" : 0,
7aacca6f 3986 "path" : "/cluster/ha/resources/{sid}",
44660702 3987 "text" : "{sid}"
56122987
DM
3988 }
3989 ],
7aacca6f
DM
3990 "info" : {
3991 "GET" : {
e9cd3bd4 3992 "allowtoken" : 1,
44660702
DM
3993 "description" : "List HA resources.",
3994 "method" : "GET",
3995 "name" : "index",
7aacca6f 3996 "parameters" : {
44660702
DM
3997 "additionalProperties" : 0,
3998 "properties" : {
3999 "type" : {
4000 "description" : "Only list resources of specific type",
4001 "enum" : [
4002 "ct",
4003 "vm"
4004 ],
4005 "optional" : 1,
4006 "type" : "string"
4007 }
4008 }
7aacca6f 4009 },
7aacca6f
DM
4010 "permissions" : {
4011 "check" : [
4012 "perm",
4013 "/",
4014 [
4015 "Sys.Audit"
4016 ]
4017 ]
4018 },
7aacca6f 4019 "returns" : {
7aacca6f 4020 "items" : {
7aacca6f 4021 "properties" : {
44660702 4022 "sid" : {
7aacca6f
DM
4023 "type" : "string"
4024 }
44660702
DM
4025 },
4026 "type" : "object"
7aacca6f
DM
4027 },
4028 "links" : [
4029 {
44660702 4030 "href" : "{sid}",
7aacca6f
DM
4031 "rel" : "child"
4032 }
44660702
DM
4033 ],
4034 "type" : "array"
7aacca6f
DM
4035 }
4036 },
4037 "POST" : {
e9cd3bd4 4038 "allowtoken" : 1,
44660702 4039 "description" : "Create a new HA resource.",
7aacca6f 4040 "method" : "POST",
44660702 4041 "name" : "create",
7aacca6f 4042 "parameters" : {
44660702 4043 "additionalProperties" : 0,
7aacca6f
DM
4044 "properties" : {
4045 "comment" : {
7aacca6f 4046 "description" : "Description.",
44660702 4047 "maxLength" : 4096,
7aacca6f 4048 "optional" : 1,
013dc89f
DM
4049 "type" : "string",
4050 "typetext" : "<string>"
7aacca6f 4051 },
44660702
DM
4052 "group" : {
4053 "description" : "The HA group identifier.",
4054 "format" : "pve-configid",
7aacca6f 4055 "optional" : 1,
013dc89f
DM
4056 "type" : "string",
4057 "typetext" : "<string>"
7aacca6f 4058 },
44660702
DM
4059 "max_relocate" : {
4060 "default" : 1,
4061 "description" : "Maximal number of service relocate tries when a service failes to start.",
4062 "minimum" : 0,
7aacca6f 4063 "optional" : 1,
4bd7df8b 4064 "type" : "integer",
013dc89f 4065 "typetext" : "<integer> (0 - N)"
7aacca6f 4066 },
44660702
DM
4067 "max_restart" : {
4068 "default" : 1,
4069 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4070 "minimum" : 0,
4071 "optional" : 1,
4bd7df8b 4072 "type" : "integer",
013dc89f 4073 "typetext" : "<integer> (0 - N)"
44660702
DM
4074 },
4075 "sid" : {
4076 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
4077 "format" : "pve-ha-resource-or-vm-id",
4078 "type" : "string",
4079 "typetext" : "<type>:<name>"
4080 },
4081 "state" : {
f13c1238
DM
4082 "default" : "started",
4083 "description" : "Requested resource state.",
7aacca6f 4084 "enum" : [
f13c1238
DM
4085 "started",
4086 "stopped",
44660702 4087 "enabled",
2489d6df
WB
4088 "disabled",
4089 "ignored"
7aacca6f 4090 ],
7aacca6f 4091 "optional" : 1,
f13c1238 4092 "type" : "string",
2489d6df 4093 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
7aacca6f 4094 },
44660702
DM
4095 "type" : {
4096 "description" : "Resource type.",
4097 "enum" : [
4098 "ct",
4099 "vm"
4100 ],
4101 "optional" : 1,
4102 "type" : "string"
4103 }
7aacca6f 4104 },
44660702 4105 "type" : "object"
7aacca6f
DM
4106 },
4107 "permissions" : {
4108 "check" : [
4109 "perm",
4110 "/",
4111 [
4112 "Sys.Console"
4113 ]
4114 ]
4115 },
44660702
DM
4116 "protected" : 1,
4117 "returns" : {
4118 "type" : "null"
4119 }
7aacca6f
DM
4120 }
4121 },
44660702
DM
4122 "leaf" : 0,
4123 "path" : "/cluster/ha/resources",
4124 "text" : "resources"
4125 },
4126 {
56122987
DM
4127 "children" : [
4128 {
56122987 4129 "info" : {
44660702 4130 "DELETE" : {
e9cd3bd4 4131 "allowtoken" : 1,
44660702
DM
4132 "description" : "Delete ha group configuration.",
4133 "method" : "DELETE",
4134 "name" : "delete",
56122987 4135 "parameters" : {
7aacca6f 4136 "additionalProperties" : 0,
56122987 4137 "properties" : {
7aacca6f
DM
4138 "group" : {
4139 "description" : "The HA group identifier.",
44660702 4140 "format" : "pve-configid",
013dc89f
DM
4141 "type" : "string",
4142 "typetext" : "<string>"
56122987 4143 }
7aacca6f 4144 }
56122987 4145 },
56122987
DM
4146 "permissions" : {
4147 "check" : [
4148 "perm",
4149 "/",
4150 [
7aacca6f 4151 "Sys.Console"
56122987
DM
4152 ]
4153 ]
4154 },
44660702 4155 "protected" : 1,
7aacca6f
DM
4156 "returns" : {
4157 "type" : "null"
56122987
DM
4158 }
4159 },
44660702 4160 "GET" : {
e9cd3bd4 4161 "allowtoken" : 1,
44660702
DM
4162 "description" : "Read ha group configuration.",
4163 "method" : "GET",
4164 "name" : "read",
56122987 4165 "parameters" : {
44660702 4166 "additionalProperties" : 0,
56122987
DM
4167 "properties" : {
4168 "group" : {
4169 "description" : "The HA group identifier.",
44660702 4170 "format" : "pve-configid",
013dc89f
DM
4171 "type" : "string",
4172 "typetext" : "<string>"
56122987 4173 }
44660702 4174 }
56122987 4175 },
56122987
DM
4176 "permissions" : {
4177 "check" : [
4178 "perm",
4179 "/",
4180 [
44660702 4181 "Sys.Audit"
56122987
DM
4182 ]
4183 ]
4184 },
44660702 4185 "returns" : {}
7aacca6f 4186 },
44660702 4187 "PUT" : {
e9cd3bd4 4188 "allowtoken" : 1,
44660702
DM
4189 "description" : "Update ha group configuration.",
4190 "method" : "PUT",
4191 "name" : "update",
7aacca6f 4192 "parameters" : {
44660702 4193 "additionalProperties" : 0,
7aacca6f 4194 "properties" : {
44660702
DM
4195 "comment" : {
4196 "description" : "Description.",
4197 "maxLength" : 4096,
4198 "optional" : 1,
013dc89f
DM
4199 "type" : "string",
4200 "typetext" : "<string>"
44660702
DM
4201 },
4202 "delete" : {
4203 "description" : "A list of settings you want to delete.",
4204 "format" : "pve-configid-list",
4205 "maxLength" : 4096,
4206 "optional" : 1,
013dc89f
DM
4207 "type" : "string",
4208 "typetext" : "<string>"
44660702
DM
4209 },
4210 "digest" : {
4211 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4212 "maxLength" : 40,
4213 "optional" : 1,
013dc89f
DM
4214 "type" : "string",
4215 "typetext" : "<string>"
44660702 4216 },
7aacca6f
DM
4217 "group" : {
4218 "description" : "The HA group identifier.",
44660702 4219 "format" : "pve-configid",
013dc89f
DM
4220 "type" : "string",
4221 "typetext" : "<string>"
44660702
DM
4222 },
4223 "nodes" : {
f13c1238 4224 "description" : "List of cluster node names with optional priority.",
44660702
DM
4225 "format" : "pve-ha-group-node-list",
4226 "optional" : 1,
7aacca6f 4227 "type" : "string",
f13c1238
DM
4228 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4229 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
4230 },
4231 "nofailback" : {
4232 "default" : 0,
4233 "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
4234 "optional" : 1,
013dc89f
DM
4235 "type" : "boolean",
4236 "typetext" : "<boolean>"
44660702
DM
4237 },
4238 "restricted" : {
4239 "default" : 0,
c4808e75 4240 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4241 "optional" : 1,
013dc89f 4242 "type" : "boolean",
c4808e75
DM
4243 "typetext" : "<boolean>",
4244 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
7aacca6f
DM
4245 }
4246 },
44660702 4247 "type" : "object"
7aacca6f 4248 },
7aacca6f
DM
4249 "permissions" : {
4250 "check" : [
4251 "perm",
4252 "/",
4253 [
44660702 4254 "Sys.Console"
7aacca6f
DM
4255 ]
4256 ]
4257 },
44660702
DM
4258 "protected" : 1,
4259 "returns" : {
4260 "type" : "null"
4261 }
56122987
DM
4262 }
4263 },
4264 "leaf" : 1,
44660702
DM
4265 "path" : "/cluster/ha/groups/{group}",
4266 "text" : "{group}"
56122987 4267 }
44660702
DM
4268 ],
4269 "info" : {
4270 "GET" : {
e9cd3bd4 4271 "allowtoken" : 1,
44660702
DM
4272 "description" : "Get HA groups.",
4273 "method" : "GET",
4274 "name" : "index",
4275 "parameters" : {
4276 "additionalProperties" : 0
4277 },
4278 "permissions" : {
4279 "check" : [
4280 "perm",
4281 "/",
4282 [
4283 "Sys.Audit"
4284 ]
4285 ]
4286 },
4287 "returns" : {
4288 "items" : {
4289 "properties" : {
4290 "group" : {
4291 "type" : "string"
4292 }
4293 },
4294 "type" : "object"
4295 },
4296 "links" : [
4297 {
4298 "href" : "{group}",
4299 "rel" : "child"
4300 }
4301 ],
4302 "type" : "array"
4303 }
4304 },
4305 "POST" : {
e9cd3bd4 4306 "allowtoken" : 1,
44660702
DM
4307 "description" : "Create a new HA group.",
4308 "method" : "POST",
4309 "name" : "create",
4310 "parameters" : {
4311 "additionalProperties" : 0,
4312 "properties" : {
4313 "comment" : {
4314 "description" : "Description.",
4315 "maxLength" : 4096,
4316 "optional" : 1,
013dc89f
DM
4317 "type" : "string",
4318 "typetext" : "<string>"
44660702
DM
4319 },
4320 "group" : {
4321 "description" : "The HA group identifier.",
4322 "format" : "pve-configid",
013dc89f
DM
4323 "type" : "string",
4324 "typetext" : "<string>"
44660702
DM
4325 },
4326 "nodes" : {
f13c1238 4327 "description" : "List of cluster node names with optional priority.",
44660702
DM
4328 "format" : "pve-ha-group-node-list",
4329 "optional" : 0,
4330 "type" : "string",
f13c1238
DM
4331 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4332 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
4333 },
4334 "nofailback" : {
4335 "default" : 0,
4336 "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
4337 "optional" : 1,
013dc89f
DM
4338 "type" : "boolean",
4339 "typetext" : "<boolean>"
44660702
DM
4340 },
4341 "restricted" : {
4342 "default" : 0,
c4808e75 4343 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4344 "optional" : 1,
013dc89f 4345 "type" : "boolean",
c4808e75
DM
4346 "typetext" : "<boolean>",
4347 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
44660702
DM
4348 },
4349 "type" : {
4350 "description" : "Group type.",
4351 "enum" : [
4352 "group"
4353 ],
4354 "optional" : 1,
4355 "type" : "string"
4356 }
4357 },
4358 "type" : "object"
4359 },
4360 "permissions" : {
4361 "check" : [
4362 "perm",
4363 "/",
4364 [
4365 "Sys.Console"
4366 ]
4367 ]
4368 },
4369 "protected" : 1,
4370 "returns" : {
4371 "type" : "null"
4372 }
4373 }
4374 },
4375 "leaf" : 0,
4376 "path" : "/cluster/ha/groups",
4377 "text" : "groups"
7aacca6f
DM
4378 },
4379 {
7aacca6f
DM
4380 "children" : [
4381 {
4382 "info" : {
4383 "GET" : {
e9cd3bd4 4384 "allowtoken" : 1,
56122987 4385 "description" : "Get HA manger status.",
44660702 4386 "method" : "GET",
7aacca6f 4387 "name" : "status",
44660702
DM
4388 "parameters" : {
4389 "additionalProperties" : 0
4390 },
56122987
DM
4391 "permissions" : {
4392 "check" : [
4393 "perm",
4394 "/",
4395 [
4396 "Sys.Audit"
4397 ]
4398 ]
7aacca6f 4399 },
44660702
DM
4400 "returns" : {
4401 "type" : "array"
56122987
DM
4402 }
4403 }
7aacca6f 4404 },
7aacca6f 4405 "leaf" : 1,
44660702
DM
4406 "path" : "/cluster/ha/status/current",
4407 "text" : "current"
56122987
DM
4408 },
4409 {
4410 "info" : {
4411 "GET" : {
e9cd3bd4 4412 "allowtoken" : 1,
7aacca6f 4413 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4414 "method" : "GET",
4415 "name" : "manager_status",
7aacca6f
DM
4416 "parameters" : {
4417 "additionalProperties" : 0
4418 },
56122987
DM
4419 "permissions" : {
4420 "check" : [
4421 "perm",
4422 "/",
4423 [
4424 "Sys.Audit"
4425 ]
4426 ]
44660702
DM
4427 },
4428 "returns" : {
4429 "type" : "object"
7aacca6f 4430 }
56122987
DM
4431 }
4432 },
56122987 4433 "leaf" : 1,
44660702
DM
4434 "path" : "/cluster/ha/status/manager_status",
4435 "text" : "manager_status"
56122987
DM
4436 }
4437 ],
56122987
DM
4438 "info" : {
4439 "GET" : {
e9cd3bd4 4440 "allowtoken" : 1,
44660702 4441 "description" : "Directory index.",
7aacca6f 4442 "method" : "GET",
44660702
DM
4443 "name" : "index",
4444 "parameters" : {
4445 "additionalProperties" : 0
4446 },
4447 "permissions" : {
4448 "user" : "all"
4449 },
56122987 4450 "returns" : {
56122987
DM
4451 "items" : {
4452 "properties" : {},
4453 "type" : "object"
4454 },
4455 "links" : [
4456 {
44660702
DM
4457 "href" : "{name}",
4458 "rel" : "child"
56122987 4459 }
7aacca6f
DM
4460 ],
4461 "type" : "array"
44660702 4462 }
56122987 4463 }
7aacca6f 4464 },
44660702 4465 "leaf" : 0,
7aacca6f 4466 "path" : "/cluster/ha/status",
44660702 4467 "text" : "status"
56122987
DM
4468 }
4469 ],
56122987
DM
4470 "info" : {
4471 "GET" : {
e9cd3bd4 4472 "allowtoken" : 1,
7aacca6f 4473 "description" : "Directory index.",
44660702
DM
4474 "method" : "GET",
4475 "name" : "index",
4476 "parameters" : {
4477 "additionalProperties" : 0
4478 },
7aacca6f
DM
4479 "permissions" : {
4480 "check" : [
4481 "perm",
4482 "/",
4483 [
4484 "Sys.Audit"
4485 ]
4486 ]
4487 },
56122987 4488 "returns" : {
56122987 4489 "items" : {
7aacca6f
DM
4490 "properties" : {
4491 "id" : {
4492 "type" : "string"
4493 }
44660702
DM
4494 },
4495 "type" : "object"
7aacca6f
DM
4496 },
4497 "links" : [
4498 {
4499 "href" : "{id}",
4500 "rel" : "child"
4501 }
44660702
DM
4502 ],
4503 "type" : "array"
7aacca6f
DM
4504 }
4505 }
44660702
DM
4506 },
4507 "leaf" : 0,
4508 "path" : "/cluster/ha",
4509 "text" : "ha"
7aacca6f 4510 },
a9a8e3d1
DM
4511 {
4512 "children" : [
c5aa7e14
TL
4513 {
4514 "children" : [
4515 {
4516 "info" : {
4517 "DELETE" : {
4518 "allowtoken" : 1,
4519 "description" : "Delete ACME plugin configuration.",
4520 "method" : "DELETE",
4521 "name" : "delete_plugin",
4522 "parameters" : {
4523 "additionalProperties" : 0,
4524 "properties" : {
4525 "id" : {
4526 "description" : "Unique identifier for ACME plugin instance.",
4527 "format" : "pve-configid",
4528 "type" : "string",
4529 "typetext" : "<string>"
4530 }
4531 }
4532 },
4533 "permissions" : {
4534 "check" : [
4535 "perm",
4536 "/",
4537 [
4538 "Sys.Modify"
4539 ]
4540 ]
4541 },
4542 "protected" : 1,
4543 "returns" : {
4544 "type" : "null"
4545 }
4546 },
4547 "GET" : {
4548 "allowtoken" : 1,
4549 "description" : "Get ACME plugin configuration.",
4550 "method" : "GET",
4551 "name" : "get_plugin_config",
4552 "parameters" : {
4553 "additionalProperties" : 0,
4554 "properties" : {
4555 "id" : {
4556 "description" : "Unique identifier for ACME plugin instance.",
4557 "format" : "pve-configid",
4558 "type" : "string",
4559 "typetext" : "<string>"
4560 }
4561 }
4562 },
4563 "permissions" : {
4564 "check" : [
4565 "perm",
4566 "/",
4567 [
4568 "Sys.Modify"
4569 ]
4570 ]
4571 },
4572 "protected" : 1,
4573 "returns" : {
4574 "type" : "object"
4575 }
4576 },
4577 "PUT" : {
4578 "allowtoken" : 1,
4579 "description" : "Update ACME plugin configuration.",
4580 "method" : "PUT",
4581 "name" : "update_plugin",
4582 "parameters" : {
4583 "additionalProperties" : 0,
4584 "properties" : {
4585 "api" : {
4586 "description" : "API plugin name",
4587 "enum" : [
4588 "acmedns",
4589 "acmeproxy",
4590 "active24",
4591 "ad",
4592 "ali",
4593 "autodns",
4594 "aws",
4595 "azure",
4596 "cf",
4597 "clouddns",
4598 "cloudns",
4599 "cn",
4600 "conoha",
4601 "constellix",
4602 "cx",
4603 "cyon",
4604 "da",
4605 "ddnss",
4606 "desec",
ac70d7d1 4607 "df",
c5aa7e14
TL
4608 "dgon",
4609 "dnsimple",
4610 "do",
4611 "doapi",
4612 "domeneshop",
4613 "dp",
4614 "dpi",
4615 "dreamhost",
4616 "duckdns",
4617 "durabledns",
4618 "dyn",
4619 "dynu",
4620 "dynv6",
4621 "easydns",
4622 "euserv",
4623 "exoscale",
4624 "freedns",
4625 "gandi_livedns",
4626 "gcloud",
4627 "gd",
4628 "gdnsdk",
4629 "he",
4630 "hexonet",
4631 "hostingde",
4632 "infoblox",
4633 "internetbs",
4634 "inwx",
4635 "ispconfig",
4636 "jd",
4637 "kas",
4638 "kinghost",
4639 "knot",
4640 "leaseweb",
4641 "lexicon",
4642 "linode",
4643 "linode_v4",
4644 "loopia",
4645 "lua",
4646 "maradns",
4647 "me",
4648 "miab",
4649 "misaka",
4650 "myapi",
4651 "mydevil",
4652 "mydnsjp",
4653 "namecheap",
4654 "namecom",
4655 "namesilo",
4656 "nederhost",
4657 "neodigit",
4658 "netcup",
4659 "nic",
4660 "nsd",
4661 "nsone",
4662 "nsupdate",
4663 "nw",
4664 "one",
4665 "online",
4666 "openprovider",
4667 "opnsense",
4668 "ovh",
4669 "pdns",
4670 "pleskxml",
4671 "pointhq",
4672 "rackspace",
4673 "rcode0",
4674 "regru",
4675 "schlundtech",
4676 "selectel",
4677 "servercow",
4678 "tele3",
4679 "ultra",
4680 "unoeuro",
4681 "variomedia",
4682 "vscale",
4683 "vultr",
4684 "yandex",
4685 "zilore",
4686 "zone",
4687 "zonomi"
4688 ],
4689 "optional" : 1,
4690 "type" : "string"
4691 },
4692 "data" : {
4693 "description" : "DNS plugin data. (base64 encoded)",
4694 "optional" : 1,
4695 "type" : "string",
4696 "typetext" : "<string>"
4697 },
4698 "delete" : {
4699 "description" : "A list of settings you want to delete.",
4700 "format" : "pve-configid-list",
4701 "maxLength" : 4096,
4702 "optional" : 1,
4703 "type" : "string",
4704 "typetext" : "<string>"
4705 },
4706 "digest" : {
4707 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4708 "maxLength" : 40,
4709 "optional" : 1,
4710 "type" : "string",
4711 "typetext" : "<string>"
4712 },
4713 "disable" : {
4714 "description" : "Flag to disable the config.",
4715 "optional" : 1,
4716 "type" : "boolean",
4717 "typetext" : "<boolean>"
4718 },
4719 "id" : {
4720 "description" : "ACME Plugin ID name",
4721 "format" : "pve-configid",
4722 "type" : "string",
4723 "typetext" : "<string>"
4724 },
4725 "nodes" : {
4726 "description" : "List of cluster node names.",
4727 "format" : "pve-node-list",
4728 "optional" : 1,
4729 "type" : "string",
4730 "typetext" : "<string>"
4731 },
4732 "validation-delay" : {
4733 "default" : 30,
4734 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
4735 "maximum" : 172800,
4736 "minimum" : 0,
4737 "optional" : 1,
4738 "type" : "integer",
4739 "typetext" : "<integer> (0 - 172800)"
4740 }
4741 },
4742 "type" : "object"
4743 },
4744 "permissions" : {
4745 "check" : [
4746 "perm",
4747 "/",
4748 [
4749 "Sys.Modify"
4750 ]
4751 ]
4752 },
4753 "protected" : 1,
4754 "returns" : {
4755 "type" : "null"
4756 }
4757 }
4758 },
4759 "leaf" : 1,
4760 "path" : "/cluster/acme/plugins/{id}",
4761 "text" : "{id}"
4762 }
4763 ],
4764 "info" : {
4765 "GET" : {
4766 "allowtoken" : 1,
4767 "description" : "ACME plugin index.",
4768 "method" : "GET",
4769 "name" : "index",
4770 "parameters" : {
4771 "additionalProperties" : 0,
4772 "properties" : {
4773 "type" : {
4774 "description" : "Only list ACME plugins of a specific type",
4775 "enum" : [
4776 "dns",
4777 "standalone"
4778 ],
4779 "optional" : 1,
4780 "type" : "string"
4781 }
4782 }
4783 },
4784 "permissions" : {
4785 "check" : [
4786 "perm",
4787 "/",
4788 [
4789 "Sys.Modify"
4790 ]
4791 ]
4792 },
4793 "protected" : 1,
4794 "returns" : {
4795 "items" : {
4796 "properties" : {
4797 "plugin" : {
4798 "description" : "Unique identifier for ACME plugin instance.",
4799 "format" : "pve-configid",
4800 "type" : "string"
4801 }
4802 },
4803 "type" : "object"
4804 },
4805 "links" : [
4806 {
4807 "href" : "{plugin}",
4808 "rel" : "child"
4809 }
4810 ],
4811 "type" : "array"
4812 }
4813 },
4814 "POST" : {
4815 "allowtoken" : 1,
4816 "description" : "Add ACME plugin configuration.",
4817 "method" : "POST",
4818 "name" : "add_plugin",
4819 "parameters" : {
4820 "additionalProperties" : 0,
4821 "properties" : {
4822 "api" : {
4823 "description" : "API plugin name",
4824 "enum" : [
4825 "acmedns",
4826 "acmeproxy",
4827 "active24",
4828 "ad",
4829 "ali",
4830 "autodns",
4831 "aws",
4832 "azure",
4833 "cf",
4834 "clouddns",
4835 "cloudns",
4836 "cn",
4837 "conoha",
4838 "constellix",
4839 "cx",
4840 "cyon",
4841 "da",
4842 "ddnss",
4843 "desec",
ac70d7d1 4844 "df",
c5aa7e14
TL
4845 "dgon",
4846 "dnsimple",
4847 "do",
4848 "doapi",
4849 "domeneshop",
4850 "dp",
4851 "dpi",
4852 "dreamhost",
4853 "duckdns",
4854 "durabledns",
4855 "dyn",
4856 "dynu",
4857 "dynv6",
4858 "easydns",
4859 "euserv",
4860 "exoscale",
4861 "freedns",
4862 "gandi_livedns",
4863 "gcloud",
4864 "gd",
4865 "gdnsdk",
4866 "he",
4867 "hexonet",
4868 "hostingde",
4869 "infoblox",
4870 "internetbs",
4871 "inwx",
4872 "ispconfig",
4873 "jd",
4874 "kas",
4875 "kinghost",
4876 "knot",
4877 "leaseweb",
4878 "lexicon",
4879 "linode",
4880 "linode_v4",
4881 "loopia",
4882 "lua",
4883 "maradns",
4884 "me",
4885 "miab",
4886 "misaka",
4887 "myapi",
4888 "mydevil",
4889 "mydnsjp",
4890 "namecheap",
4891 "namecom",
4892 "namesilo",
4893 "nederhost",
4894 "neodigit",
4895 "netcup",
4896 "nic",
4897 "nsd",
4898 "nsone",
4899 "nsupdate",
4900 "nw",
4901 "one",
4902 "online",
4903 "openprovider",
4904 "opnsense",
4905 "ovh",
4906 "pdns",
4907 "pleskxml",
4908 "pointhq",
4909 "rackspace",
4910 "rcode0",
4911 "regru",
4912 "schlundtech",
4913 "selectel",
4914 "servercow",
4915 "tele3",
4916 "ultra",
4917 "unoeuro",
4918 "variomedia",
4919 "vscale",
4920 "vultr",
4921 "yandex",
4922 "zilore",
4923 "zone",
4924 "zonomi"
4925 ],
4926 "optional" : 1,
4927 "type" : "string"
4928 },
4929 "data" : {
4930 "description" : "DNS plugin data. (base64 encoded)",
4931 "optional" : 1,
4932 "type" : "string",
4933 "typetext" : "<string>"
4934 },
4935 "disable" : {
4936 "description" : "Flag to disable the config.",
4937 "optional" : 1,
4938 "type" : "boolean",
4939 "typetext" : "<boolean>"
4940 },
4941 "id" : {
4942 "description" : "ACME Plugin ID name",
4943 "format" : "pve-configid",
4944 "type" : "string",
4945 "typetext" : "<string>"
4946 },
4947 "nodes" : {
4948 "description" : "List of cluster node names.",
4949 "format" : "pve-node-list",
4950 "optional" : 1,
4951 "type" : "string",
4952 "typetext" : "<string>"
4953 },
4954 "type" : {
4955 "description" : "ACME challenge type.",
4956 "enum" : [
4957 "dns",
4958 "standalone"
4959 ],
4960 "type" : "string"
4961 },
4962 "validation-delay" : {
4963 "default" : 30,
4964 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
4965 "maximum" : 172800,
4966 "minimum" : 0,
4967 "optional" : 1,
4968 "type" : "integer",
4969 "typetext" : "<integer> (0 - 172800)"
4970 }
4971 },
4972 "type" : "object"
4973 },
4974 "permissions" : {
4975 "check" : [
4976 "perm",
4977 "/",
4978 [
4979 "Sys.Modify"
4980 ]
4981 ]
4982 },
4983 "protected" : 1,
4984 "returns" : {
4985 "type" : "null"
4986 }
4987 }
4988 },
4989 "leaf" : 0,
4990 "path" : "/cluster/acme/plugins",
4991 "text" : "plugins"
4992 },
a9a8e3d1
DM
4993 {
4994 "children" : [
4995 {
4996 "info" : {
4997 "DELETE" : {
e9cd3bd4 4998 "allowtoken" : 1,
a9a8e3d1
DM
4999 "description" : "Deactivate existing ACME account at CA.",
5000 "method" : "DELETE",
5001 "name" : "deactivate_account",
5002 "parameters" : {
5003 "additionalProperties" : 0,
5004 "properties" : {
5005 "name" : {
5006 "default" : "default",
5007 "description" : "ACME account config file name.",
5008 "format" : "pve-configid",
5009 "format_description" : "name",
5010 "optional" : 1,
5011 "type" : "string",
5012 "typetext" : "<name>"
5013 }
5014 }
5015 },
5016 "protected" : 1,
5017 "returns" : {
5018 "type" : "string"
5019 }
5020 },
5021 "GET" : {
e9cd3bd4 5022 "allowtoken" : 1,
a9a8e3d1
DM
5023 "description" : "Return existing ACME account information.",
5024 "method" : "GET",
5025 "name" : "get_account",
5026 "parameters" : {
5027 "additionalProperties" : 0,
5028 "properties" : {
5029 "name" : {
5030 "default" : "default",
5031 "description" : "ACME account config file name.",
5032 "format" : "pve-configid",
5033 "format_description" : "name",
5034 "optional" : 1,
5035 "type" : "string",
5036 "typetext" : "<name>"
5037 }
5038 }
5039 },
5040 "protected" : 1,
5041 "returns" : {
5042 "additionalProperties" : 0,
5043 "properties" : {
5044 "account" : {
5045 "optional" : 1,
4d47f125 5046 "renderer" : "yaml",
a9a8e3d1
DM
5047 "type" : "object"
5048 },
5049 "directory" : {
5050 "description" : "URL of ACME CA directory endpoint.",
5051 "optional" : 1,
5052 "pattern" : "^https?://.*",
5053 "type" : "string"
5054 },
5055 "location" : {
5056 "optional" : 1,
5057 "type" : "string"
5058 },
5059 "tos" : {
5060 "optional" : 1,
5061 "type" : "string"
5062 }
5063 },
5064 "type" : "object"
5065 }
5066 },
5067 "PUT" : {
e9cd3bd4 5068 "allowtoken" : 1,
a9a8e3d1
DM
5069 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
5070 "method" : "PUT",
5071 "name" : "update_account",
5072 "parameters" : {
5073 "additionalProperties" : 0,
5074 "properties" : {
5075 "contact" : {
5076 "description" : "Contact email addresses.",
5077 "format" : "email-list",
5078 "optional" : 1,
5079 "type" : "string",
5080 "typetext" : "<string>"
5081 },
5082 "name" : {
5083 "default" : "default",
5084 "description" : "ACME account config file name.",
5085 "format" : "pve-configid",
5086 "format_description" : "name",
5087 "optional" : 1,
5088 "type" : "string",
5089 "typetext" : "<name>"
5090 }
5091 }
5092 },
5093 "protected" : 1,
5094 "returns" : {
5095 "type" : "string"
5096 }
5097 }
5098 },
5099 "leaf" : 1,
5100 "path" : "/cluster/acme/account/{name}",
5101 "text" : "{name}"
5102 }
5103 ],
5104 "info" : {
5105 "GET" : {
e9cd3bd4 5106 "allowtoken" : 1,
a9a8e3d1
DM
5107 "description" : "ACMEAccount index.",
5108 "method" : "GET",
5109 "name" : "account_index",
5110 "parameters" : {
5111 "additionalProperties" : 0
5112 },
5113 "permissions" : {
5114 "user" : "all"
5115 },
5116 "protected" : 1,
5117 "returns" : {
5118 "items" : {
5119 "properties" : {},
5120 "type" : "object"
5121 },
5122 "links" : [
5123 {
5124 "href" : "{name}",
5125 "rel" : "child"
5126 }
5127 ],
5128 "type" : "array"
5129 }
5130 },
5131 "POST" : {
e9cd3bd4 5132 "allowtoken" : 1,
a9a8e3d1
DM
5133 "description" : "Register a new ACME account with CA.",
5134 "method" : "POST",
5135 "name" : "register_account",
5136 "parameters" : {
5137 "additionalProperties" : 0,
5138 "properties" : {
5139 "contact" : {
5140 "description" : "Contact email addresses.",
5141 "format" : "email-list",
5142 "type" : "string",
5143 "typetext" : "<string>"
5144 },
5145 "directory" : {
5146 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5147 "description" : "URL of ACME CA directory endpoint.",
5148 "optional" : 1,
5149 "pattern" : "^https?://.*",
5150 "type" : "string"
5151 },
5152 "name" : {
5153 "default" : "default",
5154 "description" : "ACME account config file name.",
5155 "format" : "pve-configid",
5156 "format_description" : "name",
5157 "optional" : 1,
5158 "type" : "string",
5159 "typetext" : "<name>"
5160 },
5161 "tos_url" : {
5162 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
5163 "optional" : 1,
5164 "type" : "string",
5165 "typetext" : "<string>"
5166 }
5167 }
5168 },
5169 "protected" : 1,
5170 "returns" : {
5171 "type" : "string"
5172 }
5173 }
5174 },
5175 "leaf" : 0,
5176 "path" : "/cluster/acme/account",
5177 "text" : "account"
5178 },
5179 {
5180 "info" : {
5181 "GET" : {
e9cd3bd4 5182 "allowtoken" : 1,
a9a8e3d1
DM
5183 "description" : "Retrieve ACME TermsOfService URL from CA.",
5184 "method" : "GET",
5185 "name" : "get_tos",
5186 "parameters" : {
5187 "additionalProperties" : 0,
5188 "properties" : {
5189 "directory" : {
5190 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5191 "description" : "URL of ACME CA directory endpoint.",
5192 "optional" : 1,
5193 "pattern" : "^https?://.*",
5194 "type" : "string"
5195 }
5196 }
5197 },
5da3d723
TL
5198 "permissions" : {
5199 "user" : "all"
5200 },
a9a8e3d1
DM
5201 "returns" : {
5202 "description" : "ACME TermsOfService URL.",
5c1699e5 5203 "optional" : 1,
a9a8e3d1
DM
5204 "type" : "string"
5205 }
5206 }
5207 },
5208 "leaf" : 1,
5209 "path" : "/cluster/acme/tos",
5210 "text" : "tos"
5211 },
5212 {
5213 "info" : {
5214 "GET" : {
e9cd3bd4 5215 "allowtoken" : 1,
a9a8e3d1
DM
5216 "description" : "Get named known ACME directory endpoints.",
5217 "method" : "GET",
5218 "name" : "get_directories",
5219 "parameters" : {
5220 "additionalProperties" : 0
5221 },
5da3d723
TL
5222 "permissions" : {
5223 "user" : "all"
5224 },
a9a8e3d1
DM
5225 "returns" : {
5226 "items" : {
5227 "additionalProperties" : 0,
5228 "properties" : {
5229 "name" : {
5230 "type" : "string"
5231 },
5232 "url" : {
5233 "description" : "URL of ACME CA directory endpoint.",
5234 "pattern" : "^https?://.*",
5235 "type" : "string"
5236 }
5237 },
5238 "type" : "object"
5239 },
5240 "type" : "array"
5241 }
5242 }
5243 },
5244 "leaf" : 1,
5245 "path" : "/cluster/acme/directories",
5246 "text" : "directories"
ac70d7d1
TL
5247 },
5248 {
5249 "info" : {
5250 "GET" : {
5251 "allowtoken" : 1,
5252 "description" : "Get schema of ACME challenge types.",
5253 "method" : "GET",
5254 "name" : "challengeschema",
5255 "parameters" : {
5256 "additionalProperties" : 0
5257 },
5258 "permissions" : {
5259 "user" : "all"
5260 },
5261 "returns" : {
5262 "items" : {
5263 "additionalProperties" : 0,
5264 "properties" : {
5265 "id" : {
5266 "type" : "string"
5267 },
5268 "name" : {
5269 "description" : "Human readable name, falls back to id",
5270 "type" : "string"
5271 },
5272 "schema" : {
5273 "type" : "object"
5274 },
5275 "type" : {
5276 "type" : "string"
5277 }
5278 },
5279 "type" : "object"
5280 },
5281 "type" : "array"
5282 }
5283 }
5284 },
5285 "leaf" : 1,
5286 "path" : "/cluster/acme/challenge-schema",
5287 "text" : "challenge-schema"
a9a8e3d1
DM
5288 }
5289 ],
5290 "info" : {
5291 "GET" : {
e9cd3bd4 5292 "allowtoken" : 1,
a9a8e3d1
DM
5293 "description" : "ACMEAccount index.",
5294 "method" : "GET",
5295 "name" : "index",
5296 "parameters" : {
5297 "additionalProperties" : 0
5298 },
5299 "permissions" : {
5300 "user" : "all"
5301 },
5302 "returns" : {
5303 "items" : {
5304 "properties" : {},
5305 "type" : "object"
5306 },
5307 "links" : [
5308 {
5309 "href" : "{name}",
5310 "rel" : "child"
5311 }
5312 ],
5313 "type" : "array"
5314 }
5315 }
5316 },
5317 "leaf" : 0,
5318 "path" : "/cluster/acme",
5319 "text" : "acme"
5320 },
1c532546
TL
5321 {
5322 "children" : [
5323 {
5324 "info" : {
5325 "GET" : {
e9cd3bd4 5326 "allowtoken" : 1,
1c532546
TL
5327 "description" : "Get ceph metadata.",
5328 "method" : "GET",
5329 "name" : "metadata",
5330 "parameters" : {
c5aa7e14
TL
5331 "additionalProperties" : 0,
5332 "properties" : {
5333 "scope" : {
5334 "default" : "all",
5335 "enum" : [
5336 "all",
5337 "versions"
5338 ],
5339 "optional" : 1,
5340 "type" : "string"
5341 }
5342 }
1c532546
TL
5343 },
5344 "permissions" : {
5345 "check" : [
5346 "perm",
5347 "/",
5348 [
5349 "Sys.Audit",
5350 "Datastore.Audit"
5351 ],
5352 "any",
5353 1
5354 ]
5355 },
5356 "protected" : 1,
5357 "returns" : {
5358 "type" : "object"
5359 }
5360 }
5361 },
5362 "leaf" : 1,
5363 "path" : "/cluster/ceph/metadata",
5364 "text" : "metadata"
5365 },
5366 {
5367 "info" : {
5368 "GET" : {
e9cd3bd4 5369 "allowtoken" : 1,
1c532546
TL
5370 "description" : "Get ceph status.",
5371 "method" : "GET",
5372 "name" : "status",
5373 "parameters" : {
5374 "additionalProperties" : 0
5375 },
5376 "permissions" : {
5377 "check" : [
5378 "perm",
5379 "/",
5380 [
5381 "Sys.Audit",
5382 "Datastore.Audit"
5383 ],
5384 "any",
5385 1
5386 ]
5387 },
5388 "protected" : 1,
5389 "returns" : {
5390 "type" : "object"
5391 }
5392 }
5393 },
5394 "leaf" : 1,
5395 "path" : "/cluster/ceph/status",
5396 "text" : "status"
5397 },
5398 {
5399 "children" : [
5400 {
5401 "info" : {
5402 "GET" : {
e9cd3bd4 5403 "allowtoken" : 1,
1c532546
TL
5404 "description" : "Get the status of a specific ceph flag.",
5405 "method" : "GET",
5406 "name" : "get_flag",
5407 "parameters" : {
5408 "additionalProperties" : 0,
5409 "properties" : {
5410 "flag" : {
5411 "description" : "The name of the flag name to get.",
5412 "enum" : [
5413 "nobackfill",
5414 "nodeep-scrub",
5415 "nodown",
5416 "noin",
5417 "noout",
5418 "norebalance",
5419 "norecover",
5420 "noscrub",
5421 "notieragent",
5422 "noup",
5423 "pause"
5424 ],
5425 "type" : "string"
5426 }
5427 }
5428 },
5429 "permissions" : {
5430 "check" : [
5431 "perm",
5432 "/",
5433 [
5434 "Sys.Audit"
5435 ]
5436 ]
5437 },
5438 "protected" : 1,
5439 "returns" : {
5440 "type" : "boolean"
5441 }
5442 },
5443 "PUT" : {
e9cd3bd4 5444 "allowtoken" : 1,
1c532546
TL
5445 "description" : "Set or clear (unset) a specific ceph flag",
5446 "method" : "PUT",
5447 "name" : "update_flag",
5448 "parameters" : {
5449 "additionalProperties" : 0,
5450 "properties" : {
5451 "flag" : {
5452 "description" : "The ceph flag to update",
5453 "enum" : [
5454 "nobackfill",
5455 "nodeep-scrub",
5456 "nodown",
5457 "noin",
5458 "noout",
5459 "norebalance",
5460 "norecover",
5461 "noscrub",
5462 "notieragent",
5463 "noup",
5464 "pause"
5465 ],
5466 "type" : "string"
5467 },
5468 "value" : {
5469 "description" : "The new value of the flag",
5470 "type" : "boolean",
5471 "typetext" : "<boolean>"
5472 }
5473 }
5474 },
5475 "permissions" : {
5476 "check" : [
5477 "perm",
5478 "/",
5479 [
5480 "Sys.Modify"
5481 ]
5482 ]
5483 },
5484 "protected" : 1,
5485 "returns" : {
5486 "type" : "null"
5487 }
5488 }
5489 },
5490 "leaf" : 1,
5491 "path" : "/cluster/ceph/flags/{flag}",
5492 "text" : "{flag}"
5493 }
5494 ],
5495 "info" : {
5496 "GET" : {
e9cd3bd4 5497 "allowtoken" : 1,
1c532546
TL
5498 "description" : "get the status of all ceph flags",
5499 "method" : "GET",
5500 "name" : "get_all_flags",
5501 "parameters" : {
5502 "additionalProperties" : 0
5503 },
5504 "permissions" : {
5505 "check" : [
5506 "perm",
5507 "/",
5508 [
5509 "Sys.Audit"
5510 ]
5511 ]
5512 },
5513 "protected" : 1,
5514 "returns" : {
5515 "items" : {
5516 "additionalProperties" : 1,
5517 "properties" : {
5518 "name" : {
5519 "description" : "Flag name.",
5520 "enum" : [
5521 "nobackfill",
5522 "nodeep-scrub",
5523 "nodown",
5524 "noin",
5525 "noout",
5526 "norebalance",
5527 "norecover",
5528 "noscrub",
5529 "notieragent",
5530 "noup",
5531 "pause"
5532 ],
5533 "type" : "string"
5534 }
5535 },
5536 "type" : "object"
5537 },
5538 "links" : [
5539 {
5540 "href" : "{name}",
5541 "rel" : "child"
5542 }
5543 ],
5544 "type" : "array"
5545 }
5546 },
5547 "PUT" : {
e9cd3bd4 5548 "allowtoken" : 1,
1c532546
TL
5549 "description" : "Set/Unset multiple ceph flags at once.",
5550 "method" : "PUT",
5551 "name" : "set_flags",
5552 "parameters" : {
5553 "additionalProperties" : 0,
5554 "properties" : {
5555 "nobackfill" : {
5556 "description" : "Backfilling of PGs is suspended.",
5557 "optional" : 1,
5558 "type" : "boolean",
5559 "typetext" : "<boolean>"
5560 },
5561 "nodeep-scrub" : {
5562 "description" : "Deep Scrubbing is disabled.",
5563 "optional" : 1,
5564 "type" : "boolean",
5565 "typetext" : "<boolean>"
5566 },
5567 "nodown" : {
5568 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
5569 "optional" : 1,
5570 "type" : "boolean",
5571 "typetext" : "<boolean>"
5572 },
5573 "noin" : {
5574 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
5575 "optional" : 1,
5576 "type" : "boolean",
5577 "typetext" : "<boolean>"
5578 },
5579 "noout" : {
5580 "description" : "OSDs will not automatically be marked out after the configured interval.",
5581 "optional" : 1,
5582 "type" : "boolean",
5583 "typetext" : "<boolean>"
5584 },
5585 "norebalance" : {
5586 "description" : "Rebalancing of PGs is suspended.",
5587 "optional" : 1,
5588 "type" : "boolean",
5589 "typetext" : "<boolean>"
5590 },
5591 "norecover" : {
5592 "description" : "Recovery of PGs is suspended.",
5593 "optional" : 1,
5594 "type" : "boolean",
5595 "typetext" : "<boolean>"
5596 },
5597 "noscrub" : {
5598 "description" : "Scrubbing is disabled.",
5599 "optional" : 1,
5600 "type" : "boolean",
5601 "typetext" : "<boolean>"
5602 },
5603 "notieragent" : {
5604 "description" : "Cache tiering activity is suspended.",
5605 "optional" : 1,
5606 "type" : "boolean",
5607 "typetext" : "<boolean>"
5608 },
5609 "noup" : {
5610 "description" : "OSDs are not allowed to start.",
5611 "optional" : 1,
5612 "type" : "boolean",
5613 "typetext" : "<boolean>"
5614 },
5615 "pause" : {
5616 "description" : "Pauses read and writes.",
5617 "optional" : 1,
5618 "type" : "boolean",
5619 "typetext" : "<boolean>"
5620 }
5621 }
5622 },
5623 "permissions" : {
5624 "check" : [
5625 "perm",
5626 "/",
5627 [
5628 "Sys.Modify"
5629 ]
5630 ]
5631 },
5632 "protected" : 1,
5633 "returns" : {
5634 "type" : "string"
5635 }
5636 }
5637 },
5638 "leaf" : 0,
5639 "path" : "/cluster/ceph/flags",
5640 "text" : "flags"
5641 }
5642 ],
5643 "info" : {
5644 "GET" : {
e9cd3bd4 5645 "allowtoken" : 1,
1c532546
TL
5646 "description" : "Cluster ceph index.",
5647 "method" : "GET",
5648 "name" : "cephindex",
5649 "parameters" : {
5650 "additionalProperties" : 0
5651 },
5652 "permissions" : {
5653 "user" : "all"
5654 },
5655 "returns" : {
5656 "items" : {
5657 "properties" : {},
5658 "type" : "object"
5659 },
5660 "links" : [
5661 {
5662 "href" : "{name}",
5663 "rel" : "child"
5664 }
5665 ],
5666 "type" : "array"
5667 }
5668 }
5669 },
5670 "leaf" : 0,
5671 "path" : "/cluster/ceph",
5672 "text" : "ceph"
5673 },
c5aa7e14
TL
5674 {
5675 "children" : [
5676 {
5677 "children" : [
5678 {
5679 "info" : {
5680 "DELETE" : {
5681 "allowtoken" : 1,
5682 "description" : "Delete sdn vnet object configuration.",
5683 "method" : "DELETE",
5684 "name" : "delete",
5685 "parameters" : {
5686 "additionalProperties" : 0,
5687 "properties" : {
5688 "vnet" : {
5689 "description" : "The SDN vnet object identifier.",
5690 "format" : "pve-sdn-vnet-id",
5691 "type" : "string",
5692 "typetext" : "<string>"
5693 }
5694 }
5695 },
5696 "permissions" : {
5697 "check" : [
5698 "perm",
5699 "/sdn/vnets",
5700 [
5701 "SDN.Allocate"
5702 ]
5703 ]
5704 },
5705 "protected" : 1,
5706 "returns" : {
5707 "type" : "null"
5708 }
5709 },
5710 "GET" : {
5711 "allowtoken" : 1,
5712 "description" : "Read sdn vnet configuration.",
5713 "method" : "GET",
5714 "name" : "read",
5715 "parameters" : {
5716 "additionalProperties" : 0,
5717 "properties" : {
5718 "vnet" : {
5719 "description" : "The SDN vnet object identifier.",
5720 "format" : "pve-sdn-vnet-id",
5721 "type" : "string",
5722 "typetext" : "<string>"
5723 }
5724 }
5725 },
5726 "permissions" : {
5727 "check" : [
5728 "perm",
5729 "/sdn/vnets/{vnet}",
5730 [
5731 "SDN.Allocate"
5732 ]
5733 ]
5734 },
5735 "returns" : {
5736 "type" : "object"
5737 }
5738 },
5739 "PUT" : {
5740 "allowtoken" : 1,
5741 "description" : "Update sdn vnet object configuration.",
5742 "method" : "PUT",
5743 "name" : "update",
5744 "parameters" : {
5745 "additionalProperties" : 0,
5746 "properties" : {
5747 "alias" : {
5748 "description" : "alias name of the vnet",
5749 "optional" : 1,
5750 "type" : "string",
5751 "typetext" : "<string>"
5752 },
5753 "delete" : {
5754 "description" : "A list of settings you want to delete.",
5755 "format" : "pve-configid-list",
5756 "maxLength" : 4096,
5757 "optional" : 1,
5758 "type" : "string",
5759 "typetext" : "<string>"
5760 },
5761 "digest" : {
5762 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5763 "maxLength" : 40,
5764 "optional" : 1,
5765 "type" : "string",
5766 "typetext" : "<string>"
5767 },
5768 "ipv4" : {
5769 "description" : "Anycast router ipv4 address.",
5770 "format" : "CIDRv4",
5771 "optional" : 1,
5772 "type" : "string",
5773 "typetext" : "<string>"
5774 },
5775 "ipv6" : {
5776 "description" : "Anycast router ipv6 address.",
5777 "format" : "CIDRv6",
5778 "optional" : 1,
5779 "type" : "string",
5780 "typetext" : "<string>"
5781 },
5782 "mac" : {
5783 "description" : "Anycast router mac address",
5784 "format" : "mac-addr",
5785 "optional" : 1,
5786 "type" : "string",
5787 "typetext" : "<string>"
5788 },
5789 "tag" : {
5790 "description" : "vlan or vxlan id",
5791 "optional" : 1,
5792 "type" : "integer",
5793 "typetext" : "<integer>"
5794 },
ac70d7d1
TL
5795 "vlanaware" : {
5796 "description" : "Allow vm VLANs to pass through this vnet.",
5797 "optional" : 1,
5798 "type" : "boolean",
5799 "typetext" : "<boolean>"
5800 },
c5aa7e14
TL
5801 "vnet" : {
5802 "description" : "The SDN vnet object identifier.",
5803 "format" : "pve-sdn-vnet-id",
5804 "type" : "string",
5805 "typetext" : "<string>"
5806 },
5807 "zone" : {
5808 "description" : "zone id",
5809 "optional" : 1,
5810 "type" : "string",
5811 "typetext" : "<string>"
5812 }
5813 },
5814 "type" : "object"
5815 },
5816 "permissions" : {
5817 "check" : [
5818 "perm",
5819 "/sdn/vnets",
5820 [
5821 "SDN.Allocate"
5822 ]
5823 ]
5824 },
5825 "protected" : 1,
5826 "returns" : {
5827 "type" : "null"
5828 }
5829 }
5830 },
5831 "leaf" : 1,
5832 "path" : "/cluster/sdn/vnets/{vnet}",
5833 "text" : "{vnet}"
5834 }
5835 ],
5836 "info" : {
5837 "GET" : {
5838 "allowtoken" : 1,
5839 "description" : "SDN vnets index.",
5840 "method" : "GET",
5841 "name" : "index",
5842 "parameters" : {
5843 "additionalProperties" : 0
5844 },
5845 "permissions" : {
5846 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
5847 "user" : "all"
5848 },
5849 "returns" : {
5850 "items" : {
5851 "properties" : {},
5852 "type" : "object"
5853 },
5854 "links" : [
5855 {
5856 "href" : "{vnet}",
5857 "rel" : "child"
5858 }
5859 ],
5860 "type" : "array"
5861 }
5862 },
5863 "POST" : {
5864 "allowtoken" : 1,
5865 "description" : "Create a new sdn vnet object.",
5866 "method" : "POST",
5867 "name" : "create",
5868 "parameters" : {
5869 "additionalProperties" : 0,
5870 "properties" : {
5871 "alias" : {
5872 "description" : "alias name of the vnet",
5873 "optional" : 1,
5874 "type" : "string",
5875 "typetext" : "<string>"
5876 },
5877 "ipv4" : {
5878 "description" : "Anycast router ipv4 address.",
5879 "format" : "CIDRv4",
5880 "optional" : 1,
5881 "type" : "string",
5882 "typetext" : "<string>"
5883 },
5884 "ipv6" : {
5885 "description" : "Anycast router ipv6 address.",
5886 "format" : "CIDRv6",
5887 "optional" : 1,
5888 "type" : "string",
5889 "typetext" : "<string>"
5890 },
5891 "mac" : {
5892 "description" : "Anycast router mac address",
5893 "format" : "mac-addr",
5894 "optional" : 1,
5895 "type" : "string",
5896 "typetext" : "<string>"
5897 },
5898 "tag" : {
5899 "description" : "vlan or vxlan id",
ac70d7d1 5900 "optional" : 1,
c5aa7e14
TL
5901 "type" : "integer",
5902 "typetext" : "<integer>"
5903 },
5904 "type" : {
5905 "description" : "Type",
5906 "enum" : [
5907 "vnet"
5908 ],
5909 "optional" : 1,
5910 "type" : "string"
5911 },
ac70d7d1
TL
5912 "vlanaware" : {
5913 "description" : "Allow vm VLANs to pass through this vnet.",
5914 "optional" : 1,
5915 "type" : "boolean",
5916 "typetext" : "<boolean>"
5917 },
c5aa7e14
TL
5918 "vnet" : {
5919 "description" : "The SDN vnet object identifier.",
5920 "format" : "pve-sdn-vnet-id",
5921 "type" : "string",
5922 "typetext" : "<string>"
5923 },
5924 "zone" : {
5925 "description" : "zone id",
5926 "optional" : 0,
5927 "type" : "string",
5928 "typetext" : "<string>"
5929 }
5930 },
5931 "type" : "object"
5932 },
5933 "permissions" : {
5934 "check" : [
5935 "perm",
5936 "/sdn/vnets",
5937 [
5938 "SDN.Allocate"
5939 ]
5940 ]
5941 },
5942 "protected" : 1,
5943 "returns" : {
5944 "type" : "null"
5945 }
5946 }
5947 },
5948 "leaf" : 0,
5949 "path" : "/cluster/sdn/vnets",
5950 "text" : "vnets"
5951 },
5952 {
5953 "children" : [
5954 {
5955 "info" : {
5956 "DELETE" : {
5957 "allowtoken" : 1,
5958 "description" : "Delete sdn zone object configuration.",
5959 "method" : "DELETE",
5960 "name" : "delete",
5961 "parameters" : {
5962 "additionalProperties" : 0,
5963 "properties" : {
5964 "zone" : {
5965 "description" : "The SDN zone object identifier.",
5966 "format" : "pve-sdn-zone-id",
5967 "type" : "string",
5968 "typetext" : "<string>"
5969 }
5970 }
5971 },
5972 "permissions" : {
5973 "check" : [
5974 "perm",
5975 "/sdn/zones",
5976 [
5977 "SDN.Allocate"
5978 ]
5979 ]
5980 },
5981 "protected" : 1,
5982 "returns" : {
5983 "type" : "null"
5984 }
5985 },
5986 "GET" : {
5987 "allowtoken" : 1,
5988 "description" : "Read sdn zone configuration.",
5989 "method" : "GET",
5990 "name" : "read",
5991 "parameters" : {
5992 "additionalProperties" : 0,
5993 "properties" : {
5994 "zone" : {
5995 "description" : "The SDN zone object identifier.",
5996 "format" : "pve-sdn-zone-id",
5997 "type" : "string",
5998 "typetext" : "<string>"
5999 }
6000 }
6001 },
6002 "permissions" : {
6003 "check" : [
6004 "perm",
6005 "/sdn/zones/{zone}",
6006 [
6007 "SDN.Allocate"
6008 ]
6009 ]
6010 },
6011 "returns" : {
6012 "type" : "object"
6013 }
6014 },
6015 "PUT" : {
6016 "allowtoken" : 1,
6017 "description" : "Update sdn zone object configuration.",
6018 "method" : "PUT",
6019 "name" : "update",
6020 "parameters" : {
6021 "additionalProperties" : 0,
6022 "properties" : {
6023 "bridge" : {
6024 "optional" : 1,
6025 "type" : "string",
6026 "typetext" : "<string>"
6027 },
6028 "controller" : {
6029 "description" : "Frr router name",
6030 "optional" : 1,
6031 "type" : "string",
6032 "typetext" : "<string>"
6033 },
6034 "delete" : {
6035 "description" : "A list of settings you want to delete.",
6036 "format" : "pve-configid-list",
6037 "maxLength" : 4096,
6038 "optional" : 1,
6039 "type" : "string",
6040 "typetext" : "<string>"
6041 },
6042 "digest" : {
6043 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6044 "maxLength" : 40,
6045 "optional" : 1,
6046 "type" : "string",
6047 "typetext" : "<string>"
6048 },
6049 "dp-id" : {
6050 "description" : "Faucet dataplane id",
6051 "optional" : 1,
6052 "type" : "integer",
6053 "typetext" : "<integer>"
6054 },
6055 "mtu" : {
ac70d7d1 6056 "description" : "MTU",
c5aa7e14
TL
6057 "optional" : 1,
6058 "type" : "integer",
6059 "typetext" : "<integer>"
6060 },
6061 "nodes" : {
6062 "description" : "List of cluster node names.",
6063 "format" : "pve-node-list",
6064 "optional" : 1,
6065 "type" : "string",
6066 "typetext" : "<string>"
6067 },
6068 "peers" : {
6069 "description" : "peers address list.",
6070 "format" : "ip-list",
6071 "optional" : 1,
6072 "type" : "string",
6073 "typetext" : "<string>"
6074 },
6075 "tag" : {
ac70d7d1
TL
6076 "description" : "Service-VLAN Tag",
6077 "minimum" : 0,
c5aa7e14
TL
6078 "optional" : 1,
6079 "type" : "integer",
ac70d7d1
TL
6080 "typetext" : "<integer> (0 - N)"
6081 },
6082 "vlan-protocol" : {
6083 "default" : "802.1q",
6084 "enum" : [
6085 "802.1q",
6086 "802.1ad"
6087 ],
6088 "optional" : 1,
6089 "type" : "string"
c5aa7e14
TL
6090 },
6091 "vrf-vxlan" : {
6092 "description" : "l3vni.",
6093 "optional" : 1,
6094 "type" : "integer",
6095 "typetext" : "<integer>"
6096 },
6097 "zone" : {
6098 "description" : "The SDN zone object identifier.",
6099 "format" : "pve-sdn-zone-id",
6100 "type" : "string",
6101 "typetext" : "<string>"
6102 }
6103 },
6104 "type" : "object"
6105 },
6106 "permissions" : {
6107 "check" : [
6108 "perm",
6109 "/sdn/zones",
6110 [
6111 "SDN.Allocate"
6112 ]
6113 ]
6114 },
6115 "protected" : 1,
6116 "returns" : {
6117 "type" : "null"
6118 }
6119 }
6120 },
6121 "leaf" : 1,
6122 "path" : "/cluster/sdn/zones/{zone}",
6123 "text" : "{zone}"
6124 }
6125 ],
6126 "info" : {
6127 "GET" : {
6128 "allowtoken" : 1,
6129 "description" : "SDN zones index.",
6130 "method" : "GET",
6131 "name" : "index",
6132 "parameters" : {
6133 "additionalProperties" : 0,
6134 "properties" : {
6135 "type" : {
6136 "description" : "Only list sdn zones of specific type",
6137 "enum" : [
6138 "evpn",
6139 "faucet",
6140 "qinq",
ac70d7d1 6141 "simple",
c5aa7e14
TL
6142 "vlan",
6143 "vxlan"
6144 ],
6145 "optional" : 1,
6146 "type" : "string"
6147 }
6148 }
6149 },
6150 "permissions" : {
6151 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>'",
6152 "user" : "all"
6153 },
6154 "returns" : {
6155 "items" : {
6156 "properties" : {
6157 "type" : {
6158 "type" : "string"
6159 },
6160 "zone" : {
6161 "type" : "string"
6162 }
6163 },
6164 "type" : "object"
6165 },
6166 "links" : [
6167 {
6168 "href" : "{zone}",
6169 "rel" : "child"
6170 }
6171 ],
6172 "type" : "array"
6173 }
6174 },
6175 "POST" : {
6176 "allowtoken" : 1,
6177 "description" : "Create a new sdn zone object.",
6178 "method" : "POST",
6179 "name" : "create",
6180 "parameters" : {
6181 "additionalProperties" : 0,
6182 "properties" : {
6183 "bridge" : {
6184 "optional" : 1,
6185 "type" : "string",
6186 "typetext" : "<string>"
6187 },
6188 "controller" : {
6189 "description" : "Frr router name",
6190 "optional" : 1,
6191 "type" : "string",
6192 "typetext" : "<string>"
6193 },
6194 "dp-id" : {
6195 "description" : "Faucet dataplane id",
6196 "optional" : 1,
6197 "type" : "integer",
6198 "typetext" : "<integer>"
6199 },
6200 "mtu" : {
ac70d7d1 6201 "description" : "MTU",
c5aa7e14
TL
6202 "optional" : 1,
6203 "type" : "integer",
6204 "typetext" : "<integer>"
6205 },
6206 "nodes" : {
6207 "description" : "List of cluster node names.",
6208 "format" : "pve-node-list",
6209 "optional" : 1,
6210 "type" : "string",
6211 "typetext" : "<string>"
6212 },
6213 "peers" : {
6214 "description" : "peers address list.",
6215 "format" : "ip-list",
6216 "optional" : 1,
6217 "type" : "string",
6218 "typetext" : "<string>"
6219 },
6220 "tag" : {
ac70d7d1
TL
6221 "description" : "Service-VLAN Tag",
6222 "minimum" : 0,
c5aa7e14
TL
6223 "optional" : 1,
6224 "type" : "integer",
ac70d7d1 6225 "typetext" : "<integer> (0 - N)"
c5aa7e14
TL
6226 },
6227 "type" : {
6228 "description" : "Plugin type.",
6229 "enum" : [
6230 "evpn",
6231 "faucet",
6232 "qinq",
ac70d7d1 6233 "simple",
c5aa7e14
TL
6234 "vlan",
6235 "vxlan"
6236 ],
6237 "format" : "pve-configid",
6238 "type" : "string"
6239 },
ac70d7d1
TL
6240 "vlan-protocol" : {
6241 "default" : "802.1q",
6242 "enum" : [
6243 "802.1q",
6244 "802.1ad"
6245 ],
6246 "optional" : 1,
6247 "type" : "string"
6248 },
c5aa7e14
TL
6249 "vrf-vxlan" : {
6250 "description" : "l3vni.",
6251 "optional" : 1,
6252 "type" : "integer",
6253 "typetext" : "<integer>"
6254 },
6255 "zone" : {
6256 "description" : "The SDN zone object identifier.",
6257 "format" : "pve-sdn-zone-id",
6258 "type" : "string",
6259 "typetext" : "<string>"
6260 }
6261 },
6262 "type" : "object"
6263 },
6264 "permissions" : {
6265 "check" : [
6266 "perm",
6267 "/sdn/zones",
6268 [
6269 "SDN.Allocate"
6270 ]
6271 ]
6272 },
6273 "protected" : 1,
6274 "returns" : {
6275 "type" : "null"
6276 }
6277 }
6278 },
6279 "leaf" : 0,
6280 "path" : "/cluster/sdn/zones",
6281 "text" : "zones"
6282 },
6283 {
6284 "children" : [
6285 {
6286 "info" : {
6287 "DELETE" : {
6288 "allowtoken" : 1,
6289 "description" : "Delete sdn controller object configuration.",
6290 "method" : "DELETE",
6291 "name" : "delete",
6292 "parameters" : {
6293 "additionalProperties" : 0,
6294 "properties" : {
6295 "controller" : {
6296 "description" : "The SDN controller object identifier.",
6297 "format" : "pve-sdn-controller-id",
6298 "type" : "string",
6299 "typetext" : "<string>"
6300 }
6301 }
6302 },
6303 "permissions" : {
6304 "check" : [
6305 "perm",
6306 "/sdn/controllers",
6307 [
6308 "SDN.Allocate"
6309 ]
6310 ]
6311 },
6312 "protected" : 1,
6313 "returns" : {
6314 "type" : "null"
6315 }
6316 },
6317 "GET" : {
6318 "allowtoken" : 1,
6319 "description" : "Read sdn controller configuration.",
6320 "method" : "GET",
6321 "name" : "read",
6322 "parameters" : {
6323 "additionalProperties" : 0,
6324 "properties" : {
6325 "controller" : {
6326 "description" : "The SDN controller object identifier.",
6327 "format" : "pve-sdn-controller-id",
6328 "type" : "string",
6329 "typetext" : "<string>"
6330 }
6331 }
6332 },
6333 "permissions" : {
6334 "check" : [
6335 "perm",
6336 "/sdn/controllers/{controller}",
6337 [
6338 "SDN.Allocate"
6339 ]
6340 ]
6341 },
6342 "returns" : {
6343 "type" : "object"
6344 }
6345 },
6346 "PUT" : {
6347 "allowtoken" : 1,
6348 "description" : "Update sdn controller object configuration.",
6349 "method" : "PUT",
6350 "name" : "update",
6351 "parameters" : {
6352 "additionalProperties" : 0,
6353 "properties" : {
6354 "asn" : {
6355 "description" : "autonomous system number",
6356 "optional" : 1,
6357 "type" : "integer",
6358 "typetext" : "<integer>"
6359 },
6360 "controller" : {
6361 "description" : "The SDN controller object identifier.",
6362 "format" : "pve-sdn-controller-id",
6363 "type" : "string",
6364 "typetext" : "<string>"
6365 },
6366 "delete" : {
6367 "description" : "A list of settings you want to delete.",
6368 "format" : "pve-configid-list",
6369 "maxLength" : 4096,
6370 "optional" : 1,
6371 "type" : "string",
6372 "typetext" : "<string>"
6373 },
6374 "digest" : {
6375 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6376 "maxLength" : 40,
6377 "optional" : 1,
6378 "type" : "string",
6379 "typetext" : "<string>"
6380 },
6381 "gateway-external-peers" : {
6382 "description" : "upstream bgp peers address list.",
6383 "format" : "ip-list",
6384 "optional" : 1,
6385 "type" : "string",
6386 "typetext" : "<string>"
6387 },
6388 "gateway-nodes" : {
6389 "description" : "List of cluster node names.",
6390 "format" : "pve-node-list",
6391 "optional" : 1,
6392 "type" : "string",
6393 "typetext" : "<string>"
6394 },
6395 "peers" : {
6396 "description" : "peers address list.",
6397 "format" : "ip-list",
6398 "optional" : 1,
6399 "type" : "string",
6400 "typetext" : "<string>"
6401 }
6402 },
6403 "type" : "object"
6404 },
6405 "permissions" : {
6406 "check" : [
6407 "perm",
6408 "/sdn/controllers",
6409 [
6410 "SDN.Allocate"
6411 ]
6412 ]
6413 },
6414 "protected" : 1,
6415 "returns" : {
6416 "type" : "null"
6417 }
6418 }
6419 },
6420 "leaf" : 1,
6421 "path" : "/cluster/sdn/controllers/{controller}",
6422 "text" : "{controller}"
6423 }
6424 ],
6425 "info" : {
6426 "GET" : {
6427 "allowtoken" : 1,
6428 "description" : "SDN controllers index.",
6429 "method" : "GET",
6430 "name" : "index",
6431 "parameters" : {
6432 "additionalProperties" : 0,
6433 "properties" : {
6434 "type" : {
6435 "description" : "Only list sdn controllers of specific type",
6436 "enum" : [
6437 "evpn",
6438 "faucet"
6439 ],
6440 "optional" : 1,
6441 "type" : "string"
6442 }
6443 }
6444 },
6445 "permissions" : {
6446 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/controllers/<controller>'",
6447 "user" : "all"
6448 },
6449 "returns" : {
6450 "items" : {
6451 "properties" : {
6452 "controller" : {
6453 "type" : "string"
6454 },
6455 "type" : {
6456 "type" : "string"
6457 }
6458 },
6459 "type" : "object"
6460 },
6461 "links" : [
6462 {
6463 "href" : "{controller}",
6464 "rel" : "child"
6465 }
6466 ],
6467 "type" : "array"
6468 }
6469 },
6470 "POST" : {
6471 "allowtoken" : 1,
6472 "description" : "Create a new sdn controller object.",
6473 "method" : "POST",
6474 "name" : "create",
6475 "parameters" : {
6476 "additionalProperties" : 0,
6477 "properties" : {
6478 "asn" : {
6479 "description" : "autonomous system number",
6480 "optional" : 1,
6481 "type" : "integer",
6482 "typetext" : "<integer>"
6483 },
6484 "controller" : {
6485 "description" : "The SDN controller object identifier.",
6486 "format" : "pve-sdn-controller-id",
6487 "type" : "string",
6488 "typetext" : "<string>"
6489 },
6490 "gateway-external-peers" : {
6491 "description" : "upstream bgp peers address list.",
6492 "format" : "ip-list",
6493 "optional" : 1,
6494 "type" : "string",
6495 "typetext" : "<string>"
6496 },
6497 "gateway-nodes" : {
6498 "description" : "List of cluster node names.",
6499 "format" : "pve-node-list",
6500 "optional" : 1,
6501 "type" : "string",
6502 "typetext" : "<string>"
6503 },
6504 "peers" : {
6505 "description" : "peers address list.",
6506 "format" : "ip-list",
6507 "optional" : 1,
6508 "type" : "string",
6509 "typetext" : "<string>"
6510 },
6511 "type" : {
6512 "description" : "Plugin type.",
6513 "enum" : [
6514 "evpn",
6515 "faucet"
6516 ],
6517 "format" : "pve-configid",
6518 "type" : "string"
6519 }
6520 },
6521 "type" : "object"
6522 },
6523 "permissions" : {
6524 "check" : [
6525 "perm",
6526 "/sdn/controllers",
6527 [
6528 "SDN.Allocate"
6529 ]
6530 ]
6531 },
6532 "protected" : 1,
6533 "returns" : {
6534 "type" : "null"
6535 }
6536 }
6537 },
6538 "leaf" : 0,
6539 "path" : "/cluster/sdn/controllers",
6540 "text" : "controllers"
6541 }
6542 ],
6543 "info" : {
6544 "GET" : {
6545 "allowtoken" : 1,
6546 "description" : "Directory index.",
6547 "method" : "GET",
6548 "name" : "index",
6549 "parameters" : {
6550 "additionalProperties" : 0
6551 },
6552 "permissions" : {
6553 "check" : [
6554 "perm",
6555 "/",
6556 [
6557 "SDN.Audit"
6558 ]
6559 ]
6560 },
6561 "returns" : {
6562 "items" : {
6563 "properties" : {
6564 "id" : {
6565 "type" : "string"
6566 }
6567 },
6568 "type" : "object"
6569 },
6570 "links" : [
6571 {
6572 "href" : "{id}",
6573 "rel" : "child"
6574 }
6575 ],
6576 "type" : "array"
6577 }
6578 },
6579 "PUT" : {
6580 "allowtoken" : 1,
6581 "description" : "Apply sdn controller changes && reload.",
6582 "method" : "PUT",
6583 "name" : "reload",
6584 "parameters" : {
6585 "additionalProperties" : 0
6586 },
6587 "permissions" : {
6588 "check" : [
6589 "perm",
6590 "/sdn",
6591 [
6592 "SDN.Allocate"
6593 ]
6594 ]
6595 },
6596 "protected" : 1,
6597 "returns" : {
6598 "type" : "string"
6599 }
6600 }
6601 },
6602 "leaf" : 0,
6603 "path" : "/cluster/sdn",
6604 "text" : "sdn"
6605 },
7aacca6f 6606 {
7aacca6f
DM
6607 "info" : {
6608 "GET" : {
e9cd3bd4 6609 "allowtoken" : 1,
7aacca6f 6610 "description" : "Read cluster log",
44660702
DM
6611 "method" : "GET",
6612 "name" : "log",
56122987 6613 "parameters" : {
7aacca6f 6614 "additionalProperties" : 0,
56122987
DM
6615 "properties" : {
6616 "max" : {
7aacca6f 6617 "description" : "Maximum number of entries.",
44660702
DM
6618 "minimum" : 1,
6619 "optional" : 1,
4bd7df8b 6620 "type" : "integer",
013dc89f 6621 "typetext" : "<integer> (1 - N)"
56122987 6622 }
7aacca6f 6623 }
56122987 6624 },
44660702
DM
6625 "permissions" : {
6626 "user" : "all"
6627 },
7aacca6f 6628 "returns" : {
7aacca6f 6629 "items" : {
44660702
DM
6630 "properties" : {},
6631 "type" : "object"
6632 },
6633 "type" : "array"
7aacca6f 6634 }
56122987 6635 }
44660702
DM
6636 },
6637 "leaf" : 1,
6638 "path" : "/cluster/log",
6639 "text" : "log"
56122987
DM
6640 },
6641 {
56122987
DM
6642 "info" : {
6643 "GET" : {
e9cd3bd4 6644 "allowtoken" : 1,
44660702 6645 "description" : "Resources index (cluster wide).",
7aacca6f 6646 "method" : "GET",
7aacca6f 6647 "name" : "resources",
56122987
DM
6648 "parameters" : {
6649 "additionalProperties" : 0,
6650 "properties" : {
6651 "type" : {
6652 "enum" : [
6653 "vm",
6654 "storage",
1c532546
TL
6655 "node",
6656 "sdn"
44660702
DM
6657 ],
6658 "optional" : 1,
6659 "type" : "string"
56122987
DM
6660 }
6661 }
6662 },
44660702
DM
6663 "permissions" : {
6664 "user" : "all"
6665 },
6666 "returns" : {
6667 "items" : {
4d47f125
TL
6668 "properties" : {
6669 "cpu" : {
6670 "description" : "CPU utilization (when type in node,qemu,lxc).",
6671 "optional" : 1,
6672 "renderer" : "fraction_as_percentage",
6673 "type" : "number"
6674 },
6675 "disk" : {
6676 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
6677 "optional" : 1,
6678 "renderer" : "bytes",
6679 "type" : "string"
6680 },
6681 "hastate" : {
6682 "description" : "HA service status (for HA managed VMs).",
6683 "optional" : 1,
6684 "type" : "string"
6685 },
6686 "id" : {
6687 "type" : "string"
6688 },
6689 "level" : {
6690 "description" : "Support level (when type == node).",
6691 "optional" : 1,
6692 "type" : "string"
6693 },
6694 "maxcpu" : {
6695 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
6696 "optional" : 1,
6697 "type" : "number"
6698 },
6699 "maxdisk" : {
6700 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
6701 "optional" : 1,
6702 "renderer" : "bytes",
6703 "type" : "integer"
6704 },
6705 "maxmem" : {
6706 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
6707 "optional" : 1,
6708 "renderer" : "bytes",
6709 "type" : "integer"
6710 },
6711 "mem" : {
6712 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
6713 "optional" : 1,
6714 "renderer" : "bytes",
6715 "type" : "string"
6716 },
6717 "node" : {
6718 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
6719 "format" : "pve-node",
6720 "optional" : 1,
6721 "type" : "string"
6722 },
6723 "pool" : {
6724 "description" : "The pool name (when type in pool,qemu,lxc).",
6725 "optional" : 1,
6726 "type" : "string"
6727 },
6728 "status" : {
6729 "description" : "Resource type dependent status.",
6730 "optional" : 1,
6731 "type" : "string"
6732 },
6733 "storage" : {
6734 "description" : "The storage identifier (when type == storage).",
6735 "format" : "pve-storage-id",
6736 "optional" : 1,
6737 "type" : "string"
6738 },
6739 "type" : {
6740 "description" : "Resource type.",
6741 "enum" : [
6742 "node",
6743 "storage",
6744 "pool",
6745 "qemu",
6746 "lxc",
1c532546
TL
6747 "openvz",
6748 "sdn"
4d47f125
TL
6749 ],
6750 "type" : "string"
6751 },
6752 "uptime" : {
6753 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
6754 "optional" : 1,
6755 "renderer" : "duration",
6756 "type" : "integer"
6757 }
6758 },
44660702
DM
6759 "type" : "object"
6760 },
6761 "type" : "array"
6762 }
56122987
DM
6763 }
6764 },
7aacca6f 6765 "leaf" : 1,
44660702
DM
6766 "path" : "/cluster/resources",
6767 "text" : "resources"
56122987
DM
6768 },
6769 {
56122987
DM
6770 "info" : {
6771 "GET" : {
e9cd3bd4 6772 "allowtoken" : 1,
7aacca6f 6773 "description" : "List recent tasks (cluster wide).",
44660702 6774 "method" : "GET",
7aacca6f 6775 "name" : "tasks",
56122987
DM
6776 "parameters" : {
6777 "additionalProperties" : 0
6778 },
44660702
DM
6779 "permissions" : {
6780 "user" : "all"
6781 },
56122987
DM
6782 "returns" : {
6783 "items" : {
6784 "properties" : {
6785 "upid" : {
6786 "type" : "string"
6787 }
44660702
DM
6788 },
6789 "type" : "object"
6790 },
6791 "type" : "array"
7aacca6f 6792 }
56122987
DM
6793 }
6794 },
7aacca6f 6795 "leaf" : 1,
44660702
DM
6796 "path" : "/cluster/tasks",
6797 "text" : "tasks"
56122987
DM
6798 },
6799 {
56122987 6800 "info" : {
7aacca6f 6801 "GET" : {
e9cd3bd4 6802 "allowtoken" : 1,
44660702
DM
6803 "description" : "Get datacenter options.",
6804 "method" : "GET",
6805 "name" : "get_options",
56122987 6806 "parameters" : {
7aacca6f
DM
6807 "additionalProperties" : 0
6808 },
6809 "permissions" : {
6810 "check" : [
6811 "perm",
6812 "/",
6813 [
6814 "Sys.Audit"
6815 ]
6816 ]
6817 },
7aacca6f 6818 "returns" : {
44660702 6819 "type" : "object"
7aacca6f
DM
6820 }
6821 },
6822 "PUT" : {
e9cd3bd4 6823 "allowtoken" : 1,
44660702
DM
6824 "description" : "Set datacenter options.",
6825 "method" : "PUT",
7aacca6f
DM
6826 "name" : "set_options",
6827 "parameters" : {
6828 "additionalProperties" : 0,
6829 "properties" : {
27a7acb2
DM
6830 "bwlimit" : {
6831 "description" : "Set bandwidth/io limits various operations.",
6832 "format" : {
6833 "clone" : {
95895385 6834 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
6835 "format_description" : "LIMIT",
6836 "minimum" : "0",
6837 "optional" : 1,
6838 "type" : "number"
6839 },
6840 "default" : {
95895385 6841 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
6842 "format_description" : "LIMIT",
6843 "minimum" : "0",
6844 "optional" : 1,
6845 "type" : "number"
6846 },
6847 "migration" : {
95895385 6848 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
6849 "format_description" : "LIMIT",
6850 "minimum" : "0",
6851 "optional" : 1,
6852 "type" : "number"
6853 },
6854 "move" : {
95895385 6855 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
6856 "format_description" : "LIMIT",
6857 "minimum" : "0",
6858 "optional" : 1,
6859 "type" : "number"
6860 },
6861 "restore" : {
95895385 6862 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
6863 "format_description" : "LIMIT",
6864 "minimum" : "0",
6865 "optional" : 1,
6866 "type" : "number"
6867 }
6868 },
6869 "optional" : 1,
6870 "type" : "string",
6871 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
6872 },
56122987 6873 "console" : {
a9a8e3d1 6874 "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), an HTML5 based vnc viewer (noVNC), or an HTML5 based console client (xtermjs). If the selected viewer is not available (e.g. SPICE not activated for the VM), the fallback is noVNC.",
56122987
DM
6875 "enum" : [
6876 "applet",
6877 "vv",
a9a8e3d1
DM
6878 "html5",
6879 "xtermjs"
44660702
DM
6880 ],
6881 "optional" : 1,
6882 "type" : "string"
56122987 6883 },
7aacca6f 6884 "delete" : {
7aacca6f 6885 "description" : "A list of settings you want to delete.",
44660702 6886 "format" : "pve-configid-list",
7aacca6f 6887 "optional" : 1,
013dc89f
DM
6888 "type" : "string",
6889 "typetext" : "<string>"
7aacca6f 6890 },
44660702
DM
6891 "email_from" : {
6892 "description" : "Specify email address to send notification from (default is root@$hostname)",
6893 "format" : "email-opt",
7aacca6f 6894 "optional" : 1,
013dc89f
DM
6895 "type" : "string",
6896 "typetext" : "<string>"
44660702
DM
6897 },
6898 "fencing" : {
6899 "default" : "watchdog",
6900 "description" : "Set the fencing mode of the HA cluster. Hardware mode needs a valid configuration of fence devices in /etc/pve/ha/fence.cfg. With both all two modes are used.\n\nWARNING: 'hardware' and 'both' are EXPERIMENTAL & WIP",
7aacca6f 6901 "enum" : [
44660702
DM
6902 "watchdog",
6903 "hardware",
6904 "both"
7aacca6f 6905 ],
44660702
DM
6906 "optional" : 1,
6907 "type" : "string"
6908 },
5f26e15b
TL
6909 "ha" : {
6910 "description" : "Cluster wide HA settings.",
6911 "format" : {
6912 "shutdown_policy" : {
6913 "default" : "conditional",
5c1699e5 6914 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. 'migrate' will migrate running services to other nodes, if possible. With 'freeze' or 'failover', HA Services will always get stopped first on shutdown.",
5f26e15b
TL
6915 "enum" : [
6916 "freeze",
6917 "failover",
5c1699e5
TL
6918 "conditional",
6919 "migrate"
5f26e15b
TL
6920 ],
6921 "type" : "string",
e9cd3bd4 6922 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes. Migrate will try to move all running services to another node when a reboot or shutdown was triggered. The poweroff process will only continue once no running services are located on the node anymore. If the node comes up again, the service will be moved back to the previously powered-off node, at least if no other migration, reloaction or recovery took place."
5f26e15b
TL
6923 }
6924 },
6925 "optional" : 1,
6926 "type" : "string",
5c1699e5 6927 "typetext" : "shutdown_policy=<enum>"
5f26e15b 6928 },
44660702
DM
6929 "http_proxy" : {
6930 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
6931 "optional" : 1,
6932 "pattern" : "http://.*",
6933 "type" : "string"
7aacca6f 6934 },
56122987 6935 "keyboard" : {
44660702 6936 "description" : "Default keybord layout for vnc server.",
56122987 6937 "enum" : [
44660702
DM
6938 "de",
6939 "de-ch",
7aacca6f 6940 "da",
56122987 6941 "en-gb",
44660702
DM
6942 "en-us",
6943 "es",
6944 "fi",
6945 "fr",
6946 "fr-be",
6947 "fr-ca",
6948 "fr-ch",
6949 "hu",
7aacca6f 6950 "is",
44660702
DM
6951 "it",
6952 "ja",
6953 "lt",
56122987 6954 "mk",
7aacca6f 6955 "nl",
56122987 6956 "no",
44660702 6957 "pl",
7aacca6f 6958 "pt",
44660702
DM
6959 "pt-br",
6960 "sv",
6961 "sl",
6962 "tr"
56122987 6963 ],
56122987
DM
6964 "optional" : 1,
6965 "type" : "string"
6966 },
44660702
DM
6967 "language" : {
6968 "description" : "Default GUI language.",
6969 "enum" : [
4d47f125 6970 "ca",
1c532546
TL
6971 "da",
6972 "de",
44660702 6973 "en",
1c532546 6974 "es",
4d47f125 6975 "eu",
1c532546 6976 "fa",
4d47f125 6977 "fr",
1c532546 6978 "he",
4d47f125 6979 "it",
4d47f125
TL
6980 "ja",
6981 "nb",
6982 "nn",
4d47f125
TL
6983 "pl",
6984 "pt_BR",
6985 "ru",
6986 "sl",
6987 "sv",
1c532546
TL
6988 "tr",
6989 "zh_CN",
6990 "zh_TW"
44660702 6991 ],
56122987 6992 "optional" : 1,
44660702 6993 "type" : "string"
56122987 6994 },
4bd7df8b
DM
6995 "mac_prefix" : {
6996 "description" : "Prefix for autogenerated MAC addresses.",
95895385 6997 "format" : "mac-prefix",
4bd7df8b 6998 "optional" : 1,
95895385
TL
6999 "type" : "string",
7000 "typetext" : "<string>"
4bd7df8b 7001 },
44660702
DM
7002 "max_workers" : {
7003 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
7004 "minimum" : 1,
56122987 7005 "optional" : 1,
4bd7df8b 7006 "type" : "integer",
013dc89f 7007 "typetext" : "<integer> (1 - N)"
56122987 7008 },
de0983cb
DM
7009 "migration" : {
7010 "description" : "For cluster wide migration settings.",
7011 "format" : {
7012 "network" : {
7013 "description" : "CIDR of the (sub) network that is used for migration.",
7014 "format" : "CIDR",
7015 "format_description" : "CIDR",
7016 "optional" : 1,
7017 "type" : "string"
7018 },
7019 "type" : {
7020 "default" : "secure",
7021 "default_key" : 1,
7022 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
7023 "enum" : [
7024 "secure",
7025 "insecure"
7026 ],
7027 "type" : "string"
7028 }
7029 },
7030 "optional" : 1,
7031 "type" : "string",
7032 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
7033 },
7aacca6f 7034 "migration_unsecure" : {
de0983cb 7035 "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead!",
56122987 7036 "optional" : 1,
013dc89f
DM
7037 "type" : "boolean",
7038 "typetext" : "<boolean>"
95895385
TL
7039 },
7040 "u2f" : {
7041 "description" : "u2f",
7042 "format" : {
7043 "appid" : {
7044 "description" : "U2F AppId URL override. Defaults to the origin.",
7045 "format_description" : "APPID",
7046 "optional" : 1,
7047 "type" : "string"
7048 },
7049 "origin" : {
7050 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
7051 "format_description" : "URL",
7052 "optional" : 1,
7053 "type" : "string"
7054 }
7055 },
7056 "optional" : 1,
7057 "type" : "string",
7058 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
7059 }
7060 }
7061 },
44660702
DM
7062 "permissions" : {
7063 "check" : [
7064 "perm",
7065 "/",
7066 [
7067 "Sys.Modify"
7068 ]
7069 ]
7070 },
56122987 7071 "protected" : 1,
7aacca6f
DM
7072 "returns" : {
7073 "type" : "null"
44660702 7074 }
7aacca6f
DM
7075 }
7076 },
44660702
DM
7077 "leaf" : 1,
7078 "path" : "/cluster/options",
7aacca6f
DM
7079 "text" : "options"
7080 },
7081 {
7aacca6f 7082 "info" : {
56122987 7083 "GET" : {
e9cd3bd4 7084 "allowtoken" : 1,
1e3f8156 7085 "description" : "Get cluster status information.",
44660702
DM
7086 "method" : "GET",
7087 "name" : "get_status",
56122987
DM
7088 "parameters" : {
7089 "additionalProperties" : 0
7090 },
56122987
DM
7091 "permissions" : {
7092 "check" : [
7093 "perm",
7094 "/",
7095 [
7096 "Sys.Audit"
7097 ]
7098 ]
7099 },
7aacca6f 7100 "protected" : 1,
56122987 7101 "returns" : {
56122987 7102 "items" : {
56122987 7103 "properties" : {
e9cd3bd4
TL
7104 "id" : {
7105 "type" : "string"
7106 },
7107 "ip" : {
7108 "description" : "[node] IP of the resolved nodename.",
7109 "optional" : 1,
7110 "type" : "string"
7111 },
7112 "level" : {
7113 "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.",
7114 "optional" : 1,
7115 "type" : "string"
7116 },
7117 "local" : {
7118 "description" : "[node] Indicates if this is the responding node.",
7119 "optional" : 1,
7120 "type" : "boolean"
7121 },
7122 "name" : {
7123 "type" : "string"
7124 },
7125 "nodeid" : {
7126 "description" : "[node] ID of the node from the corosync configuration.",
7127 "optional" : 1,
7128 "type" : "integer"
7129 },
7130 "nodes" : {
7131 "description" : "[cluster] Nodes count, including offline nodes.",
7132 "optional" : 1,
7133 "type" : "integer"
7134 },
7135 "online" : {
7136 "description" : "[node] Indicates if the node is online or offline.",
7137 "optional" : 1,
7138 "type" : "boolean"
7139 },
7140 "quorate" : {
7141 "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions",
7142 "optional" : 1,
7143 "type" : "boolean"
7144 },
56122987 7145 "type" : {
e9cd3bd4
TL
7146 "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.",
7147 "enum" : [
7148 "cluster",
7149 "node"
7150 ],
56122987 7151 "type" : "string"
e9cd3bd4
TL
7152 },
7153 "version" : {
7154 "description" : "[cluster] Current version of the corosync configuration file.",
7155 "optional" : 1,
7156 "type" : "integer"
56122987 7157 }
44660702
DM
7158 },
7159 "type" : "object"
7aacca6f
DM
7160 },
7161 "type" : "array"
56122987
DM
7162 }
7163 }
7164 },
44660702 7165 "leaf" : 1,
7aacca6f 7166 "path" : "/cluster/status",
44660702 7167 "text" : "status"
56122987
DM
7168 },
7169 {
56122987
DM
7170 "info" : {
7171 "GET" : {
e9cd3bd4 7172 "allowtoken" : 1,
56122987 7173 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
7174 "method" : "GET",
7175 "name" : "nextid",
56122987 7176 "parameters" : {
44660702 7177 "additionalProperties" : 0,
56122987
DM
7178 "properties" : {
7179 "vmid" : {
44660702 7180 "description" : "The (unique) ID of the VM.",
56122987 7181 "format" : "pve-vmid",
7aacca6f 7182 "minimum" : 1,
7aacca6f 7183 "optional" : 1,
4bd7df8b 7184 "type" : "integer",
013dc89f 7185 "typetext" : "<integer> (1 - N)"
56122987 7186 }
44660702 7187 }
56122987 7188 },
7aacca6f
DM
7189 "permissions" : {
7190 "user" : "all"
44660702
DM
7191 },
7192 "returns" : {
7193 "description" : "The next free VMID.",
7194 "type" : "integer"
7aacca6f 7195 }
56122987
DM
7196 }
7197 },
7aacca6f 7198 "leaf" : 1,
44660702
DM
7199 "path" : "/cluster/nextid",
7200 "text" : "nextid"
56122987
DM
7201 }
7202 ],
44660702
DM
7203 "info" : {
7204 "GET" : {
e9cd3bd4 7205 "allowtoken" : 1,
44660702
DM
7206 "description" : "Cluster index.",
7207 "method" : "GET",
7208 "name" : "index",
7209 "parameters" : {
7210 "additionalProperties" : 0
7211 },
7212 "permissions" : {
7213 "user" : "all"
7214 },
7215 "returns" : {
7216 "items" : {
7217 "properties" : {},
7218 "type" : "object"
7219 },
7220 "links" : [
7221 {
7222 "href" : "{name}",
7223 "rel" : "child"
7224 }
7225 ],
7226 "type" : "array"
7227 }
7228 }
7229 },
7230 "leaf" : 0,
7231 "path" : "/cluster",
7aacca6f 7232 "text" : "cluster"
56122987
DM
7233 },
7234 {
56122987
DM
7235 "children" : [
7236 {
7aacca6f
DM
7237 "children" : [
7238 {
7239 "children" : [
7240 {
56122987
DM
7241 "children" : [
7242 {
56122987
DM
7243 "children" : [
7244 {
7245 "children" : [
7246 {
56122987
DM
7247 "info" : {
7248 "DELETE" : {
e9cd3bd4 7249 "allowtoken" : 1,
44660702 7250 "description" : "Delete rule.",
7aacca6f 7251 "method" : "DELETE",
44660702 7252 "name" : "delete_rule",
56122987 7253 "parameters" : {
44660702 7254 "additionalProperties" : 0,
56122987 7255 "properties" : {
44660702
DM
7256 "digest" : {
7257 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7258 "maxLength" : 40,
7259 "optional" : 1,
013dc89f
DM
7260 "type" : "string",
7261 "typetext" : "<string>"
44660702 7262 },
56122987 7263 "node" : {
7aacca6f 7264 "description" : "The cluster node name.",
44660702 7265 "format" : "pve-node",
013dc89f
DM
7266 "type" : "string",
7267 "typetext" : "<string>"
7aacca6f 7268 },
56122987 7269 "pos" : {
7aacca6f 7270 "description" : "Update rule at position <pos>.",
44660702 7271 "minimum" : 0,
56122987 7272 "optional" : 1,
4bd7df8b 7273 "type" : "integer",
013dc89f 7274 "typetext" : "<integer> (0 - N)"
44660702
DM
7275 },
7276 "vmid" : {
7277 "description" : "The (unique) ID of the VM.",
7278 "format" : "pve-vmid",
7279 "minimum" : 1,
4bd7df8b 7280 "type" : "integer",
013dc89f 7281 "typetext" : "<integer> (1 - N)"
56122987 7282 }
44660702 7283 }
7aacca6f 7284 },
56122987
DM
7285 "permissions" : {
7286 "check" : [
7287 "perm",
7288 "/vms/{vmid}",
7289 [
7290 "VM.Config.Network"
7291 ]
7292 ]
7293 },
44660702
DM
7294 "protected" : 1,
7295 "proxyto" : null,
56122987
DM
7296 "returns" : {
7297 "type" : "null"
44660702
DM
7298 }
7299 },
7300 "GET" : {
e9cd3bd4 7301 "allowtoken" : 1,
44660702
DM
7302 "description" : "Get single rule data.",
7303 "method" : "GET",
7304 "name" : "get_rule",
7305 "parameters" : {
7306 "additionalProperties" : 0,
7307 "properties" : {
7308 "node" : {
7309 "description" : "The cluster node name.",
7310 "format" : "pve-node",
013dc89f
DM
7311 "type" : "string",
7312 "typetext" : "<string>"
44660702
DM
7313 },
7314 "pos" : {
7315 "description" : "Update rule at position <pos>.",
7316 "minimum" : 0,
7317 "optional" : 1,
4bd7df8b 7318 "type" : "integer",
013dc89f 7319 "typetext" : "<integer> (0 - N)"
44660702
DM
7320 },
7321 "vmid" : {
7322 "description" : "The (unique) ID of the VM.",
7323 "format" : "pve-vmid",
7324 "minimum" : 1,
4bd7df8b 7325 "type" : "integer",
013dc89f 7326 "typetext" : "<integer> (1 - N)"
44660702
DM
7327 }
7328 }
56122987 7329 },
56122987
DM
7330 "permissions" : {
7331 "check" : [
7332 "perm",
7333 "/vms/{vmid}",
7334 [
44660702 7335 "VM.Audit"
56122987
DM
7336 ]
7337 ]
7338 },
56122987 7339 "proxyto" : null,
44660702
DM
7340 "returns" : {
7341 "properties" : {
e2d681b3
TL
7342 "action" : {
7343 "type" : "string"
7344 },
7345 "comment" : {
7346 "optional" : 1,
7347 "type" : "string"
7348 },
7349 "dest" : {
7350 "optional" : 1,
7351 "type" : "string"
7352 },
7353 "dport" : {
7354 "optional" : 1,
7355 "type" : "string"
7356 },
7357 "enable" : {
7358 "optional" : 1,
7359 "type" : "integer"
7360 },
7361 "iface" : {
7362 "optional" : 1,
7363 "type" : "string"
7364 },
7365 "ipversion" : {
7366 "optional" : 1,
7367 "type" : "integer"
7368 },
95895385
TL
7369 "log" : {
7370 "description" : "Log level for firewall rule",
7371 "enum" : [
7372 "emerg",
7373 "alert",
7374 "crit",
7375 "err",
7376 "warning",
7377 "notice",
7378 "info",
7379 "debug",
7380 "nolog"
7381 ],
7382 "optional" : 1,
7383 "type" : "string"
7384 },
e2d681b3
TL
7385 "macro" : {
7386 "optional" : 1,
5f26e15b 7387 "type" : "string"
e2d681b3 7388 },
44660702
DM
7389 "pos" : {
7390 "type" : "integer"
e2d681b3
TL
7391 },
7392 "proto" : {
7393 "optional" : 1,
7394 "type" : "string"
7395 },
7396 "source" : {
7397 "optional" : 1,
7398 "type" : "string"
7399 },
7400 "sport" : {
7401 "optional" : 1,
7402 "type" : "string"
7403 },
7404 "type" : {
7405 "type" : "string"
44660702
DM
7406 }
7407 },
7408 "type" : "object"
7409 }
7410 },
7411 "PUT" : {
e9cd3bd4 7412 "allowtoken" : 1,
7aacca6f
DM
7413 "description" : "Modify rule data.",
7414 "method" : "PUT",
44660702 7415 "name" : "update_rule",
56122987 7416 "parameters" : {
44660702 7417 "additionalProperties" : 0,
56122987 7418 "properties" : {
44660702
DM
7419 "action" : {
7420 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7421 "maxLength" : 20,
7422 "minLength" : 2,
56122987 7423 "optional" : 1,
44660702 7424 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
7425 "type" : "string"
7426 },
7aacca6f 7427 "comment" : {
e94f0d56 7428 "description" : "Descriptive comment.",
7aacca6f 7429 "optional" : 1,
013dc89f
DM
7430 "type" : "string",
7431 "typetext" : "<string>"
7aacca6f
DM
7432 },
7433 "delete" : {
7aacca6f 7434 "description" : "A list of settings you want to delete.",
44660702
DM
7435 "format" : "pve-configid-list",
7436 "optional" : 1,
013dc89f
DM
7437 "type" : "string",
7438 "typetext" : "<string>"
7aacca6f
DM
7439 },
7440 "dest" : {
44660702 7441 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
7aacca6f 7442 "format" : "pve-fw-addr-spec",
56122987 7443 "optional" : 1,
013dc89f
DM
7444 "type" : "string",
7445 "typetext" : "<string>"
56122987 7446 },
7aacca6f 7447 "digest" : {
44660702 7448 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 7449 "maxLength" : 40,
56122987 7450 "optional" : 1,
013dc89f
DM
7451 "type" : "string",
7452 "typetext" : "<string>"
44660702
DM
7453 },
7454 "dport" : {
7455 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
7456 "format" : "pve-fw-dport-spec",
7457 "optional" : 1,
013dc89f
DM
7458 "type" : "string",
7459 "typetext" : "<string>"
56122987 7460 },
7aacca6f 7461 "enable" : {
e94f0d56 7462 "description" : "Flag to enable/disable a rule.",
44660702 7463 "minimum" : 0,
56122987 7464 "optional" : 1,
4bd7df8b 7465 "type" : "integer",
013dc89f 7466 "typetext" : "<integer> (0 - N)"
7aacca6f 7467 },
44660702
DM
7468 "iface" : {
7469 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
7470 "format" : "pve-iface",
7471 "maxLength" : 20,
7aacca6f 7472 "minLength" : 2,
56122987 7473 "optional" : 1,
013dc89f
DM
7474 "type" : "string",
7475 "typetext" : "<string>"
56122987 7476 },
95895385
TL
7477 "log" : {
7478 "description" : "Log level for firewall rule.",
7479 "enum" : [
7480 "emerg",
7481 "alert",
7482 "crit",
7483 "err",
7484 "warning",
7485 "notice",
7486 "info",
7487 "debug",
7488 "nolog"
7489 ],
7490 "optional" : 1,
7491 "type" : "string"
7492 },
44660702 7493 "macro" : {
e94f0d56 7494 "description" : "Use predefined standard macro.",
44660702 7495 "maxLength" : 128,
56122987 7496 "optional" : 1,
013dc89f
DM
7497 "type" : "string",
7498 "typetext" : "<string>"
56122987 7499 },
44660702
DM
7500 "moveto" : {
7501 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
7502 "minimum" : 0,
56122987 7503 "optional" : 1,
4bd7df8b 7504 "type" : "integer",
013dc89f 7505 "typetext" : "<integer> (0 - N)"
56122987 7506 },
44660702
DM
7507 "node" : {
7508 "description" : "The cluster node name.",
7509 "format" : "pve-node",
013dc89f
DM
7510 "type" : "string",
7511 "typetext" : "<string>"
44660702
DM
7512 },
7513 "pos" : {
7514 "description" : "Update rule at position <pos>.",
7515 "minimum" : 0,
7516 "optional" : 1,
4bd7df8b 7517 "type" : "integer",
013dc89f 7518 "typetext" : "<integer> (0 - N)"
56122987 7519 },
44660702
DM
7520 "proto" : {
7521 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
7522 "format" : "pve-fw-protocol-spec",
7523 "optional" : 1,
013dc89f
DM
7524 "type" : "string",
7525 "typetext" : "<string>"
7aacca6f 7526 },
44660702
DM
7527 "source" : {
7528 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
7529 "format" : "pve-fw-addr-spec",
56122987 7530 "optional" : 1,
013dc89f
DM
7531 "type" : "string",
7532 "typetext" : "<string>"
56122987
DM
7533 },
7534 "sport" : {
7535 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702
DM
7536 "format" : "pve-fw-sport-spec",
7537 "optional" : 1,
013dc89f
DM
7538 "type" : "string",
7539 "typetext" : "<string>"
44660702
DM
7540 },
7541 "type" : {
e94f0d56 7542 "description" : "Rule type.",
44660702
DM
7543 "enum" : [
7544 "in",
7545 "out",
7546 "group"
7547 ],
56122987 7548 "optional" : 1,
56122987 7549 "type" : "string"
44660702
DM
7550 },
7551 "vmid" : {
7552 "description" : "The (unique) ID of the VM.",
7553 "format" : "pve-vmid",
7554 "minimum" : 1,
4bd7df8b 7555 "type" : "integer",
013dc89f 7556 "typetext" : "<integer> (1 - N)"
56122987 7557 }
44660702 7558 }
56122987 7559 },
56122987
DM
7560 "permissions" : {
7561 "check" : [
7562 "perm",
7563 "/vms/{vmid}",
7564 [
44660702 7565 "VM.Config.Network"
56122987
DM
7566 ]
7567 ]
7aacca6f 7568 },
44660702 7569 "protected" : 1,
7aacca6f 7570 "proxyto" : null,
7aacca6f 7571 "returns" : {
44660702
DM
7572 "type" : "null"
7573 }
56122987 7574 }
7aacca6f 7575 },
44660702 7576 "leaf" : 1,
7aacca6f 7577 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 7578 "text" : "{pos}"
56122987
DM
7579 }
7580 ],
56122987 7581 "info" : {
44660702 7582 "GET" : {
e9cd3bd4 7583 "allowtoken" : 1,
44660702
DM
7584 "description" : "List rules.",
7585 "method" : "GET",
7586 "name" : "get_rules",
7587 "parameters" : {
7588 "additionalProperties" : 0,
7589 "properties" : {
7590 "node" : {
7591 "description" : "The cluster node name.",
7592 "format" : "pve-node",
013dc89f
DM
7593 "type" : "string",
7594 "typetext" : "<string>"
44660702
DM
7595 },
7596 "vmid" : {
7597 "description" : "The (unique) ID of the VM.",
7598 "format" : "pve-vmid",
7599 "minimum" : 1,
4bd7df8b 7600 "type" : "integer",
013dc89f 7601 "typetext" : "<integer> (1 - N)"
44660702
DM
7602 }
7603 }
56122987 7604 },
56122987
DM
7605 "permissions" : {
7606 "check" : [
7607 "perm",
7608 "/vms/{vmid}",
7609 [
44660702 7610 "VM.Audit"
56122987
DM
7611 ]
7612 ]
7aacca6f 7613 },
44660702
DM
7614 "proxyto" : null,
7615 "returns" : {
7616 "items" : {
7617 "properties" : {
7618 "pos" : {
7619 "type" : "integer"
7620 }
7621 },
7622 "type" : "object"
7623 },
7624 "links" : [
7625 {
7626 "href" : "{pos}",
7627 "rel" : "child"
7628 }
7629 ],
7630 "type" : "array"
7631 }
7632 },
7633 "POST" : {
e9cd3bd4 7634 "allowtoken" : 1,
44660702 7635 "description" : "Create new rule.",
7aacca6f 7636 "method" : "POST",
44660702 7637 "name" : "create_rule",
56122987 7638 "parameters" : {
44660702 7639 "additionalProperties" : 0,
56122987 7640 "properties" : {
44660702
DM
7641 "action" : {
7642 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7643 "maxLength" : 20,
7644 "minLength" : 2,
7645 "optional" : 0,
7646 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7647 "type" : "string"
56122987 7648 },
44660702 7649 "comment" : {
e94f0d56 7650 "description" : "Descriptive comment.",
56122987 7651 "optional" : 1,
013dc89f
DM
7652 "type" : "string",
7653 "typetext" : "<string>"
56122987 7654 },
44660702
DM
7655 "dest" : {
7656 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
7657 "format" : "pve-fw-addr-spec",
7658 "optional" : 1,
013dc89f
DM
7659 "type" : "string",
7660 "typetext" : "<string>"
56122987 7661 },
44660702
DM
7662 "digest" : {
7663 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7664 "maxLength" : 40,
56122987 7665 "optional" : 1,
013dc89f
DM
7666 "type" : "string",
7667 "typetext" : "<string>"
56122987 7668 },
7aacca6f
DM
7669 "dport" : {
7670 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702 7671 "format" : "pve-fw-dport-spec",
7aacca6f 7672 "optional" : 1,
013dc89f
DM
7673 "type" : "string",
7674 "typetext" : "<string>"
56122987
DM
7675 },
7676 "enable" : {
e94f0d56 7677 "description" : "Flag to enable/disable a rule.",
56122987 7678 "minimum" : 0,
44660702 7679 "optional" : 1,
4bd7df8b 7680 "type" : "integer",
013dc89f 7681 "typetext" : "<integer> (0 - N)"
56122987 7682 },
44660702
DM
7683 "iface" : {
7684 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
7685 "format" : "pve-iface",
7686 "maxLength" : 20,
7aacca6f 7687 "minLength" : 2,
44660702 7688 "optional" : 1,
013dc89f
DM
7689 "type" : "string",
7690 "typetext" : "<string>"
56122987 7691 },
95895385
TL
7692 "log" : {
7693 "description" : "Log level for firewall rule.",
7694 "enum" : [
7695 "emerg",
7696 "alert",
7697 "crit",
7698 "err",
7699 "warning",
7700 "notice",
7701 "info",
7702 "debug",
7703 "nolog"
7704 ],
7705 "optional" : 1,
7706 "type" : "string"
7707 },
44660702 7708 "macro" : {
e94f0d56 7709 "description" : "Use predefined standard macro.",
44660702 7710 "maxLength" : 128,
56122987 7711 "optional" : 1,
013dc89f
DM
7712 "type" : "string",
7713 "typetext" : "<string>"
7aacca6f 7714 },
44660702
DM
7715 "node" : {
7716 "description" : "The cluster node name.",
7717 "format" : "pve-node",
013dc89f
DM
7718 "type" : "string",
7719 "typetext" : "<string>"
44660702
DM
7720 },
7721 "pos" : {
7722 "description" : "Update rule at position <pos>.",
7723 "minimum" : 0,
7724 "optional" : 1,
4bd7df8b 7725 "type" : "integer",
013dc89f 7726 "typetext" : "<integer> (0 - N)"
44660702
DM
7727 },
7728 "proto" : {
7729 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
7730 "format" : "pve-fw-protocol-spec",
7aacca6f 7731 "optional" : 1,
013dc89f
DM
7732 "type" : "string",
7733 "typetext" : "<string>"
7aacca6f
DM
7734 },
7735 "source" : {
7736 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
44660702 7737 "format" : "pve-fw-addr-spec",
7aacca6f 7738 "optional" : 1,
013dc89f
DM
7739 "type" : "string",
7740 "typetext" : "<string>"
7aacca6f 7741 },
44660702
DM
7742 "sport" : {
7743 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
7744 "format" : "pve-fw-sport-spec",
7aacca6f 7745 "optional" : 1,
013dc89f
DM
7746 "type" : "string",
7747 "typetext" : "<string>"
7aacca6f 7748 },
44660702 7749 "type" : {
e94f0d56 7750 "description" : "Rule type.",
44660702
DM
7751 "enum" : [
7752 "in",
7753 "out",
7754 "group"
7755 ],
7756 "optional" : 0,
7757 "type" : "string"
7aacca6f 7758 },
7aacca6f 7759 "vmid" : {
44660702 7760 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
7761 "format" : "pve-vmid",
7762 "minimum" : 1,
4bd7df8b 7763 "type" : "integer",
013dc89f 7764 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
7765 }
7766 }
7767 },
56122987
DM
7768 "permissions" : {
7769 "check" : [
7770 "perm",
7771 "/vms/{vmid}",
7772 [
44660702 7773 "VM.Config.Network"
56122987
DM
7774 ]
7775 ]
7776 },
44660702
DM
7777 "protected" : 1,
7778 "proxyto" : null,
56122987 7779 "returns" : {
44660702
DM
7780 "type" : "null"
7781 }
56122987
DM
7782 }
7783 },
44660702 7784 "leaf" : 0,
7aacca6f 7785 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 7786 "text" : "rules"
56122987
DM
7787 },
7788 {
7789 "children" : [
7790 {
56122987 7791 "info" : {
44660702 7792 "DELETE" : {
e9cd3bd4 7793 "allowtoken" : 1,
44660702
DM
7794 "description" : "Remove IP or Network alias.",
7795 "method" : "DELETE",
7796 "name" : "remove_alias",
56122987 7797 "parameters" : {
44660702 7798 "additionalProperties" : 0,
56122987 7799 "properties" : {
44660702
DM
7800 "digest" : {
7801 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7802 "maxLength" : 40,
7803 "optional" : 1,
013dc89f
DM
7804 "type" : "string",
7805 "typetext" : "<string>"
56122987
DM
7806 },
7807 "name" : {
56122987 7808 "description" : "Alias name.",
44660702 7809 "maxLength" : 64,
7aacca6f 7810 "minLength" : 2,
44660702 7811 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
7812 "type" : "string"
7813 },
7aacca6f 7814 "node" : {
44660702 7815 "description" : "The cluster node name.",
7aacca6f 7816 "format" : "pve-node",
013dc89f
DM
7817 "type" : "string",
7818 "typetext" : "<string>"
44660702
DM
7819 },
7820 "vmid" : {
7821 "description" : "The (unique) ID of the VM.",
7822 "format" : "pve-vmid",
7823 "minimum" : 1,
4bd7df8b 7824 "type" : "integer",
013dc89f 7825 "typetext" : "<integer> (1 - N)"
56122987 7826 }
44660702 7827 }
56122987 7828 },
7aacca6f
DM
7829 "permissions" : {
7830 "check" : [
7831 "perm",
7832 "/vms/{vmid}",
7833 [
7834 "VM.Config.Network"
7835 ]
7836 ]
56122987 7837 },
44660702
DM
7838 "protected" : 1,
7839 "returns" : {
7840 "type" : "null"
7841 }
7842 },
7843 "GET" : {
e9cd3bd4 7844 "allowtoken" : 1,
44660702
DM
7845 "description" : "Read alias.",
7846 "method" : "GET",
7847 "name" : "read_alias",
56122987 7848 "parameters" : {
44660702 7849 "additionalProperties" : 0,
56122987 7850 "properties" : {
56122987 7851 "name" : {
7aacca6f 7852 "description" : "Alias name.",
44660702 7853 "maxLength" : 64,
56122987 7854 "minLength" : 2,
44660702 7855 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 7856 "type" : "string"
7aacca6f
DM
7857 },
7858 "node" : {
7859 "description" : "The cluster node name.",
44660702 7860 "format" : "pve-node",
013dc89f
DM
7861 "type" : "string",
7862 "typetext" : "<string>"
44660702
DM
7863 },
7864 "vmid" : {
7865 "description" : "The (unique) ID of the VM.",
7866 "format" : "pve-vmid",
7867 "minimum" : 1,
4bd7df8b 7868 "type" : "integer",
013dc89f 7869 "typetext" : "<integer> (1 - N)"
56122987 7870 }
44660702 7871 }
56122987 7872 },
44660702
DM
7873 "permissions" : {
7874 "check" : [
7875 "perm",
7876 "/vms/{vmid}",
7877 [
7878 "VM.Audit"
7879 ]
7880 ]
56122987 7881 },
44660702
DM
7882 "returns" : {
7883 "type" : "object"
7884 }
7aacca6f 7885 },
44660702 7886 "PUT" : {
e9cd3bd4 7887 "allowtoken" : 1,
44660702
DM
7888 "description" : "Update IP or Network alias.",
7889 "method" : "PUT",
7890 "name" : "update_alias",
56122987
DM
7891 "parameters" : {
7892 "additionalProperties" : 0,
7893 "properties" : {
44660702
DM
7894 "cidr" : {
7895 "description" : "Network/IP specification in CIDR format.",
7896 "format" : "IPorCIDR",
013dc89f
DM
7897 "type" : "string",
7898 "typetext" : "<string>"
44660702
DM
7899 },
7900 "comment" : {
7901 "optional" : 1,
013dc89f
DM
7902 "type" : "string",
7903 "typetext" : "<string>"
56122987
DM
7904 },
7905 "digest" : {
44660702 7906 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
7907 "maxLength" : 40,
7908 "optional" : 1,
013dc89f
DM
7909 "type" : "string",
7910 "typetext" : "<string>"
56122987 7911 },
7aacca6f 7912 "name" : {
44660702 7913 "description" : "Alias name.",
56122987
DM
7914 "maxLength" : 64,
7915 "minLength" : 2,
7916 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 7917 "type" : "string"
7aacca6f
DM
7918 },
7919 "node" : {
7aacca6f 7920 "description" : "The cluster node name.",
44660702 7921 "format" : "pve-node",
013dc89f
DM
7922 "type" : "string",
7923 "typetext" : "<string>"
44660702
DM
7924 },
7925 "rename" : {
7926 "description" : "Rename an existing alias.",
7927 "maxLength" : 64,
7928 "minLength" : 2,
7929 "optional" : 1,
7930 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7931 "type" : "string"
7932 },
7933 "vmid" : {
7934 "description" : "The (unique) ID of the VM.",
7935 "format" : "pve-vmid",
7936 "minimum" : 1,
4bd7df8b 7937 "type" : "integer",
013dc89f 7938 "typetext" : "<integer> (1 - N)"
56122987
DM
7939 }
7940 }
7941 },
7aacca6f
DM
7942 "permissions" : {
7943 "check" : [
7944 "perm",
7945 "/vms/{vmid}",
7946 [
7947 "VM.Config.Network"
7948 ]
7949 ]
7950 },
7951 "protected" : 1,
7aacca6f
DM
7952 "returns" : {
7953 "type" : "null"
44660702 7954 }
56122987
DM
7955 }
7956 },
44660702 7957 "leaf" : 1,
7aacca6f 7958 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 7959 "text" : "{name}"
56122987
DM
7960 }
7961 ],
7962 "info" : {
44660702 7963 "GET" : {
e9cd3bd4 7964 "allowtoken" : 1,
44660702
DM
7965 "description" : "List aliases",
7966 "method" : "GET",
7967 "name" : "get_aliases",
56122987 7968 "parameters" : {
44660702 7969 "additionalProperties" : 0,
56122987 7970 "properties" : {
7aacca6f 7971 "node" : {
7aacca6f 7972 "description" : "The cluster node name.",
44660702 7973 "format" : "pve-node",
013dc89f
DM
7974 "type" : "string",
7975 "typetext" : "<string>"
56122987 7976 },
44660702
DM
7977 "vmid" : {
7978 "description" : "The (unique) ID of the VM.",
7979 "format" : "pve-vmid",
7980 "minimum" : 1,
4bd7df8b 7981 "type" : "integer",
013dc89f 7982 "typetext" : "<integer> (1 - N)"
56122987 7983 }
44660702 7984 }
56122987 7985 },
56122987
DM
7986 "permissions" : {
7987 "check" : [
7988 "perm",
7989 "/vms/{vmid}",
7990 [
44660702 7991 "VM.Audit"
56122987
DM
7992 ]
7993 ]
7994 },
56122987
DM
7995 "returns" : {
7996 "items" : {
7997 "properties" : {
44660702 7998 "cidr" : {
56122987
DM
7999 "type" : "string"
8000 },
44660702
DM
8001 "comment" : {
8002 "optional" : 1,
7aacca6f 8003 "type" : "string"
56122987
DM
8004 },
8005 "digest" : {
56122987 8006 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 8007 "maxLength" : 40,
56122987
DM
8008 "optional" : 0,
8009 "type" : "string"
8010 },
44660702 8011 "name" : {
56122987
DM
8012 "type" : "string"
8013 }
44660702
DM
8014 },
8015 "type" : "object"
56122987 8016 },
56122987
DM
8017 "links" : [
8018 {
8019 "href" : "{name}",
8020 "rel" : "child"
8021 }
44660702
DM
8022 ],
8023 "type" : "array"
8024 }
8025 },
8026 "POST" : {
e9cd3bd4 8027 "allowtoken" : 1,
44660702
DM
8028 "description" : "Create IP or Network Alias.",
8029 "method" : "POST",
8030 "name" : "create_alias",
56122987 8031 "parameters" : {
7aacca6f 8032 "additionalProperties" : 0,
56122987 8033 "properties" : {
44660702
DM
8034 "cidr" : {
8035 "description" : "Network/IP specification in CIDR format.",
8036 "format" : "IPorCIDR",
013dc89f
DM
8037 "type" : "string",
8038 "typetext" : "<string>"
44660702
DM
8039 },
8040 "comment" : {
8041 "optional" : 1,
013dc89f
DM
8042 "type" : "string",
8043 "typetext" : "<string>"
44660702
DM
8044 },
8045 "name" : {
8046 "description" : "Alias name.",
8047 "maxLength" : 64,
8048 "minLength" : 2,
8049 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8050 "type" : "string"
56122987
DM
8051 },
8052 "node" : {
7aacca6f 8053 "description" : "The cluster node name.",
44660702 8054 "format" : "pve-node",
013dc89f
DM
8055 "type" : "string",
8056 "typetext" : "<string>"
44660702
DM
8057 },
8058 "vmid" : {
8059 "description" : "The (unique) ID of the VM.",
8060 "format" : "pve-vmid",
8061 "minimum" : 1,
4bd7df8b 8062 "type" : "integer",
013dc89f 8063 "typetext" : "<integer> (1 - N)"
56122987 8064 }
7aacca6f 8065 }
56122987 8066 },
44660702
DM
8067 "permissions" : {
8068 "check" : [
8069 "perm",
8070 "/vms/{vmid}",
8071 [
8072 "VM.Config.Network"
8073 ]
8074 ]
8075 },
8076 "protected" : 1,
8077 "returns" : {
8078 "type" : "null"
8079 }
56122987 8080 }
44660702
DM
8081 },
8082 "leaf" : 0,
8083 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
8084 "text" : "aliases"
56122987
DM
8085 },
8086 {
56122987
DM
8087 "children" : [
8088 {
7aacca6f
DM
8089 "children" : [
8090 {
8091 "info" : {
8092 "DELETE" : {
e9cd3bd4 8093 "allowtoken" : 1,
44660702 8094 "description" : "Remove IP or Network from IPSet.",
7aacca6f 8095 "method" : "DELETE",
44660702 8096 "name" : "remove_ip",
7aacca6f 8097 "parameters" : {
44660702 8098 "additionalProperties" : 0,
7aacca6f 8099 "properties" : {
44660702
DM
8100 "cidr" : {
8101 "description" : "Network/IP specification in CIDR format.",
8102 "format" : "IPorCIDRorAlias",
013dc89f
DM
8103 "type" : "string",
8104 "typetext" : "<string>"
44660702
DM
8105 },
8106 "digest" : {
8107 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8108 "maxLength" : 40,
8109 "optional" : 1,
013dc89f
DM
8110 "type" : "string",
8111 "typetext" : "<string>"
44660702 8112 },
7aacca6f 8113 "name" : {
7aacca6f 8114 "description" : "IP set name.",
44660702
DM
8115 "maxLength" : 64,
8116 "minLength" : 2,
7aacca6f 8117 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 8118 "type" : "string"
7aacca6f
DM
8119 },
8120 "node" : {
8121 "description" : "The cluster node name.",
44660702 8122 "format" : "pve-node",
013dc89f
DM
8123 "type" : "string",
8124 "typetext" : "<string>"
7aacca6f
DM
8125 },
8126 "vmid" : {
44660702 8127 "description" : "The (unique) ID of the VM.",
7aacca6f 8128 "format" : "pve-vmid",
44660702 8129 "minimum" : 1,
4bd7df8b 8130 "type" : "integer",
013dc89f 8131 "typetext" : "<integer> (1 - N)"
7aacca6f 8132 }
44660702 8133 }
7aacca6f 8134 },
7aacca6f
DM
8135 "permissions" : {
8136 "check" : [
8137 "perm",
8138 "/vms/{vmid}",
8139 [
8140 "VM.Config.Network"
8141 ]
8142 ]
8143 },
8144 "protected" : 1,
44660702
DM
8145 "returns" : {
8146 "type" : "null"
8147 }
56122987 8148 },
44660702 8149 "GET" : {
e9cd3bd4 8150 "allowtoken" : 1,
44660702
DM
8151 "description" : "Read IP or Network settings from IPSet.",
8152 "method" : "GET",
8153 "name" : "read_ip",
7aacca6f 8154 "parameters" : {
44660702 8155 "additionalProperties" : 0,
7aacca6f 8156 "properties" : {
7aacca6f 8157 "cidr" : {
44660702 8158 "description" : "Network/IP specification in CIDR format.",
7aacca6f 8159 "format" : "IPorCIDRorAlias",
013dc89f
DM
8160 "type" : "string",
8161 "typetext" : "<string>"
7aacca6f
DM
8162 },
8163 "name" : {
7aacca6f 8164 "description" : "IP set name.",
44660702 8165 "maxLength" : 64,
7aacca6f 8166 "minLength" : 2,
44660702
DM
8167 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8168 "type" : "string"
7aacca6f 8169 },
44660702
DM
8170 "node" : {
8171 "description" : "The cluster node name.",
8172 "format" : "pve-node",
013dc89f
DM
8173 "type" : "string",
8174 "typetext" : "<string>"
7aacca6f 8175 },
44660702
DM
8176 "vmid" : {
8177 "description" : "The (unique) ID of the VM.",
8178 "format" : "pve-vmid",
8179 "minimum" : 1,
4bd7df8b 8180 "type" : "integer",
013dc89f 8181 "typetext" : "<integer> (1 - N)"
7aacca6f 8182 }
44660702 8183 }
7aacca6f 8184 },
44660702
DM
8185 "permissions" : {
8186 "check" : [
8187 "perm",
8188 "/vms/{vmid}",
8189 [
8190 "VM.Audit"
8191 ]
8192 ]
8193 },
8194 "protected" : 1,
7aacca6f 8195 "returns" : {
44660702 8196 "type" : "object"
7aacca6f 8197 }
56122987 8198 },
44660702 8199 "PUT" : {
e9cd3bd4 8200 "allowtoken" : 1,
44660702
DM
8201 "description" : "Update IP or Network settings",
8202 "method" : "PUT",
8203 "name" : "update_ip",
7aacca6f
DM
8204 "parameters" : {
8205 "additionalProperties" : 0,
8206 "properties" : {
44660702
DM
8207 "cidr" : {
8208 "description" : "Network/IP specification in CIDR format.",
8209 "format" : "IPorCIDRorAlias",
013dc89f
DM
8210 "type" : "string",
8211 "typetext" : "<string>"
44660702
DM
8212 },
8213 "comment" : {
8214 "optional" : 1,
013dc89f
DM
8215 "type" : "string",
8216 "typetext" : "<string>"
44660702
DM
8217 },
8218 "digest" : {
8219 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8220 "maxLength" : 40,
8221 "optional" : 1,
013dc89f
DM
8222 "type" : "string",
8223 "typetext" : "<string>"
44660702 8224 },
7aacca6f 8225 "name" : {
7aacca6f 8226 "description" : "IP set name.",
44660702 8227 "maxLength" : 64,
7aacca6f 8228 "minLength" : 2,
44660702
DM
8229 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8230 "type" : "string"
7aacca6f
DM
8231 },
8232 "node" : {
7aacca6f 8233 "description" : "The cluster node name.",
44660702 8234 "format" : "pve-node",
013dc89f
DM
8235 "type" : "string",
8236 "typetext" : "<string>"
7aacca6f 8237 },
44660702
DM
8238 "nomatch" : {
8239 "optional" : 1,
013dc89f
DM
8240 "type" : "boolean",
8241 "typetext" : "<boolean>"
7aacca6f
DM
8242 },
8243 "vmid" : {
8244 "description" : "The (unique) ID of the VM.",
44660702 8245 "format" : "pve-vmid",
7aacca6f 8246 "minimum" : 1,
4bd7df8b 8247 "type" : "integer",
013dc89f 8248 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
8249 }
8250 }
8251 },
8252 "permissions" : {
8253 "check" : [
8254 "perm",
8255 "/vms/{vmid}",
8256 [
44660702 8257 "VM.Config.Network"
7aacca6f
DM
8258 ]
8259 ]
8260 },
7aacca6f 8261 "protected" : 1,
7aacca6f 8262 "returns" : {
44660702 8263 "type" : "null"
7aacca6f 8264 }
56122987 8265 }
7aacca6f 8266 },
7aacca6f 8267 "leaf" : 1,
44660702
DM
8268 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
8269 "text" : "{cidr}"
7aacca6f 8270 }
44660702
DM
8271 ],
8272 "info" : {
8273 "DELETE" : {
e9cd3bd4 8274 "allowtoken" : 1,
44660702
DM
8275 "description" : "Delete IPSet",
8276 "method" : "DELETE",
8277 "name" : "delete_ipset",
8278 "parameters" : {
8279 "additionalProperties" : 0,
8280 "properties" : {
8281 "name" : {
8282 "description" : "IP set name.",
8283 "maxLength" : 64,
8284 "minLength" : 2,
8285 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8286 "type" : "string"
8287 },
8288 "node" : {
8289 "description" : "The cluster node name.",
8290 "format" : "pve-node",
013dc89f
DM
8291 "type" : "string",
8292 "typetext" : "<string>"
44660702
DM
8293 },
8294 "vmid" : {
8295 "description" : "The (unique) ID of the VM.",
8296 "format" : "pve-vmid",
8297 "minimum" : 1,
4bd7df8b 8298 "type" : "integer",
013dc89f 8299 "typetext" : "<integer> (1 - N)"
44660702
DM
8300 }
8301 }
7aacca6f 8302 },
44660702
DM
8303 "permissions" : {
8304 "check" : [
8305 "perm",
8306 "/vms/{vmid}",
8307 [
8308 "VM.Config.Network"
8309 ]
8310 ]
7aacca6f 8311 },
44660702
DM
8312 "protected" : 1,
8313 "returns" : {
8314 "type" : "null"
8315 }
8316 },
8317 "GET" : {
e9cd3bd4 8318 "allowtoken" : 1,
44660702
DM
8319 "description" : "List IPSet content",
8320 "method" : "GET",
8321 "name" : "get_ipset",
8322 "parameters" : {
8323 "additionalProperties" : 0,
8324 "properties" : {
8325 "name" : {
8326 "description" : "IP set name.",
8327 "maxLength" : 64,
8328 "minLength" : 2,
8329 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8330 "type" : "string"
8331 },
8332 "node" : {
8333 "description" : "The cluster node name.",
8334 "format" : "pve-node",
013dc89f
DM
8335 "type" : "string",
8336 "typetext" : "<string>"
44660702
DM
8337 },
8338 "vmid" : {
8339 "description" : "The (unique) ID of the VM.",
8340 "format" : "pve-vmid",
8341 "minimum" : 1,
4bd7df8b 8342 "type" : "integer",
013dc89f 8343 "typetext" : "<integer> (1 - N)"
44660702
DM
8344 }
8345 }
7aacca6f 8346 },
44660702
DM
8347 "permissions" : {
8348 "check" : [
8349 "perm",
8350 "/vms/{vmid}",
8351 [
8352 "VM.Audit"
8353 ]
8354 ]
7aacca6f 8355 },
44660702
DM
8356 "returns" : {
8357 "items" : {
8358 "properties" : {
8359 "cidr" : {
8360 "type" : "string"
8361 },
8362 "comment" : {
8363 "optional" : 1,
8364 "type" : "string"
8365 },
8366 "digest" : {
8367 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8368 "maxLength" : 40,
8369 "optional" : 0,
8370 "type" : "string"
8371 },
8372 "nomatch" : {
8373 "optional" : 1,
8374 "type" : "boolean"
8375 }
8376 },
8377 "type" : "object"
8378 },
8379 "links" : [
8380 {
8381 "href" : "{cidr}",
8382 "rel" : "child"
8383 }
8384 ],
8385 "type" : "array"
56122987
DM
8386 }
8387 },
44660702 8388 "POST" : {
e9cd3bd4 8389 "allowtoken" : 1,
44660702
DM
8390 "description" : "Add IP or Network to IPSet.",
8391 "method" : "POST",
8392 "name" : "create_ip",
8393 "parameters" : {
8394 "additionalProperties" : 0,
8395 "properties" : {
8396 "cidr" : {
8397 "description" : "Network/IP specification in CIDR format.",
8398 "format" : "IPorCIDRorAlias",
013dc89f
DM
8399 "type" : "string",
8400 "typetext" : "<string>"
44660702
DM
8401 },
8402 "comment" : {
8403 "optional" : 1,
013dc89f
DM
8404 "type" : "string",
8405 "typetext" : "<string>"
44660702
DM
8406 },
8407 "name" : {
8408 "description" : "IP set name.",
8409 "maxLength" : 64,
8410 "minLength" : 2,
8411 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8412 "type" : "string"
8413 },
8414 "node" : {
8415 "description" : "The cluster node name.",
8416 "format" : "pve-node",
013dc89f
DM
8417 "type" : "string",
8418 "typetext" : "<string>"
44660702
DM
8419 },
8420 "nomatch" : {
8421 "optional" : 1,
013dc89f
DM
8422 "type" : "boolean",
8423 "typetext" : "<boolean>"
44660702
DM
8424 },
8425 "vmid" : {
8426 "description" : "The (unique) ID of the VM.",
8427 "format" : "pve-vmid",
8428 "minimum" : 1,
4bd7df8b 8429 "type" : "integer",
013dc89f 8430 "typetext" : "<integer> (1 - N)"
44660702
DM
8431 }
8432 }
8433 },
8434 "permissions" : {
8435 "check" : [
8436 "perm",
8437 "/vms/{vmid}",
8438 [
8439 "VM.Config.Network"
8440 ]
8441 ]
8442 },
8443 "protected" : 1,
8444 "returns" : {
8445 "type" : "null"
8446 }
8447 }
8448 },
8449 "leaf" : 0,
8450 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
8451 "text" : "{name}"
8452 }
8453 ],
8454 "info" : {
8455 "GET" : {
e9cd3bd4 8456 "allowtoken" : 1,
44660702
DM
8457 "description" : "List IPSets",
8458 "method" : "GET",
8459 "name" : "ipset_index",
8460 "parameters" : {
8461 "additionalProperties" : 0,
8462 "properties" : {
8463 "node" : {
8464 "description" : "The cluster node name.",
8465 "format" : "pve-node",
013dc89f
DM
8466 "type" : "string",
8467 "typetext" : "<string>"
44660702
DM
8468 },
8469 "vmid" : {
8470 "description" : "The (unique) ID of the VM.",
8471 "format" : "pve-vmid",
8472 "minimum" : 1,
4bd7df8b 8473 "type" : "integer",
013dc89f 8474 "typetext" : "<integer> (1 - N)"
44660702
DM
8475 }
8476 }
56122987
DM
8477 },
8478 "permissions" : {
8479 "check" : [
8480 "perm",
8481 "/vms/{vmid}",
8482 [
44660702 8483 "VM.Audit"
56122987
DM
8484 ]
8485 ]
8486 },
7aacca6f 8487 "returns" : {
7aacca6f
DM
8488 "items" : {
8489 "properties" : {
7aacca6f
DM
8490 "comment" : {
8491 "optional" : 1,
8492 "type" : "string"
8493 },
8494 "digest" : {
7aacca6f 8495 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
8496 "maxLength" : 40,
8497 "optional" : 0,
8498 "type" : "string"
8499 },
8500 "name" : {
8501 "description" : "IP set name.",
8502 "maxLength" : 64,
8503 "minLength" : 2,
8504 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8505 "type" : "string"
7aacca6f
DM
8506 }
8507 },
8508 "type" : "object"
8509 },
8510 "links" : [
8511 {
44660702
DM
8512 "href" : "{name}",
8513 "rel" : "child"
7aacca6f 8514 }
44660702
DM
8515 ],
8516 "type" : "array"
8517 }
8518 },
8519 "POST" : {
e9cd3bd4 8520 "allowtoken" : 1,
44660702
DM
8521 "description" : "Create new IPSet",
8522 "method" : "POST",
8523 "name" : "create_ipset",
56122987
DM
8524 "parameters" : {
8525 "additionalProperties" : 0,
8526 "properties" : {
44660702
DM
8527 "comment" : {
8528 "optional" : 1,
013dc89f
DM
8529 "type" : "string",
8530 "typetext" : "<string>"
56122987 8531 },
44660702
DM
8532 "digest" : {
8533 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8534 "maxLength" : 40,
8535 "optional" : 1,
013dc89f
DM
8536 "type" : "string",
8537 "typetext" : "<string>"
44660702
DM
8538 },
8539 "name" : {
8540 "description" : "IP set name.",
8541 "maxLength" : 64,
8542 "minLength" : 2,
8543 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8544 "type" : "string"
8545 },
8546 "node" : {
8547 "description" : "The cluster node name.",
8548 "format" : "pve-node",
013dc89f
DM
8549 "type" : "string",
8550 "typetext" : "<string>"
44660702
DM
8551 },
8552 "rename" : {
8553 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
8554 "maxLength" : 64,
8555 "minLength" : 2,
8556 "optional" : 1,
8557 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8558 "type" : "string"
8559 },
8560 "vmid" : {
8561 "description" : "The (unique) ID of the VM.",
8562 "format" : "pve-vmid",
8563 "minimum" : 1,
4bd7df8b 8564 "type" : "integer",
013dc89f 8565 "typetext" : "<integer> (1 - N)"
44660702
DM
8566 }
8567 }
8568 },
7aacca6f
DM
8569 "permissions" : {
8570 "check" : [
8571 "perm",
8572 "/vms/{vmid}",
8573 [
8574 "VM.Config.Network"
8575 ]
8576 ]
8577 },
44660702 8578 "protected" : 1,
56122987 8579 "returns" : {
7aacca6f 8580 "type" : "null"
44660702
DM
8581 }
8582 }
8583 },
8584 "leaf" : 0,
8585 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
8586 "text" : "ipset"
8587 },
8588 {
8589 "info" : {
8590 "GET" : {
e9cd3bd4 8591 "allowtoken" : 1,
44660702
DM
8592 "description" : "Get VM firewall options.",
8593 "method" : "GET",
8594 "name" : "get_options",
7aacca6f
DM
8595 "parameters" : {
8596 "additionalProperties" : 0,
56122987 8597 "properties" : {
7aacca6f
DM
8598 "node" : {
8599 "description" : "The cluster node name.",
44660702 8600 "format" : "pve-node",
013dc89f
DM
8601 "type" : "string",
8602 "typetext" : "<string>"
7aacca6f 8603 },
44660702
DM
8604 "vmid" : {
8605 "description" : "The (unique) ID of the VM.",
8606 "format" : "pve-vmid",
8607 "minimum" : 1,
4bd7df8b 8608 "type" : "integer",
013dc89f 8609 "typetext" : "<integer> (1 - N)"
44660702
DM
8610 }
8611 }
8612 },
8613 "permissions" : {
8614 "check" : [
8615 "perm",
8616 "/vms/{vmid}",
8617 [
8618 "VM.Audit"
8619 ]
8620 ]
8621 },
8622 "proxyto" : "node",
8623 "returns" : {
8624 "properties" : {
8625 "dhcp" : {
5c1699e5 8626 "default" : 0,
44660702 8627 "description" : "Enable DHCP.",
56122987 8628 "optional" : 1,
44660702 8629 "type" : "boolean"
56122987 8630 },
44660702 8631 "enable" : {
5c1699e5 8632 "default" : 0,
44660702 8633 "description" : "Enable/disable firewall rules.",
7aacca6f 8634 "optional" : 1,
44660702 8635 "type" : "boolean"
56122987 8636 },
44660702
DM
8637 "ipfilter" : {
8638 "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
7aacca6f 8639 "optional" : 1,
44660702 8640 "type" : "boolean"
7aacca6f 8641 },
56122987 8642 "log_level_in" : {
7aacca6f 8643 "description" : "Log level for incoming traffic.",
56122987
DM
8644 "enum" : [
8645 "emerg",
8646 "alert",
8647 "crit",
8648 "err",
8649 "warning",
8650 "notice",
8651 "info",
8652 "debug",
8653 "nolog"
8654 ],
56122987
DM
8655 "optional" : 1,
8656 "type" : "string"
8657 },
44660702
DM
8658 "log_level_out" : {
8659 "description" : "Log level for outgoing traffic.",
8660 "enum" : [
8661 "emerg",
8662 "alert",
8663 "crit",
8664 "err",
8665 "warning",
8666 "notice",
8667 "info",
8668 "debug",
8669 "nolog"
8670 ],
8671 "optional" : 1,
8672 "type" : "string"
8673 },
8674 "macfilter" : {
5c1699e5 8675 "default" : 0,
44660702 8676 "description" : "Enable/disable MAC address filter.",
56122987 8677 "optional" : 1,
7aacca6f 8678 "type" : "boolean"
56122987
DM
8679 },
8680 "ndp" : {
5c1699e5
TL
8681 "default" : 0,
8682 "description" : "Enable NDP (Neighbor Discovery Protocol).",
56122987 8683 "optional" : 1,
44660702 8684 "type" : "boolean"
56122987
DM
8685 },
8686 "policy_in" : {
56122987
DM
8687 "description" : "Input policy.",
8688 "enum" : [
8689 "ACCEPT",
8690 "REJECT",
8691 "DROP"
44660702
DM
8692 ],
8693 "optional" : 1,
8694 "type" : "string"
56122987 8695 },
44660702
DM
8696 "policy_out" : {
8697 "description" : "Output policy.",
8698 "enum" : [
8699 "ACCEPT",
8700 "REJECT",
8701 "DROP"
8702 ],
8703 "optional" : 1,
8704 "type" : "string"
8705 },
8706 "radv" : {
8707 "description" : "Allow sending Router Advertisement.",
8708 "optional" : 1,
8709 "type" : "boolean"
8710 }
8711 },
8712 "type" : "object"
8713 }
8714 },
8715 "PUT" : {
e9cd3bd4 8716 "allowtoken" : 1,
44660702
DM
8717 "description" : "Set Firewall options.",
8718 "method" : "PUT",
8719 "name" : "set_options",
8720 "parameters" : {
8721 "additionalProperties" : 0,
8722 "properties" : {
8723 "delete" : {
8724 "description" : "A list of settings you want to delete.",
8725 "format" : "pve-configid-list",
8726 "optional" : 1,
013dc89f
DM
8727 "type" : "string",
8728 "typetext" : "<string>"
44660702
DM
8729 },
8730 "dhcp" : {
5c1699e5 8731 "default" : 0,
44660702 8732 "description" : "Enable DHCP.",
7aacca6f 8733 "optional" : 1,
013dc89f
DM
8734 "type" : "boolean",
8735 "typetext" : "<boolean>"
7aacca6f
DM
8736 },
8737 "digest" : {
8738 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 8739 "maxLength" : 40,
7aacca6f 8740 "optional" : 1,
013dc89f
DM
8741 "type" : "string",
8742 "typetext" : "<string>"
7aacca6f
DM
8743 },
8744 "enable" : {
5c1699e5 8745 "default" : 0,
7aacca6f 8746 "description" : "Enable/disable firewall rules.",
56122987 8747 "optional" : 1,
013dc89f
DM
8748 "type" : "boolean",
8749 "typetext" : "<boolean>"
7aacca6f 8750 },
44660702
DM
8751 "ipfilter" : {
8752 "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
8753 "optional" : 1,
013dc89f
DM
8754 "type" : "boolean",
8755 "typetext" : "<boolean>"
44660702
DM
8756 },
8757 "log_level_in" : {
8758 "description" : "Log level for incoming traffic.",
56122987
DM
8759 "enum" : [
8760 "emerg",
8761 "alert",
8762 "crit",
8763 "err",
8764 "warning",
8765 "notice",
8766 "info",
8767 "debug",
8768 "nolog"
7aacca6f 8769 ],
7aacca6f 8770 "optional" : 1,
44660702 8771 "type" : "string"
7aacca6f 8772 },
44660702
DM
8773 "log_level_out" : {
8774 "description" : "Log level for outgoing traffic.",
56122987
DM
8775 "enum" : [
8776 "emerg",
8777 "alert",
8778 "crit",
8779 "err",
8780 "warning",
8781 "notice",
8782 "info",
8783 "debug",
8784 "nolog"
8785 ],
56122987 8786 "optional" : 1,
44660702 8787 "type" : "string"
56122987
DM
8788 },
8789 "macfilter" : {
5c1699e5 8790 "default" : 0,
56122987 8791 "description" : "Enable/disable MAC address filter.",
7aacca6f 8792 "optional" : 1,
013dc89f
DM
8793 "type" : "boolean",
8794 "typetext" : "<boolean>"
56122987 8795 },
44660702 8796 "ndp" : {
5c1699e5
TL
8797 "default" : 0,
8798 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702 8799 "optional" : 1,
013dc89f
DM
8800 "type" : "boolean",
8801 "typetext" : "<boolean>"
44660702
DM
8802 },
8803 "node" : {
8804 "description" : "The cluster node name.",
8805 "format" : "pve-node",
013dc89f
DM
8806 "type" : "string",
8807 "typetext" : "<string>"
44660702 8808 },
56122987 8809 "policy_in" : {
44660702 8810 "description" : "Input policy.",
56122987
DM
8811 "enum" : [
8812 "ACCEPT",
8813 "REJECT",
8814 "DROP"
7aacca6f 8815 ],
56122987 8816 "optional" : 1,
7aacca6f 8817 "type" : "string"
56122987 8818 },
44660702
DM
8819 "policy_out" : {
8820 "description" : "Output policy.",
8821 "enum" : [
8822 "ACCEPT",
8823 "REJECT",
8824 "DROP"
8825 ],
56122987 8826 "optional" : 1,
44660702 8827 "type" : "string"
56122987 8828 },
44660702
DM
8829 "radv" : {
8830 "description" : "Allow sending Router Advertisement.",
56122987 8831 "optional" : 1,
013dc89f
DM
8832 "type" : "boolean",
8833 "typetext" : "<boolean>"
7aacca6f
DM
8834 },
8835 "vmid" : {
8836 "description" : "The (unique) ID of the VM.",
44660702 8837 "format" : "pve-vmid",
7aacca6f 8838 "minimum" : 1,
4bd7df8b 8839 "type" : "integer",
013dc89f 8840 "typetext" : "<integer> (1 - N)"
56122987
DM
8841 }
8842 }
8843 },
56122987
DM
8844 "permissions" : {
8845 "check" : [
8846 "perm",
8847 "/vms/{vmid}",
8848 [
44660702 8849 "VM.Config.Network"
56122987
DM
8850 ]
8851 ]
7aacca6f 8852 },
44660702 8853 "protected" : 1,
7aacca6f 8854 "proxyto" : "node",
44660702
DM
8855 "returns" : {
8856 "type" : "null"
8857 }
56122987
DM
8858 }
8859 },
44660702 8860 "leaf" : 1,
7aacca6f 8861 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 8862 "text" : "options"
56122987
DM
8863 },
8864 {
56122987
DM
8865 "info" : {
8866 "GET" : {
e9cd3bd4 8867 "allowtoken" : 1,
44660702
DM
8868 "description" : "Read firewall log",
8869 "method" : "GET",
8870 "name" : "log",
8871 "parameters" : {
8872 "additionalProperties" : 0,
8873 "properties" : {
8874 "limit" : {
8875 "minimum" : 0,
8876 "optional" : 1,
4bd7df8b 8877 "type" : "integer",
013dc89f 8878 "typetext" : "<integer> (0 - N)"
56122987 8879 },
44660702
DM
8880 "node" : {
8881 "description" : "The cluster node name.",
8882 "format" : "pve-node",
013dc89f
DM
8883 "type" : "string",
8884 "typetext" : "<string>"
44660702
DM
8885 },
8886 "start" : {
8887 "minimum" : 0,
8888 "optional" : 1,
4bd7df8b 8889 "type" : "integer",
013dc89f 8890 "typetext" : "<integer> (0 - N)"
44660702
DM
8891 },
8892 "vmid" : {
8893 "description" : "The (unique) ID of the VM.",
8894 "format" : "pve-vmid",
8895 "minimum" : 1,
4bd7df8b 8896 "type" : "integer",
013dc89f 8897 "typetext" : "<integer> (1 - N)"
44660702
DM
8898 }
8899 }
7aacca6f 8900 },
7aacca6f
DM
8901 "permissions" : {
8902 "check" : [
8903 "perm",
8904 "/vms/{vmid}",
8905 [
8906 "VM.Console"
8907 ]
8908 ]
56122987 8909 },
7aacca6f 8910 "protected" : 1,
44660702
DM
8911 "proxyto" : "node",
8912 "returns" : {
8913 "items" : {
8914 "properties" : {
8915 "n" : {
8916 "description" : "Line number",
8917 "type" : "integer"
8918 },
8919 "t" : {
8920 "description" : "Line text",
8921 "type" : "string"
8922 }
56122987 8923 },
44660702 8924 "type" : "object"
7aacca6f 8925 },
44660702 8926 "type" : "array"
7aacca6f
DM
8927 }
8928 }
8929 },
44660702 8930 "leaf" : 1,
7aacca6f 8931 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 8932 "text" : "log"
7aacca6f
DM
8933 },
8934 {
7aacca6f
DM
8935 "info" : {
8936 "GET" : {
e9cd3bd4 8937 "allowtoken" : 1,
7aacca6f 8938 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
8939 "method" : "GET",
8940 "name" : "refs",
56122987 8941 "parameters" : {
44660702 8942 "additionalProperties" : 0,
56122987
DM
8943 "properties" : {
8944 "node" : {
7aacca6f 8945 "description" : "The cluster node name.",
44660702 8946 "format" : "pve-node",
013dc89f
DM
8947 "type" : "string",
8948 "typetext" : "<string>"
56122987
DM
8949 },
8950 "type" : {
56122987
DM
8951 "description" : "Only list references of specified type.",
8952 "enum" : [
8953 "alias",
8954 "ipset"
7aacca6f 8955 ],
44660702
DM
8956 "optional" : 1,
8957 "type" : "string"
8958 },
8959 "vmid" : {
8960 "description" : "The (unique) ID of the VM.",
8961 "format" : "pve-vmid",
8962 "minimum" : 1,
4bd7df8b 8963 "type" : "integer",
013dc89f 8964 "typetext" : "<integer> (1 - N)"
56122987 8965 }
44660702
DM
8966 }
8967 },
8968 "permissions" : {
8969 "check" : [
8970 "perm",
8971 "/vms/{vmid}",
8972 [
8973 "VM.Audit"
8974 ]
8975 ]
56122987
DM
8976 },
8977 "returns" : {
56122987
DM
8978 "items" : {
8979 "properties" : {
44660702
DM
8980 "comment" : {
8981 "optional" : 1,
56122987
DM
8982 "type" : "string"
8983 },
8984 "name" : {
8985 "type" : "string"
8986 },
44660702
DM
8987 "type" : {
8988 "enum" : [
8989 "alias",
8990 "ipset"
8991 ],
7aacca6f 8992 "type" : "string"
56122987
DM
8993 }
8994 },
8995 "type" : "object"
7aacca6f
DM
8996 },
8997 "type" : "array"
8998 }
56122987 8999 }
44660702
DM
9000 },
9001 "leaf" : 1,
9002 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
9003 "text" : "refs"
56122987
DM
9004 }
9005 ],
56122987
DM
9006 "info" : {
9007 "GET" : {
e9cd3bd4 9008 "allowtoken" : 1,
44660702 9009 "description" : "Directory index.",
56122987 9010 "method" : "GET",
44660702 9011 "name" : "index",
56122987 9012 "parameters" : {
44660702 9013 "additionalProperties" : 0,
56122987
DM
9014 "properties" : {
9015 "node" : {
9016 "description" : "The cluster node name.",
44660702 9017 "format" : "pve-node",
013dc89f
DM
9018 "type" : "string",
9019 "typetext" : "<string>"
56122987
DM
9020 },
9021 "vmid" : {
44660702 9022 "description" : "The (unique) ID of the VM.",
56122987
DM
9023 "format" : "pve-vmid",
9024 "minimum" : 1,
4bd7df8b 9025 "type" : "integer",
013dc89f 9026 "typetext" : "<integer> (1 - N)"
56122987 9027 }
44660702 9028 }
56122987 9029 },
56122987 9030 "permissions" : {
27a7acb2
DM
9031 "user" : "all"
9032 },
9033 "returns" : {
9034 "items" : {
9035 "properties" : {},
9036 "type" : "object"
9037 },
9038 "links" : [
9039 {
9040 "href" : "{name}",
9041 "rel" : "child"
9042 }
9043 ],
9044 "type" : "array"
9045 }
9046 }
9047 },
9048 "leaf" : 0,
9049 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
9050 "text" : "firewall"
9051 },
9052 {
9053 "children" : [
9054 {
9055 "info" : {
9056 "POST" : {
e9cd3bd4 9057 "allowtoken" : 1,
27a7acb2
DM
9058 "description" : "Execute fsfreeze-freeze.",
9059 "method" : "POST",
9060 "name" : "fsfreeze-freeze",
9061 "parameters" : {
9062 "additionalProperties" : 0,
9063 "properties" : {
9064 "node" : {
9065 "description" : "The cluster node name.",
9066 "format" : "pve-node",
9067 "type" : "string",
9068 "typetext" : "<string>"
9069 },
9070 "vmid" : {
9071 "description" : "The (unique) ID of the VM.",
9072 "format" : "pve-vmid",
9073 "minimum" : 1,
9074 "type" : "integer",
9075 "typetext" : "<integer> (1 - N)"
9076 }
9077 }
9078 },
9079 "permissions" : {
9080 "check" : [
9081 "perm",
9082 "/vms/{vmid}",
9083 [
9084 "VM.Monitor"
9085 ]
9086 ]
9087 },
9088 "protected" : 1,
9089 "proxyto" : "node",
9090 "returns" : {
9091 "description" : "Returns an object with a single `result` property.",
9092 "type" : "object"
9093 }
9094 }
9095 },
9096 "leaf" : 1,
9097 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
9098 "text" : "fsfreeze-freeze"
9099 },
9100 {
9101 "info" : {
9102 "POST" : {
e9cd3bd4 9103 "allowtoken" : 1,
27a7acb2
DM
9104 "description" : "Execute fsfreeze-status.",
9105 "method" : "POST",
9106 "name" : "fsfreeze-status",
9107 "parameters" : {
9108 "additionalProperties" : 0,
9109 "properties" : {
9110 "node" : {
9111 "description" : "The cluster node name.",
9112 "format" : "pve-node",
9113 "type" : "string",
9114 "typetext" : "<string>"
9115 },
9116 "vmid" : {
9117 "description" : "The (unique) ID of the VM.",
9118 "format" : "pve-vmid",
9119 "minimum" : 1,
9120 "type" : "integer",
9121 "typetext" : "<integer> (1 - N)"
9122 }
9123 }
9124 },
9125 "permissions" : {
9126 "check" : [
9127 "perm",
9128 "/vms/{vmid}",
9129 [
9130 "VM.Monitor"
9131 ]
9132 ]
9133 },
9134 "protected" : 1,
9135 "proxyto" : "node",
9136 "returns" : {
9137 "description" : "Returns an object with a single `result` property.",
9138 "type" : "object"
9139 }
9140 }
9141 },
9142 "leaf" : 1,
9143 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
9144 "text" : "fsfreeze-status"
9145 },
9146 {
9147 "info" : {
9148 "POST" : {
e9cd3bd4 9149 "allowtoken" : 1,
27a7acb2
DM
9150 "description" : "Execute fsfreeze-thaw.",
9151 "method" : "POST",
9152 "name" : "fsfreeze-thaw",
9153 "parameters" : {
9154 "additionalProperties" : 0,
9155 "properties" : {
9156 "node" : {
9157 "description" : "The cluster node name.",
9158 "format" : "pve-node",
9159 "type" : "string",
9160 "typetext" : "<string>"
9161 },
9162 "vmid" : {
9163 "description" : "The (unique) ID of the VM.",
9164 "format" : "pve-vmid",
9165 "minimum" : 1,
9166 "type" : "integer",
9167 "typetext" : "<integer> (1 - N)"
9168 }
9169 }
9170 },
9171 "permissions" : {
9172 "check" : [
9173 "perm",
9174 "/vms/{vmid}",
9175 [
9176 "VM.Monitor"
9177 ]
9178 ]
9179 },
9180 "protected" : 1,
9181 "proxyto" : "node",
9182 "returns" : {
9183 "description" : "Returns an object with a single `result` property.",
9184 "type" : "object"
9185 }
9186 }
9187 },
9188 "leaf" : 1,
9189 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
9190 "text" : "fsfreeze-thaw"
9191 },
9192 {
9193 "info" : {
9194 "POST" : {
e9cd3bd4 9195 "allowtoken" : 1,
27a7acb2
DM
9196 "description" : "Execute fstrim.",
9197 "method" : "POST",
9198 "name" : "fstrim",
9199 "parameters" : {
9200 "additionalProperties" : 0,
9201 "properties" : {
9202 "node" : {
9203 "description" : "The cluster node name.",
9204 "format" : "pve-node",
9205 "type" : "string",
9206 "typetext" : "<string>"
9207 },
9208 "vmid" : {
9209 "description" : "The (unique) ID of the VM.",
9210 "format" : "pve-vmid",
9211 "minimum" : 1,
9212 "type" : "integer",
9213 "typetext" : "<integer> (1 - N)"
9214 }
9215 }
9216 },
9217 "permissions" : {
9218 "check" : [
9219 "perm",
9220 "/vms/{vmid}",
9221 [
9222 "VM.Monitor"
9223 ]
9224 ]
9225 },
9226 "protected" : 1,
9227 "proxyto" : "node",
9228 "returns" : {
9229 "description" : "Returns an object with a single `result` property.",
9230 "type" : "object"
9231 }
9232 }
9233 },
9234 "leaf" : 1,
9235 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
9236 "text" : "fstrim"
9237 },
9238 {
9239 "info" : {
9240 "GET" : {
e9cd3bd4 9241 "allowtoken" : 1,
27a7acb2
DM
9242 "description" : "Execute get-fsinfo.",
9243 "method" : "GET",
9244 "name" : "get-fsinfo",
9245 "parameters" : {
9246 "additionalProperties" : 0,
9247 "properties" : {
9248 "node" : {
9249 "description" : "The cluster node name.",
9250 "format" : "pve-node",
9251 "type" : "string",
9252 "typetext" : "<string>"
9253 },
9254 "vmid" : {
9255 "description" : "The (unique) ID of the VM.",
9256 "format" : "pve-vmid",
9257 "minimum" : 1,
9258 "type" : "integer",
9259 "typetext" : "<integer> (1 - N)"
9260 }
9261 }
9262 },
9263 "permissions" : {
9264 "check" : [
9265 "perm",
9266 "/vms/{vmid}",
9267 [
9268 "VM.Monitor"
9269 ]
9270 ]
9271 },
9272 "protected" : 1,
9273 "proxyto" : "node",
9274 "returns" : {
9275 "description" : "Returns an object with a single `result` property.",
9276 "type" : "object"
9277 }
9278 }
9279 },
9280 "leaf" : 1,
9281 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
9282 "text" : "get-fsinfo"
9283 },
9284 {
9285 "info" : {
9286 "GET" : {
e9cd3bd4 9287 "allowtoken" : 1,
27a7acb2
DM
9288 "description" : "Execute get-host-name.",
9289 "method" : "GET",
9290 "name" : "get-host-name",
9291 "parameters" : {
9292 "additionalProperties" : 0,
9293 "properties" : {
9294 "node" : {
9295 "description" : "The cluster node name.",
9296 "format" : "pve-node",
9297 "type" : "string",
9298 "typetext" : "<string>"
9299 },
9300 "vmid" : {
9301 "description" : "The (unique) ID of the VM.",
9302 "format" : "pve-vmid",
9303 "minimum" : 1,
9304 "type" : "integer",
9305 "typetext" : "<integer> (1 - N)"
9306 }
9307 }
9308 },
9309 "permissions" : {
9310 "check" : [
9311 "perm",
9312 "/vms/{vmid}",
9313 [
9314 "VM.Monitor"
9315 ]
9316 ]
9317 },
9318 "protected" : 1,
9319 "proxyto" : "node",
9320 "returns" : {
9321 "description" : "Returns an object with a single `result` property.",
9322 "type" : "object"
9323 }
9324 }
9325 },
9326 "leaf" : 1,
9327 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
9328 "text" : "get-host-name"
9329 },
9330 {
9331 "info" : {
9332 "GET" : {
e9cd3bd4 9333 "allowtoken" : 1,
27a7acb2
DM
9334 "description" : "Execute get-memory-block-info.",
9335 "method" : "GET",
9336 "name" : "get-memory-block-info",
9337 "parameters" : {
9338 "additionalProperties" : 0,
9339 "properties" : {
9340 "node" : {
9341 "description" : "The cluster node name.",
9342 "format" : "pve-node",
9343 "type" : "string",
9344 "typetext" : "<string>"
9345 },
9346 "vmid" : {
9347 "description" : "The (unique) ID of the VM.",
9348 "format" : "pve-vmid",
9349 "minimum" : 1,
9350 "type" : "integer",
9351 "typetext" : "<integer> (1 - N)"
9352 }
9353 }
9354 },
9355 "permissions" : {
9356 "check" : [
9357 "perm",
9358 "/vms/{vmid}",
9359 [
9360 "VM.Monitor"
9361 ]
9362 ]
9363 },
9364 "protected" : 1,
9365 "proxyto" : "node",
9366 "returns" : {
9367 "description" : "Returns an object with a single `result` property.",
9368 "type" : "object"
9369 }
9370 }
9371 },
9372 "leaf" : 1,
9373 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
9374 "text" : "get-memory-block-info"
9375 },
9376 {
9377 "info" : {
9378 "GET" : {
e9cd3bd4 9379 "allowtoken" : 1,
27a7acb2
DM
9380 "description" : "Execute get-memory-blocks.",
9381 "method" : "GET",
9382 "name" : "get-memory-blocks",
9383 "parameters" : {
9384 "additionalProperties" : 0,
9385 "properties" : {
9386 "node" : {
9387 "description" : "The cluster node name.",
9388 "format" : "pve-node",
9389 "type" : "string",
9390 "typetext" : "<string>"
9391 },
9392 "vmid" : {
9393 "description" : "The (unique) ID of the VM.",
9394 "format" : "pve-vmid",
9395 "minimum" : 1,
9396 "type" : "integer",
9397 "typetext" : "<integer> (1 - N)"
9398 }
9399 }
9400 },
9401 "permissions" : {
9402 "check" : [
9403 "perm",
9404 "/vms/{vmid}",
9405 [
9406 "VM.Monitor"
9407 ]
9408 ]
9409 },
9410 "protected" : 1,
9411 "proxyto" : "node",
9412 "returns" : {
9413 "description" : "Returns an object with a single `result` property.",
9414 "type" : "object"
9415 }
9416 }
9417 },
9418 "leaf" : 1,
9419 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
9420 "text" : "get-memory-blocks"
9421 },
9422 {
9423 "info" : {
9424 "GET" : {
e9cd3bd4 9425 "allowtoken" : 1,
27a7acb2
DM
9426 "description" : "Execute get-osinfo.",
9427 "method" : "GET",
9428 "name" : "get-osinfo",
9429 "parameters" : {
9430 "additionalProperties" : 0,
9431 "properties" : {
9432 "node" : {
9433 "description" : "The cluster node name.",
9434 "format" : "pve-node",
9435 "type" : "string",
9436 "typetext" : "<string>"
9437 },
9438 "vmid" : {
9439 "description" : "The (unique) ID of the VM.",
9440 "format" : "pve-vmid",
9441 "minimum" : 1,
9442 "type" : "integer",
9443 "typetext" : "<integer> (1 - N)"
9444 }
9445 }
9446 },
9447 "permissions" : {
9448 "check" : [
9449 "perm",
9450 "/vms/{vmid}",
9451 [
9452 "VM.Monitor"
9453 ]
9454 ]
9455 },
9456 "protected" : 1,
9457 "proxyto" : "node",
9458 "returns" : {
9459 "description" : "Returns an object with a single `result` property.",
9460 "type" : "object"
9461 }
9462 }
9463 },
9464 "leaf" : 1,
9465 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
9466 "text" : "get-osinfo"
9467 },
9468 {
9469 "info" : {
9470 "GET" : {
e9cd3bd4 9471 "allowtoken" : 1,
27a7acb2
DM
9472 "description" : "Execute get-time.",
9473 "method" : "GET",
9474 "name" : "get-time",
9475 "parameters" : {
9476 "additionalProperties" : 0,
9477 "properties" : {
9478 "node" : {
9479 "description" : "The cluster node name.",
9480 "format" : "pve-node",
9481 "type" : "string",
9482 "typetext" : "<string>"
9483 },
9484 "vmid" : {
9485 "description" : "The (unique) ID of the VM.",
9486 "format" : "pve-vmid",
9487 "minimum" : 1,
9488 "type" : "integer",
9489 "typetext" : "<integer> (1 - N)"
9490 }
9491 }
9492 },
9493 "permissions" : {
9494 "check" : [
9495 "perm",
9496 "/vms/{vmid}",
9497 [
9498 "VM.Monitor"
9499 ]
9500 ]
9501 },
9502 "protected" : 1,
9503 "proxyto" : "node",
9504 "returns" : {
9505 "description" : "Returns an object with a single `result` property.",
9506 "type" : "object"
9507 }
9508 }
9509 },
9510 "leaf" : 1,
9511 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
9512 "text" : "get-time"
9513 },
9514 {
9515 "info" : {
9516 "GET" : {
e9cd3bd4 9517 "allowtoken" : 1,
27a7acb2
DM
9518 "description" : "Execute get-timezone.",
9519 "method" : "GET",
9520 "name" : "get-timezone",
9521 "parameters" : {
9522 "additionalProperties" : 0,
9523 "properties" : {
9524 "node" : {
9525 "description" : "The cluster node name.",
9526 "format" : "pve-node",
9527 "type" : "string",
9528 "typetext" : "<string>"
9529 },
9530 "vmid" : {
9531 "description" : "The (unique) ID of the VM.",
9532 "format" : "pve-vmid",
9533 "minimum" : 1,
9534 "type" : "integer",
9535 "typetext" : "<integer> (1 - N)"
9536 }
9537 }
9538 },
9539 "permissions" : {
9540 "check" : [
9541 "perm",
9542 "/vms/{vmid}",
9543 [
9544 "VM.Monitor"
9545 ]
9546 ]
9547 },
9548 "protected" : 1,
9549 "proxyto" : "node",
9550 "returns" : {
9551 "description" : "Returns an object with a single `result` property.",
9552 "type" : "object"
9553 }
9554 }
9555 },
9556 "leaf" : 1,
9557 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
9558 "text" : "get-timezone"
9559 },
9560 {
9561 "info" : {
9562 "GET" : {
e9cd3bd4 9563 "allowtoken" : 1,
27a7acb2
DM
9564 "description" : "Execute get-users.",
9565 "method" : "GET",
9566 "name" : "get-users",
9567 "parameters" : {
9568 "additionalProperties" : 0,
9569 "properties" : {
9570 "node" : {
9571 "description" : "The cluster node name.",
9572 "format" : "pve-node",
9573 "type" : "string",
9574 "typetext" : "<string>"
9575 },
9576 "vmid" : {
9577 "description" : "The (unique) ID of the VM.",
9578 "format" : "pve-vmid",
9579 "minimum" : 1,
9580 "type" : "integer",
9581 "typetext" : "<integer> (1 - N)"
9582 }
9583 }
9584 },
9585 "permissions" : {
9586 "check" : [
9587 "perm",
9588 "/vms/{vmid}",
9589 [
9590 "VM.Monitor"
9591 ]
9592 ]
9593 },
9594 "protected" : 1,
9595 "proxyto" : "node",
9596 "returns" : {
9597 "description" : "Returns an object with a single `result` property.",
9598 "type" : "object"
9599 }
9600 }
9601 },
9602 "leaf" : 1,
9603 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
9604 "text" : "get-users"
9605 },
9606 {
9607 "info" : {
9608 "GET" : {
e9cd3bd4 9609 "allowtoken" : 1,
27a7acb2
DM
9610 "description" : "Execute get-vcpus.",
9611 "method" : "GET",
9612 "name" : "get-vcpus",
9613 "parameters" : {
9614 "additionalProperties" : 0,
9615 "properties" : {
9616 "node" : {
9617 "description" : "The cluster node name.",
9618 "format" : "pve-node",
9619 "type" : "string",
9620 "typetext" : "<string>"
9621 },
9622 "vmid" : {
9623 "description" : "The (unique) ID of the VM.",
9624 "format" : "pve-vmid",
9625 "minimum" : 1,
9626 "type" : "integer",
9627 "typetext" : "<integer> (1 - N)"
9628 }
9629 }
9630 },
9631 "permissions" : {
9632 "check" : [
9633 "perm",
9634 "/vms/{vmid}",
9635 [
9636 "VM.Monitor"
9637 ]
9638 ]
9639 },
9640 "protected" : 1,
9641 "proxyto" : "node",
9642 "returns" : {
9643 "description" : "Returns an object with a single `result` property.",
9644 "type" : "object"
9645 }
9646 }
9647 },
9648 "leaf" : 1,
9649 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
9650 "text" : "get-vcpus"
9651 },
9652 {
9653 "info" : {
9654 "GET" : {
e9cd3bd4 9655 "allowtoken" : 1,
27a7acb2
DM
9656 "description" : "Execute info.",
9657 "method" : "GET",
9658 "name" : "info",
9659 "parameters" : {
9660 "additionalProperties" : 0,
9661 "properties" : {
9662 "node" : {
9663 "description" : "The cluster node name.",
9664 "format" : "pve-node",
9665 "type" : "string",
9666 "typetext" : "<string>"
9667 },
9668 "vmid" : {
9669 "description" : "The (unique) ID of the VM.",
9670 "format" : "pve-vmid",
9671 "minimum" : 1,
9672 "type" : "integer",
9673 "typetext" : "<integer> (1 - N)"
9674 }
9675 }
9676 },
9677 "permissions" : {
9678 "check" : [
9679 "perm",
9680 "/vms/{vmid}",
9681 [
9682 "VM.Monitor"
9683 ]
9684 ]
9685 },
9686 "protected" : 1,
9687 "proxyto" : "node",
9688 "returns" : {
9689 "description" : "Returns an object with a single `result` property.",
9690 "type" : "object"
9691 }
9692 }
9693 },
9694 "leaf" : 1,
9695 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
9696 "text" : "info"
9697 },
9698 {
9699 "info" : {
9700 "GET" : {
e9cd3bd4 9701 "allowtoken" : 1,
27a7acb2
DM
9702 "description" : "Execute network-get-interfaces.",
9703 "method" : "GET",
9704 "name" : "network-get-interfaces",
9705 "parameters" : {
9706 "additionalProperties" : 0,
9707 "properties" : {
9708 "node" : {
9709 "description" : "The cluster node name.",
9710 "format" : "pve-node",
9711 "type" : "string",
9712 "typetext" : "<string>"
9713 },
9714 "vmid" : {
9715 "description" : "The (unique) ID of the VM.",
9716 "format" : "pve-vmid",
9717 "minimum" : 1,
9718 "type" : "integer",
9719 "typetext" : "<integer> (1 - N)"
9720 }
9721 }
9722 },
9723 "permissions" : {
9724 "check" : [
9725 "perm",
9726 "/vms/{vmid}",
9727 [
9728 "VM.Monitor"
9729 ]
9730 ]
9731 },
9732 "protected" : 1,
9733 "proxyto" : "node",
9734 "returns" : {
9735 "description" : "Returns an object with a single `result` property.",
9736 "type" : "object"
9737 }
9738 }
9739 },
9740 "leaf" : 1,
9741 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
9742 "text" : "network-get-interfaces"
9743 },
9744 {
9745 "info" : {
9746 "POST" : {
e9cd3bd4 9747 "allowtoken" : 1,
27a7acb2
DM
9748 "description" : "Execute ping.",
9749 "method" : "POST",
9750 "name" : "ping",
9751 "parameters" : {
9752 "additionalProperties" : 0,
9753 "properties" : {
9754 "node" : {
9755 "description" : "The cluster node name.",
9756 "format" : "pve-node",
9757 "type" : "string",
9758 "typetext" : "<string>"
9759 },
9760 "vmid" : {
9761 "description" : "The (unique) ID of the VM.",
9762 "format" : "pve-vmid",
9763 "minimum" : 1,
9764 "type" : "integer",
9765 "typetext" : "<integer> (1 - N)"
9766 }
9767 }
9768 },
9769 "permissions" : {
9770 "check" : [
9771 "perm",
9772 "/vms/{vmid}",
9773 [
9774 "VM.Monitor"
9775 ]
9776 ]
9777 },
9778 "protected" : 1,
9779 "proxyto" : "node",
9780 "returns" : {
9781 "description" : "Returns an object with a single `result` property.",
9782 "type" : "object"
9783 }
9784 }
9785 },
9786 "leaf" : 1,
9787 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
9788 "text" : "ping"
9789 },
9790 {
9791 "info" : {
9792 "POST" : {
e9cd3bd4 9793 "allowtoken" : 1,
27a7acb2
DM
9794 "description" : "Execute shutdown.",
9795 "method" : "POST",
9796 "name" : "shutdown",
9797 "parameters" : {
9798 "additionalProperties" : 0,
9799 "properties" : {
9800 "node" : {
9801 "description" : "The cluster node name.",
9802 "format" : "pve-node",
9803 "type" : "string",
9804 "typetext" : "<string>"
9805 },
9806 "vmid" : {
9807 "description" : "The (unique) ID of the VM.",
9808 "format" : "pve-vmid",
9809 "minimum" : 1,
9810 "type" : "integer",
9811 "typetext" : "<integer> (1 - N)"
9812 }
9813 }
9814 },
9815 "permissions" : {
9816 "check" : [
9817 "perm",
9818 "/vms/{vmid}",
9819 [
9820 "VM.Monitor"
9821 ]
9822 ]
9823 },
9824 "protected" : 1,
9825 "proxyto" : "node",
9826 "returns" : {
9827 "description" : "Returns an object with a single `result` property.",
9828 "type" : "object"
9829 }
9830 }
9831 },
9832 "leaf" : 1,
9833 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
9834 "text" : "shutdown"
9835 },
9836 {
9837 "info" : {
9838 "POST" : {
e9cd3bd4 9839 "allowtoken" : 1,
27a7acb2
DM
9840 "description" : "Execute suspend-disk.",
9841 "method" : "POST",
9842 "name" : "suspend-disk",
9843 "parameters" : {
9844 "additionalProperties" : 0,
9845 "properties" : {
9846 "node" : {
9847 "description" : "The cluster node name.",
9848 "format" : "pve-node",
9849 "type" : "string",
9850 "typetext" : "<string>"
9851 },
9852 "vmid" : {
9853 "description" : "The (unique) ID of the VM.",
9854 "format" : "pve-vmid",
9855 "minimum" : 1,
9856 "type" : "integer",
9857 "typetext" : "<integer> (1 - N)"
9858 }
9859 }
9860 },
9861 "permissions" : {
9862 "check" : [
9863 "perm",
9864 "/vms/{vmid}",
9865 [
9866 "VM.Monitor"
9867 ]
9868 ]
9869 },
9870 "protected" : 1,
9871 "proxyto" : "node",
9872 "returns" : {
9873 "description" : "Returns an object with a single `result` property.",
9874 "type" : "object"
9875 }
9876 }
9877 },
9878 "leaf" : 1,
9879 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
9880 "text" : "suspend-disk"
9881 },
9882 {
9883 "info" : {
9884 "POST" : {
e9cd3bd4 9885 "allowtoken" : 1,
27a7acb2
DM
9886 "description" : "Execute suspend-hybrid.",
9887 "method" : "POST",
9888 "name" : "suspend-hybrid",
9889 "parameters" : {
9890 "additionalProperties" : 0,
9891 "properties" : {
9892 "node" : {
9893 "description" : "The cluster node name.",
9894 "format" : "pve-node",
9895 "type" : "string",
9896 "typetext" : "<string>"
9897 },
9898 "vmid" : {
9899 "description" : "The (unique) ID of the VM.",
9900 "format" : "pve-vmid",
9901 "minimum" : 1,
9902 "type" : "integer",
9903 "typetext" : "<integer> (1 - N)"
9904 }
9905 }
9906 },
9907 "permissions" : {
9908 "check" : [
9909 "perm",
9910 "/vms/{vmid}",
9911 [
9912 "VM.Monitor"
9913 ]
9914 ]
9915 },
9916 "protected" : 1,
9917 "proxyto" : "node",
9918 "returns" : {
9919 "description" : "Returns an object with a single `result` property.",
9920 "type" : "object"
9921 }
9922 }
9923 },
9924 "leaf" : 1,
9925 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
9926 "text" : "suspend-hybrid"
9927 },
9928 {
9929 "info" : {
9930 "POST" : {
e9cd3bd4 9931 "allowtoken" : 1,
27a7acb2
DM
9932 "description" : "Execute suspend-ram.",
9933 "method" : "POST",
9934 "name" : "suspend-ram",
9935 "parameters" : {
9936 "additionalProperties" : 0,
9937 "properties" : {
9938 "node" : {
9939 "description" : "The cluster node name.",
9940 "format" : "pve-node",
9941 "type" : "string",
9942 "typetext" : "<string>"
9943 },
9944 "vmid" : {
9945 "description" : "The (unique) ID of the VM.",
9946 "format" : "pve-vmid",
9947 "minimum" : 1,
9948 "type" : "integer",
9949 "typetext" : "<integer> (1 - N)"
9950 }
9951 }
9952 },
9953 "permissions" : {
9954 "check" : [
9955 "perm",
9956 "/vms/{vmid}",
9957 [
9958 "VM.Monitor"
9959 ]
9960 ]
9961 },
9962 "protected" : 1,
9963 "proxyto" : "node",
9964 "returns" : {
9965 "description" : "Returns an object with a single `result` property.",
9966 "type" : "object"
9967 }
9968 }
9969 },
9970 "leaf" : 1,
9971 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
9972 "text" : "suspend-ram"
4d47f125
TL
9973 },
9974 {
9975 "info" : {
9976 "POST" : {
e9cd3bd4 9977 "allowtoken" : 1,
4d47f125
TL
9978 "description" : "Sets the password for the given user to the given password",
9979 "method" : "POST",
9980 "name" : "set-user-password",
9981 "parameters" : {
9982 "additionalProperties" : 0,
9983 "properties" : {
9984 "crypted" : {
9985 "default" : 0,
9986 "description" : "set to 1 if the password has already been passed through crypt()",
9987 "optional" : 1,
9988 "type" : "boolean",
9989 "typetext" : "<boolean>"
9990 },
9991 "node" : {
9992 "description" : "The cluster node name.",
9993 "format" : "pve-node",
9994 "type" : "string",
9995 "typetext" : "<string>"
9996 },
9997 "password" : {
9998 "description" : "The new password.",
1c532546 9999 "maxLength" : 1024,
4d47f125
TL
10000 "minLength" : 5,
10001 "type" : "string",
10002 "typetext" : "<string>"
10003 },
10004 "username" : {
10005 "description" : "The user to set the password for.",
10006 "type" : "string",
10007 "typetext" : "<string>"
10008 },
10009 "vmid" : {
10010 "description" : "The (unique) ID of the VM.",
10011 "format" : "pve-vmid",
10012 "minimum" : 1,
10013 "type" : "integer",
10014 "typetext" : "<integer> (1 - N)"
10015 }
10016 }
27a7acb2 10017 },
4d47f125
TL
10018 "permissions" : {
10019 "check" : [
10020 "perm",
10021 "/vms/{vmid}",
10022 [
10023 "VM.Monitor"
10024 ]
10025 ]
10026 },
10027 "protected" : 1,
10028 "proxyto" : "node",
10029 "returns" : {
10030 "description" : "Returns an object with a single `result` property.",
10031 "type" : "object"
27a7acb2
DM
10032 }
10033 }
10034 },
4d47f125
TL
10035 "leaf" : 1,
10036 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
10037 "text" : "set-user-password"
27a7acb2 10038 },
4d47f125
TL
10039 {
10040 "info" : {
10041 "POST" : {
e9cd3bd4 10042 "allowtoken" : 1,
4d47f125
TL
10043 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
10044 "method" : "POST",
10045 "name" : "exec",
10046 "parameters" : {
10047 "additionalProperties" : 0,
10048 "properties" : {
10049 "command" : {
10050 "description" : "The command as a list of program + arguments",
10051 "format" : "string-alist",
c5aa7e14
TL
10052 "optional" : 1,
10053 "type" : "string",
10054 "typetext" : "<string>"
10055 },
10056 "input-data" : {
10057 "description" : "Data to pass as 'input-data' to the guest. Usually treated as STDIN to 'command'.",
10058 "maxLength" : 65536,
10059 "optional" : 1,
4d47f125
TL
10060 "type" : "string",
10061 "typetext" : "<string>"
10062 },
10063 "node" : {
10064 "description" : "The cluster node name.",
10065 "format" : "pve-node",
10066 "type" : "string",
10067 "typetext" : "<string>"
10068 },
10069 "vmid" : {
10070 "description" : "The (unique) ID of the VM.",
10071 "format" : "pve-vmid",
10072 "minimum" : 1,
10073 "type" : "integer",
10074 "typetext" : "<integer> (1 - N)"
10075 }
10076 }
27a7acb2 10077 },
4d47f125
TL
10078 "permissions" : {
10079 "check" : [
10080 "perm",
10081 "/vms/{vmid}",
10082 [
10083 "VM.Monitor"
10084 ]
10085 ]
27a7acb2 10086 },
4d47f125
TL
10087 "protected" : 1,
10088 "proxyto" : "node",
10089 "returns" : {
10090 "properties" : {
10091 "pid" : {
10092 "description" : "The PID of the process started by the guest-agent.",
10093 "type" : "integer"
10094 }
10095 },
10096 "type" : "object"
27a7acb2
DM
10097 }
10098 }
10099 },
4d47f125
TL
10100 "leaf" : 1,
10101 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
10102 "text" : "exec"
10103 },
10104 {
10105 "info" : {
10106 "GET" : {
e9cd3bd4 10107 "allowtoken" : 1,
4d47f125
TL
10108 "description" : "Gets the status of the given pid started by the guest-agent",
10109 "method" : "GET",
10110 "name" : "exec-status",
10111 "parameters" : {
10112 "additionalProperties" : 0,
10113 "properties" : {
10114 "node" : {
10115 "description" : "The cluster node name.",
10116 "format" : "pve-node",
10117 "type" : "string",
10118 "typetext" : "<string>"
10119 },
10120 "pid" : {
10121 "description" : "The PID to query",
10122 "type" : "integer",
10123 "typetext" : "<integer>"
10124 },
10125 "vmid" : {
10126 "description" : "The (unique) ID of the VM.",
10127 "format" : "pve-vmid",
10128 "minimum" : 1,
10129 "type" : "integer",
10130 "typetext" : "<integer> (1 - N)"
10131 }
10132 }
56122987 10133 },
4d47f125
TL
10134 "permissions" : {
10135 "check" : [
10136 "perm",
10137 "/vms/{vmid}",
10138 [
10139 "VM.Monitor"
10140 ]
10141 ]
56122987 10142 },
4d47f125
TL
10143 "protected" : 1,
10144 "proxyto" : "node",
10145 "returns" : {
10146 "properties" : {
10147 "err-data" : {
10148 "description" : "stderr of the process",
10149 "optional" : 1,
10150 "type" : "string"
10151 },
10152 "err-truncated" : {
10153 "description" : "true if stderr was not fully captured",
10154 "optional" : 1,
10155 "type" : "boolean"
10156 },
10157 "exitcode" : {
10158 "description" : "process exit code if it was normally terminated.",
10159 "optional" : 1,
10160 "type" : "integer"
10161 },
10162 "exited" : {
10163 "description" : "Tells if the given command has exited yet.",
10164 "type" : "boolean"
10165 },
10166 "out-data" : {
10167 "description" : "stdout of the process",
10168 "optional" : 1,
10169 "type" : "string"
10170 },
10171 "out-truncated" : {
10172 "description" : "true if stdout was not fully captured",
10173 "optional" : 1,
10174 "type" : "boolean"
10175 },
10176 "signal" : {
10177 "description" : "signal number or exception code if the process was abnormally terminated.",
10178 "optional" : 1,
10179 "type" : "integer"
10180 }
10181 },
10182 "type" : "object"
56122987
DM
10183 }
10184 }
10185 },
4d47f125
TL
10186 "leaf" : 1,
10187 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
10188 "text" : "exec-status"
10189 },
10190 {
10191 "info" : {
10192 "GET" : {
e9cd3bd4 10193 "allowtoken" : 1,
4d47f125
TL
10194 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
10195 "method" : "GET",
10196 "name" : "file-read",
10197 "parameters" : {
10198 "additionalProperties" : 0,
10199 "properties" : {
10200 "file" : {
10201 "description" : "The path to the file",
10202 "type" : "string",
10203 "typetext" : "<string>"
10204 },
10205 "node" : {
10206 "description" : "The cluster node name.",
10207 "format" : "pve-node",
10208 "type" : "string",
10209 "typetext" : "<string>"
10210 },
10211 "vmid" : {
10212 "description" : "The (unique) ID of the VM.",
10213 "format" : "pve-vmid",
10214 "minimum" : 1,
10215 "type" : "integer",
10216 "typetext" : "<integer> (1 - N)"
10217 }
10218 }
10219 },
10220 "permissions" : {
10221 "check" : [
10222 "perm",
10223 "/vms/{vmid}",
10224 [
10225 "VM.Monitor"
10226 ]
10227 ]
10228 },
10229 "protected" : 1,
10230 "proxyto" : "node",
10231 "returns" : {
10232 "description" : "Returns an object with a `content` property.",
10233 "properties" : {
10234 "content" : {
10235 "description" : "The content of the file, maximum 16777216",
10236 "type" : "string"
10237 },
10238 "truncated" : {
10239 "description" : "If set to 1, the output is truncated and not complete",
10240 "optional" : 1,
10241 "type" : "boolean"
10242 }
10243 },
10244 "type" : "object"
10245 }
10246 }
56122987 10247 },
4d47f125
TL
10248 "leaf" : 1,
10249 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
10250 "text" : "file-read"
10251 },
10252 {
10253 "info" : {
10254 "POST" : {
e9cd3bd4 10255 "allowtoken" : 1,
4d47f125
TL
10256 "description" : "Writes the given file via guest agent.",
10257 "method" : "POST",
10258 "name" : "file-write",
10259 "parameters" : {
10260 "additionalProperties" : 0,
10261 "properties" : {
10262 "content" : {
10263 "description" : "The content to write into the file.",
10264 "maxLength" : 61440,
10265 "type" : "string",
10266 "typetext" : "<string>"
10267 },
10268 "file" : {
10269 "description" : "The path to the file.",
10270 "type" : "string",
10271 "typetext" : "<string>"
10272 },
10273 "node" : {
10274 "description" : "The cluster node name.",
10275 "format" : "pve-node",
10276 "type" : "string",
10277 "typetext" : "<string>"
10278 },
10279 "vmid" : {
10280 "description" : "The (unique) ID of the VM.",
10281 "format" : "pve-vmid",
10282 "minimum" : 1,
10283 "type" : "integer",
10284 "typetext" : "<integer> (1 - N)"
10285 }
10286 }
10287 },
10288 "permissions" : {
10289 "check" : [
10290 "perm",
10291 "/vms/{vmid}",
10292 [
10293 "VM.Monitor"
10294 ]
10295 ]
10296 },
10297 "protected" : 1,
10298 "proxyto" : "node",
10299 "returns" : {
10300 "type" : "null"
7aacca6f 10301 }
4d47f125
TL
10302 }
10303 },
10304 "leaf" : 1,
10305 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
10306 "text" : "file-write"
56122987 10307 }
4d47f125 10308 ],
7aacca6f 10309 "info" : {
56122987 10310 "GET" : {
e9cd3bd4 10311 "allowtoken" : 1,
4d47f125 10312 "description" : "Qemu Agent command index.",
44660702 10313 "method" : "GET",
4d47f125 10314 "name" : "index",
56122987 10315 "parameters" : {
4d47f125 10316 "additionalProperties" : 1,
56122987
DM
10317 "properties" : {
10318 "node" : {
44660702 10319 "description" : "The cluster node name.",
56122987 10320 "format" : "pve-node",
013dc89f
DM
10321 "type" : "string",
10322 "typetext" : "<string>"
56122987 10323 },
7aacca6f 10324 "vmid" : {
7aacca6f
DM
10325 "description" : "The (unique) ID of the VM.",
10326 "format" : "pve-vmid",
44660702 10327 "minimum" : 1,
4bd7df8b 10328 "type" : "integer",
013dc89f 10329 "typetext" : "<integer> (1 - N)"
56122987 10330 }
44660702 10331 }
56122987 10332 },
56122987 10333 "permissions" : {
4d47f125 10334 "user" : "all"
56122987 10335 },
4d47f125 10336 "proxyto" : "node",
7aacca6f 10337 "returns" : {
4d47f125 10338 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 10339 "items" : {
44660702
DM
10340 "properties" : {},
10341 "type" : "object"
10342 },
4d47f125
TL
10343 "links" : [
10344 {
10345 "href" : "{name}",
10346 "rel" : "child"
10347 }
10348 ],
44660702 10349 "type" : "array"
7aacca6f 10350 }
4d47f125
TL
10351 },
10352 "POST" : {
e9cd3bd4 10353 "allowtoken" : 1,
4d47f125
TL
10354 "description" : "Execute Qemu Guest Agent commands.",
10355 "method" : "POST",
10356 "name" : "agent",
44660702
DM
10357 "parameters" : {
10358 "additionalProperties" : 0,
10359 "properties" : {
4d47f125
TL
10360 "command" : {
10361 "description" : "The QGA command.",
10362 "enum" : [
10363 "fsfreeze-freeze",
10364 "fsfreeze-status",
10365 "fsfreeze-thaw",
10366 "fstrim",
10367 "get-fsinfo",
10368 "get-host-name",
10369 "get-memory-block-info",
10370 "get-memory-blocks",
10371 "get-osinfo",
10372 "get-time",
10373 "get-timezone",
10374 "get-users",
10375 "get-vcpus",
10376 "info",
10377 "network-get-interfaces",
10378 "ping",
10379 "shutdown",
10380 "suspend-disk",
10381 "suspend-hybrid",
10382 "suspend-ram"
10383 ],
10384 "type" : "string"
10385 },
10386 "node" : {
10387 "description" : "The cluster node name.",
10388 "format" : "pve-node",
10389 "type" : "string",
10390 "typetext" : "<string>"
10391 },
10392 "vmid" : {
10393 "description" : "The (unique) ID of the VM.",
10394 "format" : "pve-vmid",
10395 "minimum" : 1,
10396 "type" : "integer",
10397 "typetext" : "<integer> (1 - N)"
10398 }
10399 }
10400 },
10401 "permissions" : {
10402 "check" : [
10403 "perm",
10404 "/vms/{vmid}",
10405 [
10406 "VM.Monitor"
10407 ]
10408 ]
10409 },
10410 "protected" : 1,
10411 "proxyto" : "node",
10412 "returns" : {
10413 "description" : "Returns an object with a single `result` property.",
10414 "type" : "object"
10415 }
10416 }
10417 },
10418 "leaf" : 0,
10419 "path" : "/nodes/{node}/qemu/{vmid}/agent",
10420 "text" : "agent"
10421 },
10422 {
10423 "info" : {
10424 "GET" : {
e9cd3bd4 10425 "allowtoken" : 1,
4d47f125
TL
10426 "description" : "Read VM RRD statistics (returns PNG)",
10427 "method" : "GET",
10428 "name" : "rrd",
10429 "parameters" : {
10430 "additionalProperties" : 0,
10431 "properties" : {
10432 "cf" : {
10433 "description" : "The RRD consolidation function",
10434 "enum" : [
10435 "AVERAGE",
10436 "MAX"
10437 ],
44660702 10438 "optional" : 1,
4d47f125
TL
10439 "type" : "string"
10440 },
10441 "ds" : {
10442 "description" : "The list of datasources you want to display.",
10443 "format" : "pve-configid-list",
10444 "type" : "string",
10445 "typetext" : "<string>"
44660702
DM
10446 },
10447 "node" : {
10448 "description" : "The cluster node name.",
10449 "format" : "pve-node",
013dc89f
DM
10450 "type" : "string",
10451 "typetext" : "<string>"
44660702 10452 },
4d47f125
TL
10453 "timeframe" : {
10454 "description" : "Specify the time frame you are interested in.",
10455 "enum" : [
10456 "hour",
10457 "day",
10458 "week",
10459 "month",
10460 "year"
10461 ],
10462 "type" : "string"
10463 },
44660702
DM
10464 "vmid" : {
10465 "description" : "The (unique) ID of the VM.",
10466 "format" : "pve-vmid",
10467 "minimum" : 1,
4bd7df8b 10468 "type" : "integer",
013dc89f 10469 "typetext" : "<integer> (1 - N)"
44660702
DM
10470 }
10471 }
7aacca6f 10472 },
56122987
DM
10473 "permissions" : {
10474 "check" : [
10475 "perm",
10476 "/vms/{vmid}",
10477 [
44660702
DM
10478 "VM.Audit"
10479 ]
56122987
DM
10480 ]
10481 },
4d47f125 10482 "protected" : 1,
44660702
DM
10483 "returns" : {
10484 "properties" : {
4d47f125 10485 "filename" : {
44660702
DM
10486 "type" : "string"
10487 }
10488 },
10489 "type" : "object"
10490 }
4d47f125
TL
10491 }
10492 },
10493 "leaf" : 1,
10494 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
10495 "text" : "rrd"
10496 },
10497 {
10498 "info" : {
10499 "GET" : {
e9cd3bd4 10500 "allowtoken" : 1,
4d47f125
TL
10501 "description" : "Read VM RRD statistics",
10502 "method" : "GET",
10503 "name" : "rrddata",
10504 "parameters" : {
10505 "additionalProperties" : 0,
10506 "properties" : {
10507 "cf" : {
10508 "description" : "The RRD consolidation function",
10509 "enum" : [
10510 "AVERAGE",
10511 "MAX"
10512 ],
10513 "optional" : 1,
10514 "type" : "string"
10515 },
10516 "node" : {
10517 "description" : "The cluster node name.",
10518 "format" : "pve-node",
10519 "type" : "string",
10520 "typetext" : "<string>"
10521 },
10522 "timeframe" : {
10523 "description" : "Specify the time frame you are interested in.",
10524 "enum" : [
10525 "hour",
10526 "day",
10527 "week",
10528 "month",
10529 "year"
10530 ],
10531 "type" : "string"
10532 },
10533 "vmid" : {
10534 "description" : "The (unique) ID of the VM.",
10535 "format" : "pve-vmid",
10536 "minimum" : 1,
10537 "type" : "integer",
10538 "typetext" : "<integer> (1 - N)"
10539 }
10540 }
10541 },
10542 "permissions" : {
10543 "check" : [
10544 "perm",
10545 "/vms/{vmid}",
10546 [
10547 "VM.Audit"
10548 ]
10549 ]
10550 },
10551 "protected" : 1,
10552 "returns" : {
10553 "items" : {
10554 "properties" : {},
10555 "type" : "object"
10556 },
10557 "type" : "array"
10558 }
10559 }
10560 },
10561 "leaf" : 1,
10562 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
10563 "text" : "rrddata"
10564 },
10565 {
10566 "info" : {
10567 "GET" : {
e9cd3bd4
TL
10568 "allowtoken" : 1,
10569 "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.",
4d47f125
TL
10570 "method" : "GET",
10571 "name" : "vm_config",
56122987 10572 "parameters" : {
44660702 10573 "additionalProperties" : 0,
4d47f125
TL
10574 "properties" : {
10575 "current" : {
10576 "default" : 0,
10577 "description" : "Get current values (instead of pending values).",
10578 "optional" : 1,
10579 "type" : "boolean",
10580 "typetext" : "<boolean>"
10581 },
10582 "node" : {
10583 "description" : "The cluster node name.",
10584 "format" : "pve-node",
10585 "type" : "string",
10586 "typetext" : "<string>"
10587 },
5f26e15b
TL
10588 "snapshot" : {
10589 "description" : "Fetch config values from given snapshot.",
10590 "format" : "pve-configid",
10591 "maxLength" : 40,
10592 "optional" : 1,
10593 "type" : "string",
10594 "typetext" : "<string>"
10595 },
4d47f125
TL
10596 "vmid" : {
10597 "description" : "The (unique) ID of the VM.",
10598 "format" : "pve-vmid",
10599 "minimum" : 1,
10600 "type" : "integer",
10601 "typetext" : "<integer> (1 - N)"
10602 }
10603 }
10604 },
10605 "permissions" : {
10606 "check" : [
10607 "perm",
10608 "/vms/{vmid}",
10609 [
10610 "VM.Audit"
10611 ]
10612 ]
10613 },
10614 "proxyto" : "node",
10615 "returns" : {
e9cd3bd4 10616 "description" : "The VM configuration.",
56122987 10617 "properties" : {
44660702
DM
10618 "acpi" : {
10619 "default" : 1,
10620 "description" : "Enable/disable ACPI.",
10621 "optional" : 1,
4d47f125 10622 "type" : "boolean"
44660702
DM
10623 },
10624 "agent" : {
4d47f125
TL
10625 "description" : "Enable/disable Qemu GuestAgent and its properties.",
10626 "format" : {
10627 "enabled" : {
10628 "default" : 0,
10629 "default_key" : 1,
10630 "description" : "Enable/disable Qemu GuestAgent.",
10631 "type" : "boolean"
10632 },
10633 "fstrim_cloned_disks" : {
10634 "default" : 0,
10635 "description" : "Run fstrim after cloning/moving a disk.",
10636 "optional" : 1,
10637 "type" : "boolean"
5c1699e5
TL
10638 },
10639 "type" : {
10640 "default" : "virtio",
10641 "description" : "Select the agent type",
10642 "enum" : [
10643 "virtio",
10644 "isa"
10645 ],
10646 "optional" : 1,
10647 "type" : "string"
4d47f125
TL
10648 }
10649 },
7aacca6f 10650 "optional" : 1,
4d47f125 10651 "type" : "string"
7aacca6f 10652 },
e2d681b3
TL
10653 "arch" : {
10654 "description" : "Virtual processor architecture. Defaults to the host.",
10655 "enum" : [
10656 "x86_64",
10657 "aarch64"
10658 ],
10659 "optional" : 1,
10660 "type" : "string"
10661 },
44660702 10662 "args" : {
c2993fe5 10663 "description" : "Arbitrary arguments passed to kvm.",
44660702 10664 "optional" : 1,
c2993fe5
DM
10665 "type" : "string",
10666 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
7aacca6f 10667 },
1c532546
TL
10668 "audio0" : {
10669 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
10670 "format" : {
10671 "device" : {
10672 "description" : "Configure an audio device.",
10673 "enum" : [
10674 "ich9-intel-hda",
10675 "intel-hda",
10676 "AC97"
10677 ],
10678 "type" : "string"
10679 },
10680 "driver" : {
10681 "default" : "spice",
10682 "description" : "Driver backend for the audio device.",
10683 "enum" : [
10684 "spice"
10685 ],
10686 "optional" : 1,
10687 "type" : "string"
10688 }
10689 },
10690 "optional" : 1,
10691 "type" : "string"
10692 },
44660702
DM
10693 "autostart" : {
10694 "default" : 0,
10695 "description" : "Automatic restart after crash (currently ignored).",
56122987 10696 "optional" : 1,
4d47f125 10697 "type" : "boolean"
56122987 10698 },
4d47f125
TL
10699 "balloon" : {
10700 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10701 "minimum" : 0,
7aacca6f 10702 "optional" : 1,
4d47f125 10703 "type" : "integer"
7aacca6f 10704 },
44660702
DM
10705 "bios" : {
10706 "default" : "seabios",
10707 "description" : "Select BIOS implementation.",
10708 "enum" : [
10709 "seabios",
10710 "ovmf"
10711 ],
56122987 10712 "optional" : 1,
44660702 10713 "type" : "string"
7aacca6f 10714 },
44660702
DM
10715 "boot" : {
10716 "default" : "cdn",
10717 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
10718 "optional" : 1,
10719 "pattern" : "[acdn]{1,4}",
10720 "type" : "string"
10721 },
10722 "bootdisk" : {
10723 "description" : "Enable booting from specified disk.",
10724 "format" : "pve-qm-bootdisk",
10725 "optional" : 1,
10726 "pattern" : "(ide|sata|scsi|virtio)\\d+",
10727 "type" : "string"
10728 },
10729 "cdrom" : {
10730 "description" : "This is an alias for option -ide2",
de0983cb 10731 "format" : "pve-qm-ide",
44660702 10732 "optional" : 1,
7aacca6f 10733 "type" : "string",
013dc89f 10734 "typetext" : "<volume>"
44660702 10735 },
95895385
TL
10736 "cicustom" : {
10737 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
10738 "format" : "pve-qm-cicustom",
10739 "optional" : 1,
10740 "type" : "string"
10741 },
27a7acb2
DM
10742 "cipassword" : {
10743 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
10744 "optional" : 1,
4d47f125 10745 "type" : "string"
27a7acb2
DM
10746 },
10747 "citype" : {
10748 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
10749 "enum" : [
10750 "configdrive2",
10751 "nocloud"
10752 ],
10753 "optional" : 1,
10754 "type" : "string"
10755 },
10756 "ciuser" : {
10757 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
10758 "optional" : 1,
4d47f125 10759 "type" : "string"
27a7acb2 10760 },
44660702
DM
10761 "cores" : {
10762 "default" : 1,
10763 "description" : "The number of cores per socket.",
10764 "minimum" : 1,
7aacca6f 10765 "optional" : 1,
4d47f125 10766 "type" : "integer"
7aacca6f 10767 },
44660702
DM
10768 "cpu" : {
10769 "description" : "Emulated CPU type.",
c5aa7e14 10770 "format" : "pve-vm-cpu-conf",
44660702 10771 "optional" : 1,
4d47f125 10772 "type" : "string"
44660702
DM
10773 },
10774 "cpulimit" : {
10775 "default" : 0,
c2993fe5 10776 "description" : "Limit of CPU usage.",
44660702
DM
10777 "maximum" : 128,
10778 "minimum" : 0,
10779 "optional" : 1,
c2993fe5
DM
10780 "type" : "number",
10781 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
44660702
DM
10782 },
10783 "cpuunits" : {
de0983cb 10784 "default" : 1024,
c2993fe5 10785 "description" : "CPU weight for a VM.",
2489d6df
WB
10786 "maximum" : 262144,
10787 "minimum" : 2,
44660702 10788 "optional" : 1,
c2993fe5 10789 "type" : "integer",
2489d6df 10790 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
44660702 10791 },
44660702
DM
10792 "description" : {
10793 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10794 "optional" : 1,
4d47f125 10795 "type" : "string"
44660702
DM
10796 },
10797 "digest" : {
4d47f125
TL
10798 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
10799 "type" : "string"
44660702 10800 },
4d47f125
TL
10801 "efidisk0" : {
10802 "description" : "Configure a Disk for storing EFI vars",
10803 "format" : {
10804 "file" : {
10805 "default_key" : 1,
10806 "description" : "The drive's backing volume.",
10807 "format" : "pve-volume-id-or-qm-path",
10808 "format_description" : "volume",
10809 "type" : "string"
10810 },
10811 "format" : {
10812 "description" : "The drive's backing file's data format.",
10813 "enum" : [
10814 "raw",
10815 "cow",
10816 "qcow",
10817 "qed",
10818 "qcow2",
10819 "vmdk",
10820 "cloop"
10821 ],
10822 "optional" : 1,
10823 "type" : "string"
10824 },
10825 "size" : {
10826 "description" : "Disk size. This is purely informational and has no effect.",
10827 "format" : "disk-size",
10828 "format_description" : "DiskSize",
10829 "optional" : 1,
10830 "type" : "string"
10831 },
10832 "volume" : {
10833 "alias" : "file"
10834 }
10835 },
44660702 10836 "optional" : 1,
4d47f125 10837 "type" : "string"
44660702
DM
10838 },
10839 "freeze" : {
10840 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10841 "optional" : 1,
4d47f125 10842 "type" : "boolean"
44660702 10843 },
5f26e15b
TL
10844 "hookscript" : {
10845 "description" : "Script that will be executed during various steps in the vms lifetime.",
10846 "format" : "pve-volume-id",
10847 "optional" : 1,
10848 "type" : "string"
10849 },
44660702 10850 "hostpci[n]" : {
c2993fe5 10851 "description" : "Map host PCI devices into guest.",
44660702
DM
10852 "format" : "pve-qm-hostpci",
10853 "optional" : 1,
57b78691 10854 "type" : "string",
bb4c8cf8 10855 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
10856 },
10857 "hotplug" : {
10858 "default" : "network,disk,usb",
10859 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
10860 "format" : "pve-hotplug-features",
10861 "optional" : 1,
4d47f125 10862 "type" : "string"
44660702 10863 },
4bd7df8b
DM
10864 "hugepages" : {
10865 "description" : "Enable/disable hugepages memory.",
10866 "enum" : [
10867 "any",
10868 "2",
10869 "1024"
10870 ],
10871 "optional" : 1,
10872 "type" : "string"
10873 },
44660702
DM
10874 "ide[n]" : {
10875 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
10876 "format" : {
10877 "aio" : {
10878 "description" : "AIO type to use.",
10879 "enum" : [
10880 "native",
10881 "threads"
56122987 10882 ],
56122987 10883 "optional" : 1,
44660702 10884 "type" : "string"
56122987 10885 },
44660702
DM
10886 "backup" : {
10887 "description" : "Whether the drive should be included when making backups.",
56122987 10888 "optional" : 1,
44660702 10889 "type" : "boolean"
56122987 10890 },
7aacca6f 10891 "bps" : {
de0983cb 10892 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
10893 "format_description" : "bps",
10894 "optional" : 1,
10895 "type" : "integer"
10896 },
de0983cb
DM
10897 "bps_max_length" : {
10898 "description" : "Maximum length of I/O bursts in seconds.",
10899 "format_description" : "seconds",
10900 "minimum" : 1,
10901 "optional" : 1,
10902 "type" : "integer"
10903 },
44660702 10904 "bps_rd" : {
de0983cb 10905 "description" : "Maximum read speed in bytes per second.",
44660702 10906 "format_description" : "bps",
56122987 10907 "optional" : 1,
44660702 10908 "type" : "integer"
56122987 10909 },
de0983cb 10910 "bps_rd_length" : {
5d9c884c
DM
10911 "alias" : "bps_rd_max_length"
10912 },
10913 "bps_rd_max_length" : {
de0983cb
DM
10914 "description" : "Maximum length of read I/O bursts in seconds.",
10915 "format_description" : "seconds",
10916 "minimum" : 1,
10917 "optional" : 1,
10918 "type" : "integer"
10919 },
44660702 10920 "bps_wr" : {
de0983cb 10921 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10922 "format_description" : "bps",
10923 "optional" : 1,
10924 "type" : "integer"
10925 },
de0983cb 10926 "bps_wr_length" : {
5d9c884c
DM
10927 "alias" : "bps_wr_max_length"
10928 },
10929 "bps_wr_max_length" : {
de0983cb
DM
10930 "description" : "Maximum length of write I/O bursts in seconds.",
10931 "format_description" : "seconds",
10932 "minimum" : 1,
10933 "optional" : 1,
10934 "type" : "integer"
10935 },
44660702
DM
10936 "cache" : {
10937 "description" : "The drive's cache mode",
10938 "enum" : [
10939 "none",
10940 "writethrough",
10941 "writeback",
10942 "unsafe",
10943 "directsync"
10944 ],
44660702
DM
10945 "optional" : 1,
10946 "type" : "string"
10947 },
10948 "cyls" : {
10949 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10950 "optional" : 1,
10951 "type" : "integer"
10952 },
10953 "detect_zeroes" : {
10954 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10955 "optional" : 1,
10956 "type" : "boolean"
10957 },
10958 "discard" : {
10959 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10960 "enum" : [
10961 "ignore",
10962 "on"
10963 ],
56122987 10964 "optional" : 1,
44660702
DM
10965 "type" : "string"
10966 },
10967 "file" : {
10968 "default_key" : 1,
10969 "description" : "The drive's backing volume.",
10970 "format" : "pve-volume-id-or-qm-path",
10971 "format_description" : "volume",
10972 "type" : "string"
56122987 10973 },
7aacca6f 10974 "format" : {
7aacca6f 10975 "description" : "The drive's backing file's data format.",
56122987 10976 "enum" : [
7aacca6f
DM
10977 "raw",
10978 "cow",
10979 "qcow",
10980 "qed",
10981 "qcow2",
10982 "vmdk",
10983 "cloop"
56122987
DM
10984 ],
10985 "optional" : 1,
56122987
DM
10986 "type" : "string"
10987 },
44660702
DM
10988 "heads" : {
10989 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
10990 "optional" : 1,
10991 "type" : "integer"
7aacca6f 10992 },
44660702 10993 "iops" : {
de0983cb 10994 "description" : "Maximum r/w I/O in operations per second.",
44660702 10995 "format_description" : "iops",
56122987 10996 "optional" : 1,
44660702 10997 "type" : "integer"
56122987 10998 },
44660702 10999 "iops_max" : {
de0983cb 11000 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11001 "format_description" : "iops",
56122987 11002 "optional" : 1,
44660702 11003 "type" : "integer"
56122987 11004 },
de0983cb
DM
11005 "iops_max_length" : {
11006 "description" : "Maximum length of I/O bursts in seconds.",
11007 "format_description" : "seconds",
11008 "minimum" : 1,
11009 "optional" : 1,
11010 "type" : "integer"
11011 },
44660702 11012 "iops_rd" : {
de0983cb 11013 "description" : "Maximum read I/O in operations per second.",
44660702
DM
11014 "format_description" : "iops",
11015 "optional" : 1,
11016 "type" : "integer"
11017 },
de0983cb 11018 "iops_rd_length" : {
5d9c884c 11019 "alias" : "iops_rd_max_length"
de0983cb 11020 },
44660702 11021 "iops_rd_max" : {
de0983cb 11022 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 11023 "format_description" : "iops",
44660702
DM
11024 "optional" : 1,
11025 "type" : "integer"
11026 },
5d9c884c
DM
11027 "iops_rd_max_length" : {
11028 "description" : "Maximum length of read I/O bursts in seconds.",
11029 "format_description" : "seconds",
11030 "minimum" : 1,
11031 "optional" : 1,
11032 "type" : "integer"
11033 },
44660702 11034 "iops_wr" : {
de0983cb 11035 "description" : "Maximum write I/O in operations per second.",
44660702 11036 "format_description" : "iops",
56122987 11037 "optional" : 1,
7aacca6f 11038 "type" : "integer"
56122987 11039 },
de0983cb 11040 "iops_wr_length" : {
5d9c884c 11041 "alias" : "iops_wr_max_length"
de0983cb 11042 },
44660702 11043 "iops_wr_max" : {
de0983cb 11044 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11045 "format_description" : "iops",
7aacca6f 11046 "optional" : 1,
44660702 11047 "type" : "integer"
56122987 11048 },
5d9c884c
DM
11049 "iops_wr_max_length" : {
11050 "description" : "Maximum length of write I/O bursts in seconds.",
11051 "format_description" : "seconds",
11052 "minimum" : 1,
11053 "optional" : 1,
11054 "type" : "integer"
11055 },
44660702 11056 "mbps" : {
de0983cb 11057 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11058 "format_description" : "mbps",
11059 "optional" : 1,
11060 "type" : "number"
11061 },
11062 "mbps_max" : {
de0983cb 11063 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11064 "format_description" : "mbps",
11065 "optional" : 1,
11066 "type" : "number"
11067 },
11068 "mbps_rd" : {
de0983cb 11069 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11070 "format_description" : "mbps",
11071 "optional" : 1,
11072 "type" : "number"
11073 },
11074 "mbps_rd_max" : {
de0983cb 11075 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11076 "format_description" : "mbps",
11077 "optional" : 1,
11078 "type" : "number"
11079 },
11080 "mbps_wr" : {
de0983cb 11081 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11082 "format_description" : "mbps",
11083 "optional" : 1,
11084 "type" : "number"
11085 },
11086 "mbps_wr_max" : {
de0983cb 11087 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11088 "format_description" : "mbps",
56122987 11089 "optional" : 1,
44660702 11090 "type" : "number"
56122987 11091 },
7aacca6f 11092 "media" : {
7aacca6f 11093 "default" : "disk",
7aacca6f
DM
11094 "description" : "The drive's media type.",
11095 "enum" : [
11096 "cdrom",
11097 "disk"
44660702 11098 ],
44660702
DM
11099 "optional" : 1,
11100 "type" : "string"
56122987 11101 },
44660702
DM
11102 "model" : {
11103 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
11104 "format" : "urlencoded",
11105 "format_description" : "model",
11106 "maxLength" : 120,
56122987 11107 "optional" : 1,
44660702 11108 "type" : "string"
56122987 11109 },
5d9c884c
DM
11110 "replicate" : {
11111 "default" : 1,
11112 "description" : "Whether the drive should considered for replication jobs.",
11113 "optional" : 1,
11114 "type" : "boolean"
11115 },
44660702
DM
11116 "rerror" : {
11117 "description" : "Read error action.",
11118 "enum" : [
11119 "ignore",
11120 "report",
11121 "stop"
11122 ],
56122987 11123 "optional" : 1,
44660702
DM
11124 "type" : "string"
11125 },
11126 "secs" : {
11127 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
11128 "optional" : 1,
11129 "type" : "integer"
11130 },
11131 "serial" : {
11132 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11133 "format" : "urlencoded",
11134 "format_description" : "serial",
11135 "maxLength" : 60,
11136 "optional" : 1,
11137 "type" : "string"
11138 },
27a7acb2
DM
11139 "shared" : {
11140 "default" : 0,
11141 "description" : "Mark this locally-managed volume as available on all nodes",
11142 "optional" : 1,
11143 "type" : "boolean",
11144 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
11145 },
44660702
DM
11146 "size" : {
11147 "description" : "Disk size. This is purely informational and has no effect.",
11148 "format" : "disk-size",
f004f5b9 11149 "format_description" : "DiskSize",
44660702
DM
11150 "optional" : 1,
11151 "type" : "string"
11152 },
11153 "snapshot" : {
27a7acb2 11154 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
44660702
DM
11155 "optional" : 1,
11156 "type" : "boolean"
11157 },
25203dc1
NC
11158 "ssd" : {
11159 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11160 "optional" : 1,
11161 "type" : "boolean"
11162 },
44660702
DM
11163 "trans" : {
11164 "description" : "Force disk geometry bios translation mode.",
11165 "enum" : [
11166 "none",
11167 "lba",
11168 "auto"
11169 ],
44660702
DM
11170 "optional" : 1,
11171 "type" : "string"
11172 },
11173 "volume" : {
11174 "alias" : "file"
11175 },
11176 "werror" : {
11177 "description" : "Write error action.",
11178 "enum" : [
11179 "enospc",
11180 "ignore",
11181 "report",
11182 "stop"
11183 ],
44660702
DM
11184 "optional" : 1,
11185 "type" : "string"
95895385
TL
11186 },
11187 "wwn" : {
11188 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11189 "format_description" : "wwn",
11190 "optional" : 1,
11191 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11192 "type" : "string"
56122987
DM
11193 }
11194 },
44660702 11195 "optional" : 1,
4d47f125 11196 "type" : "string"
27a7acb2
DM
11197 },
11198 "ipconfig[n]" : {
11199 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
11200 "format" : "pve-qm-ipconfig",
11201 "optional" : 1,
4d47f125 11202 "type" : "string"
56122987 11203 },
95895385
TL
11204 "ivshmem" : {
11205 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
11206 "format" : {
11207 "name" : {
11208 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
11209 "format_description" : "string",
11210 "optional" : 1,
11211 "pattern" : "[a-zA-Z0-9\\-]+",
11212 "type" : "string"
11213 },
11214 "size" : {
11215 "description" : "The size of the file in MB.",
11216 "minimum" : 1,
11217 "type" : "integer"
11218 }
11219 },
11220 "optional" : 1,
11221 "type" : "string"
11222 },
44660702 11223 "keyboard" : {
35a75dd3 11224 "default" : null,
5da3d723 11225 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
44660702
DM
11226 "enum" : [
11227 "de",
11228 "de-ch",
11229 "da",
11230 "en-gb",
11231 "en-us",
11232 "es",
11233 "fi",
11234 "fr",
11235 "fr-be",
11236 "fr-ca",
11237 "fr-ch",
11238 "hu",
11239 "is",
11240 "it",
11241 "ja",
11242 "lt",
11243 "mk",
11244 "nl",
11245 "no",
11246 "pl",
11247 "pt",
11248 "pt-br",
11249 "sv",
11250 "sl",
11251 "tr"
11252 ],
56122987 11253 "optional" : 1,
44660702
DM
11254 "type" : "string"
11255 },
11256 "kvm" : {
7aacca6f 11257 "default" : 1,
44660702
DM
11258 "description" : "Enable/disable KVM hardware virtualization.",
11259 "optional" : 1,
4d47f125 11260 "type" : "boolean"
56122987 11261 },
44660702
DM
11262 "localtime" : {
11263 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 11264 "optional" : 1,
4d47f125 11265 "type" : "boolean"
56122987 11266 },
44660702
DM
11267 "lock" : {
11268 "description" : "Lock/unlock the VM.",
11269 "enum" : [
44660702 11270 "backup",
5f26e15b
TL
11271 "clone",
11272 "create",
11273 "migrate",
11274 "rollback",
44660702 11275 "snapshot",
95895385
TL
11276 "snapshot-delete",
11277 "suspending",
11278 "suspended"
44660702 11279 ],
7aacca6f 11280 "optional" : 1,
44660702
DM
11281 "type" : "string"
11282 },
11283 "machine" : {
4d47f125 11284 "description" : "Specifies the Qemu machine type.",
44660702
DM
11285 "maxLength" : 40,
11286 "optional" : 1,
5c1699e5 11287 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
11288 "type" : "string"
11289 },
11290 "memory" : {
11291 "default" : 512,
11292 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11293 "minimum" : 16,
11294 "optional" : 1,
4d47f125 11295 "type" : "integer"
44660702
DM
11296 },
11297 "migrate_downtime" : {
11298 "default" : 0.1,
11299 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11300 "minimum" : 0,
11301 "optional" : 1,
4d47f125 11302 "type" : "number"
44660702
DM
11303 },
11304 "migrate_speed" : {
11305 "default" : 0,
11306 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11307 "minimum" : 0,
11308 "optional" : 1,
4d47f125 11309 "type" : "integer"
44660702
DM
11310 },
11311 "name" : {
11312 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11313 "format" : "dns-name",
11314 "optional" : 1,
4d47f125 11315 "type" : "string"
44660702 11316 },
27a7acb2
DM
11317 "nameserver" : {
11318 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
11319 "format" : "address-list",
11320 "optional" : 1,
4d47f125 11321 "type" : "string"
27a7acb2 11322 },
44660702 11323 "net[n]" : {
c2993fe5 11324 "description" : "Specify network devices.",
f004f5b9
DM
11325 "format" : {
11326 "bridge" : {
c2993fe5 11327 "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
f004f5b9
DM
11328 "format_description" : "bridge",
11329 "optional" : 1,
c5aa7e14 11330 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
11331 "type" : "string"
11332 },
11333 "e1000" : {
11334 "alias" : "macaddr",
11335 "keyAlias" : "model"
11336 },
11337 "e1000-82540em" : {
11338 "alias" : "macaddr",
11339 "keyAlias" : "model"
11340 },
11341 "e1000-82544gc" : {
11342 "alias" : "macaddr",
11343 "keyAlias" : "model"
11344 },
11345 "e1000-82545em" : {
11346 "alias" : "macaddr",
11347 "keyAlias" : "model"
11348 },
11349 "firewall" : {
11350 "description" : "Whether this interface should be protected by the firewall.",
11351 "optional" : 1,
11352 "type" : "boolean"
11353 },
11354 "i82551" : {
11355 "alias" : "macaddr",
11356 "keyAlias" : "model"
11357 },
11358 "i82557b" : {
11359 "alias" : "macaddr",
11360 "keyAlias" : "model"
11361 },
11362 "i82559er" : {
11363 "alias" : "macaddr",
11364 "keyAlias" : "model"
11365 },
11366 "link_down" : {
c2993fe5 11367 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11368 "optional" : 1,
11369 "type" : "boolean"
11370 },
11371 "macaddr" : {
c2993fe5 11372 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 11373 "format" : "mac-addr",
f004f5b9 11374 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 11375 "optional" : 1,
95895385
TL
11376 "type" : "string",
11377 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
11378 },
11379 "model" : {
11380 "default_key" : 1,
c2993fe5 11381 "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
f004f5b9
DM
11382 "enum" : [
11383 "rtl8139",
11384 "ne2k_pci",
11385 "e1000",
11386 "pcnet",
11387 "virtio",
11388 "ne2k_isa",
11389 "i82551",
11390 "i82557b",
11391 "i82559er",
11392 "vmxnet3",
11393 "e1000-82540em",
11394 "e1000-82544gc",
11395 "e1000-82545em"
11396 ],
f004f5b9
DM
11397 "type" : "string"
11398 },
ac70d7d1
TL
11399 "mtu" : {
11400 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
11401 "maximum" : 65520,
11402 "minimum" : 1,
11403 "optional" : 1,
11404 "type" : "integer"
11405 },
f004f5b9
DM
11406 "ne2k_isa" : {
11407 "alias" : "macaddr",
11408 "keyAlias" : "model"
11409 },
11410 "ne2k_pci" : {
11411 "alias" : "macaddr",
11412 "keyAlias" : "model"
11413 },
11414 "pcnet" : {
11415 "alias" : "macaddr",
11416 "keyAlias" : "model"
11417 },
11418 "queues" : {
11419 "description" : "Number of packet queues to be used on the device.",
11420 "maximum" : 16,
11421 "minimum" : 0,
11422 "optional" : 1,
11423 "type" : "integer"
11424 },
11425 "rate" : {
c2993fe5 11426 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11427 "minimum" : 0,
11428 "optional" : 1,
11429 "type" : "number"
11430 },
11431 "rtl8139" : {
11432 "alias" : "macaddr",
11433 "keyAlias" : "model"
11434 },
11435 "tag" : {
11436 "description" : "VLAN tag to apply to packets on this interface.",
11437 "maximum" : 4094,
c2993fe5 11438 "minimum" : 1,
f004f5b9
DM
11439 "optional" : 1,
11440 "type" : "integer"
11441 },
11442 "trunks" : {
11443 "description" : "VLAN trunks to pass through this interface.",
11444 "format_description" : "vlanid[;vlanid...]",
11445 "optional" : 1,
11446 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11447 "type" : "string"
11448 },
11449 "virtio" : {
11450 "alias" : "macaddr",
11451 "keyAlias" : "model"
11452 },
11453 "vmxnet3" : {
11454 "alias" : "macaddr",
11455 "keyAlias" : "model"
11456 }
11457 },
44660702 11458 "optional" : 1,
4d47f125 11459 "type" : "string"
44660702
DM
11460 },
11461 "numa" : {
11462 "default" : 0,
11463 "description" : "Enable/disable NUMA.",
11464 "optional" : 1,
4d47f125 11465 "type" : "boolean"
44660702
DM
11466 },
11467 "numa[n]" : {
c2993fe5 11468 "description" : "NUMA topology.",
56122987 11469 "format" : {
7aacca6f 11470 "cpus" : {
c2993fe5 11471 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11472 "format_description" : "id[-id];...",
11473 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11474 "type" : "string"
7aacca6f
DM
11475 },
11476 "hostnodes" : {
c2993fe5 11477 "description" : "Host NUMA nodes to use.",
44660702 11478 "format_description" : "id[-id];...",
7aacca6f 11479 "optional" : 1,
7aacca6f 11480 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 11481 "type" : "string"
7aacca6f 11482 },
44660702 11483 "memory" : {
c2993fe5 11484 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 11485 "optional" : 1,
44660702
DM
11486 "type" : "number"
11487 },
11488 "policy" : {
c2993fe5 11489 "description" : "NUMA allocation policy.",
7aacca6f
DM
11490 "enum" : [
11491 "preferred",
11492 "bind",
11493 "interleave"
11494 ],
44660702
DM
11495 "optional" : 1,
11496 "type" : "string"
56122987 11497 }
44660702 11498 },
56122987 11499 "optional" : 1,
4d47f125 11500 "type" : "string"
56122987 11501 },
44660702 11502 "onboot" : {
7aacca6f 11503 "default" : 0,
44660702
DM
11504 "description" : "Specifies whether a VM will be started during system bootup.",
11505 "optional" : 1,
4d47f125 11506 "type" : "boolean"
7aacca6f
DM
11507 },
11508 "ostype" : {
c2993fe5 11509 "description" : "Specify guest operating system.",
7aacca6f
DM
11510 "enum" : [
11511 "other",
11512 "wxp",
11513 "w2k",
11514 "w2k3",
11515 "w2k8",
11516 "wvista",
11517 "win7",
11518 "win8",
32d876b5 11519 "win10",
7aacca6f
DM
11520 "l24",
11521 "l26",
11522 "solaris"
11523 ],
7aacca6f 11524 "optional" : 1,
c2993fe5 11525 "type" : "string",
5c1699e5 11526 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 11527 },
44660702 11528 "parallel[n]" : {
c2993fe5 11529 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 11530 "optional" : 1,
44660702 11531 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11532 "type" : "string",
11533 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f
DM
11534 },
11535 "protection" : {
11536 "default" : 0,
c2993fe5 11537 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 11538 "optional" : 1,
4d47f125 11539 "type" : "boolean"
7aacca6f 11540 },
44660702
DM
11541 "reboot" : {
11542 "default" : 1,
11543 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11544 "optional" : 1,
4d47f125 11545 "type" : "boolean"
44660702 11546 },
c5aa7e14
TL
11547 "rng0" : {
11548 "description" : "Configure a VirtIO-based Random Number Generator.",
11549 "format" : {
11550 "max_bytes" : {
11551 "default" : 1024,
11552 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
11553 "optional" : 1,
11554 "type" : "integer"
11555 },
11556 "period" : {
11557 "default" : 1000,
11558 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
11559 "optional" : 1,
11560 "type" : "integer"
11561 },
11562 "source" : {
11563 "default_key" : 1,
11564 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
11565 "enum" : [
11566 "/dev/urandom",
11567 "/dev/random",
11568 "/dev/hwrng"
11569 ],
11570 "type" : "string"
11571 }
11572 },
11573 "optional" : 1,
11574 "type" : "string"
11575 },
44660702
DM
11576 "sata[n]" : {
11577 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 11578 "format" : {
44660702
DM
11579 "aio" : {
11580 "description" : "AIO type to use.",
7aacca6f 11581 "enum" : [
44660702
DM
11582 "native",
11583 "threads"
7aacca6f 11584 ],
44660702
DM
11585 "optional" : 1,
11586 "type" : "string"
7aacca6f 11587 },
44660702
DM
11588 "backup" : {
11589 "description" : "Whether the drive should be included when making backups.",
56122987 11590 "optional" : 1,
7aacca6f 11591 "type" : "boolean"
44660702
DM
11592 },
11593 "bps" : {
de0983cb 11594 "description" : "Maximum r/w speed in bytes per second.",
44660702 11595 "format_description" : "bps",
7aacca6f 11596 "optional" : 1,
44660702 11597 "type" : "integer"
56122987 11598 },
de0983cb
DM
11599 "bps_max_length" : {
11600 "description" : "Maximum length of I/O bursts in seconds.",
11601 "format_description" : "seconds",
11602 "minimum" : 1,
11603 "optional" : 1,
11604 "type" : "integer"
11605 },
44660702 11606 "bps_rd" : {
de0983cb 11607 "description" : "Maximum read speed in bytes per second.",
44660702 11608 "format_description" : "bps",
56122987 11609 "optional" : 1,
44660702 11610 "type" : "integer"
56122987 11611 },
de0983cb 11612 "bps_rd_length" : {
5d9c884c
DM
11613 "alias" : "bps_rd_max_length"
11614 },
11615 "bps_rd_max_length" : {
de0983cb
DM
11616 "description" : "Maximum length of read I/O bursts in seconds.",
11617 "format_description" : "seconds",
11618 "minimum" : 1,
11619 "optional" : 1,
11620 "type" : "integer"
11621 },
44660702 11622 "bps_wr" : {
de0983cb 11623 "description" : "Maximum write speed in bytes per second.",
44660702 11624 "format_description" : "bps",
56122987 11625 "optional" : 1,
44660702 11626 "type" : "integer"
56122987 11627 },
de0983cb 11628 "bps_wr_length" : {
5d9c884c
DM
11629 "alias" : "bps_wr_max_length"
11630 },
11631 "bps_wr_max_length" : {
de0983cb
DM
11632 "description" : "Maximum length of write I/O bursts in seconds.",
11633 "format_description" : "seconds",
11634 "minimum" : 1,
11635 "optional" : 1,
11636 "type" : "integer"
11637 },
56122987 11638 "cache" : {
44660702 11639 "description" : "The drive's cache mode",
56122987
DM
11640 "enum" : [
11641 "none",
11642 "writethrough",
11643 "writeback",
11644 "unsafe",
11645 "directsync"
11646 ],
56122987 11647 "optional" : 1,
44660702 11648 "type" : "string"
56122987 11649 },
44660702
DM
11650 "cyls" : {
11651 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11652 "optional" : 1,
44660702 11653 "type" : "integer"
7aacca6f
DM
11654 },
11655 "detect_zeroes" : {
11656 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11657 "optional" : 1,
44660702 11658 "type" : "boolean"
56122987 11659 },
44660702
DM
11660 "discard" : {
11661 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11662 "enum" : [
11663 "ignore",
11664 "on"
11665 ],
56122987 11666 "optional" : 1,
44660702 11667 "type" : "string"
7aacca6f 11668 },
44660702
DM
11669 "file" : {
11670 "default_key" : 1,
11671 "description" : "The drive's backing volume.",
11672 "format" : "pve-volume-id-or-qm-path",
11673 "format_description" : "volume",
11674 "type" : "string"
56122987 11675 },
7aacca6f 11676 "format" : {
44660702 11677 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11678 "enum" : [
11679 "raw",
11680 "cow",
11681 "qcow",
11682 "qed",
11683 "qcow2",
11684 "vmdk",
11685 "cloop"
11686 ],
7aacca6f 11687 "optional" : 1,
44660702 11688 "type" : "string"
56122987 11689 },
7aacca6f 11690 "heads" : {
7aacca6f 11691 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11692 "optional" : 1,
7aacca6f 11693 "type" : "integer"
56122987 11694 },
44660702 11695 "iops" : {
de0983cb 11696 "description" : "Maximum r/w I/O in operations per second.",
44660702 11697 "format_description" : "iops",
56122987 11698 "optional" : 1,
44660702 11699 "type" : "integer"
56122987 11700 },
44660702 11701 "iops_max" : {
de0983cb 11702 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11703 "format_description" : "iops",
56122987 11704 "optional" : 1,
44660702 11705 "type" : "integer"
56122987 11706 },
de0983cb
DM
11707 "iops_max_length" : {
11708 "description" : "Maximum length of I/O bursts in seconds.",
11709 "format_description" : "seconds",
11710 "minimum" : 1,
11711 "optional" : 1,
11712 "type" : "integer"
11713 },
44660702 11714 "iops_rd" : {
de0983cb 11715 "description" : "Maximum read I/O in operations per second.",
44660702 11716 "format_description" : "iops",
7aacca6f 11717 "optional" : 1,
44660702 11718 "type" : "integer"
56122987 11719 },
de0983cb 11720 "iops_rd_length" : {
5d9c884c 11721 "alias" : "iops_rd_max_length"
de0983cb 11722 },
44660702 11723 "iops_rd_max" : {
de0983cb 11724 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11725 "format_description" : "iops",
56122987 11726 "optional" : 1,
44660702 11727 "type" : "integer"
7aacca6f 11728 },
5d9c884c
DM
11729 "iops_rd_max_length" : {
11730 "description" : "Maximum length of read I/O bursts in seconds.",
11731 "format_description" : "seconds",
11732 "minimum" : 1,
11733 "optional" : 1,
11734 "type" : "integer"
11735 },
44660702 11736 "iops_wr" : {
de0983cb 11737 "description" : "Maximum write I/O in operations per second.",
44660702 11738 "format_description" : "iops",
56122987 11739 "optional" : 1,
44660702 11740 "type" : "integer"
56122987 11741 },
de0983cb 11742 "iops_wr_length" : {
5d9c884c 11743 "alias" : "iops_wr_max_length"
de0983cb 11744 },
56122987 11745 "iops_wr_max" : {
de0983cb 11746 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11747 "format_description" : "iops",
56122987 11748 "optional" : 1,
44660702 11749 "type" : "integer"
56122987 11750 },
5d9c884c
DM
11751 "iops_wr_max_length" : {
11752 "description" : "Maximum length of write I/O bursts in seconds.",
11753 "format_description" : "seconds",
11754 "minimum" : 1,
11755 "optional" : 1,
11756 "type" : "integer"
11757 },
44660702 11758 "mbps" : {
de0983cb 11759 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11760 "format_description" : "mbps",
56122987 11761 "optional" : 1,
44660702 11762 "type" : "number"
56122987 11763 },
44660702 11764 "mbps_max" : {
de0983cb 11765 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11766 "format_description" : "mbps",
11767 "optional" : 1,
11768 "type" : "number"
56122987 11769 },
44660702 11770 "mbps_rd" : {
de0983cb 11771 "description" : "Maximum read speed in megabytes per second.",
44660702 11772 "format_description" : "mbps",
56122987 11773 "optional" : 1,
44660702 11774 "type" : "number"
56122987 11775 },
44660702 11776 "mbps_rd_max" : {
de0983cb 11777 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11778 "format_description" : "mbps",
56122987 11779 "optional" : 1,
44660702 11780 "type" : "number"
56122987 11781 },
44660702 11782 "mbps_wr" : {
de0983cb 11783 "description" : "Maximum write speed in megabytes per second.",
56122987 11784 "format_description" : "mbps",
44660702
DM
11785 "optional" : 1,
11786 "type" : "number"
56122987 11787 },
44660702 11788 "mbps_wr_max" : {
de0983cb 11789 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11790 "format_description" : "mbps",
11791 "optional" : 1,
11792 "type" : "number"
7aacca6f 11793 },
44660702
DM
11794 "media" : {
11795 "default" : "disk",
11796 "description" : "The drive's media type.",
11797 "enum" : [
11798 "cdrom",
11799 "disk"
11800 ],
56122987 11801 "optional" : 1,
44660702
DM
11802 "type" : "string"
11803 },
5d9c884c
DM
11804 "replicate" : {
11805 "default" : 1,
11806 "description" : "Whether the drive should considered for replication jobs.",
11807 "optional" : 1,
11808 "type" : "boolean"
11809 },
44660702
DM
11810 "rerror" : {
11811 "description" : "Read error action.",
7aacca6f 11812 "enum" : [
44660702
DM
11813 "ignore",
11814 "report",
11815 "stop"
11816 ],
7aacca6f 11817 "optional" : 1,
44660702 11818 "type" : "string"
56122987 11819 },
44660702
DM
11820 "secs" : {
11821 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11822 "optional" : 1,
44660702 11823 "type" : "integer"
56122987 11824 },
44660702
DM
11825 "serial" : {
11826 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11827 "format" : "urlencoded",
11828 "format_description" : "serial",
11829 "maxLength" : 60,
56122987 11830 "optional" : 1,
44660702 11831 "type" : "string"
56122987 11832 },
27a7acb2
DM
11833 "shared" : {
11834 "default" : 0,
11835 "description" : "Mark this locally-managed volume as available on all nodes",
11836 "optional" : 1,
11837 "type" : "boolean",
11838 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
11839 },
44660702
DM
11840 "size" : {
11841 "description" : "Disk size. This is purely informational and has no effect.",
11842 "format" : "disk-size",
f004f5b9 11843 "format_description" : "DiskSize",
44660702
DM
11844 "optional" : 1,
11845 "type" : "string"
11846 },
11847 "snapshot" : {
27a7acb2 11848 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 11849 "optional" : 1,
44660702
DM
11850 "type" : "boolean"
11851 },
25203dc1
NC
11852 "ssd" : {
11853 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11854 "optional" : 1,
11855 "type" : "boolean"
11856 },
44660702
DM
11857 "trans" : {
11858 "description" : "Force disk geometry bios translation mode.",
56122987 11859 "enum" : [
7aacca6f
DM
11860 "none",
11861 "lba",
11862 "auto"
56122987 11863 ],
44660702
DM
11864 "optional" : 1,
11865 "type" : "string"
56122987 11866 },
7aacca6f
DM
11867 "volume" : {
11868 "alias" : "file"
56122987 11869 },
44660702
DM
11870 "werror" : {
11871 "description" : "Write error action.",
11872 "enum" : [
11873 "enospc",
11874 "ignore",
11875 "report",
11876 "stop"
11877 ],
7aacca6f 11878 "optional" : 1,
44660702 11879 "type" : "string"
95895385
TL
11880 },
11881 "wwn" : {
11882 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11883 "format_description" : "wwn",
11884 "optional" : 1,
11885 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11886 "type" : "string"
44660702
DM
11887 }
11888 },
11889 "optional" : 1,
4d47f125 11890 "type" : "string"
44660702
DM
11891 },
11892 "scsi[n]" : {
e9cd3bd4 11893 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702 11894 "format" : {
56122987 11895 "aio" : {
56122987
DM
11896 "description" : "AIO type to use.",
11897 "enum" : [
11898 "native",
11899 "threads"
11900 ],
7aacca6f 11901 "optional" : 1,
44660702 11902 "type" : "string"
56122987 11903 },
44660702
DM
11904 "backup" : {
11905 "description" : "Whether the drive should be included when making backups.",
56122987 11906 "optional" : 1,
44660702 11907 "type" : "boolean"
56122987 11908 },
44660702 11909 "bps" : {
de0983cb 11910 "description" : "Maximum r/w speed in bytes per second.",
44660702 11911 "format_description" : "bps",
56122987 11912 "optional" : 1,
44660702 11913 "type" : "integer"
56122987 11914 },
de0983cb
DM
11915 "bps_max_length" : {
11916 "description" : "Maximum length of I/O bursts in seconds.",
11917 "format_description" : "seconds",
11918 "minimum" : 1,
11919 "optional" : 1,
11920 "type" : "integer"
11921 },
44660702 11922 "bps_rd" : {
de0983cb 11923 "description" : "Maximum read speed in bytes per second.",
44660702 11924 "format_description" : "bps",
56122987 11925 "optional" : 1,
44660702 11926 "type" : "integer"
56122987 11927 },
de0983cb 11928 "bps_rd_length" : {
5d9c884c
DM
11929 "alias" : "bps_rd_max_length"
11930 },
11931 "bps_rd_max_length" : {
de0983cb
DM
11932 "description" : "Maximum length of read I/O bursts in seconds.",
11933 "format_description" : "seconds",
11934 "minimum" : 1,
11935 "optional" : 1,
11936 "type" : "integer"
11937 },
7aacca6f 11938 "bps_wr" : {
de0983cb 11939 "description" : "Maximum write speed in bytes per second.",
7aacca6f 11940 "format_description" : "bps",
56122987 11941 "optional" : 1,
44660702 11942 "type" : "integer"
56122987 11943 },
de0983cb 11944 "bps_wr_length" : {
5d9c884c
DM
11945 "alias" : "bps_wr_max_length"
11946 },
11947 "bps_wr_max_length" : {
de0983cb
DM
11948 "description" : "Maximum length of write I/O bursts in seconds.",
11949 "format_description" : "seconds",
11950 "minimum" : 1,
11951 "optional" : 1,
11952 "type" : "integer"
11953 },
44660702
DM
11954 "cache" : {
11955 "description" : "The drive's cache mode",
7aacca6f 11956 "enum" : [
44660702
DM
11957 "none",
11958 "writethrough",
11959 "writeback",
11960 "unsafe",
11961 "directsync"
7aacca6f 11962 ],
56122987 11963 "optional" : 1,
44660702 11964 "type" : "string"
56122987 11965 },
44660702
DM
11966 "cyls" : {
11967 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11968 "optional" : 1,
44660702 11969 "type" : "integer"
56122987 11970 },
44660702
DM
11971 "detect_zeroes" : {
11972 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11973 "optional" : 1,
44660702 11974 "type" : "boolean"
56122987 11975 },
44660702
DM
11976 "discard" : {
11977 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11978 "enum" : [
11979 "ignore",
11980 "on"
11981 ],
7aacca6f 11982 "optional" : 1,
44660702 11983 "type" : "string"
56122987 11984 },
44660702
DM
11985 "file" : {
11986 "default_key" : 1,
11987 "description" : "The drive's backing volume.",
11988 "format" : "pve-volume-id-or-qm-path",
11989 "format_description" : "volume",
11990 "type" : "string"
56122987 11991 },
7aacca6f 11992 "format" : {
44660702 11993 "description" : "The drive's backing file's data format.",
56122987 11994 "enum" : [
7aacca6f
DM
11995 "raw",
11996 "cow",
11997 "qcow",
11998 "qed",
11999 "qcow2",
12000 "vmdk",
12001 "cloop"
12002 ],
44660702
DM
12003 "optional" : 1,
12004 "type" : "string"
56122987 12005 },
44660702
DM
12006 "heads" : {
12007 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12008 "optional" : 1,
7aacca6f 12009 "type" : "integer"
56122987 12010 },
44660702 12011 "iops" : {
de0983cb 12012 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12013 "format_description" : "iops",
44660702
DM
12014 "optional" : 1,
12015 "type" : "integer"
7aacca6f 12016 },
44660702 12017 "iops_max" : {
de0983cb 12018 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12019 "format_description" : "iops",
56122987 12020 "optional" : 1,
44660702 12021 "type" : "integer"
7aacca6f 12022 },
de0983cb
DM
12023 "iops_max_length" : {
12024 "description" : "Maximum length of I/O bursts in seconds.",
12025 "format_description" : "seconds",
12026 "minimum" : 1,
12027 "optional" : 1,
12028 "type" : "integer"
12029 },
44660702 12030 "iops_rd" : {
de0983cb 12031 "description" : "Maximum read I/O in operations per second.",
44660702 12032 "format_description" : "iops",
7aacca6f 12033 "optional" : 1,
44660702 12034 "type" : "integer"
56122987 12035 },
de0983cb 12036 "iops_rd_length" : {
5d9c884c 12037 "alias" : "iops_rd_max_length"
de0983cb 12038 },
44660702 12039 "iops_rd_max" : {
de0983cb 12040 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12041 "format_description" : "iops",
12042 "optional" : 1,
12043 "type" : "integer"
12044 },
5d9c884c
DM
12045 "iops_rd_max_length" : {
12046 "description" : "Maximum length of read I/O bursts in seconds.",
12047 "format_description" : "seconds",
12048 "minimum" : 1,
12049 "optional" : 1,
12050 "type" : "integer"
12051 },
44660702 12052 "iops_wr" : {
de0983cb 12053 "description" : "Maximum write I/O in operations per second.",
44660702 12054 "format_description" : "iops",
56122987 12055 "optional" : 1,
44660702
DM
12056 "type" : "integer"
12057 },
de0983cb 12058 "iops_wr_length" : {
5d9c884c 12059 "alias" : "iops_wr_max_length"
de0983cb 12060 },
44660702 12061 "iops_wr_max" : {
de0983cb 12062 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12063 "format_description" : "iops",
12064 "optional" : 1,
12065 "type" : "integer"
56122987 12066 },
5d9c884c
DM
12067 "iops_wr_max_length" : {
12068 "description" : "Maximum length of write I/O bursts in seconds.",
12069 "format_description" : "seconds",
12070 "minimum" : 1,
12071 "optional" : 1,
12072 "type" : "integer"
12073 },
7aacca6f 12074 "iothread" : {
7aacca6f 12075 "description" : "Whether to use iothreads for this drive",
56122987 12076 "optional" : 1,
56122987
DM
12077 "type" : "boolean"
12078 },
44660702 12079 "mbps" : {
de0983cb 12080 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12081 "format_description" : "mbps",
12082 "optional" : 1,
12083 "type" : "number"
12084 },
12085 "mbps_max" : {
de0983cb 12086 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12087 "format_description" : "mbps",
12088 "optional" : 1,
12089 "type" : "number"
12090 },
12091 "mbps_rd" : {
de0983cb 12092 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12093 "format_description" : "mbps",
12094 "optional" : 1,
12095 "type" : "number"
12096 },
12097 "mbps_rd_max" : {
de0983cb 12098 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12099 "format_description" : "mbps",
12100 "optional" : 1,
12101 "type" : "number"
12102 },
12103 "mbps_wr" : {
de0983cb 12104 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12105 "format_description" : "mbps",
12106 "optional" : 1,
12107 "type" : "number"
12108 },
12109 "mbps_wr_max" : {
de0983cb 12110 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12111 "format_description" : "mbps",
12112 "optional" : 1,
12113 "type" : "number"
12114 },
7aacca6f 12115 "media" : {
44660702
DM
12116 "default" : "disk",
12117 "description" : "The drive's media type.",
7aacca6f
DM
12118 "enum" : [
12119 "cdrom",
12120 "disk"
12121 ],
56122987 12122 "optional" : 1,
44660702
DM
12123 "type" : "string"
12124 },
12125 "queues" : {
12126 "description" : "Number of queues.",
44660702
DM
12127 "minimum" : 2,
12128 "optional" : 1,
12129 "type" : "integer"
12130 },
5d9c884c
DM
12131 "replicate" : {
12132 "default" : 1,
12133 "description" : "Whether the drive should considered for replication jobs.",
12134 "optional" : 1,
12135 "type" : "boolean"
12136 },
12137 "rerror" : {
12138 "description" : "Read error action.",
12139 "enum" : [
12140 "ignore",
12141 "report",
12142 "stop"
12143 ],
12144 "optional" : 1,
12145 "type" : "string"
12146 },
52e44c50
FG
12147 "scsiblock" : {
12148 "default" : 0,
12149 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
12150 "optional" : 1,
12151 "type" : "boolean"
12152 },
44660702
DM
12153 "secs" : {
12154 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12155 "optional" : 1,
12156 "type" : "integer"
12157 },
12158 "serial" : {
12159 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12160 "format" : "urlencoded",
12161 "format_description" : "serial",
12162 "maxLength" : 60,
12163 "optional" : 1,
12164 "type" : "string"
12165 },
27a7acb2
DM
12166 "shared" : {
12167 "default" : 0,
12168 "description" : "Mark this locally-managed volume as available on all nodes",
12169 "optional" : 1,
12170 "type" : "boolean",
12171 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
12172 },
44660702
DM
12173 "size" : {
12174 "description" : "Disk size. This is purely informational and has no effect.",
12175 "format" : "disk-size",
f004f5b9 12176 "format_description" : "DiskSize",
44660702
DM
12177 "optional" : 1,
12178 "type" : "string"
56122987 12179 },
7aacca6f 12180 "snapshot" : {
27a7acb2 12181 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
7aacca6f 12182 "optional" : 1,
44660702 12183 "type" : "boolean"
7aacca6f 12184 },
25203dc1
NC
12185 "ssd" : {
12186 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12187 "optional" : 1,
12188 "type" : "boolean"
12189 },
44660702
DM
12190 "trans" : {
12191 "description" : "Force disk geometry bios translation mode.",
12192 "enum" : [
12193 "none",
12194 "lba",
12195 "auto"
12196 ],
44660702
DM
12197 "optional" : 1,
12198 "type" : "string"
12199 },
12200 "volume" : {
12201 "alias" : "file"
12202 },
12203 "werror" : {
12204 "description" : "Write error action.",
12205 "enum" : [
12206 "enospc",
12207 "ignore",
12208 "report",
12209 "stop"
12210 ],
56122987 12211 "optional" : 1,
44660702 12212 "type" : "string"
95895385
TL
12213 },
12214 "wwn" : {
12215 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12216 "format_description" : "wwn",
12217 "optional" : 1,
12218 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12219 "type" : "string"
56122987 12220 }
44660702 12221 },
7aacca6f 12222 "optional" : 1,
4d47f125 12223 "type" : "string"
44660702
DM
12224 },
12225 "scsihw" : {
12226 "default" : "lsi",
c2993fe5 12227 "description" : "SCSI controller model",
7aacca6f 12228 "enum" : [
44660702
DM
12229 "lsi",
12230 "lsi53c810",
12231 "virtio-scsi-pci",
12232 "virtio-scsi-single",
12233 "megasas",
12234 "pvscsi"
7aacca6f 12235 ],
44660702
DM
12236 "optional" : 1,
12237 "type" : "string"
56122987 12238 },
27a7acb2
DM
12239 "searchdomain" : {
12240 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
12241 "optional" : 1,
4d47f125 12242 "type" : "string"
27a7acb2 12243 },
44660702 12244 "serial[n]" : {
c2993fe5 12245 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 12246 "optional" : 1,
44660702 12247 "pattern" : "(/dev/.+|socket)",
c2993fe5 12248 "type" : "string",
57b78691 12249 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 12250 },
44660702
DM
12251 "shares" : {
12252 "default" : 1000,
5da3d723 12253 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
12254 "maximum" : 50000,
12255 "minimum" : 0,
56122987 12256 "optional" : 1,
4d47f125 12257 "type" : "integer"
56122987 12258 },
44660702
DM
12259 "smbios1" : {
12260 "description" : "Specify SMBIOS type 1 fields.",
12261 "format" : "pve-qm-smbios1",
1e3f8156 12262 "maxLength" : 512,
56122987 12263 "optional" : 1,
4d47f125 12264 "type" : "string"
56122987 12265 },
44660702
DM
12266 "smp" : {
12267 "default" : 1,
12268 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 12269 "minimum" : 1,
7aacca6f 12270 "optional" : 1,
4d47f125 12271 "type" : "integer"
7aacca6f 12272 },
44660702
DM
12273 "sockets" : {
12274 "default" : 1,
12275 "description" : "The number of CPU sockets.",
12276 "minimum" : 1,
7aacca6f 12277 "optional" : 1,
4d47f125 12278 "type" : "integer"
56122987 12279 },
1c532546
TL
12280 "spice_enhancements" : {
12281 "description" : "Configure additional enhancements for SPICE.",
12282 "format" : {
12283 "foldersharing" : {
12284 "default" : "0",
12285 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
12286 "optional" : 1,
12287 "type" : "boolean"
12288 },
12289 "videostreaming" : {
12290 "default" : "off",
12291 "description" : "Enable video streaming. Uses compression for detected video streams.",
12292 "enum" : [
12293 "off",
12294 "all",
12295 "filter"
12296 ],
12297 "optional" : 1,
12298 "type" : "string"
12299 }
12300 },
12301 "optional" : 1,
12302 "type" : "string"
12303 },
27a7acb2
DM
12304 "sshkeys" : {
12305 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
12306 "format" : "urlencoded",
12307 "optional" : 1,
4d47f125 12308 "type" : "string"
27a7acb2 12309 },
44660702
DM
12310 "startdate" : {
12311 "default" : "now",
12312 "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
7aacca6f 12313 "optional" : 1,
44660702 12314 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 12315 "type" : "string",
44660702 12316 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 12317 },
7aacca6f 12318 "startup" : {
7aacca6f 12319 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
44660702 12320 "format" : "pve-startup-order",
56122987 12321 "optional" : 1,
44660702
DM
12322 "type" : "string",
12323 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 12324 },
44660702 12325 "tablet" : {
7aacca6f 12326 "default" : 1,
c2993fe5 12327 "description" : "Enable/disable the USB tablet device.",
7aacca6f 12328 "optional" : 1,
c2993fe5
DM
12329 "type" : "boolean",
12330 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
56122987 12331 },
5c1699e5
TL
12332 "tags" : {
12333 "description" : "Tags of the VM. This is only meta information.",
12334 "format" : "pve-tag-list",
12335 "optional" : 1,
12336 "type" : "string"
12337 },
44660702
DM
12338 "tdf" : {
12339 "default" : 0,
12340 "description" : "Enable/disable time drift fix.",
7aacca6f 12341 "optional" : 1,
4d47f125 12342 "type" : "boolean"
7aacca6f 12343 },
44660702
DM
12344 "template" : {
12345 "default" : 0,
12346 "description" : "Enable/disable Template.",
7aacca6f 12347 "optional" : 1,
4d47f125 12348 "type" : "boolean"
7aacca6f 12349 },
44660702 12350 "unused[n]" : {
c2993fe5 12351 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
12352 "format" : {
12353 "file" : {
12354 "default_key" : 1,
12355 "description" : "The drive's backing volume.",
12356 "format" : "pve-volume-id",
12357 "format_description" : "volume",
12358 "type" : "string"
12359 },
12360 "volume" : {
12361 "alias" : "file"
12362 }
12363 },
7aacca6f 12364 "optional" : 1,
4d47f125 12365 "type" : "string"
7aacca6f 12366 },
44660702 12367 "usb[n]" : {
c2993fe5 12368 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
12369 "format" : {
12370 "host" : {
12371 "default_key" : 1,
c2993fe5 12372 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
12373 "format" : "pve-qm-usb-device",
12374 "format_description" : "HOSTUSBDEVICE|spice",
12375 "type" : "string"
12376 },
12377 "usb3" : {
c2993fe5 12378 "default" : 0,
1c532546 12379 "description" : "Specifies whether if given host option is a USB3 device or port.",
44660702
DM
12380 "optional" : 1,
12381 "type" : "boolean"
12382 }
12383 },
7aacca6f 12384 "optional" : 1,
4d47f125 12385 "type" : "string"
56122987 12386 },
44660702
DM
12387 "vcpus" : {
12388 "default" : 0,
12389 "description" : "Number of hotplugged vcpus.",
12390 "minimum" : 1,
56122987 12391 "optional" : 1,
4d47f125 12392 "type" : "integer"
56122987 12393 },
44660702 12394 "vga" : {
e2d681b3
TL
12395 "description" : "Configure the VGA hardware.",
12396 "format" : {
12397 "memory" : {
12398 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
12399 "maximum" : 512,
12400 "minimum" : 4,
12401 "optional" : 1,
12402 "type" : "integer"
12403 },
12404 "type" : {
12405 "default" : "std",
12406 "default_key" : 1,
12407 "description" : "Select the VGA type.",
12408 "enum" : [
12409 "cirrus",
12410 "qxl",
12411 "qxl2",
12412 "qxl3",
12413 "qxl4",
5f26e15b 12414 "none",
e2d681b3
TL
12415 "serial0",
12416 "serial1",
12417 "serial2",
12418 "serial3",
12419 "std",
12420 "virtio",
12421 "vmware"
12422 ],
12423 "optional" : 1,
12424 "type" : "string"
12425 }
12426 },
56122987 12427 "optional" : 1,
c2993fe5 12428 "type" : "string",
e2d681b3 12429 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
56122987 12430 },
44660702
DM
12431 "virtio[n]" : {
12432 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 12433 "format" : {
44660702
DM
12434 "aio" : {
12435 "description" : "AIO type to use.",
56122987 12436 "enum" : [
44660702
DM
12437 "native",
12438 "threads"
56122987 12439 ],
56122987
DM
12440 "optional" : 1,
12441 "type" : "string"
12442 },
44660702
DM
12443 "backup" : {
12444 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12445 "optional" : 1,
12446 "type" : "boolean"
7aacca6f 12447 },
44660702 12448 "bps" : {
de0983cb 12449 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12450 "format_description" : "bps",
12451 "optional" : 1,
12452 "type" : "integer"
56122987 12453 },
de0983cb
DM
12454 "bps_max_length" : {
12455 "description" : "Maximum length of I/O bursts in seconds.",
12456 "format_description" : "seconds",
12457 "minimum" : 1,
12458 "optional" : 1,
12459 "type" : "integer"
12460 },
44660702 12461 "bps_rd" : {
de0983cb 12462 "description" : "Maximum read speed in bytes per second.",
44660702 12463 "format_description" : "bps",
56122987 12464 "optional" : 1,
44660702 12465 "type" : "integer"
56122987 12466 },
de0983cb 12467 "bps_rd_length" : {
5d9c884c
DM
12468 "alias" : "bps_rd_max_length"
12469 },
12470 "bps_rd_max_length" : {
de0983cb
DM
12471 "description" : "Maximum length of read I/O bursts in seconds.",
12472 "format_description" : "seconds",
12473 "minimum" : 1,
12474 "optional" : 1,
12475 "type" : "integer"
12476 },
44660702 12477 "bps_wr" : {
de0983cb 12478 "description" : "Maximum write speed in bytes per second.",
44660702 12479 "format_description" : "bps",
56122987 12480 "optional" : 1,
44660702
DM
12481 "type" : "integer"
12482 },
de0983cb 12483 "bps_wr_length" : {
5d9c884c
DM
12484 "alias" : "bps_wr_max_length"
12485 },
12486 "bps_wr_max_length" : {
de0983cb
DM
12487 "description" : "Maximum length of write I/O bursts in seconds.",
12488 "format_description" : "seconds",
12489 "minimum" : 1,
12490 "optional" : 1,
12491 "type" : "integer"
12492 },
44660702
DM
12493 "cache" : {
12494 "description" : "The drive's cache mode",
56122987 12495 "enum" : [
44660702
DM
12496 "none",
12497 "writethrough",
12498 "writeback",
12499 "unsafe",
12500 "directsync"
56122987 12501 ],
56122987 12502 "optional" : 1,
44660702 12503 "type" : "string"
56122987 12504 },
44660702
DM
12505 "cyls" : {
12506 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12507 "optional" : 1,
44660702 12508 "type" : "integer"
7aacca6f 12509 },
44660702
DM
12510 "detect_zeroes" : {
12511 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12512 "optional" : 1,
12513 "type" : "boolean"
7aacca6f 12514 },
44660702
DM
12515 "discard" : {
12516 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12517 "enum" : [
12518 "ignore",
12519 "on"
12520 ],
56122987 12521 "optional" : 1,
44660702 12522 "type" : "string"
56122987
DM
12523 },
12524 "file" : {
7aacca6f 12525 "default_key" : 1,
44660702 12526 "description" : "The drive's backing volume.",
7aacca6f 12527 "format" : "pve-volume-id-or-qm-path",
44660702
DM
12528 "format_description" : "volume",
12529 "type" : "string"
7aacca6f
DM
12530 },
12531 "format" : {
7aacca6f
DM
12532 "description" : "The drive's backing file's data format.",
12533 "enum" : [
12534 "raw",
12535 "cow",
12536 "qcow",
12537 "qed",
12538 "qcow2",
12539 "vmdk",
12540 "cloop"
56122987
DM
12541 ],
12542 "optional" : 1,
56122987
DM
12543 "type" : "string"
12544 },
44660702
DM
12545 "heads" : {
12546 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12547 "optional" : 1,
44660702 12548 "type" : "integer"
56122987 12549 },
44660702 12550 "iops" : {
de0983cb 12551 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12552 "format_description" : "iops",
56122987 12553 "optional" : 1,
44660702 12554 "type" : "integer"
56122987 12555 },
44660702 12556 "iops_max" : {
de0983cb 12557 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12558 "format_description" : "iops",
56122987 12559 "optional" : 1,
56122987
DM
12560 "type" : "integer"
12561 },
de0983cb
DM
12562 "iops_max_length" : {
12563 "description" : "Maximum length of I/O bursts in seconds.",
12564 "format_description" : "seconds",
12565 "minimum" : 1,
12566 "optional" : 1,
12567 "type" : "integer"
12568 },
44660702 12569 "iops_rd" : {
de0983cb 12570 "description" : "Maximum read I/O in operations per second.",
44660702 12571 "format_description" : "iops",
56122987 12572 "optional" : 1,
44660702 12573 "type" : "integer"
56122987 12574 },
de0983cb 12575 "iops_rd_length" : {
5d9c884c 12576 "alias" : "iops_rd_max_length"
de0983cb 12577 },
44660702 12578 "iops_rd_max" : {
de0983cb 12579 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12580 "format_description" : "iops",
7aacca6f 12581 "optional" : 1,
44660702 12582 "type" : "integer"
56122987 12583 },
5d9c884c
DM
12584 "iops_rd_max_length" : {
12585 "description" : "Maximum length of read I/O bursts in seconds.",
12586 "format_description" : "seconds",
12587 "minimum" : 1,
12588 "optional" : 1,
12589 "type" : "integer"
12590 },
44660702 12591 "iops_wr" : {
de0983cb 12592 "description" : "Maximum write I/O in operations per second.",
44660702 12593 "format_description" : "iops",
7aacca6f 12594 "optional" : 1,
44660702 12595 "type" : "integer"
56122987 12596 },
de0983cb 12597 "iops_wr_length" : {
5d9c884c 12598 "alias" : "iops_wr_max_length"
de0983cb 12599 },
44660702 12600 "iops_wr_max" : {
de0983cb 12601 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12602 "format_description" : "iops",
56122987
DM
12603 "optional" : 1,
12604 "type" : "integer"
12605 },
5d9c884c
DM
12606 "iops_wr_max_length" : {
12607 "description" : "Maximum length of write I/O bursts in seconds.",
12608 "format_description" : "seconds",
12609 "minimum" : 1,
12610 "optional" : 1,
12611 "type" : "integer"
12612 },
44660702
DM
12613 "iothread" : {
12614 "description" : "Whether to use iothreads for this drive",
44660702
DM
12615 "optional" : 1,
12616 "type" : "boolean"
12617 },
12618 "mbps" : {
de0983cb 12619 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 12620 "format_description" : "mbps",
44660702
DM
12621 "optional" : 1,
12622 "type" : "number"
12623 },
12624 "mbps_max" : {
de0983cb 12625 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12626 "format_description" : "mbps",
12627 "optional" : 1,
12628 "type" : "number"
7aacca6f 12629 },
44660702 12630 "mbps_rd" : {
de0983cb 12631 "description" : "Maximum read speed in megabytes per second.",
44660702 12632 "format_description" : "mbps",
56122987 12633 "optional" : 1,
44660702 12634 "type" : "number"
56122987 12635 },
44660702 12636 "mbps_rd_max" : {
de0983cb 12637 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12638 "format_description" : "mbps",
7aacca6f 12639 "optional" : 1,
44660702 12640 "type" : "number"
56122987 12641 },
44660702 12642 "mbps_wr" : {
de0983cb 12643 "description" : "Maximum write speed in megabytes per second.",
44660702 12644 "format_description" : "mbps",
56122987 12645 "optional" : 1,
44660702 12646 "type" : "number"
56122987 12647 },
44660702 12648 "mbps_wr_max" : {
de0983cb 12649 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12650 "format_description" : "mbps",
56122987 12651 "optional" : 1,
44660702 12652 "type" : "number"
56122987
DM
12653 },
12654 "media" : {
7aacca6f 12655 "default" : "disk",
44660702 12656 "description" : "The drive's media type.",
56122987
DM
12657 "enum" : [
12658 "cdrom",
12659 "disk"
12660 ],
44660702
DM
12661 "optional" : 1,
12662 "type" : "string"
56122987 12663 },
5d9c884c
DM
12664 "replicate" : {
12665 "default" : 1,
12666 "description" : "Whether the drive should considered for replication jobs.",
12667 "optional" : 1,
12668 "type" : "boolean"
12669 },
7aacca6f 12670 "rerror" : {
44660702 12671 "description" : "Read error action.",
56122987 12672 "enum" : [
7aacca6f
DM
12673 "ignore",
12674 "report",
12675 "stop"
56122987 12676 ],
56122987 12677 "optional" : 1,
44660702 12678 "type" : "string"
56122987 12679 },
44660702
DM
12680 "secs" : {
12681 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12682 "optional" : 1,
12683 "type" : "integer"
12684 },
12685 "serial" : {
12686 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12687 "format" : "urlencoded",
12688 "format_description" : "serial",
12689 "maxLength" : 60,
56122987 12690 "optional" : 1,
7aacca6f 12691 "type" : "string"
56122987 12692 },
27a7acb2
DM
12693 "shared" : {
12694 "default" : 0,
12695 "description" : "Mark this locally-managed volume as available on all nodes",
12696 "optional" : 1,
12697 "type" : "boolean",
12698 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
12699 },
44660702
DM
12700 "size" : {
12701 "description" : "Disk size. This is purely informational and has no effect.",
12702 "format" : "disk-size",
f004f5b9 12703 "format_description" : "DiskSize",
56122987 12704 "optional" : 1,
44660702 12705 "type" : "string"
56122987 12706 },
44660702 12707 "snapshot" : {
27a7acb2 12708 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 12709 "optional" : 1,
44660702 12710 "type" : "boolean"
56122987 12711 },
44660702
DM
12712 "trans" : {
12713 "description" : "Force disk geometry bios translation mode.",
12714 "enum" : [
12715 "none",
12716 "lba",
12717 "auto"
12718 ],
44660702
DM
12719 "optional" : 1,
12720 "type" : "string"
12721 },
12722 "volume" : {
12723 "alias" : "file"
12724 },
12725 "werror" : {
12726 "description" : "Write error action.",
12727 "enum" : [
12728 "enospc",
12729 "ignore",
12730 "report",
12731 "stop"
12732 ],
56122987 12733 "optional" : 1,
44660702 12734 "type" : "string"
56122987 12735 }
44660702 12736 },
56122987 12737 "optional" : 1,
4d47f125 12738 "type" : "string"
56122987 12739 },
4d47f125
TL
12740 "vmgenid" : {
12741 "default" : "1 (autogenerated)",
12742 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
12743 "format_description" : "UUID",
12744 "optional" : 1,
12745 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
12746 "type" : "string",
12747 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
56122987 12748 },
2489d6df
WB
12749 "vmstatestorage" : {
12750 "description" : "Default storage for VM state volumes/files.",
12751 "format" : "pve-storage-id",
12752 "optional" : 1,
4d47f125 12753 "type" : "string"
2489d6df 12754 },
44660702 12755 "watchdog" : {
c2993fe5 12756 "description" : "Create a virtual hardware watchdog device.",
44660702 12757 "format" : "pve-qm-watchdog",
56122987 12758 "optional" : 1,
c2993fe5
DM
12759 "type" : "string",
12760 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
56122987 12761 }
4d47f125
TL
12762 },
12763 "type" : "object"
44660702 12764 }
56122987 12765 },
4d47f125 12766 "POST" : {
e9cd3bd4 12767 "allowtoken" : 1,
4d47f125
TL
12768 "description" : "Set virtual machine options (asynchrounous API).",
12769 "method" : "POST",
12770 "name" : "update_vm_async",
56122987 12771 "parameters" : {
7aacca6f 12772 "additionalProperties" : 0,
56122987 12773 "properties" : {
44660702
DM
12774 "acpi" : {
12775 "default" : 1,
12776 "description" : "Enable/disable ACPI.",
7aacca6f 12777 "optional" : 1,
013dc89f
DM
12778 "type" : "boolean",
12779 "typetext" : "<boolean>"
7aacca6f 12780 },
44660702 12781 "agent" : {
4d47f125
TL
12782 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12783 "format" : {
12784 "enabled" : {
12785 "default" : 0,
12786 "default_key" : 1,
12787 "description" : "Enable/disable Qemu GuestAgent.",
12788 "type" : "boolean"
12789 },
12790 "fstrim_cloned_disks" : {
12791 "default" : 0,
12792 "description" : "Run fstrim after cloning/moving a disk.",
12793 "optional" : 1,
12794 "type" : "boolean"
5c1699e5
TL
12795 },
12796 "type" : {
12797 "default" : "virtio",
12798 "description" : "Select the agent type",
12799 "enum" : [
12800 "virtio",
12801 "isa"
12802 ],
12803 "optional" : 1,
12804 "type" : "string"
4d47f125
TL
12805 }
12806 },
7aacca6f 12807 "optional" : 1,
4d47f125 12808 "type" : "string",
5c1699e5 12809 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 12810 },
e2d681b3
TL
12811 "arch" : {
12812 "description" : "Virtual processor architecture. Defaults to the host.",
12813 "enum" : [
12814 "x86_64",
12815 "aarch64"
12816 ],
12817 "optional" : 1,
12818 "type" : "string"
12819 },
44660702 12820 "args" : {
c2993fe5 12821 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 12822 "optional" : 1,
c2993fe5 12823 "type" : "string",
013dc89f 12824 "typetext" : "<string>",
c2993fe5 12825 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
7aacca6f 12826 },
1c532546
TL
12827 "audio0" : {
12828 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
12829 "format" : {
12830 "device" : {
12831 "description" : "Configure an audio device.",
12832 "enum" : [
12833 "ich9-intel-hda",
12834 "intel-hda",
12835 "AC97"
12836 ],
12837 "type" : "string"
12838 },
12839 "driver" : {
12840 "default" : "spice",
12841 "description" : "Driver backend for the audio device.",
12842 "enum" : [
12843 "spice"
12844 ],
12845 "optional" : 1,
12846 "type" : "string"
12847 }
12848 },
12849 "optional" : 1,
12850 "type" : "string",
12851 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
12852 },
44660702
DM
12853 "autostart" : {
12854 "default" : 0,
12855 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12856 "optional" : 1,
013dc89f
DM
12857 "type" : "boolean",
12858 "typetext" : "<boolean>"
7aacca6f 12859 },
4d47f125
TL
12860 "background_delay" : {
12861 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
12862 "maximum" : 30,
12863 "minimum" : 1,
12864 "optional" : 1,
12865 "type" : "integer",
12866 "typetext" : "<integer> (1 - 30)"
12867 },
44660702
DM
12868 "balloon" : {
12869 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12870 "minimum" : 0,
12871 "optional" : 1,
4bd7df8b 12872 "type" : "integer",
013dc89f 12873 "typetext" : "<integer> (0 - N)"
44660702
DM
12874 },
12875 "bios" : {
12876 "default" : "seabios",
12877 "description" : "Select BIOS implementation.",
7aacca6f 12878 "enum" : [
44660702
DM
12879 "seabios",
12880 "ovmf"
7aacca6f 12881 ],
56122987 12882 "optional" : 1,
7aacca6f
DM
12883 "type" : "string"
12884 },
44660702
DM
12885 "boot" : {
12886 "default" : "cdn",
12887 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 12888 "optional" : 1,
44660702
DM
12889 "pattern" : "[acdn]{1,4}",
12890 "type" : "string"
56122987 12891 },
44660702
DM
12892 "bootdisk" : {
12893 "description" : "Enable booting from specified disk.",
12894 "format" : "pve-qm-bootdisk",
12895 "optional" : 1,
12896 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12897 "type" : "string"
12898 },
12899 "cdrom" : {
12900 "description" : "This is an alias for option -ide2",
de0983cb 12901 "format" : "pve-qm-ide",
56122987 12902 "optional" : 1,
7aacca6f 12903 "type" : "string",
013dc89f 12904 "typetext" : "<volume>"
44660702 12905 },
95895385
TL
12906 "cicustom" : {
12907 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
12908 "format" : "pve-qm-cicustom",
12909 "optional" : 1,
12910 "type" : "string",
12911 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
12912 },
27a7acb2
DM
12913 "cipassword" : {
12914 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
12915 "optional" : 1,
12916 "type" : "string",
12917 "typetext" : "<string>"
12918 },
12919 "citype" : {
12920 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
12921 "enum" : [
12922 "configdrive2",
12923 "nocloud"
12924 ],
12925 "optional" : 1,
12926 "type" : "string"
12927 },
12928 "ciuser" : {
12929 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12930 "optional" : 1,
12931 "type" : "string",
12932 "typetext" : "<string>"
12933 },
44660702
DM
12934 "cores" : {
12935 "default" : 1,
12936 "description" : "The number of cores per socket.",
12937 "minimum" : 1,
12938 "optional" : 1,
4bd7df8b 12939 "type" : "integer",
013dc89f 12940 "typetext" : "<integer> (1 - N)"
44660702
DM
12941 },
12942 "cpu" : {
12943 "description" : "Emulated CPU type.",
c5aa7e14 12944 "format" : "pve-vm-cpu-conf",
44660702 12945 "optional" : 1,
4bd7df8b 12946 "type" : "string",
04d22a9f 12947 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702
DM
12948 },
12949 "cpulimit" : {
12950 "default" : 0,
c2993fe5 12951 "description" : "Limit of CPU usage.",
44660702
DM
12952 "maximum" : 128,
12953 "minimum" : 0,
12954 "optional" : 1,
c2993fe5 12955 "type" : "number",
013dc89f 12956 "typetext" : "<number> (0 - 128)",
c2993fe5 12957 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
44660702
DM
12958 },
12959 "cpuunits" : {
de0983cb 12960 "default" : 1024,
c2993fe5 12961 "description" : "CPU weight for a VM.",
2489d6df
WB
12962 "maximum" : 262144,
12963 "minimum" : 2,
44660702 12964 "optional" : 1,
c2993fe5 12965 "type" : "integer",
2489d6df
WB
12966 "typetext" : "<integer> (2 - 262144)",
12967 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
44660702
DM
12968 },
12969 "delete" : {
12970 "description" : "A list of settings you want to delete.",
12971 "format" : "pve-configid-list",
12972 "optional" : 1,
013dc89f
DM
12973 "type" : "string",
12974 "typetext" : "<string>"
44660702
DM
12975 },
12976 "description" : {
12977 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12978 "optional" : 1,
013dc89f
DM
12979 "type" : "string",
12980 "typetext" : "<string>"
44660702
DM
12981 },
12982 "digest" : {
12983 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12984 "maxLength" : 40,
12985 "optional" : 1,
013dc89f
DM
12986 "type" : "string",
12987 "typetext" : "<string>"
44660702 12988 },
4d47f125
TL
12989 "efidisk0" : {
12990 "description" : "Configure a Disk for storing EFI vars",
12991 "format" : {
12992 "file" : {
12993 "default_key" : 1,
12994 "description" : "The drive's backing volume.",
12995 "format" : "pve-volume-id-or-qm-path",
12996 "format_description" : "volume",
12997 "type" : "string"
12998 },
12999 "format" : {
13000 "description" : "The drive's backing file's data format.",
13001 "enum" : [
13002 "raw",
13003 "cow",
13004 "qcow",
13005 "qed",
13006 "qcow2",
13007 "vmdk",
13008 "cloop"
13009 ],
13010 "optional" : 1,
13011 "type" : "string"
13012 },
13013 "size" : {
13014 "description" : "Disk size. This is purely informational and has no effect.",
13015 "format" : "disk-size",
13016 "format_description" : "DiskSize",
13017 "optional" : 1,
13018 "type" : "string"
13019 },
13020 "volume" : {
13021 "alias" : "file"
13022 }
13023 },
13024 "optional" : 1,
13025 "type" : "string",
13026 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
13027 },
44660702
DM
13028 "force" : {
13029 "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
13030 "optional" : 1,
13031 "requires" : "delete",
013dc89f
DM
13032 "type" : "boolean",
13033 "typetext" : "<boolean>"
44660702
DM
13034 },
13035 "freeze" : {
13036 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13037 "optional" : 1,
013dc89f
DM
13038 "type" : "boolean",
13039 "typetext" : "<boolean>"
44660702 13040 },
5f26e15b
TL
13041 "hookscript" : {
13042 "description" : "Script that will be executed during various steps in the vms lifetime.",
13043 "format" : "pve-volume-id",
13044 "optional" : 1,
13045 "type" : "string",
13046 "typetext" : "<string>"
13047 },
44660702 13048 "hostpci[n]" : {
c2993fe5 13049 "description" : "Map host PCI devices into guest.",
44660702
DM
13050 "format" : "pve-qm-hostpci",
13051 "optional" : 1,
57b78691 13052 "type" : "string",
ac70d7d1 13053 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 13054 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 13055 },
7aacca6f 13056 "hotplug" : {
7aacca6f 13057 "default" : "network,disk,usb",
44660702
DM
13058 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
13059 "format" : "pve-hotplug-features",
56122987 13060 "optional" : 1,
013dc89f
DM
13061 "type" : "string",
13062 "typetext" : "<string>"
56122987 13063 },
4bd7df8b
DM
13064 "hugepages" : {
13065 "description" : "Enable/disable hugepages memory.",
13066 "enum" : [
13067 "any",
13068 "2",
13069 "1024"
13070 ],
13071 "optional" : 1,
13072 "type" : "string"
13073 },
56122987 13074 "ide[n]" : {
7aacca6f 13075 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 13076 "format" : {
44660702
DM
13077 "aio" : {
13078 "description" : "AIO type to use.",
13079 "enum" : [
13080 "native",
13081 "threads"
13082 ],
56122987 13083 "optional" : 1,
44660702 13084 "type" : "string"
56122987 13085 },
44660702
DM
13086 "backup" : {
13087 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13088 "optional" : 1,
13089 "type" : "boolean"
13090 },
13091 "bps" : {
de0983cb 13092 "description" : "Maximum r/w speed in bytes per second.",
44660702 13093 "format_description" : "bps",
56122987 13094 "optional" : 1,
44660702 13095 "type" : "integer"
56122987 13096 },
de0983cb
DM
13097 "bps_max_length" : {
13098 "description" : "Maximum length of I/O bursts in seconds.",
13099 "format_description" : "seconds",
13100 "minimum" : 1,
13101 "optional" : 1,
13102 "type" : "integer"
13103 },
44660702 13104 "bps_rd" : {
de0983cb 13105 "description" : "Maximum read speed in bytes per second.",
44660702 13106 "format_description" : "bps",
56122987 13107 "optional" : 1,
44660702 13108 "type" : "integer"
56122987 13109 },
de0983cb 13110 "bps_rd_length" : {
5d9c884c
DM
13111 "alias" : "bps_rd_max_length"
13112 },
13113 "bps_rd_max_length" : {
de0983cb
DM
13114 "description" : "Maximum length of read I/O bursts in seconds.",
13115 "format_description" : "seconds",
13116 "minimum" : 1,
13117 "optional" : 1,
13118 "type" : "integer"
13119 },
7aacca6f 13120 "bps_wr" : {
de0983cb 13121 "description" : "Maximum write speed in bytes per second.",
44660702
DM
13122 "format_description" : "bps",
13123 "optional" : 1,
13124 "type" : "integer"
7aacca6f 13125 },
de0983cb 13126 "bps_wr_length" : {
5d9c884c
DM
13127 "alias" : "bps_wr_max_length"
13128 },
13129 "bps_wr_max_length" : {
de0983cb
DM
13130 "description" : "Maximum length of write I/O bursts in seconds.",
13131 "format_description" : "seconds",
13132 "minimum" : 1,
13133 "optional" : 1,
13134 "type" : "integer"
13135 },
44660702
DM
13136 "cache" : {
13137 "description" : "The drive's cache mode",
13138 "enum" : [
13139 "none",
13140 "writethrough",
13141 "writeback",
13142 "unsafe",
13143 "directsync"
13144 ],
56122987 13145 "optional" : 1,
44660702
DM
13146 "type" : "string"
13147 },
13148 "cyls" : {
13149 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13150 "optional" : 1,
13151 "type" : "integer"
13152 },
13153 "detect_zeroes" : {
13154 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13155 "optional" : 1,
13156 "type" : "boolean"
56122987 13157 },
7aacca6f 13158 "discard" : {
7aacca6f 13159 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 13160 "enum" : [
7aacca6f
DM
13161 "ignore",
13162 "on"
56122987
DM
13163 ],
13164 "optional" : 1,
44660702 13165 "type" : "string"
7aacca6f 13166 },
44660702
DM
13167 "file" : {
13168 "default_key" : 1,
13169 "description" : "The drive's backing volume.",
13170 "format" : "pve-volume-id-or-qm-path",
13171 "format_description" : "volume",
13172 "type" : "string"
7aacca6f
DM
13173 },
13174 "format" : {
44660702 13175 "description" : "The drive's backing file's data format.",
7aacca6f
DM
13176 "enum" : [
13177 "raw",
13178 "cow",
13179 "qcow",
13180 "qed",
13181 "qcow2",
13182 "vmdk",
13183 "cloop"
13184 ],
7aacca6f 13185 "optional" : 1,
44660702 13186 "type" : "string"
56122987 13187 },
7aacca6f 13188 "heads" : {
44660702 13189 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 13190 "optional" : 1,
44660702 13191 "type" : "integer"
7aacca6f 13192 },
44660702 13193 "iops" : {
de0983cb 13194 "description" : "Maximum r/w I/O in operations per second.",
44660702 13195 "format_description" : "iops",
7aacca6f 13196 "optional" : 1,
44660702 13197 "type" : "integer"
56122987 13198 },
44660702 13199 "iops_max" : {
de0983cb 13200 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13201 "format_description" : "iops",
56122987 13202 "optional" : 1,
44660702 13203 "type" : "integer"
56122987 13204 },
de0983cb
DM
13205 "iops_max_length" : {
13206 "description" : "Maximum length of I/O bursts in seconds.",
13207 "format_description" : "seconds",
13208 "minimum" : 1,
13209 "optional" : 1,
13210 "type" : "integer"
13211 },
44660702 13212 "iops_rd" : {
de0983cb 13213 "description" : "Maximum read I/O in operations per second.",
44660702 13214 "format_description" : "iops",
56122987 13215 "optional" : 1,
44660702 13216 "type" : "integer"
7aacca6f 13217 },
de0983cb 13218 "iops_rd_length" : {
5d9c884c 13219 "alias" : "iops_rd_max_length"
de0983cb 13220 },
44660702 13221 "iops_rd_max" : {
de0983cb 13222 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13223 "format_description" : "iops",
7aacca6f 13224 "optional" : 1,
44660702 13225 "type" : "integer"
7aacca6f 13226 },
5d9c884c
DM
13227 "iops_rd_max_length" : {
13228 "description" : "Maximum length of read I/O bursts in seconds.",
13229 "format_description" : "seconds",
13230 "minimum" : 1,
13231 "optional" : 1,
13232 "type" : "integer"
13233 },
44660702 13234 "iops_wr" : {
de0983cb 13235 "description" : "Maximum write I/O in operations per second.",
44660702 13236 "format_description" : "iops",
7aacca6f 13237 "optional" : 1,
44660702 13238 "type" : "integer"
56122987 13239 },
de0983cb 13240 "iops_wr_length" : {
5d9c884c 13241 "alias" : "iops_wr_max_length"
de0983cb 13242 },
44660702 13243 "iops_wr_max" : {
de0983cb 13244 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13245 "format_description" : "iops",
7aacca6f 13246 "optional" : 1,
44660702 13247 "type" : "integer"
7aacca6f 13248 },
5d9c884c
DM
13249 "iops_wr_max_length" : {
13250 "description" : "Maximum length of write I/O bursts in seconds.",
13251 "format_description" : "seconds",
13252 "minimum" : 1,
13253 "optional" : 1,
13254 "type" : "integer"
13255 },
7aacca6f 13256 "mbps" : {
de0983cb 13257 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 13258 "format_description" : "mbps",
7aacca6f 13259 "optional" : 1,
44660702 13260 "type" : "number"
7aacca6f 13261 },
44660702 13262 "mbps_max" : {
de0983cb 13263 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 13264 "format_description" : "mbps",
7aacca6f 13265 "optional" : 1,
44660702 13266 "type" : "number"
7aacca6f 13267 },
44660702 13268 "mbps_rd" : {
de0983cb 13269 "description" : "Maximum read speed in megabytes per second.",
44660702 13270 "format_description" : "mbps",
7aacca6f 13271 "optional" : 1,
44660702 13272 "type" : "number"
7aacca6f 13273 },
44660702 13274 "mbps_rd_max" : {
de0983cb 13275 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13276 "format_description" : "mbps",
13277 "optional" : 1,
13278 "type" : "number"
7aacca6f 13279 },
44660702 13280 "mbps_wr" : {
de0983cb 13281 "description" : "Maximum write speed in megabytes per second.",
44660702 13282 "format_description" : "mbps",
7aacca6f 13283 "optional" : 1,
44660702
DM
13284 "type" : "number"
13285 },
13286 "mbps_wr_max" : {
de0983cb 13287 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13288 "format_description" : "mbps",
13289 "optional" : 1,
13290 "type" : "number"
13291 },
13292 "media" : {
13293 "default" : "disk",
13294 "description" : "The drive's media type.",
56122987 13295 "enum" : [
44660702
DM
13296 "cdrom",
13297 "disk"
56122987 13298 ],
44660702
DM
13299 "optional" : 1,
13300 "type" : "string"
56122987 13301 },
7aacca6f 13302 "model" : {
44660702 13303 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 13304 "format" : "urlencoded",
7aacca6f 13305 "format_description" : "model",
44660702 13306 "maxLength" : 120,
56122987 13307 "optional" : 1,
44660702 13308 "type" : "string"
56122987 13309 },
5d9c884c
DM
13310 "replicate" : {
13311 "default" : 1,
13312 "description" : "Whether the drive should considered for replication jobs.",
13313 "optional" : 1,
13314 "type" : "boolean"
13315 },
44660702
DM
13316 "rerror" : {
13317 "description" : "Read error action.",
13318 "enum" : [
13319 "ignore",
13320 "report",
13321 "stop"
13322 ],
56122987 13323 "optional" : 1,
44660702 13324 "type" : "string"
56122987 13325 },
44660702
DM
13326 "secs" : {
13327 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13328 "optional" : 1,
13329 "type" : "integer"
56122987 13330 },
44660702
DM
13331 "serial" : {
13332 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13333 "format" : "urlencoded",
13334 "format_description" : "serial",
13335 "maxLength" : 60,
56122987 13336 "optional" : 1,
44660702 13337 "type" : "string"
56122987 13338 },
27a7acb2
DM
13339 "shared" : {
13340 "default" : 0,
13341 "description" : "Mark this locally-managed volume as available on all nodes",
13342 "optional" : 1,
13343 "type" : "boolean",
13344 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
13345 },
44660702
DM
13346 "size" : {
13347 "description" : "Disk size. This is purely informational and has no effect.",
13348 "format" : "disk-size",
f004f5b9 13349 "format_description" : "DiskSize",
56122987 13350 "optional" : 1,
44660702 13351 "type" : "string"
56122987 13352 },
44660702 13353 "snapshot" : {
27a7acb2 13354 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 13355 "optional" : 1,
44660702 13356 "type" : "boolean"
56122987 13357 },
25203dc1
NC
13358 "ssd" : {
13359 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13360 "optional" : 1,
13361 "type" : "boolean"
13362 },
44660702
DM
13363 "trans" : {
13364 "description" : "Force disk geometry bios translation mode.",
13365 "enum" : [
13366 "none",
13367 "lba",
13368 "auto"
13369 ],
56122987 13370 "optional" : 1,
44660702
DM
13371 "type" : "string"
13372 },
13373 "volume" : {
13374 "alias" : "file"
56122987 13375 },
7aacca6f 13376 "werror" : {
44660702 13377 "description" : "Write error action.",
7aacca6f
DM
13378 "enum" : [
13379 "enospc",
13380 "ignore",
13381 "report",
13382 "stop"
13383 ],
56122987 13384 "optional" : 1,
44660702 13385 "type" : "string"
95895385
TL
13386 },
13387 "wwn" : {
13388 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13389 "format_description" : "wwn",
13390 "optional" : 1,
13391 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13392 "type" : "string"
7aacca6f 13393 }
44660702
DM
13394 },
13395 "optional" : 1,
4bd7df8b 13396 "type" : "string",
95895385 13397 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
13398 },
13399 "ipconfig[n]" : {
13400 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
13401 "format" : "pve-qm-ipconfig",
13402 "optional" : 1,
13403 "type" : "string",
13404 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 13405 },
95895385
TL
13406 "ivshmem" : {
13407 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
13408 "format" : {
13409 "name" : {
13410 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
13411 "format_description" : "string",
13412 "optional" : 1,
13413 "pattern" : "[a-zA-Z0-9\\-]+",
13414 "type" : "string"
13415 },
13416 "size" : {
13417 "description" : "The size of the file in MB.",
13418 "minimum" : 1,
13419 "type" : "integer"
13420 }
13421 },
13422 "optional" : 1,
13423 "type" : "string",
13424 "typetext" : "size=<integer> [,name=<string>]"
13425 },
44660702 13426 "keyboard" : {
35a75dd3 13427 "default" : null,
5da3d723 13428 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
44660702
DM
13429 "enum" : [
13430 "de",
13431 "de-ch",
13432 "da",
13433 "en-gb",
13434 "en-us",
13435 "es",
13436 "fi",
13437 "fr",
13438 "fr-be",
13439 "fr-ca",
13440 "fr-ch",
13441 "hu",
13442 "is",
13443 "it",
13444 "ja",
13445 "lt",
13446 "mk",
13447 "nl",
13448 "no",
13449 "pl",
13450 "pt",
13451 "pt-br",
13452 "sv",
13453 "sl",
13454 "tr"
13455 ],
7aacca6f 13456 "optional" : 1,
44660702 13457 "type" : "string"
7aacca6f 13458 },
44660702 13459 "kvm" : {
7aacca6f 13460 "default" : 1,
44660702 13461 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 13462 "optional" : 1,
013dc89f
DM
13463 "type" : "boolean",
13464 "typetext" : "<boolean>"
7aacca6f 13465 },
44660702
DM
13466 "localtime" : {
13467 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 13468 "optional" : 1,
013dc89f
DM
13469 "type" : "boolean",
13470 "typetext" : "<boolean>"
7aacca6f 13471 },
44660702
DM
13472 "lock" : {
13473 "description" : "Lock/unlock the VM.",
13474 "enum" : [
44660702 13475 "backup",
5f26e15b
TL
13476 "clone",
13477 "create",
13478 "migrate",
13479 "rollback",
44660702 13480 "snapshot",
95895385
TL
13481 "snapshot-delete",
13482 "suspending",
13483 "suspended"
44660702 13484 ],
7aacca6f 13485 "optional" : 1,
44660702 13486 "type" : "string"
7aacca6f 13487 },
44660702 13488 "machine" : {
4d47f125 13489 "description" : "Specifies the Qemu machine type.",
44660702 13490 "maxLength" : 40,
7aacca6f 13491 "optional" : 1,
5c1699e5 13492 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702 13493 "type" : "string"
7aacca6f 13494 },
44660702
DM
13495 "memory" : {
13496 "default" : 512,
13497 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
13498 "minimum" : 16,
7aacca6f 13499 "optional" : 1,
4bd7df8b 13500 "type" : "integer",
013dc89f 13501 "typetext" : "<integer> (16 - N)"
7aacca6f 13502 },
44660702
DM
13503 "migrate_downtime" : {
13504 "default" : 0.1,
13505 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
13506 "minimum" : 0,
7aacca6f 13507 "optional" : 1,
4bd7df8b 13508 "type" : "number",
013dc89f 13509 "typetext" : "<number> (0 - N)"
7aacca6f 13510 },
44660702 13511 "migrate_speed" : {
7aacca6f 13512 "default" : 0,
44660702
DM
13513 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
13514 "minimum" : 0,
13515 "optional" : 1,
4bd7df8b 13516 "type" : "integer",
013dc89f 13517 "typetext" : "<integer> (0 - N)"
7aacca6f 13518 },
44660702
DM
13519 "name" : {
13520 "description" : "Set a name for the VM. Only used on the configuration web interface.",
13521 "format" : "dns-name",
7aacca6f 13522 "optional" : 1,
013dc89f
DM
13523 "type" : "string",
13524 "typetext" : "<string>"
7aacca6f 13525 },
27a7acb2
DM
13526 "nameserver" : {
13527 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
13528 "format" : "address-list",
13529 "optional" : 1,
13530 "type" : "string",
13531 "typetext" : "<string>"
13532 },
44660702 13533 "net[n]" : {
c2993fe5 13534 "description" : "Specify network devices.",
f004f5b9
DM
13535 "format" : {
13536 "bridge" : {
c2993fe5 13537 "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
f004f5b9
DM
13538 "format_description" : "bridge",
13539 "optional" : 1,
c5aa7e14 13540 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
13541 "type" : "string"
13542 },
13543 "e1000" : {
13544 "alias" : "macaddr",
13545 "keyAlias" : "model"
13546 },
13547 "e1000-82540em" : {
13548 "alias" : "macaddr",
13549 "keyAlias" : "model"
13550 },
13551 "e1000-82544gc" : {
13552 "alias" : "macaddr",
13553 "keyAlias" : "model"
13554 },
13555 "e1000-82545em" : {
13556 "alias" : "macaddr",
13557 "keyAlias" : "model"
13558 },
13559 "firewall" : {
13560 "description" : "Whether this interface should be protected by the firewall.",
13561 "optional" : 1,
13562 "type" : "boolean"
13563 },
13564 "i82551" : {
13565 "alias" : "macaddr",
13566 "keyAlias" : "model"
13567 },
13568 "i82557b" : {
13569 "alias" : "macaddr",
13570 "keyAlias" : "model"
13571 },
13572 "i82559er" : {
13573 "alias" : "macaddr",
13574 "keyAlias" : "model"
13575 },
13576 "link_down" : {
c2993fe5 13577 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
13578 "optional" : 1,
13579 "type" : "boolean"
13580 },
13581 "macaddr" : {
c2993fe5 13582 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 13583 "format" : "mac-addr",
f004f5b9 13584 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 13585 "optional" : 1,
95895385
TL
13586 "type" : "string",
13587 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
13588 },
13589 "model" : {
13590 "default_key" : 1,
c2993fe5 13591 "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
f004f5b9
DM
13592 "enum" : [
13593 "rtl8139",
13594 "ne2k_pci",
13595 "e1000",
13596 "pcnet",
13597 "virtio",
13598 "ne2k_isa",
13599 "i82551",
13600 "i82557b",
13601 "i82559er",
13602 "vmxnet3",
13603 "e1000-82540em",
13604 "e1000-82544gc",
13605 "e1000-82545em"
13606 ],
f004f5b9
DM
13607 "type" : "string"
13608 },
ac70d7d1
TL
13609 "mtu" : {
13610 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
13611 "maximum" : 65520,
13612 "minimum" : 1,
13613 "optional" : 1,
13614 "type" : "integer"
13615 },
f004f5b9
DM
13616 "ne2k_isa" : {
13617 "alias" : "macaddr",
13618 "keyAlias" : "model"
13619 },
13620 "ne2k_pci" : {
13621 "alias" : "macaddr",
13622 "keyAlias" : "model"
13623 },
13624 "pcnet" : {
13625 "alias" : "macaddr",
13626 "keyAlias" : "model"
13627 },
13628 "queues" : {
13629 "description" : "Number of packet queues to be used on the device.",
13630 "maximum" : 16,
13631 "minimum" : 0,
13632 "optional" : 1,
13633 "type" : "integer"
13634 },
13635 "rate" : {
c2993fe5 13636 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
13637 "minimum" : 0,
13638 "optional" : 1,
13639 "type" : "number"
13640 },
13641 "rtl8139" : {
13642 "alias" : "macaddr",
13643 "keyAlias" : "model"
13644 },
13645 "tag" : {
13646 "description" : "VLAN tag to apply to packets on this interface.",
13647 "maximum" : 4094,
c2993fe5 13648 "minimum" : 1,
f004f5b9
DM
13649 "optional" : 1,
13650 "type" : "integer"
13651 },
13652 "trunks" : {
13653 "description" : "VLAN trunks to pass through this interface.",
13654 "format_description" : "vlanid[;vlanid...]",
13655 "optional" : 1,
13656 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13657 "type" : "string"
13658 },
13659 "virtio" : {
13660 "alias" : "macaddr",
13661 "keyAlias" : "model"
13662 },
13663 "vmxnet3" : {
13664 "alias" : "macaddr",
13665 "keyAlias" : "model"
13666 }
13667 },
7aacca6f 13668 "optional" : 1,
4bd7df8b 13669 "type" : "string",
ac70d7d1 13670 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
7aacca6f 13671 },
44660702
DM
13672 "node" : {
13673 "description" : "The cluster node name.",
13674 "format" : "pve-node",
013dc89f
DM
13675 "type" : "string",
13676 "typetext" : "<string>"
44660702
DM
13677 },
13678 "numa" : {
13679 "default" : 0,
13680 "description" : "Enable/disable NUMA.",
7aacca6f 13681 "optional" : 1,
013dc89f
DM
13682 "type" : "boolean",
13683 "typetext" : "<boolean>"
7aacca6f 13684 },
44660702 13685 "numa[n]" : {
c2993fe5 13686 "description" : "NUMA topology.",
44660702
DM
13687 "format" : {
13688 "cpus" : {
c2993fe5 13689 "description" : "CPUs accessing this NUMA node.",
44660702
DM
13690 "format_description" : "id[-id];...",
13691 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13692 "type" : "string"
13693 },
13694 "hostnodes" : {
c2993fe5 13695 "description" : "Host NUMA nodes to use.",
44660702
DM
13696 "format_description" : "id[-id];...",
13697 "optional" : 1,
13698 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13699 "type" : "string"
13700 },
13701 "memory" : {
c2993fe5 13702 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
13703 "optional" : 1,
13704 "type" : "number"
13705 },
13706 "policy" : {
c2993fe5 13707 "description" : "NUMA allocation policy.",
44660702
DM
13708 "enum" : [
13709 "preferred",
13710 "bind",
13711 "interleave"
13712 ],
44660702
DM
13713 "optional" : 1,
13714 "type" : "string"
13715 }
13716 },
7aacca6f 13717 "optional" : 1,
4bd7df8b
DM
13718 "type" : "string",
13719 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 13720 },
44660702
DM
13721 "onboot" : {
13722 "default" : 0,
13723 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 13724 "optional" : 1,
013dc89f
DM
13725 "type" : "boolean",
13726 "typetext" : "<boolean>"
7aacca6f 13727 },
44660702 13728 "ostype" : {
c2993fe5 13729 "description" : "Specify guest operating system.",
44660702
DM
13730 "enum" : [
13731 "other",
13732 "wxp",
13733 "w2k",
13734 "w2k3",
13735 "w2k8",
13736 "wvista",
13737 "win7",
13738 "win8",
32d876b5 13739 "win10",
44660702
DM
13740 "l24",
13741 "l26",
13742 "solaris"
13743 ],
7aacca6f 13744 "optional" : 1,
c2993fe5 13745 "type" : "string",
5c1699e5 13746 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 13747 },
44660702 13748 "parallel[n]" : {
c2993fe5 13749 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 13750 "optional" : 1,
44660702 13751 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
13752 "type" : "string",
13753 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 13754 },
44660702
DM
13755 "protection" : {
13756 "default" : 0,
c2993fe5 13757 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 13758 "optional" : 1,
013dc89f
DM
13759 "type" : "boolean",
13760 "typetext" : "<boolean>"
7aacca6f 13761 },
44660702
DM
13762 "reboot" : {
13763 "default" : 1,
13764 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 13765 "optional" : 1,
013dc89f
DM
13766 "type" : "boolean",
13767 "typetext" : "<boolean>"
7aacca6f 13768 },
44660702
DM
13769 "revert" : {
13770 "description" : "Revert a pending change.",
13771 "format" : "pve-configid-list",
7aacca6f 13772 "optional" : 1,
013dc89f
DM
13773 "type" : "string",
13774 "typetext" : "<string>"
7aacca6f 13775 },
c5aa7e14
TL
13776 "rng0" : {
13777 "description" : "Configure a VirtIO-based Random Number Generator.",
13778 "format" : {
13779 "max_bytes" : {
13780 "default" : 1024,
13781 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
13782 "optional" : 1,
13783 "type" : "integer"
13784 },
13785 "period" : {
13786 "default" : 1000,
13787 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
13788 "optional" : 1,
13789 "type" : "integer"
13790 },
13791 "source" : {
13792 "default_key" : 1,
13793 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
13794 "enum" : [
13795 "/dev/urandom",
13796 "/dev/random",
13797 "/dev/hwrng"
13798 ],
13799 "type" : "string"
13800 }
13801 },
13802 "optional" : 1,
13803 "type" : "string",
13804 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
13805 },
44660702
DM
13806 "sata[n]" : {
13807 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 13808 "format" : {
44660702
DM
13809 "aio" : {
13810 "description" : "AIO type to use.",
13811 "enum" : [
13812 "native",
13813 "threads"
13814 ],
44660702
DM
13815 "optional" : 1,
13816 "type" : "string"
13817 },
13818 "backup" : {
13819 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13820 "optional" : 1,
13821 "type" : "boolean"
13822 },
13823 "bps" : {
de0983cb 13824 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 13825 "format_description" : "bps",
7aacca6f
DM
13826 "optional" : 1,
13827 "type" : "integer"
56122987 13828 },
de0983cb
DM
13829 "bps_max_length" : {
13830 "description" : "Maximum length of I/O bursts in seconds.",
13831 "format_description" : "seconds",
13832 "minimum" : 1,
13833 "optional" : 1,
13834 "type" : "integer"
13835 },
44660702 13836 "bps_rd" : {
de0983cb 13837 "description" : "Maximum read speed in bytes per second.",
44660702 13838 "format_description" : "bps",
7aacca6f 13839 "optional" : 1,
44660702 13840 "type" : "integer"
7aacca6f 13841 },
de0983cb 13842 "bps_rd_length" : {
5d9c884c
DM
13843 "alias" : "bps_rd_max_length"
13844 },
13845 "bps_rd_max_length" : {
de0983cb
DM
13846 "description" : "Maximum length of read I/O bursts in seconds.",
13847 "format_description" : "seconds",
13848 "minimum" : 1,
13849 "optional" : 1,
13850 "type" : "integer"
13851 },
44660702 13852 "bps_wr" : {
de0983cb 13853 "description" : "Maximum write speed in bytes per second.",
44660702 13854 "format_description" : "bps",
7aacca6f 13855 "optional" : 1,
44660702 13856 "type" : "integer"
7aacca6f 13857 },
de0983cb 13858 "bps_wr_length" : {
5d9c884c
DM
13859 "alias" : "bps_wr_max_length"
13860 },
13861 "bps_wr_max_length" : {
de0983cb
DM
13862 "description" : "Maximum length of write I/O bursts in seconds.",
13863 "format_description" : "seconds",
13864 "minimum" : 1,
13865 "optional" : 1,
13866 "type" : "integer"
13867 },
44660702
DM
13868 "cache" : {
13869 "description" : "The drive's cache mode",
13870 "enum" : [
13871 "none",
13872 "writethrough",
13873 "writeback",
13874 "unsafe",
13875 "directsync"
13876 ],
7aacca6f 13877 "optional" : 1,
44660702 13878 "type" : "string"
7aacca6f 13879 },
44660702
DM
13880 "cyls" : {
13881 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 13882 "optional" : 1,
44660702 13883 "type" : "integer"
7aacca6f 13884 },
44660702
DM
13885 "detect_zeroes" : {
13886 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 13887 "optional" : 1,
44660702 13888 "type" : "boolean"
7aacca6f 13889 },
44660702
DM
13890 "discard" : {
13891 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13892 "enum" : [
13893 "ignore",
13894 "on"
13895 ],
7aacca6f 13896 "optional" : 1,
44660702
DM
13897 "type" : "string"
13898 },
13899 "file" : {
13900 "default_key" : 1,
13901 "description" : "The drive's backing volume.",
13902 "format" : "pve-volume-id-or-qm-path",
13903 "format_description" : "volume",
13904 "type" : "string"
7aacca6f
DM
13905 },
13906 "format" : {
7aacca6f 13907 "description" : "The drive's backing file's data format.",
56122987
DM
13908 "enum" : [
13909 "raw",
13910 "cow",
13911 "qcow",
13912 "qed",
13913 "qcow2",
13914 "vmdk",
13915 "cloop"
13916 ],
13917 "optional" : 1,
7aacca6f 13918 "type" : "string"
56122987 13919 },
7aacca6f 13920 "heads" : {
7aacca6f 13921 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
13922 "optional" : 1,
13923 "type" : "integer"
56122987 13924 },
44660702 13925 "iops" : {
de0983cb 13926 "description" : "Maximum r/w I/O in operations per second.",
44660702 13927 "format_description" : "iops",
56122987 13928 "optional" : 1,
44660702 13929 "type" : "integer"
7aacca6f 13930 },
44660702 13931 "iops_max" : {
de0983cb 13932 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13933 "format_description" : "iops",
7aacca6f 13934 "optional" : 1,
44660702 13935 "type" : "integer"
56122987 13936 },
de0983cb
DM
13937 "iops_max_length" : {
13938 "description" : "Maximum length of I/O bursts in seconds.",
13939 "format_description" : "seconds",
13940 "minimum" : 1,
13941 "optional" : 1,
13942 "type" : "integer"
13943 },
44660702 13944 "iops_rd" : {
de0983cb 13945 "description" : "Maximum read I/O in operations per second.",
44660702 13946 "format_description" : "iops",
56122987 13947 "optional" : 1,
44660702 13948 "type" : "integer"
7aacca6f 13949 },
de0983cb 13950 "iops_rd_length" : {
5d9c884c 13951 "alias" : "iops_rd_max_length"
de0983cb 13952 },
44660702 13953 "iops_rd_max" : {
de0983cb 13954 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13955 "format_description" : "iops",
56122987 13956 "optional" : 1,
44660702 13957 "type" : "integer"
56122987 13958 },
5d9c884c
DM
13959 "iops_rd_max_length" : {
13960 "description" : "Maximum length of read I/O bursts in seconds.",
13961 "format_description" : "seconds",
13962 "minimum" : 1,
13963 "optional" : 1,
13964 "type" : "integer"
13965 },
44660702 13966 "iops_wr" : {
de0983cb 13967 "description" : "Maximum write I/O in operations per second.",
44660702
DM
13968 "format_description" : "iops",
13969 "optional" : 1,
13970 "type" : "integer"
56122987 13971 },
de0983cb 13972 "iops_wr_length" : {
5d9c884c 13973 "alias" : "iops_wr_max_length"
de0983cb 13974 },
44660702 13975 "iops_wr_max" : {
de0983cb 13976 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
13977 "format_description" : "iops",
13978 "optional" : 1,
13979 "type" : "integer"
13980 },
5d9c884c
DM
13981 "iops_wr_max_length" : {
13982 "description" : "Maximum length of write I/O bursts in seconds.",
13983 "format_description" : "seconds",
13984 "minimum" : 1,
13985 "optional" : 1,
13986 "type" : "integer"
13987 },
44660702 13988 "mbps" : {
de0983cb 13989 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13990 "format_description" : "mbps",
13991 "optional" : 1,
13992 "type" : "number"
13993 },
13994 "mbps_max" : {
de0983cb 13995 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13996 "format_description" : "mbps",
13997 "optional" : 1,
13998 "type" : "number"
13999 },
14000 "mbps_rd" : {
de0983cb 14001 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
14002 "format_description" : "mbps",
14003 "optional" : 1,
14004 "type" : "number"
14005 },
14006 "mbps_rd_max" : {
de0983cb 14007 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
14008 "format_description" : "mbps",
14009 "optional" : 1,
14010 "type" : "number"
14011 },
14012 "mbps_wr" : {
de0983cb 14013 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
14014 "format_description" : "mbps",
14015 "optional" : 1,
14016 "type" : "number"
14017 },
14018 "mbps_wr_max" : {
de0983cb 14019 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
14020 "format_description" : "mbps",
14021 "optional" : 1,
14022 "type" : "number"
14023 },
14024 "media" : {
14025 "default" : "disk",
14026 "description" : "The drive's media type.",
14027 "enum" : [
14028 "cdrom",
14029 "disk"
14030 ],
56122987 14031 "optional" : 1,
44660702
DM
14032 "type" : "string"
14033 },
5d9c884c
DM
14034 "replicate" : {
14035 "default" : 1,
14036 "description" : "Whether the drive should considered for replication jobs.",
14037 "optional" : 1,
14038 "type" : "boolean"
14039 },
44660702 14040 "rerror" : {
7aacca6f
DM
14041 "description" : "Read error action.",
14042 "enum" : [
14043 "ignore",
14044 "report",
14045 "stop"
44660702 14046 ],
56122987 14047 "optional" : 1,
44660702 14048 "type" : "string"
56122987 14049 },
7aacca6f 14050 "secs" : {
44660702 14051 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14052 "optional" : 1,
44660702 14053 "type" : "integer"
56122987 14054 },
44660702
DM
14055 "serial" : {
14056 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14057 "format" : "urlencoded",
14058 "format_description" : "serial",
14059 "maxLength" : 60,
56122987 14060 "optional" : 1,
44660702 14061 "type" : "string"
56122987 14062 },
27a7acb2
DM
14063 "shared" : {
14064 "default" : 0,
14065 "description" : "Mark this locally-managed volume as available on all nodes",
14066 "optional" : 1,
14067 "type" : "boolean",
14068 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
14069 },
44660702
DM
14070 "size" : {
14071 "description" : "Disk size. This is purely informational and has no effect.",
14072 "format" : "disk-size",
f004f5b9 14073 "format_description" : "DiskSize",
56122987 14074 "optional" : 1,
44660702 14075 "type" : "string"
56122987
DM
14076 },
14077 "snapshot" : {
27a7acb2 14078 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 14079 "optional" : 1,
44660702 14080 "type" : "boolean"
56122987 14081 },
25203dc1
NC
14082 "ssd" : {
14083 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14084 "optional" : 1,
14085 "type" : "boolean"
14086 },
56122987 14087 "trans" : {
7aacca6f 14088 "description" : "Force disk geometry bios translation mode.",
56122987
DM
14089 "enum" : [
14090 "none",
14091 "lba",
14092 "auto"
14093 ],
14094 "optional" : 1,
44660702 14095 "type" : "string"
56122987 14096 },
44660702
DM
14097 "volume" : {
14098 "alias" : "file"
56122987 14099 },
7aacca6f 14100 "werror" : {
44660702 14101 "description" : "Write error action.",
56122987 14102 "enum" : [
7aacca6f 14103 "enospc",
56122987 14104 "ignore",
7aacca6f
DM
14105 "report",
14106 "stop"
14107 ],
7aacca6f 14108 "optional" : 1,
44660702 14109 "type" : "string"
95895385
TL
14110 },
14111 "wwn" : {
14112 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14113 "format_description" : "wwn",
14114 "optional" : 1,
14115 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14116 "type" : "string"
44660702
DM
14117 }
14118 },
14119 "optional" : 1,
4bd7df8b 14120 "type" : "string",
95895385 14121 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
14122 },
14123 "scsi[n]" : {
e9cd3bd4 14124 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
14125 "format" : {
14126 "aio" : {
7aacca6f 14127 "description" : "AIO type to use.",
56122987
DM
14128 "enum" : [
14129 "native",
14130 "threads"
44660702 14131 ],
56122987 14132 "optional" : 1,
44660702 14133 "type" : "string"
56122987 14134 },
7aacca6f 14135 "backup" : {
7aacca6f 14136 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14137 "optional" : 1,
44660702 14138 "type" : "boolean"
56122987 14139 },
44660702 14140 "bps" : {
de0983cb 14141 "description" : "Maximum r/w speed in bytes per second.",
44660702 14142 "format_description" : "bps",
7aacca6f 14143 "optional" : 1,
44660702 14144 "type" : "integer"
7aacca6f 14145 },
de0983cb
DM
14146 "bps_max_length" : {
14147 "description" : "Maximum length of I/O bursts in seconds.",
14148 "format_description" : "seconds",
14149 "minimum" : 1,
14150 "optional" : 1,
14151 "type" : "integer"
14152 },
44660702 14153 "bps_rd" : {
de0983cb 14154 "description" : "Maximum read speed in bytes per second.",
44660702 14155 "format_description" : "bps",
56122987 14156 "optional" : 1,
44660702 14157 "type" : "integer"
56122987 14158 },
de0983cb 14159 "bps_rd_length" : {
5d9c884c
DM
14160 "alias" : "bps_rd_max_length"
14161 },
14162 "bps_rd_max_length" : {
de0983cb
DM
14163 "description" : "Maximum length of read I/O bursts in seconds.",
14164 "format_description" : "seconds",
14165 "minimum" : 1,
14166 "optional" : 1,
14167 "type" : "integer"
14168 },
44660702 14169 "bps_wr" : {
de0983cb 14170 "description" : "Maximum write speed in bytes per second.",
44660702 14171 "format_description" : "bps",
56122987 14172 "optional" : 1,
44660702 14173 "type" : "integer"
56122987 14174 },
de0983cb 14175 "bps_wr_length" : {
5d9c884c
DM
14176 "alias" : "bps_wr_max_length"
14177 },
14178 "bps_wr_max_length" : {
de0983cb
DM
14179 "description" : "Maximum length of write I/O bursts in seconds.",
14180 "format_description" : "seconds",
14181 "minimum" : 1,
14182 "optional" : 1,
14183 "type" : "integer"
14184 },
44660702
DM
14185 "cache" : {
14186 "description" : "The drive's cache mode",
14187 "enum" : [
14188 "none",
14189 "writethrough",
14190 "writeback",
14191 "unsafe",
14192 "directsync"
14193 ],
56122987 14194 "optional" : 1,
44660702
DM
14195 "type" : "string"
14196 },
14197 "cyls" : {
14198 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
14199 "optional" : 1,
14200 "type" : "integer"
14201 },
14202 "detect_zeroes" : {
14203 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14204 "optional" : 1,
14205 "type" : "boolean"
14206 },
14207 "discard" : {
14208 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14209 "enum" : [
14210 "ignore",
14211 "on"
14212 ],
44660702
DM
14213 "optional" : 1,
14214 "type" : "string"
14215 },
14216 "file" : {
14217 "default_key" : 1,
14218 "description" : "The drive's backing volume.",
14219 "format" : "pve-volume-id-or-qm-path",
14220 "format_description" : "volume",
14221 "type" : "string"
56122987 14222 },
7aacca6f 14223 "format" : {
44660702 14224 "description" : "The drive's backing file's data format.",
7aacca6f
DM
14225 "enum" : [
14226 "raw",
14227 "cow",
14228 "qcow",
14229 "qed",
14230 "qcow2",
14231 "vmdk",
14232 "cloop"
14233 ],
56122987 14234 "optional" : 1,
44660702 14235 "type" : "string"
56122987 14236 },
44660702
DM
14237 "heads" : {
14238 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14239 "optional" : 1,
44660702 14240 "type" : "integer"
56122987 14241 },
44660702 14242 "iops" : {
de0983cb 14243 "description" : "Maximum r/w I/O in operations per second.",
44660702 14244 "format_description" : "iops",
7aacca6f 14245 "optional" : 1,
44660702 14246 "type" : "integer"
56122987 14247 },
44660702 14248 "iops_max" : {
de0983cb 14249 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 14250 "format_description" : "iops",
7aacca6f 14251 "optional" : 1,
44660702 14252 "type" : "integer"
56122987 14253 },
de0983cb
DM
14254 "iops_max_length" : {
14255 "description" : "Maximum length of I/O bursts in seconds.",
14256 "format_description" : "seconds",
14257 "minimum" : 1,
14258 "optional" : 1,
14259 "type" : "integer"
14260 },
44660702 14261 "iops_rd" : {
de0983cb 14262 "description" : "Maximum read I/O in operations per second.",
44660702 14263 "format_description" : "iops",
56122987 14264 "optional" : 1,
44660702 14265 "type" : "integer"
56122987 14266 },
de0983cb 14267 "iops_rd_length" : {
5d9c884c 14268 "alias" : "iops_rd_max_length"
de0983cb 14269 },
44660702 14270 "iops_rd_max" : {
de0983cb 14271 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14272 "format_description" : "iops",
56122987 14273 "optional" : 1,
44660702 14274 "type" : "integer"
56122987 14275 },
5d9c884c
DM
14276 "iops_rd_max_length" : {
14277 "description" : "Maximum length of read I/O bursts in seconds.",
14278 "format_description" : "seconds",
14279 "minimum" : 1,
14280 "optional" : 1,
14281 "type" : "integer"
14282 },
44660702 14283 "iops_wr" : {
de0983cb 14284 "description" : "Maximum write I/O in operations per second.",
44660702 14285 "format_description" : "iops",
56122987 14286 "optional" : 1,
44660702 14287 "type" : "integer"
56122987 14288 },
de0983cb 14289 "iops_wr_length" : {
5d9c884c 14290 "alias" : "iops_wr_max_length"
de0983cb 14291 },
44660702 14292 "iops_wr_max" : {
de0983cb 14293 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 14294 "format_description" : "iops",
44660702
DM
14295 "optional" : 1,
14296 "type" : "integer"
7aacca6f 14297 },
5d9c884c
DM
14298 "iops_wr_max_length" : {
14299 "description" : "Maximum length of write I/O bursts in seconds.",
14300 "format_description" : "seconds",
14301 "minimum" : 1,
14302 "optional" : 1,
14303 "type" : "integer"
14304 },
7aacca6f 14305 "iothread" : {
44660702 14306 "description" : "Whether to use iothreads for this drive",
56122987 14307 "optional" : 1,
44660702 14308 "type" : "boolean"
56122987 14309 },
44660702 14310 "mbps" : {
de0983cb 14311 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14312 "format_description" : "mbps",
56122987 14313 "optional" : 1,
44660702 14314 "type" : "number"
56122987 14315 },
44660702 14316 "mbps_max" : {
de0983cb 14317 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14318 "format_description" : "mbps",
56122987 14319 "optional" : 1,
44660702 14320 "type" : "number"
56122987 14321 },
44660702 14322 "mbps_rd" : {
de0983cb 14323 "description" : "Maximum read speed in megabytes per second.",
44660702 14324 "format_description" : "mbps",
7aacca6f 14325 "optional" : 1,
44660702 14326 "type" : "number"
56122987 14327 },
44660702 14328 "mbps_rd_max" : {
de0983cb 14329 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14330 "format_description" : "mbps",
7aacca6f 14331 "optional" : 1,
44660702 14332 "type" : "number"
7aacca6f 14333 },
44660702 14334 "mbps_wr" : {
de0983cb 14335 "description" : "Maximum write speed in megabytes per second.",
44660702 14336 "format_description" : "mbps",
56122987 14337 "optional" : 1,
44660702 14338 "type" : "number"
56122987 14339 },
44660702 14340 "mbps_wr_max" : {
de0983cb 14341 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14342 "format_description" : "mbps",
56122987 14343 "optional" : 1,
44660702
DM
14344 "type" : "number"
14345 },
14346 "media" : {
14347 "default" : "disk",
14348 "description" : "The drive's media type.",
7aacca6f 14349 "enum" : [
44660702
DM
14350 "cdrom",
14351 "disk"
7aacca6f 14352 ],
56122987 14353 "optional" : 1,
44660702 14354 "type" : "string"
56122987 14355 },
7aacca6f 14356 "queues" : {
44660702 14357 "description" : "Number of queues.",
7aacca6f 14358 "minimum" : 2,
7aacca6f
DM
14359 "optional" : 1,
14360 "type" : "integer"
56122987 14361 },
5d9c884c
DM
14362 "replicate" : {
14363 "default" : 1,
14364 "description" : "Whether the drive should considered for replication jobs.",
14365 "optional" : 1,
14366 "type" : "boolean"
14367 },
14368 "rerror" : {
14369 "description" : "Read error action.",
14370 "enum" : [
14371 "ignore",
14372 "report",
14373 "stop"
14374 ],
14375 "optional" : 1,
14376 "type" : "string"
14377 },
52e44c50
FG
14378 "scsiblock" : {
14379 "default" : 0,
14380 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
14381 "optional" : 1,
14382 "type" : "boolean"
14383 },
44660702
DM
14384 "secs" : {
14385 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14386 "optional" : 1,
44660702 14387 "type" : "integer"
56122987 14388 },
44660702
DM
14389 "serial" : {
14390 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14391 "format" : "urlencoded",
14392 "format_description" : "serial",
14393 "maxLength" : 60,
56122987 14394 "optional" : 1,
44660702 14395 "type" : "string"
56122987 14396 },
27a7acb2
DM
14397 "shared" : {
14398 "default" : 0,
14399 "description" : "Mark this locally-managed volume as available on all nodes",
14400 "optional" : 1,
14401 "type" : "boolean",
14402 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
14403 },
44660702
DM
14404 "size" : {
14405 "description" : "Disk size. This is purely informational and has no effect.",
14406 "format" : "disk-size",
f004f5b9 14407 "format_description" : "DiskSize",
44660702
DM
14408 "optional" : 1,
14409 "type" : "string"
14410 },
14411 "snapshot" : {
27a7acb2 14412 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 14413 "optional" : 1,
44660702
DM
14414 "type" : "boolean"
14415 },
25203dc1
NC
14416 "ssd" : {
14417 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14418 "optional" : 1,
14419 "type" : "boolean"
14420 },
44660702
DM
14421 "trans" : {
14422 "description" : "Force disk geometry bios translation mode.",
56122987 14423 "enum" : [
44660702
DM
14424 "none",
14425 "lba",
14426 "auto"
56122987 14427 ],
44660702
DM
14428 "optional" : 1,
14429 "type" : "string"
14430 },
14431 "volume" : {
14432 "alias" : "file"
56122987 14433 },
7aacca6f 14434 "werror" : {
7aacca6f
DM
14435 "description" : "Write error action.",
14436 "enum" : [
14437 "enospc",
14438 "ignore",
14439 "report",
14440 "stop"
44660702 14441 ],
56122987 14442 "optional" : 1,
7aacca6f 14443 "type" : "string"
95895385
TL
14444 },
14445 "wwn" : {
14446 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14447 "format_description" : "wwn",
14448 "optional" : 1,
14449 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14450 "type" : "string"
56122987 14451 }
44660702 14452 },
56122987 14453 "optional" : 1,
4bd7df8b 14454 "type" : "string",
95895385 14455 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987
DM
14456 },
14457 "scsihw" : {
44660702 14458 "default" : "lsi",
c2993fe5 14459 "description" : "SCSI controller model",
56122987
DM
14460 "enum" : [
14461 "lsi",
14462 "lsi53c810",
14463 "virtio-scsi-pci",
14464 "virtio-scsi-single",
14465 "megasas",
14466 "pvscsi"
14467 ],
14468 "optional" : 1,
56122987
DM
14469 "type" : "string"
14470 },
27a7acb2
DM
14471 "searchdomain" : {
14472 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
14473 "optional" : 1,
14474 "type" : "string",
14475 "typetext" : "<string>"
14476 },
44660702 14477 "serial[n]" : {
c2993fe5 14478 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 14479 "optional" : 1,
44660702 14480 "pattern" : "(/dev/.+|socket)",
c2993fe5 14481 "type" : "string",
57b78691 14482 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 14483 },
44660702
DM
14484 "shares" : {
14485 "default" : 1000,
5da3d723 14486 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
14487 "maximum" : 50000,
14488 "minimum" : 0,
7aacca6f 14489 "optional" : 1,
4bd7df8b 14490 "type" : "integer",
013dc89f 14491 "typetext" : "<integer> (0 - 50000)"
56122987 14492 },
7aacca6f
DM
14493 "skiplock" : {
14494 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 14495 "optional" : 1,
013dc89f
DM
14496 "type" : "boolean",
14497 "typetext" : "<boolean>"
56122987 14498 },
44660702
DM
14499 "smbios1" : {
14500 "description" : "Specify SMBIOS type 1 fields.",
14501 "format" : "pve-qm-smbios1",
1e3f8156 14502 "maxLength" : 512,
56122987 14503 "optional" : 1,
4bd7df8b 14504 "type" : "string",
1e3f8156 14505 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
56122987 14506 },
44660702
DM
14507 "smp" : {
14508 "default" : 1,
14509 "description" : "The number of CPUs. Please use option -sockets instead.",
14510 "minimum" : 1,
56122987 14511 "optional" : 1,
4bd7df8b 14512 "type" : "integer",
013dc89f 14513 "typetext" : "<integer> (1 - N)"
56122987 14514 },
44660702
DM
14515 "sockets" : {
14516 "default" : 1,
14517 "description" : "The number of CPU sockets.",
14518 "minimum" : 1,
56122987 14519 "optional" : 1,
4bd7df8b 14520 "type" : "integer",
013dc89f 14521 "typetext" : "<integer> (1 - N)"
56122987 14522 },
1c532546
TL
14523 "spice_enhancements" : {
14524 "description" : "Configure additional enhancements for SPICE.",
14525 "format" : {
14526 "foldersharing" : {
14527 "default" : "0",
14528 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
14529 "optional" : 1,
14530 "type" : "boolean"
14531 },
14532 "videostreaming" : {
14533 "default" : "off",
14534 "description" : "Enable video streaming. Uses compression for detected video streams.",
14535 "enum" : [
14536 "off",
14537 "all",
14538 "filter"
14539 ],
14540 "optional" : 1,
14541 "type" : "string"
14542 }
14543 },
14544 "optional" : 1,
14545 "type" : "string",
14546 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
14547 },
27a7acb2
DM
14548 "sshkeys" : {
14549 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14550 "format" : "urlencoded",
14551 "optional" : 1,
14552 "type" : "string",
14553 "typetext" : "<string>"
14554 },
44660702
DM
14555 "startdate" : {
14556 "default" : "now",
14557 "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
14558 "optional" : 1,
14559 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 14560 "type" : "string",
44660702
DM
14561 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
14562 },
14563 "startup" : {
14564 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
14565 "format" : "pve-startup-order",
7aacca6f 14566 "optional" : 1,
44660702
DM
14567 "type" : "string",
14568 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 14569 },
44660702
DM
14570 "tablet" : {
14571 "default" : 1,
c2993fe5 14572 "description" : "Enable/disable the USB tablet device.",
7aacca6f 14573 "optional" : 1,
c2993fe5 14574 "type" : "boolean",
013dc89f 14575 "typetext" : "<boolean>",
c2993fe5 14576 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
7aacca6f 14577 },
5c1699e5
TL
14578 "tags" : {
14579 "description" : "Tags of the VM. This is only meta information.",
14580 "format" : "pve-tag-list",
14581 "optional" : 1,
14582 "type" : "string",
14583 "typetext" : "<string>"
14584 },
44660702
DM
14585 "tdf" : {
14586 "default" : 0,
14587 "description" : "Enable/disable time drift fix.",
7aacca6f 14588 "optional" : 1,
013dc89f
DM
14589 "type" : "boolean",
14590 "typetext" : "<boolean>"
7aacca6f 14591 },
44660702
DM
14592 "template" : {
14593 "default" : 0,
14594 "description" : "Enable/disable Template.",
7aacca6f 14595 "optional" : 1,
013dc89f
DM
14596 "type" : "boolean",
14597 "typetext" : "<boolean>"
7aacca6f 14598 },
44660702 14599 "unused[n]" : {
c2993fe5 14600 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
14601 "format" : {
14602 "file" : {
14603 "default_key" : 1,
14604 "description" : "The drive's backing volume.",
14605 "format" : "pve-volume-id",
14606 "format_description" : "volume",
14607 "type" : "string"
14608 },
14609 "volume" : {
14610 "alias" : "file"
14611 }
14612 },
7aacca6f 14613 "optional" : 1,
013dc89f 14614 "type" : "string",
c5aa7e14 14615 "typetext" : "[file=]<volume>"
7aacca6f 14616 },
44660702 14617 "usb[n]" : {
c2993fe5 14618 "description" : "Configure an USB device (n is 0 to 4).",
56122987 14619 "format" : {
44660702
DM
14620 "host" : {
14621 "default_key" : 1,
c2993fe5 14622 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
14623 "format" : "pve-qm-usb-device",
14624 "format_description" : "HOSTUSBDEVICE|spice",
14625 "type" : "string"
7aacca6f 14626 },
44660702 14627 "usb3" : {
c2993fe5 14628 "default" : 0,
1c532546 14629 "description" : "Specifies whether if given host option is a USB3 device or port.",
7aacca6f 14630 "optional" : 1,
44660702 14631 "type" : "boolean"
7aacca6f 14632 }
44660702 14633 },
7aacca6f 14634 "optional" : 1,
4bd7df8b
DM
14635 "type" : "string",
14636 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 14637 },
44660702 14638 "vcpus" : {
7aacca6f 14639 "default" : 0,
44660702
DM
14640 "description" : "Number of hotplugged vcpus.",
14641 "minimum" : 1,
7aacca6f 14642 "optional" : 1,
4bd7df8b 14643 "type" : "integer",
013dc89f 14644 "typetext" : "<integer> (1 - N)"
7aacca6f 14645 },
44660702 14646 "vga" : {
e2d681b3
TL
14647 "description" : "Configure the VGA hardware.",
14648 "format" : {
14649 "memory" : {
14650 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
14651 "maximum" : 512,
14652 "minimum" : 4,
14653 "optional" : 1,
14654 "type" : "integer"
14655 },
14656 "type" : {
14657 "default" : "std",
14658 "default_key" : 1,
14659 "description" : "Select the VGA type.",
14660 "enum" : [
14661 "cirrus",
14662 "qxl",
14663 "qxl2",
14664 "qxl3",
14665 "qxl4",
5f26e15b 14666 "none",
e2d681b3
TL
14667 "serial0",
14668 "serial1",
14669 "serial2",
14670 "serial3",
14671 "std",
14672 "virtio",
14673 "vmware"
14674 ],
14675 "optional" : 1,
14676 "type" : "string"
14677 }
14678 },
7aacca6f 14679 "optional" : 1,
c2993fe5 14680 "type" : "string",
e2d681b3
TL
14681 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
14682 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 14683 },
44660702
DM
14684 "virtio[n]" : {
14685 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 14686 "format" : {
7aacca6f 14687 "aio" : {
7aacca6f 14688 "description" : "AIO type to use.",
56122987 14689 "enum" : [
7aacca6f
DM
14690 "native",
14691 "threads"
7aacca6f 14692 ],
44660702
DM
14693 "optional" : 1,
14694 "type" : "string"
56122987 14695 },
44660702
DM
14696 "backup" : {
14697 "description" : "Whether the drive should be included when making backups.",
56122987 14698 "optional" : 1,
44660702 14699 "type" : "boolean"
7aacca6f 14700 },
44660702 14701 "bps" : {
de0983cb 14702 "description" : "Maximum r/w speed in bytes per second.",
44660702 14703 "format_description" : "bps",
7aacca6f 14704 "optional" : 1,
44660702 14705 "type" : "integer"
56122987 14706 },
de0983cb
DM
14707 "bps_max_length" : {
14708 "description" : "Maximum length of I/O bursts in seconds.",
14709 "format_description" : "seconds",
14710 "minimum" : 1,
14711 "optional" : 1,
14712 "type" : "integer"
14713 },
56122987 14714 "bps_rd" : {
de0983cb 14715 "description" : "Maximum read speed in bytes per second.",
44660702 14716 "format_description" : "bps",
56122987 14717 "optional" : 1,
7aacca6f 14718 "type" : "integer"
56122987 14719 },
de0983cb 14720 "bps_rd_length" : {
5d9c884c
DM
14721 "alias" : "bps_rd_max_length"
14722 },
14723 "bps_rd_max_length" : {
de0983cb
DM
14724 "description" : "Maximum length of read I/O bursts in seconds.",
14725 "format_description" : "seconds",
14726 "minimum" : 1,
14727 "optional" : 1,
14728 "type" : "integer"
14729 },
44660702 14730 "bps_wr" : {
de0983cb 14731 "description" : "Maximum write speed in bytes per second.",
44660702 14732 "format_description" : "bps",
56122987 14733 "optional" : 1,
7aacca6f 14734 "type" : "integer"
56122987 14735 },
de0983cb 14736 "bps_wr_length" : {
5d9c884c
DM
14737 "alias" : "bps_wr_max_length"
14738 },
14739 "bps_wr_max_length" : {
de0983cb
DM
14740 "description" : "Maximum length of write I/O bursts in seconds.",
14741 "format_description" : "seconds",
14742 "minimum" : 1,
14743 "optional" : 1,
14744 "type" : "integer"
14745 },
7aacca6f 14746 "cache" : {
44660702 14747 "description" : "The drive's cache mode",
7aacca6f
DM
14748 "enum" : [
14749 "none",
14750 "writethrough",
14751 "writeback",
14752 "unsafe",
14753 "directsync"
14754 ],
56122987 14755 "optional" : 1,
44660702 14756 "type" : "string"
7aacca6f 14757 },
44660702
DM
14758 "cyls" : {
14759 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
14760 "optional" : 1,
14761 "type" : "integer"
14762 },
14763 "detect_zeroes" : {
14764 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14765 "optional" : 1,
14766 "type" : "boolean"
14767 },
14768 "discard" : {
14769 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 14770 "enum" : [
44660702
DM
14771 "ignore",
14772 "on"
56122987
DM
14773 ],
14774 "optional" : 1,
44660702 14775 "type" : "string"
56122987 14776 },
44660702
DM
14777 "file" : {
14778 "default_key" : 1,
14779 "description" : "The drive's backing volume.",
14780 "format" : "pve-volume-id-or-qm-path",
14781 "format_description" : "volume",
14782 "type" : "string"
14783 },
14784 "format" : {
14785 "description" : "The drive's backing file's data format.",
14786 "enum" : [
14787 "raw",
14788 "cow",
14789 "qcow",
14790 "qed",
14791 "qcow2",
14792 "vmdk",
14793 "cloop"
14794 ],
56122987 14795 "optional" : 1,
44660702 14796 "type" : "string"
56122987 14797 },
44660702
DM
14798 "heads" : {
14799 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14800 "optional" : 1,
14801 "type" : "integer"
14802 },
14803 "iops" : {
de0983cb 14804 "description" : "Maximum r/w I/O in operations per second.",
44660702 14805 "format_description" : "iops",
56122987 14806 "optional" : 1,
44660702
DM
14807 "type" : "integer"
14808 },
14809 "iops_max" : {
de0983cb 14810 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
14811 "format_description" : "iops",
14812 "optional" : 1,
14813 "type" : "integer"
56122987 14814 },
de0983cb
DM
14815 "iops_max_length" : {
14816 "description" : "Maximum length of I/O bursts in seconds.",
14817 "format_description" : "seconds",
14818 "minimum" : 1,
14819 "optional" : 1,
14820 "type" : "integer"
14821 },
7aacca6f 14822 "iops_rd" : {
de0983cb 14823 "description" : "Maximum read I/O in operations per second.",
7aacca6f 14824 "format_description" : "iops",
7aacca6f 14825 "optional" : 1,
44660702 14826 "type" : "integer"
56122987 14827 },
de0983cb 14828 "iops_rd_length" : {
5d9c884c 14829 "alias" : "iops_rd_max_length"
de0983cb 14830 },
44660702 14831 "iops_rd_max" : {
de0983cb 14832 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
14833 "format_description" : "iops",
14834 "optional" : 1,
14835 "type" : "integer"
14836 },
5d9c884c
DM
14837 "iops_rd_max_length" : {
14838 "description" : "Maximum length of read I/O bursts in seconds.",
14839 "format_description" : "seconds",
14840 "minimum" : 1,
14841 "optional" : 1,
14842 "type" : "integer"
14843 },
44660702 14844 "iops_wr" : {
de0983cb 14845 "description" : "Maximum write I/O in operations per second.",
44660702
DM
14846 "format_description" : "iops",
14847 "optional" : 1,
14848 "type" : "integer"
14849 },
de0983cb 14850 "iops_wr_length" : {
5d9c884c 14851 "alias" : "iops_wr_max_length"
de0983cb 14852 },
44660702 14853 "iops_wr_max" : {
de0983cb 14854 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
14855 "format_description" : "iops",
14856 "optional" : 1,
14857 "type" : "integer"
14858 },
5d9c884c
DM
14859 "iops_wr_max_length" : {
14860 "description" : "Maximum length of write I/O bursts in seconds.",
14861 "format_description" : "seconds",
14862 "minimum" : 1,
14863 "optional" : 1,
14864 "type" : "integer"
14865 },
44660702
DM
14866 "iothread" : {
14867 "description" : "Whether to use iothreads for this drive",
44660702
DM
14868 "optional" : 1,
14869 "type" : "boolean"
14870 },
14871 "mbps" : {
de0983cb 14872 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14873 "format_description" : "mbps",
7aacca6f 14874 "optional" : 1,
44660702 14875 "type" : "number"
7aacca6f
DM
14876 },
14877 "mbps_max" : {
de0983cb 14878 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14879 "format_description" : "mbps",
56122987 14880 "optional" : 1,
44660702 14881 "type" : "number"
56122987 14882 },
44660702 14883 "mbps_rd" : {
de0983cb 14884 "description" : "Maximum read speed in megabytes per second.",
44660702 14885 "format_description" : "mbps",
56122987 14886 "optional" : 1,
44660702 14887 "type" : "number"
56122987 14888 },
44660702 14889 "mbps_rd_max" : {
de0983cb 14890 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
14891 "format_description" : "mbps",
14892 "optional" : 1,
14893 "type" : "number"
14894 },
14895 "mbps_wr" : {
de0983cb 14896 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
14897 "format_description" : "mbps",
14898 "optional" : 1,
14899 "type" : "number"
14900 },
14901 "mbps_wr_max" : {
de0983cb 14902 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
14903 "format_description" : "mbps",
14904 "optional" : 1,
14905 "type" : "number"
14906 },
14907 "media" : {
14908 "default" : "disk",
14909 "description" : "The drive's media type.",
56122987 14910 "enum" : [
44660702
DM
14911 "cdrom",
14912 "disk"
56122987
DM
14913 ],
14914 "optional" : 1,
44660702 14915 "type" : "string"
56122987 14916 },
5d9c884c
DM
14917 "replicate" : {
14918 "default" : 1,
14919 "description" : "Whether the drive should considered for replication jobs.",
14920 "optional" : 1,
14921 "type" : "boolean"
14922 },
44660702
DM
14923 "rerror" : {
14924 "description" : "Read error action.",
14925 "enum" : [
14926 "ignore",
14927 "report",
14928 "stop"
14929 ],
56122987 14930 "optional" : 1,
44660702 14931 "type" : "string"
56122987 14932 },
44660702
DM
14933 "secs" : {
14934 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14935 "optional" : 1,
44660702 14936 "type" : "integer"
56122987 14937 },
7aacca6f
DM
14938 "serial" : {
14939 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 14940 "format" : "urlencoded",
44660702 14941 "format_description" : "serial",
7aacca6f 14942 "maxLength" : 60,
44660702
DM
14943 "optional" : 1,
14944 "type" : "string"
56122987 14945 },
27a7acb2
DM
14946 "shared" : {
14947 "default" : 0,
14948 "description" : "Mark this locally-managed volume as available on all nodes",
14949 "optional" : 1,
14950 "type" : "boolean",
14951 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
14952 },
44660702
DM
14953 "size" : {
14954 "description" : "Disk size. This is purely informational and has no effect.",
14955 "format" : "disk-size",
f004f5b9 14956 "format_description" : "DiskSize",
44660702
DM
14957 "optional" : 1,
14958 "type" : "string"
56122987 14959 },
44660702 14960 "snapshot" : {
27a7acb2 14961 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 14962 "optional" : 1,
44660702 14963 "type" : "boolean"
56122987 14964 },
44660702
DM
14965 "trans" : {
14966 "description" : "Force disk geometry bios translation mode.",
14967 "enum" : [
14968 "none",
14969 "lba",
14970 "auto"
14971 ],
7aacca6f 14972 "optional" : 1,
44660702 14973 "type" : "string"
7aacca6f 14974 },
44660702
DM
14975 "volume" : {
14976 "alias" : "file"
14977 },
14978 "werror" : {
14979 "description" : "Write error action.",
14980 "enum" : [
14981 "enospc",
14982 "ignore",
14983 "report",
14984 "stop"
14985 ],
7aacca6f 14986 "optional" : 1,
44660702 14987 "type" : "string"
56122987
DM
14988 }
14989 },
7aacca6f 14990 "optional" : 1,
4bd7df8b 14991 "type" : "string",
27a7acb2 14992 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 14993 },
4d47f125
TL
14994 "vmgenid" : {
14995 "default" : "1 (autogenerated)",
14996 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14997 "format_description" : "UUID",
14998 "optional" : 1,
14999 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
15000 "type" : "string",
15001 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
15002 },
44660702
DM
15003 "vmid" : {
15004 "description" : "The (unique) ID of the VM.",
15005 "format" : "pve-vmid",
15006 "minimum" : 1,
4bd7df8b 15007 "type" : "integer",
013dc89f 15008 "typetext" : "<integer> (1 - N)"
56122987 15009 },
2489d6df
WB
15010 "vmstatestorage" : {
15011 "description" : "Default storage for VM state volumes/files.",
15012 "format" : "pve-storage-id",
15013 "optional" : 1,
15014 "type" : "string",
15015 "typetext" : "<string>"
15016 },
44660702 15017 "watchdog" : {
c2993fe5 15018 "description" : "Create a virtual hardware watchdog device.",
44660702 15019 "format" : "pve-qm-watchdog",
56122987 15020 "optional" : 1,
c2993fe5 15021 "type" : "string",
013dc89f 15022 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 15023 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
56122987 15024 }
7aacca6f 15025 }
56122987 15026 },
56122987
DM
15027 "permissions" : {
15028 "check" : [
15029 "perm",
15030 "/vms/{vmid}",
15031 [
15032 "VM.Config.Disk",
15033 "VM.Config.CDROM",
15034 "VM.Config.CPU",
15035 "VM.Config.Memory",
15036 "VM.Config.Network",
15037 "VM.Config.HWType",
ac70d7d1
TL
15038 "VM.Config.Options",
15039 "VM.Config.Cloudinit"
56122987
DM
15040 ],
15041 "any",
15042 1
15043 ]
15044 },
44660702 15045 "protected" : 1,
7aacca6f 15046 "proxyto" : "node",
56122987 15047 "returns" : {
4d47f125
TL
15048 "optional" : 1,
15049 "type" : "string"
7aacca6f 15050 }
4d47f125
TL
15051 },
15052 "PUT" : {
e9cd3bd4 15053 "allowtoken" : 1,
4d47f125
TL
15054 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
15055 "method" : "PUT",
15056 "name" : "update_vm",
7aacca6f 15057 "parameters" : {
44660702 15058 "additionalProperties" : 0,
7aacca6f 15059 "properties" : {
4d47f125
TL
15060 "acpi" : {
15061 "default" : 1,
15062 "description" : "Enable/disable ACPI.",
15063 "optional" : 1,
15064 "type" : "boolean",
15065 "typetext" : "<boolean>"
7aacca6f 15066 },
4d47f125
TL
15067 "agent" : {
15068 "description" : "Enable/disable Qemu GuestAgent and its properties.",
15069 "format" : {
15070 "enabled" : {
15071 "default" : 0,
15072 "default_key" : 1,
15073 "description" : "Enable/disable Qemu GuestAgent.",
15074 "type" : "boolean"
15075 },
15076 "fstrim_cloned_disks" : {
15077 "default" : 0,
15078 "description" : "Run fstrim after cloning/moving a disk.",
15079 "optional" : 1,
15080 "type" : "boolean"
5c1699e5
TL
15081 },
15082 "type" : {
15083 "default" : "virtio",
15084 "description" : "Select the agent type",
15085 "enum" : [
15086 "virtio",
15087 "isa"
15088 ],
15089 "optional" : 1,
15090 "type" : "string"
4d47f125 15091 }
44660702 15092 },
4d47f125
TL
15093 "optional" : 1,
15094 "type" : "string",
5c1699e5 15095 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
44660702 15096 },
e2d681b3
TL
15097 "arch" : {
15098 "description" : "Virtual processor architecture. Defaults to the host.",
15099 "enum" : [
15100 "x86_64",
15101 "aarch64"
15102 ],
15103 "optional" : 1,
15104 "type" : "string"
15105 },
4d47f125
TL
15106 "args" : {
15107 "description" : "Arbitrary arguments passed to kvm.",
15108 "optional" : 1,
15109 "type" : "string",
15110 "typetext" : "<string>",
15111 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
15112 },
1c532546
TL
15113 "audio0" : {
15114 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
15115 "format" : {
15116 "device" : {
15117 "description" : "Configure an audio device.",
15118 "enum" : [
15119 "ich9-intel-hda",
15120 "intel-hda",
15121 "AC97"
15122 ],
15123 "type" : "string"
15124 },
15125 "driver" : {
15126 "default" : "spice",
15127 "description" : "Driver backend for the audio device.",
15128 "enum" : [
15129 "spice"
15130 ],
15131 "optional" : 1,
15132 "type" : "string"
15133 }
15134 },
15135 "optional" : 1,
15136 "type" : "string",
15137 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
15138 },
4d47f125
TL
15139 "autostart" : {
15140 "default" : 0,
15141 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 15142 "optional" : 1,
013dc89f
DM
15143 "type" : "boolean",
15144 "typetext" : "<boolean>"
7aacca6f 15145 },
4d47f125
TL
15146 "balloon" : {
15147 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
15148 "minimum" : 0,
15149 "optional" : 1,
15150 "type" : "integer",
15151 "typetext" : "<integer> (0 - N)"
15152 },
15153 "bios" : {
15154 "default" : "seabios",
15155 "description" : "Select BIOS implementation.",
15156 "enum" : [
15157 "seabios",
15158 "ovmf"
15159 ],
15160 "optional" : 1,
15161 "type" : "string"
15162 },
15163 "boot" : {
15164 "default" : "cdn",
15165 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
15166 "optional" : 1,
15167 "pattern" : "[acdn]{1,4}",
15168 "type" : "string"
15169 },
15170 "bootdisk" : {
15171 "description" : "Enable booting from specified disk.",
15172 "format" : "pve-qm-bootdisk",
15173 "optional" : 1,
15174 "pattern" : "(ide|sata|scsi|virtio)\\d+",
15175 "type" : "string"
15176 },
15177 "cdrom" : {
15178 "description" : "This is an alias for option -ide2",
15179 "format" : "pve-qm-ide",
15180 "optional" : 1,
15181 "type" : "string",
15182 "typetext" : "<volume>"
15183 },
95895385
TL
15184 "cicustom" : {
15185 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
15186 "format" : "pve-qm-cicustom",
15187 "optional" : 1,
15188 "type" : "string",
15189 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
15190 },
4d47f125
TL
15191 "cipassword" : {
15192 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
15193 "optional" : 1,
013dc89f
DM
15194 "type" : "string",
15195 "typetext" : "<string>"
44660702 15196 },
4d47f125
TL
15197 "citype" : {
15198 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
15199 "enum" : [
15200 "configdrive2",
15201 "nocloud"
15202 ],
15203 "optional" : 1,
15204 "type" : "string"
15205 },
15206 "ciuser" : {
15207 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
15208 "optional" : 1,
013dc89f
DM
15209 "type" : "string",
15210 "typetext" : "<string>"
56122987 15211 },
4d47f125
TL
15212 "cores" : {
15213 "default" : 1,
15214 "description" : "The number of cores per socket.",
7aacca6f 15215 "minimum" : 1,
4d47f125 15216 "optional" : 1,
4bd7df8b 15217 "type" : "integer",
013dc89f 15218 "typetext" : "<integer> (1 - N)"
4d47f125
TL
15219 },
15220 "cpu" : {
15221 "description" : "Emulated CPU type.",
c5aa7e14 15222 "format" : "pve-vm-cpu-conf",
4d47f125 15223 "optional" : 1,
013dc89f 15224 "type" : "string",
04d22a9f 15225 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702 15226 },
4d47f125
TL
15227 "cpulimit" : {
15228 "default" : 0,
15229 "description" : "Limit of CPU usage.",
15230 "maximum" : 128,
15231 "minimum" : 0,
15232 "optional" : 1,
15233 "type" : "number",
15234 "typetext" : "<number> (0 - 128)",
15235 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
15236 },
15237 "cpuunits" : {
15238 "default" : 1024,
15239 "description" : "CPU weight for a VM.",
15240 "maximum" : 262144,
15241 "minimum" : 2,
15242 "optional" : 1,
4bd7df8b 15243 "type" : "integer",
4d47f125
TL
15244 "typetext" : "<integer> (2 - 262144)",
15245 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
7aacca6f 15246 },
4d47f125
TL
15247 "delete" : {
15248 "description" : "A list of settings you want to delete.",
15249 "format" : "pve-configid-list",
15250 "optional" : 1,
15251 "type" : "string",
15252 "typetext" : "<string>"
15253 },
15254 "description" : {
15255 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
15256 "optional" : 1,
15257 "type" : "string",
15258 "typetext" : "<string>"
15259 },
15260 "digest" : {
15261 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15262 "maxLength" : 40,
44660702 15263 "optional" : 1,
4d47f125
TL
15264 "type" : "string",
15265 "typetext" : "<string>"
15266 },
15267 "efidisk0" : {
15268 "description" : "Configure a Disk for storing EFI vars",
15269 "format" : {
15270 "file" : {
15271 "default_key" : 1,
15272 "description" : "The drive's backing volume.",
15273 "format" : "pve-volume-id-or-qm-path",
15274 "format_description" : "volume",
15275 "type" : "string"
15276 },
15277 "format" : {
15278 "description" : "The drive's backing file's data format.",
15279 "enum" : [
15280 "raw",
15281 "cow",
15282 "qcow",
15283 "qed",
15284 "qcow2",
15285 "vmdk",
15286 "cloop"
15287 ],
15288 "optional" : 1,
15289 "type" : "string"
15290 },
15291 "size" : {
15292 "description" : "Disk size. This is purely informational and has no effect.",
15293 "format" : "disk-size",
15294 "format_description" : "DiskSize",
15295 "optional" : 1,
15296 "type" : "string"
15297 },
15298 "volume" : {
15299 "alias" : "file"
15300 }
15301 },
15302 "optional" : 1,
15303 "type" : "string",
15304 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
15305 },
15306 "force" : {
15307 "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
15308 "optional" : 1,
15309 "requires" : "delete",
013dc89f
DM
15310 "type" : "boolean",
15311 "typetext" : "<boolean>"
56122987 15312 },
4d47f125
TL
15313 "freeze" : {
15314 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
15315 "optional" : 1,
15316 "type" : "boolean",
15317 "typetext" : "<boolean>"
7aacca6f 15318 },
5f26e15b
TL
15319 "hookscript" : {
15320 "description" : "Script that will be executed during various steps in the vms lifetime.",
15321 "format" : "pve-volume-id",
15322 "optional" : 1,
15323 "type" : "string",
15324 "typetext" : "<string>"
15325 },
4d47f125
TL
15326 "hostpci[n]" : {
15327 "description" : "Map host PCI devices into guest.",
15328 "format" : "pve-qm-hostpci",
15329 "optional" : 1,
15330 "type" : "string",
ac70d7d1 15331 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 15332 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702 15333 },
4d47f125
TL
15334 "hotplug" : {
15335 "default" : "network,disk,usb",
15336 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
15337 "format" : "pve-hotplug-features",
15338 "optional" : 1,
35a75dd3
DM
15339 "type" : "string",
15340 "typetext" : "<string>"
15341 },
4d47f125
TL
15342 "hugepages" : {
15343 "description" : "Enable/disable hugepages memory.",
35a75dd3 15344 "enum" : [
4d47f125
TL
15345 "any",
15346 "2",
15347 "1024"
35a75dd3
DM
15348 ],
15349 "optional" : 1,
15350 "type" : "string"
15351 },
4d47f125
TL
15352 "ide[n]" : {
15353 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
15354 "format" : {
15355 "aio" : {
15356 "description" : "AIO type to use.",
15357 "enum" : [
15358 "native",
15359 "threads"
15360 ],
44660702 15361 "optional" : 1,
44660702
DM
15362 "type" : "string"
15363 },
4d47f125
TL
15364 "backup" : {
15365 "description" : "Whether the drive should be included when making backups.",
56122987 15366 "optional" : 1,
4d47f125 15367 "type" : "boolean"
56122987 15368 },
4d47f125
TL
15369 "bps" : {
15370 "description" : "Maximum r/w speed in bytes per second.",
15371 "format_description" : "bps",
de0983cb 15372 "optional" : 1,
4d47f125 15373 "type" : "integer"
de0983cb 15374 },
4d47f125
TL
15375 "bps_max_length" : {
15376 "description" : "Maximum length of I/O bursts in seconds.",
15377 "format_description" : "seconds",
15378 "minimum" : 1,
de0983cb 15379 "optional" : 1,
4d47f125 15380 "type" : "integer"
7aacca6f 15381 },
4d47f125
TL
15382 "bps_rd" : {
15383 "description" : "Maximum read speed in bytes per second.",
15384 "format_description" : "bps",
7aacca6f 15385 "optional" : 1,
4d47f125 15386 "type" : "integer"
56122987 15387 },
4d47f125
TL
15388 "bps_rd_length" : {
15389 "alias" : "bps_rd_max_length"
15390 },
15391 "bps_rd_max_length" : {
15392 "description" : "Maximum length of read I/O bursts in seconds.",
15393 "format_description" : "seconds",
15394 "minimum" : 1,
56122987 15395 "optional" : 1,
4d47f125 15396 "type" : "integer"
56122987 15397 },
4d47f125
TL
15398 "bps_wr" : {
15399 "description" : "Maximum write speed in bytes per second.",
15400 "format_description" : "bps",
52e44c50 15401 "optional" : 1,
4d47f125 15402 "type" : "integer"
52e44c50 15403 },
4d47f125
TL
15404 "bps_wr_length" : {
15405 "alias" : "bps_wr_max_length"
15406 },
15407 "bps_wr_max_length" : {
15408 "description" : "Maximum length of write I/O bursts in seconds.",
15409 "format_description" : "seconds",
44660702 15410 "minimum" : 1,
56122987 15411 "optional" : 1,
4d47f125 15412 "type" : "integer"
56122987 15413 },
4d47f125
TL
15414 "cache" : {
15415 "description" : "The drive's cache mode",
15416 "enum" : [
15417 "none",
15418 "writethrough",
15419 "writeback",
15420 "unsafe",
15421 "directsync"
15422 ],
7aacca6f 15423 "optional" : 1,
4d47f125 15424 "type" : "string"
7aacca6f 15425 },
4d47f125
TL
15426 "cyls" : {
15427 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
15428 "optional" : 1,
15429 "type" : "integer"
56122987 15430 },
4d47f125
TL
15431 "detect_zeroes" : {
15432 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 15433 "optional" : 1,
4d47f125 15434 "type" : "boolean"
56122987 15435 },
4d47f125
TL
15436 "discard" : {
15437 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15438 "enum" : [
15439 "ignore",
15440 "on"
15441 ],
56122987 15442 "optional" : 1,
4d47f125 15443 "type" : "string"
7aacca6f 15444 },
4d47f125
TL
15445 "file" : {
15446 "default_key" : 1,
15447 "description" : "The drive's backing volume.",
15448 "format" : "pve-volume-id-or-qm-path",
15449 "format_description" : "volume",
15450 "type" : "string"
56122987 15451 },
4d47f125
TL
15452 "format" : {
15453 "description" : "The drive's backing file's data format.",
15454 "enum" : [
15455 "raw",
15456 "cow",
15457 "qcow",
15458 "qed",
15459 "qcow2",
15460 "vmdk",
15461 "cloop"
15462 ],
7aacca6f 15463 "optional" : 1,
4d47f125 15464 "type" : "string"
7aacca6f 15465 },
4d47f125
TL
15466 "heads" : {
15467 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 15468 "optional" : 1,
4d47f125 15469 "type" : "integer"
56122987 15470 },
4d47f125
TL
15471 "iops" : {
15472 "description" : "Maximum r/w I/O in operations per second.",
15473 "format_description" : "iops",
44660702 15474 "optional" : 1,
4d47f125 15475 "type" : "integer"
44660702 15476 },
4d47f125
TL
15477 "iops_max" : {
15478 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
15479 "format_description" : "iops",
44660702 15480 "optional" : 1,
4d47f125 15481 "type" : "integer"
56122987 15482 },
4d47f125
TL
15483 "iops_max_length" : {
15484 "description" : "Maximum length of I/O bursts in seconds.",
15485 "format_description" : "seconds",
15486 "minimum" : 1,
7aacca6f 15487 "optional" : 1,
4d47f125 15488 "type" : "integer"
7aacca6f 15489 },
4d47f125
TL
15490 "iops_rd" : {
15491 "description" : "Maximum read I/O in operations per second.",
15492 "format_description" : "iops",
15493 "optional" : 1,
15494 "type" : "integer"
15495 },
15496 "iops_rd_length" : {
15497 "alias" : "iops_rd_max_length"
15498 },
15499 "iops_rd_max" : {
15500 "description" : "Maximum unthrottled read I/O pool in operations per second.",
15501 "format_description" : "iops",
15502 "optional" : 1,
15503 "type" : "integer"
15504 },
15505 "iops_rd_max_length" : {
15506 "description" : "Maximum length of read I/O bursts in seconds.",
15507 "format_description" : "seconds",
44660702 15508 "minimum" : 1,
4d47f125
TL
15509 "optional" : 1,
15510 "type" : "integer"
7aacca6f 15511 },
4d47f125
TL
15512 "iops_wr" : {
15513 "description" : "Maximum write I/O in operations per second.",
15514 "format_description" : "iops",
44660702 15515 "optional" : 1,
4d47f125 15516 "type" : "integer"
44660702 15517 },
4d47f125
TL
15518 "iops_wr_length" : {
15519 "alias" : "iops_wr_max_length"
15520 },
15521 "iops_wr_max" : {
15522 "description" : "Maximum unthrottled write I/O pool in operations per second.",
15523 "format_description" : "iops",
15524 "optional" : 1,
15525 "type" : "integer"
15526 },
15527 "iops_wr_max_length" : {
15528 "description" : "Maximum length of write I/O bursts in seconds.",
15529 "format_description" : "seconds",
44660702 15530 "minimum" : 1,
44660702 15531 "optional" : 1,
4d47f125 15532 "type" : "integer"
44660702 15533 },
4d47f125
TL
15534 "mbps" : {
15535 "description" : "Maximum r/w speed in megabytes per second.",
15536 "format_description" : "mbps",
15537 "optional" : 1,
15538 "type" : "number"
56122987 15539 },
4d47f125
TL
15540 "mbps_max" : {
15541 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
15542 "format_description" : "mbps",
15543 "optional" : 1,
15544 "type" : "number"
15545 },
15546 "mbps_rd" : {
15547 "description" : "Maximum read speed in megabytes per second.",
15548 "format_description" : "mbps",
15549 "optional" : 1,
15550 "type" : "number"
15551 },
15552 "mbps_rd_max" : {
15553 "description" : "Maximum unthrottled read pool in megabytes per second.",
15554 "format_description" : "mbps",
15555 "optional" : 1,
15556 "type" : "number"
15557 },
15558 "mbps_wr" : {
15559 "description" : "Maximum write speed in megabytes per second.",
15560 "format_description" : "mbps",
15561 "optional" : 1,
15562 "type" : "number"
15563 },
15564 "mbps_wr_max" : {
15565 "description" : "Maximum unthrottled write pool in megabytes per second.",
15566 "format_description" : "mbps",
15567 "optional" : 1,
15568 "type" : "number"
15569 },
15570 "media" : {
15571 "default" : "disk",
15572 "description" : "The drive's media type.",
15573 "enum" : [
15574 "cdrom",
15575 "disk"
15576 ],
15577 "optional" : 1,
15578 "type" : "string"
15579 },
15580 "model" : {
15581 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
15582 "format" : "urlencoded",
15583 "format_description" : "model",
15584 "maxLength" : 120,
15585 "optional" : 1,
15586 "type" : "string"
15587 },
15588 "replicate" : {
15589 "default" : 1,
15590 "description" : "Whether the drive should considered for replication jobs.",
15591 "optional" : 1,
15592 "type" : "boolean"
15593 },
15594 "rerror" : {
15595 "description" : "Read error action.",
15596 "enum" : [
15597 "ignore",
15598 "report",
15599 "stop"
15600 ],
15601 "optional" : 1,
15602 "type" : "string"
15603 },
15604 "secs" : {
15605 "description" : "Force the drive's physical geometry to have a specific sector count.",
15606 "optional" : 1,
15607 "type" : "integer"
15608 },
15609 "serial" : {
15610 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15611 "format" : "urlencoded",
15612 "format_description" : "serial",
15613 "maxLength" : 60,
15614 "optional" : 1,
15615 "type" : "string"
15616 },
15617 "shared" : {
15618 "default" : 0,
15619 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 15620 "optional" : 1,
013dc89f 15621 "type" : "boolean",
4d47f125 15622 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
56122987 15623 },
4d47f125
TL
15624 "size" : {
15625 "description" : "Disk size. This is purely informational and has no effect.",
15626 "format" : "disk-size",
15627 "format_description" : "DiskSize",
15628 "optional" : 1,
15629 "type" : "string"
15630 },
15631 "snapshot" : {
15632 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
15633 "optional" : 1,
15634 "type" : "boolean"
15635 },
25203dc1
NC
15636 "ssd" : {
15637 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
15638 "optional" : 1,
15639 "type" : "boolean"
15640 },
4d47f125
TL
15641 "trans" : {
15642 "description" : "Force disk geometry bios translation mode.",
15643 "enum" : [
15644 "none",
15645 "lba",
15646 "auto"
15647 ],
15648 "optional" : 1,
15649 "type" : "string"
15650 },
15651 "volume" : {
15652 "alias" : "file"
15653 },
15654 "werror" : {
15655 "description" : "Write error action.",
15656 "enum" : [
15657 "enospc",
15658 "ignore",
15659 "report",
15660 "stop"
15661 ],
15662 "optional" : 1,
15663 "type" : "string"
95895385
TL
15664 },
15665 "wwn" : {
15666 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
15667 "format_description" : "wwn",
15668 "optional" : 1,
15669 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
15670 "type" : "string"
4d47f125
TL
15671 }
15672 },
15673 "optional" : 1,
013dc89f 15674 "type" : "string",
95895385 15675 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702 15676 },
4d47f125
TL
15677 "ipconfig[n]" : {
15678 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
15679 "format" : "pve-qm-ipconfig",
15680 "optional" : 1,
013dc89f 15681 "type" : "string",
4d47f125 15682 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 15683 },
95895385
TL
15684 "ivshmem" : {
15685 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
15686 "format" : {
15687 "name" : {
15688 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
15689 "format_description" : "string",
15690 "optional" : 1,
15691 "pattern" : "[a-zA-Z0-9\\-]+",
15692 "type" : "string"
15693 },
15694 "size" : {
15695 "description" : "The size of the file in MB.",
15696 "minimum" : 1,
15697 "type" : "integer"
15698 }
15699 },
15700 "optional" : 1,
15701 "type" : "string",
15702 "typetext" : "size=<integer> [,name=<string>]"
15703 },
4d47f125
TL
15704 "keyboard" : {
15705 "default" : null,
15706 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
15707 "enum" : [
15708 "de",
15709 "de-ch",
15710 "da",
15711 "en-gb",
15712 "en-us",
15713 "es",
15714 "fi",
15715 "fr",
15716 "fr-be",
15717 "fr-ca",
15718 "fr-ch",
15719 "hu",
15720 "is",
15721 "it",
15722 "ja",
15723 "lt",
15724 "mk",
15725 "nl",
15726 "no",
15727 "pl",
15728 "pt",
15729 "pt-br",
15730 "sv",
15731 "sl",
15732 "tr"
15733 ],
15734 "optional" : 1,
15735 "type" : "string"
44660702 15736 },
4d47f125
TL
15737 "kvm" : {
15738 "default" : 1,
15739 "description" : "Enable/disable KVM hardware virtualization.",
44660702 15740 "optional" : 1,
013dc89f
DM
15741 "type" : "boolean",
15742 "typetext" : "<boolean>"
7aacca6f 15743 },
4d47f125
TL
15744 "localtime" : {
15745 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
15746 "optional" : 1,
15747 "type" : "boolean",
15748 "typetext" : "<boolean>"
15749 },
15750 "lock" : {
15751 "description" : "Lock/unlock the VM.",
56122987 15752 "enum" : [
4d47f125 15753 "backup",
5f26e15b
TL
15754 "clone",
15755 "create",
15756 "migrate",
15757 "rollback",
56122987 15758 "snapshot",
95895385
TL
15759 "snapshot-delete",
15760 "suspending",
15761 "suspended"
56122987 15762 ],
4d47f125 15763 "optional" : 1,
44660702
DM
15764 "type" : "string"
15765 },
4d47f125
TL
15766 "machine" : {
15767 "description" : "Specifies the Qemu machine type.",
15768 "maxLength" : 40,
15769 "optional" : 1,
5c1699e5 15770 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
15771 "type" : "string"
15772 },
15773 "memory" : {
15774 "default" : 512,
15775 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
15776 "minimum" : 16,
15777 "optional" : 1,
15778 "type" : "integer",
15779 "typetext" : "<integer> (16 - N)"
15780 },
15781 "migrate_downtime" : {
15782 "default" : 0.1,
15783 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
15784 "minimum" : 0,
15785 "optional" : 1,
15786 "type" : "number",
15787 "typetext" : "<number> (0 - N)"
15788 },
15789 "migrate_speed" : {
15790 "default" : 0,
15791 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
15792 "minimum" : 0,
15793 "optional" : 1,
15794 "type" : "integer",
15795 "typetext" : "<integer> (0 - N)"
15796 },
15797 "name" : {
15798 "description" : "Set a name for the VM. Only used on the configuration web interface.",
15799 "format" : "dns-name",
15800 "optional" : 1,
013dc89f
DM
15801 "type" : "string",
15802 "typetext" : "<string>"
56122987 15803 },
4d47f125
TL
15804 "nameserver" : {
15805 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
15806 "format" : "address-list",
7aacca6f 15807 "optional" : 1,
013dc89f
DM
15808 "type" : "string",
15809 "typetext" : "<string>"
7aacca6f 15810 },
4d47f125
TL
15811 "net[n]" : {
15812 "description" : "Specify network devices.",
15813 "format" : {
15814 "bridge" : {
15815 "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
15816 "format_description" : "bridge",
15817 "optional" : 1,
c5aa7e14 15818 "pattern" : "[-_.\\w\\d]+",
4d47f125
TL
15819 "type" : "string"
15820 },
15821 "e1000" : {
15822 "alias" : "macaddr",
15823 "keyAlias" : "model"
15824 },
15825 "e1000-82540em" : {
15826 "alias" : "macaddr",
15827 "keyAlias" : "model"
15828 },
15829 "e1000-82544gc" : {
15830 "alias" : "macaddr",
15831 "keyAlias" : "model"
15832 },
15833 "e1000-82545em" : {
15834 "alias" : "macaddr",
15835 "keyAlias" : "model"
15836 },
15837 "firewall" : {
15838 "description" : "Whether this interface should be protected by the firewall.",
15839 "optional" : 1,
15840 "type" : "boolean"
15841 },
15842 "i82551" : {
15843 "alias" : "macaddr",
15844 "keyAlias" : "model"
15845 },
15846 "i82557b" : {
15847 "alias" : "macaddr",
15848 "keyAlias" : "model"
15849 },
15850 "i82559er" : {
15851 "alias" : "macaddr",
15852 "keyAlias" : "model"
15853 },
15854 "link_down" : {
15855 "description" : "Whether this interface should be disconnected (like pulling the plug).",
15856 "optional" : 1,
15857 "type" : "boolean"
15858 },
15859 "macaddr" : {
15860 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 15861 "format" : "mac-addr",
4d47f125
TL
15862 "format_description" : "XX:XX:XX:XX:XX:XX",
15863 "optional" : 1,
95895385
TL
15864 "type" : "string",
15865 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
15866 },
15867 "model" : {
15868 "default_key" : 1,
15869 "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
15870 "enum" : [
15871 "rtl8139",
15872 "ne2k_pci",
15873 "e1000",
15874 "pcnet",
15875 "virtio",
15876 "ne2k_isa",
15877 "i82551",
15878 "i82557b",
15879 "i82559er",
15880 "vmxnet3",
15881 "e1000-82540em",
15882 "e1000-82544gc",
15883 "e1000-82545em"
15884 ],
15885 "type" : "string"
15886 },
ac70d7d1
TL
15887 "mtu" : {
15888 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
15889 "maximum" : 65520,
15890 "minimum" : 1,
15891 "optional" : 1,
15892 "type" : "integer"
15893 },
4d47f125
TL
15894 "ne2k_isa" : {
15895 "alias" : "macaddr",
15896 "keyAlias" : "model"
15897 },
15898 "ne2k_pci" : {
15899 "alias" : "macaddr",
15900 "keyAlias" : "model"
15901 },
15902 "pcnet" : {
15903 "alias" : "macaddr",
15904 "keyAlias" : "model"
15905 },
15906 "queues" : {
15907 "description" : "Number of packet queues to be used on the device.",
15908 "maximum" : 16,
15909 "minimum" : 0,
15910 "optional" : 1,
15911 "type" : "integer"
15912 },
15913 "rate" : {
15914 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
15915 "minimum" : 0,
15916 "optional" : 1,
15917 "type" : "number"
15918 },
15919 "rtl8139" : {
15920 "alias" : "macaddr",
15921 "keyAlias" : "model"
15922 },
15923 "tag" : {
15924 "description" : "VLAN tag to apply to packets on this interface.",
15925 "maximum" : 4094,
15926 "minimum" : 1,
15927 "optional" : 1,
15928 "type" : "integer"
15929 },
15930 "trunks" : {
15931 "description" : "VLAN trunks to pass through this interface.",
15932 "format_description" : "vlanid[;vlanid...]",
15933 "optional" : 1,
15934 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15935 "type" : "string"
15936 },
15937 "virtio" : {
15938 "alias" : "macaddr",
15939 "keyAlias" : "model"
15940 },
15941 "vmxnet3" : {
15942 "alias" : "macaddr",
15943 "keyAlias" : "model"
15944 }
44660702 15945 },
44660702 15946 "optional" : 1,
013dc89f 15947 "type" : "string",
ac70d7d1 15948 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
15949 },
15950 "node" : {
15951 "description" : "The cluster node name.",
15952 "format" : "pve-node",
013dc89f
DM
15953 "type" : "string",
15954 "typetext" : "<string>"
7aacca6f 15955 },
4d47f125
TL
15956 "numa" : {
15957 "default" : 0,
15958 "description" : "Enable/disable NUMA.",
56122987 15959 "optional" : 1,
4d47f125
TL
15960 "type" : "boolean",
15961 "typetext" : "<boolean>"
56122987 15962 },
4d47f125
TL
15963 "numa[n]" : {
15964 "description" : "NUMA topology.",
15965 "format" : {
15966 "cpus" : {
15967 "description" : "CPUs accessing this NUMA node.",
15968 "format_description" : "id[-id];...",
15969 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15970 "type" : "string"
15971 },
15972 "hostnodes" : {
15973 "description" : "Host NUMA nodes to use.",
15974 "format_description" : "id[-id];...",
15975 "optional" : 1,
15976 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15977 "type" : "string"
15978 },
15979 "memory" : {
15980 "description" : "Amount of memory this NUMA node provides.",
15981 "optional" : 1,
15982 "type" : "number"
15983 },
15984 "policy" : {
15985 "description" : "NUMA allocation policy.",
15986 "enum" : [
15987 "preferred",
15988 "bind",
15989 "interleave"
15990 ],
15991 "optional" : 1,
15992 "type" : "string"
15993 }
15994 },
7aacca6f 15995 "optional" : 1,
013dc89f 15996 "type" : "string",
4d47f125 15997 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 15998 },
4d47f125 15999 "onboot" : {
44660702 16000 "default" : 0,
4d47f125 16001 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 16002 "optional" : 1,
013dc89f
DM
16003 "type" : "boolean",
16004 "typetext" : "<boolean>"
56122987 16005 },
4d47f125
TL
16006 "ostype" : {
16007 "description" : "Specify guest operating system.",
7aacca6f 16008 "enum" : [
4d47f125
TL
16009 "other",
16010 "wxp",
16011 "w2k",
16012 "w2k3",
16013 "w2k8",
16014 "wvista",
16015 "win7",
16016 "win8",
16017 "win10",
16018 "l24",
16019 "l26",
16020 "solaris"
7aacca6f
DM
16021 ],
16022 "optional" : 1,
013dc89f 16023 "type" : "string",
5c1699e5 16024 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
44660702 16025 },
4d47f125
TL
16026 "parallel[n]" : {
16027 "description" : "Map host parallel devices (n is 0 to 2).",
16028 "optional" : 1,
16029 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 16030 "type" : "string",
4d47f125 16031 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702 16032 },
4d47f125
TL
16033 "protection" : {
16034 "default" : 0,
16035 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 16036 "optional" : 1,
013dc89f
DM
16037 "type" : "boolean",
16038 "typetext" : "<boolean>"
44660702 16039 },
4d47f125
TL
16040 "reboot" : {
16041 "default" : 1,
16042 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 16043 "optional" : 1,
013dc89f
DM
16044 "type" : "boolean",
16045 "typetext" : "<boolean>"
56122987 16046 },
4d47f125
TL
16047 "revert" : {
16048 "description" : "Revert a pending change.",
16049 "format" : "pve-configid-list",
16050 "optional" : 1,
013dc89f
DM
16051 "type" : "string",
16052 "typetext" : "<string>"
56122987 16053 },
c5aa7e14
TL
16054 "rng0" : {
16055 "description" : "Configure a VirtIO-based Random Number Generator.",
16056 "format" : {
16057 "max_bytes" : {
16058 "default" : 1024,
16059 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
16060 "optional" : 1,
16061 "type" : "integer"
16062 },
16063 "period" : {
16064 "default" : 1000,
16065 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
16066 "optional" : 1,
16067 "type" : "integer"
16068 },
16069 "source" : {
16070 "default_key" : 1,
16071 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
16072 "enum" : [
16073 "/dev/urandom",
16074 "/dev/random",
16075 "/dev/hwrng"
16076 ],
16077 "type" : "string"
16078 }
16079 },
16080 "optional" : 1,
16081 "type" : "string",
16082 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
16083 },
4d47f125
TL
16084 "sata[n]" : {
16085 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
16086 "format" : {
16087 "aio" : {
16088 "description" : "AIO type to use.",
16089 "enum" : [
16090 "native",
16091 "threads"
16092 ],
16093 "optional" : 1,
16094 "type" : "string"
16095 },
16096 "backup" : {
16097 "description" : "Whether the drive should be included when making backups.",
16098 "optional" : 1,
16099 "type" : "boolean"
16100 },
16101 "bps" : {
16102 "description" : "Maximum r/w speed in bytes per second.",
16103 "format_description" : "bps",
16104 "optional" : 1,
16105 "type" : "integer"
16106 },
16107 "bps_max_length" : {
16108 "description" : "Maximum length of I/O bursts in seconds.",
16109 "format_description" : "seconds",
16110 "minimum" : 1,
16111 "optional" : 1,
16112 "type" : "integer"
16113 },
16114 "bps_rd" : {
16115 "description" : "Maximum read speed in bytes per second.",
16116 "format_description" : "bps",
16117 "optional" : 1,
16118 "type" : "integer"
16119 },
16120 "bps_rd_length" : {
16121 "alias" : "bps_rd_max_length"
16122 },
16123 "bps_rd_max_length" : {
16124 "description" : "Maximum length of read I/O bursts in seconds.",
16125 "format_description" : "seconds",
16126 "minimum" : 1,
16127 "optional" : 1,
16128 "type" : "integer"
16129 },
16130 "bps_wr" : {
16131 "description" : "Maximum write speed in bytes per second.",
16132 "format_description" : "bps",
16133 "optional" : 1,
16134 "type" : "integer"
16135 },
16136 "bps_wr_length" : {
16137 "alias" : "bps_wr_max_length"
16138 },
16139 "bps_wr_max_length" : {
16140 "description" : "Maximum length of write I/O bursts in seconds.",
16141 "format_description" : "seconds",
16142 "minimum" : 1,
16143 "optional" : 1,
16144 "type" : "integer"
16145 },
16146 "cache" : {
16147 "description" : "The drive's cache mode",
16148 "enum" : [
16149 "none",
16150 "writethrough",
16151 "writeback",
16152 "unsafe",
16153 "directsync"
16154 ],
16155 "optional" : 1,
16156 "type" : "string"
16157 },
16158 "cyls" : {
16159 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16160 "optional" : 1,
16161 "type" : "integer"
16162 },
16163 "detect_zeroes" : {
16164 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16165 "optional" : 1,
16166 "type" : "boolean"
16167 },
16168 "discard" : {
16169 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16170 "enum" : [
16171 "ignore",
16172 "on"
16173 ],
16174 "optional" : 1,
16175 "type" : "string"
16176 },
16177 "file" : {
16178 "default_key" : 1,
16179 "description" : "The drive's backing volume.",
16180 "format" : "pve-volume-id-or-qm-path",
16181 "format_description" : "volume",
16182 "type" : "string"
16183 },
16184 "format" : {
16185 "description" : "The drive's backing file's data format.",
16186 "enum" : [
16187 "raw",
16188 "cow",
16189 "qcow",
16190 "qed",
16191 "qcow2",
16192 "vmdk",
16193 "cloop"
16194 ],
16195 "optional" : 1,
16196 "type" : "string"
16197 },
16198 "heads" : {
16199 "description" : "Force the drive's physical geometry to have a specific head count.",
16200 "optional" : 1,
16201 "type" : "integer"
16202 },
16203 "iops" : {
16204 "description" : "Maximum r/w I/O in operations per second.",
16205 "format_description" : "iops",
16206 "optional" : 1,
16207 "type" : "integer"
16208 },
16209 "iops_max" : {
16210 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16211 "format_description" : "iops",
16212 "optional" : 1,
16213 "type" : "integer"
16214 },
16215 "iops_max_length" : {
16216 "description" : "Maximum length of I/O bursts in seconds.",
16217 "format_description" : "seconds",
16218 "minimum" : 1,
16219 "optional" : 1,
16220 "type" : "integer"
16221 },
16222 "iops_rd" : {
16223 "description" : "Maximum read I/O in operations per second.",
16224 "format_description" : "iops",
16225 "optional" : 1,
16226 "type" : "integer"
16227 },
16228 "iops_rd_length" : {
16229 "alias" : "iops_rd_max_length"
16230 },
16231 "iops_rd_max" : {
16232 "description" : "Maximum unthrottled read I/O pool in operations per second.",
16233 "format_description" : "iops",
16234 "optional" : 1,
16235 "type" : "integer"
16236 },
16237 "iops_rd_max_length" : {
16238 "description" : "Maximum length of read I/O bursts in seconds.",
16239 "format_description" : "seconds",
16240 "minimum" : 1,
16241 "optional" : 1,
16242 "type" : "integer"
16243 },
16244 "iops_wr" : {
16245 "description" : "Maximum write I/O in operations per second.",
16246 "format_description" : "iops",
16247 "optional" : 1,
16248 "type" : "integer"
16249 },
16250 "iops_wr_length" : {
16251 "alias" : "iops_wr_max_length"
16252 },
16253 "iops_wr_max" : {
16254 "description" : "Maximum unthrottled write I/O pool in operations per second.",
16255 "format_description" : "iops",
16256 "optional" : 1,
16257 "type" : "integer"
16258 },
16259 "iops_wr_max_length" : {
16260 "description" : "Maximum length of write I/O bursts in seconds.",
16261 "format_description" : "seconds",
16262 "minimum" : 1,
16263 "optional" : 1,
16264 "type" : "integer"
16265 },
16266 "mbps" : {
16267 "description" : "Maximum r/w speed in megabytes per second.",
16268 "format_description" : "mbps",
16269 "optional" : 1,
16270 "type" : "number"
16271 },
16272 "mbps_max" : {
16273 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
16274 "format_description" : "mbps",
16275 "optional" : 1,
16276 "type" : "number"
16277 },
16278 "mbps_rd" : {
16279 "description" : "Maximum read speed in megabytes per second.",
16280 "format_description" : "mbps",
16281 "optional" : 1,
16282 "type" : "number"
16283 },
16284 "mbps_rd_max" : {
16285 "description" : "Maximum unthrottled read pool in megabytes per second.",
16286 "format_description" : "mbps",
16287 "optional" : 1,
16288 "type" : "number"
16289 },
16290 "mbps_wr" : {
16291 "description" : "Maximum write speed in megabytes per second.",
16292 "format_description" : "mbps",
16293 "optional" : 1,
16294 "type" : "number"
16295 },
16296 "mbps_wr_max" : {
16297 "description" : "Maximum unthrottled write pool in megabytes per second.",
16298 "format_description" : "mbps",
16299 "optional" : 1,
16300 "type" : "number"
16301 },
16302 "media" : {
16303 "default" : "disk",
16304 "description" : "The drive's media type.",
16305 "enum" : [
16306 "cdrom",
16307 "disk"
16308 ],
16309 "optional" : 1,
16310 "type" : "string"
16311 },
16312 "replicate" : {
16313 "default" : 1,
16314 "description" : "Whether the drive should considered for replication jobs.",
16315 "optional" : 1,
16316 "type" : "boolean"
16317 },
16318 "rerror" : {
16319 "description" : "Read error action.",
16320 "enum" : [
16321 "ignore",
16322 "report",
16323 "stop"
16324 ],
16325 "optional" : 1,
16326 "type" : "string"
16327 },
16328 "secs" : {
16329 "description" : "Force the drive's physical geometry to have a specific sector count.",
16330 "optional" : 1,
16331 "type" : "integer"
16332 },
16333 "serial" : {
16334 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16335 "format" : "urlencoded",
16336 "format_description" : "serial",
16337 "maxLength" : 60,
16338 "optional" : 1,
16339 "type" : "string"
16340 },
16341 "shared" : {
16342 "default" : 0,
16343 "description" : "Mark this locally-managed volume as available on all nodes",
16344 "optional" : 1,
16345 "type" : "boolean",
16346 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
16347 },
16348 "size" : {
16349 "description" : "Disk size. This is purely informational and has no effect.",
16350 "format" : "disk-size",
16351 "format_description" : "DiskSize",
16352 "optional" : 1,
16353 "type" : "string"
16354 },
16355 "snapshot" : {
16356 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
16357 "optional" : 1,
16358 "type" : "boolean"
16359 },
25203dc1
NC
16360 "ssd" : {
16361 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
16362 "optional" : 1,
16363 "type" : "boolean"
16364 },
4d47f125
TL
16365 "trans" : {
16366 "description" : "Force disk geometry bios translation mode.",
16367 "enum" : [
16368 "none",
16369 "lba",
16370 "auto"
16371 ],
16372 "optional" : 1,
16373 "type" : "string"
16374 },
16375 "volume" : {
16376 "alias" : "file"
16377 },
16378 "werror" : {
16379 "description" : "Write error action.",
16380 "enum" : [
16381 "enospc",
16382 "ignore",
16383 "report",
16384 "stop"
16385 ],
16386 "optional" : 1,
16387 "type" : "string"
95895385
TL
16388 },
16389 "wwn" : {
16390 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
16391 "format_description" : "wwn",
16392 "optional" : 1,
16393 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
16394 "type" : "string"
4d47f125
TL
16395 }
16396 },
16397 "optional" : 1,
16398 "type" : "string",
95895385 16399 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
16400 },
16401 "scsi[n]" : {
e9cd3bd4 16402 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
4d47f125
TL
16403 "format" : {
16404 "aio" : {
16405 "description" : "AIO type to use.",
16406 "enum" : [
16407 "native",
16408 "threads"
16409 ],
16410 "optional" : 1,
16411 "type" : "string"
16412 },
16413 "backup" : {
16414 "description" : "Whether the drive should be included when making backups.",
16415 "optional" : 1,
16416 "type" : "boolean"
16417 },
16418 "bps" : {
16419 "description" : "Maximum r/w speed in bytes per second.",
16420 "format_description" : "bps",
16421 "optional" : 1,
16422 "type" : "integer"
16423 },
16424 "bps_max_length" : {
16425 "description" : "Maximum length of I/O bursts in seconds.",
16426 "format_description" : "seconds",
16427 "minimum" : 1,
16428 "optional" : 1,
16429 "type" : "integer"
16430 },
16431 "bps_rd" : {
16432 "description" : "Maximum read speed in bytes per second.",
16433 "format_description" : "bps",
16434 "optional" : 1,
16435 "type" : "integer"
16436 },
16437 "bps_rd_length" : {
16438 "alias" : "bps_rd_max_length"
16439 },
16440 "bps_rd_max_length" : {
16441 "description" : "Maximum length of read I/O bursts in seconds.",
16442 "format_description" : "seconds",
16443 "minimum" : 1,
16444 "optional" : 1,
16445 "type" : "integer"
16446 },
16447 "bps_wr" : {
16448 "description" : "Maximum write speed in bytes per second.",
16449 "format_description" : "bps",
16450 "optional" : 1,
16451 "type" : "integer"
16452 },
16453 "bps_wr_length" : {
16454 "alias" : "bps_wr_max_length"
16455 },
16456 "bps_wr_max_length" : {
16457 "description" : "Maximum length of write I/O bursts in seconds.",
16458 "format_description" : "seconds",
16459 "minimum" : 1,
16460 "optional" : 1,
16461 "type" : "integer"
16462 },
16463 "cache" : {
16464 "description" : "The drive's cache mode",
16465 "enum" : [
16466 "none",
16467 "writethrough",
16468 "writeback",
16469 "unsafe",
16470 "directsync"
16471 ],
16472 "optional" : 1,
16473 "type" : "string"
16474 },
16475 "cyls" : {
16476 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16477 "optional" : 1,
16478 "type" : "integer"
16479 },
16480 "detect_zeroes" : {
16481 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16482 "optional" : 1,
16483 "type" : "boolean"
16484 },
16485 "discard" : {
16486 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16487 "enum" : [
16488 "ignore",
16489 "on"
16490 ],
16491 "optional" : 1,
16492 "type" : "string"
16493 },
16494 "file" : {
16495 "default_key" : 1,
16496 "description" : "The drive's backing volume.",
16497 "format" : "pve-volume-id-or-qm-path",
16498 "format_description" : "volume",
16499 "type" : "string"
16500 },
16501 "format" : {
16502 "description" : "The drive's backing file's data format.",
16503 "enum" : [
16504 "raw",
16505 "cow",
16506 "qcow",
16507 "qed",
16508 "qcow2",
16509 "vmdk",
16510 "cloop"
16511 ],
16512 "optional" : 1,
16513 "type" : "string"
16514 },
16515 "heads" : {
16516 "description" : "Force the drive's physical geometry to have a specific head count.",
16517 "optional" : 1,
16518 "type" : "integer"
16519 },
16520 "iops" : {
16521 "description" : "Maximum r/w I/O in operations per second.",
16522 "format_description" : "iops",
16523 "optional" : 1,
16524 "type" : "integer"
16525 },
16526 "iops_max" : {
16527 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16528 "format_description" : "iops",
16529 "optional" : 1,
16530 "type" : "integer"
16531 },
16532 "iops_max_length" : {
16533 "description" : "Maximum length of I/O bursts in seconds.",
16534 "format_description" : "seconds",
16535 "minimum" : 1,
16536 "optional" : 1,
16537 "type" : "integer"
16538 },
16539 "iops_rd" : {
16540 "description" : "Maximum read I/O in operations per second.",
16541 "format_description" : "iops",
16542 "optional" : 1,
16543 "type" : "integer"
16544 },
16545 "iops_rd_length" : {
16546 "alias" : "iops_rd_max_length"
16547 },
16548 "iops_rd_max" : {
16549 "description" : "Maximum unthrottled read I/O pool in operations per second.",
16550 "format_description" : "iops",
16551 "optional" : 1,
16552 "type" : "integer"
16553 },
16554 "iops_rd_max_length" : {
16555 "description" : "Maximum length of read I/O bursts in seconds.",
16556 "format_description" : "seconds",
16557 "minimum" : 1,
16558 "optional" : 1,
16559 "type" : "integer"
16560 },
16561 "iops_wr" : {
16562 "description" : "Maximum write I/O in operations per second.",
16563 "format_description" : "iops",
16564 "optional" : 1,
16565 "type" : "integer"
16566 },
16567 "iops_wr_length" : {
16568 "alias" : "iops_wr_max_length"
16569 },
16570 "iops_wr_max" : {
16571 "description" : "Maximum unthrottled write I/O pool in operations per second.",
16572 "format_description" : "iops",
16573 "optional" : 1,
16574 "type" : "integer"
16575 },
16576 "iops_wr_max_length" : {
16577 "description" : "Maximum length of write I/O bursts in seconds.",
16578 "format_description" : "seconds",
16579 "minimum" : 1,
16580 "optional" : 1,
16581 "type" : "integer"
16582 },
16583 "iothread" : {
16584 "description" : "Whether to use iothreads for this drive",
16585 "optional" : 1,
16586 "type" : "boolean"
16587 },
16588 "mbps" : {
16589 "description" : "Maximum r/w speed in megabytes per second.",
16590 "format_description" : "mbps",
16591 "optional" : 1,
16592 "type" : "number"
16593 },
16594 "mbps_max" : {
16595 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
16596 "format_description" : "mbps",
16597 "optional" : 1,
16598 "type" : "number"
16599 },
16600 "mbps_rd" : {
16601 "description" : "Maximum read speed in megabytes per second.",
16602 "format_description" : "mbps",
16603 "optional" : 1,
16604 "type" : "number"
16605 },
16606 "mbps_rd_max" : {
16607 "description" : "Maximum unthrottled read pool in megabytes per second.",
16608 "format_description" : "mbps",
16609 "optional" : 1,
16610 "type" : "number"
16611 },
16612 "mbps_wr" : {
16613 "description" : "Maximum write speed in megabytes per second.",
16614 "format_description" : "mbps",
16615 "optional" : 1,
16616 "type" : "number"
16617 },
16618 "mbps_wr_max" : {
16619 "description" : "Maximum unthrottled write pool in megabytes per second.",
16620 "format_description" : "mbps",
16621 "optional" : 1,
16622 "type" : "number"
16623 },
16624 "media" : {
16625 "default" : "disk",
16626 "description" : "The drive's media type.",
16627 "enum" : [
16628 "cdrom",
16629 "disk"
16630 ],
16631 "optional" : 1,
16632 "type" : "string"
16633 },
16634 "queues" : {
16635 "description" : "Number of queues.",
16636 "minimum" : 2,
16637 "optional" : 1,
16638 "type" : "integer"
16639 },
16640 "replicate" : {
16641 "default" : 1,
16642 "description" : "Whether the drive should considered for replication jobs.",
16643 "optional" : 1,
16644 "type" : "boolean"
16645 },
16646 "rerror" : {
16647 "description" : "Read error action.",
16648 "enum" : [
16649 "ignore",
16650 "report",
16651 "stop"
16652 ],
16653 "optional" : 1,
16654 "type" : "string"
16655 },
16656 "scsiblock" : {
16657 "default" : 0,
16658 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
16659 "optional" : 1,
16660 "type" : "boolean"
16661 },
16662 "secs" : {
16663 "description" : "Force the drive's physical geometry to have a specific sector count.",
16664 "optional" : 1,
16665 "type" : "integer"
16666 },
16667 "serial" : {
16668 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16669 "format" : "urlencoded",
16670 "format_description" : "serial",
16671 "maxLength" : 60,
16672 "optional" : 1,
16673 "type" : "string"
16674 },
16675 "shared" : {
16676 "default" : 0,
16677 "description" : "Mark this locally-managed volume as available on all nodes",
16678 "optional" : 1,
16679 "type" : "boolean",
16680 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
16681 },
16682 "size" : {
16683 "description" : "Disk size. This is purely informational and has no effect.",
16684 "format" : "disk-size",
16685 "format_description" : "DiskSize",
16686 "optional" : 1,
16687 "type" : "string"
16688 },
16689 "snapshot" : {
16690 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
16691 "optional" : 1,
16692 "type" : "boolean"
16693 },
25203dc1
NC
16694 "ssd" : {
16695 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
16696 "optional" : 1,
16697 "type" : "boolean"
16698 },
4d47f125
TL
16699 "trans" : {
16700 "description" : "Force disk geometry bios translation mode.",
16701 "enum" : [
16702 "none",
16703 "lba",
16704 "auto"
16705 ],
16706 "optional" : 1,
16707 "type" : "string"
16708 },
16709 "volume" : {
16710 "alias" : "file"
16711 },
16712 "werror" : {
16713 "description" : "Write error action.",
16714 "enum" : [
16715 "enospc",
16716 "ignore",
16717 "report",
16718 "stop"
16719 ],
16720 "optional" : 1,
16721 "type" : "string"
95895385
TL
16722 },
16723 "wwn" : {
16724 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
16725 "format_description" : "wwn",
16726 "optional" : 1,
16727 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
16728 "type" : "string"
4d47f125
TL
16729 }
16730 },
16731 "optional" : 1,
16732 "type" : "string",
95895385 16733 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
16734 },
16735 "scsihw" : {
16736 "default" : "lsi",
16737 "description" : "SCSI controller model",
16738 "enum" : [
16739 "lsi",
16740 "lsi53c810",
16741 "virtio-scsi-pci",
16742 "virtio-scsi-single",
16743 "megasas",
16744 "pvscsi"
16745 ],
16746 "optional" : 1,
16747 "type" : "string"
16748 },
16749 "searchdomain" : {
16750 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
16751 "optional" : 1,
16752 "type" : "string",
16753 "typetext" : "<string>"
16754 },
16755 "serial[n]" : {
16756 "description" : "Create a serial device inside the VM (n is 0 to 3)",
16757 "optional" : 1,
16758 "pattern" : "(/dev/.+|socket)",
16759 "type" : "string",
16760 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
16761 },
16762 "shares" : {
16763 "default" : 1000,
16764 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
16765 "maximum" : 50000,
16766 "minimum" : 0,
16767 "optional" : 1,
16768 "type" : "integer",
16769 "typetext" : "<integer> (0 - 50000)"
16770 },
16771 "skiplock" : {
16772 "description" : "Ignore locks - only root is allowed to use this option.",
16773 "optional" : 1,
16774 "type" : "boolean",
16775 "typetext" : "<boolean>"
16776 },
16777 "smbios1" : {
16778 "description" : "Specify SMBIOS type 1 fields.",
16779 "format" : "pve-qm-smbios1",
1e3f8156 16780 "maxLength" : 512,
4d47f125
TL
16781 "optional" : 1,
16782 "type" : "string",
1e3f8156 16783 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
4d47f125
TL
16784 },
16785 "smp" : {
16786 "default" : 1,
16787 "description" : "The number of CPUs. Please use option -sockets instead.",
16788 "minimum" : 1,
16789 "optional" : 1,
16790 "type" : "integer",
16791 "typetext" : "<integer> (1 - N)"
16792 },
16793 "sockets" : {
16794 "default" : 1,
16795 "description" : "The number of CPU sockets.",
16796 "minimum" : 1,
16797 "optional" : 1,
16798 "type" : "integer",
16799 "typetext" : "<integer> (1 - N)"
16800 },
1c532546
TL
16801 "spice_enhancements" : {
16802 "description" : "Configure additional enhancements for SPICE.",
16803 "format" : {
16804 "foldersharing" : {
16805 "default" : "0",
16806 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
16807 "optional" : 1,
16808 "type" : "boolean"
16809 },
16810 "videostreaming" : {
16811 "default" : "off",
16812 "description" : "Enable video streaming. Uses compression for detected video streams.",
16813 "enum" : [
16814 "off",
16815 "all",
16816 "filter"
16817 ],
16818 "optional" : 1,
16819 "type" : "string"
16820 }
16821 },
16822 "optional" : 1,
16823 "type" : "string",
16824 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
16825 },
4d47f125
TL
16826 "sshkeys" : {
16827 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
16828 "format" : "urlencoded",
16829 "optional" : 1,
16830 "type" : "string",
16831 "typetext" : "<string>"
16832 },
16833 "startdate" : {
16834 "default" : "now",
16835 "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
16836 "optional" : 1,
16837 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
16838 "type" : "string",
16839 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
16840 },
16841 "startup" : {
16842 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
16843 "format" : "pve-startup-order",
16844 "optional" : 1,
16845 "type" : "string",
16846 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
16847 },
16848 "tablet" : {
16849 "default" : 1,
16850 "description" : "Enable/disable the USB tablet device.",
16851 "optional" : 1,
16852 "type" : "boolean",
16853 "typetext" : "<boolean>",
16854 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
16855 },
5c1699e5
TL
16856 "tags" : {
16857 "description" : "Tags of the VM. This is only meta information.",
16858 "format" : "pve-tag-list",
16859 "optional" : 1,
16860 "type" : "string",
16861 "typetext" : "<string>"
16862 },
4d47f125
TL
16863 "tdf" : {
16864 "default" : 0,
16865 "description" : "Enable/disable time drift fix.",
16866 "optional" : 1,
16867 "type" : "boolean",
16868 "typetext" : "<boolean>"
16869 },
16870 "template" : {
16871 "default" : 0,
16872 "description" : "Enable/disable Template.",
16873 "optional" : 1,
16874 "type" : "boolean",
16875 "typetext" : "<boolean>"
16876 },
16877 "unused[n]" : {
16878 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
16879 "format" : {
16880 "file" : {
16881 "default_key" : 1,
16882 "description" : "The drive's backing volume.",
16883 "format" : "pve-volume-id",
16884 "format_description" : "volume",
16885 "type" : "string"
16886 },
16887 "volume" : {
16888 "alias" : "file"
16889 }
16890 },
4d47f125
TL
16891 "optional" : 1,
16892 "type" : "string",
c5aa7e14 16893 "typetext" : "[file=]<volume>"
4d47f125
TL
16894 },
16895 "usb[n]" : {
16896 "description" : "Configure an USB device (n is 0 to 4).",
16897 "format" : {
16898 "host" : {
16899 "default_key" : 1,
16900 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
16901 "format" : "pve-qm-usb-device",
16902 "format_description" : "HOSTUSBDEVICE|spice",
16903 "type" : "string"
16904 },
16905 "usb3" : {
16906 "default" : 0,
1c532546 16907 "description" : "Specifies whether if given host option is a USB3 device or port.",
4d47f125
TL
16908 "optional" : 1,
16909 "type" : "boolean"
16910 }
16911 },
16912 "optional" : 1,
16913 "type" : "string",
16914 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
16915 },
16916 "vcpus" : {
16917 "default" : 0,
16918 "description" : "Number of hotplugged vcpus.",
16919 "minimum" : 1,
16920 "optional" : 1,
16921 "type" : "integer",
16922 "typetext" : "<integer> (1 - N)"
16923 },
16924 "vga" : {
e2d681b3
TL
16925 "description" : "Configure the VGA hardware.",
16926 "format" : {
16927 "memory" : {
16928 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
16929 "maximum" : 512,
16930 "minimum" : 4,
16931 "optional" : 1,
16932 "type" : "integer"
16933 },
16934 "type" : {
16935 "default" : "std",
16936 "default_key" : 1,
16937 "description" : "Select the VGA type.",
16938 "enum" : [
16939 "cirrus",
16940 "qxl",
16941 "qxl2",
16942 "qxl3",
16943 "qxl4",
5f26e15b 16944 "none",
e2d681b3
TL
16945 "serial0",
16946 "serial1",
16947 "serial2",
16948 "serial3",
16949 "std",
16950 "virtio",
16951 "vmware"
16952 ],
16953 "optional" : 1,
16954 "type" : "string"
16955 }
16956 },
4d47f125
TL
16957 "optional" : 1,
16958 "type" : "string",
e2d681b3
TL
16959 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
16960 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
4d47f125
TL
16961 },
16962 "virtio[n]" : {
16963 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
16964 "format" : {
16965 "aio" : {
16966 "description" : "AIO type to use.",
16967 "enum" : [
16968 "native",
16969 "threads"
16970 ],
16971 "optional" : 1,
16972 "type" : "string"
16973 },
16974 "backup" : {
16975 "description" : "Whether the drive should be included when making backups.",
16976 "optional" : 1,
16977 "type" : "boolean"
16978 },
16979 "bps" : {
16980 "description" : "Maximum r/w speed in bytes per second.",
16981 "format_description" : "bps",
16982 "optional" : 1,
16983 "type" : "integer"
16984 },
16985 "bps_max_length" : {
16986 "description" : "Maximum length of I/O bursts in seconds.",
16987 "format_description" : "seconds",
16988 "minimum" : 1,
16989 "optional" : 1,
16990 "type" : "integer"
16991 },
16992 "bps_rd" : {
16993 "description" : "Maximum read speed in bytes per second.",
16994 "format_description" : "bps",
16995 "optional" : 1,
16996 "type" : "integer"
16997 },
16998 "bps_rd_length" : {
16999 "alias" : "bps_rd_max_length"
17000 },
17001 "bps_rd_max_length" : {
17002 "description" : "Maximum length of read I/O bursts in seconds.",
17003 "format_description" : "seconds",
17004 "minimum" : 1,
17005 "optional" : 1,
17006 "type" : "integer"
17007 },
17008 "bps_wr" : {
17009 "description" : "Maximum write speed in bytes per second.",
17010 "format_description" : "bps",
17011 "optional" : 1,
17012 "type" : "integer"
17013 },
17014 "bps_wr_length" : {
17015 "alias" : "bps_wr_max_length"
17016 },
17017 "bps_wr_max_length" : {
17018 "description" : "Maximum length of write I/O bursts in seconds.",
17019 "format_description" : "seconds",
17020 "minimum" : 1,
17021 "optional" : 1,
17022 "type" : "integer"
17023 },
17024 "cache" : {
17025 "description" : "The drive's cache mode",
17026 "enum" : [
17027 "none",
17028 "writethrough",
17029 "writeback",
17030 "unsafe",
17031 "directsync"
17032 ],
17033 "optional" : 1,
17034 "type" : "string"
17035 },
17036 "cyls" : {
17037 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17038 "optional" : 1,
17039 "type" : "integer"
17040 },
17041 "detect_zeroes" : {
17042 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
17043 "optional" : 1,
17044 "type" : "boolean"
17045 },
17046 "discard" : {
17047 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17048 "enum" : [
17049 "ignore",
17050 "on"
17051 ],
17052 "optional" : 1,
17053 "type" : "string"
17054 },
17055 "file" : {
17056 "default_key" : 1,
17057 "description" : "The drive's backing volume.",
17058 "format" : "pve-volume-id-or-qm-path",
17059 "format_description" : "volume",
17060 "type" : "string"
17061 },
17062 "format" : {
17063 "description" : "The drive's backing file's data format.",
17064 "enum" : [
17065 "raw",
17066 "cow",
17067 "qcow",
17068 "qed",
17069 "qcow2",
17070 "vmdk",
17071 "cloop"
17072 ],
17073 "optional" : 1,
17074 "type" : "string"
17075 },
17076 "heads" : {
17077 "description" : "Force the drive's physical geometry to have a specific head count.",
17078 "optional" : 1,
17079 "type" : "integer"
17080 },
17081 "iops" : {
17082 "description" : "Maximum r/w I/O in operations per second.",
17083 "format_description" : "iops",
17084 "optional" : 1,
17085 "type" : "integer"
17086 },
17087 "iops_max" : {
17088 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
17089 "format_description" : "iops",
17090 "optional" : 1,
17091 "type" : "integer"
17092 },
17093 "iops_max_length" : {
17094 "description" : "Maximum length of I/O bursts in seconds.",
17095 "format_description" : "seconds",
17096 "minimum" : 1,
17097 "optional" : 1,
17098 "type" : "integer"
17099 },
17100 "iops_rd" : {
17101 "description" : "Maximum read I/O in operations per second.",
17102 "format_description" : "iops",
17103 "optional" : 1,
17104 "type" : "integer"
17105 },
17106 "iops_rd_length" : {
17107 "alias" : "iops_rd_max_length"
17108 },
17109 "iops_rd_max" : {
17110 "description" : "Maximum unthrottled read I/O pool in operations per second.",
17111 "format_description" : "iops",
17112 "optional" : 1,
17113 "type" : "integer"
17114 },
17115 "iops_rd_max_length" : {
17116 "description" : "Maximum length of read I/O bursts in seconds.",
17117 "format_description" : "seconds",
17118 "minimum" : 1,
17119 "optional" : 1,
17120 "type" : "integer"
17121 },
17122 "iops_wr" : {
17123 "description" : "Maximum write I/O in operations per second.",
17124 "format_description" : "iops",
17125 "optional" : 1,
17126 "type" : "integer"
17127 },
17128 "iops_wr_length" : {
17129 "alias" : "iops_wr_max_length"
17130 },
17131 "iops_wr_max" : {
17132 "description" : "Maximum unthrottled write I/O pool in operations per second.",
17133 "format_description" : "iops",
17134 "optional" : 1,
17135 "type" : "integer"
17136 },
17137 "iops_wr_max_length" : {
17138 "description" : "Maximum length of write I/O bursts in seconds.",
17139 "format_description" : "seconds",
17140 "minimum" : 1,
17141 "optional" : 1,
17142 "type" : "integer"
17143 },
17144 "iothread" : {
17145 "description" : "Whether to use iothreads for this drive",
17146 "optional" : 1,
17147 "type" : "boolean"
17148 },
17149 "mbps" : {
17150 "description" : "Maximum r/w speed in megabytes per second.",
17151 "format_description" : "mbps",
17152 "optional" : 1,
17153 "type" : "number"
17154 },
17155 "mbps_max" : {
17156 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
17157 "format_description" : "mbps",
17158 "optional" : 1,
17159 "type" : "number"
17160 },
17161 "mbps_rd" : {
17162 "description" : "Maximum read speed in megabytes per second.",
17163 "format_description" : "mbps",
17164 "optional" : 1,
17165 "type" : "number"
17166 },
17167 "mbps_rd_max" : {
17168 "description" : "Maximum unthrottled read pool in megabytes per second.",
17169 "format_description" : "mbps",
17170 "optional" : 1,
17171 "type" : "number"
17172 },
17173 "mbps_wr" : {
17174 "description" : "Maximum write speed in megabytes per second.",
17175 "format_description" : "mbps",
17176 "optional" : 1,
17177 "type" : "number"
17178 },
17179 "mbps_wr_max" : {
17180 "description" : "Maximum unthrottled write pool in megabytes per second.",
17181 "format_description" : "mbps",
17182 "optional" : 1,
17183 "type" : "number"
17184 },
17185 "media" : {
17186 "default" : "disk",
17187 "description" : "The drive's media type.",
17188 "enum" : [
17189 "cdrom",
17190 "disk"
17191 ],
17192 "optional" : 1,
17193 "type" : "string"
17194 },
17195 "replicate" : {
17196 "default" : 1,
17197 "description" : "Whether the drive should considered for replication jobs.",
17198 "optional" : 1,
17199 "type" : "boolean"
17200 },
17201 "rerror" : {
17202 "description" : "Read error action.",
17203 "enum" : [
17204 "ignore",
17205 "report",
17206 "stop"
17207 ],
17208 "optional" : 1,
17209 "type" : "string"
17210 },
17211 "secs" : {
17212 "description" : "Force the drive's physical geometry to have a specific sector count.",
17213 "optional" : 1,
17214 "type" : "integer"
17215 },
17216 "serial" : {
17217 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17218 "format" : "urlencoded",
17219 "format_description" : "serial",
17220 "maxLength" : 60,
17221 "optional" : 1,
17222 "type" : "string"
17223 },
17224 "shared" : {
17225 "default" : 0,
17226 "description" : "Mark this locally-managed volume as available on all nodes",
17227 "optional" : 1,
17228 "type" : "boolean",
17229 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
17230 },
17231 "size" : {
17232 "description" : "Disk size. This is purely informational and has no effect.",
17233 "format" : "disk-size",
17234 "format_description" : "DiskSize",
17235 "optional" : 1,
17236 "type" : "string"
17237 },
17238 "snapshot" : {
17239 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
17240 "optional" : 1,
17241 "type" : "boolean"
17242 },
17243 "trans" : {
17244 "description" : "Force disk geometry bios translation mode.",
17245 "enum" : [
17246 "none",
17247 "lba",
17248 "auto"
17249 ],
17250 "optional" : 1,
17251 "type" : "string"
17252 },
17253 "volume" : {
17254 "alias" : "file"
17255 },
17256 "werror" : {
17257 "description" : "Write error action.",
17258 "enum" : [
17259 "enospc",
17260 "ignore",
17261 "report",
17262 "stop"
17263 ],
17264 "optional" : 1,
17265 "type" : "string"
17266 }
17267 },
17268 "optional" : 1,
17269 "type" : "string",
17270 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
17271 },
17272 "vmgenid" : {
17273 "default" : "1 (autogenerated)",
17274 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
17275 "format_description" : "UUID",
17276 "optional" : 1,
17277 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
17278 "type" : "string",
17279 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
17280 },
17281 "vmid" : {
17282 "description" : "The (unique) ID of the VM.",
17283 "format" : "pve-vmid",
17284 "minimum" : 1,
17285 "type" : "integer",
17286 "typetext" : "<integer> (1 - N)"
17287 },
17288 "vmstatestorage" : {
17289 "description" : "Default storage for VM state volumes/files.",
17290 "format" : "pve-storage-id",
17291 "optional" : 1,
17292 "type" : "string",
17293 "typetext" : "<string>"
17294 },
17295 "watchdog" : {
17296 "description" : "Create a virtual hardware watchdog device.",
17297 "format" : "pve-qm-watchdog",
17298 "optional" : 1,
17299 "type" : "string",
17300 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
17301 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
17302 }
17303 }
17304 },
17305 "permissions" : {
17306 "check" : [
17307 "perm",
17308 "/vms/{vmid}",
17309 [
17310 "VM.Config.Disk",
17311 "VM.Config.CDROM",
17312 "VM.Config.CPU",
17313 "VM.Config.Memory",
17314 "VM.Config.Network",
17315 "VM.Config.HWType",
ac70d7d1
TL
17316 "VM.Config.Options",
17317 "VM.Config.Cloudinit"
4d47f125
TL
17318 ],
17319 "any",
17320 1
17321 ]
17322 },
17323 "protected" : 1,
17324 "proxyto" : "node",
17325 "returns" : {
17326 "type" : "null"
17327 }
17328 }
17329 },
17330 "leaf" : 1,
17331 "path" : "/nodes/{node}/qemu/{vmid}/config",
17332 "text" : "config"
17333 },
17334 {
17335 "info" : {
17336 "GET" : {
e9cd3bd4
TL
17337 "allowtoken" : 1,
17338 "description" : "Get the virtual machine configuration with both current and pending values.",
4d47f125
TL
17339 "method" : "GET",
17340 "name" : "vm_pending",
17341 "parameters" : {
17342 "additionalProperties" : 0,
17343 "properties" : {
17344 "node" : {
17345 "description" : "The cluster node name.",
17346 "format" : "pve-node",
17347 "type" : "string",
17348 "typetext" : "<string>"
17349 },
17350 "vmid" : {
17351 "description" : "The (unique) ID of the VM.",
17352 "format" : "pve-vmid",
17353 "minimum" : 1,
17354 "type" : "integer",
17355 "typetext" : "<integer> (1 - N)"
17356 }
17357 }
17358 },
17359 "permissions" : {
17360 "check" : [
17361 "perm",
17362 "/vms/{vmid}",
17363 [
17364 "VM.Audit"
17365 ]
17366 ]
17367 },
17368 "proxyto" : "node",
17369 "returns" : {
17370 "items" : {
17371 "properties" : {
17372 "delete" : {
17373 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
17374 "maximum" : 2,
17375 "minimum" : 0,
17376 "optional" : 1,
17377 "type" : "integer"
17378 },
17379 "key" : {
17380 "description" : "Configuration option name.",
17381 "type" : "string"
17382 },
17383 "pending" : {
17384 "description" : "Pending value.",
17385 "optional" : 1,
17386 "type" : "string"
17387 },
17388 "value" : {
17389 "description" : "Current value.",
17390 "optional" : 1,
17391 "type" : "string"
17392 }
17393 },
17394 "type" : "object"
17395 },
17396 "type" : "array"
17397 }
17398 }
17399 },
17400 "leaf" : 1,
17401 "path" : "/nodes/{node}/qemu/{vmid}/pending",
17402 "text" : "pending"
17403 },
17404 {
17405 "info" : {
17406 "PUT" : {
e9cd3bd4 17407 "allowtoken" : 1,
4d47f125
TL
17408 "description" : "Unlink/delete disk images.",
17409 "method" : "PUT",
17410 "name" : "unlink",
17411 "parameters" : {
17412 "additionalProperties" : 0,
17413 "properties" : {
17414 "force" : {
17415 "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
17416 "optional" : 1,
17417 "type" : "boolean",
17418 "typetext" : "<boolean>"
17419 },
17420 "idlist" : {
17421 "description" : "A list of disk IDs you want to delete.",
17422 "format" : "pve-configid-list",
17423 "type" : "string",
17424 "typetext" : "<string>"
17425 },
17426 "node" : {
17427 "description" : "The cluster node name.",
17428 "format" : "pve-node",
17429 "type" : "string",
17430 "typetext" : "<string>"
17431 },
17432 "vmid" : {
17433 "description" : "The (unique) ID of the VM.",
17434 "format" : "pve-vmid",
17435 "minimum" : 1,
17436 "type" : "integer",
17437 "typetext" : "<integer> (1 - N)"
17438 }
17439 }
17440 },
17441 "permissions" : {
17442 "check" : [
17443 "perm",
17444 "/vms/{vmid}",
17445 [
17446 "VM.Config.Disk"
17447 ]
17448 ]
17449 },
17450 "protected" : 1,
17451 "proxyto" : "node",
17452 "returns" : {
17453 "type" : "null"
17454 }
17455 }
17456 },
17457 "leaf" : 1,
17458 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
17459 "text" : "unlink"
17460 },
17461 {
17462 "info" : {
17463 "POST" : {
e9cd3bd4 17464 "allowtoken" : 1,
4d47f125
TL
17465 "description" : "Creates a TCP VNC proxy connections.",
17466 "method" : "POST",
17467 "name" : "vncproxy",
17468 "parameters" : {
17469 "additionalProperties" : 0,
17470 "properties" : {
ac70d7d1
TL
17471 "generate-password" : {
17472 "default" : 0,
17473 "description" : "Generates a random password to be used as ticket instead of the API ticket.",
17474 "optional" : 1,
17475 "type" : "boolean",
17476 "typetext" : "<boolean>"
17477 },
4d47f125
TL
17478 "node" : {
17479 "description" : "The cluster node name.",
17480 "format" : "pve-node",
17481 "type" : "string",
17482 "typetext" : "<string>"
17483 },
17484 "vmid" : {
17485 "description" : "The (unique) ID of the VM.",
17486 "format" : "pve-vmid",
17487 "minimum" : 1,
17488 "type" : "integer",
17489 "typetext" : "<integer> (1 - N)"
17490 },
17491 "websocket" : {
17492 "description" : "starts websockify instead of vncproxy",
17493 "optional" : 1,
17494 "type" : "boolean",
17495 "typetext" : "<boolean>"
17496 }
17497 }
17498 },
17499 "permissions" : {
17500 "check" : [
17501 "perm",
17502 "/vms/{vmid}",
17503 [
17504 "VM.Console"
17505 ]
17506 ]
17507 },
17508 "protected" : 1,
17509 "returns" : {
17510 "additionalProperties" : 0,
17511 "properties" : {
17512 "cert" : {
17513 "type" : "string"
17514 },
ac70d7d1
TL
17515 "password" : {
17516 "description" : "Returned if requested with 'generate-password' param. Consists of printable ASCII characters ('!' .. '~').",
17517 "optional" : 1,
17518 "type" : "string"
17519 },
4d47f125
TL
17520 "port" : {
17521 "type" : "integer"
17522 },
17523 "ticket" : {
17524 "type" : "string"
17525 },
17526 "upid" : {
17527 "type" : "string"
17528 },
17529 "user" : {
17530 "type" : "string"
17531 }
17532 }
17533 }
17534 }
17535 },
17536 "leaf" : 1,
17537 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
17538 "text" : "vncproxy"
17539 },
17540 {
17541 "info" : {
17542 "POST" : {
e9cd3bd4 17543 "allowtoken" : 1,
4d47f125
TL
17544 "description" : "Creates a TCP proxy connections.",
17545 "method" : "POST",
17546 "name" : "termproxy",
17547 "parameters" : {
17548 "additionalProperties" : 0,
17549 "properties" : {
17550 "node" : {
17551 "description" : "The cluster node name.",
17552 "format" : "pve-node",
17553 "type" : "string",
17554 "typetext" : "<string>"
17555 },
17556 "serial" : {
17557 "description" : "opens a serial terminal (defaults to display)",
17558 "enum" : [
17559 "serial0",
17560 "serial1",
17561 "serial2",
17562 "serial3"
17563 ],
17564 "optional" : 1,
17565 "type" : "string"
17566 },
17567 "vmid" : {
17568 "description" : "The (unique) ID of the VM.",
17569 "format" : "pve-vmid",
17570 "minimum" : 1,
17571 "type" : "integer",
17572 "typetext" : "<integer> (1 - N)"
17573 }
17574 }
17575 },
17576 "permissions" : {
17577 "check" : [
17578 "perm",
17579 "/vms/{vmid}",
17580 [
17581 "VM.Console"
17582 ]
17583 ]
17584 },
17585 "protected" : 1,
17586 "returns" : {
17587 "additionalProperties" : 0,
17588 "properties" : {
17589 "port" : {
17590 "type" : "integer"
17591 },
17592 "ticket" : {
17593 "type" : "string"
17594 },
17595 "upid" : {
17596 "type" : "string"
17597 },
17598 "user" : {
17599 "type" : "string"
17600 }
17601 }
17602 }
17603 }
17604 },
17605 "leaf" : 1,
17606 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
17607 "text" : "termproxy"
17608 },
17609 {
17610 "info" : {
17611 "GET" : {
e9cd3bd4 17612 "allowtoken" : 1,
4d47f125
TL
17613 "description" : "Opens a weksocket for VNC traffic.",
17614 "method" : "GET",
17615 "name" : "vncwebsocket",
17616 "parameters" : {
17617 "additionalProperties" : 0,
17618 "properties" : {
17619 "node" : {
17620 "description" : "The cluster node name.",
17621 "format" : "pve-node",
17622 "type" : "string",
17623 "typetext" : "<string>"
17624 },
17625 "port" : {
17626 "description" : "Port number returned by previous vncproxy call.",
17627 "maximum" : 5999,
17628 "minimum" : 5900,
17629 "type" : "integer",
17630 "typetext" : "<integer> (5900 - 5999)"
17631 },
17632 "vmid" : {
17633 "description" : "The (unique) ID of the VM.",
17634 "format" : "pve-vmid",
17635 "minimum" : 1,
17636 "type" : "integer",
17637 "typetext" : "<integer> (1 - N)"
17638 },
17639 "vncticket" : {
17640 "description" : "Ticket from previous call to vncproxy.",
17641 "maxLength" : 512,
17642 "type" : "string",
17643 "typetext" : "<string>"
17644 }
17645 }
17646 },
17647 "permissions" : {
17648 "check" : [
17649 "perm",
17650 "/vms/{vmid}",
17651 [
17652 "VM.Console"
17653 ]
17654 ],
17655 "description" : "You also need to pass a valid ticket (vncticket)."
17656 },
17657 "returns" : {
17658 "properties" : {
17659 "port" : {
17660 "type" : "string"
17661 }
17662 },
17663 "type" : "object"
17664 }
17665 }
17666 },
17667 "leaf" : 1,
17668 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
17669 "text" : "vncwebsocket"
17670 },
17671 {
17672 "info" : {
17673 "POST" : {
e9cd3bd4 17674 "allowtoken" : 1,
4d47f125
TL
17675 "description" : "Returns a SPICE configuration to connect to the VM.",
17676 "method" : "POST",
17677 "name" : "spiceproxy",
17678 "parameters" : {
17679 "additionalProperties" : 0,
17680 "properties" : {
17681 "node" : {
17682 "description" : "The cluster node name.",
17683 "format" : "pve-node",
17684 "type" : "string",
17685 "typetext" : "<string>"
17686 },
17687 "proxy" : {
17688 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
17689 "format" : "address",
17690 "optional" : 1,
17691 "type" : "string",
17692 "typetext" : "<string>"
17693 },
17694 "vmid" : {
17695 "description" : "The (unique) ID of the VM.",
17696 "format" : "pve-vmid",
17697 "minimum" : 1,
17698 "type" : "integer",
17699 "typetext" : "<integer> (1 - N)"
17700 }
17701 }
17702 },
17703 "permissions" : {
17704 "check" : [
17705 "perm",
17706 "/vms/{vmid}",
17707 [
17708 "VM.Console"
17709 ]
17710 ]
17711 },
17712 "protected" : 1,
17713 "proxyto" : "node",
17714 "returns" : {
17715 "additionalProperties" : 1,
17716 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
17717 "properties" : {
17718 "host" : {
17719 "type" : "string"
17720 },
17721 "password" : {
17722 "type" : "string"
17723 },
17724 "proxy" : {
17725 "type" : "string"
17726 },
17727 "tls-port" : {
17728 "type" : "integer"
17729 },
17730 "type" : {
17731 "type" : "string"
17732 }
17733 }
17734 }
17735 }
17736 },
17737 "leaf" : 1,
17738 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
17739 "text" : "spiceproxy"
17740 },
17741 {
17742 "children" : [
17743 {
17744 "info" : {
17745 "GET" : {
e9cd3bd4 17746 "allowtoken" : 1,
4d47f125
TL
17747 "description" : "Get virtual machine status.",
17748 "method" : "GET",
17749 "name" : "vm_status",
17750 "parameters" : {
17751 "additionalProperties" : 0,
17752 "properties" : {
17753 "node" : {
17754 "description" : "The cluster node name.",
17755 "format" : "pve-node",
17756 "type" : "string",
17757 "typetext" : "<string>"
17758 },
17759 "vmid" : {
17760 "description" : "The (unique) ID of the VM.",
17761 "format" : "pve-vmid",
17762 "minimum" : 1,
17763 "type" : "integer",
17764 "typetext" : "<integer> (1 - N)"
17765 }
17766 }
17767 },
17768 "permissions" : {
17769 "check" : [
17770 "perm",
17771 "/vms/{vmid}",
17772 [
17773 "VM.Audit"
17774 ]
17775 ]
17776 },
17777 "protected" : 1,
17778 "proxyto" : "node",
17779 "returns" : {
17780 "properties" : {
17781 "agent" : {
17782 "description" : "Qemu GuestAgent enabled in config.",
17783 "optional" : 1,
17784 "type" : "boolean"
17785 },
17786 "cpus" : {
17787 "description" : "Maximum usable CPUs.",
17788 "optional" : 1,
17789 "type" : "number"
17790 },
17791 "ha" : {
17792 "description" : "HA manager service status.",
17793 "type" : "object"
17794 },
95895385
TL
17795 "lock" : {
17796 "description" : "The current config lock, if any.",
17797 "optional" : 1,
17798 "type" : "string"
17799 },
4d47f125
TL
17800 "maxdisk" : {
17801 "description" : "Root disk size in bytes.",
17802 "optional" : 1,
17803 "renderer" : "bytes",
17804 "type" : "integer"
17805 },
17806 "maxmem" : {
17807 "description" : "Maximum memory in bytes.",
17808 "optional" : 1,
17809 "renderer" : "bytes",
17810 "type" : "integer"
17811 },
17812 "name" : {
17813 "description" : "VM name.",
17814 "optional" : 1,
17815 "type" : "string"
17816 },
17817 "pid" : {
17818 "description" : "PID of running qemu process.",
17819 "optional" : 1,
17820 "type" : "integer"
17821 },
17822 "qmpstatus" : {
17823 "description" : "Qemu QMP agent status.",
17824 "optional" : 1,
17825 "type" : "string"
17826 },
17827 "spice" : {
17828 "description" : "Qemu VGA configuration supports spice.",
17829 "optional" : 1,
17830 "type" : "boolean"
17831 },
17832 "status" : {
17833 "description" : "Qemu process status.",
17834 "enum" : [
17835 "stopped",
17836 "running"
17837 ],
17838 "type" : "string"
17839 },
5c1699e5
TL
17840 "tags" : {
17841 "description" : "The current configured tags, if any",
17842 "optional" : 1,
17843 "type" : "string"
17844 },
4d47f125
TL
17845 "uptime" : {
17846 "description" : "Uptime.",
17847 "optional" : 1,
17848 "renderer" : "duration",
17849 "type" : "integer"
17850 },
17851 "vmid" : {
17852 "description" : "The (unique) ID of the VM.",
17853 "format" : "pve-vmid",
17854 "minimum" : 1,
17855 "type" : "integer"
17856 }
17857 },
17858 "type" : "object"
17859 }
17860 }
17861 },
17862 "leaf" : 1,
17863 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
17864 "text" : "current"
17865 },
17866 {
17867 "info" : {
17868 "POST" : {
e9cd3bd4 17869 "allowtoken" : 1,
4d47f125
TL
17870 "description" : "Start virtual machine.",
17871 "method" : "POST",
17872 "name" : "vm_start",
17873 "parameters" : {
17874 "additionalProperties" : 0,
17875 "properties" : {
c5aa7e14
TL
17876 "force-cpu" : {
17877 "description" : "Override QEMU's -cpu argument with the given string.",
17878 "optional" : 1,
17879 "type" : "string",
17880 "typetext" : "<string>"
17881 },
4d47f125
TL
17882 "machine" : {
17883 "description" : "Specifies the Qemu machine type.",
17884 "maxLength" : 40,
17885 "optional" : 1,
5c1699e5 17886 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
17887 "type" : "string"
17888 },
17889 "migratedfrom" : {
17890 "description" : "The cluster node name.",
17891 "format" : "pve-node",
17892 "optional" : 1,
17893 "type" : "string",
17894 "typetext" : "<string>"
17895 },
17896 "migration_network" : {
17897 "description" : "CIDR of the (sub) network that is used for migration.",
17898 "format" : "CIDR",
17899 "optional" : 1,
17900 "type" : "string",
17901 "typetext" : "<string>"
17902 },
17903 "migration_type" : {
17904 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
17905 "enum" : [
17906 "secure",
17907 "insecure"
17908 ],
17909 "optional" : 1,
17910 "type" : "string"
17911 },
17912 "node" : {
17913 "description" : "The cluster node name.",
17914 "format" : "pve-node",
17915 "type" : "string",
17916 "typetext" : "<string>"
17917 },
17918 "skiplock" : {
17919 "description" : "Ignore locks - only root is allowed to use this option.",
17920 "optional" : 1,
17921 "type" : "boolean",
17922 "typetext" : "<boolean>"
17923 },
17924 "stateuri" : {
17925 "description" : "Some command save/restore state from this location.",
17926 "maxLength" : 128,
17927 "optional" : 1,
17928 "type" : "string",
17929 "typetext" : "<string>"
17930 },
17931 "targetstorage" : {
c5aa7e14
TL
17932 "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
17933 "format" : "storagepair-list",
4d47f125
TL
17934 "optional" : 1,
17935 "type" : "string",
17936 "typetext" : "<string>"
17937 },
e9cd3bd4
TL
17938 "timeout" : {
17939 "default" : "max(30, vm memory in GiB)",
17940 "description" : "Wait maximal timeout seconds.",
17941 "minimum" : 0,
17942 "optional" : 1,
17943 "type" : "integer",
17944 "typetext" : "<integer> (0 - N)"
17945 },
4d47f125
TL
17946 "vmid" : {
17947 "description" : "The (unique) ID of the VM.",
17948 "format" : "pve-vmid",
17949 "minimum" : 1,
17950 "type" : "integer",
17951 "typetext" : "<integer> (1 - N)"
17952 }
17953 }
17954 },
17955 "permissions" : {
17956 "check" : [
17957 "perm",
17958 "/vms/{vmid}",
17959 [
17960 "VM.PowerMgmt"
17961 ]
17962 ]
17963 },
17964 "protected" : 1,
17965 "proxyto" : "node",
17966 "returns" : {
17967 "type" : "string"
17968 }
17969 }
17970 },
17971 "leaf" : 1,
17972 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
17973 "text" : "start"
17974 },
17975 {
17976 "info" : {
17977 "POST" : {
e9cd3bd4 17978 "allowtoken" : 1,
4d47f125
TL
17979 "description" : "Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data",
17980 "method" : "POST",
17981 "name" : "vm_stop",
17982 "parameters" : {
17983 "additionalProperties" : 0,
17984 "properties" : {
17985 "keepActive" : {
17986 "default" : 0,
17987 "description" : "Do not deactivate storage volumes.",
17988 "optional" : 1,
17989 "type" : "boolean",
17990 "typetext" : "<boolean>"
17991 },
17992 "migratedfrom" : {
17993 "description" : "The cluster node name.",
17994 "format" : "pve-node",
17995 "optional" : 1,
17996 "type" : "string",
17997 "typetext" : "<string>"
17998 },
17999 "node" : {
18000 "description" : "The cluster node name.",
18001 "format" : "pve-node",
18002 "type" : "string",
18003 "typetext" : "<string>"
18004 },
18005 "skiplock" : {
18006 "description" : "Ignore locks - only root is allowed to use this option.",
18007 "optional" : 1,
18008 "type" : "boolean",
18009 "typetext" : "<boolean>"
18010 },
18011 "timeout" : {
18012 "description" : "Wait maximal timeout seconds.",
18013 "minimum" : 0,
18014 "optional" : 1,
18015 "type" : "integer",
18016 "typetext" : "<integer> (0 - N)"
18017 },
18018 "vmid" : {
18019 "description" : "The (unique) ID of the VM.",
18020 "format" : "pve-vmid",
18021 "minimum" : 1,
18022 "type" : "integer",
18023 "typetext" : "<integer> (1 - N)"
18024 }
18025 }
18026 },
18027 "permissions" : {
18028 "check" : [
18029 "perm",
18030 "/vms/{vmid}",
18031 [
18032 "VM.PowerMgmt"
18033 ]
18034 ]
18035 },
18036 "protected" : 1,
18037 "proxyto" : "node",
18038 "returns" : {
18039 "type" : "string"
18040 }
18041 }
18042 },
18043 "leaf" : 1,
18044 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
18045 "text" : "stop"
18046 },
18047 {
18048 "info" : {
18049 "POST" : {
e9cd3bd4 18050 "allowtoken" : 1,
4d47f125
TL
18051 "description" : "Reset virtual machine.",
18052 "method" : "POST",
18053 "name" : "vm_reset",
18054 "parameters" : {
18055 "additionalProperties" : 0,
18056 "properties" : {
18057 "node" : {
18058 "description" : "The cluster node name.",
18059 "format" : "pve-node",
18060 "type" : "string",
18061 "typetext" : "<string>"
18062 },
18063 "skiplock" : {
18064 "description" : "Ignore locks - only root is allowed to use this option.",
18065 "optional" : 1,
18066 "type" : "boolean",
18067 "typetext" : "<boolean>"
18068 },
18069 "vmid" : {
18070 "description" : "The (unique) ID of the VM.",
18071 "format" : "pve-vmid",
18072 "minimum" : 1,
18073 "type" : "integer",
18074 "typetext" : "<integer> (1 - N)"
18075 }
18076 }
18077 },
18078 "permissions" : {
18079 "check" : [
18080 "perm",
18081 "/vms/{vmid}",
18082 [
18083 "VM.PowerMgmt"
18084 ]
18085 ]
18086 },
18087 "protected" : 1,
18088 "proxyto" : "node",
18089 "returns" : {
18090 "type" : "string"
18091 }
18092 }
18093 },
18094 "leaf" : 1,
18095 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
18096 "text" : "reset"
18097 },
18098 {
18099 "info" : {
18100 "POST" : {
e9cd3bd4 18101 "allowtoken" : 1,
4d47f125
TL
18102 "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.",
18103 "method" : "POST",
18104 "name" : "vm_shutdown",
18105 "parameters" : {
18106 "additionalProperties" : 0,
18107 "properties" : {
18108 "forceStop" : {
18109 "default" : 0,
18110 "description" : "Make sure the VM stops.",
18111 "optional" : 1,
18112 "type" : "boolean",
18113 "typetext" : "<boolean>"
18114 },
18115 "keepActive" : {
18116 "default" : 0,
18117 "description" : "Do not deactivate storage volumes.",
18118 "optional" : 1,
18119 "type" : "boolean",
18120 "typetext" : "<boolean>"
18121 },
18122 "node" : {
18123 "description" : "The cluster node name.",
18124 "format" : "pve-node",
18125 "type" : "string",
18126 "typetext" : "<string>"
18127 },
18128 "skiplock" : {
18129 "description" : "Ignore locks - only root is allowed to use this option.",
18130 "optional" : 1,
18131 "type" : "boolean",
18132 "typetext" : "<boolean>"
18133 },
18134 "timeout" : {
18135 "description" : "Wait maximal timeout seconds.",
18136 "minimum" : 0,
18137 "optional" : 1,
18138 "type" : "integer",
18139 "typetext" : "<integer> (0 - N)"
18140 },
18141 "vmid" : {
18142 "description" : "The (unique) ID of the VM.",
18143 "format" : "pve-vmid",
18144 "minimum" : 1,
18145 "type" : "integer",
18146 "typetext" : "<integer> (1 - N)"
18147 }
18148 }
18149 },
18150 "permissions" : {
18151 "check" : [
18152 "perm",
18153 "/vms/{vmid}",
18154 [
18155 "VM.PowerMgmt"
18156 ]
18157 ]
18158 },
18159 "protected" : 1,
18160 "proxyto" : "node",
18161 "returns" : {
18162 "type" : "string"
18163 }
18164 }
18165 },
18166 "leaf" : 1,
18167 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
18168 "text" : "shutdown"
18169 },
1c532546
TL
18170 {
18171 "info" : {
18172 "POST" : {
e9cd3bd4 18173 "allowtoken" : 1,
1c532546
TL
18174 "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
18175 "method" : "POST",
18176 "name" : "vm_reboot",
18177 "parameters" : {
18178 "additionalProperties" : 0,
18179 "properties" : {
18180 "node" : {
18181 "description" : "The cluster node name.",
18182 "format" : "pve-node",
18183 "type" : "string",
18184 "typetext" : "<string>"
18185 },
18186 "timeout" : {
18187 "description" : "Wait maximal timeout seconds for the shutdown.",
18188 "minimum" : 0,
18189 "optional" : 1,
18190 "type" : "integer",
18191 "typetext" : "<integer> (0 - N)"
18192 },
18193 "vmid" : {
18194 "description" : "The (unique) ID of the VM.",
18195 "format" : "pve-vmid",
18196 "minimum" : 1,
18197 "type" : "integer",
18198 "typetext" : "<integer> (1 - N)"
18199 }
18200 }
18201 },
18202 "permissions" : {
18203 "check" : [
18204 "perm",
18205 "/vms/{vmid}",
18206 [
18207 "VM.PowerMgmt"
18208 ]
18209 ]
18210 },
18211 "protected" : 1,
18212 "proxyto" : "node",
18213 "returns" : {
18214 "type" : "string"
18215 }
18216 }
18217 },
18218 "leaf" : 1,
18219 "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
18220 "text" : "reboot"
18221 },
4d47f125
TL
18222 {
18223 "info" : {
18224 "POST" : {
e9cd3bd4 18225 "allowtoken" : 1,
4d47f125
TL
18226 "description" : "Suspend virtual machine.",
18227 "method" : "POST",
18228 "name" : "vm_suspend",
18229 "parameters" : {
18230 "additionalProperties" : 0,
18231 "properties" : {
18232 "node" : {
18233 "description" : "The cluster node name.",
18234 "format" : "pve-node",
18235 "type" : "string",
18236 "typetext" : "<string>"
18237 },
18238 "skiplock" : {
18239 "description" : "Ignore locks - only root is allowed to use this option.",
18240 "optional" : 1,
18241 "type" : "boolean",
18242 "typetext" : "<boolean>"
18243 },
95895385
TL
18244 "statestorage" : {
18245 "description" : "The storage for the VM state",
18246 "format" : "pve-storage-id",
18247 "optional" : 1,
18248 "requires" : "todisk",
18249 "type" : "string",
18250 "typetext" : "<string>"
18251 },
18252 "todisk" : {
18253 "default" : 0,
18254 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
18255 "optional" : 1,
18256 "type" : "boolean",
18257 "typetext" : "<boolean>"
18258 },
4d47f125
TL
18259 "vmid" : {
18260 "description" : "The (unique) ID of the VM.",
18261 "format" : "pve-vmid",
18262 "minimum" : 1,
18263 "type" : "integer",
18264 "typetext" : "<integer> (1 - N)"
18265 }
18266 }
18267 },
18268 "permissions" : {
18269 "check" : [
18270 "perm",
18271 "/vms/{vmid}",
18272 [
18273 "VM.PowerMgmt"
18274 ]
e9cd3bd4
TL
18275 ],
18276 "description" : "You need 'VM.PowerMgmt' on /vms/{vmid}, and if you have set 'todisk', you need also 'VM.Config.Disk' on /vms/{vmid} and 'Datastore.AllocateSpace' on the storage for the vmstate."
4d47f125
TL
18277 },
18278 "protected" : 1,
18279 "proxyto" : "node",
18280 "returns" : {
18281 "type" : "string"
18282 }
18283 }
18284 },
18285 "leaf" : 1,
18286 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
18287 "text" : "suspend"
18288 },
18289 {
18290 "info" : {
18291 "POST" : {
e9cd3bd4 18292 "allowtoken" : 1,
4d47f125
TL
18293 "description" : "Resume virtual machine.",
18294 "method" : "POST",
18295 "name" : "vm_resume",
18296 "parameters" : {
18297 "additionalProperties" : 0,
18298 "properties" : {
18299 "nocheck" : {
18300 "optional" : 1,
18301 "type" : "boolean",
18302 "typetext" : "<boolean>"
18303 },
18304 "node" : {
18305 "description" : "The cluster node name.",
18306 "format" : "pve-node",
18307 "type" : "string",
18308 "typetext" : "<string>"
18309 },
18310 "skiplock" : {
18311 "description" : "Ignore locks - only root is allowed to use this option.",
18312 "optional" : 1,
18313 "type" : "boolean",
18314 "typetext" : "<boolean>"
18315 },
18316 "vmid" : {
18317 "description" : "The (unique) ID of the VM.",
18318 "format" : "pve-vmid",
18319 "minimum" : 1,
18320 "type" : "integer",
18321 "typetext" : "<integer> (1 - N)"
18322 }
18323 }
18324 },
18325 "permissions" : {
18326 "check" : [
18327 "perm",
18328 "/vms/{vmid}",
18329 [
18330 "VM.PowerMgmt"
18331 ]
18332 ]
18333 },
18334 "protected" : 1,
18335 "proxyto" : "node",
18336 "returns" : {
18337 "type" : "string"
18338 }
18339 }
18340 },
18341 "leaf" : 1,
18342 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
18343 "text" : "resume"
18344 }
18345 ],
18346 "info" : {
18347 "GET" : {
e9cd3bd4 18348 "allowtoken" : 1,
4d47f125
TL
18349 "description" : "Directory index",
18350 "method" : "GET",
18351 "name" : "vmcmdidx",
18352 "parameters" : {
18353 "additionalProperties" : 0,
18354 "properties" : {
18355 "node" : {
18356 "description" : "The cluster node name.",
18357 "format" : "pve-node",
18358 "type" : "string",
18359 "typetext" : "<string>"
18360 },
18361 "vmid" : {
18362 "description" : "The (unique) ID of the VM.",
18363 "format" : "pve-vmid",
18364 "minimum" : 1,
18365 "type" : "integer",
18366 "typetext" : "<integer> (1 - N)"
18367 }
18368 }
18369 },
18370 "permissions" : {
18371 "user" : "all"
18372 },
18373 "proxyto" : "node",
18374 "returns" : {
18375 "items" : {
18376 "properties" : {
18377 "subdir" : {
18378 "type" : "string"
18379 }
18380 },
18381 "type" : "object"
18382 },
18383 "links" : [
18384 {
18385 "href" : "{subdir}",
18386 "rel" : "child"
18387 }
18388 ],
18389 "type" : "array"
18390 }
18391 }
18392 },
18393 "leaf" : 0,
18394 "path" : "/nodes/{node}/qemu/{vmid}/status",
18395 "text" : "status"
18396 },
18397 {
18398 "info" : {
18399 "PUT" : {
e9cd3bd4 18400 "allowtoken" : 1,
4d47f125
TL
18401 "description" : "Send key event to virtual machine.",
18402 "method" : "PUT",
18403 "name" : "vm_sendkey",
18404 "parameters" : {
18405 "additionalProperties" : 0,
18406 "properties" : {
18407 "key" : {
18408 "description" : "The key (qemu monitor encoding).",
18409 "type" : "string",
18410 "typetext" : "<string>"
18411 },
18412 "node" : {
18413 "description" : "The cluster node name.",
18414 "format" : "pve-node",
18415 "type" : "string",
18416 "typetext" : "<string>"
18417 },
18418 "skiplock" : {
18419 "description" : "Ignore locks - only root is allowed to use this option.",
18420 "optional" : 1,
18421 "type" : "boolean",
18422 "typetext" : "<boolean>"
18423 },
18424 "vmid" : {
18425 "description" : "The (unique) ID of the VM.",
18426 "format" : "pve-vmid",
18427 "minimum" : 1,
18428 "type" : "integer",
18429 "typetext" : "<integer> (1 - N)"
18430 }
18431 }
18432 },
18433 "permissions" : {
18434 "check" : [
18435 "perm",
18436 "/vms/{vmid}",
18437 [
18438 "VM.Console"
18439 ]
18440 ]
18441 },
18442 "protected" : 1,
18443 "proxyto" : "node",
18444 "returns" : {
18445 "type" : "null"
18446 }
18447 }
18448 },
18449 "leaf" : 1,
18450 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
18451 "text" : "sendkey"
18452 },
18453 {
18454 "info" : {
18455 "GET" : {
e9cd3bd4 18456 "allowtoken" : 1,
4d47f125
TL
18457 "description" : "Check if feature for virtual machine is available.",
18458 "method" : "GET",
18459 "name" : "vm_feature",
18460 "parameters" : {
18461 "additionalProperties" : 0,
18462 "properties" : {
18463 "feature" : {
18464 "description" : "Feature to check.",
18465 "enum" : [
18466 "snapshot",
18467 "clone",
18468 "copy"
18469 ],
18470 "type" : "string"
18471 },
18472 "node" : {
18473 "description" : "The cluster node name.",
18474 "format" : "pve-node",
18475 "type" : "string",
18476 "typetext" : "<string>"
18477 },
18478 "snapname" : {
18479 "description" : "The name of the snapshot.",
18480 "format" : "pve-configid",
18481 "maxLength" : 40,
18482 "optional" : 1,
18483 "type" : "string",
18484 "typetext" : "<string>"
18485 },
18486 "vmid" : {
18487 "description" : "The (unique) ID of the VM.",
18488 "format" : "pve-vmid",
18489 "minimum" : 1,
18490 "type" : "integer",
18491 "typetext" : "<integer> (1 - N)"
18492 }
18493 }
18494 },
18495 "permissions" : {
18496 "check" : [
18497 "perm",
18498 "/vms/{vmid}",
18499 [
18500 "VM.Audit"
18501 ]
18502 ]
18503 },
18504 "protected" : 1,
18505 "proxyto" : "node",
18506 "returns" : {
18507 "properties" : {
18508 "hasFeature" : {
18509 "type" : "boolean"
18510 },
18511 "nodes" : {
18512 "items" : {
18513 "type" : "string"
18514 },
18515 "type" : "array"
18516 }
18517 },
18518 "type" : "object"
18519 }
18520 }
18521 },
18522 "leaf" : 1,
18523 "path" : "/nodes/{node}/qemu/{vmid}/feature",
18524 "text" : "feature"
18525 },
18526 {
18527 "info" : {
18528 "POST" : {
e9cd3bd4 18529 "allowtoken" : 1,
4d47f125
TL
18530 "description" : "Create a copy of virtual machine/template.",
18531 "method" : "POST",
18532 "name" : "clone_vm",
18533 "parameters" : {
18534 "additionalProperties" : 0,
18535 "properties" : {
95895385
TL
18536 "bwlimit" : {
18537 "default" : "clone limit from datacenter or storage config",
18538 "description" : "Override I/O bandwidth limit (in KiB/s).",
18539 "minimum" : "0",
18540 "optional" : 1,
18541 "type" : "integer",
18542 "typetext" : "<integer> (0 - N)"
18543 },
4d47f125
TL
18544 "description" : {
18545 "description" : "Description for the new VM.",
18546 "optional" : 1,
18547 "type" : "string",
18548 "typetext" : "<string>"
18549 },
18550 "format" : {
18551 "description" : "Target format for file storage. Only valid for full clone.",
18552 "enum" : [
18553 "raw",
18554 "qcow2",
18555 "vmdk"
18556 ],
18557 "optional" : 1,
18558 "type" : "string"
18559 },
18560 "full" : {
18561 "description" : "Create a full copy of all disks. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
18562 "optional" : 1,
18563 "type" : "boolean",
18564 "typetext" : "<boolean>"
18565 },
18566 "name" : {
18567 "description" : "Set a name for the new VM.",
18568 "format" : "dns-name",
18569 "optional" : 1,
18570 "type" : "string",
18571 "typetext" : "<string>"
18572 },
18573 "newid" : {
18574 "description" : "VMID for the clone.",
18575 "format" : "pve-vmid",
18576 "minimum" : 1,
18577 "type" : "integer",
18578 "typetext" : "<integer> (1 - N)"
18579 },
18580 "node" : {
18581 "description" : "The cluster node name.",
18582 "format" : "pve-node",
18583 "type" : "string",
18584 "typetext" : "<string>"
18585 },
18586 "pool" : {
18587 "description" : "Add the new VM to the specified pool.",
18588 "format" : "pve-poolid",
18589 "optional" : 1,
18590 "type" : "string",
18591 "typetext" : "<string>"
18592 },
18593 "snapname" : {
18594 "description" : "The name of the snapshot.",
18595 "format" : "pve-configid",
18596 "maxLength" : 40,
18597 "optional" : 1,
18598 "type" : "string",
18599 "typetext" : "<string>"
18600 },
18601 "storage" : {
18602 "description" : "Target storage for full clone.",
18603 "format" : "pve-storage-id",
18604 "optional" : 1,
18605 "type" : "string",
18606 "typetext" : "<string>"
18607 },
18608 "target" : {
18609 "description" : "Target node. Only allowed if the original VM is on shared storage.",
18610 "format" : "pve-node",
18611 "optional" : 1,
18612 "type" : "string",
18613 "typetext" : "<string>"
18614 },
18615 "vmid" : {
18616 "description" : "The (unique) ID of the VM.",
18617 "format" : "pve-vmid",
18618 "minimum" : 1,
18619 "type" : "integer",
18620 "typetext" : "<integer> (1 - N)"
18621 }
18622 }
18623 },
18624 "permissions" : {
18625 "check" : [
18626 "and",
18627 [
18628 "perm",
18629 "/vms/{vmid}",
18630 [
18631 "VM.Clone"
18632 ]
18633 ],
18634 [
18635 "or",
18636 [
18637 "perm",
18638 "/vms/{newid}",
18639 [
18640 "VM.Allocate"
18641 ]
18642 ],
18643 [
18644 "perm",
18645 "/pool/{pool}",
18646 [
18647 "VM.Allocate"
18648 ],
18649 "require_param",
18650 "pool"
18651 ]
18652 ]
18653 ],
18654 "description" : "You need 'VM.Clone' permissions on /vms/{vmid}, and 'VM.Allocate' permissions on /vms/{newid} (or on the VM pool /pool/{pool}). You also need 'Datastore.AllocateSpace' on any used storage."
18655 },
18656 "protected" : 1,
18657 "proxyto" : "node",
18658 "returns" : {
18659 "type" : "string"
18660 }
18661 }
18662 },
18663 "leaf" : 1,
18664 "path" : "/nodes/{node}/qemu/{vmid}/clone",
18665 "text" : "clone"
18666 },
18667 {
18668 "info" : {
18669 "POST" : {
e9cd3bd4 18670 "allowtoken" : 1,
4d47f125
TL
18671 "description" : "Move volume to different storage.",
18672 "method" : "POST",
18673 "name" : "move_vm_disk",
18674 "parameters" : {
18675 "additionalProperties" : 0,
18676 "properties" : {
95895385
TL
18677 "bwlimit" : {
18678 "default" : "move limit from datacenter or storage config",
18679 "description" : "Override I/O bandwidth limit (in KiB/s).",
18680 "minimum" : "0",
18681 "optional" : 1,
18682 "type" : "integer",
18683 "typetext" : "<integer> (0 - N)"
18684 },
4d47f125
TL
18685 "delete" : {
18686 "default" : 0,
18687 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
18688 "optional" : 1,
18689 "type" : "boolean",
18690 "typetext" : "<boolean>"
18691 },
18692 "digest" : {
18693 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18694 "maxLength" : 40,
18695 "optional" : 1,
18696 "type" : "string",
18697 "typetext" : "<string>"
18698 },
18699 "disk" : {
18700 "description" : "The disk you want to move.",
18701 "enum" : [
18702 "ide0",
18703 "ide1",
18704 "ide2",
18705 "ide3",
18706 "scsi0",
18707 "scsi1",
18708 "scsi2",
18709 "scsi3",
18710 "scsi4",
18711 "scsi5",
18712 "scsi6",
18713 "scsi7",
18714 "scsi8",
18715 "scsi9",
18716 "scsi10",
18717 "scsi11",
18718 "scsi12",
18719 "scsi13",
e9cd3bd4
TL
18720 "scsi14",
18721 "scsi15",
18722 "scsi16",
18723 "scsi17",
18724 "scsi18",
18725 "scsi19",
18726 "scsi20",
18727 "scsi21",
18728 "scsi22",
18729 "scsi23",
18730 "scsi24",
18731 "scsi25",
18732 "scsi26",
18733 "scsi27",
18734 "scsi28",
18735 "scsi29",
18736 "scsi30",
4d47f125
TL
18737 "virtio0",
18738 "virtio1",
18739 "virtio2",
18740 "virtio3",
18741 "virtio4",
18742 "virtio5",
18743 "virtio6",
18744 "virtio7",
18745 "virtio8",
18746 "virtio9",
18747 "virtio10",
18748 "virtio11",
18749 "virtio12",
18750 "virtio13",
18751 "virtio14",
18752 "virtio15",
18753 "sata0",
18754 "sata1",
18755 "sata2",
18756 "sata3",
18757 "sata4",
18758 "sata5",
18759 "efidisk0"
18760 ],
18761 "type" : "string"
18762 },
18763 "format" : {
18764 "description" : "Target Format.",
18765 "enum" : [
18766 "raw",
18767 "qcow2",
18768 "vmdk"
18769 ],
18770 "optional" : 1,
18771 "type" : "string"
18772 },
18773 "node" : {
18774 "description" : "The cluster node name.",
18775 "format" : "pve-node",
18776 "type" : "string",
18777 "typetext" : "<string>"
18778 },
18779 "storage" : {
18780 "description" : "Target storage.",
18781 "format" : "pve-storage-id",
18782 "type" : "string",
18783 "typetext" : "<string>"
18784 },
18785 "vmid" : {
18786 "description" : "The (unique) ID of the VM.",
18787 "format" : "pve-vmid",
18788 "minimum" : 1,
18789 "type" : "integer",
18790 "typetext" : "<integer> (1 - N)"
18791 }
18792 }
18793 },
18794 "permissions" : {
18795 "check" : [
18796 "and",
18797 [
18798 "perm",
18799 "/vms/{vmid}",
18800 [
18801 "VM.Config.Disk"
18802 ]
18803 ],
18804 [
18805 "perm",
18806 "/storage/{storage}",
18807 [
18808 "Datastore.AllocateSpace"
18809 ]
18810 ]
18811 ],
18812 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
18813 },
18814 "protected" : 1,
18815 "proxyto" : "node",
18816 "returns" : {
18817 "description" : "the task ID.",
18818 "type" : "string"
18819 }
18820 }
18821 },
18822 "leaf" : 1,
18823 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
18824 "text" : "move_disk"
18825 },
18826 {
18827 "info" : {
1e3f8156 18828 "GET" : {
e9cd3bd4 18829 "allowtoken" : 1,
1e3f8156
TL
18830 "description" : "Get preconditions for migration.",
18831 "method" : "GET",
18832 "name" : "migrate_vm_precondition",
18833 "parameters" : {
18834 "additionalProperties" : 0,
18835 "properties" : {
18836 "node" : {
18837 "description" : "The cluster node name.",
18838 "format" : "pve-node",
18839 "type" : "string",
18840 "typetext" : "<string>"
18841 },
18842 "target" : {
18843 "description" : "Target node.",
18844 "format" : "pve-node",
18845 "optional" : 1,
18846 "type" : "string",
18847 "typetext" : "<string>"
18848 },
18849 "vmid" : {
18850 "description" : "The (unique) ID of the VM.",
18851 "format" : "pve-vmid",
18852 "minimum" : 1,
18853 "type" : "integer",
18854 "typetext" : "<integer> (1 - N)"
18855 }
18856 }
18857 },
18858 "permissions" : {
18859 "check" : [
18860 "perm",
18861 "/vms/{vmid}",
18862 [
18863 "VM.Migrate"
18864 ]
18865 ]
18866 },
18867 "protected" : 1,
18868 "proxyto" : "node",
18869 "returns" : {
18870 "properties" : {
18871 "allowed_nodes" : {
9226ccbc 18872 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
18873 "optional" : 1,
18874 "type" : "array"
18875 },
18876 "local_disks" : {
18877 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
18878 "type" : "array"
18879 },
18880 "local_resources" : {
18881 "description" : "List local resources e.g. pci, usb",
18882 "type" : "array"
18883 },
9226ccbc
TL
18884 "not_allowed_nodes" : {
18885 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
18886 "optional" : 1,
18887 "type" : "object"
18888 },
1e3f8156
TL
18889 "running" : {
18890 "type" : "boolean"
18891 }
18892 },
18893 "type" : "object"
18894 }
18895 },
4d47f125 18896 "POST" : {
e9cd3bd4 18897 "allowtoken" : 1,
4d47f125
TL
18898 "description" : "Migrate virtual machine. Creates a new migration task.",
18899 "method" : "POST",
18900 "name" : "migrate_vm",
18901 "parameters" : {
18902 "additionalProperties" : 0,
18903 "properties" : {
95895385
TL
18904 "bwlimit" : {
18905 "default" : "migrate limit from datacenter or storage config",
18906 "description" : "Override I/O bandwidth limit (in KiB/s).",
18907 "minimum" : "0",
18908 "optional" : 1,
18909 "type" : "integer",
18910 "typetext" : "<integer> (0 - N)"
18911 },
4d47f125
TL
18912 "force" : {
18913 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
18914 "optional" : 1,
18915 "type" : "boolean",
18916 "typetext" : "<boolean>"
18917 },
18918 "migration_network" : {
18919 "description" : "CIDR of the (sub) network that is used for migration.",
18920 "format" : "CIDR",
18921 "optional" : 1,
18922 "type" : "string",
18923 "typetext" : "<string>"
18924 },
18925 "migration_type" : {
18926 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
18927 "enum" : [
18928 "secure",
18929 "insecure"
18930 ],
18931 "optional" : 1,
18932 "type" : "string"
18933 },
18934 "node" : {
18935 "description" : "The cluster node name.",
18936 "format" : "pve-node",
18937 "type" : "string",
18938 "typetext" : "<string>"
18939 },
18940 "online" : {
1c532546 18941 "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
4d47f125
TL
18942 "optional" : 1,
18943 "type" : "boolean",
18944 "typetext" : "<boolean>"
18945 },
18946 "target" : {
18947 "description" : "Target node.",
18948 "format" : "pve-node",
18949 "type" : "string",
18950 "typetext" : "<string>"
18951 },
18952 "targetstorage" : {
c5aa7e14
TL
18953 "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
18954 "format" : "storagepair-list",
4d47f125 18955 "optional" : 1,
52e44c50
FG
18956 "type" : "string",
18957 "typetext" : "<string>"
18958 },
7aacca6f 18959 "vmid" : {
7aacca6f 18960 "description" : "The (unique) ID of the VM.",
44660702 18961 "format" : "pve-vmid",
7aacca6f 18962 "minimum" : 1,
4bd7df8b 18963 "type" : "integer",
013dc89f 18964 "typetext" : "<integer> (1 - N)"
52e44c50
FG
18965 },
18966 "with-local-disks" : {
18967 "description" : "Enable live storage migration for local disk",
18968 "optional" : 1,
18969 "type" : "boolean",
18970 "typetext" : "<boolean>"
56122987 18971 }
44660702
DM
18972 }
18973 },
18974 "permissions" : {
18975 "check" : [
18976 "perm",
18977 "/vms/{vmid}",
18978 [
18979 "VM.Migrate"
18980 ]
18981 ]
56122987
DM
18982 },
18983 "protected" : 1,
44660702
DM
18984 "proxyto" : "node",
18985 "returns" : {
18986 "description" : "the task ID.",
18987 "type" : "string"
18988 }
56122987 18989 }
7aacca6f 18990 },
44660702
DM
18991 "leaf" : 1,
18992 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 18993 "text" : "migrate"
56122987
DM
18994 },
18995 {
18996 "info" : {
18997 "POST" : {
e9cd3bd4 18998 "allowtoken" : 1,
44660702 18999 "description" : "Execute Qemu monitor commands.",
56122987 19000 "method" : "POST",
44660702 19001 "name" : "monitor",
56122987 19002 "parameters" : {
7aacca6f 19003 "additionalProperties" : 0,
56122987 19004 "properties" : {
44660702
DM
19005 "command" : {
19006 "description" : "The monitor command.",
013dc89f
DM
19007 "type" : "string",
19008 "typetext" : "<string>"
44660702 19009 },
56122987 19010 "node" : {
44660702 19011 "description" : "The cluster node name.",
7aacca6f 19012 "format" : "pve-node",
013dc89f
DM
19013 "type" : "string",
19014 "typetext" : "<string>"
56122987
DM
19015 },
19016 "vmid" : {
44660702 19017 "description" : "The (unique) ID of the VM.",
56122987 19018 "format" : "pve-vmid",
7aacca6f 19019 "minimum" : 1,
4bd7df8b 19020 "type" : "integer",
013dc89f 19021 "typetext" : "<integer> (1 - N)"
56122987 19022 }
7aacca6f 19023 }
56122987 19024 },
56122987
DM
19025 "permissions" : {
19026 "check" : [
19027 "perm",
19028 "/vms/{vmid}",
19029 [
19030 "VM.Monitor"
19031 ]
32d876b5
DM
19032 ],
19033 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 19034 },
44660702
DM
19035 "protected" : 1,
19036 "proxyto" : "node",
19037 "returns" : {
19038 "type" : "string"
19039 }
56122987 19040 }
44660702
DM
19041 },
19042 "leaf" : 1,
19043 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
19044 "text" : "monitor"
56122987
DM
19045 },
19046 {
56122987
DM
19047 "info" : {
19048 "PUT" : {
e9cd3bd4 19049 "allowtoken" : 1,
44660702
DM
19050 "description" : "Extend volume size.",
19051 "method" : "PUT",
19052 "name" : "resize_vm",
56122987 19053 "parameters" : {
44660702 19054 "additionalProperties" : 0,
56122987 19055 "properties" : {
44660702
DM
19056 "digest" : {
19057 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19058 "maxLength" : 40,
19059 "optional" : 1,
013dc89f
DM
19060 "type" : "string",
19061 "typetext" : "<string>"
56122987 19062 },
56122987
DM
19063 "disk" : {
19064 "description" : "The disk you want to resize.",
19065 "enum" : [
19066 "ide0",
19067 "ide1",
19068 "ide2",
19069 "ide3",
19070 "scsi0",
19071 "scsi1",
19072 "scsi2",
19073 "scsi3",
19074 "scsi4",
19075 "scsi5",
19076 "scsi6",
19077 "scsi7",
19078 "scsi8",
19079 "scsi9",
19080 "scsi10",
19081 "scsi11",
19082 "scsi12",
19083 "scsi13",
e9cd3bd4
TL
19084 "scsi14",
19085 "scsi15",
19086 "scsi16",
19087 "scsi17",
19088 "scsi18",
19089 "scsi19",
19090 "scsi20",
19091 "scsi21",
19092 "scsi22",
19093 "scsi23",
19094 "scsi24",
19095 "scsi25",
19096 "scsi26",
19097 "scsi27",
19098 "scsi28",
19099 "scsi29",
19100 "scsi30",
56122987
DM
19101 "virtio0",
19102 "virtio1",
19103 "virtio2",
19104 "virtio3",
19105 "virtio4",
19106 "virtio5",
19107 "virtio6",
19108 "virtio7",
19109 "virtio8",
19110 "virtio9",
19111 "virtio10",
19112 "virtio11",
19113 "virtio12",
19114 "virtio13",
19115 "virtio14",
19116 "virtio15",
19117 "sata0",
19118 "sata1",
19119 "sata2",
19120 "sata3",
19121 "sata4",
2c0dde61
DM
19122 "sata5",
19123 "efidisk0"
44660702
DM
19124 ],
19125 "type" : "string"
56122987 19126 },
44660702
DM
19127 "node" : {
19128 "description" : "The cluster node name.",
19129 "format" : "pve-node",
013dc89f
DM
19130 "type" : "string",
19131 "typetext" : "<string>"
7aacca6f 19132 },
44660702 19133 "size" : {
5d9c884c 19134 "description" : "The new size. With the `+` sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
44660702
DM
19135 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
19136 "type" : "string"
56122987
DM
19137 },
19138 "skiplock" : {
19139 "description" : "Ignore locks - only root is allowed to use this option.",
19140 "optional" : 1,
013dc89f
DM
19141 "type" : "boolean",
19142 "typetext" : "<boolean>"
56122987
DM
19143 },
19144 "vmid" : {
7aacca6f 19145 "description" : "The (unique) ID of the VM.",
56122987 19146 "format" : "pve-vmid",
44660702 19147 "minimum" : 1,
4bd7df8b 19148 "type" : "integer",
013dc89f 19149 "typetext" : "<integer> (1 - N)"
56122987
DM
19150 }
19151 }
19152 },
19153 "permissions" : {
19154 "check" : [
19155 "perm",
19156 "/vms/{vmid}",
19157 [
44660702 19158 "VM.Config.Disk"
56122987
DM
19159 ]
19160 ]
19161 },
7aacca6f 19162 "protected" : 1,
7aacca6f 19163 "proxyto" : "node",
44660702
DM
19164 "returns" : {
19165 "type" : "null"
19166 }
7aacca6f
DM
19167 }
19168 },
44660702
DM
19169 "leaf" : 1,
19170 "path" : "/nodes/{node}/qemu/{vmid}/resize",
19171 "text" : "resize"
19172 },
19173 {
56122987
DM
19174 "children" : [
19175 {
19176 "children" : [
19177 {
56122987 19178 "info" : {
44660702 19179 "GET" : {
e9cd3bd4 19180 "allowtoken" : 1,
44660702
DM
19181 "description" : "Get snapshot configuration",
19182 "method" : "GET",
19183 "name" : "get_snapshot_config",
56122987 19184 "parameters" : {
44660702 19185 "additionalProperties" : 0,
56122987 19186 "properties" : {
56122987 19187 "node" : {
44660702 19188 "description" : "The cluster node name.",
56122987 19189 "format" : "pve-node",
013dc89f
DM
19190 "type" : "string",
19191 "typetext" : "<string>"
7aacca6f
DM
19192 },
19193 "snapname" : {
44660702 19194 "description" : "The name of the snapshot.",
7aacca6f 19195 "format" : "pve-configid",
44660702 19196 "maxLength" : 40,
013dc89f
DM
19197 "type" : "string",
19198 "typetext" : "<string>"
7aacca6f
DM
19199 },
19200 "vmid" : {
44660702 19201 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
19202 "format" : "pve-vmid",
19203 "minimum" : 1,
4bd7df8b 19204 "type" : "integer",
013dc89f 19205 "typetext" : "<integer> (1 - N)"
56122987 19206 }
44660702 19207 }
56122987
DM
19208 },
19209 "permissions" : {
19210 "check" : [
19211 "perm",
19212 "/vms/{vmid}",
19213 [
2489d6df 19214 "VM.Snapshot",
e9cd3bd4
TL
19215 "VM.Snapshot.Rollback",
19216 "VM.Audit"
2489d6df
WB
19217 ],
19218 "any",
19219 1
56122987
DM
19220 ]
19221 },
44660702 19222 "proxyto" : "node",
56122987 19223 "returns" : {
44660702 19224 "type" : "object"
7aacca6f
DM
19225 }
19226 },
44660702 19227 "PUT" : {
e9cd3bd4 19228 "allowtoken" : 1,
44660702
DM
19229 "description" : "Update snapshot metadata.",
19230 "method" : "PUT",
19231 "name" : "update_snapshot_config",
56122987 19232 "parameters" : {
44660702 19233 "additionalProperties" : 0,
56122987 19234 "properties" : {
44660702
DM
19235 "description" : {
19236 "description" : "A textual description or comment.",
19237 "optional" : 1,
013dc89f
DM
19238 "type" : "string",
19239 "typetext" : "<string>"
44660702 19240 },
56122987 19241 "node" : {
7aacca6f 19242 "description" : "The cluster node name.",
44660702 19243 "format" : "pve-node",
013dc89f
DM
19244 "type" : "string",
19245 "typetext" : "<string>"
56122987 19246 },
56122987
DM
19247 "snapname" : {
19248 "description" : "The name of the snapshot.",
44660702 19249 "format" : "pve-configid",
7aacca6f 19250 "maxLength" : 40,
013dc89f
DM
19251 "type" : "string",
19252 "typetext" : "<string>"
7aacca6f
DM
19253 },
19254 "vmid" : {
19255 "description" : "The (unique) ID of the VM.",
44660702 19256 "format" : "pve-vmid",
7aacca6f 19257 "minimum" : 1,
4bd7df8b 19258 "type" : "integer",
013dc89f 19259 "typetext" : "<integer> (1 - N)"
56122987 19260 }
44660702 19261 }
56122987 19262 },
7aacca6f
DM
19263 "permissions" : {
19264 "check" : [
19265 "perm",
19266 "/vms/{vmid}",
19267 [
19268 "VM.Snapshot"
19269 ]
19270 ]
44660702
DM
19271 },
19272 "protected" : 1,
19273 "proxyto" : "node",
19274 "returns" : {
19275 "type" : "null"
7aacca6f 19276 }
56122987
DM
19277 }
19278 },
44660702 19279 "leaf" : 1,
7aacca6f 19280 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 19281 "text" : "config"
56122987
DM
19282 },
19283 {
56122987
DM
19284 "info" : {
19285 "POST" : {
e9cd3bd4 19286 "allowtoken" : 1,
44660702 19287 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 19288 "method" : "POST",
44660702 19289 "name" : "rollback",
56122987
DM
19290 "parameters" : {
19291 "additionalProperties" : 0,
19292 "properties" : {
44660702
DM
19293 "node" : {
19294 "description" : "The cluster node name.",
19295 "format" : "pve-node",
013dc89f
DM
19296 "type" : "string",
19297 "typetext" : "<string>"
44660702 19298 },
56122987 19299 "snapname" : {
44660702 19300 "description" : "The name of the snapshot.",
56122987
DM
19301 "format" : "pve-configid",
19302 "maxLength" : 40,
013dc89f
DM
19303 "type" : "string",
19304 "typetext" : "<string>"
7aacca6f 19305 },
56122987 19306 "vmid" : {
7aacca6f 19307 "description" : "The (unique) ID of the VM.",
44660702 19308 "format" : "pve-vmid",
56122987 19309 "minimum" : 1,
4bd7df8b 19310 "type" : "integer",
013dc89f 19311 "typetext" : "<integer> (1 - N)"
56122987
DM
19312 }
19313 }
19314 },
7aacca6f 19315 "permissions" : {
56122987
DM
19316 "check" : [
19317 "perm",
19318 "/vms/{vmid}",
19319 [
2489d6df
WB
19320 "VM.Snapshot",
19321 "VM.Snapshot.Rollback"
19322 ],
19323 "any",
19324 1
56122987
DM
19325 ]
19326 },
44660702 19327 "protected" : 1,
7aacca6f 19328 "proxyto" : "node",
44660702
DM
19329 "returns" : {
19330 "description" : "the task ID.",
19331 "type" : "string"
19332 }
56122987
DM
19333 }
19334 },
44660702
DM
19335 "leaf" : 1,
19336 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 19337 "text" : "rollback"
56122987 19338 }
44660702
DM
19339 ],
19340 "info" : {
19341 "DELETE" : {
e9cd3bd4 19342 "allowtoken" : 1,
44660702
DM
19343 "description" : "Delete a VM snapshot.",
19344 "method" : "DELETE",
19345 "name" : "delsnapshot",
19346 "parameters" : {
19347 "additionalProperties" : 0,
19348 "properties" : {
19349 "force" : {
19350 "description" : "For removal from config file, even if removing disk snapshots fails.",
19351 "optional" : 1,
013dc89f
DM
19352 "type" : "boolean",
19353 "typetext" : "<boolean>"
44660702
DM
19354 },
19355 "node" : {
19356 "description" : "The cluster node name.",
19357 "format" : "pve-node",
013dc89f
DM
19358 "type" : "string",
19359 "typetext" : "<string>"
44660702
DM
19360 },
19361 "snapname" : {
19362 "description" : "The name of the snapshot.",
19363 "format" : "pve-configid",
19364 "maxLength" : 40,
013dc89f
DM
19365 "type" : "string",
19366 "typetext" : "<string>"
44660702
DM
19367 },
19368 "vmid" : {
19369 "description" : "The (unique) ID of the VM.",
19370 "format" : "pve-vmid",
19371 "minimum" : 1,
4bd7df8b 19372 "type" : "integer",
013dc89f 19373 "typetext" : "<integer> (1 - N)"
44660702
DM
19374 }
19375 }
19376 },
19377 "permissions" : {
19378 "check" : [
19379 "perm",
19380 "/vms/{vmid}",
19381 [
19382 "VM.Snapshot"
19383 ]
19384 ]
19385 },
19386 "protected" : 1,
19387 "proxyto" : "node",
19388 "returns" : {
19389 "description" : "the task ID.",
19390 "type" : "string"
19391 }
19392 },
19393 "GET" : {
e9cd3bd4 19394 "allowtoken" : 1,
44660702
DM
19395 "description" : "",
19396 "method" : "GET",
19397 "name" : "snapshot_cmd_idx",
19398 "parameters" : {
19399 "additionalProperties" : 0,
19400 "properties" : {
19401 "node" : {
19402 "description" : "The cluster node name.",
19403 "format" : "pve-node",
013dc89f
DM
19404 "type" : "string",
19405 "typetext" : "<string>"
44660702
DM
19406 },
19407 "snapname" : {
19408 "description" : "The name of the snapshot.",
19409 "format" : "pve-configid",
19410 "maxLength" : 40,
013dc89f
DM
19411 "type" : "string",
19412 "typetext" : "<string>"
44660702
DM
19413 },
19414 "vmid" : {
19415 "description" : "The (unique) ID of the VM.",
19416 "format" : "pve-vmid",
19417 "minimum" : 1,
4bd7df8b 19418 "type" : "integer",
013dc89f 19419 "typetext" : "<integer> (1 - N)"
44660702
DM
19420 }
19421 }
19422 },
19423 "permissions" : {
19424 "user" : "all"
19425 },
19426 "returns" : {
19427 "items" : {
19428 "properties" : {},
19429 "type" : "object"
19430 },
19431 "links" : [
19432 {
19433 "href" : "{cmd}",
19434 "rel" : "child"
19435 }
19436 ],
19437 "type" : "array"
19438 }
19439 }
19440 },
19441 "leaf" : 0,
19442 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
19443 "text" : "{snapname}"
56122987
DM
19444 }
19445 ],
44660702
DM
19446 "info" : {
19447 "GET" : {
e9cd3bd4 19448 "allowtoken" : 1,
44660702
DM
19449 "description" : "List all snapshots.",
19450 "method" : "GET",
19451 "name" : "snapshot_list",
19452 "parameters" : {
19453 "additionalProperties" : 0,
19454 "properties" : {
19455 "node" : {
19456 "description" : "The cluster node name.",
19457 "format" : "pve-node",
013dc89f
DM
19458 "type" : "string",
19459 "typetext" : "<string>"
44660702
DM
19460 },
19461 "vmid" : {
19462 "description" : "The (unique) ID of the VM.",
19463 "format" : "pve-vmid",
19464 "minimum" : 1,
4bd7df8b 19465 "type" : "integer",
013dc89f 19466 "typetext" : "<integer> (1 - N)"
44660702
DM
19467 }
19468 }
19469 },
19470 "permissions" : {
19471 "check" : [
19472 "perm",
19473 "/vms/{vmid}",
19474 [
19475 "VM.Audit"
19476 ]
19477 ]
19478 },
19479 "protected" : 1,
19480 "proxyto" : "node",
19481 "returns" : {
19482 "items" : {
4d47f125
TL
19483 "properties" : {
19484 "description" : {
19485 "description" : "Snapshot description.",
19486 "type" : "string"
19487 },
19488 "name" : {
19489 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
19490 "type" : "string"
19491 },
19492 "parent" : {
19493 "description" : "Parent snapshot identifier.",
19494 "optional" : 1,
19495 "type" : "string"
19496 },
19497 "snaptime" : {
19498 "description" : "Snapshot creation time",
19499 "optional" : 1,
19500 "renderer" : "timestamp",
19501 "type" : "integer"
19502 },
19503 "vmstate" : {
19504 "description" : "Snapshot includes RAM.",
19505 "optional" : 1,
19506 "type" : "boolean"
19507 }
19508 },
44660702
DM
19509 "type" : "object"
19510 },
19511 "links" : [
19512 {
19513 "href" : "{name}",
19514 "rel" : "child"
19515 }
19516 ],
19517 "type" : "array"
19518 }
19519 },
19520 "POST" : {
e9cd3bd4 19521 "allowtoken" : 1,
44660702
DM
19522 "description" : "Snapshot a VM.",
19523 "method" : "POST",
19524 "name" : "snapshot",
19525 "parameters" : {
19526 "additionalProperties" : 0,
19527 "properties" : {
19528 "description" : {
19529 "description" : "A textual description or comment.",
19530 "optional" : 1,
013dc89f
DM
19531 "type" : "string",
19532 "typetext" : "<string>"
44660702
DM
19533 },
19534 "node" : {
19535 "description" : "The cluster node name.",
19536 "format" : "pve-node",
013dc89f
DM
19537 "type" : "string",
19538 "typetext" : "<string>"
44660702
DM
19539 },
19540 "snapname" : {
19541 "description" : "The name of the snapshot.",
19542 "format" : "pve-configid",
19543 "maxLength" : 40,
013dc89f
DM
19544 "type" : "string",
19545 "typetext" : "<string>"
44660702
DM
19546 },
19547 "vmid" : {
19548 "description" : "The (unique) ID of the VM.",
19549 "format" : "pve-vmid",
19550 "minimum" : 1,
4bd7df8b 19551 "type" : "integer",
013dc89f 19552 "typetext" : "<integer> (1 - N)"
44660702
DM
19553 },
19554 "vmstate" : {
19555 "description" : "Save the vmstate",
19556 "optional" : 1,
013dc89f
DM
19557 "type" : "boolean",
19558 "typetext" : "<boolean>"
44660702
DM
19559 }
19560 }
19561 },
19562 "permissions" : {
19563 "check" : [
19564 "perm",
19565 "/vms/{vmid}",
19566 [
19567 "VM.Snapshot"
19568 ]
19569 ]
19570 },
19571 "protected" : 1,
19572 "proxyto" : "node",
19573 "returns" : {
19574 "description" : "the task ID.",
19575 "type" : "string"
19576 }
19577 }
19578 },
19579 "leaf" : 0,
19580 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 19581 "text" : "snapshot"
56122987
DM
19582 },
19583 {
56122987
DM
19584 "info" : {
19585 "POST" : {
e9cd3bd4 19586 "allowtoken" : 1,
44660702
DM
19587 "description" : "Create a Template.",
19588 "method" : "POST",
56122987 19589 "name" : "template",
56122987 19590 "parameters" : {
7aacca6f 19591 "additionalProperties" : 0,
56122987 19592 "properties" : {
56122987 19593 "disk" : {
56122987
DM
19594 "description" : "If you want to convert only 1 disk to base image.",
19595 "enum" : [
19596 "ide0",
19597 "ide1",
19598 "ide2",
19599 "ide3",
19600 "scsi0",
19601 "scsi1",
19602 "scsi2",
19603 "scsi3",
19604 "scsi4",
19605 "scsi5",
19606 "scsi6",
19607 "scsi7",
19608 "scsi8",
19609 "scsi9",
19610 "scsi10",
19611 "scsi11",
19612 "scsi12",
19613 "scsi13",
e9cd3bd4
TL
19614 "scsi14",
19615 "scsi15",
19616 "scsi16",
19617 "scsi17",
19618 "scsi18",
19619 "scsi19",
19620 "scsi20",
19621 "scsi21",
19622 "scsi22",
19623 "scsi23",
19624 "scsi24",
19625 "scsi25",
19626 "scsi26",
19627 "scsi27",
19628 "scsi28",
19629 "scsi29",
19630 "scsi30",
56122987
DM
19631 "virtio0",
19632 "virtio1",
19633 "virtio2",
19634 "virtio3",
19635 "virtio4",
19636 "virtio5",
19637 "virtio6",
19638 "virtio7",
19639 "virtio8",
19640 "virtio9",
19641 "virtio10",
19642 "virtio11",
19643 "virtio12",
19644 "virtio13",
19645 "virtio14",
19646 "virtio15",
19647 "sata0",
19648 "sata1",
19649 "sata2",
19650 "sata3",
19651 "sata4",
2c0dde61
DM
19652 "sata5",
19653 "efidisk0"
56122987 19654 ],
7aacca6f 19655 "optional" : 1,
56122987
DM
19656 "type" : "string"
19657 },
44660702
DM
19658 "node" : {
19659 "description" : "The cluster node name.",
19660 "format" : "pve-node",
013dc89f
DM
19661 "type" : "string",
19662 "typetext" : "<string>"
44660702
DM
19663 },
19664 "vmid" : {
19665 "description" : "The (unique) ID of the VM.",
7aacca6f 19666 "format" : "pve-vmid",
44660702 19667 "minimum" : 1,
4bd7df8b 19668 "type" : "integer",
013dc89f 19669 "typetext" : "<integer> (1 - N)"
56122987 19670 }
7aacca6f 19671 }
56122987 19672 },
7aacca6f
DM
19673 "permissions" : {
19674 "check" : [
19675 "perm",
19676 "/vms/{vmid}",
19677 [
19678 "VM.Allocate"
19679 ]
19680 ],
19681 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
19682 },
44660702 19683 "protected" : 1,
7aacca6f 19684 "proxyto" : "node",
7aacca6f
DM
19685 "returns" : {
19686 "type" : "null"
19687 }
56122987
DM
19688 }
19689 },
44660702 19690 "leaf" : 1,
7aacca6f 19691 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 19692 "text" : "template"
1e3f8156
TL
19693 },
19694 {
19695 "children" : [
19696 {
19697 "info" : {
19698 "GET" : {
e9cd3bd4 19699 "allowtoken" : 1,
1e3f8156
TL
19700 "description" : "Get automatically generated cloudinit config.",
19701 "method" : "GET",
19702 "name" : "cloudinit_generated_config_dump",
19703 "parameters" : {
19704 "additionalProperties" : 0,
19705 "properties" : {
19706 "node" : {
19707 "description" : "The cluster node name.",
19708 "format" : "pve-node",
19709 "type" : "string",
19710 "typetext" : "<string>"
19711 },
19712 "type" : {
19713 "description" : "Config type.",
19714 "enum" : [
19715 "user",
19716 "network",
19717 "meta"
19718 ],
19719 "type" : "string"
19720 },
19721 "vmid" : {
19722 "description" : "The (unique) ID of the VM.",
19723 "format" : "pve-vmid",
19724 "minimum" : 1,
19725 "type" : "integer",
19726 "typetext" : "<integer> (1 - N)"
19727 }
19728 }
19729 },
19730 "permissions" : {
19731 "check" : [
19732 "perm",
19733 "/vms/{vmid}",
19734 [
19735 "VM.Audit"
19736 ]
19737 ]
19738 },
19739 "proxyto" : "node",
19740 "returns" : {
19741 "type" : "string"
19742 }
19743 }
19744 },
19745 "leaf" : 1,
19746 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
19747 "text" : "dump"
19748 }
19749 ],
19750 "leaf" : 0,
19751 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
19752 "text" : "cloudinit"
56122987
DM
19753 }
19754 ],
7aacca6f 19755 "info" : {
44660702 19756 "DELETE" : {
e9cd3bd4 19757 "allowtoken" : 1,
44660702
DM
19758 "description" : "Destroy the vm (also delete all used/owned volumes).",
19759 "method" : "DELETE",
19760 "name" : "destroy_vm",
7aacca6f 19761 "parameters" : {
44660702 19762 "additionalProperties" : 0,
7aacca6f
DM
19763 "properties" : {
19764 "node" : {
44660702 19765 "description" : "The cluster node name.",
7aacca6f 19766 "format" : "pve-node",
013dc89f
DM
19767 "type" : "string",
19768 "typetext" : "<string>"
44660702 19769 },
1c532546
TL
19770 "purge" : {
19771 "description" : "Remove vmid from backup cron jobs.",
19772 "optional" : 1,
19773 "type" : "boolean",
19774 "typetext" : "<boolean>"
19775 },
44660702
DM
19776 "skiplock" : {
19777 "description" : "Ignore locks - only root is allowed to use this option.",
19778 "optional" : 1,
013dc89f
DM
19779 "type" : "boolean",
19780 "typetext" : "<boolean>"
7aacca6f
DM
19781 },
19782 "vmid" : {
44660702 19783 "description" : "The (unique) ID of the VM.",
7aacca6f 19784 "format" : "pve-vmid",
44660702 19785 "minimum" : 1,
4bd7df8b 19786 "type" : "integer",
013dc89f 19787 "typetext" : "<integer> (1 - N)"
7aacca6f 19788 }
44660702 19789 }
7aacca6f 19790 },
7aacca6f
DM
19791 "permissions" : {
19792 "check" : [
19793 "perm",
19794 "/vms/{vmid}",
19795 [
19796 "VM.Allocate"
19797 ]
19798 ]
19799 },
44660702
DM
19800 "protected" : 1,
19801 "proxyto" : "node",
7aacca6f
DM
19802 "returns" : {
19803 "type" : "string"
44660702
DM
19804 }
19805 },
19806 "GET" : {
e9cd3bd4 19807 "allowtoken" : 1,
44660702
DM
19808 "description" : "Directory index",
19809 "method" : "GET",
19810 "name" : "vmdiridx",
7aacca6f 19811 "parameters" : {
44660702 19812 "additionalProperties" : 0,
7aacca6f 19813 "properties" : {
7aacca6f 19814 "node" : {
7aacca6f 19815 "description" : "The cluster node name.",
44660702 19816 "format" : "pve-node",
013dc89f
DM
19817 "type" : "string",
19818 "typetext" : "<string>"
44660702
DM
19819 },
19820 "vmid" : {
19821 "description" : "The (unique) ID of the VM.",
19822 "format" : "pve-vmid",
19823 "minimum" : 1,
4bd7df8b 19824 "type" : "integer",
013dc89f 19825 "typetext" : "<integer> (1 - N)"
7aacca6f 19826 }
44660702 19827 }
7aacca6f 19828 },
44660702
DM
19829 "permissions" : {
19830 "user" : "all"
19831 },
19832 "proxyto" : "node",
19833 "returns" : {
19834 "items" : {
19835 "properties" : {
19836 "subdir" : {
19837 "type" : "string"
19838 }
19839 },
19840 "type" : "object"
19841 },
19842 "links" : [
19843 {
19844 "href" : "{subdir}",
19845 "rel" : "child"
19846 }
19847 ],
19848 "type" : "array"
19849 }
7aacca6f 19850 }
44660702
DM
19851 },
19852 "leaf" : 0,
19853 "path" : "/nodes/{node}/qemu/{vmid}",
19854 "text" : "{vmid}"
56122987
DM
19855 }
19856 ],
19857 "info" : {
44660702 19858 "GET" : {
e9cd3bd4 19859 "allowtoken" : 1,
44660702
DM
19860 "description" : "Virtual machine index (per node).",
19861 "method" : "GET",
19862 "name" : "vmlist",
56122987 19863 "parameters" : {
44660702 19864 "additionalProperties" : 0,
56122987 19865 "properties" : {
44660702
DM
19866 "full" : {
19867 "description" : "Determine the full status of active VMs.",
56122987 19868 "optional" : 1,
013dc89f
DM
19869 "type" : "boolean",
19870 "typetext" : "<boolean>"
56122987 19871 },
44660702
DM
19872 "node" : {
19873 "description" : "The cluster node name.",
19874 "format" : "pve-node",
013dc89f
DM
19875 "type" : "string",
19876 "typetext" : "<string>"
44660702
DM
19877 }
19878 }
19879 },
19880 "permissions" : {
19881 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
19882 "user" : "all"
19883 },
19884 "protected" : 1,
19885 "proxyto" : "node",
19886 "returns" : {
19887 "items" : {
4d47f125
TL
19888 "properties" : {
19889 "cpus" : {
19890 "description" : "Maximum usable CPUs.",
19891 "optional" : 1,
19892 "type" : "number"
19893 },
95895385
TL
19894 "lock" : {
19895 "description" : "The current config lock, if any.",
19896 "optional" : 1,
19897 "type" : "string"
19898 },
4d47f125
TL
19899 "maxdisk" : {
19900 "description" : "Root disk size in bytes.",
19901 "optional" : 1,
19902 "renderer" : "bytes",
19903 "type" : "integer"
19904 },
19905 "maxmem" : {
19906 "description" : "Maximum memory in bytes.",
19907 "optional" : 1,
19908 "renderer" : "bytes",
19909 "type" : "integer"
19910 },
19911 "name" : {
19912 "description" : "VM name.",
19913 "optional" : 1,
19914 "type" : "string"
19915 },
19916 "pid" : {
19917 "description" : "PID of running qemu process.",
19918 "optional" : 1,
19919 "type" : "integer"
19920 },
19921 "qmpstatus" : {
19922 "description" : "Qemu QMP agent status.",
19923 "optional" : 1,
19924 "type" : "string"
19925 },
19926 "status" : {
19927 "description" : "Qemu process status.",
19928 "enum" : [
19929 "stopped",
19930 "running"
19931 ],
19932 "type" : "string"
19933 },
5c1699e5
TL
19934 "tags" : {
19935 "description" : "The current configured tags, if any",
19936 "optional" : 1,
19937 "type" : "string"
19938 },
4d47f125
TL
19939 "uptime" : {
19940 "description" : "Uptime.",
19941 "optional" : 1,
19942 "renderer" : "duration",
19943 "type" : "integer"
19944 },
19945 "vmid" : {
19946 "description" : "The (unique) ID of the VM.",
19947 "format" : "pve-vmid",
19948 "minimum" : 1,
19949 "type" : "integer"
19950 }
19951 },
44660702
DM
19952 "type" : "object"
19953 },
19954 "links" : [
19955 {
19956 "href" : "{vmid}",
19957 "rel" : "child"
19958 }
19959 ],
19960 "type" : "array"
19961 }
19962 },
19963 "POST" : {
e9cd3bd4 19964 "allowtoken" : 1,
44660702
DM
19965 "description" : "Create or restore a virtual machine.",
19966 "method" : "POST",
19967 "name" : "create_vm",
19968 "parameters" : {
19969 "additionalProperties" : 0,
19970 "properties" : {
7aacca6f 19971 "acpi" : {
7aacca6f 19972 "default" : 1,
44660702 19973 "description" : "Enable/disable ACPI.",
56122987 19974 "optional" : 1,
013dc89f
DM
19975 "type" : "boolean",
19976 "typetext" : "<boolean>"
56122987 19977 },
44660702 19978 "agent" : {
4d47f125
TL
19979 "description" : "Enable/disable Qemu GuestAgent and its properties.",
19980 "format" : {
19981 "enabled" : {
19982 "default" : 0,
19983 "default_key" : 1,
19984 "description" : "Enable/disable Qemu GuestAgent.",
19985 "type" : "boolean"
19986 },
19987 "fstrim_cloned_disks" : {
19988 "default" : 0,
19989 "description" : "Run fstrim after cloning/moving a disk.",
19990 "optional" : 1,
19991 "type" : "boolean"
5c1699e5
TL
19992 },
19993 "type" : {
19994 "default" : "virtio",
19995 "description" : "Select the agent type",
19996 "enum" : [
19997 "virtio",
19998 "isa"
19999 ],
20000 "optional" : 1,
20001 "type" : "string"
4d47f125
TL
20002 }
20003 },
7aacca6f 20004 "optional" : 1,
4d47f125 20005 "type" : "string",
5c1699e5 20006 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 20007 },
e2d681b3
TL
20008 "arch" : {
20009 "description" : "Virtual processor architecture. Defaults to the host.",
20010 "enum" : [
20011 "x86_64",
20012 "aarch64"
20013 ],
20014 "optional" : 1,
20015 "type" : "string"
20016 },
44660702 20017 "archive" : {
c5aa7e14 20018 "description" : "The backup archive. Either the file system path to a .tar or .vma file (use '-' to pipe data from stdin) or a proxmox storage backup volume identifier.",
44660702 20019 "maxLength" : 255,
56122987 20020 "optional" : 1,
013dc89f
DM
20021 "type" : "string",
20022 "typetext" : "<string>"
56122987 20023 },
44660702 20024 "args" : {
c2993fe5 20025 "description" : "Arbitrary arguments passed to kvm.",
56122987 20026 "optional" : 1,
c2993fe5 20027 "type" : "string",
013dc89f 20028 "typetext" : "<string>",
c2993fe5 20029 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
56122987 20030 },
1c532546
TL
20031 "audio0" : {
20032 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
20033 "format" : {
20034 "device" : {
20035 "description" : "Configure an audio device.",
20036 "enum" : [
20037 "ich9-intel-hda",
20038 "intel-hda",
20039 "AC97"
20040 ],
20041 "type" : "string"
20042 },
20043 "driver" : {
20044 "default" : "spice",
20045 "description" : "Driver backend for the audio device.",
20046 "enum" : [
20047 "spice"
20048 ],
20049 "optional" : 1,
20050 "type" : "string"
20051 }
20052 },
20053 "optional" : 1,
20054 "type" : "string",
20055 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
20056 },
44660702 20057 "autostart" : {
7aacca6f 20058 "default" : 0,
44660702
DM
20059 "description" : "Automatic restart after crash (currently ignored).",
20060 "optional" : 1,
013dc89f
DM
20061 "type" : "boolean",
20062 "typetext" : "<boolean>"
7aacca6f 20063 },
44660702
DM
20064 "balloon" : {
20065 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
20066 "minimum" : 0,
56122987 20067 "optional" : 1,
4bd7df8b 20068 "type" : "integer",
013dc89f 20069 "typetext" : "<integer> (0 - N)"
56122987 20070 },
44660702
DM
20071 "bios" : {
20072 "default" : "seabios",
20073 "description" : "Select BIOS implementation.",
20074 "enum" : [
20075 "seabios",
20076 "ovmf"
20077 ],
56122987 20078 "optional" : 1,
44660702 20079 "type" : "string"
56122987 20080 },
44660702
DM
20081 "boot" : {
20082 "default" : "cdn",
20083 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 20084 "optional" : 1,
44660702
DM
20085 "pattern" : "[acdn]{1,4}",
20086 "type" : "string"
56122987 20087 },
7aacca6f
DM
20088 "bootdisk" : {
20089 "description" : "Enable booting from specified disk.",
44660702
DM
20090 "format" : "pve-qm-bootdisk",
20091 "optional" : 1,
7aacca6f 20092 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
20093 "type" : "string"
20094 },
27a7acb2 20095 "bwlimit" : {
95895385
TL
20096 "default" : "restore limit from datacenter or storage config",
20097 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
20098 "minimum" : "0",
20099 "optional" : 1,
20100 "type" : "integer",
20101 "typetext" : "<integer> (0 - N)"
20102 },
44660702
DM
20103 "cdrom" : {
20104 "description" : "This is an alias for option -ide2",
de0983cb 20105 "format" : "pve-qm-ide",
56122987 20106 "optional" : 1,
44660702 20107 "type" : "string",
013dc89f 20108 "typetext" : "<volume>"
56122987 20109 },
95895385
TL
20110 "cicustom" : {
20111 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
20112 "format" : "pve-qm-cicustom",
20113 "optional" : 1,
20114 "type" : "string",
20115 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
20116 },
27a7acb2
DM
20117 "cipassword" : {
20118 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
20119 "optional" : 1,
20120 "type" : "string",
20121 "typetext" : "<string>"
20122 },
20123 "citype" : {
20124 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
20125 "enum" : [
20126 "configdrive2",
20127 "nocloud"
20128 ],
20129 "optional" : 1,
20130 "type" : "string"
20131 },
20132 "ciuser" : {
20133 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
20134 "optional" : 1,
20135 "type" : "string",
20136 "typetext" : "<string>"
20137 },
44660702
DM
20138 "cores" : {
20139 "default" : 1,
20140 "description" : "The number of cores per socket.",
7aacca6f 20141 "minimum" : 1,
44660702 20142 "optional" : 1,
4bd7df8b 20143 "type" : "integer",
013dc89f 20144 "typetext" : "<integer> (1 - N)"
7aacca6f 20145 },
44660702
DM
20146 "cpu" : {
20147 "description" : "Emulated CPU type.",
c5aa7e14 20148 "format" : "pve-vm-cpu-conf",
56122987 20149 "optional" : 1,
4bd7df8b 20150 "type" : "string",
04d22a9f 20151 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
56122987 20152 },
44660702 20153 "cpulimit" : {
7aacca6f 20154 "default" : 0,
c2993fe5 20155 "description" : "Limit of CPU usage.",
44660702
DM
20156 "maximum" : 128,
20157 "minimum" : 0,
7aacca6f 20158 "optional" : 1,
c2993fe5 20159 "type" : "number",
013dc89f 20160 "typetext" : "<number> (0 - 128)",
c2993fe5 20161 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
7aacca6f
DM
20162 },
20163 "cpuunits" : {
de0983cb 20164 "default" : 1024,
c2993fe5 20165 "description" : "CPU weight for a VM.",
2489d6df
WB
20166 "maximum" : 262144,
20167 "minimum" : 2,
44660702 20168 "optional" : 1,
c2993fe5 20169 "type" : "integer",
2489d6df
WB
20170 "typetext" : "<integer> (2 - 262144)",
20171 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
44660702
DM
20172 },
20173 "description" : {
20174 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 20175 "optional" : 1,
013dc89f
DM
20176 "type" : "string",
20177 "typetext" : "<string>"
44660702 20178 },
4d47f125
TL
20179 "efidisk0" : {
20180 "description" : "Configure a Disk for storing EFI vars",
20181 "format" : {
20182 "file" : {
20183 "default_key" : 1,
20184 "description" : "The drive's backing volume.",
20185 "format" : "pve-volume-id-or-qm-path",
20186 "format_description" : "volume",
20187 "type" : "string"
20188 },
20189 "format" : {
20190 "description" : "The drive's backing file's data format.",
20191 "enum" : [
20192 "raw",
20193 "cow",
20194 "qcow",
20195 "qed",
20196 "qcow2",
20197 "vmdk",
20198 "cloop"
20199 ],
20200 "optional" : 1,
20201 "type" : "string"
20202 },
20203 "size" : {
20204 "description" : "Disk size. This is purely informational and has no effect.",
20205 "format" : "disk-size",
20206 "format_description" : "DiskSize",
20207 "optional" : 1,
20208 "type" : "string"
20209 },
20210 "volume" : {
20211 "alias" : "file"
20212 }
20213 },
20214 "optional" : 1,
20215 "type" : "string",
20216 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
20217 },
44660702
DM
20218 "force" : {
20219 "description" : "Allow to overwrite existing VM.",
20220 "optional" : 1,
20221 "requires" : "archive",
013dc89f
DM
20222 "type" : "boolean",
20223 "typetext" : "<boolean>"
44660702
DM
20224 },
20225 "freeze" : {
20226 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
20227 "optional" : 1,
013dc89f
DM
20228 "type" : "boolean",
20229 "typetext" : "<boolean>"
44660702 20230 },
5f26e15b
TL
20231 "hookscript" : {
20232 "description" : "Script that will be executed during various steps in the vms lifetime.",
20233 "format" : "pve-volume-id",
20234 "optional" : 1,
20235 "type" : "string",
20236 "typetext" : "<string>"
20237 },
44660702 20238 "hostpci[n]" : {
c2993fe5 20239 "description" : "Map host PCI devices into guest.",
44660702
DM
20240 "format" : "pve-qm-hostpci",
20241 "optional" : 1,
57b78691 20242 "type" : "string",
ac70d7d1 20243 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 20244 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
20245 },
20246 "hotplug" : {
20247 "default" : "network,disk,usb",
20248 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
20249 "format" : "pve-hotplug-features",
20250 "optional" : 1,
013dc89f
DM
20251 "type" : "string",
20252 "typetext" : "<string>"
7aacca6f 20253 },
4bd7df8b
DM
20254 "hugepages" : {
20255 "description" : "Enable/disable hugepages memory.",
20256 "enum" : [
20257 "any",
20258 "2",
20259 "1024"
20260 ],
20261 "optional" : 1,
20262 "type" : "string"
20263 },
7aacca6f 20264 "ide[n]" : {
44660702 20265 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 20266 "format" : {
44660702
DM
20267 "aio" : {
20268 "description" : "AIO type to use.",
20269 "enum" : [
20270 "native",
20271 "threads"
20272 ],
44660702
DM
20273 "optional" : 1,
20274 "type" : "string"
20275 },
20276 "backup" : {
20277 "description" : "Whether the drive should be included when making backups.",
44660702
DM
20278 "optional" : 1,
20279 "type" : "boolean"
20280 },
20281 "bps" : {
de0983cb 20282 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 20283 "format_description" : "bps",
56122987 20284 "optional" : 1,
44660702 20285 "type" : "integer"
56122987 20286 },
de0983cb
DM
20287 "bps_max_length" : {
20288 "description" : "Maximum length of I/O bursts in seconds.",
20289 "format_description" : "seconds",
20290 "minimum" : 1,
20291 "optional" : 1,
20292 "type" : "integer"
20293 },
44660702 20294 "bps_rd" : {
de0983cb 20295 "description" : "Maximum read speed in bytes per second.",
44660702 20296 "format_description" : "bps",
56122987 20297 "optional" : 1,
44660702 20298 "type" : "integer"
56122987 20299 },
de0983cb 20300 "bps_rd_length" : {
5d9c884c
DM
20301 "alias" : "bps_rd_max_length"
20302 },
20303 "bps_rd_max_length" : {
de0983cb
DM
20304 "description" : "Maximum length of read I/O bursts in seconds.",
20305 "format_description" : "seconds",
20306 "minimum" : 1,
20307 "optional" : 1,
20308 "type" : "integer"
20309 },
44660702 20310 "bps_wr" : {
de0983cb 20311 "description" : "Maximum write speed in bytes per second.",
44660702 20312 "format_description" : "bps",
56122987 20313 "optional" : 1,
44660702 20314 "type" : "integer"
56122987 20315 },
de0983cb 20316 "bps_wr_length" : {
5d9c884c
DM
20317 "alias" : "bps_wr_max_length"
20318 },
20319 "bps_wr_max_length" : {
de0983cb
DM
20320 "description" : "Maximum length of write I/O bursts in seconds.",
20321 "format_description" : "seconds",
20322 "minimum" : 1,
20323 "optional" : 1,
20324 "type" : "integer"
20325 },
44660702
DM
20326 "cache" : {
20327 "description" : "The drive's cache mode",
56122987 20328 "enum" : [
7aacca6f 20329 "none",
44660702
DM
20330 "writethrough",
20331 "writeback",
20332 "unsafe",
20333 "directsync"
56122987 20334 ],
56122987 20335 "optional" : 1,
44660702 20336 "type" : "string"
56122987 20337 },
44660702
DM
20338 "cyls" : {
20339 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
20340 "optional" : 1,
20341 "type" : "integer"
7aacca6f 20342 },
44660702
DM
20343 "detect_zeroes" : {
20344 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 20345 "optional" : 1,
44660702 20346 "type" : "boolean"
56122987 20347 },
44660702
DM
20348 "discard" : {
20349 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
20350 "enum" : [
20351 "ignore",
20352 "on"
20353 ],
56122987 20354 "optional" : 1,
44660702 20355 "type" : "string"
56122987 20356 },
7aacca6f 20357 "file" : {
44660702 20358 "default_key" : 1,
7aacca6f 20359 "description" : "The drive's backing volume.",
7aacca6f
DM
20360 "format" : "pve-volume-id-or-qm-path",
20361 "format_description" : "volume",
7aacca6f 20362 "type" : "string"
56122987 20363 },
44660702
DM
20364 "format" : {
20365 "description" : "The drive's backing file's data format.",
56122987 20366 "enum" : [
44660702
DM
20367 "raw",
20368 "cow",
20369 "qcow",
20370 "qed",
20371 "qcow2",
20372 "vmdk",
20373 "cloop"
7aacca6f 20374 ],
7aacca6f
DM
20375 "optional" : 1,
20376 "type" : "string"
56122987 20377 },
44660702
DM
20378 "heads" : {
20379 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 20380 "optional" : 1,
44660702 20381 "type" : "integer"
56122987 20382 },
44660702 20383 "iops" : {
de0983cb 20384 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 20385 "format_description" : "iops",
56122987 20386 "optional" : 1,
44660702 20387 "type" : "integer"
56122987 20388 },
44660702 20389 "iops_max" : {
de0983cb 20390 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 20391 "format_description" : "iops",
56122987 20392 "optional" : 1,
44660702 20393 "type" : "integer"
56122987 20394 },
de0983cb
DM
20395 "iops_max_length" : {
20396 "description" : "Maximum length of I/O bursts in seconds.",
20397 "format_description" : "seconds",
20398 "minimum" : 1,
20399 "optional" : 1,
20400 "type" : "integer"
20401 },
7aacca6f 20402 "iops_rd" : {
de0983cb 20403 "description" : "Maximum read I/O in operations per second.",
44660702
DM
20404 "format_description" : "iops",
20405 "optional" : 1,
20406 "type" : "integer"
7aacca6f 20407 },
de0983cb 20408 "iops_rd_length" : {
5d9c884c 20409 "alias" : "iops_rd_max_length"
de0983cb 20410 },
44660702 20411 "iops_rd_max" : {
de0983cb 20412 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 20413 "format_description" : "iops",
56122987 20414 "optional" : 1,
44660702 20415 "type" : "integer"
56122987 20416 },
5d9c884c
DM
20417 "iops_rd_max_length" : {
20418 "description" : "Maximum length of read I/O bursts in seconds.",
20419 "format_description" : "seconds",
20420 "minimum" : 1,
20421 "optional" : 1,
20422 "type" : "integer"
20423 },
44660702 20424 "iops_wr" : {
de0983cb 20425 "description" : "Maximum write I/O in operations per second.",
44660702 20426 "format_description" : "iops",
56122987 20427 "optional" : 1,
44660702 20428 "type" : "integer"
7aacca6f 20429 },
de0983cb 20430 "iops_wr_length" : {
5d9c884c 20431 "alias" : "iops_wr_max_length"
de0983cb 20432 },
44660702 20433 "iops_wr_max" : {
de0983cb 20434 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 20435 "format_description" : "iops",
7aacca6f 20436 "optional" : 1,
44660702 20437 "type" : "integer"
56122987 20438 },
5d9c884c
DM
20439 "iops_wr_max_length" : {
20440 "description" : "Maximum length of write I/O bursts in seconds.",
20441 "format_description" : "seconds",
20442 "minimum" : 1,
20443 "optional" : 1,
20444 "type" : "integer"
20445 },
44660702 20446 "mbps" : {
de0983cb 20447 "description" : "Maximum r/w speed in megabytes per second.",
44660702 20448 "format_description" : "mbps",
7aacca6f 20449 "optional" : 1,
44660702 20450 "type" : "number"
56122987 20451 },
44660702 20452 "mbps_max" : {
de0983cb 20453 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 20454 "format_description" : "mbps",
56122987 20455 "optional" : 1,
44660702 20456 "type" : "number"
56122987 20457 },
44660702 20458 "mbps_rd" : {
de0983cb 20459 "description" : "Maximum read speed in megabytes per second.",
44660702 20460 "format_description" : "mbps",
7aacca6f 20461 "optional" : 1,
44660702 20462 "type" : "number"
7aacca6f 20463 },
44660702 20464 "mbps_rd_max" : {
de0983cb 20465 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 20466 "format_description" : "mbps",
56122987 20467 "optional" : 1,
44660702 20468 "type" : "number"
56122987 20469 },
44660702 20470 "mbps_wr" : {
de0983cb 20471 "description" : "Maximum write speed in megabytes per second.",
44660702 20472 "format_description" : "mbps",
7aacca6f 20473 "optional" : 1,
44660702 20474 "type" : "number"
56122987 20475 },
44660702 20476 "mbps_wr_max" : {
de0983cb 20477 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 20478 "format_description" : "mbps",
56122987 20479 "optional" : 1,
44660702 20480 "type" : "number"
7aacca6f
DM
20481 },
20482 "media" : {
44660702
DM
20483 "default" : "disk",
20484 "description" : "The drive's media type.",
56122987 20485 "enum" : [
7aacca6f
DM
20486 "cdrom",
20487 "disk"
56122987 20488 ],
56122987 20489 "optional" : 1,
44660702 20490 "type" : "string"
56122987 20491 },
44660702
DM
20492 "model" : {
20493 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
20494 "format" : "urlencoded",
20495 "format_description" : "model",
20496 "maxLength" : 120,
56122987 20497 "optional" : 1,
44660702 20498 "type" : "string"
56122987 20499 },
5d9c884c
DM
20500 "replicate" : {
20501 "default" : 1,
20502 "description" : "Whether the drive should considered for replication jobs.",
20503 "optional" : 1,
20504 "type" : "boolean"
20505 },
7aacca6f 20506 "rerror" : {
7aacca6f
DM
20507 "description" : "Read error action.",
20508 "enum" : [
20509 "ignore",
20510 "report",
20511 "stop"
44660702 20512 ],
44660702
DM
20513 "optional" : 1,
20514 "type" : "string"
56122987 20515 },
44660702
DM
20516 "secs" : {
20517 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 20518 "optional" : 1,
44660702
DM
20519 "type" : "integer"
20520 },
20521 "serial" : {
20522 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
20523 "format" : "urlencoded",
20524 "format_description" : "serial",
20525 "maxLength" : 60,
20526 "optional" : 1,
20527 "type" : "string"
20528 },
27a7acb2
DM
20529 "shared" : {
20530 "default" : 0,
20531 "description" : "Mark this locally-managed volume as available on all nodes",
20532 "optional" : 1,
20533 "type" : "boolean",
20534 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
20535 },
44660702
DM
20536 "size" : {
20537 "description" : "Disk size. This is purely informational and has no effect.",
20538 "format" : "disk-size",
f004f5b9 20539 "format_description" : "DiskSize",
44660702
DM
20540 "optional" : 1,
20541 "type" : "string"
7aacca6f
DM
20542 },
20543 "snapshot" : {
27a7acb2 20544 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
7aacca6f 20545 "optional" : 1,
44660702 20546 "type" : "boolean"
7aacca6f 20547 },
25203dc1
NC
20548 "ssd" : {
20549 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
20550 "optional" : 1,
20551 "type" : "boolean"
20552 },
44660702
DM
20553 "trans" : {
20554 "description" : "Force disk geometry bios translation mode.",
20555 "enum" : [
20556 "none",
20557 "lba",
20558 "auto"
20559 ],
7aacca6f 20560 "optional" : 1,
44660702
DM
20561 "type" : "string"
20562 },
20563 "volume" : {
20564 "alias" : "file"
20565 },
20566 "werror" : {
20567 "description" : "Write error action.",
20568 "enum" : [
20569 "enospc",
20570 "ignore",
20571 "report",
20572 "stop"
20573 ],
44660702
DM
20574 "optional" : 1,
20575 "type" : "string"
95895385
TL
20576 },
20577 "wwn" : {
20578 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
20579 "format_description" : "wwn",
20580 "optional" : 1,
20581 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
20582 "type" : "string"
56122987
DM
20583 }
20584 },
56122987 20585 "optional" : 1,
4bd7df8b 20586 "type" : "string",
95895385 20587 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
20588 },
20589 "ipconfig[n]" : {
20590 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
20591 "format" : "pve-qm-ipconfig",
20592 "optional" : 1,
20593 "type" : "string",
20594 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 20595 },
95895385
TL
20596 "ivshmem" : {
20597 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
20598 "format" : {
20599 "name" : {
20600 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
20601 "format_description" : "string",
20602 "optional" : 1,
20603 "pattern" : "[a-zA-Z0-9\\-]+",
20604 "type" : "string"
20605 },
20606 "size" : {
20607 "description" : "The size of the file in MB.",
20608 "minimum" : 1,
20609 "type" : "integer"
20610 }
20611 },
20612 "optional" : 1,
20613 "type" : "string",
20614 "typetext" : "size=<integer> [,name=<string>]"
20615 },
56122987 20616 "keyboard" : {
35a75dd3 20617 "default" : null,
5da3d723 20618 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
56122987 20619 "enum" : [
44660702
DM
20620 "de",
20621 "de-ch",
7aacca6f 20622 "da",
56122987 20623 "en-gb",
44660702
DM
20624 "en-us",
20625 "es",
20626 "fi",
20627 "fr",
20628 "fr-be",
20629 "fr-ca",
20630 "fr-ch",
20631 "hu",
7aacca6f 20632 "is",
44660702
DM
20633 "it",
20634 "ja",
20635 "lt",
56122987 20636 "mk",
7aacca6f 20637 "nl",
56122987 20638 "no",
44660702 20639 "pl",
7aacca6f 20640 "pt",
44660702
DM
20641 "pt-br",
20642 "sv",
20643 "sl",
20644 "tr"
56122987 20645 ],
44660702
DM
20646 "optional" : 1,
20647 "type" : "string"
56122987 20648 },
44660702
DM
20649 "kvm" : {
20650 "default" : 1,
20651 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 20652 "optional" : 1,
013dc89f
DM
20653 "type" : "boolean",
20654 "typetext" : "<boolean>"
7aacca6f 20655 },
44660702
DM
20656 "localtime" : {
20657 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 20658 "optional" : 1,
013dc89f
DM
20659 "type" : "boolean",
20660 "typetext" : "<boolean>"
44660702
DM
20661 },
20662 "lock" : {
20663 "description" : "Lock/unlock the VM.",
7aacca6f 20664 "enum" : [
7aacca6f 20665 "backup",
5f26e15b
TL
20666 "clone",
20667 "create",
20668 "migrate",
20669 "rollback",
7aacca6f 20670 "snapshot",
95895385
TL
20671 "snapshot-delete",
20672 "suspending",
20673 "suspended"
7aacca6f 20674 ],
44660702
DM
20675 "optional" : 1,
20676 "type" : "string"
56122987 20677 },
44660702 20678 "machine" : {
4d47f125 20679 "description" : "Specifies the Qemu machine type.",
44660702
DM
20680 "maxLength" : 40,
20681 "optional" : 1,
5c1699e5 20682 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
20683 "type" : "string"
20684 },
20685 "memory" : {
20686 "default" : 512,
20687 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
20688 "minimum" : 16,
20689 "optional" : 1,
4bd7df8b 20690 "type" : "integer",
013dc89f 20691 "typetext" : "<integer> (16 - N)"
44660702
DM
20692 },
20693 "migrate_downtime" : {
20694 "default" : 0.1,
20695 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
20696 "minimum" : 0,
20697 "optional" : 1,
4bd7df8b 20698 "type" : "number",
013dc89f 20699 "typetext" : "<number> (0 - N)"
44660702
DM
20700 },
20701 "migrate_speed" : {
56122987 20702 "default" : 0,
44660702
DM
20703 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
20704 "minimum" : 0,
56122987 20705 "optional" : 1,
4bd7df8b 20706 "type" : "integer",
013dc89f 20707 "typetext" : "<integer> (0 - N)"
56122987 20708 },
27a7acb2
DM
20709 "name" : {
20710 "description" : "Set a name for the VM. Only used on the configuration web interface.",
20711 "format" : "dns-name",
20712 "optional" : 1,
20713 "type" : "string",
20714 "typetext" : "<string>"
20715 },
20716 "nameserver" : {
20717 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
20718 "format" : "address-list",
44660702 20719 "optional" : 1,
013dc89f
DM
20720 "type" : "string",
20721 "typetext" : "<string>"
44660702
DM
20722 },
20723 "net[n]" : {
c2993fe5 20724 "description" : "Specify network devices.",
f004f5b9
DM
20725 "format" : {
20726 "bridge" : {
c2993fe5 20727 "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
f004f5b9
DM
20728 "format_description" : "bridge",
20729 "optional" : 1,
c5aa7e14 20730 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
20731 "type" : "string"
20732 },
20733 "e1000" : {
20734 "alias" : "macaddr",
20735 "keyAlias" : "model"
20736 },
20737 "e1000-82540em" : {
20738 "alias" : "macaddr",
20739 "keyAlias" : "model"
20740 },
20741 "e1000-82544gc" : {
20742 "alias" : "macaddr",
20743 "keyAlias" : "model"
20744 },
20745 "e1000-82545em" : {
20746 "alias" : "macaddr",
20747 "keyAlias" : "model"
20748 },
20749 "firewall" : {
20750 "description" : "Whether this interface should be protected by the firewall.",
20751 "optional" : 1,
20752 "type" : "boolean"
20753 },
20754 "i82551" : {
20755 "alias" : "macaddr",
20756 "keyAlias" : "model"
20757 },
20758 "i82557b" : {
20759 "alias" : "macaddr",
20760 "keyAlias" : "model"
20761 },
20762 "i82559er" : {
20763 "alias" : "macaddr",
20764 "keyAlias" : "model"
20765 },
20766 "link_down" : {
c2993fe5 20767 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
20768 "optional" : 1,
20769 "type" : "boolean"
20770 },
20771 "macaddr" : {
c2993fe5 20772 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 20773 "format" : "mac-addr",
f004f5b9 20774 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 20775 "optional" : 1,
95895385
TL
20776 "type" : "string",
20777 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
20778 },
20779 "model" : {
20780 "default_key" : 1,
c2993fe5 20781 "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
f004f5b9
DM
20782 "enum" : [
20783 "rtl8139",
20784 "ne2k_pci",
20785 "e1000",
20786 "pcnet",
20787 "virtio",
20788 "ne2k_isa",
20789 "i82551",
20790 "i82557b",
20791 "i82559er",
20792 "vmxnet3",
20793 "e1000-82540em",
20794 "e1000-82544gc",
20795 "e1000-82545em"
20796 ],
f004f5b9
DM
20797 "type" : "string"
20798 },
ac70d7d1
TL
20799 "mtu" : {
20800 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
20801 "maximum" : 65520,
20802 "minimum" : 1,
20803 "optional" : 1,
20804 "type" : "integer"
20805 },
f004f5b9
DM
20806 "ne2k_isa" : {
20807 "alias" : "macaddr",
20808 "keyAlias" : "model"
20809 },
20810 "ne2k_pci" : {
20811 "alias" : "macaddr",
20812 "keyAlias" : "model"
20813 },
20814 "pcnet" : {
20815 "alias" : "macaddr",
20816 "keyAlias" : "model"
20817 },
20818 "queues" : {
20819 "description" : "Number of packet queues to be used on the device.",
20820 "maximum" : 16,
20821 "minimum" : 0,
20822 "optional" : 1,
20823 "type" : "integer"
20824 },
20825 "rate" : {
c2993fe5 20826 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
20827 "minimum" : 0,
20828 "optional" : 1,
20829 "type" : "number"
20830 },
20831 "rtl8139" : {
20832 "alias" : "macaddr",
20833 "keyAlias" : "model"
20834 },
20835 "tag" : {
20836 "description" : "VLAN tag to apply to packets on this interface.",
20837 "maximum" : 4094,
c2993fe5 20838 "minimum" : 1,
f004f5b9
DM
20839 "optional" : 1,
20840 "type" : "integer"
20841 },
20842 "trunks" : {
20843 "description" : "VLAN trunks to pass through this interface.",
20844 "format_description" : "vlanid[;vlanid...]",
20845 "optional" : 1,
20846 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
20847 "type" : "string"
20848 },
20849 "virtio" : {
20850 "alias" : "macaddr",
20851 "keyAlias" : "model"
20852 },
20853 "vmxnet3" : {
20854 "alias" : "macaddr",
20855 "keyAlias" : "model"
20856 }
20857 },
44660702 20858 "optional" : 1,
4bd7df8b 20859 "type" : "string",
ac70d7d1 20860 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
20861 },
20862 "node" : {
20863 "description" : "The cluster node name.",
20864 "format" : "pve-node",
013dc89f
DM
20865 "type" : "string",
20866 "typetext" : "<string>"
44660702
DM
20867 },
20868 "numa" : {
7aacca6f 20869 "default" : 0,
44660702
DM
20870 "description" : "Enable/disable NUMA.",
20871 "optional" : 1,
013dc89f
DM
20872 "type" : "boolean",
20873 "typetext" : "<boolean>"
56122987 20874 },
7aacca6f 20875 "numa[n]" : {
c2993fe5 20876 "description" : "NUMA topology.",
7aacca6f 20877 "format" : {
44660702 20878 "cpus" : {
c2993fe5 20879 "description" : "CPUs accessing this NUMA node.",
44660702
DM
20880 "format_description" : "id[-id];...",
20881 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
20882 "type" : "string"
20883 },
7aacca6f 20884 "hostnodes" : {
c2993fe5 20885 "description" : "Host NUMA nodes to use.",
44660702 20886 "format_description" : "id[-id];...",
7aacca6f 20887 "optional" : 1,
44660702
DM
20888 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
20889 "type" : "string"
7aacca6f 20890 },
44660702 20891 "memory" : {
c2993fe5 20892 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
20893 "optional" : 1,
20894 "type" : "number"
7aacca6f
DM
20895 },
20896 "policy" : {
c2993fe5 20897 "description" : "NUMA allocation policy.",
7aacca6f
DM
20898 "enum" : [
20899 "preferred",
20900 "bind",
20901 "interleave"
20902 ],
7aacca6f 20903 "optional" : 1,
44660702 20904 "type" : "string"
7aacca6f
DM
20905 }
20906 },
56122987 20907 "optional" : 1,
4bd7df8b
DM
20908 "type" : "string",
20909 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 20910 },
44660702
DM
20911 "onboot" : {
20912 "default" : 0,
20913 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 20914 "optional" : 1,
013dc89f
DM
20915 "type" : "boolean",
20916 "typetext" : "<boolean>"
56122987
DM
20917 },
20918 "ostype" : {
c2993fe5 20919 "description" : "Specify guest operating system.",
56122987
DM
20920 "enum" : [
20921 "other",
20922 "wxp",
20923 "w2k",
20924 "w2k3",
20925 "w2k8",
20926 "wvista",
20927 "win7",
20928 "win8",
32d876b5 20929 "win10",
56122987
DM
20930 "l24",
20931 "l26",
20932 "solaris"
44660702 20933 ],
56122987 20934 "optional" : 1,
c2993fe5 20935 "type" : "string",
5c1699e5 20936 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 20937 },
44660702 20938 "parallel[n]" : {
c2993fe5 20939 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 20940 "optional" : 1,
44660702 20941 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
20942 "type" : "string",
20943 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 20944 },
44660702
DM
20945 "pool" : {
20946 "description" : "Add the VM to the specified pool.",
20947 "format" : "pve-poolid",
56122987 20948 "optional" : 1,
013dc89f
DM
20949 "type" : "string",
20950 "typetext" : "<string>"
56122987 20951 },
44660702
DM
20952 "protection" : {
20953 "default" : 0,
c2993fe5 20954 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 20955 "optional" : 1,
013dc89f
DM
20956 "type" : "boolean",
20957 "typetext" : "<boolean>"
56122987 20958 },
44660702 20959 "reboot" : {
7aacca6f 20960 "default" : 1,
44660702
DM
20961 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
20962 "optional" : 1,
013dc89f
DM
20963 "type" : "boolean",
20964 "typetext" : "<boolean>"
56122987 20965 },
c5aa7e14
TL
20966 "rng0" : {
20967 "description" : "Configure a VirtIO-based Random Number Generator.",
20968 "format" : {
20969 "max_bytes" : {
20970 "default" : 1024,
20971 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
20972 "optional" : 1,
20973 "type" : "integer"
20974 },
20975 "period" : {
20976 "default" : 1000,
20977 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
20978 "optional" : 1,
20979 "type" : "integer"
20980 },
20981 "source" : {
20982 "default_key" : 1,
20983 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
20984 "enum" : [
20985 "/dev/urandom",
20986 "/dev/random",
20987 "/dev/hwrng"
20988 ],
20989 "type" : "string"
20990 }
20991 },
20992 "optional" : 1,
20993 "type" : "string",
20994 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
20995 },
56122987 20996 "sata[n]" : {
44660702 20997 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 20998 "format" : {
7aacca6f 20999 "aio" : {
44660702 21000 "description" : "AIO type to use.",
56122987 21001 "enum" : [
7aacca6f
DM
21002 "native",
21003 "threads"
56122987 21004 ],
7aacca6f 21005 "optional" : 1,
44660702 21006 "type" : "string"
7aacca6f
DM
21007 },
21008 "backup" : {
7aacca6f 21009 "description" : "Whether the drive should be included when making backups.",
7aacca6f 21010 "optional" : 1,
44660702 21011 "type" : "boolean"
56122987 21012 },
44660702 21013 "bps" : {
de0983cb 21014 "description" : "Maximum r/w speed in bytes per second.",
44660702 21015 "format_description" : "bps",
7aacca6f 21016 "optional" : 1,
44660702 21017 "type" : "integer"
56122987 21018 },
de0983cb
DM
21019 "bps_max_length" : {
21020 "description" : "Maximum length of I/O bursts in seconds.",
21021 "format_description" : "seconds",
21022 "minimum" : 1,
21023 "optional" : 1,
21024 "type" : "integer"
21025 },
44660702 21026 "bps_rd" : {
de0983cb 21027 "description" : "Maximum read speed in bytes per second.",
44660702 21028 "format_description" : "bps",
56122987 21029 "optional" : 1,
44660702 21030 "type" : "integer"
7aacca6f 21031 },
de0983cb 21032 "bps_rd_length" : {
5d9c884c
DM
21033 "alias" : "bps_rd_max_length"
21034 },
21035 "bps_rd_max_length" : {
de0983cb
DM
21036 "description" : "Maximum length of read I/O bursts in seconds.",
21037 "format_description" : "seconds",
21038 "minimum" : 1,
21039 "optional" : 1,
21040 "type" : "integer"
21041 },
44660702 21042 "bps_wr" : {
de0983cb 21043 "description" : "Maximum write speed in bytes per second.",
44660702 21044 "format_description" : "bps",
56122987 21045 "optional" : 1,
44660702 21046 "type" : "integer"
56122987 21047 },
de0983cb 21048 "bps_wr_length" : {
5d9c884c
DM
21049 "alias" : "bps_wr_max_length"
21050 },
21051 "bps_wr_max_length" : {
de0983cb
DM
21052 "description" : "Maximum length of write I/O bursts in seconds.",
21053 "format_description" : "seconds",
21054 "minimum" : 1,
21055 "optional" : 1,
21056 "type" : "integer"
21057 },
7aacca6f 21058 "cache" : {
7aacca6f
DM
21059 "description" : "The drive's cache mode",
21060 "enum" : [
21061 "none",
21062 "writethrough",
21063 "writeback",
21064 "unsafe",
21065 "directsync"
21066 ],
44660702
DM
21067 "optional" : 1,
21068 "type" : "string"
56122987 21069 },
44660702
DM
21070 "cyls" : {
21071 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 21072 "optional" : 1,
7aacca6f 21073 "type" : "integer"
56122987 21074 },
7aacca6f
DM
21075 "detect_zeroes" : {
21076 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 21077 "optional" : 1,
7aacca6f 21078 "type" : "boolean"
56122987 21079 },
44660702
DM
21080 "discard" : {
21081 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
21082 "enum" : [
21083 "ignore",
21084 "on"
21085 ],
56122987 21086 "optional" : 1,
44660702 21087 "type" : "string"
56122987 21088 },
44660702
DM
21089 "file" : {
21090 "default_key" : 1,
21091 "description" : "The drive's backing volume.",
21092 "format" : "pve-volume-id-or-qm-path",
21093 "format_description" : "volume",
21094 "type" : "string"
56122987
DM
21095 },
21096 "format" : {
44660702 21097 "description" : "The drive's backing file's data format.",
56122987
DM
21098 "enum" : [
21099 "raw",
21100 "cow",
21101 "qcow",
21102 "qed",
21103 "qcow2",
21104 "vmdk",
21105 "cloop"
21106 ],
56122987 21107 "optional" : 1,
44660702 21108 "type" : "string"
56122987 21109 },
7aacca6f 21110 "heads" : {
7aacca6f 21111 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
21112 "optional" : 1,
21113 "type" : "integer"
56122987 21114 },
44660702 21115 "iops" : {
de0983cb 21116 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
21117 "format_description" : "iops",
21118 "optional" : 1,
21119 "type" : "integer"
56122987 21120 },
44660702 21121 "iops_max" : {
de0983cb 21122 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 21123 "format_description" : "iops",
56122987 21124 "optional" : 1,
44660702 21125 "type" : "integer"
56122987 21126 },
de0983cb
DM
21127 "iops_max_length" : {
21128 "description" : "Maximum length of I/O bursts in seconds.",
21129 "format_description" : "seconds",
21130 "minimum" : 1,
21131 "optional" : 1,
21132 "type" : "integer"
21133 },
44660702 21134 "iops_rd" : {
de0983cb 21135 "description" : "Maximum read I/O in operations per second.",
44660702 21136 "format_description" : "iops",
56122987 21137 "optional" : 1,
44660702 21138 "type" : "integer"
56122987 21139 },
de0983cb 21140 "iops_rd_length" : {
5d9c884c 21141 "alias" : "iops_rd_max_length"
de0983cb 21142 },
44660702 21143 "iops_rd_max" : {
de0983cb 21144 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 21145 "format_description" : "iops",
56122987 21146 "optional" : 1,
44660702 21147 "type" : "integer"
56122987 21148 },
5d9c884c
DM
21149 "iops_rd_max_length" : {
21150 "description" : "Maximum length of read I/O bursts in seconds.",
21151 "format_description" : "seconds",
21152 "minimum" : 1,
21153 "optional" : 1,
21154 "type" : "integer"
21155 },
44660702 21156 "iops_wr" : {
de0983cb 21157 "description" : "Maximum write I/O in operations per second.",
44660702 21158 "format_description" : "iops",
7aacca6f 21159 "optional" : 1,
44660702 21160 "type" : "integer"
7aacca6f 21161 },
de0983cb 21162 "iops_wr_length" : {
5d9c884c 21163 "alias" : "iops_wr_max_length"
de0983cb 21164 },
44660702 21165 "iops_wr_max" : {
de0983cb 21166 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 21167 "format_description" : "iops",
56122987 21168 "optional" : 1,
7aacca6f 21169 "type" : "integer"
56122987 21170 },
5d9c884c
DM
21171 "iops_wr_max_length" : {
21172 "description" : "Maximum length of write I/O bursts in seconds.",
21173 "format_description" : "seconds",
21174 "minimum" : 1,
21175 "optional" : 1,
21176 "type" : "integer"
21177 },
44660702 21178 "mbps" : {
de0983cb 21179 "description" : "Maximum r/w speed in megabytes per second.",
44660702 21180 "format_description" : "mbps",
56122987 21181 "optional" : 1,
44660702 21182 "type" : "number"
56122987 21183 },
44660702 21184 "mbps_max" : {
de0983cb 21185 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 21186 "format_description" : "mbps",
7aacca6f 21187 "optional" : 1,
44660702 21188 "type" : "number"
7aacca6f 21189 },
44660702 21190 "mbps_rd" : {
de0983cb 21191 "description" : "Maximum read speed in megabytes per second.",
44660702 21192 "format_description" : "mbps",
7aacca6f 21193 "optional" : 1,
44660702 21194 "type" : "number"
7aacca6f 21195 },
44660702 21196 "mbps_rd_max" : {
de0983cb 21197 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 21198 "format_description" : "mbps",
7aacca6f 21199 "optional" : 1,
44660702 21200 "type" : "number"
7aacca6f 21201 },
44660702 21202 "mbps_wr" : {
de0983cb 21203 "description" : "Maximum write speed in megabytes per second.",
44660702 21204 "format_description" : "mbps",
7aacca6f 21205 "optional" : 1,
44660702 21206 "type" : "number"
7aacca6f
DM
21207 },
21208 "mbps_wr_max" : {
de0983cb 21209 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 21210 "format_description" : "mbps",
7aacca6f 21211 "optional" : 1,
44660702 21212 "type" : "number"
7aacca6f 21213 },
44660702
DM
21214 "media" : {
21215 "default" : "disk",
21216 "description" : "The drive's media type.",
56122987 21217 "enum" : [
44660702
DM
21218 "cdrom",
21219 "disk"
56122987 21220 ],
56122987 21221 "optional" : 1,
44660702 21222 "type" : "string"
56122987 21223 },
5d9c884c
DM
21224 "replicate" : {
21225 "default" : 1,
21226 "description" : "Whether the drive should considered for replication jobs.",
21227 "optional" : 1,
21228 "type" : "boolean"
21229 },
44660702
DM
21230 "rerror" : {
21231 "description" : "Read error action.",
7aacca6f
DM
21232 "enum" : [
21233 "ignore",
44660702
DM
21234 "report",
21235 "stop"
7aacca6f 21236 ],
56122987 21237 "optional" : 1,
44660702 21238 "type" : "string"
56122987 21239 },
44660702
DM
21240 "secs" : {
21241 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 21242 "optional" : 1,
44660702 21243 "type" : "integer"
56122987 21244 },
44660702
DM
21245 "serial" : {
21246 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
21247 "format" : "urlencoded",
21248 "format_description" : "serial",
21249 "maxLength" : 60,
21250 "optional" : 1,
21251 "type" : "string"
7aacca6f 21252 },
27a7acb2
DM
21253 "shared" : {
21254 "default" : 0,
21255 "description" : "Mark this locally-managed volume as available on all nodes",
21256 "optional" : 1,
21257 "type" : "boolean",
21258 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
21259 },
7aacca6f
DM
21260 "size" : {
21261 "description" : "Disk size. This is purely informational and has no effect.",
44660702 21262 "format" : "disk-size",
f004f5b9 21263 "format_description" : "DiskSize",
56122987 21264 "optional" : 1,
44660702 21265 "type" : "string"
56122987 21266 },
44660702 21267 "snapshot" : {
27a7acb2 21268 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 21269 "optional" : 1,
44660702 21270 "type" : "boolean"
56122987 21271 },
25203dc1
NC
21272 "ssd" : {
21273 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
21274 "optional" : 1,
21275 "type" : "boolean"
21276 },
44660702
DM
21277 "trans" : {
21278 "description" : "Force disk geometry bios translation mode.",
56122987 21279 "enum" : [
44660702
DM
21280 "none",
21281 "lba",
21282 "auto"
7aacca6f 21283 ],
44660702
DM
21284 "optional" : 1,
21285 "type" : "string"
21286 },
21287 "volume" : {
21288 "alias" : "file"
56122987
DM
21289 },
21290 "werror" : {
56122987
DM
21291 "description" : "Write error action.",
21292 "enum" : [
21293 "enospc",
21294 "ignore",
21295 "report",
21296 "stop"
21297 ],
56122987 21298 "optional" : 1,
44660702 21299 "type" : "string"
95895385
TL
21300 },
21301 "wwn" : {
21302 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
21303 "format_description" : "wwn",
21304 "optional" : 1,
21305 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
21306 "type" : "string"
44660702
DM
21307 }
21308 },
21309 "optional" : 1,
4bd7df8b 21310 "type" : "string",
95895385 21311 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
21312 },
21313 "scsi[n]" : {
e9cd3bd4 21314 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
21315 "format" : {
21316 "aio" : {
21317 "description" : "AIO type to use.",
21318 "enum" : [
21319 "native",
21320 "threads"
21321 ],
44660702
DM
21322 "optional" : 1,
21323 "type" : "string"
56122987 21324 },
7aacca6f 21325 "backup" : {
44660702 21326 "description" : "Whether the drive should be included when making backups.",
7aacca6f 21327 "optional" : 1,
44660702 21328 "type" : "boolean"
7aacca6f 21329 },
44660702 21330 "bps" : {
de0983cb 21331 "description" : "Maximum r/w speed in bytes per second.",
44660702 21332 "format_description" : "bps",
7aacca6f 21333 "optional" : 1,
44660702 21334 "type" : "integer"
7aacca6f 21335 },
de0983cb
DM
21336 "bps_max_length" : {
21337 "description" : "Maximum length of I/O bursts in seconds.",
21338 "format_description" : "seconds",
21339 "minimum" : 1,
21340 "optional" : 1,
21341 "type" : "integer"
21342 },
44660702 21343 "bps_rd" : {
de0983cb 21344 "description" : "Maximum read speed in bytes per second.",
44660702 21345 "format_description" : "bps",
56122987 21346 "optional" : 1,
44660702 21347 "type" : "integer"
56122987 21348 },
de0983cb 21349 "bps_rd_length" : {
5d9c884c
DM
21350 "alias" : "bps_rd_max_length"
21351 },
21352 "bps_rd_max_length" : {
de0983cb
DM
21353 "description" : "Maximum length of read I/O bursts in seconds.",
21354 "format_description" : "seconds",
21355 "minimum" : 1,
21356 "optional" : 1,
21357 "type" : "integer"
21358 },
44660702 21359 "bps_wr" : {
de0983cb 21360 "description" : "Maximum write speed in bytes per second.",
44660702 21361 "format_description" : "bps",
7aacca6f 21362 "optional" : 1,
44660702 21363 "type" : "integer"
56122987 21364 },
de0983cb 21365 "bps_wr_length" : {
5d9c884c
DM
21366 "alias" : "bps_wr_max_length"
21367 },
21368 "bps_wr_max_length" : {
de0983cb
DM
21369 "description" : "Maximum length of write I/O bursts in seconds.",
21370 "format_description" : "seconds",
21371 "minimum" : 1,
21372 "optional" : 1,
21373 "type" : "integer"
21374 },
44660702
DM
21375 "cache" : {
21376 "description" : "The drive's cache mode",
7aacca6f
DM
21377 "enum" : [
21378 "none",
44660702
DM
21379 "writethrough",
21380 "writeback",
21381 "unsafe",
21382 "directsync"
7aacca6f 21383 ],
56122987 21384 "optional" : 1,
44660702 21385 "type" : "string"
56122987 21386 },
7aacca6f
DM
21387 "cyls" : {
21388 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
21389 "optional" : 1,
44660702 21390 "type" : "integer"
7aacca6f 21391 },
44660702
DM
21392 "detect_zeroes" : {
21393 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 21394 "optional" : 1,
44660702 21395 "type" : "boolean"
56122987 21396 },
44660702
DM
21397 "discard" : {
21398 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 21399 "enum" : [
44660702
DM
21400 "ignore",
21401 "on"
7aacca6f 21402 ],
7aacca6f 21403 "optional" : 1,
44660702 21404 "type" : "string"
56122987
DM
21405 },
21406 "file" : {
7aacca6f
DM
21407 "default_key" : 1,
21408 "description" : "The drive's backing volume.",
44660702
DM
21409 "format" : "pve-volume-id-or-qm-path",
21410 "format_description" : "volume",
7aacca6f 21411 "type" : "string"
56122987 21412 },
7aacca6f 21413 "format" : {
44660702 21414 "description" : "The drive's backing file's data format.",
56122987 21415 "enum" : [
7aacca6f
DM
21416 "raw",
21417 "cow",
21418 "qcow",
21419 "qed",
21420 "qcow2",
21421 "vmdk",
21422 "cloop"
56122987 21423 ],
44660702
DM
21424 "optional" : 1,
21425 "type" : "string"
56122987 21426 },
44660702
DM
21427 "heads" : {
21428 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
21429 "optional" : 1,
21430 "type" : "integer"
21431 },
21432 "iops" : {
de0983cb 21433 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 21434 "format_description" : "iops",
56122987 21435 "optional" : 1,
44660702 21436 "type" : "integer"
56122987 21437 },
44660702 21438 "iops_max" : {
de0983cb 21439 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 21440 "format_description" : "iops",
7aacca6f 21441 "optional" : 1,
44660702 21442 "type" : "integer"
56122987 21443 },
de0983cb
DM
21444 "iops_max_length" : {
21445 "description" : "Maximum length of I/O bursts in seconds.",
21446 "format_description" : "seconds",
21447 "minimum" : 1,
21448 "optional" : 1,
21449 "type" : "integer"
21450 },
44660702 21451 "iops_rd" : {
de0983cb 21452 "description" : "Maximum read I/O in operations per second.",
44660702 21453 "format_description" : "iops",
56122987 21454 "optional" : 1,
44660702 21455 "type" : "integer"
56122987 21456 },
de0983cb 21457 "iops_rd_length" : {
5d9c884c 21458 "alias" : "iops_rd_max_length"
de0983cb 21459 },
44660702 21460 "iops_rd_max" : {
de0983cb 21461 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
21462 "format_description" : "iops",
21463 "optional" : 1,
21464 "type" : "integer"
56122987 21465 },
5d9c884c
DM
21466 "iops_rd_max_length" : {
21467 "description" : "Maximum length of read I/O bursts in seconds.",
21468 "format_description" : "seconds",
21469 "minimum" : 1,
21470 "optional" : 1,
21471 "type" : "integer"
21472 },
44660702 21473 "iops_wr" : {
de0983cb 21474 "description" : "Maximum write I/O in operations per second.",
44660702 21475 "format_description" : "iops",
56122987 21476 "optional" : 1,
44660702 21477 "type" : "integer"
56122987 21478 },
de0983cb 21479 "iops_wr_length" : {
5d9c884c 21480 "alias" : "iops_wr_max_length"
de0983cb 21481 },
44660702 21482 "iops_wr_max" : {
de0983cb 21483 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 21484 "format_description" : "iops",
56122987 21485 "optional" : 1,
56122987
DM
21486 "type" : "integer"
21487 },
5d9c884c
DM
21488 "iops_wr_max_length" : {
21489 "description" : "Maximum length of write I/O bursts in seconds.",
21490 "format_description" : "seconds",
21491 "minimum" : 1,
21492 "optional" : 1,
21493 "type" : "integer"
21494 },
44660702
DM
21495 "iothread" : {
21496 "description" : "Whether to use iothreads for this drive",
44660702
DM
21497 "optional" : 1,
21498 "type" : "boolean"
21499 },
21500 "mbps" : {
de0983cb 21501 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
21502 "format_description" : "mbps",
21503 "optional" : 1,
21504 "type" : "number"
21505 },
7aacca6f 21506 "mbps_max" : {
de0983cb 21507 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 21508 "format_description" : "mbps",
56122987 21509 "optional" : 1,
44660702 21510 "type" : "number"
56122987 21511 },
44660702 21512 "mbps_rd" : {
de0983cb 21513 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
21514 "format_description" : "mbps",
21515 "optional" : 1,
21516 "type" : "number"
56122987 21517 },
44660702 21518 "mbps_rd_max" : {
de0983cb 21519 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 21520 "format_description" : "mbps",
56122987 21521 "optional" : 1,
44660702 21522 "type" : "number"
56122987 21523 },
44660702 21524 "mbps_wr" : {
de0983cb 21525 "description" : "Maximum write speed in megabytes per second.",
44660702 21526 "format_description" : "mbps",
56122987 21527 "optional" : 1,
44660702 21528 "type" : "number"
56122987 21529 },
44660702 21530 "mbps_wr_max" : {
de0983cb 21531 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 21532 "format_description" : "mbps",
7aacca6f 21533 "optional" : 1,
44660702 21534 "type" : "number"
56122987 21535 },
7aacca6f 21536 "media" : {
44660702 21537 "default" : "disk",
7aacca6f
DM
21538 "description" : "The drive's media type.",
21539 "enum" : [
21540 "cdrom",
21541 "disk"
21542 ],
56122987 21543 "optional" : 1,
44660702 21544 "type" : "string"
56122987 21545 },
44660702
DM
21546 "queues" : {
21547 "description" : "Number of queues.",
44660702
DM
21548 "minimum" : 2,
21549 "optional" : 1,
21550 "type" : "integer"
56122987 21551 },
5d9c884c
DM
21552 "replicate" : {
21553 "default" : 1,
21554 "description" : "Whether the drive should considered for replication jobs.",
21555 "optional" : 1,
21556 "type" : "boolean"
21557 },
21558 "rerror" : {
21559 "description" : "Read error action.",
21560 "enum" : [
21561 "ignore",
21562 "report",
21563 "stop"
21564 ],
21565 "optional" : 1,
21566 "type" : "string"
21567 },
52e44c50
FG
21568 "scsiblock" : {
21569 "default" : 0,
21570 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
21571 "optional" : 1,
21572 "type" : "boolean"
21573 },
7aacca6f 21574 "secs" : {
7aacca6f 21575 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
21576 "optional" : 1,
21577 "type" : "integer"
21578 },
21579 "serial" : {
21580 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
21581 "format" : "urlencoded",
21582 "format_description" : "serial",
21583 "maxLength" : 60,
21584 "optional" : 1,
21585 "type" : "string"
21586 },
27a7acb2
DM
21587 "shared" : {
21588 "default" : 0,
21589 "description" : "Mark this locally-managed volume as available on all nodes",
21590 "optional" : 1,
21591 "type" : "boolean",
21592 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
21593 },
44660702
DM
21594 "size" : {
21595 "description" : "Disk size. This is purely informational and has no effect.",
21596 "format" : "disk-size",
f004f5b9 21597 "format_description" : "DiskSize",
44660702
DM
21598 "optional" : 1,
21599 "type" : "string"
21600 },
21601 "snapshot" : {
27a7acb2 21602 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
44660702
DM
21603 "optional" : 1,
21604 "type" : "boolean"
21605 },
25203dc1
NC
21606 "ssd" : {
21607 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
21608 "optional" : 1,
21609 "type" : "boolean"
21610 },
44660702
DM
21611 "trans" : {
21612 "description" : "Force disk geometry bios translation mode.",
21613 "enum" : [
21614 "none",
21615 "lba",
21616 "auto"
21617 ],
44660702
DM
21618 "optional" : 1,
21619 "type" : "string"
21620 },
21621 "volume" : {
21622 "alias" : "file"
21623 },
21624 "werror" : {
21625 "description" : "Write error action.",
21626 "enum" : [
21627 "enospc",
21628 "ignore",
21629 "report",
21630 "stop"
21631 ],
44660702
DM
21632 "optional" : 1,
21633 "type" : "string"
95895385
TL
21634 },
21635 "wwn" : {
21636 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
21637 "format_description" : "wwn",
21638 "optional" : 1,
21639 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
21640 "type" : "string"
56122987
DM
21641 }
21642 },
7aacca6f 21643 "optional" : 1,
4bd7df8b 21644 "type" : "string",
95895385 21645 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987 21646 },
44660702
DM
21647 "scsihw" : {
21648 "default" : "lsi",
c2993fe5 21649 "description" : "SCSI controller model",
44660702
DM
21650 "enum" : [
21651 "lsi",
21652 "lsi53c810",
21653 "virtio-scsi-pci",
21654 "virtio-scsi-single",
21655 "megasas",
21656 "pvscsi"
21657 ],
7aacca6f 21658 "optional" : 1,
44660702 21659 "type" : "string"
7aacca6f 21660 },
27a7acb2
DM
21661 "searchdomain" : {
21662 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
21663 "optional" : 1,
21664 "type" : "string",
21665 "typetext" : "<string>"
21666 },
44660702 21667 "serial[n]" : {
c2993fe5 21668 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
21669 "optional" : 1,
21670 "pattern" : "(/dev/.+|socket)",
c2993fe5 21671 "type" : "string",
57b78691 21672 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
21673 },
21674 "shares" : {
21675 "default" : 1000,
5da3d723 21676 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
21677 "maximum" : 50000,
21678 "minimum" : 0,
21679 "optional" : 1,
4bd7df8b 21680 "type" : "integer",
013dc89f 21681 "typetext" : "<integer> (0 - 50000)"
44660702
DM
21682 },
21683 "smbios1" : {
21684 "description" : "Specify SMBIOS type 1 fields.",
21685 "format" : "pve-qm-smbios1",
1e3f8156 21686 "maxLength" : 512,
7aacca6f 21687 "optional" : 1,
4bd7df8b 21688 "type" : "string",
1e3f8156 21689 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
7aacca6f
DM
21690 },
21691 "smp" : {
44660702 21692 "default" : 1,
7aacca6f 21693 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 21694 "minimum" : 1,
56122987 21695 "optional" : 1,
4bd7df8b 21696 "type" : "integer",
013dc89f 21697 "typetext" : "<integer> (1 - N)"
44660702
DM
21698 },
21699 "sockets" : {
7aacca6f 21700 "default" : 1,
44660702
DM
21701 "description" : "The number of CPU sockets.",
21702 "minimum" : 1,
21703 "optional" : 1,
4bd7df8b 21704 "type" : "integer",
013dc89f 21705 "typetext" : "<integer> (1 - N)"
7aacca6f 21706 },
1c532546
TL
21707 "spice_enhancements" : {
21708 "description" : "Configure additional enhancements for SPICE.",
21709 "format" : {
21710 "foldersharing" : {
21711 "default" : "0",
21712 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
21713 "optional" : 1,
21714 "type" : "boolean"
21715 },
21716 "videostreaming" : {
21717 "default" : "off",
21718 "description" : "Enable video streaming. Uses compression for detected video streams.",
21719 "enum" : [
21720 "off",
21721 "all",
21722 "filter"
21723 ],
21724 "optional" : 1,
21725 "type" : "string"
21726 }
21727 },
21728 "optional" : 1,
21729 "type" : "string",
21730 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
21731 },
27a7acb2
DM
21732 "sshkeys" : {
21733 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
21734 "format" : "urlencoded",
21735 "optional" : 1,
21736 "type" : "string",
21737 "typetext" : "<string>"
21738 },
5da3d723
TL
21739 "start" : {
21740 "default" : 0,
21741 "description" : "Start VM after it was created successfully.",
21742 "optional" : 1,
21743 "type" : "boolean",
21744 "typetext" : "<boolean>"
21745 },
44660702
DM
21746 "startdate" : {
21747 "default" : "now",
21748 "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
21749 "optional" : 1,
21750 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
21751 "type" : "string",
21752 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
21753 },
21754 "startup" : {
21755 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
21756 "format" : "pve-startup-order",
21757 "optional" : 1,
21758 "type" : "string",
21759 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
21760 },
21761 "storage" : {
21762 "description" : "Default storage.",
21763 "format" : "pve-storage-id",
7aacca6f 21764 "optional" : 1,
013dc89f
DM
21765 "type" : "string",
21766 "typetext" : "<string>"
56122987 21767 },
44660702
DM
21768 "tablet" : {
21769 "default" : 1,
c2993fe5 21770 "description" : "Enable/disable the USB tablet device.",
56122987 21771 "optional" : 1,
c2993fe5 21772 "type" : "boolean",
013dc89f 21773 "typetext" : "<boolean>",
c2993fe5 21774 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
44660702 21775 },
5c1699e5
TL
21776 "tags" : {
21777 "description" : "Tags of the VM. This is only meta information.",
21778 "format" : "pve-tag-list",
21779 "optional" : 1,
21780 "type" : "string",
21781 "typetext" : "<string>"
21782 },
44660702
DM
21783 "tdf" : {
21784 "default" : 0,
21785 "description" : "Enable/disable time drift fix.",
21786 "optional" : 1,
013dc89f
DM
21787 "type" : "boolean",
21788 "typetext" : "<boolean>"
7aacca6f
DM
21789 },
21790 "template" : {
7aacca6f 21791 "default" : 0,
44660702 21792 "description" : "Enable/disable Template.",
7aacca6f 21793 "optional" : 1,
013dc89f
DM
21794 "type" : "boolean",
21795 "typetext" : "<boolean>"
7aacca6f 21796 },
44660702
DM
21797 "unique" : {
21798 "description" : "Assign a unique random ethernet address.",
7aacca6f 21799 "optional" : 1,
44660702 21800 "requires" : "archive",
013dc89f
DM
21801 "type" : "boolean",
21802 "typetext" : "<boolean>"
56122987 21803 },
44660702 21804 "unused[n]" : {
c2993fe5 21805 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
21806 "format" : {
21807 "file" : {
21808 "default_key" : 1,
21809 "description" : "The drive's backing volume.",
21810 "format" : "pve-volume-id",
21811 "format_description" : "volume",
21812 "type" : "string"
21813 },
21814 "volume" : {
21815 "alias" : "file"
21816 }
21817 },
7aacca6f 21818 "optional" : 1,
013dc89f 21819 "type" : "string",
c5aa7e14 21820 "typetext" : "[file=]<volume>"
44660702
DM
21821 },
21822 "usb[n]" : {
c2993fe5 21823 "description" : "Configure an USB device (n is 0 to 4).",
56122987 21824 "format" : {
7aacca6f
DM
21825 "host" : {
21826 "default_key" : 1,
c2993fe5 21827 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
7aacca6f 21828 "format" : "pve-qm-usb-device",
44660702
DM
21829 "format_description" : "HOSTUSBDEVICE|spice",
21830 "type" : "string"
7aacca6f 21831 },
56122987 21832 "usb3" : {
c2993fe5 21833 "default" : 0,
1c532546 21834 "description" : "Specifies whether if given host option is a USB3 device or port.",
56122987 21835 "optional" : 1,
56122987 21836 "type" : "boolean"
7aacca6f 21837 }
56122987 21838 },
56122987 21839 "optional" : 1,
4bd7df8b
DM
21840 "type" : "string",
21841 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 21842 },
44660702
DM
21843 "vcpus" : {
21844 "default" : 0,
21845 "description" : "Number of hotplugged vcpus.",
21846 "minimum" : 1,
56122987 21847 "optional" : 1,
4bd7df8b 21848 "type" : "integer",
013dc89f 21849 "typetext" : "<integer> (1 - N)"
7aacca6f 21850 },
44660702 21851 "vga" : {
e2d681b3
TL
21852 "description" : "Configure the VGA hardware.",
21853 "format" : {
21854 "memory" : {
21855 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
21856 "maximum" : 512,
21857 "minimum" : 4,
21858 "optional" : 1,
21859 "type" : "integer"
21860 },
21861 "type" : {
21862 "default" : "std",
21863 "default_key" : 1,
21864 "description" : "Select the VGA type.",
21865 "enum" : [
21866 "cirrus",
21867 "qxl",
21868 "qxl2",
21869 "qxl3",
21870 "qxl4",
5f26e15b 21871 "none",
e2d681b3
TL
21872 "serial0",
21873 "serial1",
21874 "serial2",
21875 "serial3",
21876 "std",
21877 "virtio",
21878 "vmware"
21879 ],
21880 "optional" : 1,
21881 "type" : "string"
21882 }
21883 },
44660702 21884 "optional" : 1,
c2993fe5 21885 "type" : "string",
e2d681b3
TL
21886 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
21887 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 21888 },
44660702
DM
21889 "virtio[n]" : {
21890 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
21891 "format" : {
21892 "aio" : {
21893 "description" : "AIO type to use.",
21894 "enum" : [
21895 "native",
21896 "threads"
21897 ],
44660702
DM
21898 "optional" : 1,
21899 "type" : "string"
21900 },
21901 "backup" : {
21902 "description" : "Whether the drive should be included when making backups.",
44660702
DM
21903 "optional" : 1,
21904 "type" : "boolean"
21905 },
21906 "bps" : {
de0983cb 21907 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
21908 "format_description" : "bps",
21909 "optional" : 1,
21910 "type" : "integer"
21911 },
de0983cb
DM
21912 "bps_max_length" : {
21913 "description" : "Maximum length of I/O bursts in seconds.",
21914 "format_description" : "seconds",
21915 "minimum" : 1,
21916 "optional" : 1,
21917 "type" : "integer"
21918 },
44660702 21919 "bps_rd" : {
de0983cb 21920 "description" : "Maximum read speed in bytes per second.",
44660702
DM
21921 "format_description" : "bps",
21922 "optional" : 1,
21923 "type" : "integer"
21924 },
de0983cb 21925 "bps_rd_length" : {
5d9c884c
DM
21926 "alias" : "bps_rd_max_length"
21927 },
21928 "bps_rd_max_length" : {
de0983cb
DM
21929 "description" : "Maximum length of read I/O bursts in seconds.",
21930 "format_description" : "seconds",
21931 "minimum" : 1,
21932 "optional" : 1,
21933 "type" : "integer"
21934 },
44660702 21935 "bps_wr" : {
de0983cb 21936 "description" : "Maximum write speed in bytes per second.",
44660702
DM
21937 "format_description" : "bps",
21938 "optional" : 1,
21939 "type" : "integer"
21940 },
de0983cb 21941 "bps_wr_length" : {
5d9c884c
DM
21942 "alias" : "bps_wr_max_length"
21943 },
21944 "bps_wr_max_length" : {
de0983cb
DM
21945 "description" : "Maximum length of write I/O bursts in seconds.",
21946 "format_description" : "seconds",
21947 "minimum" : 1,
21948 "optional" : 1,
21949 "type" : "integer"
21950 },
44660702
DM
21951 "cache" : {
21952 "description" : "The drive's cache mode",
21953 "enum" : [
21954 "none",
21955 "writethrough",
21956 "writeback",
21957 "unsafe",
21958 "directsync"
21959 ],
44660702
DM
21960 "optional" : 1,
21961 "type" : "string"
21962 },
21963 "cyls" : {
21964 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
21965 "optional" : 1,
21966 "type" : "integer"
21967 },
21968 "detect_zeroes" : {
21969 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
21970 "optional" : 1,
21971 "type" : "boolean"
21972 },
21973 "discard" : {
21974 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
21975 "enum" : [
21976 "ignore",
21977 "on"
21978 ],
44660702
DM
21979 "optional" : 1,
21980 "type" : "string"
21981 },
21982 "file" : {
21983 "default_key" : 1,
21984 "description" : "The drive's backing volume.",
21985 "format" : "pve-volume-id-or-qm-path",
21986 "format_description" : "volume",
21987 "type" : "string"
21988 },
21989 "format" : {
21990 "description" : "The drive's backing file's data format.",
21991 "enum" : [
21992 "raw",
21993 "cow",
21994 "qcow",
21995 "qed",
21996 "qcow2",
21997 "vmdk",
21998 "cloop"
21999 ],
44660702
DM
22000 "optional" : 1,
22001 "type" : "string"
22002 },
22003 "heads" : {
22004 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
22005 "optional" : 1,
22006 "type" : "integer"
22007 },
22008 "iops" : {
de0983cb 22009 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
22010 "format_description" : "iops",
22011 "optional" : 1,
22012 "type" : "integer"
22013 },
22014 "iops_max" : {
de0983cb 22015 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
22016 "format_description" : "iops",
22017 "optional" : 1,
22018 "type" : "integer"
22019 },
de0983cb
DM
22020 "iops_max_length" : {
22021 "description" : "Maximum length of I/O bursts in seconds.",
22022 "format_description" : "seconds",
22023 "minimum" : 1,
22024 "optional" : 1,
22025 "type" : "integer"
22026 },
44660702 22027 "iops_rd" : {
de0983cb 22028 "description" : "Maximum read I/O in operations per second.",
44660702
DM
22029 "format_description" : "iops",
22030 "optional" : 1,
22031 "type" : "integer"
22032 },
de0983cb 22033 "iops_rd_length" : {
5d9c884c 22034 "alias" : "iops_rd_max_length"
de0983cb 22035 },
44660702 22036 "iops_rd_max" : {
de0983cb 22037 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
22038 "format_description" : "iops",
22039 "optional" : 1,
22040 "type" : "integer"
22041 },
5d9c884c
DM
22042 "iops_rd_max_length" : {
22043 "description" : "Maximum length of read I/O bursts in seconds.",
22044 "format_description" : "seconds",
22045 "minimum" : 1,
22046 "optional" : 1,
22047 "type" : "integer"
22048 },
44660702 22049 "iops_wr" : {
de0983cb 22050 "description" : "Maximum write I/O in operations per second.",
44660702
DM
22051 "format_description" : "iops",
22052 "optional" : 1,
22053 "type" : "integer"
22054 },
de0983cb 22055 "iops_wr_length" : {
5d9c884c 22056 "alias" : "iops_wr_max_length"
de0983cb 22057 },
44660702 22058 "iops_wr_max" : {
de0983cb 22059 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
22060 "format_description" : "iops",
22061 "optional" : 1,
22062 "type" : "integer"
22063 },
5d9c884c
DM
22064 "iops_wr_max_length" : {
22065 "description" : "Maximum length of write I/O bursts in seconds.",
22066 "format_description" : "seconds",
22067 "minimum" : 1,
22068 "optional" : 1,
22069 "type" : "integer"
22070 },
44660702
DM
22071 "iothread" : {
22072 "description" : "Whether to use iothreads for this drive",
44660702
DM
22073 "optional" : 1,
22074 "type" : "boolean"
22075 },
22076 "mbps" : {
de0983cb 22077 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
22078 "format_description" : "mbps",
22079 "optional" : 1,
22080 "type" : "number"
22081 },
22082 "mbps_max" : {
de0983cb 22083 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
22084 "format_description" : "mbps",
22085 "optional" : 1,
22086 "type" : "number"
22087 },
22088 "mbps_rd" : {
de0983cb 22089 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
22090 "format_description" : "mbps",
22091 "optional" : 1,
22092 "type" : "number"
22093 },
22094 "mbps_rd_max" : {
de0983cb 22095 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
22096 "format_description" : "mbps",
22097 "optional" : 1,
22098 "type" : "number"
22099 },
22100 "mbps_wr" : {
de0983cb 22101 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
22102 "format_description" : "mbps",
22103 "optional" : 1,
22104 "type" : "number"
22105 },
22106 "mbps_wr_max" : {
de0983cb 22107 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
22108 "format_description" : "mbps",
22109 "optional" : 1,
22110 "type" : "number"
22111 },
22112 "media" : {
22113 "default" : "disk",
22114 "description" : "The drive's media type.",
22115 "enum" : [
22116 "cdrom",
22117 "disk"
22118 ],
44660702
DM
22119 "optional" : 1,
22120 "type" : "string"
22121 },
5d9c884c
DM
22122 "replicate" : {
22123 "default" : 1,
22124 "description" : "Whether the drive should considered for replication jobs.",
22125 "optional" : 1,
22126 "type" : "boolean"
22127 },
44660702
DM
22128 "rerror" : {
22129 "description" : "Read error action.",
22130 "enum" : [
22131 "ignore",
22132 "report",
22133 "stop"
22134 ],
44660702
DM
22135 "optional" : 1,
22136 "type" : "string"
22137 },
22138 "secs" : {
22139 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
22140 "optional" : 1,
22141 "type" : "integer"
22142 },
22143 "serial" : {
22144 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
22145 "format" : "urlencoded",
22146 "format_description" : "serial",
22147 "maxLength" : 60,
22148 "optional" : 1,
22149 "type" : "string"
22150 },
27a7acb2
DM
22151 "shared" : {
22152 "default" : 0,
22153 "description" : "Mark this locally-managed volume as available on all nodes",
22154 "optional" : 1,
22155 "type" : "boolean",
22156 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
22157 },
44660702
DM
22158 "size" : {
22159 "description" : "Disk size. This is purely informational and has no effect.",
22160 "format" : "disk-size",
f004f5b9 22161 "format_description" : "DiskSize",
44660702
DM
22162 "optional" : 1,
22163 "type" : "string"
22164 },
22165 "snapshot" : {
27a7acb2 22166 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
44660702
DM
22167 "optional" : 1,
22168 "type" : "boolean"
22169 },
22170 "trans" : {
22171 "description" : "Force disk geometry bios translation mode.",
22172 "enum" : [
22173 "none",
22174 "lba",
22175 "auto"
22176 ],
44660702
DM
22177 "optional" : 1,
22178 "type" : "string"
22179 },
22180 "volume" : {
22181 "alias" : "file"
22182 },
22183 "werror" : {
22184 "description" : "Write error action.",
22185 "enum" : [
22186 "enospc",
22187 "ignore",
22188 "report",
22189 "stop"
22190 ],
44660702
DM
22191 "optional" : 1,
22192 "type" : "string"
22193 }
22194 },
22195 "optional" : 1,
4bd7df8b 22196 "type" : "string",
27a7acb2 22197 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 22198 },
4d47f125
TL
22199 "vmgenid" : {
22200 "default" : "1 (autogenerated)",
22201 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
22202 "format_description" : "UUID",
22203 "optional" : 1,
22204 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
22205 "type" : "string",
22206 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
22207 },
44660702
DM
22208 "vmid" : {
22209 "description" : "The (unique) ID of the VM.",
22210 "format" : "pve-vmid",
22211 "minimum" : 1,
4bd7df8b 22212 "type" : "integer",
013dc89f 22213 "typetext" : "<integer> (1 - N)"
44660702 22214 },
2489d6df
WB
22215 "vmstatestorage" : {
22216 "description" : "Default storage for VM state volumes/files.",
22217 "format" : "pve-storage-id",
22218 "optional" : 1,
22219 "type" : "string",
22220 "typetext" : "<string>"
22221 },
44660702 22222 "watchdog" : {
c2993fe5 22223 "description" : "Create a virtual hardware watchdog device.",
44660702 22224 "format" : "pve-qm-watchdog",
7aacca6f 22225 "optional" : 1,
c2993fe5 22226 "type" : "string",
013dc89f 22227 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 22228 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
56122987 22229 }
44660702 22230 }
56122987 22231 },
56122987 22232 "permissions" : {
44660702
DM
22233 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid} or on the VM pool /pool/{pool}. For restore (option 'archive'), it is enough if the user has 'VM.Backup' permission and the VM already exists. If you create disks you need 'Datastore.AllocateSpace' on any used storage.",
22234 "user" : "all"
56122987 22235 },
44660702
DM
22236 "protected" : 1,
22237 "proxyto" : "node",
56122987 22238 "returns" : {
44660702 22239 "type" : "string"
7aacca6f 22240 }
56122987 22241 }
7aacca6f 22242 },
44660702 22243 "leaf" : 0,
7aacca6f 22244 "path" : "/nodes/{node}/qemu",
44660702 22245 "text" : "qemu"
56122987 22246 },
ac70d7d1
TL
22247 {
22248 "info" : {
22249 "GET" : {
22250 "allowtoken" : 1,
22251 "description" : "List all custom and default CPU models.",
22252 "method" : "GET",
22253 "name" : "index",
22254 "parameters" : {
22255 "additionalProperties" : 0,
22256 "properties" : {
22257 "node" : {
22258 "description" : "The cluster node name.",
22259 "format" : "pve-node",
22260 "type" : "string",
22261 "typetext" : "<string>"
22262 }
22263 }
22264 },
22265 "permissions" : {
22266 "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
22267 "user" : "all"
22268 },
22269 "returns" : {
22270 "items" : {
22271 "properties" : {
22272 "custom" : {
22273 "description" : "True if this is a custom CPU model.",
22274 "type" : "boolean"
22275 },
22276 "name" : {
22277 "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
22278 "type" : "string"
22279 },
22280 "vendor" : {
22281 "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
22282 "type" : "string"
22283 }
22284 },
22285 "type" : "object"
22286 },
22287 "links" : [
22288 {
22289 "href" : "{name}",
22290 "rel" : "child"
22291 }
22292 ],
22293 "type" : "array"
22294 }
22295 }
22296 },
22297 "leaf" : 1,
22298 "path" : "/nodes/{node}/cpu",
22299 "text" : "cpu"
22300 },
56122987
DM
22301 {
22302 "children" : [
22303 {
56122987
DM
22304 "children" : [
22305 {
56122987 22306 "info" : {
44660702 22307 "GET" : {
e9cd3bd4 22308 "allowtoken" : 1,
44660702
DM
22309 "description" : "Get container configuration.",
22310 "method" : "GET",
22311 "name" : "vm_config",
22312 "parameters" : {
22313 "additionalProperties" : 0,
22314 "properties" : {
1c532546
TL
22315 "current" : {
22316 "default" : 0,
22317 "description" : "Get current values (instead of pending values).",
22318 "optional" : 1,
22319 "type" : "boolean",
22320 "typetext" : "<boolean>"
22321 },
44660702
DM
22322 "node" : {
22323 "description" : "The cluster node name.",
22324 "format" : "pve-node",
013dc89f 22325 "type" : "string",
4d47f125
TL
22326 "typetext" : "<string>"
22327 },
5f26e15b
TL
22328 "snapshot" : {
22329 "description" : "Fetch config values from given snapshot.",
22330 "format" : "pve-configid",
22331 "maxLength" : 40,
22332 "optional" : 1,
22333 "type" : "string",
22334 "typetext" : "<string>"
22335 },
4d47f125
TL
22336 "vmid" : {
22337 "description" : "The (unique) ID of the VM.",
22338 "format" : "pve-vmid",
22339 "minimum" : 1,
22340 "type" : "integer",
22341 "typetext" : "<integer> (1 - N)"
22342 }
22343 }
22344 },
22345 "permissions" : {
22346 "check" : [
22347 "perm",
22348 "/vms/{vmid}",
22349 [
22350 "VM.Audit"
22351 ]
22352 ]
22353 },
22354 "proxyto" : "node",
22355 "returns" : {
22356 "properties" : {
22357 "arch" : {
22358 "default" : "amd64",
22359 "description" : "OS architecture type.",
22360 "enum" : [
22361 "amd64",
22362 "i386",
22363 "arm64",
22364 "armhf"
22365 ],
22366 "optional" : 1,
22367 "type" : "string"
22368 },
22369 "cmode" : {
22370 "default" : "tty",
22371 "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
22372 "enum" : [
22373 "shell",
22374 "console",
22375 "tty"
22376 ],
22377 "optional" : 1,
22378 "type" : "string"
22379 },
22380 "console" : {
22381 "default" : 1,
22382 "description" : "Attach a console device (/dev/console) to the container.",
22383 "optional" : 1,
22384 "type" : "boolean"
22385 },
22386 "cores" : {
22387 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
22388 "maximum" : 128,
22389 "minimum" : 1,
22390 "optional" : 1,
22391 "type" : "integer"
22392 },
22393 "cpulimit" : {
22394 "default" : 0,
22395 "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
22396 "maximum" : 128,
22397 "minimum" : 0,
22398 "optional" : 1,
22399 "type" : "number"
22400 },
22401 "cpuunits" : {
22402 "default" : 1024,
22403 "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
22404 "maximum" : 500000,
22405 "minimum" : 0,
22406 "optional" : 1,
22407 "type" : "integer"
22408 },
739d4d64
TL
22409 "debug" : {
22410 "default" : 0,
22411 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
22412 "optional" : 1,
22413 "type" : "boolean"
22414 },
4d47f125
TL
22415 "description" : {
22416 "description" : "Container description. Only used on the configuration web interface.",
22417 "optional" : 1,
22418 "type" : "string"
22419 },
22420 "digest" : {
22421 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
22422 "type" : "string"
22423 },
22424 "features" : {
22425 "description" : "Allow containers access to advanced features.",
22426 "format" : {
c5aa7e14
TL
22427 "force_rw_sys" : {
22428 "default" : 0,
22429 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
22430 "optional" : 1,
22431 "type" : "boolean"
22432 },
e2d681b3
TL
22433 "fuse" : {
22434 "default" : 0,
22435 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
22436 "optional" : 1,
22437 "type" : "boolean"
22438 },
4d47f125
TL
22439 "keyctl" : {
22440 "default" : 0,
22441 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
22442 "optional" : 1,
22443 "type" : "boolean"
22444 },
c5aa7e14
TL
22445 "mknod" : {
22446 "default" : 0,
22447 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
22448 "optional" : 1,
22449 "type" : "boolean"
22450 },
4d47f125
TL
22451 "mount" : {
22452 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
22453 "format_description" : "fstype;fstype;...",
22454 "optional" : 1,
95895385 22455 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
22456 "type" : "string"
22457 },
22458 "nesting" : {
22459 "default" : 0,
22460 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
22461 "optional" : 1,
22462 "type" : "boolean"
22463 }
22464 },
22465 "optional" : 1,
22466 "type" : "string"
22467 },
5f26e15b
TL
22468 "hookscript" : {
22469 "description" : "Script that will be exectued during various steps in the containers lifetime.",
22470 "format" : "pve-volume-id",
22471 "optional" : 1,
22472 "type" : "string"
22473 },
4d47f125
TL
22474 "hostname" : {
22475 "description" : "Set a host name for the container.",
22476 "format" : "dns-name",
22477 "maxLength" : 255,
22478 "optional" : 1,
22479 "type" : "string"
22480 },
22481 "lock" : {
22482 "description" : "Lock/unlock the VM.",
22483 "enum" : [
22484 "backup",
bb4c8cf8 22485 "create",
1c532546 22486 "destroyed",
4d47f125 22487 "disk",
bb4c8cf8 22488 "fstrim",
4d47f125
TL
22489 "migrate",
22490 "mounted",
22491 "rollback",
22492 "snapshot",
22493 "snapshot-delete"
22494 ],
22495 "optional" : 1,
22496 "type" : "string"
22497 },
22498 "lxc" : {
22499 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
22500 "items" : {
22501 "items" : {
22502 "type" : "string"
22503 },
22504 "type" : "array"
22505 },
22506 "optional" : 1,
22507 "type" : "array"
22508 },
22509 "memory" : {
22510 "default" : 512,
22511 "description" : "Amount of RAM for the VM in MB.",
22512 "minimum" : 16,
22513 "optional" : 1,
22514 "type" : "integer"
22515 },
22516 "mp[n]" : {
22517 "description" : "Use volume as container mount point.",
22518 "format" : {
22519 "acl" : {
22520 "description" : "Explicitly enable or disable ACL support.",
22521 "optional" : 1,
22522 "type" : "boolean"
22523 },
22524 "backup" : {
22525 "description" : "Whether to include the mount point in backups.",
22526 "optional" : 1,
22527 "type" : "boolean",
22528 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
22529 },
7cbed89a
TL
22530 "mountoptions" : {
22531 "description" : "Extra mount options for rootfs/mps.",
22532 "format_description" : "opt[;opt...]",
22533 "optional" : 1,
22534 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
22535 "type" : "string"
22536 },
4d47f125
TL
22537 "mp" : {
22538 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
22539 "format" : "pve-lxc-mp-string",
22540 "format_description" : "Path",
22541 "type" : "string",
22542 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
22543 },
22544 "quota" : {
22545 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
22546 "optional" : 1,
22547 "type" : "boolean"
22548 },
22549 "replicate" : {
22550 "default" : 1,
22551 "description" : "Will include this volume to a storage replica job.",
22552 "optional" : 1,
22553 "type" : "boolean"
22554 },
22555 "ro" : {
22556 "description" : "Read-only mount point",
22557 "optional" : 1,
22558 "type" : "boolean"
22559 },
22560 "shared" : {
22561 "default" : 0,
22562 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
22563 "optional" : 1,
22564 "type" : "boolean",
22565 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
22566 },
22567 "size" : {
22568 "description" : "Volume size (read only value).",
22569 "format" : "disk-size",
22570 "format_description" : "DiskSize",
22571 "optional" : 1,
22572 "type" : "string"
22573 },
22574 "volume" : {
22575 "default_key" : 1,
22576 "description" : "Volume, device or directory to mount into the container.",
22577 "format" : "pve-lxc-mp-string",
22578 "format_description" : "volume",
22579 "type" : "string"
22580 }
22581 },
22582 "optional" : 1,
22583 "type" : "string"
22584 },
22585 "nameserver" : {
22586 "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
22587 "format" : "address-list",
22588 "optional" : 1,
22589 "type" : "string"
22590 },
22591 "net[n]" : {
22592 "description" : "Specifies network interfaces for the container.",
22593 "format" : {
22594 "bridge" : {
22595 "description" : "Bridge to attach the network device to.",
22596 "format_description" : "bridge",
22597 "optional" : 1,
22598 "pattern" : "[-_.\\w\\d]+",
22599 "type" : "string"
22600 },
22601 "firewall" : {
22602 "description" : "Controls whether this interface's firewall rules should be used.",
22603 "optional" : 1,
22604 "type" : "boolean"
22605 },
22606 "gw" : {
22607 "description" : "Default gateway for IPv4 traffic.",
22608 "format" : "ipv4",
22609 "format_description" : "GatewayIPv4",
22610 "optional" : 1,
22611 "type" : "string"
22612 },
22613 "gw6" : {
22614 "description" : "Default gateway for IPv6 traffic.",
22615 "format" : "ipv6",
22616 "format_description" : "GatewayIPv6",
22617 "optional" : 1,
22618 "type" : "string"
22619 },
22620 "hwaddr" : {
22621 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 22622 "format" : "mac-addr",
4d47f125
TL
22623 "format_description" : "XX:XX:XX:XX:XX:XX",
22624 "optional" : 1,
95895385
TL
22625 "type" : "string",
22626 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
22627 },
22628 "ip" : {
22629 "description" : "IPv4 address in CIDR format.",
22630 "format" : "pve-ipv4-config",
22631 "format_description" : "(IPv4/CIDR|dhcp|manual)",
22632 "optional" : 1,
22633 "type" : "string"
22634 },
22635 "ip6" : {
22636 "description" : "IPv6 address in CIDR format.",
22637 "format" : "pve-ipv6-config",
22638 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
22639 "optional" : 1,
22640 "type" : "string"
22641 },
22642 "mtu" : {
22643 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
22644 "minimum" : 64,
22645 "optional" : 1,
22646 "type" : "integer"
22647 },
22648 "name" : {
22649 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
22650 "format_description" : "string",
22651 "pattern" : "[-_.\\w\\d]+",
22652 "type" : "string"
22653 },
22654 "rate" : {
22655 "description" : "Apply rate limiting to the interface",
22656 "format_description" : "mbps",
22657 "optional" : 1,
22658 "type" : "number"
22659 },
22660 "tag" : {
22661 "description" : "VLAN tag for this interface.",
22662 "maximum" : 4094,
22663 "minimum" : 1,
22664 "optional" : 1,
22665 "type" : "integer"
22666 },
22667 "trunks" : {
22668 "description" : "VLAN ids to pass through the interface",
22669 "format_description" : "vlanid[;vlanid...]",
22670 "optional" : 1,
22671 "pattern" : "(?^:\\d+(?:;\\d+)*)",
22672 "type" : "string"
22673 },
22674 "type" : {
22675 "description" : "Network interface type.",
22676 "enum" : [
22677 "veth"
22678 ],
22679 "optional" : 1,
22680 "type" : "string"
22681 }
22682 },
22683 "optional" : 1,
22684 "type" : "string"
22685 },
22686 "onboot" : {
22687 "default" : 0,
22688 "description" : "Specifies whether a VM will be started during system bootup.",
22689 "optional" : 1,
22690 "type" : "boolean"
22691 },
22692 "ostype" : {
22693 "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
22694 "enum" : [
22695 "debian",
22696 "ubuntu",
22697 "centos",
22698 "fedora",
22699 "opensuse",
22700 "archlinux",
22701 "alpine",
22702 "gentoo",
22703 "unmanaged"
22704 ],
22705 "optional" : 1,
22706 "type" : "string"
22707 },
22708 "protection" : {
22709 "default" : 0,
22710 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
22711 "optional" : 1,
22712 "type" : "boolean"
22713 },
22714 "rootfs" : {
22715 "description" : "Use volume as container root.",
22716 "format" : {
22717 "acl" : {
22718 "description" : "Explicitly enable or disable ACL support.",
22719 "optional" : 1,
22720 "type" : "boolean"
22721 },
7cbed89a
TL
22722 "mountoptions" : {
22723 "description" : "Extra mount options for rootfs/mps.",
22724 "format_description" : "opt[;opt...]",
22725 "optional" : 1,
22726 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
22727 "type" : "string"
22728 },
4d47f125
TL
22729 "quota" : {
22730 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
22731 "optional" : 1,
22732 "type" : "boolean"
22733 },
22734 "replicate" : {
22735 "default" : 1,
22736 "description" : "Will include this volume to a storage replica job.",
22737 "optional" : 1,
22738 "type" : "boolean"
22739 },
22740 "ro" : {
22741 "description" : "Read-only mount point",
22742 "optional" : 1,
22743 "type" : "boolean"
22744 },
22745 "shared" : {
22746 "default" : 0,
22747 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
22748 "optional" : 1,
22749 "type" : "boolean",
22750 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
22751 },
22752 "size" : {
22753 "description" : "Volume size (read only value).",
22754 "format" : "disk-size",
22755 "format_description" : "DiskSize",
22756 "optional" : 1,
22757 "type" : "string"
22758 },
22759 "volume" : {
22760 "default_key" : 1,
22761 "description" : "Volume, device or directory to mount into the container.",
22762 "format" : "pve-lxc-mp-string",
22763 "format_description" : "volume",
22764 "type" : "string"
22765 }
22766 },
22767 "optional" : 1,
22768 "type" : "string"
22769 },
22770 "searchdomain" : {
22771 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
22772 "format" : "dns-name-list",
22773 "optional" : 1,
22774 "type" : "string"
22775 },
22776 "startup" : {
22777 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
22778 "format" : "pve-startup-order",
22779 "optional" : 1,
22780 "type" : "string",
22781 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
22782 },
22783 "swap" : {
22784 "default" : 512,
22785 "description" : "Amount of SWAP for the VM in MB.",
22786 "minimum" : 0,
22787 "optional" : 1,
22788 "type" : "integer"
22789 },
5c1699e5
TL
22790 "tags" : {
22791 "description" : "Tags of the Container. This is only meta information.",
22792 "format" : "pve-tag-list",
22793 "optional" : 1,
22794 "type" : "string"
22795 },
4d47f125
TL
22796 "template" : {
22797 "default" : 0,
22798 "description" : "Enable/disable Template.",
22799 "optional" : 1,
22800 "type" : "boolean"
44660702 22801 },
04d22a9f
TL
22802 "timezone" : {
22803 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
22804 "format" : "pve-ct-timezone",
22805 "optional" : 1,
22806 "type" : "string"
22807 },
4d47f125
TL
22808 "tty" : {
22809 "default" : 2,
22810 "description" : "Specify the number of tty available to the container",
22811 "maximum" : 6,
22812 "minimum" : 0,
22813 "optional" : 1,
22814 "type" : "integer"
22815 },
22816 "unprivileged" : {
22817 "default" : 0,
22818 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
22819 "optional" : 1,
22820 "type" : "boolean"
22821 },
22822 "unused[n]" : {
22823 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
22824 "format" : {
22825 "volume" : {
22826 "default_key" : 1,
22827 "description" : "The volume that is not used currently.",
22828 "format" : "pve-volume-id",
22829 "format_description" : "volume",
22830 "type" : "string"
22831 }
22832 },
4d47f125 22833 "optional" : 1,
44660702
DM
22834 "type" : "string"
22835 }
22836 },
22837 "type" : "object"
22838 }
22839 },
56122987 22840 "PUT" : {
e9cd3bd4 22841 "allowtoken" : 1,
44660702
DM
22842 "description" : "Set container options.",
22843 "method" : "PUT",
22844 "name" : "update_vm",
56122987 22845 "parameters" : {
44660702 22846 "additionalProperties" : 0,
56122987 22847 "properties" : {
44660702
DM
22848 "arch" : {
22849 "default" : "amd64",
22850 "description" : "OS architecture type.",
22851 "enum" : [
22852 "amd64",
4d47f125
TL
22853 "i386",
22854 "arm64",
22855 "armhf"
44660702 22856 ],
7aacca6f 22857 "optional" : 1,
44660702
DM
22858 "type" : "string"
22859 },
22860 "cmode" : {
7aacca6f 22861 "default" : "tty",
44660702 22862 "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
7aacca6f
DM
22863 "enum" : [
22864 "shell",
22865 "console",
22866 "tty"
22867 ],
44660702
DM
22868 "optional" : 1,
22869 "type" : "string"
7aacca6f 22870 },
44660702
DM
22871 "console" : {
22872 "default" : 1,
22873 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 22874 "optional" : 1,
013dc89f
DM
22875 "type" : "boolean",
22876 "typetext" : "<boolean>"
7aacca6f 22877 },
de0983cb
DM
22878 "cores" : {
22879 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
22880 "maximum" : 128,
22881 "minimum" : 1,
22882 "optional" : 1,
22883 "type" : "integer",
013dc89f 22884 "typetext" : "<integer> (1 - 128)"
de0983cb 22885 },
44660702
DM
22886 "cpulimit" : {
22887 "default" : 0,
22888 "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
22889 "maximum" : 128,
7aacca6f 22890 "minimum" : 0,
7aacca6f 22891 "optional" : 1,
4bd7df8b 22892 "type" : "number",
013dc89f 22893 "typetext" : "<number> (0 - 128)"
7aacca6f 22894 },
44660702
DM
22895 "cpuunits" : {
22896 "default" : 1024,
22897 "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
22898 "maximum" : 500000,
22899 "minimum" : 0,
22900 "optional" : 1,
4bd7df8b 22901 "type" : "integer",
013dc89f 22902 "typetext" : "<integer> (0 - 500000)"
7aacca6f 22903 },
739d4d64
TL
22904 "debug" : {
22905 "default" : 0,
22906 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
22907 "optional" : 1,
22908 "type" : "boolean",
22909 "typetext" : "<boolean>"
22910 },
44660702
DM
22911 "delete" : {
22912 "description" : "A list of settings you want to delete.",
22913 "format" : "pve-configid-list",
7aacca6f 22914 "optional" : 1,
013dc89f
DM
22915 "type" : "string",
22916 "typetext" : "<string>"
7aacca6f 22917 },
44660702
DM
22918 "description" : {
22919 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 22920 "optional" : 1,
013dc89f
DM
22921 "type" : "string",
22922 "typetext" : "<string>"
7aacca6f 22923 },
44660702
DM
22924 "digest" : {
22925 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22926 "maxLength" : 40,
7aacca6f 22927 "optional" : 1,
013dc89f
DM
22928 "type" : "string",
22929 "typetext" : "<string>"
7aacca6f 22930 },
4d47f125
TL
22931 "features" : {
22932 "description" : "Allow containers access to advanced features.",
22933 "format" : {
c5aa7e14
TL
22934 "force_rw_sys" : {
22935 "default" : 0,
22936 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
22937 "optional" : 1,
22938 "type" : "boolean"
22939 },
e2d681b3
TL
22940 "fuse" : {
22941 "default" : 0,
22942 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
22943 "optional" : 1,
22944 "type" : "boolean"
22945 },
4d47f125
TL
22946 "keyctl" : {
22947 "default" : 0,
22948 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
22949 "optional" : 1,
22950 "type" : "boolean"
22951 },
c5aa7e14
TL
22952 "mknod" : {
22953 "default" : 0,
22954 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
22955 "optional" : 1,
22956 "type" : "boolean"
22957 },
4d47f125
TL
22958 "mount" : {
22959 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
22960 "format_description" : "fstype;fstype;...",
22961 "optional" : 1,
95895385 22962 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
22963 "type" : "string"
22964 },
22965 "nesting" : {
22966 "default" : 0,
22967 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
22968 "optional" : 1,
22969 "type" : "boolean"
22970 }
22971 },
22972 "optional" : 1,
22973 "type" : "string",
c5aa7e14 22974 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 22975 },
5f26e15b
TL
22976 "hookscript" : {
22977 "description" : "Script that will be exectued during various steps in the containers lifetime.",
22978 "format" : "pve-volume-id",
22979 "optional" : 1,
22980 "type" : "string",
22981 "typetext" : "<string>"
22982 },
44660702
DM
22983 "hostname" : {
22984 "description" : "Set a host name for the container.",
22985 "format" : "dns-name",
22986 "maxLength" : 255,
56122987 22987 "optional" : 1,
013dc89f
DM
22988 "type" : "string",
22989 "typetext" : "<string>"
44660702
DM
22990 },
22991 "lock" : {
22992 "description" : "Lock/unlock the VM.",
22993 "enum" : [
44660702 22994 "backup",
bb4c8cf8 22995 "create",
1c532546 22996 "destroyed",
4d47f125 22997 "disk",
bb4c8cf8 22998 "fstrim",
4d47f125
TL
22999 "migrate",
23000 "mounted",
23001 "rollback",
44660702 23002 "snapshot",
4d47f125 23003 "snapshot-delete"
44660702
DM
23004 ],
23005 "optional" : 1,
23006 "type" : "string"
23007 },
23008 "memory" : {
23009 "default" : 512,
23010 "description" : "Amount of RAM for the VM in MB.",
23011 "minimum" : 16,
23012 "optional" : 1,
4bd7df8b 23013 "type" : "integer",
013dc89f 23014 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
23015 },
23016 "mp[n]" : {
c2993fe5 23017 "description" : "Use volume as container mount point.",
7aacca6f 23018 "format" : {
7aacca6f
DM
23019 "acl" : {
23020 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 23021 "optional" : 1,
44660702 23022 "type" : "boolean"
7aacca6f
DM
23023 },
23024 "backup" : {
de0983cb 23025 "description" : "Whether to include the mount point in backups.",
7aacca6f 23026 "optional" : 1,
4bd7df8b 23027 "type" : "boolean",
de0983cb 23028 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 23029 },
7cbed89a
TL
23030 "mountoptions" : {
23031 "description" : "Extra mount options for rootfs/mps.",
23032 "format_description" : "opt[;opt...]",
23033 "optional" : 1,
23034 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
23035 "type" : "string"
23036 },
7aacca6f 23037 "mp" : {
de0983cb 23038 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 23039 "format" : "pve-lxc-mp-string",
44660702 23040 "format_description" : "Path",
4bd7df8b 23041 "type" : "string",
de0983cb 23042 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 23043 },
5d9c884c
DM
23044 "quota" : {
23045 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23046 "optional" : 1,
23047 "type" : "boolean"
23048 },
23049 "replicate" : {
23050 "default" : 1,
23051 "description" : "Will include this volume to a storage replica job.",
44660702
DM
23052 "optional" : 1,
23053 "type" : "boolean"
23054 },
23055 "ro" : {
de0983cb 23056 "description" : "Read-only mount point",
44660702
DM
23057 "optional" : 1,
23058 "type" : "boolean"
23059 },
de0983cb
DM
23060 "shared" : {
23061 "default" : 0,
23062 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23063 "optional" : 1,
23064 "type" : "boolean",
23065 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
23066 },
44660702
DM
23067 "size" : {
23068 "description" : "Volume size (read only value).",
23069 "format" : "disk-size",
23070 "format_description" : "DiskSize",
23071 "optional" : 1,
23072 "type" : "string"
23073 },
23074 "volume" : {
23075 "default_key" : 1,
23076 "description" : "Volume, device or directory to mount into the container.",
23077 "format" : "pve-lxc-mp-string",
23078 "format_description" : "volume",
23079 "type" : "string"
23080 }
23081 },
7aacca6f 23082 "optional" : 1,
4bd7df8b 23083 "type" : "string",
7cbed89a 23084 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 23085 },
44660702
DM
23086 "nameserver" : {
23087 "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
23088 "format" : "address-list",
56122987 23089 "optional" : 1,
013dc89f
DM
23090 "type" : "string",
23091 "typetext" : "<string>"
56122987
DM
23092 },
23093 "net[n]" : {
44660702 23094 "description" : "Specifies network interfaces for the container.",
56122987 23095 "format" : {
44660702
DM
23096 "bridge" : {
23097 "description" : "Bridge to attach the network device to.",
f004f5b9 23098 "format_description" : "bridge",
56122987 23099 "optional" : 1,
44660702
DM
23100 "pattern" : "[-_.\\w\\d]+",
23101 "type" : "string"
56122987 23102 },
44660702
DM
23103 "firewall" : {
23104 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 23105 "optional" : 1,
44660702 23106 "type" : "boolean"
56122987 23107 },
44660702
DM
23108 "gw" : {
23109 "description" : "Default gateway for IPv4 traffic.",
23110 "format" : "ipv4",
23111 "format_description" : "GatewayIPv4",
56122987 23112 "optional" : 1,
44660702 23113 "type" : "string"
56122987
DM
23114 },
23115 "gw6" : {
7aacca6f 23116 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
23117 "format" : "ipv6",
23118 "format_description" : "GatewayIPv6",
7aacca6f 23119 "optional" : 1,
56122987
DM
23120 "type" : "string"
23121 },
44660702 23122 "hwaddr" : {
f004f5b9 23123 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 23124 "format" : "mac-addr",
f004f5b9 23125 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 23126 "optional" : 1,
95895385
TL
23127 "type" : "string",
23128 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
23129 },
23130 "ip" : {
23131 "description" : "IPv4 address in CIDR format.",
23132 "format" : "pve-ipv4-config",
2489d6df 23133 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 23134 "optional" : 1,
44660702 23135 "type" : "string"
56122987 23136 },
7aacca6f 23137 "ip6" : {
7aacca6f
DM
23138 "description" : "IPv6 address in CIDR format.",
23139 "format" : "pve-ipv6-config",
2489d6df 23140 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 23141 "optional" : 1,
44660702 23142 "type" : "string"
56122987 23143 },
44660702
DM
23144 "mtu" : {
23145 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 23146 "minimum" : 64,
56122987 23147 "optional" : 1,
44660702 23148 "type" : "integer"
56122987
DM
23149 },
23150 "name" : {
44660702 23151 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 23152 "format_description" : "string",
56122987 23153 "pattern" : "[-_.\\w\\d]+",
44660702 23154 "type" : "string"
56122987 23155 },
44660702
DM
23156 "rate" : {
23157 "description" : "Apply rate limiting to the interface",
23158 "format_description" : "mbps",
56122987 23159 "optional" : 1,
44660702 23160 "type" : "number"
7aacca6f 23161 },
44660702
DM
23162 "tag" : {
23163 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
23164 "maximum" : 4094,
23165 "minimum" : 1,
56122987 23166 "optional" : 1,
7aacca6f 23167 "type" : "integer"
56122987 23168 },
44660702
DM
23169 "trunks" : {
23170 "description" : "VLAN ids to pass through the interface",
23171 "format_description" : "vlanid[;vlanid...]",
23172 "optional" : 1,
23173 "pattern" : "(?^:\\d+(?:;\\d+)*)",
23174 "type" : "string"
23175 },
23176 "type" : {
23177 "description" : "Network interface type.",
23178 "enum" : [
23179 "veth"
23180 ],
56122987 23181 "optional" : 1,
44660702 23182 "type" : "string"
56122987
DM
23183 }
23184 },
7aacca6f 23185 "optional" : 1,
4bd7df8b 23186 "type" : "string",
2489d6df 23187 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
56122987 23188 },
44660702
DM
23189 "node" : {
23190 "description" : "The cluster node name.",
23191 "format" : "pve-node",
013dc89f
DM
23192 "type" : "string",
23193 "typetext" : "<string>"
56122987 23194 },
44660702
DM
23195 "onboot" : {
23196 "default" : 0,
23197 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 23198 "optional" : 1,
013dc89f
DM
23199 "type" : "boolean",
23200 "typetext" : "<boolean>"
56122987 23201 },
44660702
DM
23202 "ostype" : {
23203 "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
23204 "enum" : [
23205 "debian",
23206 "ubuntu",
23207 "centos",
23208 "fedora",
23209 "opensuse",
23210 "archlinux",
23211 "alpine",
57b78691 23212 "gentoo",
44660702
DM
23213 "unmanaged"
23214 ],
56122987 23215 "optional" : 1,
44660702 23216 "type" : "string"
56122987 23217 },
44660702
DM
23218 "protection" : {
23219 "default" : 0,
23220 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 23221 "optional" : 1,
013dc89f
DM
23222 "type" : "boolean",
23223 "typetext" : "<boolean>"
56122987 23224 },
1c532546
TL
23225 "revert" : {
23226 "description" : "Revert a pending change.",
23227 "format" : "pve-configid-list",
23228 "optional" : 1,
23229 "type" : "string",
23230 "typetext" : "<string>"
23231 },
7aacca6f
DM
23232 "rootfs" : {
23233 "description" : "Use volume as container root.",
56122987
DM
23234 "format" : {
23235 "acl" : {
44660702 23236 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
23237 "optional" : 1,
23238 "type" : "boolean"
56122987 23239 },
7cbed89a
TL
23240 "mountoptions" : {
23241 "description" : "Extra mount options for rootfs/mps.",
23242 "format_description" : "opt[;opt...]",
23243 "optional" : 1,
23244 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
23245 "type" : "string"
23246 },
44660702
DM
23247 "quota" : {
23248 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
23249 "optional" : 1,
23250 "type" : "boolean"
23251 },
5d9c884c
DM
23252 "replicate" : {
23253 "default" : 1,
23254 "description" : "Will include this volume to a storage replica job.",
23255 "optional" : 1,
23256 "type" : "boolean"
23257 },
44660702 23258 "ro" : {
de0983cb 23259 "description" : "Read-only mount point",
56122987 23260 "optional" : 1,
44660702
DM
23261 "type" : "boolean"
23262 },
de0983cb
DM
23263 "shared" : {
23264 "default" : 0,
23265 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23266 "optional" : 1,
23267 "type" : "boolean",
23268 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
23269 },
44660702 23270 "size" : {
7aacca6f 23271 "description" : "Volume size (read only value).",
44660702 23272 "format" : "disk-size",
56122987 23273 "format_description" : "DiskSize",
56122987 23274 "optional" : 1,
44660702 23275 "type" : "string"
7aacca6f
DM
23276 },
23277 "volume" : {
7aacca6f
DM
23278 "default_key" : 1,
23279 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
23280 "format" : "pve-lxc-mp-string",
23281 "format_description" : "volume",
7aacca6f 23282 "type" : "string"
56122987 23283 }
44660702
DM
23284 },
23285 "optional" : 1,
4bd7df8b 23286 "type" : "string",
7cbed89a 23287 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
23288 },
23289 "searchdomain" : {
23290 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
23291 "format" : "dns-name-list",
23292 "optional" : 1,
013dc89f
DM
23293 "type" : "string",
23294 "typetext" : "<string>"
44660702
DM
23295 },
23296 "startup" : {
23297 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
23298 "format" : "pve-startup-order",
23299 "optional" : 1,
23300 "type" : "string",
23301 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
23302 },
23303 "swap" : {
23304 "default" : 512,
23305 "description" : "Amount of SWAP for the VM in MB.",
23306 "minimum" : 0,
23307 "optional" : 1,
4bd7df8b 23308 "type" : "integer",
013dc89f 23309 "typetext" : "<integer> (0 - N)"
56122987 23310 },
5c1699e5
TL
23311 "tags" : {
23312 "description" : "Tags of the Container. This is only meta information.",
23313 "format" : "pve-tag-list",
23314 "optional" : 1,
23315 "type" : "string",
23316 "typetext" : "<string>"
23317 },
56122987 23318 "template" : {
44660702 23319 "default" : 0,
7aacca6f 23320 "description" : "Enable/disable Template.",
56122987 23321 "optional" : 1,
013dc89f
DM
23322 "type" : "boolean",
23323 "typetext" : "<boolean>"
56122987 23324 },
04d22a9f
TL
23325 "timezone" : {
23326 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
23327 "format" : "pve-ct-timezone",
23328 "optional" : 1,
23329 "type" : "string",
23330 "typetext" : "<string>"
23331 },
44660702
DM
23332 "tty" : {
23333 "default" : 2,
23334 "description" : "Specify the number of tty available to the container",
23335 "maximum" : 6,
23336 "minimum" : 0,
23337 "optional" : 1,
4bd7df8b 23338 "type" : "integer",
013dc89f 23339 "typetext" : "<integer> (0 - 6)"
56122987 23340 },
44660702
DM
23341 "unprivileged" : {
23342 "default" : 0,
23343 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 23344 "optional" : 1,
013dc89f
DM
23345 "type" : "boolean",
23346 "typetext" : "<boolean>"
56122987 23347 },
44660702 23348 "unused[n]" : {
c2993fe5 23349 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
23350 "format" : {
23351 "volume" : {
23352 "default_key" : 1,
23353 "description" : "The volume that is not used currently.",
23354 "format" : "pve-volume-id",
23355 "format_description" : "volume",
23356 "type" : "string"
23357 }
23358 },
56122987 23359 "optional" : 1,
013dc89f 23360 "type" : "string",
c5aa7e14 23361 "typetext" : "[volume=]<volume>"
44660702
DM
23362 },
23363 "vmid" : {
23364 "description" : "The (unique) ID of the VM.",
23365 "format" : "pve-vmid",
23366 "minimum" : 1,
4bd7df8b 23367 "type" : "integer",
013dc89f 23368 "typetext" : "<integer> (1 - N)"
56122987 23369 }
44660702 23370 }
56122987 23371 },
56122987
DM
23372 "permissions" : {
23373 "check" : [
23374 "perm",
23375 "/vms/{vmid}",
23376 [
23377 "VM.Config.Disk",
23378 "VM.Config.CPU",
23379 "VM.Config.Memory",
23380 "VM.Config.Network",
23381 "VM.Config.Options"
23382 ],
23383 "any",
23384 1
52e44c50
FG
23385 ],
23386 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 23387 },
44660702
DM
23388 "protected" : 1,
23389 "proxyto" : "node",
56122987
DM
23390 "returns" : {
23391 "type" : "null"
7aacca6f 23392 }
56122987 23393 }
7aacca6f 23394 },
44660702 23395 "leaf" : 1,
7aacca6f 23396 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 23397 "text" : "config"
56122987
DM
23398 },
23399 {
56122987
DM
23400 "children" : [
23401 {
23402 "info" : {
23403 "GET" : {
e9cd3bd4 23404 "allowtoken" : 1,
44660702 23405 "description" : "Get virtual machine status.",
7aacca6f 23406 "method" : "GET",
44660702 23407 "name" : "vm_status",
56122987 23408 "parameters" : {
44660702 23409 "additionalProperties" : 0,
56122987 23410 "properties" : {
56122987 23411 "node" : {
44660702 23412 "description" : "The cluster node name.",
56122987 23413 "format" : "pve-node",
013dc89f
DM
23414 "type" : "string",
23415 "typetext" : "<string>"
7aacca6f
DM
23416 },
23417 "vmid" : {
23418 "description" : "The (unique) ID of the VM.",
44660702 23419 "format" : "pve-vmid",
7aacca6f 23420 "minimum" : 1,
4bd7df8b 23421 "type" : "integer",
013dc89f 23422 "typetext" : "<integer> (1 - N)"
56122987 23423 }
44660702 23424 }
7aacca6f
DM
23425 },
23426 "permissions" : {
23427 "check" : [
23428 "perm",
23429 "/vms/{vmid}",
23430 [
4d47f125
TL
23431 "VM.Audit"
23432 ]
23433 ]
23434 },
23435 "protected" : 1,
23436 "proxyto" : "node",
23437 "returns" : {
23438 "properties" : {
23439 "cpus" : {
23440 "description" : "Maximum usable CPUs.",
23441 "optional" : 1,
23442 "type" : "number"
23443 },
23444 "ha" : {
23445 "description" : "HA manager service status.",
23446 "type" : "object"
23447 },
95895385
TL
23448 "lock" : {
23449 "description" : "The current config lock, if any.",
23450 "optional" : 1,
23451 "type" : "string"
23452 },
4d47f125
TL
23453 "maxdisk" : {
23454 "description" : "Root disk size in bytes.",
23455 "optional" : 1,
23456 "renderer" : "bytes",
23457 "type" : "integer"
23458 },
23459 "maxmem" : {
23460 "description" : "Maximum memory in bytes.",
23461 "optional" : 1,
23462 "renderer" : "bytes",
23463 "type" : "integer"
23464 },
23465 "maxswap" : {
23466 "description" : "Maximum SWAP memory in bytes.",
23467 "optional" : 1,
23468 "renderer" : "bytes",
23469 "type" : "integer"
23470 },
23471 "name" : {
23472 "description" : "Container name.",
23473 "optional" : 1,
23474 "type" : "string"
23475 },
23476 "status" : {
23477 "description" : "LXC Container status.",
23478 "enum" : [
23479 "stopped",
23480 "running"
23481 ],
23482 "type" : "string"
23483 },
5c1699e5
TL
23484 "tags" : {
23485 "description" : "The current configured tags, if any.",
23486 "optional" : 1,
23487 "type" : "string"
23488 },
4d47f125
TL
23489 "uptime" : {
23490 "description" : "Uptime.",
23491 "optional" : 1,
23492 "renderer" : "duration",
23493 "type" : "integer"
23494 },
23495 "vmid" : {
23496 "description" : "The (unique) ID of the VM.",
23497 "format" : "pve-vmid",
23498 "minimum" : 1,
23499 "type" : "integer"
23500 }
23501 },
23502 "type" : "object"
23503 }
23504 }
23505 },
23506 "leaf" : 1,
23507 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
23508 "text" : "current"
23509 },
23510 {
23511 "info" : {
23512 "POST" : {
e9cd3bd4 23513 "allowtoken" : 1,
4d47f125
TL
23514 "description" : "Start the container.",
23515 "method" : "POST",
23516 "name" : "vm_start",
23517 "parameters" : {
23518 "additionalProperties" : 0,
23519 "properties" : {
739d4d64
TL
23520 "debug" : {
23521 "default" : 0,
23522 "description" : "If set, enables very verbose debug log-level on start.",
23523 "optional" : 1,
23524 "type" : "boolean",
23525 "typetext" : "<boolean>"
23526 },
4d47f125
TL
23527 "node" : {
23528 "description" : "The cluster node name.",
23529 "format" : "pve-node",
23530 "type" : "string",
23531 "typetext" : "<string>"
23532 },
23533 "skiplock" : {
23534 "description" : "Ignore locks - only root is allowed to use this option.",
23535 "optional" : 1,
23536 "type" : "boolean",
23537 "typetext" : "<boolean>"
23538 },
23539 "vmid" : {
23540 "description" : "The (unique) ID of the VM.",
23541 "format" : "pve-vmid",
23542 "minimum" : 1,
23543 "type" : "integer",
23544 "typetext" : "<integer> (1 - N)"
23545 }
23546 }
23547 },
23548 "permissions" : {
23549 "check" : [
23550 "perm",
23551 "/vms/{vmid}",
23552 [
23553 "VM.PowerMgmt"
23554 ]
23555 ]
23556 },
23557 "protected" : 1,
23558 "proxyto" : "node",
23559 "returns" : {
23560 "type" : "string"
23561 }
23562 }
23563 },
23564 "leaf" : 1,
23565 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
23566 "text" : "start"
23567 },
23568 {
23569 "info" : {
23570 "POST" : {
e9cd3bd4 23571 "allowtoken" : 1,
4d47f125
TL
23572 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
23573 "method" : "POST",
23574 "name" : "vm_stop",
23575 "parameters" : {
23576 "additionalProperties" : 0,
23577 "properties" : {
23578 "node" : {
23579 "description" : "The cluster node name.",
23580 "format" : "pve-node",
23581 "type" : "string",
23582 "typetext" : "<string>"
23583 },
23584 "skiplock" : {
23585 "description" : "Ignore locks - only root is allowed to use this option.",
23586 "optional" : 1,
23587 "type" : "boolean",
23588 "typetext" : "<boolean>"
23589 },
23590 "vmid" : {
23591 "description" : "The (unique) ID of the VM.",
23592 "format" : "pve-vmid",
23593 "minimum" : 1,
23594 "type" : "integer",
23595 "typetext" : "<integer> (1 - N)"
23596 }
23597 }
23598 },
23599 "permissions" : {
23600 "check" : [
23601 "perm",
23602 "/vms/{vmid}",
23603 [
23604 "VM.PowerMgmt"
23605 ]
23606 ]
23607 },
23608 "protected" : 1,
23609 "proxyto" : "node",
23610 "returns" : {
23611 "type" : "string"
23612 }
23613 }
23614 },
23615 "leaf" : 1,
23616 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
23617 "text" : "stop"
23618 },
23619 {
23620 "info" : {
23621 "POST" : {
e9cd3bd4 23622 "allowtoken" : 1,
4d47f125
TL
23623 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
23624 "method" : "POST",
23625 "name" : "vm_shutdown",
23626 "parameters" : {
23627 "additionalProperties" : 0,
23628 "properties" : {
23629 "forceStop" : {
23630 "default" : 0,
23631 "description" : "Make sure the Container stops.",
23632 "optional" : 1,
23633 "type" : "boolean",
23634 "typetext" : "<boolean>"
23635 },
23636 "node" : {
23637 "description" : "The cluster node name.",
23638 "format" : "pve-node",
23639 "type" : "string",
23640 "typetext" : "<string>"
23641 },
23642 "timeout" : {
23643 "default" : 60,
23644 "description" : "Wait maximal timeout seconds.",
23645 "minimum" : 0,
23646 "optional" : 1,
23647 "type" : "integer",
23648 "typetext" : "<integer> (0 - N)"
23649 },
23650 "vmid" : {
23651 "description" : "The (unique) ID of the VM.",
23652 "format" : "pve-vmid",
23653 "minimum" : 1,
23654 "type" : "integer",
23655 "typetext" : "<integer> (1 - N)"
23656 }
23657 }
23658 },
23659 "permissions" : {
23660 "check" : [
23661 "perm",
23662 "/vms/{vmid}",
23663 [
23664 "VM.PowerMgmt"
7aacca6f
DM
23665 ]
23666 ]
23667 },
44660702 23668 "protected" : 1,
7aacca6f 23669 "proxyto" : "node",
44660702 23670 "returns" : {
4d47f125 23671 "type" : "string"
44660702 23672 }
56122987
DM
23673 }
23674 },
44660702 23675 "leaf" : 1,
4d47f125
TL
23676 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
23677 "text" : "shutdown"
56122987
DM
23678 },
23679 {
56122987
DM
23680 "info" : {
23681 "POST" : {
e9cd3bd4 23682 "allowtoken" : 1,
4d47f125 23683 "description" : "Suspend the container.",
44660702 23684 "method" : "POST",
4d47f125 23685 "name" : "vm_suspend",
56122987
DM
23686 "parameters" : {
23687 "additionalProperties" : 0,
23688 "properties" : {
56122987 23689 "node" : {
7aacca6f 23690 "description" : "The cluster node name.",
44660702 23691 "format" : "pve-node",
013dc89f
DM
23692 "type" : "string",
23693 "typetext" : "<string>"
56122987
DM
23694 },
23695 "vmid" : {
7aacca6f 23696 "description" : "The (unique) ID of the VM.",
44660702 23697 "format" : "pve-vmid",
56122987 23698 "minimum" : 1,
4bd7df8b 23699 "type" : "integer",
013dc89f 23700 "typetext" : "<integer> (1 - N)"
56122987
DM
23701 }
23702 }
23703 },
23704 "permissions" : {
23705 "check" : [
23706 "perm",
23707 "/vms/{vmid}",
23708 [
23709 "VM.PowerMgmt"
23710 ]
23711 ]
23712 },
44660702 23713 "protected" : 1,
7aacca6f 23714 "proxyto" : "node",
44660702
DM
23715 "returns" : {
23716 "type" : "string"
23717 }
23718 }
23719 },
23720 "leaf" : 1,
4d47f125
TL
23721 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
23722 "text" : "suspend"
44660702
DM
23723 },
23724 {
23725 "info" : {
23726 "POST" : {
e9cd3bd4 23727 "allowtoken" : 1,
4d47f125 23728 "description" : "Resume the container.",
7aacca6f 23729 "method" : "POST",
4d47f125 23730 "name" : "vm_resume",
7aacca6f 23731 "parameters" : {
44660702 23732 "additionalProperties" : 0,
7aacca6f 23733 "properties" : {
44660702
DM
23734 "node" : {
23735 "description" : "The cluster node name.",
23736 "format" : "pve-node",
013dc89f
DM
23737 "type" : "string",
23738 "typetext" : "<string>"
44660702 23739 },
7aacca6f 23740 "vmid" : {
44660702 23741 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23742 "format" : "pve-vmid",
23743 "minimum" : 1,
4bd7df8b 23744 "type" : "integer",
013dc89f 23745 "typetext" : "<integer> (1 - N)"
7aacca6f 23746 }
44660702
DM
23747 }
23748 },
23749 "permissions" : {
23750 "check" : [
23751 "perm",
23752 "/vms/{vmid}",
23753 [
23754 "VM.PowerMgmt"
23755 ]
23756 ]
7aacca6f 23757 },
44660702
DM
23758 "protected" : 1,
23759 "proxyto" : "node",
23760 "returns" : {
23761 "type" : "string"
23762 }
56122987 23763 }
7aacca6f 23764 },
7aacca6f 23765 "leaf" : 1,
4d47f125
TL
23766 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
23767 "text" : "resume"
5c1699e5
TL
23768 },
23769 {
23770 "info" : {
23771 "POST" : {
e9cd3bd4 23772 "allowtoken" : 1,
5c1699e5
TL
23773 "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
23774 "method" : "POST",
23775 "name" : "vm_reboot",
23776 "parameters" : {
23777 "additionalProperties" : 0,
23778 "properties" : {
23779 "node" : {
23780 "description" : "The cluster node name.",
23781 "format" : "pve-node",
23782 "type" : "string",
23783 "typetext" : "<string>"
23784 },
23785 "timeout" : {
23786 "description" : "Wait maximal timeout seconds for the shutdown.",
23787 "minimum" : 0,
23788 "optional" : 1,
23789 "type" : "integer",
23790 "typetext" : "<integer> (0 - N)"
23791 },
23792 "vmid" : {
23793 "description" : "The (unique) ID of the VM.",
23794 "format" : "pve-vmid",
23795 "minimum" : 1,
23796 "type" : "integer",
23797 "typetext" : "<integer> (1 - N)"
23798 }
23799 }
23800 },
23801 "permissions" : {
23802 "check" : [
23803 "perm",
23804 "/vms/{vmid}",
23805 [
23806 "VM.PowerMgmt"
23807 ]
23808 ]
23809 },
23810 "protected" : 1,
23811 "proxyto" : "node",
23812 "returns" : {
23813 "type" : "string"
23814 }
23815 }
23816 },
23817 "leaf" : 1,
23818 "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
23819 "text" : "reboot"
4d47f125
TL
23820 }
23821 ],
23822 "info" : {
23823 "GET" : {
e9cd3bd4 23824 "allowtoken" : 1,
4d47f125
TL
23825 "description" : "Directory index",
23826 "method" : "GET",
23827 "name" : "vmcmdidx",
23828 "parameters" : {
23829 "additionalProperties" : 0,
23830 "properties" : {
23831 "node" : {
23832 "description" : "The cluster node name.",
23833 "format" : "pve-node",
23834 "type" : "string",
23835 "typetext" : "<string>"
23836 },
23837 "vmid" : {
23838 "description" : "The (unique) ID of the VM.",
23839 "format" : "pve-vmid",
23840 "minimum" : 1,
23841 "type" : "integer",
23842 "typetext" : "<integer> (1 - N)"
23843 }
23844 }
23845 },
23846 "permissions" : {
23847 "user" : "all"
23848 },
23849 "proxyto" : "node",
23850 "returns" : {
23851 "items" : {
23852 "properties" : {
23853 "subdir" : {
23854 "type" : "string"
23855 }
23856 },
23857 "type" : "object"
23858 },
23859 "links" : [
23860 {
23861 "href" : "{subdir}",
23862 "rel" : "child"
23863 }
23864 ],
23865 "type" : "array"
23866 }
23867 }
23868 },
23869 "leaf" : 0,
23870 "path" : "/nodes/{node}/lxc/{vmid}/status",
23871 "text" : "status"
23872 },
23873 {
23874 "children" : [
56122987 23875 {
4d47f125
TL
23876 "children" : [
23877 {
23878 "info" : {
23879 "POST" : {
e9cd3bd4 23880 "allowtoken" : 1,
4d47f125
TL
23881 "description" : "Rollback LXC state to specified snapshot.",
23882 "method" : "POST",
23883 "name" : "rollback",
23884 "parameters" : {
23885 "additionalProperties" : 0,
23886 "properties" : {
23887 "node" : {
23888 "description" : "The cluster node name.",
23889 "format" : "pve-node",
23890 "type" : "string",
23891 "typetext" : "<string>"
23892 },
23893 "snapname" : {
23894 "description" : "The name of the snapshot.",
23895 "format" : "pve-configid",
23896 "maxLength" : 40,
23897 "type" : "string",
23898 "typetext" : "<string>"
23899 },
23900 "vmid" : {
23901 "description" : "The (unique) ID of the VM.",
23902 "format" : "pve-vmid",
23903 "minimum" : 1,
23904 "type" : "integer",
23905 "typetext" : "<integer> (1 - N)"
23906 }
23907 }
23908 },
23909 "permissions" : {
23910 "check" : [
23911 "perm",
23912 "/vms/{vmid}",
23913 [
23914 "VM.Snapshot",
23915 "VM.Snapshot.Rollback"
23916 ],
23917 "any",
23918 1
23919 ]
23920 },
23921 "protected" : 1,
23922 "proxyto" : "node",
23923 "returns" : {
23924 "description" : "the task ID.",
23925 "type" : "string"
23926 }
23927 }
23928 },
23929 "leaf" : 1,
23930 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
23931 "text" : "rollback"
23932 },
23933 {
23934 "info" : {
23935 "GET" : {
e9cd3bd4 23936 "allowtoken" : 1,
4d47f125
TL
23937 "description" : "Get snapshot configuration",
23938 "method" : "GET",
23939 "name" : "get_snapshot_config",
23940 "parameters" : {
23941 "additionalProperties" : 0,
23942 "properties" : {
23943 "node" : {
23944 "description" : "The cluster node name.",
23945 "format" : "pve-node",
23946 "type" : "string",
23947 "typetext" : "<string>"
23948 },
23949 "snapname" : {
23950 "description" : "The name of the snapshot.",
23951 "format" : "pve-configid",
23952 "maxLength" : 40,
23953 "type" : "string",
23954 "typetext" : "<string>"
23955 },
23956 "vmid" : {
23957 "description" : "The (unique) ID of the VM.",
23958 "format" : "pve-vmid",
23959 "minimum" : 1,
23960 "type" : "integer",
23961 "typetext" : "<integer> (1 - N)"
23962 }
23963 }
23964 },
23965 "permissions" : {
23966 "check" : [
23967 "perm",
23968 "/vms/{vmid}",
23969 [
23970 "VM.Snapshot",
c5aa7e14
TL
23971 "VM.Snapshot.Rollback",
23972 "VM.Audit"
4d47f125
TL
23973 ],
23974 "any",
23975 1
23976 ]
23977 },
23978 "proxyto" : "node",
23979 "returns" : {
23980 "type" : "object"
23981 }
23982 },
23983 "PUT" : {
e9cd3bd4 23984 "allowtoken" : 1,
4d47f125
TL
23985 "description" : "Update snapshot metadata.",
23986 "method" : "PUT",
23987 "name" : "update_snapshot_config",
23988 "parameters" : {
23989 "additionalProperties" : 0,
23990 "properties" : {
23991 "description" : {
23992 "description" : "A textual description or comment.",
23993 "optional" : 1,
23994 "type" : "string",
23995 "typetext" : "<string>"
23996 },
23997 "node" : {
23998 "description" : "The cluster node name.",
23999 "format" : "pve-node",
24000 "type" : "string",
24001 "typetext" : "<string>"
24002 },
24003 "snapname" : {
24004 "description" : "The name of the snapshot.",
24005 "format" : "pve-configid",
24006 "maxLength" : 40,
24007 "type" : "string",
24008 "typetext" : "<string>"
24009 },
24010 "vmid" : {
24011 "description" : "The (unique) ID of the VM.",
24012 "format" : "pve-vmid",
24013 "minimum" : 1,
24014 "type" : "integer",
24015 "typetext" : "<integer> (1 - N)"
24016 }
24017 }
24018 },
24019 "permissions" : {
24020 "check" : [
24021 "perm",
24022 "/vms/{vmid}",
24023 [
24024 "VM.Snapshot"
24025 ]
24026 ]
24027 },
24028 "protected" : 1,
24029 "proxyto" : "node",
24030 "returns" : {
24031 "type" : "null"
24032 }
24033 }
24034 },
24035 "leaf" : 1,
24036 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
24037 "text" : "config"
24038 }
24039 ],
56122987 24040 "info" : {
4d47f125 24041 "DELETE" : {
e9cd3bd4 24042 "allowtoken" : 1,
4d47f125
TL
24043 "description" : "Delete a LXC snapshot.",
24044 "method" : "DELETE",
24045 "name" : "delsnapshot",
56122987 24046 "parameters" : {
44660702 24047 "additionalProperties" : 0,
56122987 24048 "properties" : {
4d47f125
TL
24049 "force" : {
24050 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 24051 "optional" : 1,
013dc89f
DM
24052 "type" : "boolean",
24053 "typetext" : "<boolean>"
44660702
DM
24054 },
24055 "node" : {
24056 "description" : "The cluster node name.",
24057 "format" : "pve-node",
013dc89f
DM
24058 "type" : "string",
24059 "typetext" : "<string>"
7aacca6f 24060 },
4d47f125
TL
24061 "snapname" : {
24062 "description" : "The name of the snapshot.",
24063 "format" : "pve-configid",
24064 "maxLength" : 40,
24065 "type" : "string",
24066 "typetext" : "<string>"
56122987
DM
24067 },
24068 "vmid" : {
7aacca6f 24069 "description" : "The (unique) ID of the VM.",
44660702
DM
24070 "format" : "pve-vmid",
24071 "minimum" : 1,
4bd7df8b 24072 "type" : "integer",
013dc89f 24073 "typetext" : "<integer> (1 - N)"
56122987 24074 }
44660702 24075 }
56122987
DM
24076 },
24077 "permissions" : {
24078 "check" : [
24079 "perm",
24080 "/vms/{vmid}",
24081 [
4d47f125 24082 "VM.Snapshot"
56122987
DM
24083 ]
24084 ]
24085 },
44660702
DM
24086 "protected" : 1,
24087 "proxyto" : "node",
7aacca6f 24088 "returns" : {
4d47f125 24089 "description" : "the task ID.",
7aacca6f
DM
24090 "type" : "string"
24091 }
4d47f125
TL
24092 },
24093 "GET" : {
e9cd3bd4 24094 "allowtoken" : 1,
4d47f125
TL
24095 "description" : "",
24096 "method" : "GET",
24097 "name" : "snapshot_cmd_idx",
56122987
DM
24098 "parameters" : {
24099 "additionalProperties" : 0,
24100 "properties" : {
44660702
DM
24101 "node" : {
24102 "description" : "The cluster node name.",
24103 "format" : "pve-node",
013dc89f
DM
24104 "type" : "string",
24105 "typetext" : "<string>"
44660702 24106 },
4d47f125
TL
24107 "snapname" : {
24108 "description" : "The name of the snapshot.",
24109 "format" : "pve-configid",
24110 "maxLength" : 40,
013dc89f
DM
24111 "type" : "string",
24112 "typetext" : "<string>"
56122987
DM
24113 },
24114 "vmid" : {
7aacca6f 24115 "description" : "The (unique) ID of the VM.",
56122987 24116 "format" : "pve-vmid",
44660702 24117 "minimum" : 1,
4bd7df8b 24118 "type" : "integer",
013dc89f 24119 "typetext" : "<integer> (1 - N)"
56122987 24120 }
44660702
DM
24121 }
24122 },
24123 "permissions" : {
4d47f125 24124 "user" : "all"
56122987 24125 },
44660702 24126 "returns" : {
4d47f125
TL
24127 "items" : {
24128 "properties" : {},
24129 "type" : "object"
24130 },
24131 "links" : [
24132 {
24133 "href" : "{cmd}",
24134 "rel" : "child"
24135 }
24136 ],
24137 "type" : "array"
44660702 24138 }
7aacca6f
DM
24139 }
24140 },
4d47f125
TL
24141 "leaf" : 0,
24142 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
24143 "text" : "{snapname}"
7aacca6f
DM
24144 }
24145 ],
24146 "info" : {
24147 "GET" : {
e9cd3bd4 24148 "allowtoken" : 1,
4d47f125 24149 "description" : "List all snapshots.",
44660702 24150 "method" : "GET",
4d47f125 24151 "name" : "list",
7aacca6f
DM
24152 "parameters" : {
24153 "additionalProperties" : 0,
24154 "properties" : {
24155 "node" : {
24156 "description" : "The cluster node name.",
44660702 24157 "format" : "pve-node",
013dc89f
DM
24158 "type" : "string",
24159 "typetext" : "<string>"
56122987 24160 },
7aacca6f 24161 "vmid" : {
44660702 24162 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24163 "format" : "pve-vmid",
24164 "minimum" : 1,
4bd7df8b 24165 "type" : "integer",
013dc89f 24166 "typetext" : "<integer> (1 - N)"
7aacca6f 24167 }
56122987
DM
24168 }
24169 },
44660702 24170 "permissions" : {
4d47f125
TL
24171 "check" : [
24172 "perm",
24173 "/vms/{vmid}",
24174 [
24175 "VM.Audit"
24176 ]
24177 ]
44660702 24178 },
4d47f125 24179 "protected" : 1,
44660702 24180 "proxyto" : "node",
7aacca6f 24181 "returns" : {
7aacca6f
DM
24182 "items" : {
24183 "properties" : {
4d47f125
TL
24184 "description" : {
24185 "description" : "Snapshot description.",
7aacca6f 24186 "type" : "string"
4d47f125
TL
24187 },
24188 "name" : {
24189 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
24190 "type" : "string"
24191 },
24192 "parent" : {
24193 "description" : "Parent snapshot identifier.",
24194 "optional" : 1,
24195 "type" : "string"
24196 },
24197 "snaptime" : {
24198 "description" : "Snapshot creation time",
24199 "optional" : 1,
24200 "renderer" : "timestamp",
24201 "type" : "integer"
7aacca6f
DM
24202 }
24203 },
24204 "type" : "object"
24205 },
24206 "links" : [
24207 {
4d47f125 24208 "href" : "{name}",
44660702 24209 "rel" : "child"
7aacca6f 24210 }
44660702
DM
24211 ],
24212 "type" : "array"
7aacca6f 24213 }
4d47f125
TL
24214 },
24215 "POST" : {
e9cd3bd4 24216 "allowtoken" : 1,
4d47f125
TL
24217 "description" : "Snapshot a container.",
24218 "method" : "POST",
24219 "name" : "snapshot",
24220 "parameters" : {
24221 "additionalProperties" : 0,
24222 "properties" : {
24223 "description" : {
24224 "description" : "A textual description or comment.",
24225 "optional" : 1,
24226 "type" : "string",
24227 "typetext" : "<string>"
24228 },
24229 "node" : {
24230 "description" : "The cluster node name.",
24231 "format" : "pve-node",
24232 "type" : "string",
24233 "typetext" : "<string>"
24234 },
24235 "snapname" : {
24236 "description" : "The name of the snapshot.",
24237 "format" : "pve-configid",
24238 "maxLength" : 40,
24239 "type" : "string",
24240 "typetext" : "<string>"
24241 },
24242 "vmid" : {
24243 "description" : "The (unique) ID of the VM.",
24244 "format" : "pve-vmid",
24245 "minimum" : 1,
24246 "type" : "integer",
24247 "typetext" : "<integer> (1 - N)"
24248 }
24249 }
24250 },
24251 "permissions" : {
24252 "check" : [
24253 "perm",
24254 "/vms/{vmid}",
24255 [
24256 "VM.Snapshot"
24257 ]
24258 ]
24259 },
24260 "protected" : 1,
24261 "proxyto" : "node",
24262 "returns" : {
24263 "description" : "the task ID.",
24264 "type" : "string"
24265 }
7aacca6f 24266 }
44660702
DM
24267 },
24268 "leaf" : 0,
4d47f125
TL
24269 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
24270 "text" : "snapshot"
7aacca6f
DM
24271 },
24272 {
7aacca6f 24273 "children" : [
56122987 24274 {
7aacca6f
DM
24275 "children" : [
24276 {
24277 "info" : {
4d47f125 24278 "DELETE" : {
e9cd3bd4 24279 "allowtoken" : 1,
4d47f125
TL
24280 "description" : "Delete rule.",
24281 "method" : "DELETE",
24282 "name" : "delete_rule",
7aacca6f 24283 "parameters" : {
44660702 24284 "additionalProperties" : 0,
7aacca6f 24285 "properties" : {
4d47f125
TL
24286 "digest" : {
24287 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24288 "maxLength" : 40,
24289 "optional" : 1,
24290 "type" : "string",
24291 "typetext" : "<string>"
24292 },
44660702
DM
24293 "node" : {
24294 "description" : "The cluster node name.",
24295 "format" : "pve-node",
013dc89f
DM
24296 "type" : "string",
24297 "typetext" : "<string>"
44660702 24298 },
4d47f125
TL
24299 "pos" : {
24300 "description" : "Update rule at position <pos>.",
24301 "minimum" : 0,
24302 "optional" : 1,
24303 "type" : "integer",
24304 "typetext" : "<integer> (0 - N)"
7aacca6f 24305 },
7aacca6f 24306 "vmid" : {
44660702 24307 "description" : "The (unique) ID of the VM.",
7aacca6f 24308 "format" : "pve-vmid",
44660702 24309 "minimum" : 1,
4bd7df8b 24310 "type" : "integer",
013dc89f 24311 "typetext" : "<integer> (1 - N)"
7aacca6f 24312 }
44660702
DM
24313 }
24314 },
24315 "permissions" : {
24316 "check" : [
24317 "perm",
24318 "/vms/{vmid}",
24319 [
4d47f125
TL
24320 "VM.Config.Network"
24321 ]
44660702 24322 ]
7aacca6f 24323 },
44660702 24324 "protected" : 1,
4d47f125 24325 "proxyto" : null,
44660702 24326 "returns" : {
4d47f125 24327 "type" : "null"
44660702 24328 }
4d47f125 24329 },
7aacca6f 24330 "GET" : {
e9cd3bd4 24331 "allowtoken" : 1,
4d47f125 24332 "description" : "Get single rule data.",
44660702 24333 "method" : "GET",
4d47f125 24334 "name" : "get_rule",
7aacca6f
DM
24335 "parameters" : {
24336 "additionalProperties" : 0,
4d47f125
TL
24337 "properties" : {
24338 "node" : {
24339 "description" : "The cluster node name.",
24340 "format" : "pve-node",
013dc89f
DM
24341 "type" : "string",
24342 "typetext" : "<string>"
44660702 24343 },
4d47f125
TL
24344 "pos" : {
24345 "description" : "Update rule at position <pos>.",
24346 "minimum" : 0,
24347 "optional" : 1,
24348 "type" : "integer",
24349 "typetext" : "<integer> (0 - N)"
24350 },
44660702
DM
24351 "vmid" : {
24352 "description" : "The (unique) ID of the VM.",
24353 "format" : "pve-vmid",
24354 "minimum" : 1,
4bd7df8b 24355 "type" : "integer",
013dc89f 24356 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
24357 }
24358 }
24359 },
24360 "permissions" : {
24361 "check" : [
24362 "perm",
24363 "/vms/{vmid}",
24364 [
4d47f125
TL
24365 "VM.Audit"
24366 ]
7aacca6f
DM
24367 ]
24368 },
4d47f125 24369 "proxyto" : null,
44660702 24370 "returns" : {
4d47f125 24371 "properties" : {
e2d681b3
TL
24372 "action" : {
24373 "type" : "string"
24374 },
24375 "comment" : {
24376 "optional" : 1,
24377 "type" : "string"
24378 },
24379 "dest" : {
24380 "optional" : 1,
24381 "type" : "string"
24382 },
24383 "dport" : {
24384 "optional" : 1,
24385 "type" : "string"
24386 },
24387 "enable" : {
24388 "optional" : 1,
24389 "type" : "integer"
24390 },
24391 "iface" : {
24392 "optional" : 1,
24393 "type" : "string"
24394 },
24395 "ipversion" : {
24396 "optional" : 1,
24397 "type" : "integer"
24398 },
95895385
TL
24399 "log" : {
24400 "description" : "Log level for firewall rule",
24401 "enum" : [
24402 "emerg",
24403 "alert",
24404 "crit",
24405 "err",
24406 "warning",
24407 "notice",
24408 "info",
24409 "debug",
24410 "nolog"
24411 ],
24412 "optional" : 1,
24413 "type" : "string"
24414 },
e2d681b3
TL
24415 "macro" : {
24416 "optional" : 1,
5f26e15b 24417 "type" : "string"
e2d681b3 24418 },
4d47f125
TL
24419 "pos" : {
24420 "type" : "integer"
e2d681b3
TL
24421 },
24422 "proto" : {
24423 "optional" : 1,
24424 "type" : "string"
24425 },
24426 "source" : {
24427 "optional" : 1,
24428 "type" : "string"
24429 },
24430 "sport" : {
24431 "optional" : 1,
24432 "type" : "string"
24433 },
24434 "type" : {
24435 "type" : "string"
4d47f125
TL
24436 }
24437 },
44660702
DM
24438 "type" : "object"
24439 }
7aacca6f
DM
24440 },
24441 "PUT" : {
e9cd3bd4 24442 "allowtoken" : 1,
4d47f125 24443 "description" : "Modify rule data.",
44660702 24444 "method" : "PUT",
4d47f125 24445 "name" : "update_rule",
7aacca6f
DM
24446 "parameters" : {
24447 "additionalProperties" : 0,
24448 "properties" : {
4d47f125
TL
24449 "action" : {
24450 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24451 "maxLength" : 20,
24452 "minLength" : 2,
24453 "optional" : 1,
24454 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24455 "type" : "string"
24456 },
24457 "comment" : {
24458 "description" : "Descriptive comment.",
24459 "optional" : 1,
24460 "type" : "string",
24461 "typetext" : "<string>"
24462 },
24463 "delete" : {
24464 "description" : "A list of settings you want to delete.",
24465 "format" : "pve-configid-list",
24466 "optional" : 1,
24467 "type" : "string",
24468 "typetext" : "<string>"
24469 },
24470 "dest" : {
24471 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
24472 "format" : "pve-fw-addr-spec",
24473 "optional" : 1,
24474 "type" : "string",
24475 "typetext" : "<string>"
24476 },
24477 "digest" : {
24478 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24479 "maxLength" : 40,
24480 "optional" : 1,
24481 "type" : "string",
24482 "typetext" : "<string>"
24483 },
24484 "dport" : {
24485 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
24486 "format" : "pve-fw-dport-spec",
24487 "optional" : 1,
24488 "type" : "string",
24489 "typetext" : "<string>"
24490 },
24491 "enable" : {
24492 "description" : "Flag to enable/disable a rule.",
24493 "minimum" : 0,
24494 "optional" : 1,
24495 "type" : "integer",
24496 "typetext" : "<integer> (0 - N)"
24497 },
24498 "iface" : {
24499 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
24500 "format" : "pve-iface",
24501 "maxLength" : 20,
24502 "minLength" : 2,
24503 "optional" : 1,
24504 "type" : "string",
24505 "typetext" : "<string>"
24506 },
95895385
TL
24507 "log" : {
24508 "description" : "Log level for firewall rule.",
24509 "enum" : [
24510 "emerg",
24511 "alert",
24512 "crit",
24513 "err",
24514 "warning",
24515 "notice",
24516 "info",
24517 "debug",
24518 "nolog"
24519 ],
24520 "optional" : 1,
24521 "type" : "string"
24522 },
4d47f125
TL
24523 "macro" : {
24524 "description" : "Use predefined standard macro.",
24525 "maxLength" : 128,
44660702 24526 "optional" : 1,
013dc89f
DM
24527 "type" : "string",
24528 "typetext" : "<string>"
44660702 24529 },
4d47f125
TL
24530 "moveto" : {
24531 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
24532 "minimum" : 0,
24533 "optional" : 1,
24534 "type" : "integer",
24535 "typetext" : "<integer> (0 - N)"
24536 },
7aacca6f 24537 "node" : {
7aacca6f 24538 "description" : "The cluster node name.",
44660702 24539 "format" : "pve-node",
013dc89f
DM
24540 "type" : "string",
24541 "typetext" : "<string>"
7aacca6f 24542 },
4d47f125
TL
24543 "pos" : {
24544 "description" : "Update rule at position <pos>.",
24545 "minimum" : 0,
24546 "optional" : 1,
24547 "type" : "integer",
24548 "typetext" : "<integer> (0 - N)"
24549 },
24550 "proto" : {
24551 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24552 "format" : "pve-fw-protocol-spec",
24553 "optional" : 1,
24554 "type" : "string",
24555 "typetext" : "<string>"
24556 },
24557 "source" : {
24558 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
24559 "format" : "pve-fw-addr-spec",
24560 "optional" : 1,
24561 "type" : "string",
24562 "typetext" : "<string>"
24563 },
24564 "sport" : {
24565 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
24566 "format" : "pve-fw-sport-spec",
24567 "optional" : 1,
013dc89f
DM
24568 "type" : "string",
24569 "typetext" : "<string>"
7aacca6f 24570 },
4d47f125
TL
24571 "type" : {
24572 "description" : "Rule type.",
24573 "enum" : [
24574 "in",
24575 "out",
24576 "group"
24577 ],
24578 "optional" : 1,
24579 "type" : "string"
24580 },
7aacca6f 24581 "vmid" : {
44660702 24582 "description" : "The (unique) ID of the VM.",
7aacca6f 24583 "format" : "pve-vmid",
44660702 24584 "minimum" : 1,
4bd7df8b 24585 "type" : "integer",
013dc89f 24586 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
24587 }
24588 }
24589 },
7aacca6f
DM
24590 "permissions" : {
24591 "check" : [
24592 "perm",
24593 "/vms/{vmid}",
24594 [
4d47f125 24595 "VM.Config.Network"
7aacca6f
DM
24596 ]
24597 ]
24598 },
4d47f125
TL
24599 "protected" : 1,
24600 "proxyto" : null,
24601 "returns" : {
24602 "type" : "null"
24603 }
24604 }
24605 },
24606 "leaf" : 1,
24607 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
24608 "text" : "{pos}"
24609 }
24610 ],
24611 "info" : {
24612 "GET" : {
e9cd3bd4 24613 "allowtoken" : 1,
4d47f125
TL
24614 "description" : "List rules.",
24615 "method" : "GET",
24616 "name" : "get_rules",
24617 "parameters" : {
24618 "additionalProperties" : 0,
24619 "properties" : {
24620 "node" : {
24621 "description" : "The cluster node name.",
24622 "format" : "pve-node",
24623 "type" : "string",
24624 "typetext" : "<string>"
24625 },
24626 "vmid" : {
24627 "description" : "The (unique) ID of the VM.",
24628 "format" : "pve-vmid",
24629 "minimum" : 1,
24630 "type" : "integer",
24631 "typetext" : "<integer> (1 - N)"
24632 }
24633 }
24634 },
24635 "permissions" : {
24636 "check" : [
24637 "perm",
24638 "/vms/{vmid}",
24639 [
24640 "VM.Audit"
24641 ]
24642 ]
24643 },
24644 "proxyto" : null,
24645 "returns" : {
24646 "items" : {
24647 "properties" : {
24648 "pos" : {
24649 "type" : "integer"
24650 }
24651 },
24652 "type" : "object"
24653 },
24654 "links" : [
24655 {
24656 "href" : "{pos}",
24657 "rel" : "child"
24658 }
24659 ],
24660 "type" : "array"
24661 }
24662 },
24663 "POST" : {
e9cd3bd4 24664 "allowtoken" : 1,
4d47f125
TL
24665 "description" : "Create new rule.",
24666 "method" : "POST",
24667 "name" : "create_rule",
24668 "parameters" : {
24669 "additionalProperties" : 0,
24670 "properties" : {
24671 "action" : {
24672 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24673 "maxLength" : 20,
24674 "minLength" : 2,
24675 "optional" : 0,
24676 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24677 "type" : "string"
24678 },
24679 "comment" : {
24680 "description" : "Descriptive comment.",
24681 "optional" : 1,
24682 "type" : "string",
24683 "typetext" : "<string>"
24684 },
24685 "dest" : {
24686 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
24687 "format" : "pve-fw-addr-spec",
24688 "optional" : 1,
24689 "type" : "string",
24690 "typetext" : "<string>"
24691 },
24692 "digest" : {
24693 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24694 "maxLength" : 40,
24695 "optional" : 1,
24696 "type" : "string",
24697 "typetext" : "<string>"
24698 },
24699 "dport" : {
24700 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
24701 "format" : "pve-fw-dport-spec",
24702 "optional" : 1,
24703 "type" : "string",
24704 "typetext" : "<string>"
24705 },
24706 "enable" : {
24707 "description" : "Flag to enable/disable a rule.",
24708 "minimum" : 0,
24709 "optional" : 1,
24710 "type" : "integer",
24711 "typetext" : "<integer> (0 - N)"
24712 },
24713 "iface" : {
24714 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
24715 "format" : "pve-iface",
24716 "maxLength" : 20,
24717 "minLength" : 2,
24718 "optional" : 1,
24719 "type" : "string",
24720 "typetext" : "<string>"
24721 },
95895385
TL
24722 "log" : {
24723 "description" : "Log level for firewall rule.",
24724 "enum" : [
24725 "emerg",
24726 "alert",
24727 "crit",
24728 "err",
24729 "warning",
24730 "notice",
24731 "info",
24732 "debug",
24733 "nolog"
24734 ],
24735 "optional" : 1,
24736 "type" : "string"
24737 },
4d47f125
TL
24738 "macro" : {
24739 "description" : "Use predefined standard macro.",
24740 "maxLength" : 128,
44660702 24741 "optional" : 1,
4d47f125
TL
24742 "type" : "string",
24743 "typetext" : "<string>"
44660702
DM
24744 },
24745 "node" : {
24746 "description" : "The cluster node name.",
24747 "format" : "pve-node",
013dc89f
DM
24748 "type" : "string",
24749 "typetext" : "<string>"
7aacca6f 24750 },
4d47f125
TL
24751 "pos" : {
24752 "description" : "Update rule at position <pos>.",
24753 "minimum" : 0,
24754 "optional" : 1,
24755 "type" : "integer",
24756 "typetext" : "<integer> (0 - N)"
24757 },
24758 "proto" : {
24759 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24760 "format" : "pve-fw-protocol-spec",
24761 "optional" : 1,
24762 "type" : "string",
24763 "typetext" : "<string>"
24764 },
24765 "source" : {
24766 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
24767 "format" : "pve-fw-addr-spec",
24768 "optional" : 1,
013dc89f
DM
24769 "type" : "string",
24770 "typetext" : "<string>"
44660702 24771 },
4d47f125
TL
24772 "sport" : {
24773 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
24774 "format" : "pve-fw-sport-spec",
24775 "optional" : 1,
24776 "type" : "string",
24777 "typetext" : "<string>"
24778 },
24779 "type" : {
24780 "description" : "Rule type.",
24781 "enum" : [
24782 "in",
24783 "out",
24784 "group"
24785 ],
24786 "optional" : 0,
24787 "type" : "string"
24788 },
44660702
DM
24789 "vmid" : {
24790 "description" : "The (unique) ID of the VM.",
24791 "format" : "pve-vmid",
24792 "minimum" : 1,
4bd7df8b 24793 "type" : "integer",
013dc89f 24794 "typetext" : "<integer> (1 - N)"
56122987 24795 }
44660702 24796 }
7aacca6f 24797 },
56122987
DM
24798 "permissions" : {
24799 "check" : [
24800 "perm",
24801 "/vms/{vmid}",
24802 [
4d47f125 24803 "VM.Config.Network"
56122987
DM
24804 ]
24805 ]
24806 },
44660702 24807 "protected" : 1,
4d47f125 24808 "proxyto" : null,
44660702 24809 "returns" : {
4d47f125 24810 "type" : "null"
44660702
DM
24811 }
24812 }
24813 },
24814 "leaf" : 0,
4d47f125
TL
24815 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
24816 "text" : "rules"
7aacca6f 24817 },
56122987 24818 {
56122987
DM
24819 "children" : [
24820 {
56122987 24821 "info" : {
44660702 24822 "DELETE" : {
e9cd3bd4 24823 "allowtoken" : 1,
4d47f125 24824 "description" : "Remove IP or Network alias.",
44660702 24825 "method" : "DELETE",
4d47f125 24826 "name" : "remove_alias",
56122987 24827 "parameters" : {
44660702 24828 "additionalProperties" : 0,
56122987 24829 "properties" : {
44660702
DM
24830 "digest" : {
24831 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24832 "maxLength" : 40,
7aacca6f 24833 "optional" : 1,
013dc89f
DM
24834 "type" : "string",
24835 "typetext" : "<string>"
7aacca6f 24836 },
4d47f125
TL
24837 "name" : {
24838 "description" : "Alias name.",
24839 "maxLength" : 64,
24840 "minLength" : 2,
24841 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24842 "type" : "string"
24843 },
7aacca6f 24844 "node" : {
44660702 24845 "description" : "The cluster node name.",
7aacca6f 24846 "format" : "pve-node",
013dc89f
DM
24847 "type" : "string",
24848 "typetext" : "<string>"
44660702 24849 },
44660702
DM
24850 "vmid" : {
24851 "description" : "The (unique) ID of the VM.",
24852 "format" : "pve-vmid",
24853 "minimum" : 1,
4bd7df8b 24854 "type" : "integer",
013dc89f 24855 "typetext" : "<integer> (1 - N)"
56122987 24856 }
44660702 24857 }
56122987 24858 },
56122987
DM
24859 "permissions" : {
24860 "check" : [
24861 "perm",
24862 "/vms/{vmid}",
24863 [
44660702 24864 "VM.Config.Network"
56122987
DM
24865 ]
24866 ]
24867 },
44660702 24868 "protected" : 1,
44660702
DM
24869 "returns" : {
24870 "type" : "null"
24871 }
7aacca6f 24872 },
44660702 24873 "GET" : {
e9cd3bd4 24874 "allowtoken" : 1,
4d47f125 24875 "description" : "Read alias.",
44660702 24876 "method" : "GET",
4d47f125 24877 "name" : "read_alias",
56122987 24878 "parameters" : {
44660702 24879 "additionalProperties" : 0,
56122987 24880 "properties" : {
4d47f125
TL
24881 "name" : {
24882 "description" : "Alias name.",
24883 "maxLength" : 64,
24884 "minLength" : 2,
24885 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24886 "type" : "string"
24887 },
7aacca6f 24888 "node" : {
7aacca6f 24889 "description" : "The cluster node name.",
44660702 24890 "format" : "pve-node",
013dc89f
DM
24891 "type" : "string",
24892 "typetext" : "<string>"
56122987 24893 },
7aacca6f 24894 "vmid" : {
44660702 24895 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24896 "format" : "pve-vmid",
24897 "minimum" : 1,
4bd7df8b 24898 "type" : "integer",
013dc89f 24899 "typetext" : "<integer> (1 - N)"
56122987 24900 }
44660702 24901 }
56122987 24902 },
7aacca6f
DM
24903 "permissions" : {
24904 "check" : [
24905 "perm",
24906 "/vms/{vmid}",
24907 [
44660702 24908 "VM.Audit"
7aacca6f
DM
24909 ]
24910 ]
24911 },
7aacca6f 24912 "returns" : {
44660702 24913 "type" : "object"
7aacca6f 24914 }
56122987 24915 },
44660702 24916 "PUT" : {
e9cd3bd4 24917 "allowtoken" : 1,
4d47f125 24918 "description" : "Update IP or Network alias.",
44660702 24919 "method" : "PUT",
4d47f125 24920 "name" : "update_alias",
56122987
DM
24921 "parameters" : {
24922 "additionalProperties" : 0,
24923 "properties" : {
4d47f125
TL
24924 "cidr" : {
24925 "description" : "Network/IP specification in CIDR format.",
24926 "format" : "IPorCIDR",
013dc89f
DM
24927 "type" : "string",
24928 "typetext" : "<string>"
44660702 24929 },
4d47f125 24930 "comment" : {
44660702 24931 "optional" : 1,
013dc89f
DM
24932 "type" : "string",
24933 "typetext" : "<string>"
44660702
DM
24934 },
24935 "digest" : {
24936 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24937 "maxLength" : 40,
24938 "optional" : 1,
013dc89f
DM
24939 "type" : "string",
24940 "typetext" : "<string>"
44660702 24941 },
4d47f125
TL
24942 "name" : {
24943 "description" : "Alias name.",
24944 "maxLength" : 64,
44660702 24945 "minLength" : 2,
4d47f125
TL
24946 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24947 "type" : "string"
44660702 24948 },
7aacca6f
DM
24949 "node" : {
24950 "description" : "The cluster node name.",
44660702 24951 "format" : "pve-node",
013dc89f
DM
24952 "type" : "string",
24953 "typetext" : "<string>"
56122987 24954 },
4d47f125
TL
24955 "rename" : {
24956 "description" : "Rename an existing alias.",
24957 "maxLength" : 64,
24958 "minLength" : 2,
7aacca6f 24959 "optional" : 1,
4d47f125 24960 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
24961 "type" : "string"
24962 },
24963 "vmid" : {
24964 "description" : "The (unique) ID of the VM.",
24965 "format" : "pve-vmid",
24966 "minimum" : 1,
4bd7df8b 24967 "type" : "integer",
013dc89f 24968 "typetext" : "<integer> (1 - N)"
56122987
DM
24969 }
24970 }
24971 },
56122987
DM
24972 "permissions" : {
24973 "check" : [
24974 "perm",
24975 "/vms/{vmid}",
24976 [
7aacca6f 24977 "VM.Config.Network"
56122987
DM
24978 ]
24979 ]
24980 },
44660702 24981 "protected" : 1,
56122987 24982 "returns" : {
7aacca6f
DM
24983 "type" : "null"
24984 }
56122987 24985 }
44660702
DM
24986 },
24987 "leaf" : 1,
4d47f125
TL
24988 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
24989 "text" : "{name}"
56122987
DM
24990 }
24991 ],
24992 "info" : {
7aacca6f 24993 "GET" : {
e9cd3bd4 24994 "allowtoken" : 1,
4d47f125 24995 "description" : "List aliases",
44660702 24996 "method" : "GET",
4d47f125 24997 "name" : "get_aliases",
7aacca6f 24998 "parameters" : {
44660702 24999 "additionalProperties" : 0,
7aacca6f
DM
25000 "properties" : {
25001 "node" : {
7aacca6f 25002 "description" : "The cluster node name.",
44660702 25003 "format" : "pve-node",
013dc89f
DM
25004 "type" : "string",
25005 "typetext" : "<string>"
7aacca6f
DM
25006 },
25007 "vmid" : {
25008 "description" : "The (unique) ID of the VM.",
44660702 25009 "format" : "pve-vmid",
7aacca6f 25010 "minimum" : 1,
4bd7df8b 25011 "type" : "integer",
013dc89f 25012 "typetext" : "<integer> (1 - N)"
7aacca6f 25013 }
44660702 25014 }
56122987 25015 },
56122987
DM
25016 "permissions" : {
25017 "check" : [
25018 "perm",
25019 "/vms/{vmid}",
25020 [
7aacca6f 25021 "VM.Audit"
56122987
DM
25022 ]
25023 ]
25024 },
7aacca6f 25025 "returns" : {
7aacca6f
DM
25026 "items" : {
25027 "properties" : {
4d47f125
TL
25028 "cidr" : {
25029 "type" : "string"
25030 },
25031 "comment" : {
25032 "optional" : 1,
25033 "type" : "string"
25034 },
25035 "digest" : {
25036 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25037 "maxLength" : 40,
25038 "optional" : 0,
25039 "type" : "string"
25040 },
25041 "name" : {
25042 "type" : "string"
7aacca6f
DM
25043 }
25044 },
25045 "type" : "object"
25046 },
25047 "links" : [
25048 {
4d47f125 25049 "href" : "{name}",
44660702 25050 "rel" : "child"
7aacca6f 25051 }
44660702
DM
25052 ],
25053 "type" : "array"
25054 }
7aacca6f
DM
25055 },
25056 "POST" : {
e9cd3bd4 25057 "allowtoken" : 1,
4d47f125 25058 "description" : "Create IP or Network Alias.",
44660702 25059 "method" : "POST",
4d47f125 25060 "name" : "create_alias",
56122987 25061 "parameters" : {
44660702 25062 "additionalProperties" : 0,
56122987 25063 "properties" : {
4d47f125
TL
25064 "cidr" : {
25065 "description" : "Network/IP specification in CIDR format.",
25066 "format" : "IPorCIDR",
013dc89f 25067 "type" : "string",
4d47f125
TL
25068 "typetext" : "<string>"
25069 },
25070 "comment" : {
44660702 25071 "optional" : 1,
013dc89f
DM
25072 "type" : "string",
25073 "typetext" : "<string>"
7aacca6f 25074 },
4d47f125
TL
25075 "name" : {
25076 "description" : "Alias name.",
25077 "maxLength" : 64,
25078 "minLength" : 2,
25079 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
25080 "type" : "string"
25081 },
4d47f125
TL
25082 "node" : {
25083 "description" : "The cluster node name.",
25084 "format" : "pve-node",
25085 "type" : "string",
25086 "typetext" : "<string>"
25087 },
44660702
DM
25088 "vmid" : {
25089 "description" : "The (unique) ID of the VM.",
25090 "format" : "pve-vmid",
25091 "minimum" : 1,
4bd7df8b 25092 "type" : "integer",
013dc89f 25093 "typetext" : "<integer> (1 - N)"
44660702
DM
25094 }
25095 }
25096 },
25097 "permissions" : {
25098 "check" : [
25099 "perm",
25100 "/vms/{vmid}",
25101 [
25102 "VM.Config.Network"
25103 ]
25104 ]
25105 },
25106 "protected" : 1,
44660702
DM
25107 "returns" : {
25108 "type" : "null"
25109 }
25110 }
25111 },
25112 "leaf" : 0,
4d47f125
TL
25113 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
25114 "text" : "aliases"
44660702
DM
25115 },
25116 {
25117 "children" : [
25118 {
4d47f125
TL
25119 "children" : [
25120 {
25121 "info" : {
25122 "DELETE" : {
e9cd3bd4 25123 "allowtoken" : 1,
4d47f125
TL
25124 "description" : "Remove IP or Network from IPSet.",
25125 "method" : "DELETE",
25126 "name" : "remove_ip",
25127 "parameters" : {
25128 "additionalProperties" : 0,
25129 "properties" : {
25130 "cidr" : {
25131 "description" : "Network/IP specification in CIDR format.",
25132 "format" : "IPorCIDRorAlias",
25133 "type" : "string",
25134 "typetext" : "<string>"
25135 },
25136 "digest" : {
25137 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25138 "maxLength" : 40,
25139 "optional" : 1,
25140 "type" : "string",
25141 "typetext" : "<string>"
25142 },
25143 "name" : {
25144 "description" : "IP set name.",
25145 "maxLength" : 64,
25146 "minLength" : 2,
25147 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25148 "type" : "string"
25149 },
25150 "node" : {
25151 "description" : "The cluster node name.",
25152 "format" : "pve-node",
25153 "type" : "string",
25154 "typetext" : "<string>"
25155 },
25156 "vmid" : {
25157 "description" : "The (unique) ID of the VM.",
25158 "format" : "pve-vmid",
25159 "minimum" : 1,
25160 "type" : "integer",
25161 "typetext" : "<integer> (1 - N)"
25162 }
25163 }
25164 },
25165 "permissions" : {
25166 "check" : [
25167 "perm",
25168 "/vms/{vmid}",
25169 [
25170 "VM.Config.Network"
25171 ]
25172 ]
25173 },
25174 "protected" : 1,
25175 "returns" : {
25176 "type" : "null"
25177 }
25178 },
25179 "GET" : {
e9cd3bd4 25180 "allowtoken" : 1,
4d47f125
TL
25181 "description" : "Read IP or Network settings from IPSet.",
25182 "method" : "GET",
25183 "name" : "read_ip",
25184 "parameters" : {
25185 "additionalProperties" : 0,
25186 "properties" : {
25187 "cidr" : {
25188 "description" : "Network/IP specification in CIDR format.",
25189 "format" : "IPorCIDRorAlias",
25190 "type" : "string",
25191 "typetext" : "<string>"
25192 },
25193 "name" : {
25194 "description" : "IP set name.",
25195 "maxLength" : 64,
25196 "minLength" : 2,
25197 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25198 "type" : "string"
25199 },
25200 "node" : {
25201 "description" : "The cluster node name.",
25202 "format" : "pve-node",
25203 "type" : "string",
25204 "typetext" : "<string>"
25205 },
25206 "vmid" : {
25207 "description" : "The (unique) ID of the VM.",
25208 "format" : "pve-vmid",
25209 "minimum" : 1,
25210 "type" : "integer",
25211 "typetext" : "<integer> (1 - N)"
25212 }
25213 }
25214 },
25215 "permissions" : {
25216 "check" : [
25217 "perm",
25218 "/vms/{vmid}",
25219 [
25220 "VM.Audit"
25221 ]
25222 ]
25223 },
25224 "protected" : 1,
25225 "returns" : {
25226 "type" : "object"
25227 }
25228 },
25229 "PUT" : {
e9cd3bd4 25230 "allowtoken" : 1,
4d47f125
TL
25231 "description" : "Update IP or Network settings",
25232 "method" : "PUT",
25233 "name" : "update_ip",
25234 "parameters" : {
25235 "additionalProperties" : 0,
25236 "properties" : {
25237 "cidr" : {
25238 "description" : "Network/IP specification in CIDR format.",
25239 "format" : "IPorCIDRorAlias",
25240 "type" : "string",
25241 "typetext" : "<string>"
25242 },
25243 "comment" : {
25244 "optional" : 1,
25245 "type" : "string",
25246 "typetext" : "<string>"
25247 },
25248 "digest" : {
25249 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25250 "maxLength" : 40,
25251 "optional" : 1,
25252 "type" : "string",
25253 "typetext" : "<string>"
25254 },
25255 "name" : {
25256 "description" : "IP set name.",
25257 "maxLength" : 64,
25258 "minLength" : 2,
25259 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25260 "type" : "string"
25261 },
25262 "node" : {
25263 "description" : "The cluster node name.",
25264 "format" : "pve-node",
25265 "type" : "string",
25266 "typetext" : "<string>"
25267 },
25268 "nomatch" : {
25269 "optional" : 1,
25270 "type" : "boolean",
25271 "typetext" : "<boolean>"
25272 },
25273 "vmid" : {
25274 "description" : "The (unique) ID of the VM.",
25275 "format" : "pve-vmid",
25276 "minimum" : 1,
25277 "type" : "integer",
25278 "typetext" : "<integer> (1 - N)"
25279 }
25280 }
25281 },
25282 "permissions" : {
25283 "check" : [
25284 "perm",
25285 "/vms/{vmid}",
25286 [
25287 "VM.Config.Network"
25288 ]
25289 ]
25290 },
25291 "protected" : 1,
25292 "returns" : {
25293 "type" : "null"
25294 }
25295 }
25296 },
25297 "leaf" : 1,
25298 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
25299 "text" : "{cidr}"
25300 }
25301 ],
44660702
DM
25302 "info" : {
25303 "DELETE" : {
e9cd3bd4 25304 "allowtoken" : 1,
4d47f125 25305 "description" : "Delete IPSet",
44660702 25306 "method" : "DELETE",
4d47f125 25307 "name" : "delete_ipset",
56122987 25308 "parameters" : {
44660702 25309 "additionalProperties" : 0,
56122987 25310 "properties" : {
7aacca6f 25311 "name" : {
4d47f125 25312 "description" : "IP set name.",
7aacca6f 25313 "maxLength" : 64,
7aacca6f
DM
25314 "minLength" : 2,
25315 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25316 "type" : "string"
7aacca6f
DM
25317 },
25318 "node" : {
44660702 25319 "description" : "The cluster node name.",
56122987 25320 "format" : "pve-node",
013dc89f
DM
25321 "type" : "string",
25322 "typetext" : "<string>"
7aacca6f 25323 },
56122987 25324 "vmid" : {
44660702 25325 "description" : "The (unique) ID of the VM.",
56122987 25326 "format" : "pve-vmid",
44660702 25327 "minimum" : 1,
4bd7df8b 25328 "type" : "integer",
013dc89f 25329 "typetext" : "<integer> (1 - N)"
56122987 25330 }
44660702 25331 }
56122987 25332 },
56122987
DM
25333 "permissions" : {
25334 "check" : [
25335 "perm",
25336 "/vms/{vmid}",
25337 [
7aacca6f 25338 "VM.Config.Network"
56122987
DM
25339 ]
25340 ]
25341 },
44660702 25342 "protected" : 1,
56122987 25343 "returns" : {
7aacca6f 25344 "type" : "null"
44660702 25345 }
56122987 25346 },
44660702 25347 "GET" : {
e9cd3bd4 25348 "allowtoken" : 1,
4d47f125 25349 "description" : "List IPSet content",
44660702 25350 "method" : "GET",
4d47f125 25351 "name" : "get_ipset",
44660702
DM
25352 "parameters" : {
25353 "additionalProperties" : 0,
25354 "properties" : {
25355 "name" : {
4d47f125 25356 "description" : "IP set name.",
44660702
DM
25357 "maxLength" : 64,
25358 "minLength" : 2,
25359 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25360 "type" : "string"
25361 },
25362 "node" : {
25363 "description" : "The cluster node name.",
25364 "format" : "pve-node",
013dc89f
DM
25365 "type" : "string",
25366 "typetext" : "<string>"
44660702
DM
25367 },
25368 "vmid" : {
25369 "description" : "The (unique) ID of the VM.",
25370 "format" : "pve-vmid",
25371 "minimum" : 1,
4bd7df8b 25372 "type" : "integer",
013dc89f 25373 "typetext" : "<integer> (1 - N)"
44660702 25374 }
4d47f125
TL
25375 }
25376 },
25377 "permissions" : {
25378 "check" : [
25379 "perm",
25380 "/vms/{vmid}",
25381 [
25382 "VM.Audit"
25383 ]
25384 ]
25385 },
25386 "returns" : {
25387 "items" : {
25388 "properties" : {
25389 "cidr" : {
25390 "type" : "string"
25391 },
25392 "comment" : {
25393 "optional" : 1,
25394 "type" : "string"
25395 },
25396 "digest" : {
25397 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25398 "maxLength" : 40,
25399 "optional" : 0,
25400 "type" : "string"
25401 },
25402 "nomatch" : {
25403 "optional" : 1,
25404 "type" : "boolean"
25405 }
25406 },
25407 "type" : "object"
25408 },
25409 "links" : [
25410 {
25411 "href" : "{cidr}",
25412 "rel" : "child"
25413 }
25414 ],
25415 "type" : "array"
44660702
DM
25416 }
25417 },
4d47f125 25418 "POST" : {
e9cd3bd4 25419 "allowtoken" : 1,
4d47f125
TL
25420 "description" : "Add IP or Network to IPSet.",
25421 "method" : "POST",
25422 "name" : "create_ip",
56122987
DM
25423 "parameters" : {
25424 "additionalProperties" : 0,
25425 "properties" : {
44660702
DM
25426 "cidr" : {
25427 "description" : "Network/IP specification in CIDR format.",
4d47f125 25428 "format" : "IPorCIDRorAlias",
013dc89f
DM
25429 "type" : "string",
25430 "typetext" : "<string>"
44660702
DM
25431 },
25432 "comment" : {
25433 "optional" : 1,
013dc89f
DM
25434 "type" : "string",
25435 "typetext" : "<string>"
44660702 25436 },
56122987 25437 "name" : {
4d47f125 25438 "description" : "IP set name.",
44660702
DM
25439 "maxLength" : 64,
25440 "minLength" : 2,
7aacca6f 25441 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25442 "type" : "string"
56122987
DM
25443 },
25444 "node" : {
25445 "description" : "The cluster node name.",
44660702 25446 "format" : "pve-node",
013dc89f
DM
25447 "type" : "string",
25448 "typetext" : "<string>"
44660702 25449 },
4d47f125 25450 "nomatch" : {
44660702 25451 "optional" : 1,
4d47f125
TL
25452 "type" : "boolean",
25453 "typetext" : "<boolean>"
56122987 25454 },
7aacca6f 25455 "vmid" : {
7aacca6f 25456 "description" : "The (unique) ID of the VM.",
44660702 25457 "format" : "pve-vmid",
7aacca6f 25458 "minimum" : 1,
4bd7df8b 25459 "type" : "integer",
013dc89f 25460 "typetext" : "<integer> (1 - N)"
56122987
DM
25461 }
25462 }
25463 },
44660702
DM
25464 "permissions" : {
25465 "check" : [
25466 "perm",
25467 "/vms/{vmid}",
25468 [
25469 "VM.Config.Network"
25470 ]
25471 ]
7aacca6f 25472 },
44660702
DM
25473 "protected" : 1,
25474 "returns" : {
25475 "type" : "null"
7aacca6f
DM
25476 }
25477 }
25478 },
4d47f125
TL
25479 "leaf" : 0,
25480 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
25481 "text" : "{name}"
25482 }
25483 ],
25484 "info" : {
25485 "GET" : {
e9cd3bd4 25486 "allowtoken" : 1,
4d47f125 25487 "description" : "List IPSets",
44660702 25488 "method" : "GET",
4d47f125 25489 "name" : "ipset_index",
56122987
DM
25490 "parameters" : {
25491 "additionalProperties" : 0,
25492 "properties" : {
25493 "node" : {
44660702 25494 "description" : "The cluster node name.",
56122987 25495 "format" : "pve-node",
013dc89f
DM
25496 "type" : "string",
25497 "typetext" : "<string>"
56122987
DM
25498 },
25499 "vmid" : {
7aacca6f 25500 "description" : "The (unique) ID of the VM.",
44660702 25501 "format" : "pve-vmid",
7aacca6f 25502 "minimum" : 1,
4bd7df8b 25503 "type" : "integer",
013dc89f 25504 "typetext" : "<integer> (1 - N)"
56122987
DM
25505 }
25506 }
25507 },
44660702
DM
25508 "permissions" : {
25509 "check" : [
25510 "perm",
25511 "/vms/{vmid}",
25512 [
25513 "VM.Audit"
25514 ]
25515 ]
25516 },
56122987
DM
25517 "returns" : {
25518 "items" : {
56122987 25519 "properties" : {
44660702
DM
25520 "comment" : {
25521 "optional" : 1,
56122987
DM
25522 "type" : "string"
25523 },
56122987 25524 "digest" : {
56122987 25525 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
25526 "maxLength" : 40,
25527 "optional" : 0,
25528 "type" : "string"
25529 },
25530 "name" : {
4d47f125
TL
25531 "description" : "IP set name.",
25532 "maxLength" : 64,
25533 "minLength" : 2,
25534 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25535 "type" : "string"
56122987 25536 }
44660702
DM
25537 },
25538 "type" : "object"
25539 },
25540 "links" : [
25541 {
25542 "href" : "{name}",
25543 "rel" : "child"
56122987 25544 }
4d47f125
TL
25545 ],
25546 "type" : "array"
25547 }
25548 },
25549 "POST" : {
e9cd3bd4 25550 "allowtoken" : 1,
4d47f125
TL
25551 "description" : "Create new IPSet",
25552 "method" : "POST",
25553 "name" : "create_ipset",
25554 "parameters" : {
25555 "additionalProperties" : 0,
25556 "properties" : {
25557 "comment" : {
25558 "optional" : 1,
25559 "type" : "string",
25560 "typetext" : "<string>"
25561 },
25562 "digest" : {
25563 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25564 "maxLength" : 40,
25565 "optional" : 1,
25566 "type" : "string",
25567 "typetext" : "<string>"
25568 },
25569 "name" : {
25570 "description" : "IP set name.",
25571 "maxLength" : 64,
25572 "minLength" : 2,
25573 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25574 "type" : "string"
25575 },
25576 "node" : {
25577 "description" : "The cluster node name.",
25578 "format" : "pve-node",
25579 "type" : "string",
25580 "typetext" : "<string>"
25581 },
25582 "rename" : {
25583 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
25584 "maxLength" : 64,
25585 "minLength" : 2,
25586 "optional" : 1,
25587 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25588 "type" : "string"
25589 },
25590 "vmid" : {
25591 "description" : "The (unique) ID of the VM.",
25592 "format" : "pve-vmid",
25593 "minimum" : 1,
25594 "type" : "integer",
25595 "typetext" : "<integer> (1 - N)"
25596 }
25597 }
25598 },
25599 "permissions" : {
25600 "check" : [
25601 "perm",
25602 "/vms/{vmid}",
25603 [
25604 "VM.Config.Network"
25605 ]
25606 ]
25607 },
25608 "protected" : 1,
25609 "returns" : {
25610 "type" : "null"
25611 }
25612 }
25613 },
25614 "leaf" : 0,
25615 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
25616 "text" : "ipset"
25617 },
25618 {
25619 "info" : {
25620 "GET" : {
e9cd3bd4 25621 "allowtoken" : 1,
4d47f125
TL
25622 "description" : "Get VM firewall options.",
25623 "method" : "GET",
25624 "name" : "get_options",
25625 "parameters" : {
25626 "additionalProperties" : 0,
25627 "properties" : {
25628 "node" : {
25629 "description" : "The cluster node name.",
25630 "format" : "pve-node",
25631 "type" : "string",
25632 "typetext" : "<string>"
25633 },
25634 "vmid" : {
25635 "description" : "The (unique) ID of the VM.",
25636 "format" : "pve-vmid",
25637 "minimum" : 1,
25638 "type" : "integer",
25639 "typetext" : "<integer> (1 - N)"
25640 }
25641 }
25642 },
25643 "permissions" : {
25644 "check" : [
25645 "perm",
25646 "/vms/{vmid}",
25647 [
25648 "VM.Audit"
25649 ]
25650 ]
25651 },
25652 "proxyto" : "node",
25653 "returns" : {
25654 "properties" : {
25655 "dhcp" : {
5c1699e5 25656 "default" : 0,
4d47f125
TL
25657 "description" : "Enable DHCP.",
25658 "optional" : 1,
25659 "type" : "boolean"
25660 },
25661 "enable" : {
5c1699e5 25662 "default" : 0,
4d47f125
TL
25663 "description" : "Enable/disable firewall rules.",
25664 "optional" : 1,
25665 "type" : "boolean"
25666 },
25667 "ipfilter" : {
25668 "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
25669 "optional" : 1,
25670 "type" : "boolean"
25671 },
25672 "log_level_in" : {
25673 "description" : "Log level for incoming traffic.",
25674 "enum" : [
25675 "emerg",
25676 "alert",
25677 "crit",
25678 "err",
25679 "warning",
25680 "notice",
25681 "info",
25682 "debug",
25683 "nolog"
25684 ],
25685 "optional" : 1,
25686 "type" : "string"
25687 },
25688 "log_level_out" : {
25689 "description" : "Log level for outgoing traffic.",
25690 "enum" : [
25691 "emerg",
25692 "alert",
25693 "crit",
25694 "err",
25695 "warning",
25696 "notice",
25697 "info",
25698 "debug",
25699 "nolog"
25700 ],
25701 "optional" : 1,
25702 "type" : "string"
25703 },
25704 "macfilter" : {
5c1699e5 25705 "default" : 0,
4d47f125
TL
25706 "description" : "Enable/disable MAC address filter.",
25707 "optional" : 1,
25708 "type" : "boolean"
25709 },
25710 "ndp" : {
5c1699e5
TL
25711 "default" : 0,
25712 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
25713 "optional" : 1,
25714 "type" : "boolean"
25715 },
25716 "policy_in" : {
25717 "description" : "Input policy.",
25718 "enum" : [
25719 "ACCEPT",
25720 "REJECT",
25721 "DROP"
25722 ],
25723 "optional" : 1,
25724 "type" : "string"
25725 },
25726 "policy_out" : {
25727 "description" : "Output policy.",
25728 "enum" : [
25729 "ACCEPT",
25730 "REJECT",
25731 "DROP"
25732 ],
25733 "optional" : 1,
25734 "type" : "string"
25735 },
25736 "radv" : {
25737 "description" : "Allow sending Router Advertisement.",
25738 "optional" : 1,
25739 "type" : "boolean"
25740 }
25741 },
25742 "type" : "object"
7aacca6f
DM
25743 }
25744 },
4d47f125 25745 "PUT" : {
e9cd3bd4 25746 "allowtoken" : 1,
4d47f125
TL
25747 "description" : "Set Firewall options.",
25748 "method" : "PUT",
25749 "name" : "set_options",
7aacca6f
DM
25750 "parameters" : {
25751 "additionalProperties" : 0,
25752 "properties" : {
4d47f125
TL
25753 "delete" : {
25754 "description" : "A list of settings you want to delete.",
25755 "format" : "pve-configid-list",
7aacca6f 25756 "optional" : 1,
013dc89f
DM
25757 "type" : "string",
25758 "typetext" : "<string>"
7aacca6f 25759 },
4d47f125 25760 "dhcp" : {
5c1699e5 25761 "default" : 0,
4d47f125
TL
25762 "description" : "Enable DHCP.",
25763 "optional" : 1,
25764 "type" : "boolean",
25765 "typetext" : "<boolean>"
7aacca6f 25766 },
4d47f125
TL
25767 "digest" : {
25768 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25769 "maxLength" : 40,
25770 "optional" : 1,
013dc89f
DM
25771 "type" : "string",
25772 "typetext" : "<string>"
7aacca6f 25773 },
4d47f125 25774 "enable" : {
5c1699e5 25775 "default" : 0,
4d47f125
TL
25776 "description" : "Enable/disable firewall rules.",
25777 "optional" : 1,
25778 "type" : "boolean",
25779 "typetext" : "<boolean>"
25780 },
25781 "ipfilter" : {
25782 "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
25783 "optional" : 1,
25784 "type" : "boolean",
25785 "typetext" : "<boolean>"
56122987 25786 },
4d47f125
TL
25787 "log_level_in" : {
25788 "description" : "Log level for incoming traffic.",
25789 "enum" : [
25790 "emerg",
25791 "alert",
25792 "crit",
25793 "err",
25794 "warning",
25795 "notice",
25796 "info",
25797 "debug",
25798 "nolog"
25799 ],
25800 "optional" : 1,
25801 "type" : "string"
44660702 25802 },
4d47f125
TL
25803 "log_level_out" : {
25804 "description" : "Log level for outgoing traffic.",
25805 "enum" : [
25806 "emerg",
25807 "alert",
25808 "crit",
25809 "err",
25810 "warning",
25811 "notice",
25812 "info",
25813 "debug",
25814 "nolog"
25815 ],
25816 "optional" : 1,
25817 "type" : "string"
44660702 25818 },
4d47f125 25819 "macfilter" : {
5c1699e5 25820 "default" : 0,
4d47f125
TL
25821 "description" : "Enable/disable MAC address filter.",
25822 "optional" : 1,
25823 "type" : "boolean",
25824 "typetext" : "<boolean>"
7aacca6f 25825 },
4d47f125 25826 "ndp" : {
5c1699e5
TL
25827 "default" : 0,
25828 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
25829 "optional" : 1,
25830 "type" : "boolean",
25831 "typetext" : "<boolean>"
7aacca6f 25832 },
4d47f125
TL
25833 "node" : {
25834 "description" : "The cluster node name.",
25835 "format" : "pve-node",
25836 "type" : "string",
25837 "typetext" : "<string>"
25838 },
25839 "policy_in" : {
25840 "description" : "Input policy.",
25841 "enum" : [
25842 "ACCEPT",
25843 "REJECT",
25844 "DROP"
44660702 25845 ],
4d47f125
TL
25846 "optional" : 1,
25847 "type" : "string"
25848 },
25849 "policy_out" : {
25850 "description" : "Output policy.",
25851 "enum" : [
25852 "ACCEPT",
25853 "REJECT",
25854 "DROP"
25855 ],
25856 "optional" : 1,
25857 "type" : "string"
25858 },
25859 "radv" : {
25860 "description" : "Allow sending Router Advertisement.",
25861 "optional" : 1,
25862 "type" : "boolean",
25863 "typetext" : "<boolean>"
25864 },
25865 "vmid" : {
25866 "description" : "The (unique) ID of the VM.",
25867 "format" : "pve-vmid",
25868 "minimum" : 1,
25869 "type" : "integer",
25870 "typetext" : "<integer> (1 - N)"
44660702 25871 }
4d47f125
TL
25872 }
25873 },
25874 "permissions" : {
25875 "check" : [
25876 "perm",
25877 "/vms/{vmid}",
25878 [
25879 "VM.Config.Network"
25880 ]
25881 ]
25882 },
25883 "protected" : 1,
25884 "proxyto" : "node",
25885 "returns" : {
25886 "type" : "null"
25887 }
25888 }
25889 },
25890 "leaf" : 1,
25891 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
25892 "text" : "options"
25893 },
25894 {
25895 "info" : {
25896 "GET" : {
e9cd3bd4 25897 "allowtoken" : 1,
4d47f125
TL
25898 "description" : "Read firewall log",
25899 "method" : "GET",
25900 "name" : "log",
25901 "parameters" : {
25902 "additionalProperties" : 0,
25903 "properties" : {
25904 "limit" : {
25905 "minimum" : 0,
25906 "optional" : 1,
25907 "type" : "integer",
25908 "typetext" : "<integer> (0 - N)"
44660702 25909 },
4d47f125
TL
25910 "node" : {
25911 "description" : "The cluster node name.",
25912 "format" : "pve-node",
25913 "type" : "string",
25914 "typetext" : "<string>"
44660702 25915 },
4d47f125
TL
25916 "start" : {
25917 "minimum" : 0,
25918 "optional" : 1,
25919 "type" : "integer",
25920 "typetext" : "<integer> (0 - N)"
25921 },
25922 "vmid" : {
25923 "description" : "The (unique) ID of the VM.",
25924 "format" : "pve-vmid",
25925 "minimum" : 1,
25926 "type" : "integer",
25927 "typetext" : "<integer> (1 - N)"
44660702
DM
25928 }
25929 }
25930 },
4d47f125
TL
25931 "permissions" : {
25932 "check" : [
25933 "perm",
25934 "/vms/{vmid}",
25935 [
25936 "VM.Console"
25937 ]
25938 ]
25939 },
25940 "protected" : 1,
25941 "proxyto" : "node",
25942 "returns" : {
25943 "items" : {
25944 "properties" : {
25945 "n" : {
25946 "description" : "Line number",
25947 "type" : "integer"
25948 },
25949 "t" : {
25950 "description" : "Line text",
25951 "type" : "string"
25952 }
25953 },
25954 "type" : "object"
25955 },
25956 "type" : "array"
25957 }
44660702 25958 }
4d47f125
TL
25959 },
25960 "leaf" : 1,
25961 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
25962 "text" : "log"
25963 },
25964 {
44660702
DM
25965 "info" : {
25966 "GET" : {
e9cd3bd4 25967 "allowtoken" : 1,
4d47f125 25968 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 25969 "method" : "GET",
4d47f125 25970 "name" : "refs",
44660702
DM
25971 "parameters" : {
25972 "additionalProperties" : 0,
25973 "properties" : {
25974 "node" : {
25975 "description" : "The cluster node name.",
25976 "format" : "pve-node",
013dc89f
DM
25977 "type" : "string",
25978 "typetext" : "<string>"
44660702 25979 },
4d47f125
TL
25980 "type" : {
25981 "description" : "Only list references of specified type.",
25982 "enum" : [
25983 "alias",
25984 "ipset"
25985 ],
25986 "optional" : 1,
25987 "type" : "string"
25988 },
44660702
DM
25989 "vmid" : {
25990 "description" : "The (unique) ID of the VM.",
25991 "format" : "pve-vmid",
25992 "minimum" : 1,
4bd7df8b 25993 "type" : "integer",
013dc89f 25994 "typetext" : "<integer> (1 - N)"
44660702
DM
25995 }
25996 }
25997 },
4d47f125
TL
25998 "permissions" : {
25999 "check" : [
26000 "perm",
26001 "/vms/{vmid}",
26002 [
26003 "VM.Audit"
26004 ]
26005 ]
26006 },
26007 "returns" : {
26008 "items" : {
26009 "properties" : {
26010 "comment" : {
26011 "optional" : 1,
26012 "type" : "string"
26013 },
26014 "name" : {
26015 "type" : "string"
26016 },
26017 "type" : {
26018 "enum" : [
26019 "alias",
26020 "ipset"
26021 ],
26022 "type" : "string"
26023 }
26024 },
26025 "type" : "object"
26026 },
26027 "type" : "array"
26028 }
26029 }
26030 },
26031 "leaf" : 1,
26032 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
26033 "text" : "refs"
26034 }
26035 ],
26036 "info" : {
26037 "GET" : {
e9cd3bd4 26038 "allowtoken" : 1,
4d47f125
TL
26039 "description" : "Directory index.",
26040 "method" : "GET",
26041 "name" : "index",
26042 "parameters" : {
26043 "additionalProperties" : 0,
26044 "properties" : {
26045 "node" : {
26046 "description" : "The cluster node name.",
26047 "format" : "pve-node",
26048 "type" : "string",
26049 "typetext" : "<string>"
26050 },
26051 "vmid" : {
26052 "description" : "The (unique) ID of the VM.",
26053 "format" : "pve-vmid",
26054 "minimum" : 1,
26055 "type" : "integer",
26056 "typetext" : "<integer> (1 - N)"
26057 }
26058 }
26059 },
26060 "permissions" : {
26061 "user" : "all"
26062 },
26063 "returns" : {
26064 "items" : {
26065 "properties" : {},
26066 "type" : "object"
26067 },
26068 "links" : [
26069 {
26070 "href" : "{name}",
26071 "rel" : "child"
26072 }
26073 ],
26074 "type" : "array"
26075 }
26076 }
26077 },
26078 "leaf" : 0,
26079 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
26080 "text" : "firewall"
26081 },
26082 {
26083 "info" : {
26084 "GET" : {
e9cd3bd4 26085 "allowtoken" : 1,
4d47f125
TL
26086 "description" : "Read VM RRD statistics (returns PNG)",
26087 "method" : "GET",
26088 "name" : "rrd",
26089 "parameters" : {
26090 "additionalProperties" : 0,
26091 "properties" : {
26092 "cf" : {
26093 "description" : "The RRD consolidation function",
26094 "enum" : [
26095 "AVERAGE",
26096 "MAX"
26097 ],
26098 "optional" : 1,
26099 "type" : "string"
26100 },
26101 "ds" : {
26102 "description" : "The list of datasources you want to display.",
26103 "format" : "pve-configid-list",
26104 "type" : "string",
26105 "typetext" : "<string>"
26106 },
26107 "node" : {
26108 "description" : "The cluster node name.",
26109 "format" : "pve-node",
26110 "type" : "string",
26111 "typetext" : "<string>"
26112 },
26113 "timeframe" : {
26114 "description" : "Specify the time frame you are interested in.",
26115 "enum" : [
26116 "hour",
26117 "day",
26118 "week",
26119 "month",
26120 "year"
26121 ],
26122 "type" : "string"
26123 },
26124 "vmid" : {
26125 "description" : "The (unique) ID of the VM.",
26126 "format" : "pve-vmid",
26127 "minimum" : 1,
26128 "type" : "integer",
26129 "typetext" : "<integer> (1 - N)"
26130 }
26131 }
26132 },
26133 "permissions" : {
26134 "check" : [
26135 "perm",
26136 "/vms/{vmid}",
26137 [
26138 "VM.Audit"
26139 ]
26140 ]
26141 },
26142 "protected" : 1,
26143 "returns" : {
26144 "properties" : {
26145 "filename" : {
26146 "type" : "string"
26147 }
26148 },
26149 "type" : "object"
26150 }
26151 }
26152 },
26153 "leaf" : 1,
26154 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
26155 "text" : "rrd"
26156 },
26157 {
26158 "info" : {
26159 "GET" : {
e9cd3bd4 26160 "allowtoken" : 1,
4d47f125
TL
26161 "description" : "Read VM RRD statistics",
26162 "method" : "GET",
26163 "name" : "rrddata",
26164 "parameters" : {
26165 "additionalProperties" : 0,
26166 "properties" : {
26167 "cf" : {
26168 "description" : "The RRD consolidation function",
26169 "enum" : [
26170 "AVERAGE",
26171 "MAX"
26172 ],
26173 "optional" : 1,
26174 "type" : "string"
26175 },
26176 "node" : {
26177 "description" : "The cluster node name.",
26178 "format" : "pve-node",
26179 "type" : "string",
26180 "typetext" : "<string>"
44660702 26181 },
4d47f125
TL
26182 "timeframe" : {
26183 "description" : "Specify the time frame you are interested in.",
26184 "enum" : [
26185 "hour",
26186 "day",
26187 "week",
26188 "month",
26189 "year"
44660702 26190 ],
4d47f125
TL
26191 "type" : "string"
26192 },
26193 "vmid" : {
26194 "description" : "The (unique) ID of the VM.",
26195 "format" : "pve-vmid",
26196 "minimum" : 1,
26197 "type" : "integer",
26198 "typetext" : "<integer> (1 - N)"
44660702 26199 }
4d47f125
TL
26200 }
26201 },
26202 "permissions" : {
26203 "check" : [
26204 "perm",
26205 "/vms/{vmid}",
26206 [
26207 "VM.Audit"
26208 ]
26209 ]
26210 },
26211 "protected" : 1,
26212 "returns" : {
26213 "items" : {
26214 "properties" : {},
26215 "type" : "object"
44660702 26216 },
4d47f125
TL
26217 "type" : "array"
26218 }
26219 }
26220 },
26221 "leaf" : 1,
26222 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
26223 "text" : "rrddata"
26224 },
26225 {
26226 "info" : {
26227 "POST" : {
e9cd3bd4 26228 "allowtoken" : 1,
4d47f125
TL
26229 "description" : "Creates a TCP VNC proxy connections.",
26230 "method" : "POST",
26231 "name" : "vncproxy",
26232 "parameters" : {
26233 "additionalProperties" : 0,
26234 "properties" : {
26235 "height" : {
26236 "description" : "sets the height of the console in pixels.",
26237 "maximum" : 2160,
26238 "minimum" : 16,
26239 "optional" : 1,
26240 "type" : "integer",
26241 "typetext" : "<integer> (16 - 2160)"
44660702 26242 },
4d47f125
TL
26243 "node" : {
26244 "description" : "The cluster node name.",
26245 "format" : "pve-node",
26246 "type" : "string",
26247 "typetext" : "<string>"
44660702 26248 },
4d47f125
TL
26249 "vmid" : {
26250 "description" : "The (unique) ID of the VM.",
26251 "format" : "pve-vmid",
26252 "minimum" : 1,
26253 "type" : "integer",
26254 "typetext" : "<integer> (1 - N)"
26255 },
26256 "websocket" : {
26257 "description" : "use websocket instead of standard VNC.",
26258 "optional" : 1,
26259 "type" : "boolean",
26260 "typetext" : "<boolean>"
26261 },
26262 "width" : {
26263 "description" : "sets the width of the console in pixels.",
26264 "maximum" : 4096,
26265 "minimum" : 16,
26266 "optional" : 1,
26267 "type" : "integer",
26268 "typetext" : "<integer> (16 - 4096)"
56122987
DM
26269 }
26270 }
44660702 26271 },
4d47f125
TL
26272 "permissions" : {
26273 "check" : [
26274 "perm",
26275 "/vms/{vmid}",
26276 [
26277 "VM.Console"
26278 ]
26279 ]
26280 },
26281 "protected" : 1,
26282 "returns" : {
26283 "additionalProperties" : 0,
26284 "properties" : {
26285 "cert" : {
26286 "type" : "string"
44660702 26287 },
4d47f125
TL
26288 "port" : {
26289 "type" : "integer"
26290 },
26291 "ticket" : {
26292 "type" : "string"
26293 },
26294 "upid" : {
26295 "type" : "string"
26296 },
26297 "user" : {
26298 "type" : "string"
26299 }
26300 }
26301 }
26302 }
26303 },
26304 "leaf" : 1,
26305 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
26306 "text" : "vncproxy"
26307 },
26308 {
26309 "info" : {
26310 "POST" : {
e9cd3bd4 26311 "allowtoken" : 1,
4d47f125
TL
26312 "description" : "Creates a TCP proxy connection.",
26313 "method" : "POST",
26314 "name" : "termproxy",
26315 "parameters" : {
26316 "additionalProperties" : 0,
26317 "properties" : {
26318 "node" : {
26319 "description" : "The cluster node name.",
26320 "format" : "pve-node",
26321 "type" : "string",
26322 "typetext" : "<string>"
44660702 26323 },
4d47f125
TL
26324 "vmid" : {
26325 "description" : "The (unique) ID of the VM.",
26326 "format" : "pve-vmid",
26327 "minimum" : 1,
26328 "type" : "integer",
26329 "typetext" : "<integer> (1 - N)"
44660702 26330 }
4d47f125
TL
26331 }
26332 },
26333 "permissions" : {
26334 "check" : [
26335 "perm",
26336 "/vms/{vmid}",
26337 [
26338 "VM.Console"
26339 ]
26340 ]
26341 },
26342 "protected" : 1,
26343 "returns" : {
26344 "additionalProperties" : 0,
26345 "properties" : {
26346 "port" : {
26347 "type" : "integer"
56122987 26348 },
4d47f125
TL
26349 "ticket" : {
26350 "type" : "string"
7aacca6f 26351 },
4d47f125
TL
26352 "upid" : {
26353 "type" : "string"
26354 },
26355 "user" : {
26356 "type" : "string"
26357 }
26358 }
26359 }
26360 }
26361 },
26362 "leaf" : 1,
26363 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
26364 "text" : "termproxy"
26365 },
26366 {
26367 "info" : {
26368 "GET" : {
e9cd3bd4 26369 "allowtoken" : 1,
4d47f125
TL
26370 "description" : "Opens a weksocket for VNC traffic.",
26371 "method" : "GET",
26372 "name" : "vncwebsocket",
26373 "parameters" : {
26374 "additionalProperties" : 0,
26375 "properties" : {
26376 "node" : {
26377 "description" : "The cluster node name.",
26378 "format" : "pve-node",
26379 "type" : "string",
26380 "typetext" : "<string>"
26381 },
26382 "port" : {
26383 "description" : "Port number returned by previous vncproxy call.",
26384 "maximum" : 5999,
26385 "minimum" : 5900,
26386 "type" : "integer",
26387 "typetext" : "<integer> (5900 - 5999)"
26388 },
26389 "vmid" : {
26390 "description" : "The (unique) ID of the VM.",
26391 "format" : "pve-vmid",
26392 "minimum" : 1,
26393 "type" : "integer",
26394 "typetext" : "<integer> (1 - N)"
26395 },
26396 "vncticket" : {
26397 "description" : "Ticket from previous call to vncproxy.",
26398 "maxLength" : 512,
26399 "type" : "string",
26400 "typetext" : "<string>"
56122987
DM
26401 }
26402 }
26403 },
4d47f125
TL
26404 "permissions" : {
26405 "check" : [
26406 "perm",
26407 "/vms/{vmid}",
26408 [
26409 "VM.Console"
26410 ]
26411 ],
26412 "description" : "You also need to pass a valid ticket (vncticket)."
26413 },
26414 "returns" : {
26415 "properties" : {
26416 "port" : {
26417 "type" : "string"
26418 }
26419 },
26420 "type" : "object"
26421 }
26422 }
26423 },
26424 "leaf" : 1,
26425 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
26426 "text" : "vncwebsocket"
26427 },
26428 {
26429 "info" : {
26430 "POST" : {
e9cd3bd4 26431 "allowtoken" : 1,
4d47f125
TL
26432 "description" : "Returns a SPICE configuration to connect to the CT.",
26433 "method" : "POST",
26434 "name" : "spiceproxy",
26435 "parameters" : {
26436 "additionalProperties" : 0,
26437 "properties" : {
26438 "node" : {
26439 "description" : "The cluster node name.",
26440 "format" : "pve-node",
26441 "type" : "string",
26442 "typetext" : "<string>"
56122987 26443 },
4d47f125
TL
26444 "proxy" : {
26445 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
26446 "format" : "address",
26447 "optional" : 1,
26448 "type" : "string",
26449 "typetext" : "<string>"
44660702 26450 },
4d47f125
TL
26451 "vmid" : {
26452 "description" : "The (unique) ID of the VM.",
26453 "format" : "pve-vmid",
26454 "minimum" : 1,
26455 "type" : "integer",
26456 "typetext" : "<integer> (1 - N)"
44660702 26457 }
56122987
DM
26458 }
26459 },
4d47f125
TL
26460 "permissions" : {
26461 "check" : [
26462 "perm",
26463 "/vms/{vmid}",
26464 [
26465 "VM.Console"
26466 ]
26467 ]
26468 },
26469 "protected" : 1,
26470 "proxyto" : "node",
26471 "returns" : {
26472 "additionalProperties" : 1,
26473 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
26474 "properties" : {
26475 "host" : {
26476 "type" : "string"
26477 },
26478 "password" : {
26479 "type" : "string"
26480 },
26481 "proxy" : {
26482 "type" : "string"
26483 },
26484 "tls-port" : {
26485 "type" : "integer"
26486 },
26487 "type" : {
26488 "type" : "string"
26489 }
26490 }
26491 }
26492 }
26493 },
26494 "leaf" : 1,
26495 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
26496 "text" : "spiceproxy"
26497 },
26498 {
26499 "info" : {
26500 "POST" : {
e9cd3bd4 26501 "allowtoken" : 1,
4d47f125
TL
26502 "description" : "Migrate the container to another node. Creates a new migration task.",
26503 "method" : "POST",
26504 "name" : "migrate_vm",
26505 "parameters" : {
26506 "additionalProperties" : 0,
26507 "properties" : {
95895385
TL
26508 "bwlimit" : {
26509 "default" : "migrate limit from datacenter or storage config",
26510 "description" : "Override I/O bandwidth limit (in KiB/s).",
26511 "minimum" : "0",
26512 "optional" : 1,
26513 "type" : "number",
26514 "typetext" : "<number> (0 - N)"
26515 },
4d47f125
TL
26516 "force" : {
26517 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
26518 "optional" : 1,
26519 "type" : "boolean",
26520 "typetext" : "<boolean>"
56122987 26521 },
4d47f125
TL
26522 "node" : {
26523 "description" : "The cluster node name.",
26524 "format" : "pve-node",
26525 "type" : "string",
26526 "typetext" : "<string>"
44660702 26527 },
4d47f125
TL
26528 "online" : {
26529 "description" : "Use online/live migration.",
26530 "optional" : 1,
26531 "type" : "boolean",
26532 "typetext" : "<boolean>"
26533 },
26534 "restart" : {
26535 "description" : "Use restart migration",
26536 "optional" : 1,
26537 "type" : "boolean",
26538 "typetext" : "<boolean>"
26539 },
26540 "target" : {
26541 "description" : "Target node.",
26542 "format" : "pve-node",
26543 "type" : "string",
26544 "typetext" : "<string>"
26545 },
26546 "timeout" : {
26547 "default" : 180,
26548 "description" : "Timeout in seconds for shutdown for restart migration",
26549 "optional" : 1,
26550 "type" : "integer",
26551 "typetext" : "<integer>"
26552 },
26553 "vmid" : {
26554 "description" : "The (unique) ID of the VM.",
26555 "format" : "pve-vmid",
26556 "minimum" : 1,
26557 "type" : "integer",
26558 "typetext" : "<integer> (1 - N)"
56122987
DM
26559 }
26560 }
26561 },
4d47f125
TL
26562 "permissions" : {
26563 "check" : [
26564 "perm",
26565 "/vms/{vmid}",
26566 [
26567 "VM.Migrate"
26568 ]
26569 ]
26570 },
26571 "protected" : 1,
26572 "proxyto" : "node",
26573 "returns" : {
26574 "description" : "the task ID.",
26575 "type" : "string"
26576 }
56122987 26577 }
4d47f125
TL
26578 },
26579 "leaf" : 1,
26580 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
26581 "text" : "migrate"
26582 },
26583 {
56122987
DM
26584 "info" : {
26585 "GET" : {
e9cd3bd4 26586 "allowtoken" : 1,
4d47f125 26587 "description" : "Check if feature for virtual machine is available.",
44660702 26588 "method" : "GET",
4d47f125 26589 "name" : "vm_feature",
56122987 26590 "parameters" : {
44660702 26591 "additionalProperties" : 0,
56122987 26592 "properties" : {
4d47f125
TL
26593 "feature" : {
26594 "description" : "Feature to check.",
26595 "enum" : [
26596 "snapshot",
26597 "clone",
26598 "copy"
26599 ],
26600 "type" : "string"
26601 },
56122987 26602 "node" : {
44660702 26603 "description" : "The cluster node name.",
56122987 26604 "format" : "pve-node",
013dc89f
DM
26605 "type" : "string",
26606 "typetext" : "<string>"
44660702 26607 },
4d47f125
TL
26608 "snapname" : {
26609 "description" : "The name of the snapshot.",
26610 "format" : "pve-configid",
26611 "maxLength" : 40,
26612 "optional" : 1,
26613 "type" : "string",
26614 "typetext" : "<string>"
26615 },
44660702
DM
26616 "vmid" : {
26617 "description" : "The (unique) ID of the VM.",
26618 "format" : "pve-vmid",
26619 "minimum" : 1,
4bd7df8b 26620 "type" : "integer",
013dc89f 26621 "typetext" : "<integer> (1 - N)"
56122987 26622 }
44660702
DM
26623 }
26624 },
26625 "permissions" : {
4d47f125
TL
26626 "check" : [
26627 "perm",
26628 "/vms/{vmid}",
26629 [
26630 "VM.Audit"
26631 ]
26632 ]
56122987 26633 },
4d47f125
TL
26634 "protected" : 1,
26635 "proxyto" : "node",
56122987 26636 "returns" : {
4d47f125
TL
26637 "properties" : {
26638 "hasFeature" : {
26639 "type" : "boolean"
26640 }
7aacca6f 26641 },
4d47f125
TL
26642 "type" : "object"
26643 }
26644 }
26645 },
26646 "leaf" : 1,
26647 "path" : "/nodes/{node}/lxc/{vmid}/feature",
26648 "text" : "feature"
26649 },
26650 {
26651 "info" : {
26652 "POST" : {
e9cd3bd4 26653 "allowtoken" : 1,
4d47f125
TL
26654 "description" : "Create a Template.",
26655 "method" : "POST",
26656 "name" : "template",
26657 "parameters" : {
26658 "additionalProperties" : 0,
26659 "properties" : {
26660 "node" : {
26661 "description" : "The cluster node name.",
26662 "format" : "pve-node",
26663 "type" : "string",
26664 "typetext" : "<string>"
26665 },
26666 "vmid" : {
26667 "description" : "The (unique) ID of the VM.",
26668 "format" : "pve-vmid",
26669 "minimum" : 1,
26670 "type" : "integer",
26671 "typetext" : "<integer> (1 - N)"
56122987 26672 }
4d47f125
TL
26673 }
26674 },
26675 "permissions" : {
26676 "check" : [
26677 "perm",
26678 "/vms/{vmid}",
26679 [
26680 "VM.Allocate"
26681 ]
44660702 26682 ],
4d47f125
TL
26683 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
26684 },
26685 "protected" : 1,
26686 "proxyto" : "node",
26687 "returns" : {
26688 "type" : "null"
56122987
DM
26689 }
26690 }
26691 },
4d47f125
TL
26692 "leaf" : 1,
26693 "path" : "/nodes/{node}/lxc/{vmid}/template",
26694 "text" : "template"
56122987
DM
26695 },
26696 {
56122987 26697 "info" : {
4d47f125 26698 "POST" : {
e9cd3bd4 26699 "allowtoken" : 1,
4d47f125
TL
26700 "description" : "Create a container clone/copy",
26701 "method" : "POST",
26702 "name" : "clone_vm",
56122987 26703 "parameters" : {
7aacca6f 26704 "additionalProperties" : 0,
56122987 26705 "properties" : {
95895385
TL
26706 "bwlimit" : {
26707 "default" : "clone limit from datacenter or storage config",
26708 "description" : "Override I/O bandwidth limit (in KiB/s).",
26709 "minimum" : "0",
26710 "optional" : 1,
26711 "type" : "number",
26712 "typetext" : "<number> (0 - N)"
26713 },
4d47f125
TL
26714 "description" : {
26715 "description" : "Description for the new CT.",
44660702 26716 "optional" : 1,
4d47f125
TL
26717 "type" : "string",
26718 "typetext" : "<string>"
44660702 26719 },
4d47f125
TL
26720 "full" : {
26721 "description" : "Create a full copy of all disks. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
26722 "optional" : 1,
26723 "type" : "boolean",
26724 "typetext" : "<boolean>"
26725 },
26726 "hostname" : {
26727 "description" : "Set a hostname for the new CT.",
26728 "format" : "dns-name",
26729 "optional" : 1,
013dc89f
DM
26730 "type" : "string",
26731 "typetext" : "<string>"
44660702 26732 },
4d47f125
TL
26733 "newid" : {
26734 "description" : "VMID for the clone.",
26735 "format" : "pve-vmid",
26736 "minimum" : 1,
26737 "type" : "integer",
26738 "typetext" : "<integer> (1 - N)"
26739 },
7aacca6f
DM
26740 "node" : {
26741 "description" : "The cluster node name.",
44660702 26742 "format" : "pve-node",
013dc89f
DM
26743 "type" : "string",
26744 "typetext" : "<string>"
56122987 26745 },
4d47f125
TL
26746 "pool" : {
26747 "description" : "Add the new CT to the specified pool.",
26748 "format" : "pve-poolid",
26749 "optional" : 1,
26750 "type" : "string",
26751 "typetext" : "<string>"
26752 },
26753 "snapname" : {
26754 "description" : "The name of the snapshot.",
26755 "format" : "pve-configid",
26756 "maxLength" : 40,
26757 "optional" : 1,
26758 "type" : "string",
26759 "typetext" : "<string>"
26760 },
26761 "storage" : {
26762 "description" : "Target storage for full clone.",
26763 "format" : "pve-storage-id",
26764 "optional" : 1,
26765 "type" : "string",
26766 "typetext" : "<string>"
26767 },
26768 "target" : {
26769 "description" : "Target node. Only allowed if the original VM is on shared storage.",
26770 "format" : "pve-node",
26771 "optional" : 1,
26772 "type" : "string",
26773 "typetext" : "<string>"
26774 },
7aacca6f 26775 "vmid" : {
44660702 26776 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
26777 "format" : "pve-vmid",
26778 "minimum" : 1,
4bd7df8b 26779 "type" : "integer",
013dc89f 26780 "typetext" : "<integer> (1 - N)"
56122987 26781 }
7aacca6f
DM
26782 }
26783 },
26784 "permissions" : {
26785 "check" : [
4d47f125 26786 "and",
7aacca6f 26787 [
4d47f125
TL
26788 "perm",
26789 "/vms/{vmid}",
26790 [
26791 "VM.Clone"
26792 ]
26793 ],
26794 [
26795 "or",
26796 [
26797 "perm",
26798 "/vms/{newid}",
26799 [
26800 "VM.Allocate"
26801 ]
26802 ],
26803 [
26804 "perm",
26805 "/pool/{pool}",
26806 [
26807 "VM.Allocate"
26808 ],
26809 "require_param",
26810 "pool"
26811 ]
7aacca6f 26812 ]
4d47f125
TL
26813 ],
26814 "description" : "You need 'VM.Clone' permissions on /vms/{vmid}, and 'VM.Allocate' permissions on /vms/{newid} (or on the VM pool /pool/{pool}). You also need 'Datastore.AllocateSpace' on any used storage."
56122987 26815 },
44660702 26816 "protected" : 1,
4d47f125 26817 "proxyto" : "node",
7aacca6f 26818 "returns" : {
4d47f125 26819 "type" : "string"
7aacca6f 26820 }
56122987 26821 }
7aacca6f 26822 },
44660702 26823 "leaf" : 1,
4d47f125
TL
26824 "path" : "/nodes/{node}/lxc/{vmid}/clone",
26825 "text" : "clone"
56122987
DM
26826 },
26827 {
56122987 26828 "info" : {
4d47f125 26829 "PUT" : {
e9cd3bd4 26830 "allowtoken" : 1,
4d47f125
TL
26831 "description" : "Resize a container mount point.",
26832 "method" : "PUT",
26833 "name" : "resize_vm",
56122987 26834 "parameters" : {
7aacca6f 26835 "additionalProperties" : 0,
56122987 26836 "properties" : {
4d47f125
TL
26837 "digest" : {
26838 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26839 "maxLength" : 40,
26840 "optional" : 1,
26841 "type" : "string",
26842 "typetext" : "<string>"
26843 },
26844 "disk" : {
26845 "description" : "The disk you want to resize.",
44660702 26846 "enum" : [
4d47f125
TL
26847 "rootfs",
26848 "mp0",
26849 "mp1",
26850 "mp2",
26851 "mp3",
26852 "mp4",
26853 "mp5",
26854 "mp6",
26855 "mp7",
26856 "mp8",
26857 "mp9",
26858 "mp10",
26859 "mp11",
26860 "mp12",
26861 "mp13",
26862 "mp14",
26863 "mp15",
26864 "mp16",
26865 "mp17",
26866 "mp18",
26867 "mp19",
26868 "mp20",
26869 "mp21",
26870 "mp22",
26871 "mp23",
26872 "mp24",
26873 "mp25",
26874 "mp26",
26875 "mp27",
26876 "mp28",
26877 "mp29",
26878 "mp30",
26879 "mp31",
26880 "mp32",
26881 "mp33",
26882 "mp34",
26883 "mp35",
26884 "mp36",
26885 "mp37",
26886 "mp38",
26887 "mp39",
26888 "mp40",
26889 "mp41",
26890 "mp42",
26891 "mp43",
26892 "mp44",
26893 "mp45",
26894 "mp46",
26895 "mp47",
26896 "mp48",
26897 "mp49",
26898 "mp50",
26899 "mp51",
26900 "mp52",
26901 "mp53",
26902 "mp54",
26903 "mp55",
26904 "mp56",
26905 "mp57",
26906 "mp58",
26907 "mp59",
26908 "mp60",
26909 "mp61",
26910 "mp62",
26911 "mp63",
26912 "mp64",
26913 "mp65",
26914 "mp66",
26915 "mp67",
26916 "mp68",
26917 "mp69",
26918 "mp70",
26919 "mp71",
26920 "mp72",
26921 "mp73",
26922 "mp74",
26923 "mp75",
26924 "mp76",
26925 "mp77",
26926 "mp78",
26927 "mp79",
26928 "mp80",
26929 "mp81",
26930 "mp82",
26931 "mp83",
26932 "mp84",
26933 "mp85",
26934 "mp86",
26935 "mp87",
26936 "mp88",
26937 "mp89",
26938 "mp90",
26939 "mp91",
26940 "mp92",
26941 "mp93",
26942 "mp94",
26943 "mp95",
26944 "mp96",
26945 "mp97",
26946 "mp98",
26947 "mp99",
26948 "mp100",
26949 "mp101",
26950 "mp102",
26951 "mp103",
26952 "mp104",
26953 "mp105",
26954 "mp106",
26955 "mp107",
26956 "mp108",
26957 "mp109",
26958 "mp110",
26959 "mp111",
26960 "mp112",
26961 "mp113",
26962 "mp114",
26963 "mp115",
26964 "mp116",
26965 "mp117",
26966 "mp118",
26967 "mp119",
26968 "mp120",
26969 "mp121",
26970 "mp122",
26971 "mp123",
26972 "mp124",
26973 "mp125",
26974 "mp126",
26975 "mp127",
26976 "mp128",
26977 "mp129",
26978 "mp130",
26979 "mp131",
26980 "mp132",
26981 "mp133",
26982 "mp134",
26983 "mp135",
26984 "mp136",
26985 "mp137",
26986 "mp138",
26987 "mp139",
26988 "mp140",
26989 "mp141",
26990 "mp142",
26991 "mp143",
26992 "mp144",
26993 "mp145",
26994 "mp146",
26995 "mp147",
26996 "mp148",
26997 "mp149",
26998 "mp150",
26999 "mp151",
27000 "mp152",
27001 "mp153",
27002 "mp154",
27003 "mp155",
27004 "mp156",
27005 "mp157",
27006 "mp158",
27007 "mp159",
27008 "mp160",
27009 "mp161",
27010 "mp162",
27011 "mp163",
27012 "mp164",
27013 "mp165",
27014 "mp166",
27015 "mp167",
27016 "mp168",
27017 "mp169",
27018 "mp170",
27019 "mp171",
27020 "mp172",
27021 "mp173",
27022 "mp174",
27023 "mp175",
27024 "mp176",
27025 "mp177",
27026 "mp178",
27027 "mp179",
27028 "mp180",
27029 "mp181",
27030 "mp182",
27031 "mp183",
27032 "mp184",
27033 "mp185",
27034 "mp186",
27035 "mp187",
27036 "mp188",
27037 "mp189",
27038 "mp190",
27039 "mp191",
27040 "mp192",
27041 "mp193",
27042 "mp194",
27043 "mp195",
27044 "mp196",
27045 "mp197",
27046 "mp198",
27047 "mp199",
27048 "mp200",
27049 "mp201",
27050 "mp202",
27051 "mp203",
27052 "mp204",
27053 "mp205",
27054 "mp206",
27055 "mp207",
27056 "mp208",
27057 "mp209",
27058 "mp210",
27059 "mp211",
27060 "mp212",
27061 "mp213",
27062 "mp214",
27063 "mp215",
27064 "mp216",
27065 "mp217",
27066 "mp218",
27067 "mp219",
27068 "mp220",
27069 "mp221",
27070 "mp222",
27071 "mp223",
27072 "mp224",
27073 "mp225",
27074 "mp226",
27075 "mp227",
27076 "mp228",
27077 "mp229",
27078 "mp230",
27079 "mp231",
27080 "mp232",
27081 "mp233",
27082 "mp234",
27083 "mp235",
27084 "mp236",
27085 "mp237",
27086 "mp238",
27087 "mp239",
27088 "mp240",
27089 "mp241",
27090 "mp242",
27091 "mp243",
27092 "mp244",
27093 "mp245",
27094 "mp246",
27095 "mp247",
27096 "mp248",
27097 "mp249",
27098 "mp250",
27099 "mp251",
27100 "mp252",
27101 "mp253",
27102 "mp254",
27103 "mp255"
44660702 27104 ],
44660702
DM
27105 "type" : "string"
27106 },
7aacca6f 27107 "node" : {
44660702 27108 "description" : "The cluster node name.",
7aacca6f 27109 "format" : "pve-node",
013dc89f
DM
27110 "type" : "string",
27111 "typetext" : "<string>"
7aacca6f 27112 },
4d47f125
TL
27113 "size" : {
27114 "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
27115 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 27116 "type" : "string"
7aacca6f
DM
27117 },
27118 "vmid" : {
27119 "description" : "The (unique) ID of the VM.",
44660702 27120 "format" : "pve-vmid",
7aacca6f 27121 "minimum" : 1,
4bd7df8b 27122 "type" : "integer",
013dc89f 27123 "typetext" : "<integer> (1 - N)"
56122987 27124 }
56122987
DM
27125 }
27126 },
56122987
DM
27127 "permissions" : {
27128 "check" : [
27129 "perm",
27130 "/vms/{vmid}",
27131 [
4d47f125
TL
27132 "VM.Config.Disk"
27133 ],
27134 "any",
27135 1
56122987
DM
27136 ]
27137 },
7aacca6f 27138 "protected" : 1,
4d47f125 27139 "proxyto" : "node",
7aacca6f 27140 "returns" : {
4d47f125
TL
27141 "description" : "the task ID.",
27142 "type" : "string"
44660702 27143 }
56122987
DM
27144 }
27145 },
44660702 27146 "leaf" : 1,
4d47f125
TL
27147 "path" : "/nodes/{node}/lxc/{vmid}/resize",
27148 "text" : "resize"
56122987
DM
27149 },
27150 {
27151 "info" : {
27152 "POST" : {
e9cd3bd4 27153 "allowtoken" : 1,
4d47f125 27154 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 27155 "method" : "POST",
4d47f125 27156 "name" : "move_volume",
7aacca6f 27157 "parameters" : {
44660702 27158 "additionalProperties" : 0,
7aacca6f 27159 "properties" : {
95895385
TL
27160 "bwlimit" : {
27161 "default" : "clone limit from datacenter or storage config",
27162 "description" : "Override I/O bandwidth limit (in KiB/s).",
27163 "minimum" : "0",
27164 "optional" : 1,
27165 "type" : "number",
27166 "typetext" : "<number> (0 - N)"
27167 },
4d47f125
TL
27168 "delete" : {
27169 "default" : 0,
27170 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 27171 "optional" : 1,
4d47f125
TL
27172 "type" : "boolean",
27173 "typetext" : "<boolean>"
27174 },
27175 "digest" : {
27176 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
27177 "maxLength" : 40,
27178 "optional" : 1,
27179 "type" : "string",
27180 "typetext" : "<string>"
5d9c884c 27181 },
44660702
DM
27182 "node" : {
27183 "description" : "The cluster node name.",
27184 "format" : "pve-node",
013dc89f
DM
27185 "type" : "string",
27186 "typetext" : "<string>"
44660702 27187 },
4d47f125
TL
27188 "storage" : {
27189 "description" : "Target Storage.",
27190 "format" : "pve-storage-id",
27191 "type" : "string",
27192 "typetext" : "<string>"
27193 },
7aacca6f 27194 "vmid" : {
44660702 27195 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
27196 "format" : "pve-vmid",
27197 "minimum" : 1,
4bd7df8b 27198 "type" : "integer",
013dc89f 27199 "typetext" : "<integer> (1 - N)"
7aacca6f 27200 },
4d47f125
TL
27201 "volume" : {
27202 "description" : "Volume which will be moved.",
27203 "enum" : [
27204 "rootfs",
27205 "mp0",
27206 "mp1",
27207 "mp2",
27208 "mp3",
27209 "mp4",
27210 "mp5",
27211 "mp6",
27212 "mp7",
27213 "mp8",
27214 "mp9",
27215 "mp10",
27216 "mp11",
27217 "mp12",
27218 "mp13",
27219 "mp14",
27220 "mp15",
27221 "mp16",
27222 "mp17",
27223 "mp18",
27224 "mp19",
27225 "mp20",
27226 "mp21",
27227 "mp22",
27228 "mp23",
27229 "mp24",
27230 "mp25",
27231 "mp26",
27232 "mp27",
27233 "mp28",
27234 "mp29",
27235 "mp30",
27236 "mp31",
27237 "mp32",
27238 "mp33",
27239 "mp34",
27240 "mp35",
27241 "mp36",
27242 "mp37",
27243 "mp38",
27244 "mp39",
27245 "mp40",
27246 "mp41",
27247 "mp42",
27248 "mp43",
27249 "mp44",
27250 "mp45",
27251 "mp46",
27252 "mp47",
27253 "mp48",
27254 "mp49",
27255 "mp50",
27256 "mp51",
27257 "mp52",
27258 "mp53",
27259 "mp54",
27260 "mp55",
27261 "mp56",
27262 "mp57",
27263 "mp58",
27264 "mp59",
27265 "mp60",
27266 "mp61",
27267 "mp62",
27268 "mp63",
27269 "mp64",
27270 "mp65",
27271 "mp66",
27272 "mp67",
27273 "mp68",
27274 "mp69",
27275 "mp70",
27276 "mp71",
27277 "mp72",
27278 "mp73",
27279 "mp74",
27280 "mp75",
27281 "mp76",
27282 "mp77",
27283 "mp78",
27284 "mp79",
27285 "mp80",
27286 "mp81",
27287 "mp82",
27288 "mp83",
27289 "mp84",
27290 "mp85",
27291 "mp86",
27292 "mp87",
27293 "mp88",
27294 "mp89",
27295 "mp90",
27296 "mp91",
27297 "mp92",
27298 "mp93",
27299 "mp94",
27300 "mp95",
27301 "mp96",
27302 "mp97",
27303 "mp98",
27304 "mp99",
27305 "mp100",
27306 "mp101",
27307 "mp102",
27308 "mp103",
27309 "mp104",
27310 "mp105",
27311 "mp106",
27312 "mp107",
27313 "mp108",
27314 "mp109",
27315 "mp110",
27316 "mp111",
27317 "mp112",
27318 "mp113",
27319 "mp114",
27320 "mp115",
27321 "mp116",
27322 "mp117",
27323 "mp118",
27324 "mp119",
27325 "mp120",
27326 "mp121",
27327 "mp122",
27328 "mp123",
27329 "mp124",
27330 "mp125",
27331 "mp126",
27332 "mp127",
27333 "mp128",
27334 "mp129",
27335 "mp130",
27336 "mp131",
27337 "mp132",
27338 "mp133",
27339 "mp134",
27340 "mp135",
27341 "mp136",
27342 "mp137",
27343 "mp138",
27344 "mp139",
27345 "mp140",
27346 "mp141",
27347 "mp142",
27348 "mp143",
27349 "mp144",
27350 "mp145",
27351 "mp146",
27352 "mp147",
27353 "mp148",
27354 "mp149",
27355 "mp150",
27356 "mp151",
27357 "mp152",
27358 "mp153",
27359 "mp154",
27360 "mp155",
27361 "mp156",
27362 "mp157",
27363 "mp158",
27364 "mp159",
27365 "mp160",
27366 "mp161",
27367 "mp162",
27368 "mp163",
27369 "mp164",
27370 "mp165",
27371 "mp166",
27372 "mp167",
27373 "mp168",
27374 "mp169",
27375 "mp170",
27376 "mp171",
27377 "mp172",
27378 "mp173",
27379 "mp174",
27380 "mp175",
27381 "mp176",
27382 "mp177",
27383 "mp178",
27384 "mp179",
27385 "mp180",
27386 "mp181",
27387 "mp182",
27388 "mp183",
27389 "mp184",
27390 "mp185",
27391 "mp186",
27392 "mp187",
27393 "mp188",
27394 "mp189",
27395 "mp190",
27396 "mp191",
27397 "mp192",
27398 "mp193",
27399 "mp194",
27400 "mp195",
27401 "mp196",
27402 "mp197",
27403 "mp198",
27404 "mp199",
27405 "mp200",
27406 "mp201",
27407 "mp202",
27408 "mp203",
27409 "mp204",
27410 "mp205",
27411 "mp206",
27412 "mp207",
27413 "mp208",
27414 "mp209",
27415 "mp210",
27416 "mp211",
27417 "mp212",
27418 "mp213",
27419 "mp214",
27420 "mp215",
27421 "mp216",
27422 "mp217",
27423 "mp218",
27424 "mp219",
27425 "mp220",
27426 "mp221",
27427 "mp222",
27428 "mp223",
27429 "mp224",
27430 "mp225",
27431 "mp226",
27432 "mp227",
27433 "mp228",
27434 "mp229",
27435 "mp230",
27436 "mp231",
27437 "mp232",
27438 "mp233",
27439 "mp234",
27440 "mp235",
27441 "mp236",
27442 "mp237",
27443 "mp238",
27444 "mp239",
27445 "mp240",
27446 "mp241",
27447 "mp242",
27448 "mp243",
27449 "mp244",
27450 "mp245",
27451 "mp246",
27452 "mp247",
27453 "mp248",
27454 "mp249",
27455 "mp250",
27456 "mp251",
27457 "mp252",
27458 "mp253",
27459 "mp254",
27460 "mp255"
27461 ],
27462 "type" : "string"
7aacca6f 27463 }
44660702 27464 }
7aacca6f 27465 },
56122987
DM
27466 "permissions" : {
27467 "check" : [
4d47f125 27468 "and",
56122987 27469 [
4d47f125
TL
27470 "perm",
27471 "/vms/{vmid}",
27472 [
27473 "VM.Config.Disk"
27474 ]
27475 ],
27476 [
27477 "perm",
27478 "/storage/{storage}",
27479 [
27480 "Datastore.AllocateSpace"
27481 ]
56122987 27482 ]
4d47f125
TL
27483 ],
27484 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
27485 },
27486 "protected" : 1,
27487 "proxyto" : "node",
27488 "returns" : {
27489 "type" : "string"
27490 }
27491 }
27492 },
27493 "leaf" : 1,
27494 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
27495 "text" : "move_volume"
1c532546
TL
27496 },
27497 {
27498 "info" : {
27499 "GET" : {
e9cd3bd4 27500 "allowtoken" : 1,
1c532546
TL
27501 "description" : "Get container configuration, including pending changes.",
27502 "method" : "GET",
27503 "name" : "vm_pending",
27504 "parameters" : {
27505 "additionalProperties" : 0,
27506 "properties" : {
27507 "node" : {
27508 "description" : "The cluster node name.",
27509 "format" : "pve-node",
27510 "type" : "string",
27511 "typetext" : "<string>"
27512 },
27513 "vmid" : {
27514 "description" : "The (unique) ID of the VM.",
27515 "format" : "pve-vmid",
27516 "minimum" : 1,
27517 "type" : "integer",
27518 "typetext" : "<integer> (1 - N)"
27519 }
27520 }
27521 },
27522 "permissions" : {
27523 "check" : [
27524 "perm",
27525 "/vms/{vmid}",
27526 [
27527 "VM.Audit"
27528 ]
27529 ]
27530 },
27531 "proxyto" : "node",
27532 "returns" : {
27533 "items" : {
27534 "properties" : {
27535 "delete" : {
27536 "description" : "Indicates a pending delete request if present and not 0.",
27537 "maximum" : 2,
27538 "minimum" : 0,
27539 "optional" : 1,
27540 "type" : "integer"
27541 },
27542 "key" : {
27543 "description" : "Configuration option name.",
27544 "type" : "string"
27545 },
27546 "pending" : {
27547 "description" : "Pending value.",
27548 "optional" : 1,
27549 "type" : "string"
27550 },
27551 "value" : {
27552 "description" : "Current value.",
27553 "optional" : 1,
27554 "type" : "string"
27555 }
27556 },
27557 "type" : "object"
27558 },
27559 "type" : "array"
27560 }
27561 }
27562 },
27563 "leaf" : 1,
27564 "path" : "/nodes/{node}/lxc/{vmid}/pending",
27565 "text" : "pending"
4d47f125
TL
27566 }
27567 ],
27568 "info" : {
27569 "DELETE" : {
e9cd3bd4 27570 "allowtoken" : 1,
4d47f125
TL
27571 "description" : "Destroy the container (also delete all uses files).",
27572 "method" : "DELETE",
27573 "name" : "destroy_vm",
27574 "parameters" : {
27575 "additionalProperties" : 0,
27576 "properties" : {
c5aa7e14
TL
27577 "force" : {
27578 "default" : 0,
27579 "description" : "Force destroy, even if running.",
27580 "optional" : 1,
27581 "type" : "boolean",
27582 "typetext" : "<boolean>"
27583 },
4d47f125
TL
27584 "node" : {
27585 "description" : "The cluster node name.",
27586 "format" : "pve-node",
27587 "type" : "string",
27588 "typetext" : "<string>"
27589 },
1c532546 27590 "purge" : {
c5aa7e14
TL
27591 "default" : 0,
27592 "description" : "Remove container from all related configurations. For example, backup jobs, replication jobs or HA. Related ACLs and Firewall entries will *always* be removed.",
1c532546
TL
27593 "optional" : 1,
27594 "type" : "boolean",
27595 "typetext" : "<boolean>"
27596 },
4d47f125
TL
27597 "vmid" : {
27598 "description" : "The (unique) ID of the VM.",
27599 "format" : "pve-vmid",
27600 "minimum" : 1,
27601 "type" : "integer",
27602 "typetext" : "<integer> (1 - N)"
27603 }
27604 }
27605 },
27606 "permissions" : {
27607 "check" : [
27608 "perm",
27609 "/vms/{vmid}",
27610 [
27611 "VM.Allocate"
27612 ]
27613 ]
27614 },
27615 "protected" : 1,
27616 "proxyto" : "node",
27617 "returns" : {
27618 "type" : "string"
27619 }
27620 },
27621 "GET" : {
e9cd3bd4 27622 "allowtoken" : 1,
4d47f125
TL
27623 "description" : "Directory index",
27624 "method" : "GET",
27625 "name" : "vmdiridx",
27626 "parameters" : {
27627 "additionalProperties" : 0,
27628 "properties" : {
27629 "node" : {
27630 "description" : "The cluster node name.",
27631 "format" : "pve-node",
27632 "type" : "string",
27633 "typetext" : "<string>"
56122987 27634 },
4d47f125
TL
27635 "vmid" : {
27636 "description" : "The (unique) ID of the VM.",
27637 "format" : "pve-vmid",
27638 "minimum" : 1,
27639 "type" : "integer",
27640 "typetext" : "<integer> (1 - N)"
56122987
DM
27641 }
27642 }
27643 },
4d47f125
TL
27644 "permissions" : {
27645 "user" : "all"
27646 },
27647 "proxyto" : "node",
27648 "returns" : {
27649 "items" : {
27650 "properties" : {
27651 "subdir" : {
27652 "type" : "string"
35a75dd3
DM
27653 }
27654 },
4d47f125
TL
27655 "type" : "object"
27656 },
27657 "links" : [
27658 {
27659 "href" : "{subdir}",
27660 "rel" : "child"
35a75dd3 27661 }
4d47f125
TL
27662 ],
27663 "type" : "array"
27664 }
27665 }
27666 },
27667 "leaf" : 0,
27668 "path" : "/nodes/{node}/lxc/{vmid}",
27669 "text" : "{vmid}"
27670 }
27671 ],
27672 "info" : {
27673 "GET" : {
e9cd3bd4 27674 "allowtoken" : 1,
4d47f125
TL
27675 "description" : "LXC container index (per node).",
27676 "method" : "GET",
27677 "name" : "vmlist",
27678 "parameters" : {
27679 "additionalProperties" : 0,
27680 "properties" : {
27681 "node" : {
27682 "description" : "The cluster node name.",
27683 "format" : "pve-node",
27684 "type" : "string",
27685 "typetext" : "<string>"
27686 }
27687 }
27688 },
27689 "permissions" : {
27690 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
27691 "user" : "all"
27692 },
27693 "protected" : 1,
27694 "proxyto" : "node",
27695 "returns" : {
27696 "items" : {
27697 "properties" : {
27698 "cpus" : {
27699 "description" : "Maximum usable CPUs.",
27700 "optional" : 1,
27701 "type" : "number"
27702 },
95895385
TL
27703 "lock" : {
27704 "description" : "The current config lock, if any.",
27705 "optional" : 1,
27706 "type" : "string"
27707 },
4d47f125
TL
27708 "maxdisk" : {
27709 "description" : "Root disk size in bytes.",
27710 "optional" : 1,
27711 "renderer" : "bytes",
27712 "type" : "integer"
27713 },
27714 "maxmem" : {
27715 "description" : "Maximum memory in bytes.",
27716 "optional" : 1,
27717 "renderer" : "bytes",
27718 "type" : "integer"
27719 },
27720 "maxswap" : {
27721 "description" : "Maximum SWAP memory in bytes.",
27722 "optional" : 1,
27723 "renderer" : "bytes",
27724 "type" : "integer"
27725 },
27726 "name" : {
27727 "description" : "Container name.",
27728 "optional" : 1,
27729 "type" : "string"
27730 },
27731 "status" : {
27732 "description" : "LXC Container status.",
27733 "enum" : [
27734 "stopped",
27735 "running"
27736 ],
27737 "type" : "string"
27738 },
5c1699e5
TL
27739 "tags" : {
27740 "description" : "The current configured tags, if any.",
27741 "optional" : 1,
27742 "type" : "string"
27743 },
4d47f125
TL
27744 "uptime" : {
27745 "description" : "Uptime.",
27746 "optional" : 1,
27747 "renderer" : "duration",
27748 "type" : "integer"
27749 },
27750 "vmid" : {
27751 "description" : "The (unique) ID of the VM.",
27752 "format" : "pve-vmid",
27753 "minimum" : 1,
27754 "type" : "integer"
35a75dd3
DM
27755 }
27756 },
4d47f125 27757 "type" : "object"
35a75dd3 27758 },
4d47f125
TL
27759 "links" : [
27760 {
27761 "href" : "{vmid}",
27762 "rel" : "child"
27763 }
27764 ],
27765 "type" : "array"
27766 }
27767 },
27768 "POST" : {
e9cd3bd4 27769 "allowtoken" : 1,
4d47f125
TL
27770 "description" : "Create or restore a container.",
27771 "method" : "POST",
27772 "name" : "create_vm",
27773 "parameters" : {
27774 "additionalProperties" : 0,
27775 "properties" : {
27776 "arch" : {
27777 "default" : "amd64",
27778 "description" : "OS architecture type.",
27779 "enum" : [
27780 "amd64",
27781 "i386",
27782 "arm64",
27783 "armhf"
27784 ],
27785 "optional" : 1,
27786 "type" : "string"
27787 },
27788 "bwlimit" : {
95895385
TL
27789 "default" : "restore limit from datacenter or storage config",
27790 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
27791 "minimum" : "0",
27792 "optional" : 1,
27793 "type" : "number",
27794 "typetext" : "<number> (0 - N)"
27795 },
27796 "cmode" : {
27797 "default" : "tty",
27798 "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
27799 "enum" : [
27800 "shell",
27801 "console",
27802 "tty"
27803 ],
27804 "optional" : 1,
27805 "type" : "string"
27806 },
27807 "console" : {
27808 "default" : 1,
27809 "description" : "Attach a console device (/dev/console) to the container.",
27810 "optional" : 1,
27811 "type" : "boolean",
27812 "typetext" : "<boolean>"
27813 },
27814 "cores" : {
27815 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
27816 "maximum" : 128,
27817 "minimum" : 1,
27818 "optional" : 1,
27819 "type" : "integer",
27820 "typetext" : "<integer> (1 - 128)"
27821 },
27822 "cpulimit" : {
27823 "default" : 0,
27824 "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
27825 "maximum" : 128,
27826 "minimum" : 0,
27827 "optional" : 1,
27828 "type" : "number",
27829 "typetext" : "<number> (0 - 128)"
27830 },
27831 "cpuunits" : {
27832 "default" : 1024,
27833 "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
27834 "maximum" : 500000,
27835 "minimum" : 0,
27836 "optional" : 1,
27837 "type" : "integer",
27838 "typetext" : "<integer> (0 - 500000)"
27839 },
739d4d64
TL
27840 "debug" : {
27841 "default" : 0,
27842 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
27843 "optional" : 1,
27844 "type" : "boolean",
27845 "typetext" : "<boolean>"
27846 },
4d47f125
TL
27847 "description" : {
27848 "description" : "Container description. Only used on the configuration web interface.",
27849 "optional" : 1,
27850 "type" : "string",
27851 "typetext" : "<string>"
27852 },
27853 "features" : {
27854 "description" : "Allow containers access to advanced features.",
27855 "format" : {
c5aa7e14
TL
27856 "force_rw_sys" : {
27857 "default" : 0,
27858 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
27859 "optional" : 1,
27860 "type" : "boolean"
27861 },
e2d681b3
TL
27862 "fuse" : {
27863 "default" : 0,
27864 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
27865 "optional" : 1,
27866 "type" : "boolean"
27867 },
4d47f125
TL
27868 "keyctl" : {
27869 "default" : 0,
27870 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
27871 "optional" : 1,
27872 "type" : "boolean"
7aacca6f 27873 },
c5aa7e14
TL
27874 "mknod" : {
27875 "default" : 0,
27876 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
27877 "optional" : 1,
27878 "type" : "boolean"
27879 },
4d47f125
TL
27880 "mount" : {
27881 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
27882 "format_description" : "fstype;fstype;...",
27883 "optional" : 1,
95895385 27884 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 27885 "type" : "string"
56122987 27886 },
4d47f125
TL
27887 "nesting" : {
27888 "default" : 0,
27889 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
27890 "optional" : 1,
27891 "type" : "boolean"
44660702 27892 }
4d47f125
TL
27893 },
27894 "optional" : 1,
27895 "type" : "string",
c5aa7e14 27896 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 27897 },
4d47f125
TL
27898 "force" : {
27899 "description" : "Allow to overwrite existing container.",
27900 "optional" : 1,
27901 "type" : "boolean",
27902 "typetext" : "<boolean>"
27903 },
5f26e15b
TL
27904 "hookscript" : {
27905 "description" : "Script that will be exectued during various steps in the containers lifetime.",
27906 "format" : "pve-volume-id",
27907 "optional" : 1,
27908 "type" : "string",
27909 "typetext" : "<string>"
27910 },
4d47f125
TL
27911 "hostname" : {
27912 "description" : "Set a host name for the container.",
27913 "format" : "dns-name",
27914 "maxLength" : 255,
27915 "optional" : 1,
27916 "type" : "string",
27917 "typetext" : "<string>"
27918 },
27919 "ignore-unpack-errors" : {
27920 "description" : "Ignore errors when extracting the template.",
27921 "optional" : 1,
27922 "type" : "boolean",
27923 "typetext" : "<boolean>"
27924 },
27925 "lock" : {
27926 "description" : "Lock/unlock the VM.",
27927 "enum" : [
27928 "backup",
bb4c8cf8 27929 "create",
1c532546 27930 "destroyed",
4d47f125 27931 "disk",
bb4c8cf8 27932 "fstrim",
4d47f125
TL
27933 "migrate",
27934 "mounted",
27935 "rollback",
27936 "snapshot",
27937 "snapshot-delete"
27938 ],
27939 "optional" : 1,
27940 "type" : "string"
27941 },
27942 "memory" : {
27943 "default" : 512,
27944 "description" : "Amount of RAM for the VM in MB.",
27945 "minimum" : 16,
27946 "optional" : 1,
27947 "type" : "integer",
27948 "typetext" : "<integer> (16 - N)"
27949 },
27950 "mp[n]" : {
27951 "description" : "Use volume as container mount point.",
27952 "format" : {
27953 "acl" : {
27954 "description" : "Explicitly enable or disable ACL support.",
27955 "optional" : 1,
27956 "type" : "boolean"
56122987 27957 },
4d47f125
TL
27958 "backup" : {
27959 "description" : "Whether to include the mount point in backups.",
27960 "optional" : 1,
27961 "type" : "boolean",
27962 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 27963 },
7cbed89a
TL
27964 "mountoptions" : {
27965 "description" : "Extra mount options for rootfs/mps.",
27966 "format_description" : "opt[;opt...]",
27967 "optional" : 1,
27968 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
27969 "type" : "string"
27970 },
4d47f125
TL
27971 "mp" : {
27972 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
27973 "format" : "pve-lxc-mp-string",
27974 "format_description" : "Path",
27975 "type" : "string",
27976 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 27977 },
4d47f125
TL
27978 "quota" : {
27979 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
27980 "optional" : 1,
27981 "type" : "boolean"
27982 },
27983 "replicate" : {
27984 "default" : 1,
27985 "description" : "Will include this volume to a storage replica job.",
27986 "optional" : 1,
27987 "type" : "boolean"
27988 },
27989 "ro" : {
27990 "description" : "Read-only mount point",
27991 "optional" : 1,
27992 "type" : "boolean"
27993 },
27994 "shared" : {
27995 "default" : 0,
27996 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
27997 "optional" : 1,
27998 "type" : "boolean",
27999 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
56122987 28000 },
4d47f125
TL
28001 "size" : {
28002 "description" : "Volume size (read only value).",
28003 "format" : "disk-size",
28004 "format_description" : "DiskSize",
28005 "optional" : 1,
28006 "type" : "string"
28007 },
28008 "volume" : {
28009 "default_key" : 1,
28010 "description" : "Volume, device or directory to mount into the container.",
28011 "format" : "pve-lxc-mp-string",
28012 "format_description" : "volume",
44660702
DM
28013 "type" : "string"
28014 }
4d47f125
TL
28015 },
28016 "optional" : 1,
28017 "type" : "string",
7cbed89a 28018 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 28019 },
4d47f125
TL
28020 "nameserver" : {
28021 "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
28022 "format" : "address-list",
28023 "optional" : 1,
28024 "type" : "string",
28025 "typetext" : "<string>"
28026 },
28027 "net[n]" : {
28028 "description" : "Specifies network interfaces for the container.",
28029 "format" : {
28030 "bridge" : {
28031 "description" : "Bridge to attach the network device to.",
28032 "format_description" : "bridge",
28033 "optional" : 1,
28034 "pattern" : "[-_.\\w\\d]+",
28035 "type" : "string"
56122987 28036 },
4d47f125
TL
28037 "firewall" : {
28038 "description" : "Controls whether this interface's firewall rules should be used.",
28039 "optional" : 1,
28040 "type" : "boolean"
56122987 28041 },
4d47f125
TL
28042 "gw" : {
28043 "description" : "Default gateway for IPv4 traffic.",
28044 "format" : "ipv4",
28045 "format_description" : "GatewayIPv4",
28046 "optional" : 1,
28047 "type" : "string"
28048 },
28049 "gw6" : {
28050 "description" : "Default gateway for IPv6 traffic.",
28051 "format" : "ipv6",
28052 "format_description" : "GatewayIPv6",
28053 "optional" : 1,
28054 "type" : "string"
28055 },
28056 "hwaddr" : {
28057 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 28058 "format" : "mac-addr",
4d47f125
TL
28059 "format_description" : "XX:XX:XX:XX:XX:XX",
28060 "optional" : 1,
95895385
TL
28061 "type" : "string",
28062 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
28063 },
28064 "ip" : {
28065 "description" : "IPv4 address in CIDR format.",
28066 "format" : "pve-ipv4-config",
28067 "format_description" : "(IPv4/CIDR|dhcp|manual)",
28068 "optional" : 1,
28069 "type" : "string"
28070 },
28071 "ip6" : {
28072 "description" : "IPv6 address in CIDR format.",
28073 "format" : "pve-ipv6-config",
28074 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
28075 "optional" : 1,
28076 "type" : "string"
28077 },
28078 "mtu" : {
28079 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
28080 "minimum" : 64,
28081 "optional" : 1,
28082 "type" : "integer"
28083 },
28084 "name" : {
28085 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
28086 "format_description" : "string",
28087 "pattern" : "[-_.\\w\\d]+",
28088 "type" : "string"
28089 },
28090 "rate" : {
28091 "description" : "Apply rate limiting to the interface",
28092 "format_description" : "mbps",
28093 "optional" : 1,
28094 "type" : "number"
28095 },
28096 "tag" : {
28097 "description" : "VLAN tag for this interface.",
28098 "maximum" : 4094,
28099 "minimum" : 1,
28100 "optional" : 1,
28101 "type" : "integer"
28102 },
28103 "trunks" : {
28104 "description" : "VLAN ids to pass through the interface",
28105 "format_description" : "vlanid[;vlanid...]",
28106 "optional" : 1,
28107 "pattern" : "(?^:\\d+(?:;\\d+)*)",
28108 "type" : "string"
28109 },
28110 "type" : {
28111 "description" : "Network interface type.",
28112 "enum" : [
28113 "veth"
28114 ],
28115 "optional" : 1,
28116 "type" : "string"
7aacca6f 28117 }
4d47f125
TL
28118 },
28119 "optional" : 1,
28120 "type" : "string",
28121 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
56122987 28122 },
4d47f125
TL
28123 "node" : {
28124 "description" : "The cluster node name.",
28125 "format" : "pve-node",
28126 "type" : "string",
28127 "typetext" : "<string>"
28128 },
28129 "onboot" : {
28130 "default" : 0,
28131 "description" : "Specifies whether a VM will be started during system bootup.",
28132 "optional" : 1,
28133 "type" : "boolean",
28134 "typetext" : "<boolean>"
28135 },
28136 "ostemplate" : {
28137 "description" : "The OS template or backup file.",
28138 "maxLength" : 255,
28139 "type" : "string",
28140 "typetext" : "<string>"
28141 },
28142 "ostype" : {
28143 "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
28144 "enum" : [
28145 "debian",
28146 "ubuntu",
28147 "centos",
28148 "fedora",
28149 "opensuse",
28150 "archlinux",
28151 "alpine",
28152 "gentoo",
28153 "unmanaged"
28154 ],
28155 "optional" : 1,
28156 "type" : "string"
28157 },
28158 "password" : {
28159 "description" : "Sets root password inside container.",
28160 "minLength" : 5,
28161 "optional" : 1,
28162 "type" : "string",
28163 "typetext" : "<string>"
28164 },
28165 "pool" : {
28166 "description" : "Add the VM to the specified pool.",
28167 "format" : "pve-poolid",
28168 "optional" : 1,
28169 "type" : "string",
28170 "typetext" : "<string>"
28171 },
28172 "protection" : {
28173 "default" : 0,
28174 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
28175 "optional" : 1,
28176 "type" : "boolean",
28177 "typetext" : "<boolean>"
28178 },
28179 "restore" : {
28180 "description" : "Mark this as restore task.",
28181 "optional" : 1,
28182 "type" : "boolean",
28183 "typetext" : "<boolean>"
28184 },
28185 "rootfs" : {
28186 "description" : "Use volume as container root.",
28187 "format" : {
28188 "acl" : {
28189 "description" : "Explicitly enable or disable ACL support.",
28190 "optional" : 1,
28191 "type" : "boolean"
56122987 28192 },
7cbed89a
TL
28193 "mountoptions" : {
28194 "description" : "Extra mount options for rootfs/mps.",
28195 "format_description" : "opt[;opt...]",
28196 "optional" : 1,
28197 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
28198 "type" : "string"
28199 },
4d47f125
TL
28200 "quota" : {
28201 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
28202 "optional" : 1,
28203 "type" : "boolean"
7aacca6f 28204 },
4d47f125
TL
28205 "replicate" : {
28206 "default" : 1,
28207 "description" : "Will include this volume to a storage replica job.",
28208 "optional" : 1,
28209 "type" : "boolean"
28210 },
28211 "ro" : {
28212 "description" : "Read-only mount point",
28213 "optional" : 1,
28214 "type" : "boolean"
28215 },
28216 "shared" : {
28217 "default" : 0,
28218 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
28219 "optional" : 1,
28220 "type" : "boolean",
28221 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
28222 },
28223 "size" : {
28224 "description" : "Volume size (read only value).",
28225 "format" : "disk-size",
28226 "format_description" : "DiskSize",
28227 "optional" : 1,
28228 "type" : "string"
28229 },
28230 "volume" : {
28231 "default_key" : 1,
28232 "description" : "Volume, device or directory to mount into the container.",
28233 "format" : "pve-lxc-mp-string",
28234 "format_description" : "volume",
28235 "type" : "string"
56122987 28236 }
4d47f125
TL
28237 },
28238 "optional" : 1,
28239 "type" : "string",
7cbed89a 28240 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 28241 },
4d47f125
TL
28242 "searchdomain" : {
28243 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
28244 "format" : "dns-name-list",
28245 "optional" : 1,
28246 "type" : "string",
28247 "typetext" : "<string>"
28248 },
28249 "ssh-public-keys" : {
28250 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
28251 "optional" : 1,
28252 "type" : "string",
28253 "typetext" : "<string>"
28254 },
28255 "start" : {
28256 "default" : 0,
28257 "description" : "Start the CT after its creation finished successfully.",
28258 "optional" : 1,
28259 "type" : "boolean",
28260 "typetext" : "<boolean>"
28261 },
28262 "startup" : {
28263 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
28264 "format" : "pve-startup-order",
28265 "optional" : 1,
28266 "type" : "string",
28267 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
28268 },
28269 "storage" : {
28270 "default" : "local",
28271 "description" : "Default Storage.",
28272 "format" : "pve-storage-id",
28273 "optional" : 1,
28274 "type" : "string",
28275 "typetext" : "<string>"
28276 },
28277 "swap" : {
28278 "default" : 512,
28279 "description" : "Amount of SWAP for the VM in MB.",
28280 "minimum" : 0,
28281 "optional" : 1,
28282 "type" : "integer",
28283 "typetext" : "<integer> (0 - N)"
28284 },
5c1699e5
TL
28285 "tags" : {
28286 "description" : "Tags of the Container. This is only meta information.",
28287 "format" : "pve-tag-list",
28288 "optional" : 1,
28289 "type" : "string",
28290 "typetext" : "<string>"
28291 },
4d47f125
TL
28292 "template" : {
28293 "default" : 0,
28294 "description" : "Enable/disable Template.",
28295 "optional" : 1,
28296 "type" : "boolean",
28297 "typetext" : "<boolean>"
28298 },
04d22a9f
TL
28299 "timezone" : {
28300 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
28301 "format" : "pve-ct-timezone",
28302 "optional" : 1,
28303 "type" : "string",
28304 "typetext" : "<string>"
28305 },
4d47f125
TL
28306 "tty" : {
28307 "default" : 2,
28308 "description" : "Specify the number of tty available to the container",
28309 "maximum" : 6,
28310 "minimum" : 0,
28311 "optional" : 1,
28312 "type" : "integer",
28313 "typetext" : "<integer> (0 - 6)"
28314 },
95895385
TL
28315 "unique" : {
28316 "description" : "Assign a unique random ethernet address.",
28317 "optional" : 1,
28318 "requires" : "restore",
28319 "type" : "boolean",
28320 "typetext" : "<boolean>"
28321 },
4d47f125
TL
28322 "unprivileged" : {
28323 "default" : 0,
28324 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
28325 "optional" : 1,
28326 "type" : "boolean",
28327 "typetext" : "<boolean>"
28328 },
28329 "unused[n]" : {
28330 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
28331 "format" : {
28332 "volume" : {
28333 "default_key" : 1,
28334 "description" : "The volume that is not used currently.",
28335 "format" : "pve-volume-id",
28336 "format_description" : "volume",
28337 "type" : "string"
28338 }
28339 },
4d47f125
TL
28340 "optional" : 1,
28341 "type" : "string",
c5aa7e14 28342 "typetext" : "[volume=]<volume>"
4d47f125
TL
28343 },
28344 "vmid" : {
28345 "description" : "The (unique) ID of the VM.",
28346 "format" : "pve-vmid",
28347 "minimum" : 1,
28348 "type" : "integer",
28349 "typetext" : "<integer> (1 - N)"
28350 }
28351 }
28352 },
28353 "permissions" : {
28354 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid} or on the VM pool /pool/{pool}. For restore, it is enough if the user has 'VM.Backup' permission and the VM already exists. You also need 'Datastore.AllocateSpace' permissions on the storage.",
28355 "user" : "all"
28356 },
28357 "protected" : 1,
28358 "proxyto" : "node",
28359 "returns" : {
28360 "type" : "string"
28361 }
28362 }
28363 },
28364 "leaf" : 0,
28365 "path" : "/nodes/{node}/lxc",
28366 "text" : "lxc"
28367 },
28368 {
28369 "children" : [
28370 {
28371 "children" : [
56122987 28372 {
4d47f125
TL
28373 "children" : [
28374 {
28375 "info" : {
28376 "POST" : {
e9cd3bd4 28377 "allowtoken" : 1,
4d47f125
TL
28378 "description" : "ceph osd in",
28379 "method" : "POST",
28380 "name" : "in",
28381 "parameters" : {
28382 "additionalProperties" : 0,
28383 "properties" : {
28384 "node" : {
28385 "description" : "The cluster node name.",
28386 "format" : "pve-node",
28387 "type" : "string",
28388 "typetext" : "<string>"
28389 },
28390 "osdid" : {
28391 "description" : "OSD ID",
28392 "type" : "integer",
28393 "typetext" : "<integer>"
28394 }
28395 }
27a7acb2 28396 },
4d47f125
TL
28397 "permissions" : {
28398 "check" : [
28399 "perm",
28400 "/",
28401 [
28402 "Sys.Modify"
28403 ]
28404 ]
44660702 28405 },
4d47f125
TL
28406 "protected" : 1,
28407 "proxyto" : "node",
28408 "returns" : {
28409 "type" : "null"
7aacca6f
DM
28410 }
28411 }
56122987 28412 },
4d47f125
TL
28413 "leaf" : 1,
28414 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
28415 "text" : "in"
28416 },
28417 {
28418 "info" : {
28419 "POST" : {
e9cd3bd4 28420 "allowtoken" : 1,
4d47f125
TL
28421 "description" : "ceph osd out",
28422 "method" : "POST",
28423 "name" : "out",
28424 "parameters" : {
28425 "additionalProperties" : 0,
28426 "properties" : {
28427 "node" : {
28428 "description" : "The cluster node name.",
28429 "format" : "pve-node",
28430 "type" : "string",
28431 "typetext" : "<string>"
28432 },
28433 "osdid" : {
28434 "description" : "OSD ID",
28435 "type" : "integer",
28436 "typetext" : "<integer>"
28437 }
28438 }
28439 },
28440 "permissions" : {
28441 "check" : [
56122987 28442 "perm",
4d47f125 28443 "/",
56122987 28444 [
4d47f125 28445 "Sys.Modify"
56122987 28446 ]
56122987 28447 ]
44660702 28448 },
4d47f125
TL
28449 "protected" : 1,
28450 "proxyto" : "node",
28451 "returns" : {
28452 "type" : "null"
56122987 28453 }
44660702 28454 }
56122987 28455 },
4d47f125
TL
28456 "leaf" : 1,
28457 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
28458 "text" : "out"
7cbed89a
TL
28459 },
28460 {
28461 "info" : {
28462 "POST" : {
e9cd3bd4 28463 "allowtoken" : 1,
7cbed89a
TL
28464 "description" : "Instruct the OSD to scrub.",
28465 "method" : "POST",
28466 "name" : "scrub",
28467 "parameters" : {
28468 "additionalProperties" : 0,
28469 "properties" : {
28470 "deep" : {
28471 "default" : 0,
28472 "description" : "If set, instructs a deep scrub instead of a normal one.",
28473 "optional" : 1,
28474 "type" : "boolean",
28475 "typetext" : "<boolean>"
28476 },
28477 "node" : {
28478 "description" : "The cluster node name.",
28479 "format" : "pve-node",
28480 "type" : "string",
28481 "typetext" : "<string>"
28482 },
28483 "osdid" : {
28484 "description" : "OSD ID",
28485 "type" : "integer",
28486 "typetext" : "<integer>"
28487 }
28488 }
28489 },
28490 "permissions" : {
28491 "check" : [
28492 "perm",
28493 "/",
28494 [
28495 "Sys.Modify"
28496 ]
28497 ]
28498 },
28499 "protected" : 1,
28500 "proxyto" : "node",
28501 "returns" : {
28502 "type" : "null"
28503 }
28504 }
28505 },
28506 "leaf" : 1,
28507 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
28508 "text" : "scrub"
56122987 28509 }
4d47f125 28510 ],
27a7acb2 28511 "info" : {
4d47f125 28512 "DELETE" : {
e9cd3bd4 28513 "allowtoken" : 1,
4d47f125
TL
28514 "description" : "Destroy OSD",
28515 "method" : "DELETE",
28516 "name" : "destroyosd",
27a7acb2
DM
28517 "parameters" : {
28518 "additionalProperties" : 0,
28519 "properties" : {
4d47f125 28520 "cleanup" : {
27a7acb2 28521 "default" : 0,
4d47f125 28522 "description" : "If set, we remove partition table entries.",
27a7acb2 28523 "optional" : 1,
4d47f125
TL
28524 "type" : "boolean",
28525 "typetext" : "<boolean>"
28526 },
28527 "node" : {
28528 "description" : "The cluster node name.",
28529 "format" : "pve-node",
28530 "type" : "string",
28531 "typetext" : "<string>"
28532 },
28533 "osdid" : {
28534 "description" : "OSD ID",
28535 "type" : "integer",
28536 "typetext" : "<integer>"
28537 }
28538 }
27a7acb2
DM
28539 },
28540 "protected" : 1,
28541 "proxyto" : "node",
28542 "returns" : {
28543 "type" : "string"
28544 }
28545 }
28546 },
4d47f125
TL
28547 "leaf" : 0,
28548 "path" : "/nodes/{node}/ceph/osd/{osdid}",
28549 "text" : "{osdid}"
56122987
DM
28550 }
28551 ],
28552 "info" : {
4d47f125 28553 "GET" : {
e9cd3bd4 28554 "allowtoken" : 1,
4d47f125
TL
28555 "description" : "Get Ceph osd list/tree.",
28556 "method" : "GET",
28557 "name" : "index",
44660702
DM
28558 "parameters" : {
28559 "additionalProperties" : 0,
28560 "properties" : {
28561 "node" : {
28562 "description" : "The cluster node name.",
28563 "format" : "pve-node",
013dc89f
DM
28564 "type" : "string",
28565 "typetext" : "<string>"
44660702
DM
28566 }
28567 }
28568 },
7aacca6f
DM
28569 "permissions" : {
28570 "check" : [
28571 "perm",
4d47f125 28572 "/",
7aacca6f 28573 [
4d47f125
TL
28574 "Sys.Audit",
28575 "Datastore.Audit"
28576 ],
28577 "any",
28578 1
28579 ]
28580 },
28581 "protected" : 1,
28582 "proxyto" : "node",
28583 "returns" : {
28584 "type" : "object"
28585 }
28586 },
28587 "POST" : {
e9cd3bd4 28588 "allowtoken" : 1,
4d47f125
TL
28589 "description" : "Create OSD",
28590 "method" : "POST",
28591 "name" : "createosd",
28592 "parameters" : {
28593 "additionalProperties" : 0,
28594 "properties" : {
739d4d64
TL
28595 "crush-device-class" : {
28596 "description" : "Set the device class of the OSD in crush.",
28597 "optional" : 1,
28598 "type" : "string",
28599 "typetext" : "<string>"
28600 },
1e3f8156
TL
28601 "db_dev" : {
28602 "description" : "Block device name for block.db.",
44660702 28603 "optional" : 1,
4bd7df8b 28604 "type" : "string",
4d47f125 28605 "typetext" : "<string>"
44660702 28606 },
1e3f8156
TL
28607 "db_size" : {
28608 "default" : "bluestore_block_db_size or 10% of OSD size",
28609 "description" : "Size in GiB for block.db.",
28610 "minimum" : 1,
7aacca6f 28611 "optional" : 1,
1e3f8156
TL
28612 "requires" : "db_dev",
28613 "type" : "number",
28614 "typetext" : "<number> (1 - N)",
28615 "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
44660702 28616 },
1e3f8156
TL
28617 "dev" : {
28618 "description" : "Block device name.",
4d47f125
TL
28619 "type" : "string",
28620 "typetext" : "<string>"
5d9c884c 28621 },
1e3f8156
TL
28622 "encrypted" : {
28623 "default" : 0,
28624 "description" : "Enables encryption of the OSD.",
28625 "optional" : 1,
28626 "type" : "boolean",
28627 "typetext" : "<boolean>"
28628 },
4d47f125
TL
28629 "node" : {
28630 "description" : "The cluster node name.",
28631 "format" : "pve-node",
28632 "type" : "string",
28633 "typetext" : "<string>"
7aacca6f 28634 },
4d47f125 28635 "wal_dev" : {
1e3f8156 28636 "description" : "Block device name for block.wal.",
de0983cb 28637 "optional" : 1,
4d47f125
TL
28638 "type" : "string",
28639 "typetext" : "<string>"
1e3f8156
TL
28640 },
28641 "wal_size" : {
28642 "default" : "bluestore_block_wal_size or 1% of OSD size",
28643 "description" : "Size in GiB for block.wal.",
28644 "minimum" : 0.5,
28645 "optional" : 1,
28646 "requires" : "wal_dev",
28647 "type" : "number",
28648 "typetext" : "<number> (0.5 - N)",
28649 "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
4d47f125
TL
28650 }
28651 }
28652 },
28653 "protected" : 1,
28654 "proxyto" : "node",
28655 "returns" : {
28656 "type" : "string"
28657 }
28658 }
28659 },
28660 "leaf" : 0,
28661 "path" : "/nodes/{node}/ceph/osd",
28662 "text" : "osd"
28663 },
e2d681b3
TL
28664 {
28665 "children" : [
28666 {
28667 "info" : {
28668 "DELETE" : {
e9cd3bd4 28669 "allowtoken" : 1,
e2d681b3
TL
28670 "description" : "Destroy Ceph Metadata Server",
28671 "method" : "DELETE",
28672 "name" : "destroymds",
28673 "parameters" : {
28674 "additionalProperties" : 0,
28675 "properties" : {
28676 "name" : {
28677 "description" : "The name (ID) of the mds",
28678 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28679 "type" : "string"
28680 },
28681 "node" : {
28682 "description" : "The cluster node name.",
28683 "format" : "pve-node",
28684 "type" : "string",
28685 "typetext" : "<string>"
28686 }
28687 }
28688 },
28689 "permissions" : {
28690 "check" : [
28691 "perm",
28692 "/",
28693 [
28694 "Sys.Modify"
28695 ]
28696 ]
28697 },
28698 "protected" : 1,
28699 "proxyto" : "node",
28700 "returns" : {
28701 "type" : "string"
28702 }
28703 },
28704 "POST" : {
e9cd3bd4 28705 "allowtoken" : 1,
e2d681b3
TL
28706 "description" : "Create Ceph Metadata Server (MDS)",
28707 "method" : "POST",
28708 "name" : "createmds",
28709 "parameters" : {
28710 "additionalProperties" : 0,
28711 "properties" : {
28712 "hotstandby" : {
28713 "default" : "0",
28714 "description" : "Determines whether a ceph-mds daemon should poll and replay the log of an active MDS. Faster switch on MDS failure, but needs more idle resources.",
28715 "optional" : 1,
28716 "type" : "boolean",
28717 "typetext" : "<boolean>"
28718 },
28719 "name" : {
28720 "default" : "nodename",
28721 "description" : "The ID for the mds, when omitted the same as the nodename",
c5aa7e14 28722 "maxLength" : 200,
e2d681b3
TL
28723 "optional" : 1,
28724 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28725 "type" : "string"
28726 },
28727 "node" : {
28728 "description" : "The cluster node name.",
28729 "format" : "pve-node",
28730 "type" : "string",
28731 "typetext" : "<string>"
28732 }
28733 }
28734 },
28735 "permissions" : {
28736 "check" : [
28737 "perm",
28738 "/",
28739 [
28740 "Sys.Modify"
28741 ]
28742 ]
28743 },
28744 "protected" : 1,
28745 "proxyto" : "node",
28746 "returns" : {
28747 "type" : "string"
28748 }
28749 }
28750 },
28751 "leaf" : 1,
28752 "path" : "/nodes/{node}/ceph/mds/{name}",
28753 "text" : "{name}"
28754 }
28755 ],
28756 "info" : {
28757 "GET" : {
e9cd3bd4 28758 "allowtoken" : 1,
e2d681b3
TL
28759 "description" : "MDS directory index.",
28760 "method" : "GET",
28761 "name" : "index",
28762 "parameters" : {
28763 "additionalProperties" : 0,
28764 "properties" : {
28765 "node" : {
28766 "description" : "The cluster node name.",
28767 "format" : "pve-node",
28768 "type" : "string",
28769 "typetext" : "<string>"
28770 }
28771 }
28772 },
28773 "permissions" : {
28774 "check" : [
28775 "perm",
28776 "/",
28777 [
28778 "Sys.Audit",
28779 "Datastore.Audit"
28780 ],
28781 "any",
28782 1
28783 ]
28784 },
28785 "protected" : 1,
28786 "proxyto" : "node",
28787 "returns" : {
28788 "items" : {
28789 "properties" : {
28790 "addr" : {
28791 "optional" : 1,
28792 "type" : "string"
28793 },
28794 "host" : {
28795 "optional" : 1,
28796 "type" : "string"
28797 },
28798 "name" : {
28799 "description" : "The name (ID) for the MDS"
28800 },
28801 "rank" : {
28802 "optional" : 1,
28803 "type" : "integer"
28804 },
28805 "standby_replay" : {
28806 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
28807 "optional" : 1,
28808 "type" : "boolean"
28809 },
28810 "state" : {
28811 "description" : "State of the MDS",
28812 "type" : "string"
28813 }
28814 },
28815 "type" : "object"
28816 },
28817 "links" : [
28818 {
28819 "href" : "{name}",
28820 "rel" : "child"
28821 }
28822 ],
28823 "type" : "array"
28824 }
28825 }
28826 },
28827 "leaf" : 0,
28828 "path" : "/nodes/{node}/ceph/mds",
28829 "text" : "mds"
28830 },
28831 {
28832 "children" : [
28833 {
28834 "info" : {
5f26e15b 28835 "DELETE" : {
e9cd3bd4 28836 "allowtoken" : 1,
5f26e15b
TL
28837 "description" : "Destroy Ceph Manager.",
28838 "method" : "DELETE",
28839 "name" : "destroymgr",
e2d681b3
TL
28840 "parameters" : {
28841 "additionalProperties" : 0,
28842 "properties" : {
5f26e15b
TL
28843 "id" : {
28844 "description" : "The ID of the manager",
28845 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28846 "type" : "string"
e2d681b3
TL
28847 },
28848 "node" : {
28849 "description" : "The cluster node name.",
28850 "format" : "pve-node",
28851 "type" : "string",
28852 "typetext" : "<string>"
e2d681b3
TL
28853 }
28854 }
28855 },
28856 "permissions" : {
28857 "check" : [
28858 "perm",
28859 "/",
28860 [
28861 "Sys.Modify"
28862 ]
28863 ]
28864 },
28865 "protected" : 1,
28866 "proxyto" : "node",
28867 "returns" : {
28868 "type" : "string"
28869 }
1e3f8156
TL
28870 },
28871 "POST" : {
e9cd3bd4 28872 "allowtoken" : 1,
1e3f8156
TL
28873 "description" : "Create Ceph Manager",
28874 "method" : "POST",
28875 "name" : "createmgr",
28876 "parameters" : {
28877 "additionalProperties" : 0,
28878 "properties" : {
28879 "id" : {
28880 "description" : "The ID for the manager, when omitted the same as the nodename",
c5aa7e14 28881 "maxLength" : 200,
1e3f8156
TL
28882 "optional" : 1,
28883 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28884 "type" : "string"
28885 },
28886 "node" : {
28887 "description" : "The cluster node name.",
28888 "format" : "pve-node",
28889 "type" : "string",
28890 "typetext" : "<string>"
28891 }
28892 }
28893 },
28894 "permissions" : {
28895 "check" : [
28896 "perm",
28897 "/",
28898 [
28899 "Sys.Modify"
28900 ]
28901 ]
28902 },
28903 "protected" : 1,
28904 "proxyto" : "node",
28905 "returns" : {
28906 "type" : "string"
28907 }
e2d681b3
TL
28908 }
28909 },
28910 "leaf" : 1,
5f26e15b
TL
28911 "path" : "/nodes/{node}/ceph/mgr/{id}",
28912 "text" : "{id}"
e2d681b3
TL
28913 }
28914 ],
28915 "info" : {
1e3f8156 28916 "GET" : {
e9cd3bd4 28917 "allowtoken" : 1,
1e3f8156
TL
28918 "description" : "MGR directory index.",
28919 "method" : "GET",
28920 "name" : "index",
e2d681b3
TL
28921 "parameters" : {
28922 "additionalProperties" : 0,
28923 "properties" : {
28924 "node" : {
28925 "description" : "The cluster node name.",
28926 "format" : "pve-node",
28927 "type" : "string",
28928 "typetext" : "<string>"
28929 }
28930 }
28931 },
28932 "permissions" : {
28933 "check" : [
28934 "perm",
28935 "/",
28936 [
1e3f8156
TL
28937 "Sys.Audit",
28938 "Datastore.Audit"
28939 ],
28940 "any",
28941 1
e2d681b3
TL
28942 ]
28943 },
28944 "protected" : 1,
5f26e15b 28945 "proxyto" : "node",
e2d681b3 28946 "returns" : {
1e3f8156
TL
28947 "items" : {
28948 "properties" : {
28949 "addr" : {
28950 "optional" : 1,
28951 "type" : "string"
28952 },
28953 "host" : {
28954 "optional" : 1,
28955 "type" : "string"
28956 },
28957 "name" : {
28958 "description" : "The name (ID) for the MGR"
28959 },
28960 "state" : {
28961 "description" : "State of the MGR",
28962 "type" : "string"
28963 }
28964 },
28965 "type" : "object"
28966 },
28967 "links" : [
28968 {
28969 "href" : "{name}",
28970 "rel" : "child"
28971 }
28972 ],
28973 "type" : "array"
e2d681b3
TL
28974 }
28975 }
28976 },
28977 "leaf" : 0,
5f26e15b
TL
28978 "path" : "/nodes/{node}/ceph/mgr",
28979 "text" : "mgr"
e2d681b3 28980 },
4d47f125 28981 {
5f26e15b
TL
28982 "children" : [
28983 {
28984 "info" : {
28985 "DELETE" : {
e9cd3bd4 28986 "allowtoken" : 1,
5f26e15b
TL
28987 "description" : "Destroy Ceph Monitor and Manager.",
28988 "method" : "DELETE",
28989 "name" : "destroymon",
28990 "parameters" : {
28991 "additionalProperties" : 0,
28992 "properties" : {
1e3f8156
TL
28993 "monid" : {
28994 "description" : "Monitor ID",
28995 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28996 "type" : "string"
28997 },
28998 "node" : {
28999 "description" : "The cluster node name.",
29000 "format" : "pve-node",
29001 "type" : "string",
29002 "typetext" : "<string>"
29003 }
29004 }
29005 },
29006 "permissions" : {
29007 "check" : [
29008 "perm",
29009 "/",
29010 [
29011 "Sys.Modify"
29012 ]
29013 ]
29014 },
29015 "protected" : 1,
29016 "proxyto" : "node",
29017 "returns" : {
29018 "type" : "string"
29019 }
29020 },
29021 "POST" : {
e9cd3bd4 29022 "allowtoken" : 1,
1e3f8156
TL
29023 "description" : "Create Ceph Monitor and Manager",
29024 "method" : "POST",
29025 "name" : "createmon",
29026 "parameters" : {
29027 "additionalProperties" : 0,
29028 "properties" : {
29029 "mon-address" : {
29030 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
29031 "format" : "ip",
5f26e15b 29032 "optional" : 1,
1e3f8156
TL
29033 "type" : "string",
29034 "typetext" : "<string>"
5f26e15b
TL
29035 },
29036 "monid" : {
1e3f8156 29037 "description" : "The ID for the monitor, when omitted the same as the nodename",
c5aa7e14 29038 "maxLength" : 200,
1e3f8156 29039 "optional" : 1,
5f26e15b
TL
29040 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
29041 "type" : "string"
29042 },
29043 "node" : {
29044 "description" : "The cluster node name.",
29045 "format" : "pve-node",
29046 "type" : "string",
29047 "typetext" : "<string>"
29048 }
29049 }
29050 },
29051 "permissions" : {
29052 "check" : [
29053 "perm",
29054 "/",
29055 [
29056 "Sys.Modify"
29057 ]
29058 ]
29059 },
29060 "protected" : 1,
29061 "proxyto" : "node",
29062 "returns" : {
7aacca6f 29063 "type" : "string"
56122987 29064 }
4d47f125 29065 }
56122987 29066 },
5f26e15b
TL
29067 "leaf" : 1,
29068 "path" : "/nodes/{node}/ceph/mon/{monid}",
29069 "text" : "{monid}"
29070 }
29071 ],
29072 "info" : {
29073 "GET" : {
e9cd3bd4 29074 "allowtoken" : 1,
5f26e15b
TL
29075 "description" : "Get Ceph monitor list.",
29076 "method" : "GET",
29077 "name" : "listmon",
29078 "parameters" : {
29079 "additionalProperties" : 0,
29080 "properties" : {
29081 "node" : {
29082 "description" : "The cluster node name.",
29083 "format" : "pve-node",
29084 "type" : "string",
29085 "typetext" : "<string>"
29086 }
29087 }
29088 },
4d47f125
TL
29089 "permissions" : {
29090 "check" : [
29091 "perm",
29092 "/",
29093 [
29094 "Sys.Audit",
29095 "Datastore.Audit"
29096 ],
29097 "any",
29098 1
29099 ]
56122987 29100 },
4d47f125
TL
29101 "protected" : 1,
29102 "proxyto" : "node",
29103 "returns" : {
29104 "items" : {
29105 "properties" : {
5f26e15b 29106 "addr" : {
1e3f8156
TL
29107 "optional" : 1,
29108 "type" : "string"
29109 },
29110 "host" : {
29111 "optional" : 1,
4d47f125
TL
29112 "type" : "string"
29113 },
5f26e15b 29114 "name" : {
4d47f125
TL
29115 "type" : "string"
29116 }
7aacca6f 29117 },
4d47f125
TL
29118 "type" : "object"
29119 },
5f26e15b
TL
29120 "links" : [
29121 {
29122 "href" : "{name}",
29123 "rel" : "child"
29124 }
29125 ],
4d47f125
TL
29126 "type" : "array"
29127 }
4d47f125
TL
29128 }
29129 },
5f26e15b
TL
29130 "leaf" : 0,
29131 "path" : "/nodes/{node}/ceph/mon",
29132 "text" : "mon"
4d47f125
TL
29133 },
29134 {
29135 "children" : [
29136 {
29137 "info" : {
5f26e15b 29138 "POST" : {
e9cd3bd4 29139 "allowtoken" : 1,
5f26e15b
TL
29140 "description" : "Create a Ceph filesystem",
29141 "method" : "POST",
29142 "name" : "createfs",
4d47f125
TL
29143 "parameters" : {
29144 "additionalProperties" : 0,
29145 "properties" : {
5f26e15b 29146 "add-storage" : {
4d47f125 29147 "default" : 0,
5f26e15b 29148 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
29149 "optional" : 1,
29150 "type" : "boolean",
29151 "typetext" : "<boolean>"
29152 },
5f26e15b
TL
29153 "name" : {
29154 "default" : "cephfs",
29155 "description" : "The ceph filesystem name.",
29156 "optional" : 1,
29157 "type" : "string",
29158 "typetext" : "<string>"
4d47f125
TL
29159 },
29160 "node" : {
29161 "description" : "The cluster node name.",
29162 "format" : "pve-node",
29163 "type" : "string",
29164 "typetext" : "<string>"
5f26e15b
TL
29165 },
29166 "pg_num" : {
29167 "default" : 128,
29168 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
29169 "maximum" : 32768,
29170 "minimum" : 8,
29171 "optional" : 1,
29172 "type" : "integer",
29173 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
29174 }
29175 }
7aacca6f 29176 },
4d47f125
TL
29177 "permissions" : {
29178 "check" : [
29179 "perm",
29180 "/",
29181 [
29182 "Sys.Modify"
29183 ]
29184 ]
7aacca6f 29185 },
4d47f125
TL
29186 "protected" : 1,
29187 "proxyto" : "node",
29188 "returns" : {
44660702 29189 "type" : "string"
4d47f125
TL
29190 }
29191 }
29192 },
29193 "leaf" : 1,
5f26e15b
TL
29194 "path" : "/nodes/{node}/ceph/fs/{name}",
29195 "text" : "{name}"
4d47f125
TL
29196 }
29197 ],
29198 "info" : {
29199 "GET" : {
e9cd3bd4 29200 "allowtoken" : 1,
5f26e15b 29201 "description" : "Directory index.",
4d47f125 29202 "method" : "GET",
5f26e15b 29203 "name" : "index",
4d47f125
TL
29204 "parameters" : {
29205 "additionalProperties" : 0,
29206 "properties" : {
29207 "node" : {
29208 "description" : "The cluster node name.",
29209 "format" : "pve-node",
29210 "type" : "string",
29211 "typetext" : "<string>"
29212 }
29213 }
29214 },
29215 "permissions" : {
29216 "check" : [
29217 "perm",
29218 "/",
29219 [
29220 "Sys.Audit",
29221 "Datastore.Audit"
29222 ],
29223 "any",
29224 1
29225 ]
29226 },
29227 "protected" : 1,
95895385 29228 "proxyto" : "node",
4d47f125
TL
29229 "returns" : {
29230 "items" : {
29231 "properties" : {
5f26e15b
TL
29232 "data_pool" : {
29233 "description" : "The name of the data pool.",
29234 "type" : "string"
29235 },
29236 "metadata_pool" : {
29237 "description" : "The name of the metadata pool.",
4d47f125
TL
29238 "type" : "string"
29239 },
29240 "name" : {
5f26e15b 29241 "description" : "The ceph filesystem name.",
4d47f125
TL
29242 "type" : "string"
29243 }
7aacca6f 29244 },
4d47f125
TL
29245 "type" : "object"
29246 },
29247 "links" : [
29248 {
29249 "href" : "{name}",
29250 "rel" : "child"
29251 }
29252 ],
29253 "type" : "array"
29254 }
5f26e15b
TL
29255 }
29256 },
29257 "leaf" : 0,
29258 "path" : "/nodes/{node}/ceph/fs",
29259 "text" : "fs"
29260 },
29261 {
29262 "info" : {
29263 "GET" : {
e9cd3bd4 29264 "allowtoken" : 1,
5f26e15b
TL
29265 "description" : "List local disks.",
29266 "method" : "GET",
29267 "name" : "disks",
4d47f125
TL
29268 "parameters" : {
29269 "additionalProperties" : 0,
29270 "properties" : {
5f26e15b
TL
29271 "node" : {
29272 "description" : "The cluster node name.",
29273 "format" : "pve-node",
29274 "type" : "string",
29275 "typetext" : "<string>"
44660702 29276 },
5f26e15b
TL
29277 "type" : {
29278 "description" : "Only list specific types of disks.",
29279 "enum" : [
29280 "unused",
29281 "journal_disks"
29282 ],
44660702 29283 "optional" : 1,
44660702 29284 "type" : "string"
5f26e15b
TL
29285 }
29286 }
29287 },
29288 "permissions" : {
29289 "check" : [
29290 "perm",
29291 "/",
29292 [
29293 "Sys.Audit",
29294 "Datastore.Audit"
29295 ],
29296 "any",
29297 1
29298 ]
29299 },
29300 "protected" : 1,
29301 "proxyto" : "node",
29302 "returns" : {
29303 "items" : {
29304 "properties" : {
29305 "dev" : {
29306 "type" : "string"
29307 },
29308 "gpt" : {
29309 "type" : "boolean"
29310 },
29311 "model" : {
29312 "optional" : 1,
29313 "type" : "string"
29314 },
29315 "osdid" : {
29316 "type" : "integer"
29317 },
29318 "serial" : {
29319 "optional" : 1,
29320 "type" : "string"
29321 },
29322 "size" : {
29323 "type" : "integer"
29324 },
29325 "used" : {
29326 "optional" : 1,
29327 "type" : "string"
29328 },
29329 "vendor" : {
29330 "optional" : 1,
29331 "type" : "string"
29332 }
44660702 29333 },
5f26e15b
TL
29334 "type" : "object"
29335 },
29336 "type" : "array"
29337 }
29338 }
29339 },
29340 "leaf" : 1,
29341 "path" : "/nodes/{node}/ceph/disks",
29342 "text" : "disks"
29343 },
29344 {
29345 "info" : {
29346 "GET" : {
e9cd3bd4 29347 "allowtoken" : 1,
5f26e15b
TL
29348 "description" : "Get Ceph configuration.",
29349 "method" : "GET",
29350 "name" : "config",
29351 "parameters" : {
29352 "additionalProperties" : 0,
29353 "properties" : {
4d47f125
TL
29354 "node" : {
29355 "description" : "The cluster node name.",
29356 "format" : "pve-node",
29357 "type" : "string",
29358 "typetext" : "<string>"
7aacca6f 29359 }
4d47f125 29360 }
44660702 29361 },
4d47f125
TL
29362 "permissions" : {
29363 "check" : [
29364 "perm",
29365 "/",
29366 [
5f26e15b
TL
29367 "Sys.Audit",
29368 "Datastore.Audit"
29369 ],
29370 "any",
29371 1
4d47f125 29372 ]
56122987 29373 },
95895385 29374 "proxyto" : "node",
4d47f125 29375 "returns" : {
7aacca6f 29376 "type" : "string"
4d47f125
TL
29377 }
29378 }
29379 },
5f26e15b
TL
29380 "leaf" : 1,
29381 "path" : "/nodes/{node}/ceph/config",
29382 "text" : "config"
4d47f125 29383 },
7cbed89a
TL
29384 {
29385 "info" : {
29386 "GET" : {
e9cd3bd4 29387 "allowtoken" : 1,
7cbed89a
TL
29388 "description" : "Get Ceph configuration database.",
29389 "method" : "GET",
29390 "name" : "configdb",
29391 "parameters" : {
29392 "additionalProperties" : 0,
29393 "properties" : {
29394 "node" : {
29395 "description" : "The cluster node name.",
29396 "format" : "pve-node",
29397 "type" : "string",
29398 "typetext" : "<string>"
29399 }
29400 }
29401 },
29402 "permissions" : {
29403 "check" : [
29404 "perm",
29405 "/",
29406 [
29407 "Sys.Audit",
29408 "Datastore.Audit"
29409 ],
29410 "any",
29411 1
29412 ]
29413 },
29414 "protected" : 1,
29415 "proxyto" : "node",
29416 "returns" : {
29417 "items" : {
29418 "properties" : {
29419 "can_update_at_runtime" : {
29420 "type" : "boolean"
29421 },
29422 "level" : {
29423 "type" : "string"
29424 },
29425 "mask" : {
29426 "type" : "string"
29427 },
29428 "name" : {
29429 "type" : "string"
29430 },
29431 "section" : {
29432 "type" : "string"
29433 },
29434 "value" : {
29435 "type" : "string"
29436 }
29437 },
29438 "type" : "object"
29439 },
29440 "type" : "array"
29441 }
29442 }
29443 },
29444 "leaf" : 1,
29445 "path" : "/nodes/{node}/ceph/configdb",
29446 "text" : "configdb"
29447 },
4d47f125
TL
29448 {
29449 "info" : {
29450 "POST" : {
e9cd3bd4 29451 "allowtoken" : 1,
4d47f125
TL
29452 "description" : "Create initial ceph default configuration and setup symlinks.",
29453 "method" : "POST",
29454 "name" : "init",
29455 "parameters" : {
29456 "additionalProperties" : 0,
29457 "properties" : {
e2d681b3
TL
29458 "cluster-network" : {
29459 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
29460 "format" : "CIDR",
29461 "maxLength" : 128,
29462 "optional" : 1,
29463 "requires" : "network",
29464 "type" : "string",
29465 "typetext" : "<string>"
29466 },
4d47f125
TL
29467 "disable_cephx" : {
29468 "default" : 0,
1e3f8156 29469 "description" : "Disable cephx authentication.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
56122987 29470 "optional" : 1,
4d47f125
TL
29471 "type" : "boolean",
29472 "typetext" : "<boolean>"
56122987 29473 },
4d47f125
TL
29474 "min_size" : {
29475 "default" : 2,
29476 "description" : "Minimum number of available replicas per object to allow I/O",
29477 "maximum" : 7,
29478 "minimum" : 1,
7aacca6f 29479 "optional" : 1,
4d47f125
TL
29480 "type" : "integer",
29481 "typetext" : "<integer> (1 - 7)"
7aacca6f 29482 },
4d47f125
TL
29483 "network" : {
29484 "description" : "Use specific network for all ceph related traffic",
29485 "format" : "CIDR",
29486 "maxLength" : 128,
5d9c884c 29487 "optional" : 1,
4d47f125
TL
29488 "type" : "string",
29489 "typetext" : "<string>"
5d9c884c 29490 },
4d47f125
TL
29491 "node" : {
29492 "description" : "The cluster node name.",
29493 "format" : "pve-node",
29494 "type" : "string",
29495 "typetext" : "<string>"
7aacca6f 29496 },
4d47f125
TL
29497 "pg_bits" : {
29498 "default" : 6,
29499 "description" : "Placement group bits, used to specify the default number of placement groups.\n\nNOTE: 'osd pool default pg num' does not work for default pools.",
29500 "maximum" : 14,
29501 "minimum" : 6,
de0983cb 29502 "optional" : 1,
4d47f125
TL
29503 "type" : "integer",
29504 "typetext" : "<integer> (6 - 14)"
de0983cb 29505 },
44660702 29506 "size" : {
4d47f125
TL
29507 "default" : 3,
29508 "description" : "Targeted number of replicas per object",
29509 "maximum" : 7,
29510 "minimum" : 1,
7aacca6f 29511 "optional" : 1,
4d47f125
TL
29512 "type" : "integer",
29513 "typetext" : "<integer> (1 - 7)"
56122987 29514 }
4d47f125 29515 }
44660702 29516 },
4d47f125
TL
29517 "permissions" : {
29518 "check" : [
29519 "perm",
29520 "/",
29521 [
29522 "Sys.Modify"
29523 ]
29524 ]
5da3d723 29525 },
4d47f125
TL
29526 "protected" : 1,
29527 "proxyto" : "node",
29528 "returns" : {
29529 "type" : "null"
29530 }
29531 }
29532 },
29533 "leaf" : 1,
29534 "path" : "/nodes/{node}/ceph/init",
29535 "text" : "init"
29536 },
4d47f125
TL
29537 {
29538 "info" : {
29539 "POST" : {
e9cd3bd4 29540 "allowtoken" : 1,
4d47f125
TL
29541 "description" : "Stop ceph services.",
29542 "method" : "POST",
29543 "name" : "stop",
29544 "parameters" : {
29545 "additionalProperties" : 0,
29546 "properties" : {
29547 "node" : {
29548 "description" : "The cluster node name.",
29549 "format" : "pve-node",
29550 "type" : "string",
29551 "typetext" : "<string>"
29552 },
29553 "service" : {
e2d681b3 29554 "default" : "ceph.target",
4d47f125
TL
29555 "description" : "Ceph service name.",
29556 "optional" : 1,
c5aa7e14 29557 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
29558 "type" : "string"
29559 }
29560 }
7aacca6f 29561 },
4d47f125
TL
29562 "permissions" : {
29563 "check" : [
29564 "perm",
29565 "/",
29566 [
29567 "Sys.Modify"
29568 ]
29569 ]
7aacca6f 29570 },
4d47f125
TL
29571 "protected" : 1,
29572 "proxyto" : "node",
29573 "returns" : {
29574 "type" : "string"
29575 }
29576 }
29577 },
29578 "leaf" : 1,
29579 "path" : "/nodes/{node}/ceph/stop",
29580 "text" : "stop"
29581 },
29582 {
29583 "info" : {
29584 "POST" : {
e9cd3bd4 29585 "allowtoken" : 1,
4d47f125
TL
29586 "description" : "Start ceph services.",
29587 "method" : "POST",
29588 "name" : "start",
29589 "parameters" : {
29590 "additionalProperties" : 0,
29591 "properties" : {
29592 "node" : {
29593 "description" : "The cluster node name.",
29594 "format" : "pve-node",
29595 "type" : "string",
29596 "typetext" : "<string>"
29597 },
29598 "service" : {
e2d681b3 29599 "default" : "ceph.target",
4d47f125
TL
29600 "description" : "Ceph service name.",
29601 "optional" : 1,
c5aa7e14 29602 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
29603 "type" : "string"
29604 }
29605 }
44660702 29606 },
4d47f125
TL
29607 "permissions" : {
29608 "check" : [
29609 "perm",
29610 "/",
29611 [
29612 "Sys.Modify"
29613 ]
29614 ]
44660702 29615 },
4d47f125
TL
29616 "protected" : 1,
29617 "proxyto" : "node",
29618 "returns" : {
29619 "type" : "string"
44660702 29620 }
7aacca6f
DM
29621 }
29622 },
4d47f125
TL
29623 "leaf" : 1,
29624 "path" : "/nodes/{node}/ceph/start",
29625 "text" : "start"
29626 },
e2d681b3
TL
29627 {
29628 "info" : {
29629 "POST" : {
e9cd3bd4 29630 "allowtoken" : 1,
e2d681b3
TL
29631 "description" : "Restart ceph services.",
29632 "method" : "POST",
29633 "name" : "restart",
29634 "parameters" : {
29635 "additionalProperties" : 0,
29636 "properties" : {
29637 "node" : {
29638 "description" : "The cluster node name.",
29639 "format" : "pve-node",
29640 "type" : "string",
29641 "typetext" : "<string>"
29642 },
29643 "service" : {
29644 "default" : "ceph.target",
29645 "description" : "Ceph service name.",
29646 "optional" : 1,
c5aa7e14 29647 "pattern" : "(mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
e2d681b3
TL
29648 "type" : "string"
29649 }
29650 }
29651 },
29652 "permissions" : {
29653 "check" : [
29654 "perm",
29655 "/",
29656 [
29657 "Sys.Modify"
29658 ]
29659 ]
29660 },
29661 "protected" : 1,
29662 "proxyto" : "node",
29663 "returns" : {
29664 "type" : "string"
29665 }
29666 }
29667 },
29668 "leaf" : 1,
29669 "path" : "/nodes/{node}/ceph/restart",
29670 "text" : "restart"
29671 },
4d47f125
TL
29672 {
29673 "info" : {
29674 "GET" : {
e9cd3bd4 29675 "allowtoken" : 1,
4d47f125
TL
29676 "description" : "Get ceph status.",
29677 "method" : "GET",
29678 "name" : "status",
29679 "parameters" : {
29680 "additionalProperties" : 0,
29681 "properties" : {
29682 "node" : {
29683 "description" : "The cluster node name.",
29684 "format" : "pve-node",
29685 "type" : "string",
29686 "typetext" : "<string>"
29687 }
29688 }
29689 },
29690 "permissions" : {
29691 "check" : [
29692 "perm",
29693 "/",
29694 [
29695 "Sys.Audit",
29696 "Datastore.Audit"
29697 ],
29698 "any",
29699 1
29700 ]
29701 },
29702 "protected" : 1,
29703 "proxyto" : "node",
29704 "returns" : {
29705 "type" : "object"
29706 }
29707 }
44660702 29708 },
4d47f125
TL
29709 "leaf" : 1,
29710 "path" : "/nodes/{node}/ceph/status",
29711 "text" : "status"
29712 },
44660702 29713 {
56122987
DM
29714 "children" : [
29715 {
44660702
DM
29716 "info" : {
29717 "DELETE" : {
e9cd3bd4 29718 "allowtoken" : 1,
4d47f125 29719 "description" : "Destroy pool",
44660702 29720 "method" : "DELETE",
4d47f125 29721 "name" : "destroypool",
44660702
DM
29722 "parameters" : {
29723 "additionalProperties" : 0,
29724 "properties" : {
4d47f125 29725 "force" : {
44660702 29726 "default" : 0,
4d47f125 29727 "description" : "If true, destroys pool even if in use",
44660702 29728 "optional" : 1,
013dc89f
DM
29729 "type" : "boolean",
29730 "typetext" : "<boolean>"
7aacca6f 29731 },
4d47f125
TL
29732 "name" : {
29733 "description" : "The name of the pool. It must be unique.",
29734 "type" : "string",
29735 "typetext" : "<string>"
29736 },
44660702
DM
29737 "node" : {
29738 "description" : "The cluster node name.",
29739 "format" : "pve-node",
013dc89f
DM
29740 "type" : "string",
29741 "typetext" : "<string>"
56122987 29742 },
4d47f125
TL
29743 "remove_storages" : {
29744 "default" : 0,
29745 "description" : "Remove all pveceph-managed storages configured for this pool",
29746 "optional" : 1,
29747 "type" : "boolean",
29748 "typetext" : "<boolean>"
44660702 29749 }
56122987
DM
29750 }
29751 },
4d47f125
TL
29752 "permissions" : {
29753 "check" : [
29754 "perm",
29755 "/",
29756 [
29757 "Sys.Modify"
29758 ]
29759 ]
29760 },
44660702
DM
29761 "protected" : 1,
29762 "proxyto" : "node",
29763 "returns" : {
29764 "type" : "string"
29765 }
29766 }
29767 },
4d47f125
TL
29768 "leaf" : 1,
29769 "path" : "/nodes/{node}/ceph/pools/{name}",
29770 "text" : "{name}"
44660702
DM
29771 }
29772 ],
29773 "info" : {
29774 "GET" : {
e9cd3bd4 29775 "allowtoken" : 1,
4d47f125 29776 "description" : "List all pools.",
44660702 29777 "method" : "GET",
4d47f125 29778 "name" : "lspools",
44660702
DM
29779 "parameters" : {
29780 "additionalProperties" : 0,
29781 "properties" : {
29782 "node" : {
29783 "description" : "The cluster node name.",
29784 "format" : "pve-node",
013dc89f
DM
29785 "type" : "string",
29786 "typetext" : "<string>"
44660702
DM
29787 }
29788 }
29789 },
29790 "permissions" : {
29791 "check" : [
29792 "perm",
29793 "/",
29794 [
29795 "Sys.Audit",
29796 "Datastore.Audit"
29797 ],
29798 "any",
29799 1
29800 ]
29801 },
29802 "protected" : 1,
29803 "proxyto" : "node",
29804 "returns" : {
4d47f125
TL
29805 "items" : {
29806 "properties" : {
ac70d7d1
TL
29807 "bytes_used" : {
29808 "title" : "Used",
29809 "type" : "integer"
29810 },
29811 "crush_rule" : {
29812 "title" : "Crush Rule",
29813 "type" : "integer"
29814 },
29815 "crush_rule_name" : {
29816 "title" : "Crush Rule Name",
29817 "type" : "string"
29818 },
29819 "min_size" : {
29820 "title" : "Min Size",
29821 "type" : "integer"
29822 },
29823 "percent_used" : {
29824 "title" : "%-Used",
29825 "type" : "number"
29826 },
29827 "pg_autoscale_mode" : {
29828 "optional" : 1,
29829 "title" : "PG Autoscale Mode",
29830 "type" : "string"
29831 },
29832 "pg_num" : {
29833 "title" : "PG Num",
29834 "type" : "integer"
29835 },
4d47f125 29836 "pool" : {
ac70d7d1 29837 "title" : "ID",
4d47f125
TL
29838 "type" : "integer"
29839 },
29840 "pool_name" : {
ac70d7d1 29841 "title" : "Name",
4d47f125
TL
29842 "type" : "string"
29843 },
29844 "size" : {
ac70d7d1 29845 "title" : "Size",
4d47f125
TL
29846 "type" : "integer"
29847 }
29848 },
29849 "type" : "object"
29850 },
29851 "links" : [
29852 {
29853 "href" : "{pool_name}",
29854 "rel" : "child"
29855 }
29856 ],
29857 "type" : "array"
44660702
DM
29858 }
29859 },
29860 "POST" : {
e9cd3bd4 29861 "allowtoken" : 1,
4d47f125 29862 "description" : "Create POOL",
44660702 29863 "method" : "POST",
4d47f125 29864 "name" : "createpool",
44660702
DM
29865 "parameters" : {
29866 "additionalProperties" : 0,
29867 "properties" : {
4d47f125 29868 "add_storages" : {
e2d681b3 29869 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
29870 "optional" : 1,
29871 "type" : "boolean",
29872 "typetext" : "<boolean>"
29873 },
4d47f125
TL
29874 "application" : {
29875 "description" : "The application of the pool, 'rbd' by default.",
44660702 29876 "enum" : [
4d47f125
TL
29877 "rbd",
29878 "cephfs",
29879 "rgw"
44660702
DM
29880 ],
29881 "optional" : 1,
29882 "type" : "string"
29883 },
4d47f125
TL
29884 "crush_rule" : {
29885 "description" : "The rule to use for mapping object placement in the cluster.",
29886 "optional" : 1,
29887 "type" : "string",
29888 "typetext" : "<string>"
29889 },
29890 "min_size" : {
29891 "default" : 2,
29892 "description" : "Minimum number of replicas per object",
29893 "maximum" : 7,
29894 "minimum" : 1,
44660702 29895 "optional" : 1,
4d47f125
TL
29896 "type" : "integer",
29897 "typetext" : "<integer> (1 - 7)"
29898 },
29899 "name" : {
29900 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
29901 "type" : "string",
29902 "typetext" : "<string>"
44660702
DM
29903 },
29904 "node" : {
29905 "description" : "The cluster node name.",
29906 "format" : "pve-node",
013dc89f
DM
29907 "type" : "string",
29908 "typetext" : "<string>"
2489d6df 29909 },
4d47f125 29910 "pg_num" : {
e2d681b3 29911 "default" : 128,
4d47f125
TL
29912 "description" : "Number of placement groups.",
29913 "maximum" : 32768,
29914 "minimum" : 8,
2489d6df 29915 "optional" : 1,
4d47f125
TL
29916 "type" : "integer",
29917 "typetext" : "<integer> (8 - 32768)"
29918 },
29919 "size" : {
29920 "default" : 3,
29921 "description" : "Number of replicas per object",
29922 "maximum" : 7,
29923 "minimum" : 1,
29924 "optional" : 1,
29925 "type" : "integer",
29926 "typetext" : "<integer> (1 - 7)"
44660702 29927 }
56122987 29928 }
44660702 29929 },
4d47f125
TL
29930 "permissions" : {
29931 "check" : [
29932 "perm",
29933 "/",
29934 [
29935 "Sys.Modify"
29936 ]
29937 ]
29938 },
44660702
DM
29939 "protected" : 1,
29940 "proxyto" : "node",
29941 "returns" : {
29942 "type" : "string"
29943 }
56122987 29944 }
44660702 29945 },
7aacca6f 29946 "leaf" : 0,
4d47f125
TL
29947 "path" : "/nodes/{node}/ceph/pools",
29948 "text" : "pools"
7aacca6f
DM
29949 },
29950 {
4d47f125
TL
29951 "children" : [
29952 {
29953 "info" : {
29954 "DELETE" : {
e9cd3bd4 29955 "allowtoken" : 1,
4d47f125
TL
29956 "description" : "Unset a ceph flag",
29957 "method" : "DELETE",
29958 "name" : "unset_flag",
29959 "parameters" : {
29960 "additionalProperties" : 0,
29961 "properties" : {
29962 "flag" : {
1c532546 29963 "description" : "The ceph flag to unset",
4d47f125 29964 "enum" : [
1c532546
TL
29965 "nobackfill",
29966 "nodeep-scrub",
4d47f125 29967 "nodown",
4d47f125 29968 "noin",
1c532546 29969 "noout",
4d47f125
TL
29970 "norebalance",
29971 "norecover",
29972 "noscrub",
1c532546
TL
29973 "notieragent",
29974 "noup",
29975 "pause"
4d47f125
TL
29976 ],
29977 "type" : "string"
29978 },
29979 "node" : {
29980 "description" : "The cluster node name.",
29981 "format" : "pve-node",
29982 "type" : "string",
29983 "typetext" : "<string>"
29984 }
29985 }
29986 },
29987 "permissions" : {
29988 "check" : [
29989 "perm",
29990 "/",
29991 [
29992 "Sys.Modify"
29993 ]
29994 ]
29995 },
29996 "protected" : 1,
29997 "proxyto" : "node",
29998 "returns" : {
29999 "type" : "null"
30000 }
30001 },
30002 "POST" : {
e9cd3bd4 30003 "allowtoken" : 1,
1c532546 30004 "description" : "Set a specific ceph flag",
4d47f125
TL
30005 "method" : "POST",
30006 "name" : "set_flag",
30007 "parameters" : {
30008 "additionalProperties" : 0,
30009 "properties" : {
30010 "flag" : {
1c532546 30011 "description" : "The ceph flag to set",
4d47f125 30012 "enum" : [
1c532546
TL
30013 "nobackfill",
30014 "nodeep-scrub",
4d47f125 30015 "nodown",
4d47f125 30016 "noin",
1c532546 30017 "noout",
4d47f125
TL
30018 "norebalance",
30019 "norecover",
30020 "noscrub",
1c532546
TL
30021 "notieragent",
30022 "noup",
30023 "pause"
4d47f125
TL
30024 ],
30025 "type" : "string"
30026 },
30027 "node" : {
30028 "description" : "The cluster node name.",
30029 "format" : "pve-node",
30030 "type" : "string",
30031 "typetext" : "<string>"
30032 }
30033 }
30034 },
30035 "permissions" : {
30036 "check" : [
30037 "perm",
30038 "/",
30039 [
30040 "Sys.Modify"
30041 ]
30042 ]
30043 },
30044 "protected" : 1,
30045 "proxyto" : "node",
30046 "returns" : {
30047 "type" : "null"
30048 }
30049 }
30050 },
30051 "leaf" : 1,
30052 "path" : "/nodes/{node}/ceph/flags/{flag}",
30053 "text" : "{flag}"
30054 }
30055 ],
56122987
DM
30056 "info" : {
30057 "GET" : {
e9cd3bd4 30058 "allowtoken" : 1,
4d47f125 30059 "description" : "get all set ceph flags",
44660702 30060 "method" : "GET",
4d47f125 30061 "name" : "get_flags",
44660702
DM
30062 "parameters" : {
30063 "additionalProperties" : 0,
30064 "properties" : {
30065 "node" : {
30066 "description" : "The cluster node name.",
30067 "format" : "pve-node",
013dc89f
DM
30068 "type" : "string",
30069 "typetext" : "<string>"
44660702
DM
30070 }
30071 }
30072 },
56122987
DM
30073 "permissions" : {
30074 "check" : [
30075 "perm",
30076 "/",
30077 [
4d47f125
TL
30078 "Sys.Audit"
30079 ]
56122987 30080 ]
4d47f125
TL
30081 },
30082 "protected" : 1,
30083 "proxyto" : "node",
30084 "returns" : {
30085 "type" : "string"
44660702 30086 }
56122987 30087 }
44660702 30088 },
4d47f125
TL
30089 "leaf" : 0,
30090 "path" : "/nodes/{node}/ceph/flags",
30091 "text" : "flags"
56122987
DM
30092 },
30093 {
56122987
DM
30094 "info" : {
30095 "GET" : {
e9cd3bd4 30096 "allowtoken" : 1,
4d47f125 30097 "description" : "Get OSD crush map",
44660702 30098 "method" : "GET",
4d47f125 30099 "name" : "crush",
56122987 30100 "parameters" : {
7aacca6f 30101 "additionalProperties" : 0,
56122987 30102 "properties" : {
56122987 30103 "node" : {
7aacca6f 30104 "description" : "The cluster node name.",
44660702 30105 "format" : "pve-node",
013dc89f
DM
30106 "type" : "string",
30107 "typetext" : "<string>"
56122987 30108 }
7aacca6f 30109 }
56122987 30110 },
56122987
DM
30111 "permissions" : {
30112 "check" : [
30113 "perm",
30114 "/",
30115 [
30116 "Sys.Audit",
30117 "Datastore.Audit"
30118 ],
30119 "any",
30120 1
30121 ]
44660702 30122 },
4d47f125
TL
30123 "protected" : 1,
30124 "proxyto" : "node",
44660702
DM
30125 "returns" : {
30126 "type" : "string"
7aacca6f
DM
30127 }
30128 }
44660702
DM
30129 },
30130 "leaf" : 1,
4d47f125
TL
30131 "path" : "/nodes/{node}/ceph/crush",
30132 "text" : "crush"
7aacca6f
DM
30133 },
30134 {
7aacca6f
DM
30135 "info" : {
30136 "GET" : {
e9cd3bd4 30137 "allowtoken" : 1,
4d47f125 30138 "description" : "Read ceph log",
7aacca6f 30139 "method" : "GET",
4d47f125 30140 "name" : "log",
7aacca6f
DM
30141 "parameters" : {
30142 "additionalProperties" : 0,
30143 "properties" : {
4d47f125
TL
30144 "limit" : {
30145 "minimum" : 0,
30146 "optional" : 1,
30147 "type" : "integer",
30148 "typetext" : "<integer> (0 - N)"
30149 },
7aacca6f 30150 "node" : {
7aacca6f 30151 "description" : "The cluster node name.",
44660702 30152 "format" : "pve-node",
013dc89f
DM
30153 "type" : "string",
30154 "typetext" : "<string>"
4d47f125
TL
30155 },
30156 "start" : {
30157 "minimum" : 0,
30158 "optional" : 1,
30159 "type" : "integer",
30160 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
30161 }
30162 }
30163 },
44660702
DM
30164 "permissions" : {
30165 "check" : [
30166 "perm",
4d47f125 30167 "/nodes/{node}",
44660702 30168 [
4d47f125
TL
30169 "Sys.Syslog"
30170 ]
44660702
DM
30171 ]
30172 },
7aacca6f 30173 "protected" : 1,
44660702 30174 "proxyto" : "node",
7aacca6f
DM
30175 "returns" : {
30176 "items" : {
30177 "properties" : {
4d47f125
TL
30178 "n" : {
30179 "description" : "Line number",
30180 "type" : "integer"
56122987 30181 },
4d47f125
TL
30182 "t" : {
30183 "description" : "Line text",
56122987
DM
30184 "type" : "string"
30185 }
7aacca6f
DM
30186 },
30187 "type" : "object"
56122987
DM
30188 },
30189 "type" : "array"
44660702 30190 }
4d47f125
TL
30191 }
30192 },
30193 "leaf" : 1,
30194 "path" : "/nodes/{node}/ceph/log",
30195 "text" : "log"
30196 },
30197 {
30198 "info" : {
30199 "GET" : {
e9cd3bd4 30200 "allowtoken" : 1,
4d47f125
TL
30201 "description" : "List ceph rules.",
30202 "method" : "GET",
30203 "name" : "rules",
44660702
DM
30204 "parameters" : {
30205 "additionalProperties" : 0,
30206 "properties" : {
30207 "node" : {
30208 "description" : "The cluster node name.",
30209 "format" : "pve-node",
013dc89f
DM
30210 "type" : "string",
30211 "typetext" : "<string>"
44660702
DM
30212 }
30213 }
30214 },
7aacca6f
DM
30215 "permissions" : {
30216 "check" : [
30217 "perm",
30218 "/",
30219 [
4d47f125
TL
30220 "Sys.Audit",
30221 "Datastore.Audit"
30222 ],
30223 "any",
30224 1
7aacca6f
DM
30225 ]
30226 },
44660702 30227 "protected" : 1,
7aacca6f 30228 "proxyto" : "node",
56122987 30229 "returns" : {
4d47f125
TL
30230 "items" : {
30231 "properties" : {},
30232 "type" : "object"
30233 },
30234 "links" : [
30235 {
30236 "href" : "{name}",
30237 "rel" : "child"
30238 }
30239 ],
30240 "type" : "array"
44660702 30241 }
56122987 30242 }
44660702 30243 },
4d47f125
TL
30244 "leaf" : 1,
30245 "path" : "/nodes/{node}/ceph/rules",
30246 "text" : "rules"
30247 }
30248 ],
30249 "info" : {
30250 "GET" : {
e9cd3bd4 30251 "allowtoken" : 1,
4d47f125
TL
30252 "description" : "Directory index.",
30253 "method" : "GET",
30254 "name" : "index",
30255 "parameters" : {
30256 "additionalProperties" : 0,
30257 "properties" : {
30258 "node" : {
30259 "description" : "The cluster node name.",
30260 "format" : "pve-node",
30261 "type" : "string",
30262 "typetext" : "<string>"
30263 }
30264 }
30265 },
30266 "permissions" : {
30267 "check" : [
30268 "perm",
30269 "/",
30270 [
30271 "Sys.Audit",
30272 "Datastore.Audit"
30273 ],
30274 "any",
30275 1
30276 ]
30277 },
30278 "returns" : {
30279 "items" : {
30280 "properties" : {},
30281 "type" : "object"
30282 },
30283 "links" : [
30284 {
30285 "href" : "{name}",
30286 "rel" : "child"
30287 }
30288 ],
30289 "type" : "array"
30290 }
30291 }
30292 },
30293 "leaf" : 0,
30294 "path" : "/nodes/{node}/ceph",
30295 "text" : "ceph"
30296 },
30297 {
30298 "children" : [
56122987
DM
30299 {
30300 "info" : {
4d47f125 30301 "GET" : {
e9cd3bd4 30302 "allowtoken" : 1,
4d47f125
TL
30303 "description" : "Extract configuration from vzdump backup archive.",
30304 "method" : "GET",
30305 "name" : "extractconfig",
30306 "parameters" : {
30307 "additionalProperties" : 0,
30308 "properties" : {
44660702
DM
30309 "node" : {
30310 "description" : "The cluster node name.",
30311 "format" : "pve-node",
013dc89f
DM
30312 "type" : "string",
30313 "typetext" : "<string>"
44660702 30314 },
4d47f125
TL
30315 "volume" : {
30316 "description" : "Volume identifier",
30317 "type" : "string",
30318 "typetext" : "<string>"
44660702
DM
30319 }
30320 }
7aacca6f 30321 },
56122987 30322 "permissions" : {
4d47f125
TL
30323 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
30324 "user" : "all"
56122987 30325 },
7aacca6f 30326 "protected" : 1,
44660702
DM
30327 "proxyto" : "node",
30328 "returns" : {
4d47f125 30329 "type" : "string"
7aacca6f
DM
30330 }
30331 }
30332 },
7aacca6f 30333 "leaf" : 1,
4d47f125
TL
30334 "path" : "/nodes/{node}/vzdump/extractconfig",
30335 "text" : "extractconfig"
30336 }
30337 ],
30338 "info" : {
30339 "POST" : {
e9cd3bd4 30340 "allowtoken" : 1,
4d47f125
TL
30341 "description" : "Create backup.",
30342 "method" : "POST",
30343 "name" : "vzdump",
30344 "parameters" : {
30345 "additionalProperties" : 0,
30346 "properties" : {
30347 "all" : {
30348 "default" : 0,
30349 "description" : "Backup all known guest systems on this host.",
30350 "optional" : 1,
30351 "type" : "boolean",
30352 "typetext" : "<boolean>"
30353 },
30354 "bwlimit" : {
30355 "default" : 0,
30356 "description" : "Limit I/O bandwidth (KBytes per second).",
30357 "minimum" : 0,
30358 "optional" : 1,
30359 "type" : "integer",
30360 "typetext" : "<integer> (0 - N)"
30361 },
30362 "compress" : {
30363 "default" : "0",
30364 "description" : "Compress dump file.",
30365 "enum" : [
30366 "0",
30367 "1",
30368 "gzip",
c5aa7e14
TL
30369 "lzo",
30370 "zstd"
4d47f125
TL
30371 ],
30372 "optional" : 1,
30373 "type" : "string"
30374 },
30375 "dumpdir" : {
30376 "description" : "Store resulting files to specified directory.",
30377 "optional" : 1,
30378 "type" : "string",
30379 "typetext" : "<string>"
30380 },
30381 "exclude" : {
30382 "description" : "Exclude specified guest systems (assumes --all)",
30383 "format" : "pve-vmid-list",
30384 "optional" : 1,
30385 "type" : "string",
30386 "typetext" : "<string>"
30387 },
30388 "exclude-path" : {
30389 "description" : "Exclude certain files/directories (shell globs).",
30390 "format" : "string-alist",
30391 "optional" : 1,
30392 "type" : "string",
30393 "typetext" : "<string>"
30394 },
30395 "ionice" : {
30396 "default" : 7,
30397 "description" : "Set CFQ ionice priority.",
30398 "maximum" : 8,
30399 "minimum" : 0,
30400 "optional" : 1,
30401 "type" : "integer",
30402 "typetext" : "<integer> (0 - 8)"
30403 },
30404 "lockwait" : {
30405 "default" : 180,
30406 "description" : "Maximal time to wait for the global lock (minutes).",
30407 "minimum" : 0,
30408 "optional" : 1,
30409 "type" : "integer",
30410 "typetext" : "<integer> (0 - N)"
30411 },
30412 "mailnotification" : {
30413 "default" : "always",
30414 "description" : "Specify when to send an email",
30415 "enum" : [
30416 "always",
30417 "failure"
30418 ],
30419 "optional" : 1,
30420 "type" : "string"
30421 },
30422 "mailto" : {
30423 "description" : "Comma-separated list of email addresses that should receive email notifications.",
30424 "format" : "string-list",
30425 "optional" : 1,
30426 "type" : "string",
30427 "typetext" : "<string>"
30428 },
30429 "maxfiles" : {
30430 "default" : 1,
30431 "description" : "Maximal number of backup files per guest system.",
30432 "minimum" : 1,
30433 "optional" : 1,
30434 "type" : "integer",
30435 "typetext" : "<integer> (1 - N)"
30436 },
30437 "mode" : {
30438 "default" : "snapshot",
30439 "description" : "Backup mode.",
30440 "enum" : [
30441 "snapshot",
30442 "suspend",
30443 "stop"
30444 ],
30445 "optional" : 1,
30446 "type" : "string"
30447 },
30448 "node" : {
30449 "description" : "Only run if executed on this node.",
30450 "format" : "pve-node",
30451 "optional" : 1,
30452 "type" : "string",
30453 "typetext" : "<string>"
30454 },
30455 "pigz" : {
30456 "default" : 0,
30457 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
30458 "optional" : 1,
30459 "type" : "integer",
30460 "typetext" : "<integer>"
30461 },
9226ccbc
TL
30462 "pool" : {
30463 "description" : "Backup all known guest systems included in the specified pool.",
30464 "optional" : 1,
30465 "type" : "string",
30466 "typetext" : "<string>"
30467 },
739d4d64
TL
30468 "prune-backups" : {
30469 "description" : "Use these retention options instead of those from the storage configuration.",
30470 "format" : "prune-backups",
30471 "optional" : 1,
30472 "type" : "string",
30473 "typetext" : "[keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
30474 },
4d47f125
TL
30475 "quiet" : {
30476 "default" : 0,
30477 "description" : "Be quiet.",
30478 "optional" : 1,
30479 "type" : "boolean",
30480 "typetext" : "<boolean>"
30481 },
30482 "remove" : {
30483 "default" : 1,
30484 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
30485 "optional" : 1,
30486 "type" : "boolean",
30487 "typetext" : "<boolean>"
30488 },
30489 "script" : {
30490 "description" : "Use specified hook script.",
30491 "optional" : 1,
30492 "type" : "string",
30493 "typetext" : "<string>"
30494 },
30495 "size" : {
30496 "default" : 1024,
30497 "description" : "Unused, will be removed in a future release.",
30498 "minimum" : 500,
30499 "optional" : 1,
30500 "type" : "integer",
30501 "typetext" : "<integer> (500 - N)"
30502 },
30503 "stdexcludes" : {
30504 "default" : 1,
30505 "description" : "Exclude temporary files and logs.",
30506 "optional" : 1,
30507 "type" : "boolean",
30508 "typetext" : "<boolean>"
30509 },
30510 "stdout" : {
30511 "description" : "Write tar to stdout, not to a file.",
30512 "optional" : 1,
30513 "type" : "boolean",
30514 "typetext" : "<boolean>"
30515 },
30516 "stop" : {
30517 "default" : 0,
1e3f8156 30518 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
30519 "optional" : 1,
30520 "type" : "boolean",
30521 "typetext" : "<boolean>"
30522 },
30523 "stopwait" : {
30524 "default" : 10,
30525 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
30526 "minimum" : 0,
30527 "optional" : 1,
30528 "type" : "integer",
30529 "typetext" : "<integer> (0 - N)"
30530 },
30531 "storage" : {
30532 "description" : "Store resulting file to this storage.",
30533 "format" : "pve-storage-id",
30534 "optional" : 1,
30535 "type" : "string",
30536 "typetext" : "<string>"
30537 },
30538 "tmpdir" : {
30539 "description" : "Store temporary files to specified directory.",
30540 "optional" : 1,
30541 "type" : "string",
30542 "typetext" : "<string>"
30543 },
30544 "vmid" : {
30545 "description" : "The ID of the guest system you want to backup.",
30546 "format" : "pve-vmid-list",
30547 "optional" : 1,
30548 "type" : "string",
30549 "typetext" : "<string>"
c5aa7e14
TL
30550 },
30551 "zstd" : {
30552 "default" : 1,
30553 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
30554 "optional" : 1,
30555 "type" : "integer",
30556 "typetext" : "<integer>"
4d47f125
TL
30557 }
30558 }
30559 },
30560 "permissions" : {
30561 "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
30562 "user" : "all"
30563 },
30564 "protected" : 1,
30565 "proxyto" : "node",
30566 "returns" : {
30567 "type" : "string"
30568 }
30569 }
30570 },
30571 "leaf" : 0,
30572 "path" : "/nodes/{node}/vzdump",
30573 "text" : "vzdump"
30574 },
30575 {
30576 "children" : [
2489d6df
WB
30577 {
30578 "children" : [
30579 {
30580 "info" : {
4d47f125 30581 "GET" : {
e9cd3bd4 30582 "allowtoken" : 1,
4d47f125
TL
30583 "description" : "Read service properties",
30584 "method" : "GET",
30585 "name" : "service_state",
2489d6df
WB
30586 "parameters" : {
30587 "additionalProperties" : 0,
30588 "properties" : {
2489d6df
WB
30589 "node" : {
30590 "description" : "The cluster node name.",
30591 "format" : "pve-node",
30592 "type" : "string",
30593 "typetext" : "<string>"
4d47f125
TL
30594 },
30595 "service" : {
30596 "description" : "Service ID",
30597 "enum" : [
30598 "pveproxy",
30599 "pvedaemon",
30600 "spiceproxy",
30601 "pvestatd",
30602 "pve-cluster",
30603 "corosync",
30604 "pve-firewall",
30605 "pvefw-logger",
30606 "pve-ha-crm",
30607 "pve-ha-lrm",
30608 "sshd",
30609 "syslog",
30610 "cron",
30611 "postfix",
30612 "ksmtuned",
30613 "systemd-timesyncd"
30614 ],
30615 "type" : "string"
2489d6df
WB
30616 }
30617 }
30618 },
30619 "permissions" : {
30620 "check" : [
30621 "perm",
4d47f125 30622 "/nodes/{node}",
2489d6df 30623 [
4d47f125 30624 "Sys.Audit"
2489d6df
WB
30625 ]
30626 ]
30627 },
30628 "protected" : 1,
30629 "proxyto" : "node",
30630 "returns" : {
4d47f125 30631 "type" : "object"
2489d6df
WB
30632 }
30633 }
30634 },
30635 "leaf" : 1,
4d47f125
TL
30636 "path" : "/nodes/{node}/services/{service}/state",
30637 "text" : "state"
30638 },
30639 {
30640 "info" : {
30641 "POST" : {
e9cd3bd4 30642 "allowtoken" : 1,
4d47f125
TL
30643 "description" : "Start service.",
30644 "method" : "POST",
30645 "name" : "service_start",
30646 "parameters" : {
30647 "additionalProperties" : 0,
30648 "properties" : {
30649 "node" : {
30650 "description" : "The cluster node name.",
30651 "format" : "pve-node",
30652 "type" : "string",
30653 "typetext" : "<string>"
30654 },
30655 "service" : {
30656 "description" : "Service ID",
30657 "enum" : [
30658 "pveproxy",
30659 "pvedaemon",
30660 "spiceproxy",
30661 "pvestatd",
30662 "pve-cluster",
30663 "corosync",
30664 "pve-firewall",
30665 "pvefw-logger",
30666 "pve-ha-crm",
30667 "pve-ha-lrm",
30668 "sshd",
30669 "syslog",
30670 "cron",
30671 "postfix",
30672 "ksmtuned",
30673 "systemd-timesyncd"
30674 ],
30675 "type" : "string"
30676 }
30677 }
7aacca6f 30678 },
4d47f125
TL
30679 "permissions" : {
30680 "check" : [
30681 "perm",
30682 "/nodes/{node}",
30683 [
30684 "Sys.Modify"
30685 ]
30686 ]
7aacca6f 30687 },
4d47f125
TL
30688 "protected" : 1,
30689 "proxyto" : "node",
30690 "returns" : {
30691 "type" : "string"
30692 }
30693 }
56122987 30694 },
4d47f125
TL
30695 "leaf" : 1,
30696 "path" : "/nodes/{node}/services/{service}/start",
30697 "text" : "start"
30698 },
44660702
DM
30699 {
30700 "info" : {
4d47f125 30701 "POST" : {
e9cd3bd4 30702 "allowtoken" : 1,
4d47f125
TL
30703 "description" : "Stop service.",
30704 "method" : "POST",
30705 "name" : "service_stop",
44660702
DM
30706 "parameters" : {
30707 "additionalProperties" : 0,
30708 "properties" : {
44660702
DM
30709 "node" : {
30710 "description" : "The cluster node name.",
30711 "format" : "pve-node",
013dc89f
DM
30712 "type" : "string",
30713 "typetext" : "<string>"
2489d6df 30714 },
4d47f125
TL
30715 "service" : {
30716 "description" : "Service ID",
30717 "enum" : [
30718 "pveproxy",
30719 "pvedaemon",
30720 "spiceproxy",
30721 "pvestatd",
30722 "pve-cluster",
30723 "corosync",
30724 "pve-firewall",
30725 "pvefw-logger",
30726 "pve-ha-crm",
30727 "pve-ha-lrm",
30728 "sshd",
30729 "syslog",
30730 "cron",
30731 "postfix",
30732 "ksmtuned",
30733 "systemd-timesyncd"
30734 ],
30735 "type" : "string"
44660702
DM
30736 }
30737 }
30738 },
30739 "permissions" : {
30740 "check" : [
30741 "perm",
4d47f125 30742 "/nodes/{node}",
44660702
DM
30743 [
30744 "Sys.Modify"
30745 ]
30746 ]
30747 },
30748 "protected" : 1,
30749 "proxyto" : "node",
30750 "returns" : {
2489d6df 30751 "type" : "string"
44660702
DM
30752 }
30753 }
30754 },
30755 "leaf" : 1,
4d47f125
TL
30756 "path" : "/nodes/{node}/services/{service}/stop",
30757 "text" : "stop"
7aacca6f 30758 },
32d876b5
DM
30759 {
30760 "info" : {
4d47f125 30761 "POST" : {
e9cd3bd4 30762 "allowtoken" : 1,
739d4d64 30763 "description" : "Hard restart service. Use reload if you want to reduce interruptions.",
4d47f125
TL
30764 "method" : "POST",
30765 "name" : "service_restart",
32d876b5
DM
30766 "parameters" : {
30767 "additionalProperties" : 0,
30768 "properties" : {
4d47f125
TL
30769 "node" : {
30770 "description" : "The cluster node name.",
30771 "format" : "pve-node",
30772 "type" : "string",
30773 "typetext" : "<string>"
30774 },
30775 "service" : {
30776 "description" : "Service ID",
32d876b5 30777 "enum" : [
4d47f125
TL
30778 "pveproxy",
30779 "pvedaemon",
30780 "spiceproxy",
30781 "pvestatd",
30782 "pve-cluster",
30783 "corosync",
30784 "pve-firewall",
30785 "pvefw-logger",
30786 "pve-ha-crm",
30787 "pve-ha-lrm",
30788 "sshd",
30789 "syslog",
30790 "cron",
30791 "postfix",
30792 "ksmtuned",
30793 "systemd-timesyncd"
32d876b5
DM
30794 ],
30795 "type" : "string"
32d876b5
DM
30796 }
30797 }
30798 },
30799 "permissions" : {
30800 "check" : [
30801 "perm",
4d47f125 30802 "/nodes/{node}",
32d876b5
DM
30803 [
30804 "Sys.Modify"
30805 ]
30806 ]
30807 },
30808 "protected" : 1,
30809 "proxyto" : "node",
30810 "returns" : {
4d47f125 30811 "type" : "string"
32d876b5 30812 }
4d47f125
TL
30813 }
30814 },
30815 "leaf" : 1,
30816 "path" : "/nodes/{node}/services/{service}/restart",
30817 "text" : "restart"
30818 },
30819 {
30820 "info" : {
32d876b5 30821 "POST" : {
e9cd3bd4 30822 "allowtoken" : 1,
739d4d64 30823 "description" : "Reload service. Falls back to restart if service cannot be reloaded.",
32d876b5 30824 "method" : "POST",
4d47f125 30825 "name" : "service_reload",
32d876b5
DM
30826 "parameters" : {
30827 "additionalProperties" : 0,
30828 "properties" : {
32d876b5
DM
30829 "node" : {
30830 "description" : "The cluster node name.",
30831 "format" : "pve-node",
30832 "type" : "string",
30833 "typetext" : "<string>"
4d47f125
TL
30834 },
30835 "service" : {
30836 "description" : "Service ID",
30837 "enum" : [
30838 "pveproxy",
30839 "pvedaemon",
30840 "spiceproxy",
30841 "pvestatd",
30842 "pve-cluster",
30843 "corosync",
30844 "pve-firewall",
30845 "pvefw-logger",
30846 "pve-ha-crm",
30847 "pve-ha-lrm",
30848 "sshd",
30849 "syslog",
30850 "cron",
30851 "postfix",
30852 "ksmtuned",
30853 "systemd-timesyncd"
30854 ],
30855 "type" : "string"
32d876b5
DM
30856 }
30857 }
30858 },
30859 "permissions" : {
30860 "check" : [
30861 "perm",
4d47f125 30862 "/nodes/{node}",
32d876b5
DM
30863 [
30864 "Sys.Modify"
30865 ]
30866 ]
30867 },
30868 "protected" : 1,
30869 "proxyto" : "node",
30870 "returns" : {
4d47f125 30871 "type" : "string"
32d876b5
DM
30872 }
30873 }
30874 },
30875 "leaf" : 1,
4d47f125
TL
30876 "path" : "/nodes/{node}/services/{service}/reload",
30877 "text" : "reload"
32d876b5
DM
30878 }
30879 ],
30880 "info" : {
30881 "GET" : {
e9cd3bd4 30882 "allowtoken" : 1,
4d47f125 30883 "description" : "Directory index",
44660702 30884 "method" : "GET",
4d47f125 30885 "name" : "srvcmdidx",
44660702
DM
30886 "parameters" : {
30887 "additionalProperties" : 0,
30888 "properties" : {
44660702
DM
30889 "node" : {
30890 "description" : "The cluster node name.",
30891 "format" : "pve-node",
013dc89f
DM
30892 "type" : "string",
30893 "typetext" : "<string>"
44660702 30894 },
4d47f125
TL
30895 "service" : {
30896 "description" : "Service ID",
30897 "enum" : [
30898 "pveproxy",
30899 "pvedaemon",
30900 "spiceproxy",
30901 "pvestatd",
30902 "pve-cluster",
30903 "corosync",
30904 "pve-firewall",
30905 "pvefw-logger",
30906 "pve-ha-crm",
30907 "pve-ha-lrm",
30908 "sshd",
30909 "syslog",
30910 "cron",
30911 "postfix",
30912 "ksmtuned",
30913 "systemd-timesyncd"
30914 ],
30915 "type" : "string"
44660702 30916 }
7aacca6f 30917 }
56122987 30918 },
56122987
DM
30919 "permissions" : {
30920 "check" : [
30921 "perm",
7aacca6f 30922 "/nodes/{node}",
56122987 30923 [
4d47f125 30924 "Sys.Audit"
56122987
DM
30925 ]
30926 ]
30927 },
44660702
DM
30928 "returns" : {
30929 "items" : {
30930 "properties" : {
4d47f125 30931 "subdir" : {
44660702
DM
30932 "type" : "string"
30933 }
56122987 30934 },
44660702 30935 "type" : "object"
56122987 30936 },
2489d6df
WB
30937 "links" : [
30938 {
4d47f125 30939 "href" : "{subdir}",
2489d6df
WB
30940 "rel" : "child"
30941 }
30942 ],
30943 "type" : "array"
30944 }
30945 }
4d47f125
TL
30946 },
30947 "leaf" : 0,
30948 "path" : "/nodes/{node}/services/{service}",
30949 "text" : "{service}"
7aacca6f
DM
30950 }
30951 ],
44660702
DM
30952 "info" : {
30953 "GET" : {
e9cd3bd4 30954 "allowtoken" : 1,
4d47f125 30955 "description" : "Service list.",
44660702
DM
30956 "method" : "GET",
30957 "name" : "index",
30958 "parameters" : {
30959 "additionalProperties" : 0,
30960 "properties" : {
30961 "node" : {
30962 "description" : "The cluster node name.",
30963 "format" : "pve-node",
013dc89f
DM
30964 "type" : "string",
30965 "typetext" : "<string>"
44660702
DM
30966 }
30967 }
30968 },
30969 "permissions" : {
30970 "check" : [
30971 "perm",
4d47f125 30972 "/nodes/{node}",
44660702 30973 [
4d47f125
TL
30974 "Sys.Audit"
30975 ]
44660702
DM
30976 ]
30977 },
4d47f125
TL
30978 "protected" : 1,
30979 "proxyto" : "node",
44660702
DM
30980 "returns" : {
30981 "items" : {
30982 "properties" : {},
30983 "type" : "object"
30984 },
30985 "links" : [
30986 {
4d47f125 30987 "href" : "{service}",
44660702
DM
30988 "rel" : "child"
30989 }
30990 ],
30991 "type" : "array"
30992 }
30993 }
30994 },
7aacca6f 30995 "leaf" : 0,
4d47f125
TL
30996 "path" : "/nodes/{node}/services",
30997 "text" : "services"
7aacca6f
DM
30998 },
30999 {
7aacca6f 31000 "info" : {
ac70d7d1
TL
31001 "DELETE" : {
31002 "allowtoken" : 1,
31003 "description" : "Delete subscription key of this node.",
31004 "method" : "DELETE",
31005 "name" : "delete",
31006 "parameters" : {
31007 "additionalProperties" : 0,
31008 "properties" : {
31009 "node" : {
31010 "description" : "The cluster node name.",
31011 "format" : "pve-node",
31012 "type" : "string",
31013 "typetext" : "<string>"
31014 }
31015 }
31016 },
31017 "permissions" : {
31018 "check" : [
31019 "perm",
31020 "/nodes/{node}",
31021 [
31022 "Sys.Modify"
31023 ]
31024 ]
31025 },
31026 "protected" : 1,
31027 "proxyto" : "node",
31028 "returns" : {
31029 "type" : "null"
31030 }
31031 },
4d47f125 31032 "GET" : {
e9cd3bd4 31033 "allowtoken" : 1,
4d47f125
TL
31034 "description" : "Read subscription info.",
31035 "method" : "GET",
31036 "name" : "get",
7aacca6f 31037 "parameters" : {
44660702 31038 "additionalProperties" : 0,
7aacca6f 31039 "properties" : {
44660702 31040 "node" : {
4d47f125 31041 "description" : "The cluster node name.",
44660702 31042 "format" : "pve-node",
013dc89f
DM
31043 "type" : "string",
31044 "typetext" : "<string>"
4d47f125
TL
31045 }
31046 }
31047 },
31048 "permissions" : {
31049 "user" : "all"
31050 },
31051 "proxyto" : "node",
31052 "returns" : {
31053 "type" : "object"
31054 }
31055 },
31056 "POST" : {
e9cd3bd4 31057 "allowtoken" : 1,
4d47f125
TL
31058 "description" : "Update subscription info.",
31059 "method" : "POST",
31060 "name" : "update",
31061 "parameters" : {
31062 "additionalProperties" : 0,
31063 "properties" : {
31064 "force" : {
31065 "default" : 0,
31066 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 31067 "optional" : 1,
4d47f125
TL
31068 "type" : "boolean",
31069 "typetext" : "<boolean>"
44660702 31070 },
4d47f125
TL
31071 "node" : {
31072 "description" : "The cluster node name.",
31073 "format" : "pve-node",
013dc89f
DM
31074 "type" : "string",
31075 "typetext" : "<string>"
4d47f125
TL
31076 }
31077 }
31078 },
31079 "permissions" : {
31080 "check" : [
31081 "perm",
31082 "/nodes/{node}",
31083 [
31084 "Sys.Modify"
31085 ]
31086 ]
31087 },
31088 "protected" : 1,
31089 "proxyto" : "node",
31090 "returns" : {
31091 "type" : "null"
31092 }
31093 },
31094 "PUT" : {
e9cd3bd4 31095 "allowtoken" : 1,
4d47f125
TL
31096 "description" : "Set subscription key.",
31097 "method" : "PUT",
31098 "name" : "set",
31099 "parameters" : {
31100 "additionalProperties" : 0,
31101 "properties" : {
31102 "key" : {
31103 "description" : "Proxmox VE subscription key",
31104 "maxLength" : 32,
5f26e15b 31105 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 31106 "type" : "string"
7aacca6f 31107 },
4d47f125
TL
31108 "node" : {
31109 "description" : "The cluster node name.",
31110 "format" : "pve-node",
013dc89f
DM
31111 "type" : "string",
31112 "typetext" : "<string>"
7aacca6f 31113 }
7aacca6f
DM
31114 }
31115 },
7aacca6f 31116 "permissions" : {
4d47f125
TL
31117 "check" : [
31118 "perm",
31119 "/nodes/{node}",
31120 [
31121 "Sys.Modify"
31122 ]
31123 ]
7aacca6f 31124 },
44660702 31125 "protected" : 1,
7aacca6f 31126 "proxyto" : "node",
7aacca6f 31127 "returns" : {
4d47f125 31128 "type" : "null"
7aacca6f
DM
31129 }
31130 }
31131 },
4d47f125
TL
31132 "leaf" : 1,
31133 "path" : "/nodes/{node}/subscription",
31134 "text" : "subscription"
44660702
DM
31135 },
31136 {
7aacca6f
DM
31137 "children" : [
31138 {
4d47f125
TL
31139 "info" : {
31140 "DELETE" : {
e9cd3bd4 31141 "allowtoken" : 1,
4d47f125
TL
31142 "description" : "Delete network device configuration",
31143 "method" : "DELETE",
31144 "name" : "delete_network",
31145 "parameters" : {
31146 "additionalProperties" : 0,
31147 "properties" : {
31148 "iface" : {
31149 "description" : "Network interface name.",
31150 "format" : "pve-iface",
31151 "maxLength" : 20,
31152 "minLength" : 2,
31153 "type" : "string",
31154 "typetext" : "<string>"
7aacca6f 31155 },
4d47f125
TL
31156 "node" : {
31157 "description" : "The cluster node name.",
31158 "format" : "pve-node",
31159 "type" : "string",
31160 "typetext" : "<string>"
44660702
DM
31161 }
31162 }
31163 },
4d47f125
TL
31164 "permissions" : {
31165 "check" : [
31166 "perm",
31167 "/nodes/{node}",
31168 [
31169 "Sys.Modify"
31170 ]
31171 ]
31172 },
31173 "protected" : 1,
31174 "proxyto" : "node",
31175 "returns" : {
31176 "type" : "null"
31177 }
31178 },
31179 "GET" : {
e9cd3bd4 31180 "allowtoken" : 1,
4d47f125
TL
31181 "description" : "Read network device configuration",
31182 "method" : "GET",
31183 "name" : "network_config",
31184 "parameters" : {
31185 "additionalProperties" : 0,
31186 "properties" : {
31187 "iface" : {
31188 "description" : "Network interface name.",
31189 "format" : "pve-iface",
31190 "maxLength" : 20,
31191 "minLength" : 2,
31192 "type" : "string",
31193 "typetext" : "<string>"
56122987 31194 },
4d47f125
TL
31195 "node" : {
31196 "description" : "The cluster node name.",
31197 "format" : "pve-node",
31198 "type" : "string",
31199 "typetext" : "<string>"
44660702
DM
31200 }
31201 }
31202 },
4d47f125
TL
31203 "permissions" : {
31204 "check" : [
31205 "perm",
31206 "/nodes/{node}",
31207 [
31208 "Sys.Audit"
31209 ]
31210 ]
31211 },
31212 "proxyto" : "node",
31213 "returns" : {
31214 "properties" : {
31215 "method" : {
31216 "type" : "string"
44660702 31217 },
4d47f125 31218 "type" : {
44660702
DM
31219 "type" : "string"
31220 }
4d47f125
TL
31221 },
31222 "type" : "object"
31223 }
56122987 31224 },
4d47f125 31225 "PUT" : {
e9cd3bd4 31226 "allowtoken" : 1,
4d47f125
TL
31227 "description" : "Update network device configuration",
31228 "method" : "PUT",
31229 "name" : "update_network",
31230 "parameters" : {
31231 "additionalProperties" : 0,
31232 "properties" : {
31233 "address" : {
31234 "description" : "IP address.",
31235 "format" : "ipv4",
31236 "optional" : 1,
31237 "requires" : "netmask",
31238 "type" : "string",
31239 "typetext" : "<string>"
31240 },
31241 "address6" : {
31242 "description" : "IP address.",
31243 "format" : "ipv6",
31244 "optional" : 1,
31245 "requires" : "netmask6",
31246 "type" : "string",
31247 "typetext" : "<string>"
31248 },
31249 "autostart" : {
31250 "description" : "Automatically start interface on boot.",
31251 "optional" : 1,
31252 "type" : "boolean",
31253 "typetext" : "<boolean>"
31254 },
e9cd3bd4
TL
31255 "bond-primary" : {
31256 "description" : "Specify the primary interface for active-backup bond.",
31257 "format" : "pve-iface",
31258 "optional" : 1,
31259 "type" : "string",
31260 "typetext" : "<string>"
31261 },
4d47f125
TL
31262 "bond_mode" : {
31263 "description" : "Bonding mode.",
31264 "enum" : [
31265 "balance-rr",
31266 "active-backup",
31267 "balance-xor",
31268 "broadcast",
31269 "802.3ad",
31270 "balance-tlb",
31271 "balance-alb",
31272 "balance-slb",
31273 "lacp-balance-slb",
31274 "lacp-balance-tcp"
31275 ],
31276 "optional" : 1,
31277 "type" : "string"
31278 },
31279 "bond_xmit_hash_policy" : {
31280 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
31281 "enum" : [
31282 "layer2",
31283 "layer2+3",
31284 "layer3+4"
31285 ],
31286 "optional" : 1,
31287 "type" : "string"
31288 },
31289 "bridge_ports" : {
1e3f8156 31290 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31291 "format" : "pve-iface-list",
31292 "optional" : 1,
31293 "type" : "string",
31294 "typetext" : "<string>"
31295 },
31296 "bridge_vlan_aware" : {
31297 "description" : "Enable bridge vlan support.",
31298 "optional" : 1,
31299 "type" : "boolean",
31300 "typetext" : "<boolean>"
31301 },
bb4c8cf8
TL
31302 "cidr" : {
31303 "description" : "IPv4 CIDR.",
31304 "format" : "CIDRv4",
31305 "optional" : 1,
31306 "type" : "string",
31307 "typetext" : "<string>"
31308 },
31309 "cidr6" : {
31310 "description" : "IPv6 CIDR.",
31311 "format" : "CIDRv6",
31312 "optional" : 1,
31313 "type" : "string",
31314 "typetext" : "<string>"
31315 },
4d47f125
TL
31316 "comments" : {
31317 "description" : "Comments",
31318 "optional" : 1,
31319 "type" : "string",
31320 "typetext" : "<string>"
31321 },
31322 "comments6" : {
31323 "description" : "Comments",
31324 "optional" : 1,
31325 "type" : "string",
31326 "typetext" : "<string>"
31327 },
31328 "delete" : {
31329 "description" : "A list of settings you want to delete.",
31330 "format" : "pve-configid-list",
31331 "optional" : 1,
31332 "type" : "string",
31333 "typetext" : "<string>"
31334 },
31335 "gateway" : {
31336 "description" : "Default gateway address.",
31337 "format" : "ipv4",
31338 "optional" : 1,
31339 "type" : "string",
31340 "typetext" : "<string>"
31341 },
31342 "gateway6" : {
31343 "description" : "Default ipv6 gateway address.",
31344 "format" : "ipv6",
31345 "optional" : 1,
31346 "type" : "string",
31347 "typetext" : "<string>"
31348 },
31349 "iface" : {
31350 "description" : "Network interface name.",
31351 "format" : "pve-iface",
31352 "maxLength" : 20,
31353 "minLength" : 2,
31354 "type" : "string",
31355 "typetext" : "<string>"
56122987 31356 },
e9cd3bd4
TL
31357 "mtu" : {
31358 "description" : "MTU.",
31359 "maximum" : 65520,
31360 "minimum" : 1280,
31361 "optional" : 1,
31362 "type" : "integer",
31363 "typetext" : "<integer> (1280 - 65520)"
31364 },
4d47f125
TL
31365 "netmask" : {
31366 "description" : "Network mask.",
31367 "format" : "ipv4mask",
31368 "optional" : 1,
31369 "requires" : "address",
31370 "type" : "string",
31371 "typetext" : "<string>"
31372 },
31373 "netmask6" : {
31374 "description" : "Network mask.",
31375 "maximum" : 128,
31376 "minimum" : 0,
31377 "optional" : 1,
31378 "requires" : "address6",
31379 "type" : "integer",
31380 "typetext" : "<integer> (0 - 128)"
56122987 31381 },
44660702
DM
31382 "node" : {
31383 "description" : "The cluster node name.",
31384 "format" : "pve-node",
013dc89f
DM
31385 "type" : "string",
31386 "typetext" : "<string>"
44660702 31387 },
4d47f125
TL
31388 "ovs_bonds" : {
31389 "description" : "Specify the interfaces used by the bonding device.",
31390 "format" : "pve-iface-list",
31391 "optional" : 1,
31392 "type" : "string",
31393 "typetext" : "<string>"
31394 },
31395 "ovs_bridge" : {
31396 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
31397 "format" : "pve-iface",
31398 "optional" : 1,
31399 "type" : "string",
31400 "typetext" : "<string>"
31401 },
31402 "ovs_options" : {
31403 "description" : "OVS interface options.",
31404 "maxLength" : 1024,
31405 "optional" : 1,
31406 "type" : "string",
31407 "typetext" : "<string>"
31408 },
31409 "ovs_ports" : {
1e3f8156 31410 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31411 "format" : "pve-iface-list",
31412 "optional" : 1,
31413 "type" : "string",
31414 "typetext" : "<string>"
31415 },
31416 "ovs_tag" : {
31417 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
31418 "maximum" : 4094,
31419 "minimum" : 1,
31420 "optional" : 1,
31421 "type" : "integer",
31422 "typetext" : "<integer> (1 - 4094)"
31423 },
31424 "slaves" : {
31425 "description" : "Specify the interfaces used by the bonding device.",
31426 "format" : "pve-iface-list",
31427 "optional" : 1,
31428 "type" : "string",
31429 "typetext" : "<string>"
31430 },
31431 "type" : {
31432 "description" : "Network interface type",
44660702 31433 "enum" : [
4d47f125
TL
31434 "bridge",
31435 "bond",
31436 "eth",
31437 "alias",
31438 "vlan",
31439 "OVSBridge",
31440 "OVSBond",
31441 "OVSPort",
31442 "OVSIntPort",
31443 "unknown"
44660702
DM
31444 ],
31445 "type" : "string"
e9cd3bd4
TL
31446 },
31447 "vlan-id" : {
31448 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
31449 "maximum" : 4094,
31450 "minimum" : 1,
31451 "optional" : 1,
31452 "type" : "integer",
31453 "typetext" : "<integer> (1 - 4094)"
31454 },
31455 "vlan-raw-device" : {
31456 "description" : "Specify the raw interface for the vlan interface.",
31457 "format" : "pve-iface",
31458 "optional" : 1,
31459 "type" : "string",
31460 "typetext" : "<string>"
44660702
DM
31461 }
31462 }
31463 },
31464 "permissions" : {
31465 "check" : [
31466 "perm",
31467 "/nodes/{node}",
31468 [
4d47f125 31469 "Sys.Modify"
44660702
DM
31470 ]
31471 ]
31472 },
4d47f125
TL
31473 "protected" : 1,
31474 "proxyto" : "node",
44660702 31475 "returns" : {
4d47f125 31476 "type" : "null"
44660702
DM
31477 }
31478 }
31479 },
4d47f125
TL
31480 "leaf" : 1,
31481 "path" : "/nodes/{node}/network/{iface}",
31482 "text" : "{iface}"
44660702
DM
31483 }
31484 ],
31485 "info" : {
4d47f125 31486 "DELETE" : {
e9cd3bd4 31487 "allowtoken" : 1,
4d47f125
TL
31488 "description" : "Revert network configuration changes.",
31489 "method" : "DELETE",
31490 "name" : "revert_network_changes",
44660702
DM
31491 "parameters" : {
31492 "additionalProperties" : 0,
31493 "properties" : {
31494 "node" : {
31495 "description" : "The cluster node name.",
31496 "format" : "pve-node",
013dc89f
DM
31497 "type" : "string",
31498 "typetext" : "<string>"
44660702
DM
31499 }
31500 }
31501 },
31502 "permissions" : {
31503 "check" : [
31504 "perm",
31505 "/nodes/{node}",
31506 [
4d47f125 31507 "Sys.Modify"
44660702
DM
31508 ]
31509 ]
31510 },
31511 "protected" : 1,
31512 "proxyto" : "node",
4d47f125
TL
31513 "returns" : {
31514 "type" : "null"
31515 }
31516 },
31517 "GET" : {
e9cd3bd4 31518 "allowtoken" : 1,
4d47f125
TL
31519 "description" : "List available networks",
31520 "method" : "GET",
31521 "name" : "index",
31522 "parameters" : {
31523 "additionalProperties" : 0,
31524 "properties" : {
31525 "node" : {
31526 "description" : "The cluster node name.",
31527 "format" : "pve-node",
31528 "type" : "string",
31529 "typetext" : "<string>"
31530 },
31531 "type" : {
31532 "description" : "Only list specific interface types.",
31533 "enum" : [
31534 "bridge",
31535 "bond",
31536 "eth",
31537 "alias",
31538 "vlan",
31539 "OVSBridge",
31540 "OVSBond",
31541 "OVSPort",
31542 "OVSIntPort",
31543 "any_bridge"
31544 ],
31545 "optional" : 1,
31546 "type" : "string"
31547 }
31548 }
31549 },
31550 "permissions" : {
31551 "user" : "all"
31552 },
31553 "proxyto" : "node",
44660702
DM
31554 "returns" : {
31555 "items" : {
31556 "properties" : {},
31557 "type" : "object"
31558 },
31559 "links" : [
31560 {
4d47f125 31561 "href" : "{iface}",
44660702 31562 "rel" : "child"
56122987 31563 }
44660702
DM
31564 ],
31565 "type" : "array"
31566 }
4d47f125
TL
31567 },
31568 "POST" : {
e9cd3bd4 31569 "allowtoken" : 1,
4d47f125
TL
31570 "description" : "Create network device configuration",
31571 "method" : "POST",
31572 "name" : "create_network",
7aacca6f 31573 "parameters" : {
44660702 31574 "additionalProperties" : 0,
7aacca6f 31575 "properties" : {
4d47f125
TL
31576 "address" : {
31577 "description" : "IP address.",
31578 "format" : "ipv4",
31579 "optional" : 1,
31580 "requires" : "netmask",
31581 "type" : "string",
31582 "typetext" : "<string>"
31583 },
31584 "address6" : {
31585 "description" : "IP address.",
31586 "format" : "ipv6",
31587 "optional" : 1,
31588 "requires" : "netmask6",
31589 "type" : "string",
31590 "typetext" : "<string>"
31591 },
31592 "autostart" : {
31593 "description" : "Automatically start interface on boot.",
31594 "optional" : 1,
31595 "type" : "boolean",
31596 "typetext" : "<boolean>"
31597 },
e9cd3bd4
TL
31598 "bond-primary" : {
31599 "description" : "Specify the primary interface for active-backup bond.",
31600 "format" : "pve-iface",
31601 "optional" : 1,
31602 "type" : "string",
31603 "typetext" : "<string>"
31604 },
4d47f125
TL
31605 "bond_mode" : {
31606 "description" : "Bonding mode.",
31607 "enum" : [
31608 "balance-rr",
31609 "active-backup",
31610 "balance-xor",
31611 "broadcast",
31612 "802.3ad",
31613 "balance-tlb",
31614 "balance-alb",
31615 "balance-slb",
31616 "lacp-balance-slb",
31617 "lacp-balance-tcp"
31618 ],
31619 "optional" : 1,
31620 "type" : "string"
31621 },
31622 "bond_xmit_hash_policy" : {
31623 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
31624 "enum" : [
31625 "layer2",
31626 "layer2+3",
31627 "layer3+4"
31628 ],
31629 "optional" : 1,
31630 "type" : "string"
31631 },
31632 "bridge_ports" : {
1e3f8156 31633 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31634 "format" : "pve-iface-list",
31635 "optional" : 1,
013dc89f
DM
31636 "type" : "string",
31637 "typetext" : "<string>"
4d47f125
TL
31638 },
31639 "bridge_vlan_aware" : {
31640 "description" : "Enable bridge vlan support.",
44660702 31641 "optional" : 1,
013dc89f
DM
31642 "type" : "boolean",
31643 "typetext" : "<boolean>"
44660702 31644 },
bb4c8cf8
TL
31645 "cidr" : {
31646 "description" : "IPv4 CIDR.",
31647 "format" : "CIDRv4",
31648 "optional" : 1,
31649 "type" : "string",
31650 "typetext" : "<string>"
31651 },
31652 "cidr6" : {
31653 "description" : "IPv6 CIDR.",
31654 "format" : "CIDRv6",
31655 "optional" : 1,
31656 "type" : "string",
31657 "typetext" : "<string>"
31658 },
4d47f125
TL
31659 "comments" : {
31660 "description" : "Comments",
31661 "optional" : 1,
31662 "type" : "string",
31663 "typetext" : "<string>"
31664 },
31665 "comments6" : {
31666 "description" : "Comments",
31667 "optional" : 1,
31668 "type" : "string",
31669 "typetext" : "<string>"
31670 },
31671 "gateway" : {
31672 "description" : "Default gateway address.",
31673 "format" : "ipv4",
31674 "optional" : 1,
31675 "type" : "string",
31676 "typetext" : "<string>"
31677 },
31678 "gateway6" : {
31679 "description" : "Default ipv6 gateway address.",
31680 "format" : "ipv6",
31681 "optional" : 1,
31682 "type" : "string",
31683 "typetext" : "<string>"
31684 },
31685 "iface" : {
31686 "description" : "Network interface name.",
31687 "format" : "pve-iface",
31688 "maxLength" : 20,
31689 "minLength" : 2,
31690 "type" : "string",
31691 "typetext" : "<string>"
31692 },
e9cd3bd4
TL
31693 "mtu" : {
31694 "description" : "MTU.",
31695 "maximum" : 65520,
31696 "minimum" : 1280,
31697 "optional" : 1,
31698 "type" : "integer",
31699 "typetext" : "<integer> (1280 - 65520)"
31700 },
4d47f125
TL
31701 "netmask" : {
31702 "description" : "Network mask.",
31703 "format" : "ipv4mask",
31704 "optional" : 1,
31705 "requires" : "address",
31706 "type" : "string",
31707 "typetext" : "<string>"
31708 },
31709 "netmask6" : {
31710 "description" : "Network mask.",
31711 "maximum" : 128,
31712 "minimum" : 0,
31713 "optional" : 1,
31714 "requires" : "address6",
31715 "type" : "integer",
31716 "typetext" : "<integer> (0 - 128)"
31717 },
7aacca6f 31718 "node" : {
7aacca6f 31719 "description" : "The cluster node name.",
44660702 31720 "format" : "pve-node",
013dc89f
DM
31721 "type" : "string",
31722 "typetext" : "<string>"
4d47f125
TL
31723 },
31724 "ovs_bonds" : {
31725 "description" : "Specify the interfaces used by the bonding device.",
31726 "format" : "pve-iface-list",
31727 "optional" : 1,
31728 "type" : "string",
31729 "typetext" : "<string>"
31730 },
31731 "ovs_bridge" : {
31732 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
31733 "format" : "pve-iface",
31734 "optional" : 1,
31735 "type" : "string",
31736 "typetext" : "<string>"
31737 },
31738 "ovs_options" : {
31739 "description" : "OVS interface options.",
31740 "maxLength" : 1024,
31741 "optional" : 1,
31742 "type" : "string",
31743 "typetext" : "<string>"
31744 },
31745 "ovs_ports" : {
1e3f8156 31746 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31747 "format" : "pve-iface-list",
31748 "optional" : 1,
31749 "type" : "string",
31750 "typetext" : "<string>"
31751 },
31752 "ovs_tag" : {
31753 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
31754 "maximum" : 4094,
31755 "minimum" : 1,
31756 "optional" : 1,
31757 "type" : "integer",
31758 "typetext" : "<integer> (1 - 4094)"
31759 },
31760 "slaves" : {
31761 "description" : "Specify the interfaces used by the bonding device.",
31762 "format" : "pve-iface-list",
31763 "optional" : 1,
31764 "type" : "string",
31765 "typetext" : "<string>"
31766 },
31767 "type" : {
31768 "description" : "Network interface type",
31769 "enum" : [
31770 "bridge",
31771 "bond",
31772 "eth",
31773 "alias",
31774 "vlan",
31775 "OVSBridge",
31776 "OVSBond",
31777 "OVSPort",
31778 "OVSIntPort",
31779 "unknown"
31780 ],
31781 "type" : "string"
e9cd3bd4
TL
31782 },
31783 "vlan-id" : {
31784 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
31785 "maximum" : 4094,
31786 "minimum" : 1,
31787 "optional" : 1,
31788 "type" : "integer",
31789 "typetext" : "<integer> (1 - 4094)"
31790 },
31791 "vlan-raw-device" : {
31792 "description" : "Specify the raw interface for the vlan interface.",
31793 "format" : "pve-iface",
31794 "optional" : 1,
31795 "type" : "string",
31796 "typetext" : "<string>"
7aacca6f
DM
31797 }
31798 }
31799 },
35a75dd3
DM
31800 "permissions" : {
31801 "check" : [
31802 "perm",
31803 "/nodes/{node}",
31804 [
31805 "Sys.Modify"
31806 ]
31807 ]
31808 },
7aacca6f 31809 "protected" : 1,
7aacca6f 31810 "proxyto" : "node",
44660702
DM
31811 "returns" : {
31812 "type" : "null"
31813 }
31814 },
31815 "PUT" : {
e9cd3bd4 31816 "allowtoken" : 1,
4d47f125 31817 "description" : "Reload network configuration",
44660702 31818 "method" : "PUT",
4d47f125 31819 "name" : "reload_network_config",
7aacca6f
DM
31820 "parameters" : {
31821 "additionalProperties" : 0,
31822 "properties" : {
7aacca6f 31823 "node" : {
7aacca6f 31824 "description" : "The cluster node name.",
44660702 31825 "format" : "pve-node",
013dc89f
DM
31826 "type" : "string",
31827 "typetext" : "<string>"
7aacca6f
DM
31828 }
31829 }
31830 },
35a75dd3
DM
31831 "permissions" : {
31832 "check" : [
31833 "perm",
31834 "/nodes/{node}",
31835 [
31836 "Sys.Modify"
31837 ]
31838 ]
31839 },
44660702
DM
31840 "protected" : 1,
31841 "proxyto" : "node",
7aacca6f 31842 "returns" : {
4d47f125 31843 "type" : "string"
44660702 31844 }
7aacca6f
DM
31845 }
31846 },
4d47f125
TL
31847 "leaf" : 0,
31848 "path" : "/nodes/{node}/network",
31849 "text" : "network"
7aacca6f
DM
31850 },
31851 {
7aacca6f
DM
31852 "children" : [
31853 {
4d47f125
TL
31854 "children" : [
31855 {
31856 "info" : {
31857 "GET" : {
e9cd3bd4 31858 "allowtoken" : 1,
4d47f125
TL
31859 "description" : "Read task log.",
31860 "method" : "GET",
31861 "name" : "read_task_log",
31862 "parameters" : {
31863 "additionalProperties" : 0,
31864 "properties" : {
31865 "limit" : {
31866 "default" : 50,
31867 "minimum" : 0,
31868 "optional" : 1,
31869 "type" : "integer",
31870 "typetext" : "<integer> (0 - N)"
31871 },
31872 "node" : {
31873 "description" : "The cluster node name.",
31874 "format" : "pve-node",
31875 "type" : "string",
31876 "typetext" : "<string>"
31877 },
31878 "start" : {
31879 "default" : 0,
31880 "minimum" : 0,
31881 "optional" : 1,
31882 "type" : "integer",
31883 "typetext" : "<integer> (0 - N)"
31884 },
31885 "upid" : {
31886 "type" : "string",
31887 "typetext" : "<string>"
31888 }
31889 }
31890 },
31891 "permissions" : {
31892 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
31893 "user" : "all"
31894 },
31895 "protected" : 1,
31896 "proxyto" : "node",
31897 "returns" : {
31898 "items" : {
31899 "properties" : {
31900 "n" : {
31901 "description" : "Line number",
31902 "type" : "integer"
31903 },
31904 "t" : {
31905 "description" : "Line text",
31906 "type" : "string"
31907 }
31908 },
31909 "type" : "object"
31910 },
31911 "type" : "array"
31912 }
31913 }
31914 },
31915 "leaf" : 1,
31916 "path" : "/nodes/{node}/tasks/{upid}/log",
31917 "text" : "log"
31918 },
31919 {
31920 "info" : {
31921 "GET" : {
e9cd3bd4 31922 "allowtoken" : 1,
4d47f125
TL
31923 "description" : "Read task status.",
31924 "method" : "GET",
31925 "name" : "read_task_status",
31926 "parameters" : {
31927 "additionalProperties" : 0,
31928 "properties" : {
31929 "node" : {
31930 "description" : "The cluster node name.",
31931 "format" : "pve-node",
31932 "type" : "string",
31933 "typetext" : "<string>"
31934 },
31935 "upid" : {
31936 "type" : "string",
31937 "typetext" : "<string>"
31938 }
31939 }
31940 },
31941 "permissions" : {
31942 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
31943 "user" : "all"
31944 },
31945 "protected" : 1,
31946 "proxyto" : "node",
31947 "returns" : {
31948 "properties" : {
31949 "pid" : {
31950 "type" : "integer"
31951 },
31952 "status" : {
31953 "enum" : [
31954 "running",
31955 "stopped"
31956 ],
31957 "type" : "string"
31958 }
31959 },
31960 "type" : "object"
31961 }
31962 }
31963 },
31964 "leaf" : 1,
31965 "path" : "/nodes/{node}/tasks/{upid}/status",
31966 "text" : "status"
31967 }
31968 ],
56122987 31969 "info" : {
7aacca6f 31970 "DELETE" : {
e9cd3bd4 31971 "allowtoken" : 1,
4d47f125 31972 "description" : "Stop a task.",
44660702 31973 "method" : "DELETE",
4d47f125 31974 "name" : "stop_task",
44660702
DM
31975 "parameters" : {
31976 "additionalProperties" : 0,
31977 "properties" : {
44660702
DM
31978 "node" : {
31979 "description" : "The cluster node name.",
31980 "format" : "pve-node",
013dc89f
DM
31981 "type" : "string",
31982 "typetext" : "<string>"
4d47f125
TL
31983 },
31984 "upid" : {
31985 "type" : "string",
31986 "typetext" : "<string>"
44660702
DM
31987 }
31988 }
7aacca6f
DM
31989 },
31990 "permissions" : {
4d47f125
TL
31991 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
31992 "user" : "all"
7aacca6f 31993 },
44660702 31994 "protected" : 1,
7aacca6f 31995 "proxyto" : "node",
44660702
DM
31996 "returns" : {
31997 "type" : "null"
31998 }
31999 },
32000 "GET" : {
e9cd3bd4 32001 "allowtoken" : 1,
4d47f125 32002 "description" : "",
44660702 32003 "method" : "GET",
4d47f125 32004 "name" : "upid_index",
7aacca6f
DM
32005 "parameters" : {
32006 "additionalProperties" : 0,
32007 "properties" : {
7aacca6f 32008 "node" : {
44660702 32009 "description" : "The cluster node name.",
7aacca6f 32010 "format" : "pve-node",
013dc89f
DM
32011 "type" : "string",
32012 "typetext" : "<string>"
7aacca6f 32013 },
4d47f125
TL
32014 "upid" : {
32015 "type" : "string",
32016 "typetext" : "<string>"
7aacca6f
DM
32017 }
32018 }
32019 },
7aacca6f 32020 "permissions" : {
4d47f125 32021 "user" : "all"
7aacca6f
DM
32022 },
32023 "returns" : {
4d47f125
TL
32024 "items" : {
32025 "properties" : {},
32026 "type" : "object"
32027 },
32028 "links" : [
32029 {
32030 "href" : "{name}",
32031 "rel" : "child"
32032 }
32033 ],
32034 "type" : "array"
44660702 32035 }
7aacca6f
DM
32036 }
32037 },
4d47f125
TL
32038 "leaf" : 0,
32039 "path" : "/nodes/{node}/tasks/{upid}",
32040 "text" : "{upid}"
7aacca6f
DM
32041 }
32042 ],
7aacca6f 32043 "info" : {
44660702 32044 "GET" : {
e9cd3bd4 32045 "allowtoken" : 1,
4d47f125 32046 "description" : "Read task list for one node (finished tasks).",
44660702 32047 "method" : "GET",
4d47f125 32048 "name" : "node_tasks",
44660702
DM
32049 "parameters" : {
32050 "additionalProperties" : 0,
32051 "properties" : {
4d47f125
TL
32052 "errors" : {
32053 "default" : 0,
7aacca6f 32054 "optional" : 1,
4d47f125
TL
32055 "type" : "boolean",
32056 "typetext" : "<boolean>"
7aacca6f 32057 },
4d47f125
TL
32058 "limit" : {
32059 "default" : 50,
32060 "description" : "Only list this amount of tasks.",
32061 "minimum" : 0,
44660702 32062 "optional" : 1,
4d47f125
TL
32063 "type" : "integer",
32064 "typetext" : "<integer> (0 - N)"
32065 },
32066 "node" : {
32067 "description" : "The cluster node name.",
32068 "format" : "pve-node",
013dc89f
DM
32069 "type" : "string",
32070 "typetext" : "<string>"
44660702 32071 },
5f26e15b
TL
32072 "source" : {
32073 "default" : "archive",
32074 "description" : "List archived, active or all tasks.",
32075 "enum" : [
32076 "archive",
32077 "active",
32078 "all"
32079 ],
32080 "optional" : 1,
32081 "type" : "string"
32082 },
4d47f125
TL
32083 "start" : {
32084 "default" : 0,
32085 "description" : "List tasks beginning from this offset.",
32086 "minimum" : 0,
44660702 32087 "optional" : 1,
4d47f125
TL
32088 "type" : "integer",
32089 "typetext" : "<integer> (0 - N)"
44660702 32090 },
5f26e15b
TL
32091 "typefilter" : {
32092 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
32093 "optional" : 1,
32094 "type" : "string",
32095 "typetext" : "<string>"
32096 },
4d47f125
TL
32097 "userfilter" : {
32098 "description" : "Only list tasks from this user.",
44660702 32099 "optional" : 1,
013dc89f
DM
32100 "type" : "string",
32101 "typetext" : "<string>"
44660702 32102 },
4d47f125
TL
32103 "vmid" : {
32104 "description" : "Only list tasks for this VM.",
32105 "format" : "pve-vmid",
44660702
DM
32106 "minimum" : 1,
32107 "optional" : 1,
4bd7df8b 32108 "type" : "integer",
4d47f125
TL
32109 "typetext" : "<integer> (1 - N)"
32110 }
32111 }
32112 },
32113 "permissions" : {
32114 "description" : "List task associated with the current user, or all task the user has 'Sys.Audit' permissions on /nodes/<node> (the <node> the task runs on).",
32115 "user" : "all"
32116 },
32117 "proxyto" : "node",
32118 "returns" : {
32119 "items" : {
32120 "properties" : {
32121 "endtime" : {
32122 "optional" : 1,
32123 "title" : "Endtime",
32124 "type" : "integer"
32125 },
32126 "id" : {
4d47f125
TL
32127 "title" : "ID",
32128 "type" : "string"
32129 },
32130 "node" : {
4d47f125
TL
32131 "title" : "Node",
32132 "type" : "string"
32133 },
32134 "pid" : {
4d47f125
TL
32135 "title" : "PID",
32136 "type" : "integer"
32137 },
32138 "pstart" : {
4d47f125
TL
32139 "type" : "integer"
32140 },
32141 "starttime" : {
4d47f125
TL
32142 "title" : "Starttime",
32143 "type" : "integer"
32144 },
32145 "status" : {
32146 "optional" : 1,
32147 "title" : "Status",
32148 "type" : "string"
32149 },
32150 "type" : {
4d47f125
TL
32151 "title" : "Type",
32152 "type" : "string"
32153 },
32154 "upid" : {
32155 "title" : "UPID",
32156 "type" : "string"
32157 },
32158 "user" : {
4d47f125
TL
32159 "title" : "User",
32160 "type" : "string"
32161 }
44660702 32162 },
4d47f125
TL
32163 "type" : "object"
32164 },
32165 "links" : [
32166 {
32167 "href" : "{upid}",
32168 "rel" : "child"
32169 }
32170 ],
32171 "type" : "array"
32172 }
32173 }
32174 },
32175 "leaf" : 0,
32176 "path" : "/nodes/{node}/tasks",
32177 "text" : "tasks"
32178 },
32179 {
32180 "children" : [
32181 {
32182 "info" : {
32183 "GET" : {
e9cd3bd4 32184 "allowtoken" : 1,
4d47f125
TL
32185 "description" : "Scan zfs pool list on local node.",
32186 "method" : "GET",
32187 "name" : "zfsscan",
32188 "parameters" : {
32189 "additionalProperties" : 0,
32190 "properties" : {
32191 "node" : {
32192 "description" : "The cluster node name.",
32193 "format" : "pve-node",
32194 "type" : "string",
32195 "typetext" : "<string>"
32196 }
32197 }
44660702 32198 },
4d47f125
TL
32199 "permissions" : {
32200 "check" : [
32201 "perm",
32202 "/storage",
32203 [
32204 "Datastore.Allocate"
32205 ]
32206 ]
32207 },
32208 "protected" : 1,
32209 "proxyto" : "node",
32210 "returns" : {
32211 "items" : {
32212 "properties" : {
32213 "pool" : {
32214 "description" : "ZFS pool name.",
32215 "type" : "string"
32216 }
32217 },
32218 "type" : "object"
32219 },
32220 "type" : "array"
32221 }
32222 }
32223 },
32224 "leaf" : 1,
32225 "path" : "/nodes/{node}/scan/zfs",
32226 "text" : "zfs"
32227 },
32228 {
32229 "info" : {
32230 "GET" : {
e9cd3bd4 32231 "allowtoken" : 1,
4d47f125
TL
32232 "description" : "Scan remote NFS server.",
32233 "method" : "GET",
32234 "name" : "nfsscan",
32235 "parameters" : {
32236 "additionalProperties" : 0,
32237 "properties" : {
32238 "node" : {
32239 "description" : "The cluster node name.",
32240 "format" : "pve-node",
32241 "type" : "string",
32242 "typetext" : "<string>"
32243 },
32244 "server" : {
32245 "description" : "The server address (name or IP).",
32246 "format" : "pve-storage-server",
32247 "type" : "string",
32248 "typetext" : "<string>"
32249 }
32250 }
32251 },
32252 "permissions" : {
32253 "check" : [
32254 "perm",
32255 "/storage",
32256 [
32257 "Datastore.Allocate"
32258 ]
32259 ]
32260 },
32261 "protected" : 1,
32262 "proxyto" : "node",
32263 "returns" : {
32264 "items" : {
32265 "properties" : {
32266 "options" : {
32267 "description" : "NFS export options.",
32268 "type" : "string"
32269 },
32270 "path" : {
32271 "description" : "The exported path.",
32272 "type" : "string"
32273 }
32274 },
32275 "type" : "object"
32276 },
32277 "type" : "array"
32278 }
32279 }
32280 },
32281 "leaf" : 1,
32282 "path" : "/nodes/{node}/scan/nfs",
32283 "text" : "nfs"
32284 },
32285 {
32286 "info" : {
32287 "GET" : {
e9cd3bd4 32288 "allowtoken" : 1,
4d47f125
TL
32289 "description" : "Scan remote CIFS server.",
32290 "method" : "GET",
32291 "name" : "cifsscan",
32292 "parameters" : {
32293 "additionalProperties" : 0,
32294 "properties" : {
32295 "domain" : {
32296 "description" : "SMB domain (Workgroup).",
32297 "optional" : 1,
32298 "type" : "string",
32299 "typetext" : "<string>"
32300 },
32301 "node" : {
32302 "description" : "The cluster node name.",
32303 "format" : "pve-node",
32304 "type" : "string",
32305 "typetext" : "<string>"
32306 },
32307 "password" : {
32308 "description" : "User password.",
32309 "optional" : 1,
32310 "type" : "string",
32311 "typetext" : "<string>"
32312 },
32313 "server" : {
32314 "description" : "The server address (name or IP).",
32315 "format" : "pve-storage-server",
32316 "type" : "string",
32317 "typetext" : "<string>"
32318 },
32319 "username" : {
32320 "description" : "User name.",
32321 "optional" : 1,
32322 "type" : "string",
32323 "typetext" : "<string>"
32324 }
32325 }
32326 },
32327 "permissions" : {
32328 "check" : [
32329 "perm",
32330 "/storage",
32331 [
32332 "Datastore.Allocate"
32333 ]
32334 ]
32335 },
32336 "protected" : 1,
32337 "proxyto" : "node",
32338 "returns" : {
32339 "items" : {
32340 "properties" : {
32341 "description" : {
32342 "description" : "Descriptive text from server.",
32343 "type" : "string"
32344 },
32345 "share" : {
32346 "description" : "The cifs share name.",
32347 "type" : "string"
32348 }
32349 },
32350 "type" : "object"
32351 },
32352 "type" : "array"
56122987 32353 }
44660702 32354 }
56122987 32355 },
4d47f125
TL
32356 "leaf" : 1,
32357 "path" : "/nodes/{node}/scan/cifs",
32358 "text" : "cifs"
32359 },
44660702 32360 {
4d47f125
TL
32361 "info" : {
32362 "GET" : {
e9cd3bd4 32363 "allowtoken" : 1,
4d47f125
TL
32364 "description" : "Scan remote GlusterFS server.",
32365 "method" : "GET",
32366 "name" : "glusterfsscan",
32367 "parameters" : {
32368 "additionalProperties" : 0,
32369 "properties" : {
32370 "node" : {
32371 "description" : "The cluster node name.",
32372 "format" : "pve-node",
32373 "type" : "string",
32374 "typetext" : "<string>"
7aacca6f 32375 },
4d47f125
TL
32376 "server" : {
32377 "description" : "The server address (name or IP).",
32378 "format" : "pve-storage-server",
32379 "type" : "string",
32380 "typetext" : "<string>"
44660702 32381 }
7aacca6f 32382 }
56122987 32383 },
4d47f125
TL
32384 "permissions" : {
32385 "check" : [
32386 "perm",
32387 "/storage",
32388 [
32389 "Datastore.Allocate"
32390 ]
32391 ]
32392 },
32393 "protected" : 1,
32394 "proxyto" : "node",
32395 "returns" : {
32396 "items" : {
32397 "properties" : {
32398 "volname" : {
32399 "description" : "The volume name.",
32400 "type" : "string"
7aacca6f
DM
32401 }
32402 },
4d47f125
TL
32403 "type" : "object"
32404 },
32405 "type" : "array"
32406 }
32407 }
32408 },
32409 "leaf" : 1,
32410 "path" : "/nodes/{node}/scan/glusterfs",
32411 "text" : "glusterfs"
32412 },
32413 {
32414 "info" : {
32415 "GET" : {
e9cd3bd4 32416 "allowtoken" : 1,
4d47f125
TL
32417 "description" : "Scan remote iSCSI server.",
32418 "method" : "GET",
32419 "name" : "iscsiscan",
32420 "parameters" : {
32421 "additionalProperties" : 0,
32422 "properties" : {
32423 "node" : {
32424 "description" : "The cluster node name.",
32425 "format" : "pve-node",
32426 "type" : "string",
32427 "typetext" : "<string>"
56122987 32428 },
4d47f125
TL
32429 "portal" : {
32430 "description" : "The iSCSI portal (IP or DNS name with optional port).",
32431 "format" : "pve-storage-portal-dns",
32432 "type" : "string",
32433 "typetext" : "<string>"
32434 }
32435 }
32436 },
32437 "permissions" : {
32438 "check" : [
32439 "perm",
32440 "/storage",
32441 [
32442 "Datastore.Allocate"
32443 ]
32444 ]
32445 },
32446 "protected" : 1,
32447 "proxyto" : "node",
32448 "returns" : {
32449 "items" : {
32450 "properties" : {
32451 "portal" : {
32452 "description" : "The iSCSI portal name.",
32453 "type" : "string"
7aacca6f 32454 },
4d47f125
TL
32455 "target" : {
32456 "description" : "The iSCSI target name.",
32457 "type" : "string"
32458 }
32459 },
32460 "type" : "object"
32461 },
32462 "type" : "array"
32463 }
32464 }
32465 },
32466 "leaf" : 1,
32467 "path" : "/nodes/{node}/scan/iscsi",
32468 "text" : "iscsi"
32469 },
32470 {
32471 "info" : {
32472 "GET" : {
e9cd3bd4 32473 "allowtoken" : 1,
4d47f125
TL
32474 "description" : "List local LVM volume groups.",
32475 "method" : "GET",
32476 "name" : "lvmscan",
32477 "parameters" : {
32478 "additionalProperties" : 0,
32479 "properties" : {
32480 "node" : {
32481 "description" : "The cluster node name.",
32482 "format" : "pve-node",
32483 "type" : "string",
32484 "typetext" : "<string>"
56122987 32485 }
7aacca6f 32486 }
44660702 32487 },
4d47f125
TL
32488 "permissions" : {
32489 "check" : [
32490 "perm",
32491 "/storage",
32492 [
32493 "Datastore.Allocate"
32494 ]
32495 ]
32496 },
32497 "protected" : 1,
32498 "proxyto" : "node",
32499 "returns" : {
32500 "items" : {
32501 "properties" : {
32502 "vg" : {
32503 "description" : "The LVM logical volume group name.",
32504 "type" : "string"
32505 }
32506 },
32507 "type" : "object"
32508 },
32509 "type" : "array"
32510 }
56122987 32511 }
4d47f125
TL
32512 },
32513 "leaf" : 1,
32514 "path" : "/nodes/{node}/scan/lvm",
32515 "text" : "lvm"
32516 },
32517 {
44660702 32518 "info" : {
4d47f125 32519 "GET" : {
e9cd3bd4 32520 "allowtoken" : 1,
4d47f125
TL
32521 "description" : "List local LVM Thin Pools.",
32522 "method" : "GET",
32523 "name" : "lvmthinscan",
44660702
DM
32524 "parameters" : {
32525 "additionalProperties" : 0,
32526 "properties" : {
32527 "node" : {
32528 "description" : "The cluster node name.",
32529 "format" : "pve-node",
013dc89f
DM
32530 "type" : "string",
32531 "typetext" : "<string>"
44660702 32532 },
4d47f125
TL
32533 "vg" : {
32534 "maxLength" : 100,
32535 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
32536 "type" : "string"
44660702 32537 }
7aacca6f 32538 }
44660702
DM
32539 },
32540 "permissions" : {
4d47f125
TL
32541 "check" : [
32542 "perm",
32543 "/storage",
32544 [
32545 "Datastore.Allocate"
32546 ]
32547 ]
44660702
DM
32548 },
32549 "protected" : 1,
32550 "proxyto" : "node",
32551 "returns" : {
4d47f125
TL
32552 "items" : {
32553 "properties" : {
32554 "lv" : {
32555 "description" : "The LVM Thin Pool name (LVM logical volume).",
32556 "type" : "string"
32557 }
32558 },
32559 "type" : "object"
32560 },
32561 "type" : "array"
7aacca6f 32562 }
4d47f125
TL
32563 }
32564 },
32565 "leaf" : 1,
32566 "path" : "/nodes/{node}/scan/lvmthin",
32567 "text" : "lvmthin"
32568 },
32569 {
32570 "info" : {
44660702 32571 "GET" : {
e9cd3bd4 32572 "allowtoken" : 1,
4d47f125 32573 "description" : "List local USB devices.",
44660702 32574 "method" : "GET",
4d47f125 32575 "name" : "usbscan",
44660702
DM
32576 "parameters" : {
32577 "additionalProperties" : 0,
32578 "properties" : {
32579 "node" : {
32580 "description" : "The cluster node name.",
32581 "format" : "pve-node",
013dc89f
DM
32582 "type" : "string",
32583 "typetext" : "<string>"
44660702
DM
32584 }
32585 }
32586 },
32587 "permissions" : {
4d47f125
TL
32588 "check" : [
32589 "perm",
32590 "/",
32591 [
32592 "Sys.Modify"
32593 ]
32594 ]
44660702 32595 },
4d47f125
TL
32596 "protected" : 1,
32597 "proxyto" : "node",
44660702
DM
32598 "returns" : {
32599 "items" : {
4d47f125
TL
32600 "properties" : {
32601 "busnum" : {
32602 "type" : "integer"
32603 },
32604 "class" : {
32605 "type" : "integer"
32606 },
32607 "devnum" : {
32608 "type" : "integer"
32609 },
32610 "level" : {
32611 "type" : "integer"
32612 },
32613 "manufacturer" : {
32614 "optional" : 1,
32615 "type" : "string"
32616 },
32617 "port" : {
32618 "type" : "integer"
32619 },
32620 "prodid" : {
32621 "type" : "string"
32622 },
32623 "product" : {
32624 "optional" : 1,
32625 "type" : "string"
32626 },
32627 "serial" : {
32628 "optional" : 1,
32629 "type" : "string"
32630 },
32631 "speed" : {
32632 "type" : "string"
32633 },
32634 "usbpath" : {
32635 "optional" : 1,
32636 "type" : "string"
32637 },
32638 "vendid" : {
32639 "type" : "string"
32640 }
32641 },
44660702
DM
32642 "type" : "object"
32643 },
44660702 32644 "type" : "array"
56122987 32645 }
44660702 32646 }
56122987 32647 },
4d47f125
TL
32648 "leaf" : 1,
32649 "path" : "/nodes/{node}/scan/usb",
32650 "text" : "usb"
44660702
DM
32651 }
32652 ],
32653 "info" : {
32654 "GET" : {
e9cd3bd4 32655 "allowtoken" : 1,
4d47f125 32656 "description" : "Index of available scan methods",
44660702 32657 "method" : "GET",
4d47f125 32658 "name" : "index",
56122987 32659 "parameters" : {
7aacca6f 32660 "additionalProperties" : 0,
56122987 32661 "properties" : {
56122987
DM
32662 "node" : {
32663 "description" : "The cluster node name.",
44660702 32664 "format" : "pve-node",
013dc89f
DM
32665 "type" : "string",
32666 "typetext" : "<string>"
56122987
DM
32667 }
32668 }
32669 },
7aacca6f
DM
32670 "permissions" : {
32671 "user" : "all"
32672 },
56122987
DM
32673 "returns" : {
32674 "items" : {
32675 "properties" : {
4d47f125 32676 "method" : {
56122987
DM
32677 "type" : "string"
32678 }
32679 },
32680 "type" : "object"
32681 },
56122987
DM
32682 "links" : [
32683 {
4d47f125 32684 "href" : "{method}",
44660702 32685 "rel" : "child"
56122987 32686 }
44660702
DM
32687 ],
32688 "type" : "array"
56122987
DM
32689 }
32690 }
32691 },
44660702 32692 "leaf" : 0,
4d47f125
TL
32693 "path" : "/nodes/{node}/scan",
32694 "text" : "scan"
44660702 32695 },
e2d681b3
TL
32696 {
32697 "children" : [
32698 {
32699 "children" : [
32700 {
32701 "children" : [
32702 {
32703 "info" : {
32704 "GET" : {
e9cd3bd4 32705 "allowtoken" : 1,
e2d681b3
TL
32706 "description" : "List mediated device types for given PCI device.",
32707 "method" : "GET",
32708 "name" : "mdevscan",
32709 "parameters" : {
32710 "additionalProperties" : 0,
32711 "properties" : {
32712 "node" : {
32713 "description" : "The cluster node name.",
32714 "format" : "pve-node",
32715 "type" : "string",
32716 "typetext" : "<string>"
32717 },
32718 "pciid" : {
32719 "description" : "The PCI ID to list the mdev types for.",
32720 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
32721 "type" : "string"
32722 }
32723 }
32724 },
32725 "permissions" : {
32726 "check" : [
32727 "perm",
32728 "/",
32729 [
32730 "Sys.Modify"
32731 ]
32732 ]
32733 },
32734 "protected" : 1,
32735 "proxyto" : "node",
32736 "returns" : {
32737 "items" : {
32738 "properties" : {
32739 "available" : {
32740 "description" : "The number of still available instances of this type.",
32741 "type" : "integer"
32742 },
32743 "description" : {
32744 "type" : "string"
32745 },
32746 "type" : {
32747 "description" : "The name of the mdev type.",
32748 "type" : "string"
32749 }
32750 },
32751 "type" : "object"
32752 },
32753 "type" : "array"
32754 }
32755 }
32756 },
32757 "leaf" : 1,
32758 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
32759 "text" : "mdev"
32760 }
32761 ],
32762 "info" : {
32763 "GET" : {
e9cd3bd4 32764 "allowtoken" : 1,
e2d681b3
TL
32765 "description" : "Index of available pci methods",
32766 "method" : "GET",
32767 "name" : "pciindex",
32768 "parameters" : {
32769 "additionalProperties" : 0,
32770 "properties" : {
32771 "node" : {
32772 "description" : "The cluster node name.",
32773 "format" : "pve-node",
32774 "type" : "string",
32775 "typetext" : "<string>"
32776 },
32777 "pciid" : {
32778 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
32779 "type" : "string"
32780 }
32781 }
32782 },
32783 "permissions" : {
32784 "user" : "all"
32785 },
32786 "returns" : {
32787 "items" : {
32788 "properties" : {
32789 "method" : {
32790 "type" : "string"
32791 }
32792 },
32793 "type" : "object"
32794 },
32795 "links" : [
32796 {
32797 "href" : "{method}",
32798 "rel" : "child"
32799 }
32800 ],
32801 "type" : "array"
32802 }
32803 }
32804 },
32805 "leaf" : 0,
32806 "path" : "/nodes/{node}/hardware/pci/{pciid}",
32807 "text" : "{pciid}"
32808 }
32809 ],
32810 "info" : {
32811 "GET" : {
e9cd3bd4 32812 "allowtoken" : 1,
e2d681b3
TL
32813 "description" : "List local PCI devices.",
32814 "method" : "GET",
32815 "name" : "pciscan",
32816 "parameters" : {
32817 "additionalProperties" : 0,
32818 "properties" : {
32819 "node" : {
32820 "description" : "The cluster node name.",
32821 "format" : "pve-node",
32822 "type" : "string",
32823 "typetext" : "<string>"
32824 },
32825 "pci-class-blacklist" : {
32826 "default" : "05;06;08;0b",
32827 "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).",
32828 "format" : "string-list",
32829 "optional" : 1,
32830 "type" : "string",
32831 "typetext" : "<string>"
32832 },
32833 "verbose" : {
32834 "default" : 1,
32835 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
32836 "optional" : 1,
32837 "type" : "boolean",
32838 "typetext" : "<boolean>"
32839 }
32840 }
32841 },
32842 "permissions" : {
32843 "check" : [
32844 "perm",
32845 "/",
32846 [
32847 "Sys.Modify"
32848 ]
32849 ]
32850 },
32851 "protected" : 1,
32852 "proxyto" : "node",
32853 "returns" : {
32854 "items" : {
32855 "properties" : {
32856 "class" : {
32857 "description" : "The PCI Class of the device.",
32858 "type" : "string"
32859 },
32860 "device" : {
32861 "description" : "The Device ID.",
32862 "type" : "string"
32863 },
32864 "device_name" : {
32865 "optional" : 1,
32866 "type" : "string"
32867 },
32868 "id" : {
32869 "description" : "The PCI ID.",
32870 "type" : "string"
32871 },
32872 "iommugroup" : {
32873 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
32874 "type" : "integer"
32875 },
32876 "mdev" : {
32877 "description" : "If set, marks that the device is capable of creating mediated devices.",
32878 "optional" : 1,
32879 "type" : "boolean"
32880 },
32881 "subsystem_device" : {
32882 "description" : "The Subsystem Device ID.",
32883 "optional" : 1,
32884 "type" : "string"
32885 },
32886 "subsystem_device_name" : {
32887 "optional" : 1,
32888 "type" : "string"
32889 },
32890 "subsystem_vendor" : {
32891 "description" : "The Subsystem Vendor ID.",
32892 "optional" : 1,
32893 "type" : "string"
32894 },
32895 "subsystem_vendor_name" : {
32896 "optional" : 1,
32897 "type" : "string"
32898 },
32899 "vendor" : {
32900 "description" : "The Vendor ID.",
32901 "type" : "string"
32902 },
32903 "vendor_name" : {
32904 "optional" : 1,
32905 "type" : "string"
32906 }
32907 },
32908 "type" : "object"
32909 },
32910 "links" : [
32911 {
32912 "href" : "{id}",
32913 "rel" : "child"
32914 }
32915 ],
32916 "type" : "array"
32917 }
32918 }
32919 },
32920 "leaf" : 0,
32921 "path" : "/nodes/{node}/hardware/pci",
32922 "text" : "pci"
32923 }
32924 ],
32925 "info" : {
32926 "GET" : {
e9cd3bd4 32927 "allowtoken" : 1,
e2d681b3
TL
32928 "description" : "Index of hardware types",
32929 "method" : "GET",
32930 "name" : "index",
32931 "parameters" : {
32932 "additionalProperties" : 0,
32933 "properties" : {
32934 "node" : {
32935 "description" : "The cluster node name.",
32936 "format" : "pve-node",
32937 "type" : "string",
32938 "typetext" : "<string>"
32939 }
32940 }
32941 },
32942 "permissions" : {
32943 "user" : "all"
32944 },
32945 "returns" : {
32946 "items" : {
32947 "properties" : {
32948 "type" : {
32949 "type" : "string"
32950 }
32951 },
32952 "type" : "object"
32953 },
32954 "links" : [
32955 {
32956 "href" : "{type}",
32957 "rel" : "child"
32958 }
32959 ],
32960 "type" : "array"
32961 }
32962 }
32963 },
32964 "leaf" : 0,
32965 "path" : "/nodes/{node}/hardware",
32966 "text" : "hardware"
32967 },
44660702 32968 {
56122987
DM
32969 "children" : [
32970 {
4d47f125 32971 "children" : [
739d4d64
TL
32972 {
32973 "info" : {
32974 "DELETE" : {
32975 "allowtoken" : 1,
32976 "description" : "Prune backups. Only those using the standard naming scheme are considered.",
32977 "method" : "DELETE",
32978 "name" : "delete",
32979 "parameters" : {
32980 "additionalProperties" : 0,
32981 "properties" : {
32982 "node" : {
32983 "description" : "The cluster node name.",
32984 "format" : "pve-node",
32985 "type" : "string",
32986 "typetext" : "<string>"
32987 },
32988 "prune-backups" : {
32989 "description" : "Use these retention options instead of those from the storage configuration.",
32990 "format" : "prune-backups",
32991 "optional" : 1,
32992 "type" : "string",
32993 "typetext" : "[keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
32994 },
32995 "storage" : {
32996 "description" : "The storage identifier.",
32997 "format" : "pve-storage-id",
32998 "type" : "string",
32999 "typetext" : "<string>"
33000 },
33001 "type" : {
33002 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
33003 "enum" : [
33004 "qemu",
33005 "lxc"
33006 ],
33007 "optional" : 1,
33008 "type" : "string"
33009 },
33010 "vmid" : {
33011 "description" : "Only prune backups for this VM.",
33012 "format" : "pve-vmid",
33013 "minimum" : 1,
33014 "optional" : 1,
33015 "type" : "integer",
33016 "typetext" : "<integer> (1 - N)"
33017 }
33018 }
33019 },
33020 "permissions" : {
33021 "description" : "You need the 'Datastore.Allocate' privilege on the storage (or if a VM ID is specified, 'Datastore.AllocateSpace' and 'VM.Backup' for the VM).",
33022 "user" : "all"
33023 },
33024 "protected" : 1,
33025 "proxyto" : "node",
33026 "returns" : {
33027 "type" : "string"
33028 }
33029 },
33030 "GET" : {
33031 "allowtoken" : 1,
33032 "description" : "Get prune information for backups. NOTE: this is only a preview and might not be exactly what a subsequent prune call does, if the hour changes or if backups are removed/added in the meantime.",
33033 "method" : "GET",
33034 "name" : "dryrun",
33035 "parameters" : {
33036 "additionalProperties" : 0,
33037 "properties" : {
33038 "node" : {
33039 "description" : "The cluster node name.",
33040 "format" : "pve-node",
33041 "type" : "string",
33042 "typetext" : "<string>"
33043 },
33044 "prune-backups" : {
33045 "description" : "Use these retention options instead of those from the storage configuration.",
33046 "format" : "prune-backups",
33047 "optional" : 1,
33048 "type" : "string",
33049 "typetext" : "[keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
33050 },
33051 "storage" : {
33052 "description" : "The storage identifier.",
33053 "format" : "pve-storage-id",
33054 "type" : "string",
33055 "typetext" : "<string>"
33056 },
33057 "type" : {
33058 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
33059 "enum" : [
33060 "qemu",
33061 "lxc"
33062 ],
33063 "optional" : 1,
33064 "type" : "string"
33065 },
33066 "vmid" : {
33067 "description" : "Only consider backups for this guest.",
33068 "format" : "pve-vmid",
33069 "minimum" : 1,
33070 "optional" : 1,
33071 "type" : "integer",
33072 "typetext" : "<integer> (1 - N)"
33073 }
33074 }
33075 },
33076 "permissions" : {
33077 "check" : [
33078 "perm",
33079 "/storage/{storage}",
33080 [
33081 "Datastore.Audit",
33082 "Datastore.AllocateSpace"
33083 ],
33084 "any",
33085 1
33086 ]
33087 },
33088 "protected" : 1,
33089 "proxyto" : "node",
33090 "returns" : {
33091 "items" : {
33092 "properties" : {
33093 "ctime" : {
33094 "description" : "Creation time of the backup (seconds since the UNIX epoch).",
33095 "type" : "integer"
33096 },
33097 "mark" : {
33098 "description" : "Whether the backup would be kept or removed. For backups that don't use the standard naming scheme, it's 'protected'.",
33099 "type" : "string"
33100 },
33101 "type" : {
33102 "description" : "One of 'qemu', 'lxc', 'openvz' or 'unknown'.",
33103 "type" : "string"
33104 },
33105 "vmid" : {
33106 "description" : "The VM the backup belongs to.",
33107 "optional" : 1,
33108 "type" : "integer"
33109 },
33110 "volid" : {
33111 "description" : "Backup volume ID.",
33112 "type" : "string"
33113 }
33114 },
33115 "type" : "object"
33116 },
33117 "type" : "array"
33118 }
33119 }
33120 },
33121 "leaf" : 1,
33122 "path" : "/nodes/{node}/storage/{storage}/prunebackups",
33123 "text" : "prunebackups"
33124 },
4d47f125
TL
33125 {
33126 "children" : [
33127 {
33128 "info" : {
33129 "DELETE" : {
e9cd3bd4 33130 "allowtoken" : 1,
4d47f125
TL
33131 "description" : "Delete volume",
33132 "method" : "DELETE",
33133 "name" : "delete",
33134 "parameters" : {
33135 "additionalProperties" : 0,
33136 "properties" : {
1c532546
TL
33137 "delay" : {
33138 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
33139 "maximum" : 30,
33140 "minimum" : 1,
33141 "optional" : 1,
33142 "type" : "integer",
33143 "typetext" : "<integer> (1 - 30)"
33144 },
4d47f125
TL
33145 "node" : {
33146 "description" : "The cluster node name.",
33147 "format" : "pve-node",
33148 "type" : "string",
33149 "typetext" : "<string>"
33150 },
33151 "storage" : {
33152 "description" : "The storage identifier.",
33153 "format" : "pve-storage-id",
33154 "optional" : 1,
33155 "type" : "string",
33156 "typetext" : "<string>"
33157 },
33158 "volume" : {
33159 "description" : "Volume identifier",
33160 "type" : "string",
33161 "typetext" : "<string>"
33162 }
33163 }
33164 },
33165 "permissions" : {
33166 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
33167 "user" : "all"
33168 },
33169 "protected" : 1,
33170 "proxyto" : "node",
33171 "returns" : {
1c532546
TL
33172 "optional" : 1,
33173 "type" : "string"
4d47f125
TL
33174 }
33175 },
33176 "GET" : {
e9cd3bd4 33177 "allowtoken" : 1,
4d47f125
TL
33178 "description" : "Get volume attributes",
33179 "method" : "GET",
33180 "name" : "info",
33181 "parameters" : {
33182 "additionalProperties" : 0,
33183 "properties" : {
33184 "node" : {
33185 "description" : "The cluster node name.",
33186 "format" : "pve-node",
33187 "type" : "string",
33188 "typetext" : "<string>"
33189 },
33190 "storage" : {
33191 "description" : "The storage identifier.",
33192 "format" : "pve-storage-id",
33193 "optional" : 1,
33194 "type" : "string",
33195 "typetext" : "<string>"
33196 },
33197 "volume" : {
33198 "description" : "Volume identifier",
33199 "type" : "string",
33200 "typetext" : "<string>"
33201 }
33202 }
33203 },
33204 "permissions" : {
33205 "description" : "You need read access for the volume.",
33206 "user" : "all"
33207 },
33208 "protected" : 1,
33209 "proxyto" : "node",
33210 "returns" : {
33211 "type" : "object"
33212 }
33213 },
33214 "POST" : {
e9cd3bd4 33215 "allowtoken" : 1,
4d47f125
TL
33216 "description" : "Copy a volume. This is experimental code - do not use.",
33217 "method" : "POST",
33218 "name" : "copy",
33219 "parameters" : {
33220 "additionalProperties" : 0,
33221 "properties" : {
33222 "node" : {
33223 "description" : "The cluster node name.",
33224 "format" : "pve-node",
33225 "type" : "string",
33226 "typetext" : "<string>"
33227 },
33228 "storage" : {
33229 "description" : "The storage identifier.",
33230 "format" : "pve-storage-id",
33231 "optional" : 1,
33232 "type" : "string",
33233 "typetext" : "<string>"
33234 },
33235 "target" : {
33236 "description" : "Target volume identifier",
33237 "type" : "string",
33238 "typetext" : "<string>"
33239 },
33240 "target_node" : {
33241 "description" : "Target node. Default is local node.",
33242 "format" : "pve-node",
33243 "optional" : 1,
33244 "type" : "string",
33245 "typetext" : "<string>"
33246 },
33247 "volume" : {
33248 "description" : "Source volume identifier",
33249 "type" : "string",
33250 "typetext" : "<string>"
33251 }
33252 }
33253 },
33254 "protected" : 1,
33255 "proxyto" : "node",
33256 "returns" : {
33257 "type" : "string"
33258 }
33259 }
33260 },
33261 "leaf" : 1,
33262 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
33263 "text" : "{volume}"
44660702 33264 }
4d47f125
TL
33265 ],
33266 "info" : {
33267 "GET" : {
e9cd3bd4 33268 "allowtoken" : 1,
4d47f125
TL
33269 "description" : "List storage content.",
33270 "method" : "GET",
33271 "name" : "index",
33272 "parameters" : {
33273 "additionalProperties" : 0,
33274 "properties" : {
33275 "content" : {
33276 "description" : "Only list content of this type.",
33277 "format" : "pve-storage-content",
33278 "optional" : 1,
33279 "type" : "string",
33280 "typetext" : "<string>"
33281 },
33282 "node" : {
33283 "description" : "The cluster node name.",
33284 "format" : "pve-node",
33285 "type" : "string",
33286 "typetext" : "<string>"
33287 },
33288 "storage" : {
33289 "description" : "The storage identifier.",
33290 "format" : "pve-storage-id",
33291 "type" : "string",
33292 "typetext" : "<string>"
33293 },
33294 "vmid" : {
33295 "description" : "Only list images for this VM",
33296 "format" : "pve-vmid",
33297 "minimum" : 1,
33298 "optional" : 1,
33299 "type" : "integer",
33300 "typetext" : "<integer> (1 - N)"
33301 }
56122987 33302 }
44660702 33303 },
4d47f125
TL
33304 "permissions" : {
33305 "check" : [
33306 "perm",
33307 "/storage/{storage}",
33308 [
33309 "Datastore.Audit",
33310 "Datastore.AllocateSpace"
33311 ],
33312 "any",
33313 1
33314 ]
7aacca6f 33315 },
4d47f125
TL
33316 "protected" : 1,
33317 "proxyto" : "node",
33318 "returns" : {
33319 "items" : {
33320 "properties" : {
c5aa7e14
TL
33321 "ctime" : {
33322 "description" : "Creation time (seconds since the UNIX Epoch).",
33323 "minimum" : 0,
33324 "optional" : 1,
33325 "type" : "integer"
33326 },
4d47f125
TL
33327 "format" : {
33328 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
33329 "type" : "string"
33330 },
33331 "parent" : {
33332 "description" : "Volume identifier of parent (for linked cloned).",
33333 "optional" : 1,
33334 "type" : "string"
33335 },
33336 "size" : {
33337 "description" : "Volume size in bytes.",
33338 "renderer" : "bytes",
33339 "type" : "integer"
33340 },
33341 "used" : {
c5aa7e14 33342 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
4d47f125
TL
33343 "optional" : 1,
33344 "renderer" : "bytes",
33345 "type" : "integer"
33346 },
33347 "vmid" : {
33348 "description" : "Associated Owner VMID.",
33349 "optional" : 1,
33350 "type" : "integer"
33351 },
33352 "volid" : {
33353 "description" : "Volume identifier.",
33354 "type" : "string"
33355 }
33356 },
33357 "type" : "object"
44660702 33358 },
4d47f125
TL
33359 "links" : [
33360 {
33361 "href" : "{volid}",
33362 "rel" : "child"
33363 }
33364 ],
33365 "type" : "array"
33366 }
33367 },
33368 "POST" : {
e9cd3bd4 33369 "allowtoken" : 1,
4d47f125
TL
33370 "description" : "Allocate disk images.",
33371 "method" : "POST",
33372 "name" : "create",
33373 "parameters" : {
33374 "additionalProperties" : 0,
33375 "properties" : {
33376 "filename" : {
33377 "description" : "The name of the file to create.",
33378 "type" : "string",
33379 "typetext" : "<string>"
33380 },
33381 "format" : {
33382 "enum" : [
33383 "raw",
33384 "qcow2",
33385 "subvol"
33386 ],
33387 "optional" : 1,
33388 "requires" : "size",
33389 "type" : "string"
33390 },
33391 "node" : {
33392 "description" : "The cluster node name.",
33393 "format" : "pve-node",
33394 "type" : "string",
33395 "typetext" : "<string>"
33396 },
33397 "size" : {
33398 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
33399 "pattern" : "\\d+[MG]?",
33400 "type" : "string"
33401 },
33402 "storage" : {
33403 "description" : "The storage identifier.",
33404 "format" : "pve-storage-id",
33405 "type" : "string",
33406 "typetext" : "<string>"
33407 },
33408 "vmid" : {
33409 "description" : "Specify owner VM",
33410 "format" : "pve-vmid",
33411 "minimum" : 1,
33412 "type" : "integer",
33413 "typetext" : "<integer> (1 - N)"
33414 }
44660702
DM
33415 }
33416 },
4d47f125
TL
33417 "permissions" : {
33418 "check" : [
33419 "perm",
33420 "/storage/{storage}",
33421 [
33422 "Datastore.AllocateSpace"
33423 ]
33424 ]
27a7acb2 33425 },
4d47f125
TL
33426 "protected" : 1,
33427 "proxyto" : "node",
33428 "returns" : {
33429 "description" : "Volume identifier",
33430 "type" : "string"
27a7acb2
DM
33431 }
33432 }
33433 },
4d47f125
TL
33434 "leaf" : 0,
33435 "path" : "/nodes/{node}/storage/{storage}/content",
33436 "text" : "content"
33437 },
33438 {
33439 "info" : {
33440 "GET" : {
e9cd3bd4 33441 "allowtoken" : 1,
4d47f125
TL
33442 "description" : "Read storage status.",
33443 "method" : "GET",
33444 "name" : "read_status",
33445 "parameters" : {
33446 "additionalProperties" : 0,
33447 "properties" : {
33448 "node" : {
33449 "description" : "The cluster node name.",
33450 "format" : "pve-node",
33451 "type" : "string",
33452 "typetext" : "<string>"
33453 },
33454 "storage" : {
33455 "description" : "The storage identifier.",
33456 "format" : "pve-storage-id",
33457 "type" : "string",
33458 "typetext" : "<string>"
33459 }
27a7acb2
DM
33460 }
33461 },
4d47f125
TL
33462 "permissions" : {
33463 "check" : [
33464 "perm",
33465 "/storage/{storage}",
33466 [
33467 "Datastore.Audit",
33468 "Datastore.AllocateSpace"
33469 ],
33470 "any",
33471 1
33472 ]
7aacca6f 33473 },
4d47f125
TL
33474 "protected" : 1,
33475 "proxyto" : "node",
33476 "returns" : {
33477 "type" : "object"
56122987 33478 }
44660702
DM
33479 }
33480 },
4d47f125
TL
33481 "leaf" : 1,
33482 "path" : "/nodes/{node}/storage/{storage}/status",
33483 "text" : "status"
33484 },
33485 {
33486 "info" : {
33487 "GET" : {
e9cd3bd4 33488 "allowtoken" : 1,
4d47f125
TL
33489 "description" : "Read storage RRD statistics (returns PNG).",
33490 "method" : "GET",
33491 "name" : "rrd",
33492 "parameters" : {
33493 "additionalProperties" : 0,
33494 "properties" : {
33495 "cf" : {
33496 "description" : "The RRD consolidation function",
33497 "enum" : [
33498 "AVERAGE",
33499 "MAX"
33500 ],
33501 "optional" : 1,
33502 "type" : "string"
33503 },
33504 "ds" : {
33505 "description" : "The list of datasources you want to display.",
33506 "format" : "pve-configid-list",
33507 "type" : "string",
33508 "typetext" : "<string>"
33509 },
33510 "node" : {
33511 "description" : "The cluster node name.",
33512 "format" : "pve-node",
33513 "type" : "string",
33514 "typetext" : "<string>"
33515 },
33516 "storage" : {
33517 "description" : "The storage identifier.",
33518 "format" : "pve-storage-id",
33519 "type" : "string",
33520 "typetext" : "<string>"
33521 },
33522 "timeframe" : {
33523 "description" : "Specify the time frame you are interested in.",
33524 "enum" : [
33525 "hour",
33526 "day",
33527 "week",
33528 "month",
33529 "year"
33530 ],
33531 "type" : "string"
33532 }
44660702
DM
33533 }
33534 },
4d47f125
TL
33535 "permissions" : {
33536 "check" : [
33537 "perm",
33538 "/storage/{storage}",
33539 [
33540 "Datastore.Audit",
33541 "Datastore.AllocateSpace"
33542 ],
33543 "any",
33544 1
33545 ]
33546 },
33547 "protected" : 1,
33548 "proxyto" : "node",
33549 "returns" : {
33550 "properties" : {
33551 "filename" : {
33552 "type" : "string"
33553 }
33554 },
33555 "type" : "object"
44660702
DM
33556 }
33557 }
33558 },
4d47f125
TL
33559 "leaf" : 1,
33560 "path" : "/nodes/{node}/storage/{storage}/rrd",
33561 "text" : "rrd"
33562 },
33563 {
33564 "info" : {
33565 "GET" : {
e9cd3bd4 33566 "allowtoken" : 1,
4d47f125
TL
33567 "description" : "Read storage RRD statistics.",
33568 "method" : "GET",
33569 "name" : "rrddata",
33570 "parameters" : {
33571 "additionalProperties" : 0,
33572 "properties" : {
33573 "cf" : {
33574 "description" : "The RRD consolidation function",
33575 "enum" : [
33576 "AVERAGE",
33577 "MAX"
33578 ],
33579 "optional" : 1,
33580 "type" : "string"
33581 },
33582 "node" : {
33583 "description" : "The cluster node name.",
33584 "format" : "pve-node",
33585 "type" : "string",
33586 "typetext" : "<string>"
33587 },
33588 "storage" : {
33589 "description" : "The storage identifier.",
33590 "format" : "pve-storage-id",
33591 "type" : "string",
33592 "typetext" : "<string>"
33593 },
33594 "timeframe" : {
33595 "description" : "Specify the time frame you are interested in.",
33596 "enum" : [
33597 "hour",
33598 "day",
33599 "week",
33600 "month",
33601 "year"
33602 ],
33603 "type" : "string"
33604 }
56122987
DM
33605 }
33606 },
4d47f125
TL
33607 "permissions" : {
33608 "check" : [
33609 "perm",
33610 "/storage/{storage}",
33611 [
33612 "Datastore.Audit",
33613 "Datastore.AllocateSpace"
33614 ],
33615 "any",
33616 1
33617 ]
33618 },
33619 "protected" : 1,
33620 "proxyto" : "node",
33621 "returns" : {
33622 "items" : {
33623 "properties" : {},
33624 "type" : "object"
33625 },
33626 "type" : "array"
56122987 33627 }
7aacca6f 33628 }
56122987 33629 },
4d47f125
TL
33630 "leaf" : 1,
33631 "path" : "/nodes/{node}/storage/{storage}/rrddata",
33632 "text" : "rrddata"
33633 },
33634 {
33635 "info" : {
33636 "POST" : {
e9cd3bd4 33637 "allowtoken" : 1,
4d47f125
TL
33638 "description" : "Upload templates and ISO images.",
33639 "method" : "POST",
33640 "name" : "upload",
33641 "parameters" : {
33642 "additionalProperties" : 0,
33643 "properties" : {
33644 "content" : {
33645 "description" : "Content type.",
33646 "format" : "pve-storage-content",
33647 "type" : "string",
33648 "typetext" : "<string>"
33649 },
33650 "filename" : {
33651 "description" : "The name of the file to create.",
33652 "type" : "string",
33653 "typetext" : "<string>"
33654 },
33655 "node" : {
33656 "description" : "The cluster node name.",
33657 "format" : "pve-node",
33658 "type" : "string",
33659 "typetext" : "<string>"
33660 },
33661 "storage" : {
33662 "description" : "The storage identifier.",
33663 "format" : "pve-storage-id",
33664 "type" : "string",
33665 "typetext" : "<string>"
33666 },
33667 "tmpfilename" : {
1e3f8156 33668 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
4d47f125
TL
33669 "optional" : 1,
33670 "type" : "string",
33671 "typetext" : "<string>"
33672 }
44660702
DM
33673 }
33674 },
4d47f125
TL
33675 "permissions" : {
33676 "check" : [
33677 "perm",
33678 "/storage/{storage}",
33679 [
33680 "Datastore.AllocateTemplate"
33681 ]
33682 ]
56122987 33683 },
4d47f125
TL
33684 "protected" : 1,
33685 "returns" : {
44660702 33686 "type" : "string"
56122987 33687 }
44660702 33688 }
56122987 33689 },
4d47f125
TL
33690 "leaf" : 1,
33691 "path" : "/nodes/{node}/storage/{storage}/upload",
33692 "text" : "upload"
56122987 33693 }
4d47f125 33694 ],
56122987
DM
33695 "info" : {
33696 "GET" : {
e9cd3bd4 33697 "allowtoken" : 1,
4d47f125 33698 "description" : "",
44660702 33699 "method" : "GET",
4d47f125 33700 "name" : "diridx",
44660702
DM
33701 "parameters" : {
33702 "additionalProperties" : 0,
33703 "properties" : {
33704 "node" : {
33705 "description" : "The cluster node name.",
33706 "format" : "pve-node",
013dc89f
DM
33707 "type" : "string",
33708 "typetext" : "<string>"
4d47f125
TL
33709 },
33710 "storage" : {
33711 "description" : "The storage identifier.",
33712 "format" : "pve-storage-id",
33713 "type" : "string",
33714 "typetext" : "<string>"
44660702
DM
33715 }
33716 }
33717 },
7aacca6f
DM
33718 "permissions" : {
33719 "check" : [
33720 "perm",
4d47f125 33721 "/storage/{storage}",
7aacca6f 33722 [
4d47f125
TL
33723 "Datastore.Audit",
33724 "Datastore.AllocateSpace"
33725 ],
33726 "any",
33727 1
7aacca6f
DM
33728 ]
33729 },
56122987
DM
33730 "returns" : {
33731 "items" : {
33732 "properties" : {
4d47f125 33733 "subdir" : {
44660702 33734 "type" : "string"
56122987
DM
33735 }
33736 },
33737 "type" : "object"
7aacca6f 33738 },
4d47f125
TL
33739 "links" : [
33740 {
33741 "href" : "{subdir}",
33742 "rel" : "child"
33743 }
33744 ],
7aacca6f 33745 "type" : "array"
44660702
DM
33746 }
33747 }
33748 },
4d47f125
TL
33749 "leaf" : 0,
33750 "path" : "/nodes/{node}/storage/{storage}",
33751 "text" : "{storage}"
44660702
DM
33752 }
33753 ],
33754 "info" : {
33755 "GET" : {
e9cd3bd4 33756 "allowtoken" : 1,
4d47f125 33757 "description" : "Get status for all datastores.",
44660702
DM
33758 "method" : "GET",
33759 "name" : "index",
33760 "parameters" : {
33761 "additionalProperties" : 0,
33762 "properties" : {
4d47f125
TL
33763 "content" : {
33764 "description" : "Only list stores which support this content type.",
33765 "format" : "pve-storage-content-list",
33766 "optional" : 1,
33767 "type" : "string",
33768 "typetext" : "<string>"
33769 },
33770 "enabled" : {
33771 "default" : 0,
33772 "description" : "Only list stores which are enabled (not disabled in config).",
33773 "optional" : 1,
33774 "type" : "boolean",
33775 "typetext" : "<boolean>"
33776 },
33777 "format" : {
33778 "default" : 0,
33779 "description" : "Include information about formats",
33780 "optional" : 1,
33781 "type" : "boolean",
33782 "typetext" : "<boolean>"
33783 },
44660702
DM
33784 "node" : {
33785 "description" : "The cluster node name.",
33786 "format" : "pve-node",
013dc89f
DM
33787 "type" : "string",
33788 "typetext" : "<string>"
4d47f125
TL
33789 },
33790 "storage" : {
33791 "description" : "Only list status for specified storage",
33792 "format" : "pve-storage-id",
33793 "optional" : 1,
33794 "type" : "string",
33795 "typetext" : "<string>"
33796 },
33797 "target" : {
33798 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
33799 "format" : "pve-node",
33800 "optional" : 1,
33801 "type" : "string",
33802 "typetext" : "<string>"
44660702
DM
33803 }
33804 }
33805 },
4d47f125
TL
33806 "permissions" : {
33807 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
33808 "user" : "all"
33809 },
33810 "protected" : 1,
33811 "proxyto" : "node",
33812 "returns" : {
33813 "items" : {
33814 "properties" : {
33815 "active" : {
33816 "description" : "Set when storage is accessible.",
33817 "optional" : 1,
33818 "type" : "boolean"
33819 },
33820 "avail" : {
33821 "description" : "Available storage space in bytes.",
33822 "optional" : 1,
33823 "renderer" : "bytes",
33824 "type" : "integer"
33825 },
33826 "content" : {
33827 "description" : "Allowed storage content types.",
33828 "format" : "pve-storage-content-list",
33829 "type" : "string"
33830 },
33831 "enabled" : {
33832 "description" : "Set when storage is enabled (not disabled).",
33833 "optional" : 1,
33834 "type" : "boolean"
33835 },
33836 "shared" : {
33837 "description" : "Shared flag from storage configuration.",
33838 "optional" : 1,
33839 "type" : "boolean"
33840 },
33841 "storage" : {
33842 "description" : "The storage identifier.",
33843 "format" : "pve-storage-id",
33844 "type" : "string"
33845 },
33846 "total" : {
33847 "description" : "Total storage space in bytes.",
33848 "optional" : 1,
33849 "renderer" : "bytes",
33850 "type" : "integer"
33851 },
33852 "type" : {
33853 "description" : "Storage type.",
33854 "type" : "string"
33855 },
33856 "used" : {
33857 "description" : "Used storage space in bytes.",
33858 "optional" : 1,
33859 "renderer" : "bytes",
33860 "type" : "integer"
33861 },
33862 "used_fraction" : {
33863 "description" : "Used fraction (used/total).",
33864 "optional" : 1,
33865 "renderer" : "fraction_as_percentage",
33866 "type" : "number"
7aacca6f 33867 }
4d47f125
TL
33868 },
33869 "type" : "object"
33870 },
33871 "links" : [
33872 {
33873 "href" : "{storage}",
33874 "rel" : "child"
33875 }
33876 ],
33877 "type" : "array"
33878 }
33879 }
33880 },
33881 "leaf" : 0,
33882 "path" : "/nodes/{node}/storage",
33883 "text" : "storage"
33884 },
33885 {
33886 "children" : [
33887 {
33888 "info" : {
33889 "GET" : {
e9cd3bd4 33890 "allowtoken" : 1,
4d47f125
TL
33891 "description" : "List LVM Volume Groups",
33892 "method" : "GET",
33893 "name" : "index",
33894 "parameters" : {
33895 "additionalProperties" : 0,
33896 "properties" : {
33897 "node" : {
33898 "description" : "The cluster node name.",
33899 "format" : "pve-node",
33900 "type" : "string",
33901 "typetext" : "<string>"
33902 }
33903 }
33904 },
33905 "permissions" : {
33906 "check" : [
33907 "perm",
33908 "/",
33909 [
33910 "Sys.Audit",
33911 "Datastore.Audit"
33912 ],
33913 "any",
33914 1
33915 ]
33916 },
33917 "protected" : 1,
33918 "proxyto" : "node",
33919 "returns" : {
33920 "properties" : {
33921 "children" : {
44660702
DM
33922 "items" : {
33923 "properties" : {
4d47f125
TL
33924 "children" : {
33925 "description" : "The underlying physical volumes",
33926 "items" : {
33927 "properties" : {
33928 "free" : {
33929 "description" : "The free bytes in the physical volume",
33930 "type" : "integer"
33931 },
33932 "leaf" : {
33933 "type" : "boolean"
33934 },
33935 "name" : {
33936 "description" : "The name of the physical volume",
33937 "type" : "string"
33938 },
33939 "size" : {
33940 "description" : "The size of the physical volume in bytes",
33941 "type" : "integer"
33942 }
33943 },
33944 "type" : "object"
33945 },
33946 "optional" : 1,
33947 "type" : "array"
33948 },
33949 "free" : {
33950 "description" : "The free bytes in the volume group",
33951 "type" : "integer"
33952 },
33953 "leaf" : {
33954 "type" : "boolean"
33955 },
33956 "name" : {
33957 "description" : "The name of the volume group",
44660702 33958 "type" : "string"
4d47f125
TL
33959 },
33960 "size" : {
33961 "description" : "The size of the volume group in bytes",
33962 "type" : "integer"
44660702
DM
33963 }
33964 },
33965 "type" : "object"
33966 },
44660702 33967 "type" : "array"
4d47f125
TL
33968 },
33969 "leaf" : {
33970 "type" : "boolean"
44660702
DM
33971 }
33972 },
4d47f125
TL
33973 "type" : "object"
33974 }
33975 },
33976 "POST" : {
e9cd3bd4 33977 "allowtoken" : 1,
4d47f125
TL
33978 "description" : "Create an LVM Volume Group",
33979 "method" : "POST",
33980 "name" : "create",
33981 "parameters" : {
33982 "additionalProperties" : 0,
33983 "properties" : {
33984 "add_storage" : {
33985 "default" : 0,
33986 "description" : "Configure storage using the Volume Group",
33987 "optional" : 1,
33988 "type" : "boolean",
33989 "typetext" : "<boolean>"
44660702 33990 },
4d47f125
TL
33991 "device" : {
33992 "description" : "The block device you want to create the volume group on",
33993 "type" : "string",
33994 "typetext" : "<string>"
44660702 33995 },
4d47f125
TL
33996 "name" : {
33997 "description" : "The storage identifier.",
33998 "format" : "pve-storage-id",
33999 "type" : "string",
34000 "typetext" : "<string>"
34001 },
34002 "node" : {
34003 "description" : "The cluster node name.",
34004 "format" : "pve-node",
34005 "type" : "string",
34006 "typetext" : "<string>"
34007 }
34008 }
34009 },
34010 "permissions" : {
34011 "check" : [
34012 "perm",
34013 "/",
34014 [
34015 "Sys.Modify",
34016 "Datastore.Allocate"
34017 ]
34018 ]
34019 },
34020 "protected" : 1,
34021 "proxyto" : "node",
34022 "returns" : {
34023 "type" : "string"
34024 }
34025 }
34026 },
34027 "leaf" : 1,
34028 "path" : "/nodes/{node}/disks/lvm",
34029 "text" : "lvm"
34030 },
34031 {
34032 "info" : {
34033 "GET" : {
e9cd3bd4 34034 "allowtoken" : 1,
4d47f125
TL
34035 "description" : "List LVM thinpools",
34036 "method" : "GET",
34037 "name" : "index",
34038 "parameters" : {
34039 "additionalProperties" : 0,
34040 "properties" : {
34041 "node" : {
34042 "description" : "The cluster node name.",
34043 "format" : "pve-node",
34044 "type" : "string",
34045 "typetext" : "<string>"
44660702
DM
34046 }
34047 }
34048 },
4d47f125
TL
34049 "permissions" : {
34050 "check" : [
34051 "perm",
34052 "/",
34053 [
34054 "Sys.Audit",
34055 "Datastore.Audit"
34056 ],
34057 "any",
34058 1
34059 ]
34060 },
34061 "protected" : 1,
34062 "proxyto" : "node",
34063 "returns" : {
34064 "items" : {
34065 "properties" : {
34066 "lv" : {
34067 "description" : "The name of the thinpool.",
34068 "type" : "string"
34069 },
34070 "lv_size" : {
34071 "description" : "The size of the thinpool in bytes.",
34072 "type" : "integer"
34073 },
34074 "metadata_size" : {
34075 "description" : "The size of the metadata lv in bytes.",
34076 "type" : "integer"
34077 },
34078 "metadata_used" : {
34079 "description" : "The used bytes of the metadata lv.",
34080 "type" : "integer"
34081 },
34082 "used" : {
34083 "description" : "The used bytes of the thinpool.",
34084 "type" : "integer"
44660702
DM
34085 }
34086 },
4d47f125
TL
34087 "type" : "object"
34088 },
34089 "type" : "array"
34090 }
34091 },
34092 "POST" : {
e9cd3bd4 34093 "allowtoken" : 1,
4d47f125
TL
34094 "description" : "Create an LVM thinpool",
34095 "method" : "POST",
34096 "name" : "create",
34097 "parameters" : {
34098 "additionalProperties" : 0,
34099 "properties" : {
34100 "add_storage" : {
34101 "default" : 0,
34102 "description" : "Configure storage using the thinpool.",
34103 "optional" : 1,
34104 "type" : "boolean",
34105 "typetext" : "<boolean>"
56122987 34106 },
4d47f125
TL
34107 "device" : {
34108 "description" : "The block device you want to create the thinpool on.",
34109 "type" : "string",
34110 "typetext" : "<string>"
34111 },
34112 "name" : {
34113 "description" : "The storage identifier.",
34114 "format" : "pve-storage-id",
34115 "type" : "string",
34116 "typetext" : "<string>"
34117 },
34118 "node" : {
34119 "description" : "The cluster node name.",
34120 "format" : "pve-node",
34121 "type" : "string",
34122 "typetext" : "<string>"
44660702 34123 }
56122987
DM
34124 }
34125 },
4d47f125
TL
34126 "permissions" : {
34127 "check" : [
34128 "perm",
34129 "/",
34130 [
34131 "Sys.Modify",
34132 "Datastore.Allocate"
34133 ]
34134 ]
34135 },
34136 "protected" : 1,
34137 "proxyto" : "node",
34138 "returns" : {
34139 "type" : "string"
34140 }
34141 }
34142 },
34143 "leaf" : 1,
34144 "path" : "/nodes/{node}/disks/lvmthin",
34145 "text" : "lvmthin"
34146 },
34147 {
34148 "info" : {
34149 "GET" : {
e9cd3bd4 34150 "allowtoken" : 1,
4d47f125
TL
34151 "description" : "PVE Managed Directory storages.",
34152 "method" : "GET",
34153 "name" : "index",
34154 "parameters" : {
34155 "additionalProperties" : 0,
34156 "properties" : {
34157 "node" : {
34158 "description" : "The cluster node name.",
34159 "format" : "pve-node",
34160 "type" : "string",
34161 "typetext" : "<string>"
34162 }
34163 }
34164 },
34165 "permissions" : {
34166 "check" : [
34167 "perm",
34168 "/",
34169 [
34170 "Sys.Audit",
34171 "Datastore.Audit"
34172 ],
34173 "any",
34174 1
34175 ]
34176 },
34177 "protected" : 1,
34178 "proxyto" : "node",
34179 "returns" : {
34180 "items" : {
34181 "properties" : {
34182 "device" : {
34183 "description" : "The mounted device.",
34184 "type" : "string"
34185 },
34186 "options" : {
34187 "description" : "The mount options.",
34188 "type" : "string"
34189 },
34190 "path" : {
34191 "description" : "The mount path.",
34192 "type" : "string"
34193 },
34194 "type" : {
34195 "description" : "The filesystem type.",
34196 "type" : "string"
34197 },
34198 "unitfile" : {
34199 "description" : "The path of the mount unit.",
34200 "type" : "string"
44660702 34201 }
56122987 34202 },
4d47f125
TL
34203 "type" : "object"
34204 },
34205 "type" : "array"
34206 }
34207 },
34208 "POST" : {
e9cd3bd4 34209 "allowtoken" : 1,
4d47f125
TL
34210 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
34211 "method" : "POST",
34212 "name" : "create",
34213 "parameters" : {
34214 "additionalProperties" : 0,
34215 "properties" : {
34216 "add_storage" : {
34217 "default" : 0,
34218 "description" : "Configure storage using the directory.",
34219 "optional" : 1,
34220 "type" : "boolean",
34221 "typetext" : "<boolean>"
34222 },
34223 "device" : {
34224 "description" : "The block device you want to create the filesystem on.",
34225 "type" : "string",
34226 "typetext" : "<string>"
34227 },
34228 "filesystem" : {
34229 "default" : "ext4",
34230 "description" : "The desired filesystem.",
34231 "enum" : [
34232 "ext4",
34233 "xfs"
34234 ],
34235 "optional" : 1,
34236 "type" : "string"
56122987 34237 },
4d47f125
TL
34238 "name" : {
34239 "description" : "The storage identifier.",
34240 "format" : "pve-storage-id",
34241 "type" : "string",
34242 "typetext" : "<string>"
34243 },
34244 "node" : {
34245 "description" : "The cluster node name.",
34246 "format" : "pve-node",
34247 "type" : "string",
34248 "typetext" : "<string>"
7aacca6f 34249 }
56122987
DM
34250 }
34251 },
4d47f125
TL
34252 "permissions" : {
34253 "check" : [
34254 "perm",
34255 "/",
34256 [
34257 "Sys.Modify",
34258 "Datastore.Allocate"
34259 ]
34260 ]
34261 },
34262 "protected" : 1,
34263 "proxyto" : "node",
34264 "returns" : {
34265 "type" : "string"
34266 }
34267 }
34268 },
34269 "leaf" : 1,
34270 "path" : "/nodes/{node}/disks/directory",
34271 "text" : "directory"
34272 },
34273 {
34274 "children" : [
56122987 34275 {
56122987
DM
34276 "info" : {
34277 "GET" : {
e9cd3bd4 34278 "allowtoken" : 1,
4d47f125 34279 "description" : "Get details about a zpool.",
44660702 34280 "method" : "GET",
4d47f125 34281 "name" : "detail",
56122987 34282 "parameters" : {
44660702 34283 "additionalProperties" : 0,
56122987 34284 "properties" : {
4d47f125
TL
34285 "name" : {
34286 "description" : "The storage identifier.",
34287 "format" : "pve-storage-id",
34288 "type" : "string",
34289 "typetext" : "<string>"
44660702 34290 },
7aacca6f 34291 "node" : {
7aacca6f 34292 "description" : "The cluster node name.",
44660702 34293 "format" : "pve-node",
013dc89f
DM
34294 "type" : "string",
34295 "typetext" : "<string>"
56122987 34296 }
44660702 34297 }
7aacca6f 34298 },
7aacca6f
DM
34299 "permissions" : {
34300 "check" : [
34301 "perm",
4d47f125 34302 "/",
7aacca6f 34303 [
4d47f125
TL
34304 "Sys.Audit",
34305 "Datastore.Audit"
7aacca6f
DM
34306 ],
34307 "any",
34308 1
34309 ]
34310 },
44660702
DM
34311 "protected" : 1,
34312 "proxyto" : "node",
7aacca6f 34313 "returns" : {
56122987 34314 "properties" : {
4d47f125
TL
34315 "action" : {
34316 "description" : "Information about the recommended action to fix the state.",
34317 "optional" : 1,
34318 "type" : "string"
56122987 34319 },
4d47f125 34320 "children" : {
e2d681b3 34321 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
34322 "items" : {
34323 "properties" : {
34324 "cksum" : {
e2d681b3 34325 "optional" : 1,
4d47f125
TL
34326 "type" : "number"
34327 },
34328 "msg" : {
34329 "description" : "An optional message about the vdev.",
34330 "type" : "string"
34331 },
34332 "name" : {
e2d681b3 34333 "description" : "The name of the vdev or section.",
4d47f125
TL
34334 "type" : "string"
34335 },
34336 "read" : {
e2d681b3 34337 "optional" : 1,
4d47f125
TL
34338 "type" : "number"
34339 },
34340 "state" : {
34341 "description" : "The state of the vdev.",
e2d681b3 34342 "optional" : 1,
4d47f125
TL
34343 "type" : "string"
34344 },
34345 "write" : {
e2d681b3 34346 "optional" : 1,
4d47f125
TL
34347 "type" : "number"
34348 }
34349 },
34350 "type" : "object"
34351 },
34352 "type" : "array"
56122987 34353 },
e2d681b3
TL
34354 "errors" : {
34355 "description" : "Information about the errors on the zpool.",
34356 "type" : "string"
34357 },
4d47f125
TL
34358 "name" : {
34359 "description" : "The name of the zpool.",
34360 "type" : "string"
44660702 34361 },
4d47f125 34362 "scan" : {
e2d681b3 34363 "description" : "Information about the last/current scrub.",
4d47f125 34364 "type" : "string"
44660702 34365 },
4d47f125
TL
34366 "state" : {
34367 "description" : "The state of the zpool.",
34368 "type" : "string"
34369 },
34370 "status" : {
34371 "description" : "Information about the state of the zpool.",
44660702 34372 "optional" : 1,
4d47f125 34373 "type" : "string"
56122987 34374 }
4d47f125
TL
34375 },
34376 "type" : "object"
44660702
DM
34377 }
34378 }
34379 },
34380 "leaf" : 1,
4d47f125
TL
34381 "path" : "/nodes/{node}/disks/zfs/{name}",
34382 "text" : "{name}"
44660702
DM
34383 }
34384 ],
34385 "info" : {
34386 "GET" : {
e9cd3bd4 34387 "allowtoken" : 1,
4d47f125 34388 "description" : "List Zpools.",
44660702 34389 "method" : "GET",
4d47f125 34390 "name" : "index",
44660702
DM
34391 "parameters" : {
34392 "additionalProperties" : 0,
34393 "properties" : {
34394 "node" : {
34395 "description" : "The cluster node name.",
34396 "format" : "pve-node",
013dc89f
DM
34397 "type" : "string",
34398 "typetext" : "<string>"
4d47f125
TL
34399 }
34400 }
34401 },
34402 "permissions" : {
34403 "check" : [
34404 "perm",
34405 "/",
34406 [
34407 "Sys.Audit",
34408 "Datastore.Audit"
34409 ],
34410 "any",
34411 1
34412 ]
34413 },
34414 "protected" : 1,
34415 "proxyto" : "node",
34416 "returns" : {
34417 "items" : {
34418 "properties" : {
34419 "alloc" : {
34420 "description" : "",
34421 "type" : "integer"
34422 },
34423 "dedup" : {
34424 "description" : "",
34425 "type" : "number"
34426 },
34427 "frag" : {
34428 "description" : "",
34429 "type" : "integer"
34430 },
34431 "free" : {
34432 "description" : "",
34433 "type" : "integer"
34434 },
34435 "health" : {
34436 "description" : "",
34437 "type" : "string"
34438 },
34439 "name" : {
34440 "description" : "",
34441 "type" : "string"
34442 },
34443 "size" : {
34444 "description" : "",
34445 "type" : "integer"
34446 }
34447 },
34448 "type" : "object"
34449 },
34450 "links" : [
34451 {
34452 "href" : "{name}",
34453 "rel" : "child"
34454 }
34455 ],
34456 "type" : "array"
34457 }
34458 },
34459 "POST" : {
e9cd3bd4 34460 "allowtoken" : 1,
4d47f125
TL
34461 "description" : "Create a ZFS pool.",
34462 "method" : "POST",
34463 "name" : "create",
34464 "parameters" : {
34465 "additionalProperties" : 0,
34466 "properties" : {
34467 "add_storage" : {
34468 "default" : 0,
34469 "description" : "Configure storage using the zpool.",
34470 "optional" : 1,
34471 "type" : "boolean",
34472 "typetext" : "<boolean>"
34473 },
34474 "ashift" : {
34475 "default" : 12,
34476 "description" : "Pool sector size exponent.",
34477 "maximum" : 16,
34478 "minimum" : 9,
34479 "optional" : 1,
34480 "type" : "integer",
34481 "typetext" : "<integer> (9 - 16)"
34482 },
34483 "compression" : {
34484 "default" : "on",
34485 "description" : "The compression algorithm to use.",
34486 "enum" : [
34487 "on",
34488 "off",
34489 "gzip",
34490 "lz4",
34491 "lzjb",
34492 "zle"
34493 ],
34494 "optional" : 1,
34495 "type" : "string"
34496 },
34497 "devices" : {
34498 "description" : "The block devices you want to create the zpool on.",
34499 "format" : "string-list",
34500 "type" : "string",
34501 "typetext" : "<string>"
44660702 34502 },
4d47f125 34503 "name" : {
44660702
DM
34504 "description" : "The storage identifier.",
34505 "format" : "pve-storage-id",
013dc89f
DM
34506 "type" : "string",
34507 "typetext" : "<string>"
4d47f125
TL
34508 },
34509 "node" : {
34510 "description" : "The cluster node name.",
34511 "format" : "pve-node",
34512 "type" : "string",
34513 "typetext" : "<string>"
34514 },
34515 "raidlevel" : {
34516 "description" : "The RAID level to use.",
34517 "enum" : [
34518 "single",
34519 "mirror",
34520 "raid10",
34521 "raidz",
34522 "raidz2",
34523 "raidz3"
34524 ],
34525 "type" : "string"
56122987
DM
34526 }
34527 }
44660702
DM
34528 },
34529 "permissions" : {
34530 "check" : [
34531 "perm",
4d47f125 34532 "/",
44660702 34533 [
4d47f125
TL
34534 "Sys.Modify",
34535 "Datastore.Allocate"
34536 ]
44660702
DM
34537 ]
34538 },
4d47f125
TL
34539 "protected" : 1,
34540 "proxyto" : "node",
44660702 34541 "returns" : {
4d47f125 34542 "type" : "string"
56122987
DM
34543 }
34544 }
44660702
DM
34545 },
34546 "leaf" : 0,
4d47f125
TL
34547 "path" : "/nodes/{node}/disks/zfs",
34548 "text" : "zfs"
34549 },
2c0dde61
DM
34550 {
34551 "info" : {
34552 "GET" : {
e9cd3bd4 34553 "allowtoken" : 1,
2c0dde61
DM
34554 "description" : "List local disks.",
34555 "method" : "GET",
34556 "name" : "list",
34557 "parameters" : {
34558 "additionalProperties" : 0,
34559 "properties" : {
34560 "node" : {
34561 "description" : "The cluster node name.",
34562 "format" : "pve-node",
013dc89f
DM
34563 "type" : "string",
34564 "typetext" : "<string>"
4d47f125
TL
34565 },
34566 "skipsmart" : {
34567 "default" : 0,
34568 "description" : "Skip smart checks.",
34569 "optional" : 1,
34570 "type" : "boolean",
34571 "typetext" : "<boolean>"
34572 },
34573 "type" : {
34574 "description" : "Only list specific types of disks.",
34575 "enum" : [
34576 "unused",
34577 "journal_disks"
34578 ],
34579 "optional" : 1,
34580 "type" : "string"
2c0dde61
DM
34581 }
34582 }
34583 },
34584 "permissions" : {
34585 "check" : [
34586 "perm",
34587 "/",
34588 [
34589 "Sys.Audit",
34590 "Datastore.Audit"
34591 ],
34592 "any",
34593 1
34594 ]
34595 },
34596 "protected" : 1,
34597 "proxyto" : "node",
34598 "returns" : {
34599 "items" : {
34600 "properties" : {
34601 "devpath" : {
34602 "description" : "The device path",
34603 "type" : "string"
34604 },
34605 "gpt" : {
34606 "type" : "boolean"
34607 },
34608 "health" : {
34609 "optional" : 1,
34610 "type" : "string"
34611 },
34612 "model" : {
34613 "optional" : 1,
34614 "type" : "string"
34615 },
34616 "osdid" : {
34617 "type" : "integer"
34618 },
34619 "serial" : {
34620 "optional" : 1,
34621 "type" : "string"
34622 },
34623 "size" : {
34624 "type" : "integer"
34625 },
34626 "used" : {
34627 "optional" : 1,
34628 "type" : "string"
34629 },
34630 "vendor" : {
34631 "optional" : 1,
34632 "type" : "string"
34633 },
34634 "wwn" : {
34635 "optional" : 1,
34636 "type" : "string"
34637 }
34638 },
34639 "type" : "object"
34640 },
34641 "type" : "array"
34642 }
34643 }
34644 },
34645 "leaf" : 1,
34646 "path" : "/nodes/{node}/disks/list",
34647 "text" : "list"
34648 },
34649 {
34650 "info" : {
34651 "GET" : {
e9cd3bd4 34652 "allowtoken" : 1,
2c0dde61
DM
34653 "description" : "Get SMART Health of a disk.",
34654 "method" : "GET",
34655 "name" : "smart",
34656 "parameters" : {
34657 "additionalProperties" : 0,
34658 "properties" : {
34659 "disk" : {
34660 "description" : "Block device name",
34661 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
34662 "type" : "string"
34663 },
34664 "healthonly" : {
34665 "description" : "If true returns only the health status",
34666 "optional" : 1,
013dc89f
DM
34667 "type" : "boolean",
34668 "typetext" : "<boolean>"
2c0dde61
DM
34669 },
34670 "node" : {
34671 "description" : "The cluster node name.",
34672 "format" : "pve-node",
013dc89f
DM
34673 "type" : "string",
34674 "typetext" : "<string>"
2c0dde61
DM
34675 }
34676 }
34677 },
34678 "permissions" : {
34679 "check" : [
34680 "perm",
34681 "/",
34682 [
34683 "Sys.Audit",
34684 "Datastore.Audit"
34685 ],
34686 "any",
34687 1
34688 ]
34689 },
34690 "protected" : 1,
34691 "proxyto" : "node",
34692 "returns" : {
de0983cb
DM
34693 "properties" : {
34694 "attributes" : {
34695 "optional" : 1,
34696 "type" : "array"
34697 },
34698 "health" : {
34699 "type" : "string"
34700 },
34701 "text" : {
34702 "optional" : 1,
34703 "type" : "string"
34704 },
34705 "type" : {
34706 "optional" : 1,
34707 "type" : "string"
34708 }
34709 },
2c0dde61
DM
34710 "type" : "object"
34711 }
34712 }
34713 },
34714 "leaf" : 1,
34715 "path" : "/nodes/{node}/disks/smart",
34716 "text" : "smart"
34717 },
34718 {
34719 "info" : {
34720 "POST" : {
e9cd3bd4 34721 "allowtoken" : 1,
2c0dde61
DM
34722 "description" : "Initialize Disk with GPT",
34723 "method" : "POST",
34724 "name" : "initgpt",
34725 "parameters" : {
34726 "additionalProperties" : 0,
34727 "properties" : {
34728 "disk" : {
34729 "description" : "Block device name",
34730 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
34731 "type" : "string"
34732 },
34733 "node" : {
34734 "description" : "The cluster node name.",
34735 "format" : "pve-node",
013dc89f
DM
34736 "type" : "string",
34737 "typetext" : "<string>"
2c0dde61
DM
34738 },
34739 "uuid" : {
34740 "description" : "UUID for the GPT table",
34741 "maxLength" : 36,
34742 "optional" : 1,
34743 "pattern" : "[a-fA-F0-9\\-]+",
34744 "type" : "string"
34745 }
34746 }
34747 },
34748 "permissions" : {
34749 "check" : [
34750 "perm",
34751 "/",
34752 [
34753 "Sys.Modify"
34754 ]
34755 ]
34756 },
34757 "protected" : 1,
34758 "proxyto" : "node",
34759 "returns" : {
34760 "type" : "string"
34761 }
34762 }
34763 },
34764 "leaf" : 1,
34765 "path" : "/nodes/{node}/disks/initgpt",
34766 "text" : "initgpt"
34767 }
34768 ],
34769 "info" : {
34770 "GET" : {
e9cd3bd4 34771 "allowtoken" : 1,
2c0dde61
DM
34772 "description" : "Node index.",
34773 "method" : "GET",
34774 "name" : "index",
34775 "parameters" : {
34776 "additionalProperties" : 0,
34777 "properties" : {
34778 "node" : {
34779 "description" : "The cluster node name.",
34780 "format" : "pve-node",
013dc89f
DM
34781 "type" : "string",
34782 "typetext" : "<string>"
2c0dde61
DM
34783 }
34784 }
34785 },
34786 "permissions" : {
34787 "user" : "all"
34788 },
34789 "proxyto" : "node",
34790 "returns" : {
34791 "items" : {
34792 "properties" : {},
34793 "type" : "object"
34794 },
34795 "links" : [
34796 {
34797 "href" : "{name}",
34798 "rel" : "child"
34799 }
34800 ],
34801 "type" : "array"
34802 }
34803 }
34804 },
34805 "leaf" : 0,
34806 "path" : "/nodes/{node}/disks",
34807 "text" : "disks"
34808 },
56122987 34809 {
56122987
DM
34810 "children" : [
34811 {
34812 "info" : {
44660702 34813 "GET" : {
e9cd3bd4 34814 "allowtoken" : 1,
44660702
DM
34815 "description" : "List available updates.",
34816 "method" : "GET",
34817 "name" : "list_updates",
34818 "parameters" : {
34819 "additionalProperties" : 0,
34820 "properties" : {
34821 "node" : {
34822 "description" : "The cluster node name.",
34823 "format" : "pve-node",
013dc89f
DM
34824 "type" : "string",
34825 "typetext" : "<string>"
44660702
DM
34826 }
34827 }
7aacca6f
DM
34828 },
34829 "permissions" : {
34830 "check" : [
34831 "perm",
34832 "/nodes/{node}",
34833 [
34834 "Sys.Modify"
34835 ]
34836 ]
34837 },
44660702 34838 "protected" : 1,
56122987 34839 "proxyto" : "node",
44660702
DM
34840 "returns" : {
34841 "items" : {
34842 "properties" : {},
34843 "type" : "object"
34844 },
34845 "type" : "array"
34846 }
34847 },
34848 "POST" : {
e9cd3bd4 34849 "allowtoken" : 1,
44660702 34850 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
34851 "method" : "POST",
34852 "name" : "update_database",
56122987
DM
34853 "parameters" : {
34854 "additionalProperties" : 0,
34855 "properties" : {
44660702
DM
34856 "node" : {
34857 "description" : "The cluster node name.",
34858 "format" : "pve-node",
013dc89f
DM
34859 "type" : "string",
34860 "typetext" : "<string>"
44660702 34861 },
56122987 34862 "notify" : {
56122987 34863 "default" : 0,
44660702
DM
34864 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
34865 "optional" : 1,
013dc89f
DM
34866 "type" : "boolean",
34867 "typetext" : "<boolean>"
56122987
DM
34868 },
34869 "quiet" : {
56122987 34870 "default" : 0,
44660702 34871 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 34872 "optional" : 1,
013dc89f
DM
34873 "type" : "boolean",
34874 "typetext" : "<boolean>"
56122987 34875 }
7aacca6f
DM
34876 }
34877 },
34878 "permissions" : {
34879 "check" : [
34880 "perm",
34881 "/nodes/{node}",
34882 [
34883 "Sys.Modify"
34884 ]
34885 ]
34886 },
44660702
DM
34887 "protected" : 1,
34888 "proxyto" : "node",
34889 "returns" : {
34890 "type" : "string"
34891 }
56122987
DM
34892 }
34893 },
7aacca6f 34894 "leaf" : 1,
44660702
DM
34895 "path" : "/nodes/{node}/apt/update",
34896 "text" : "update"
56122987
DM
34897 },
34898 {
56122987
DM
34899 "info" : {
34900 "GET" : {
e9cd3bd4 34901 "allowtoken" : 1,
44660702 34902 "description" : "Get package changelogs.",
56122987 34903 "method" : "GET",
7aacca6f 34904 "name" : "changelog",
56122987 34905 "parameters" : {
44660702 34906 "additionalProperties" : 0,
56122987
DM
34907 "properties" : {
34908 "name" : {
34909 "description" : "Package name.",
013dc89f
DM
34910 "type" : "string",
34911 "typetext" : "<string>"
56122987 34912 },
44660702
DM
34913 "node" : {
34914 "description" : "The cluster node name.",
34915 "format" : "pve-node",
013dc89f
DM
34916 "type" : "string",
34917 "typetext" : "<string>"
44660702 34918 },
56122987 34919 "version" : {
7aacca6f 34920 "description" : "Package version.",
44660702 34921 "optional" : 1,
013dc89f
DM
34922 "type" : "string",
34923 "typetext" : "<string>"
56122987 34924 }
44660702 34925 }
56122987 34926 },
44660702
DM
34927 "permissions" : {
34928 "check" : [
34929 "perm",
34930 "/nodes/{node}",
34931 [
34932 "Sys.Modify"
34933 ]
34934 ]
34935 },
34936 "proxyto" : "node",
34937 "returns" : {
34938 "type" : "string"
34939 }
56122987
DM
34940 }
34941 },
44660702
DM
34942 "leaf" : 1,
34943 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 34944 "text" : "changelog"
56122987
DM
34945 },
34946 {
56122987
DM
34947 "info" : {
34948 "GET" : {
e9cd3bd4 34949 "allowtoken" : 1,
44660702
DM
34950 "description" : "Get package information for important Proxmox packages.",
34951 "method" : "GET",
7aacca6f
DM
34952 "name" : "versions",
34953 "parameters" : {
44660702 34954 "additionalProperties" : 0,
7aacca6f
DM
34955 "properties" : {
34956 "node" : {
44660702 34957 "description" : "The cluster node name.",
7aacca6f 34958 "format" : "pve-node",
013dc89f
DM
34959 "type" : "string",
34960 "typetext" : "<string>"
7aacca6f 34961 }
44660702 34962 }
7aacca6f 34963 },
56122987
DM
34964 "permissions" : {
34965 "check" : [
34966 "perm",
34967 "/nodes/{node}",
34968 [
34969 "Sys.Audit"
34970 ]
34971 ]
34972 },
7aacca6f 34973 "proxyto" : "node",
56122987
DM
34974 "returns" : {
34975 "items" : {
7aacca6f
DM
34976 "properties" : {},
34977 "type" : "object"
44660702
DM
34978 },
34979 "type" : "array"
56122987
DM
34980 }
34981 }
34982 },
44660702 34983 "leaf" : 1,
7aacca6f 34984 "path" : "/nodes/{node}/apt/versions",
44660702 34985 "text" : "versions"
56122987
DM
34986 }
34987 ],
56122987
DM
34988 "info" : {
34989 "GET" : {
e9cd3bd4 34990 "allowtoken" : 1,
44660702 34991 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 34992 "method" : "GET",
44660702 34993 "name" : "index",
7aacca6f
DM
34994 "parameters" : {
34995 "additionalProperties" : 0,
34996 "properties" : {
34997 "node" : {
44660702 34998 "description" : "The cluster node name.",
7aacca6f 34999 "format" : "pve-node",
013dc89f
DM
35000 "type" : "string",
35001 "typetext" : "<string>"
7aacca6f
DM
35002 }
35003 }
35004 },
7aacca6f
DM
35005 "permissions" : {
35006 "user" : "all"
35007 },
44660702
DM
35008 "returns" : {
35009 "items" : {
35010 "properties" : {
35011 "id" : {
35012 "type" : "string"
35013 }
35014 },
35015 "type" : "object"
35016 },
35017 "links" : [
35018 {
35019 "href" : "{id}",
35020 "rel" : "child"
35021 }
35022 ],
35023 "type" : "array"
35024 }
56122987 35025 }
7aacca6f 35026 },
44660702 35027 "leaf" : 0,
7aacca6f 35028 "path" : "/nodes/{node}/apt",
44660702 35029 "text" : "apt"
56122987
DM
35030 },
35031 {
56122987
DM
35032 "children" : [
35033 {
35034 "children" : [
35035 {
56122987
DM
35036 "info" : {
35037 "DELETE" : {
e9cd3bd4 35038 "allowtoken" : 1,
44660702 35039 "description" : "Delete rule.",
7aacca6f 35040 "method" : "DELETE",
44660702 35041 "name" : "delete_rule",
56122987
DM
35042 "parameters" : {
35043 "additionalProperties" : 0,
35044 "properties" : {
56122987
DM
35045 "digest" : {
35046 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 35047 "maxLength" : 40,
56122987 35048 "optional" : 1,
013dc89f
DM
35049 "type" : "string",
35050 "typetext" : "<string>"
56122987 35051 },
44660702
DM
35052 "node" : {
35053 "description" : "The cluster node name.",
35054 "format" : "pve-node",
013dc89f
DM
35055 "type" : "string",
35056 "typetext" : "<string>"
44660702 35057 },
7aacca6f 35058 "pos" : {
7aacca6f 35059 "description" : "Update rule at position <pos>.",
44660702
DM
35060 "minimum" : 0,
35061 "optional" : 1,
4bd7df8b 35062 "type" : "integer",
013dc89f 35063 "typetext" : "<integer> (0 - N)"
56122987
DM
35064 }
35065 }
35066 },
44660702
DM
35067 "permissions" : {
35068 "check" : [
35069 "perm",
35070 "/nodes/{node}",
35071 [
35072 "Sys.Modify"
35073 ]
35074 ]
35075 },
35076 "protected" : 1,
35077 "proxyto" : "node",
56122987
DM
35078 "returns" : {
35079 "type" : "null"
44660702
DM
35080 }
35081 },
35082 "GET" : {
e9cd3bd4 35083 "allowtoken" : 1,
44660702
DM
35084 "description" : "Get single rule data.",
35085 "method" : "GET",
35086 "name" : "get_rule",
35087 "parameters" : {
35088 "additionalProperties" : 0,
35089 "properties" : {
35090 "node" : {
35091 "description" : "The cluster node name.",
35092 "format" : "pve-node",
013dc89f
DM
35093 "type" : "string",
35094 "typetext" : "<string>"
44660702
DM
35095 },
35096 "pos" : {
35097 "description" : "Update rule at position <pos>.",
35098 "minimum" : 0,
35099 "optional" : 1,
4bd7df8b 35100 "type" : "integer",
013dc89f 35101 "typetext" : "<integer> (0 - N)"
44660702
DM
35102 }
35103 }
56122987 35104 },
56122987
DM
35105 "permissions" : {
35106 "check" : [
35107 "perm",
35108 "/nodes/{node}",
35109 [
44660702 35110 "Sys.Audit"
56122987
DM
35111 ]
35112 ]
44660702
DM
35113 },
35114 "proxyto" : "node",
35115 "returns" : {
35116 "properties" : {
e2d681b3
TL
35117 "action" : {
35118 "type" : "string"
35119 },
35120 "comment" : {
35121 "optional" : 1,
35122 "type" : "string"
35123 },
35124 "dest" : {
35125 "optional" : 1,
35126 "type" : "string"
35127 },
35128 "dport" : {
35129 "optional" : 1,
35130 "type" : "string"
35131 },
35132 "enable" : {
35133 "optional" : 1,
35134 "type" : "integer"
35135 },
35136 "iface" : {
35137 "optional" : 1,
35138 "type" : "string"
35139 },
35140 "ipversion" : {
35141 "optional" : 1,
35142 "type" : "integer"
35143 },
95895385
TL
35144 "log" : {
35145 "description" : "Log level for firewall rule",
35146 "enum" : [
35147 "emerg",
35148 "alert",
35149 "crit",
35150 "err",
35151 "warning",
35152 "notice",
35153 "info",
35154 "debug",
35155 "nolog"
35156 ],
35157 "optional" : 1,
35158 "type" : "string"
35159 },
e2d681b3
TL
35160 "macro" : {
35161 "optional" : 1,
5f26e15b 35162 "type" : "string"
e2d681b3 35163 },
44660702
DM
35164 "pos" : {
35165 "type" : "integer"
e2d681b3
TL
35166 },
35167 "proto" : {
35168 "optional" : 1,
35169 "type" : "string"
35170 },
35171 "source" : {
35172 "optional" : 1,
35173 "type" : "string"
35174 },
35175 "sport" : {
35176 "optional" : 1,
35177 "type" : "string"
35178 },
35179 "type" : {
35180 "type" : "string"
44660702
DM
35181 }
35182 },
35183 "type" : "object"
7aacca6f 35184 }
56122987
DM
35185 },
35186 "PUT" : {
e9cd3bd4 35187 "allowtoken" : 1,
44660702
DM
35188 "description" : "Modify rule data.",
35189 "method" : "PUT",
56122987 35190 "name" : "update_rule",
56122987 35191 "parameters" : {
44660702 35192 "additionalProperties" : 0,
56122987 35193 "properties" : {
44660702
DM
35194 "action" : {
35195 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
35196 "maxLength" : 20,
35197 "minLength" : 2,
56122987 35198 "optional" : 1,
44660702
DM
35199 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
35200 "type" : "string"
56122987 35201 },
7aacca6f 35202 "comment" : {
e94f0d56 35203 "description" : "Descriptive comment.",
56122987 35204 "optional" : 1,
013dc89f
DM
35205 "type" : "string",
35206 "typetext" : "<string>"
56122987 35207 },
44660702
DM
35208 "delete" : {
35209 "description" : "A list of settings you want to delete.",
35210 "format" : "pve-configid-list",
56122987 35211 "optional" : 1,
013dc89f
DM
35212 "type" : "string",
35213 "typetext" : "<string>"
56122987 35214 },
44660702
DM
35215 "dest" : {
35216 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
35217 "format" : "pve-fw-addr-spec",
56122987 35218 "optional" : 1,
013dc89f
DM
35219 "type" : "string",
35220 "typetext" : "<string>"
56122987 35221 },
44660702
DM
35222 "digest" : {
35223 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35224 "maxLength" : 40,
56122987 35225 "optional" : 1,
013dc89f
DM
35226 "type" : "string",
35227 "typetext" : "<string>"
56122987 35228 },
7aacca6f 35229 "dport" : {
7aacca6f 35230 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702
DM
35231 "format" : "pve-fw-dport-spec",
35232 "optional" : 1,
013dc89f
DM
35233 "type" : "string",
35234 "typetext" : "<string>"
7aacca6f 35235 },
44660702 35236 "enable" : {
e94f0d56 35237 "description" : "Flag to enable/disable a rule.",
44660702 35238 "minimum" : 0,
56122987 35239 "optional" : 1,
4bd7df8b 35240 "type" : "integer",
013dc89f 35241 "typetext" : "<integer> (0 - N)"
56122987 35242 },
7aacca6f 35243 "iface" : {
44660702 35244 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
7aacca6f 35245 "format" : "pve-iface",
44660702 35246 "maxLength" : 20,
56122987 35247 "minLength" : 2,
44660702 35248 "optional" : 1,
013dc89f
DM
35249 "type" : "string",
35250 "typetext" : "<string>"
56122987 35251 },
95895385
TL
35252 "log" : {
35253 "description" : "Log level for firewall rule.",
35254 "enum" : [
35255 "emerg",
35256 "alert",
35257 "crit",
35258 "err",
35259 "warning",
35260 "notice",
35261 "info",
35262 "debug",
35263 "nolog"
35264 ],
35265 "optional" : 1,
35266 "type" : "string"
35267 },
44660702 35268 "macro" : {
e94f0d56 35269 "description" : "Use predefined standard macro.",
44660702
DM
35270 "maxLength" : 128,
35271 "optional" : 1,
013dc89f
DM
35272 "type" : "string",
35273 "typetext" : "<string>"
44660702
DM
35274 },
35275 "moveto" : {
35276 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
35277 "minimum" : 0,
7aacca6f 35278 "optional" : 1,
4bd7df8b 35279 "type" : "integer",
013dc89f 35280 "typetext" : "<integer> (0 - N)"
44660702
DM
35281 },
35282 "node" : {
35283 "description" : "The cluster node name.",
35284 "format" : "pve-node",
013dc89f
DM
35285 "type" : "string",
35286 "typetext" : "<string>"
56122987
DM
35287 },
35288 "pos" : {
44660702 35289 "description" : "Update rule at position <pos>.",
7aacca6f 35290 "minimum" : 0,
7aacca6f 35291 "optional" : 1,
4bd7df8b 35292 "type" : "integer",
013dc89f 35293 "typetext" : "<integer> (0 - N)"
7aacca6f 35294 },
44660702
DM
35295 "proto" : {
35296 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
35297 "format" : "pve-fw-protocol-spec",
7aacca6f 35298 "optional" : 1,
013dc89f
DM
35299 "type" : "string",
35300 "typetext" : "<string>"
7aacca6f 35301 },
44660702
DM
35302 "source" : {
35303 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
35304 "format" : "pve-fw-addr-spec",
56122987 35305 "optional" : 1,
013dc89f
DM
35306 "type" : "string",
35307 "typetext" : "<string>"
7aacca6f 35308 },
44660702
DM
35309 "sport" : {
35310 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
35311 "format" : "pve-fw-sport-spec",
35312 "optional" : 1,
013dc89f
DM
35313 "type" : "string",
35314 "typetext" : "<string>"
44660702
DM
35315 },
35316 "type" : {
e94f0d56 35317 "description" : "Rule type.",
44660702
DM
35318 "enum" : [
35319 "in",
35320 "out",
35321 "group"
35322 ],
35323 "optional" : 1,
35324 "type" : "string"
56122987 35325 }
44660702 35326 }
56122987 35327 },
56122987
DM
35328 "permissions" : {
35329 "check" : [
35330 "perm",
35331 "/nodes/{node}",
35332 [
35333 "Sys.Modify"
35334 ]
35335 ]
7aacca6f 35336 },
44660702 35337 "protected" : 1,
7aacca6f 35338 "proxyto" : "node",
7aacca6f
DM
35339 "returns" : {
35340 "type" : "null"
56122987
DM
35341 }
35342 }
7aacca6f 35343 },
44660702 35344 "leaf" : 1,
7aacca6f 35345 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 35346 "text" : "{pos}"
56122987
DM
35347 }
35348 ],
56122987
DM
35349 "info" : {
35350 "GET" : {
e9cd3bd4 35351 "allowtoken" : 1,
44660702
DM
35352 "description" : "List rules.",
35353 "method" : "GET",
35354 "name" : "get_rules",
35355 "parameters" : {
35356 "additionalProperties" : 0,
35357 "properties" : {
35358 "node" : {
35359 "description" : "The cluster node name.",
35360 "format" : "pve-node",
013dc89f
DM
35361 "type" : "string",
35362 "typetext" : "<string>"
44660702
DM
35363 }
35364 }
35365 },
35366 "permissions" : {
35367 "check" : [
35368 "perm",
35369 "/nodes/{node}",
35370 [
35371 "Sys.Audit"
35372 ]
35373 ]
35374 },
35375 "proxyto" : "node",
56122987 35376 "returns" : {
56122987
DM
35377 "items" : {
35378 "properties" : {
35379 "pos" : {
35380 "type" : "integer"
35381 }
44660702
DM
35382 },
35383 "type" : "object"
56122987 35384 },
7aacca6f
DM
35385 "links" : [
35386 {
35387 "href" : "{pos}",
35388 "rel" : "child"
35389 }
35390 ],
35391 "type" : "array"
44660702 35392 }
56122987
DM
35393 },
35394 "POST" : {
e9cd3bd4 35395 "allowtoken" : 1,
44660702 35396 "description" : "Create new rule.",
7aacca6f
DM
35397 "method" : "POST",
35398 "name" : "create_rule",
56122987 35399 "parameters" : {
44660702 35400 "additionalProperties" : 0,
56122987 35401 "properties" : {
7aacca6f 35402 "action" : {
7aacca6f 35403 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 35404 "maxLength" : 20,
7aacca6f
DM
35405 "minLength" : 2,
35406 "optional" : 0,
44660702
DM
35407 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
35408 "type" : "string"
56122987 35409 },
44660702 35410 "comment" : {
e94f0d56 35411 "description" : "Descriptive comment.",
56122987 35412 "optional" : 1,
013dc89f
DM
35413 "type" : "string",
35414 "typetext" : "<string>"
56122987 35415 },
44660702
DM
35416 "dest" : {
35417 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
35418 "format" : "pve-fw-addr-spec",
7aacca6f 35419 "optional" : 1,
013dc89f
DM
35420 "type" : "string",
35421 "typetext" : "<string>"
56122987 35422 },
44660702
DM
35423 "digest" : {
35424 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35425 "maxLength" : 40,
35426 "optional" : 1,
013dc89f
DM
35427 "type" : "string",
35428 "typetext" : "<string>"
56122987 35429 },
44660702
DM
35430 "dport" : {
35431 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
35432 "format" : "pve-fw-dport-spec",
7aacca6f 35433 "optional" : 1,
013dc89f
DM
35434 "type" : "string",
35435 "typetext" : "<string>"
56122987 35436 },
44660702 35437 "enable" : {
e94f0d56 35438 "description" : "Flag to enable/disable a rule.",
44660702
DM
35439 "minimum" : 0,
35440 "optional" : 1,
4bd7df8b 35441 "type" : "integer",
013dc89f 35442 "typetext" : "<integer> (0 - N)"
44660702 35443 },
7aacca6f 35444 "iface" : {
44660702 35445 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
7aacca6f 35446 "format" : "pve-iface",
56122987 35447 "maxLength" : 20,
7aacca6f 35448 "minLength" : 2,
7aacca6f 35449 "optional" : 1,
013dc89f
DM
35450 "type" : "string",
35451 "typetext" : "<string>"
56122987 35452 },
95895385
TL
35453 "log" : {
35454 "description" : "Log level for firewall rule.",
35455 "enum" : [
35456 "emerg",
35457 "alert",
35458 "crit",
35459 "err",
35460 "warning",
35461 "notice",
35462 "info",
35463 "debug",
35464 "nolog"
35465 ],
35466 "optional" : 1,
35467 "type" : "string"
35468 },
44660702 35469 "macro" : {
e94f0d56 35470 "description" : "Use predefined standard macro.",
44660702 35471 "maxLength" : 128,
7aacca6f 35472 "optional" : 1,
013dc89f
DM
35473 "type" : "string",
35474 "typetext" : "<string>"
56122987 35475 },
44660702
DM
35476 "node" : {
35477 "description" : "The cluster node name.",
35478 "format" : "pve-node",
013dc89f
DM
35479 "type" : "string",
35480 "typetext" : "<string>"
44660702
DM
35481 },
35482 "pos" : {
35483 "description" : "Update rule at position <pos>.",
35484 "minimum" : 0,
35485 "optional" : 1,
4bd7df8b 35486 "type" : "integer",
013dc89f 35487 "typetext" : "<integer> (0 - N)"
44660702
DM
35488 },
35489 "proto" : {
35490 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
35491 "format" : "pve-fw-protocol-spec",
56122987 35492 "optional" : 1,
013dc89f
DM
35493 "type" : "string",
35494 "typetext" : "<string>"
56122987 35495 },
7aacca6f 35496 "source" : {
7aacca6f 35497 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
44660702
DM
35498 "format" : "pve-fw-addr-spec",
35499 "optional" : 1,
013dc89f
DM
35500 "type" : "string",
35501 "typetext" : "<string>"
7aacca6f 35502 },
44660702
DM
35503 "sport" : {
35504 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
35505 "format" : "pve-fw-sport-spec",
7aacca6f 35506 "optional" : 1,
013dc89f
DM
35507 "type" : "string",
35508 "typetext" : "<string>"
44660702
DM
35509 },
35510 "type" : {
e94f0d56 35511 "description" : "Rule type.",
44660702
DM
35512 "enum" : [
35513 "in",
35514 "out",
35515 "group"
35516 ],
35517 "optional" : 0,
35518 "type" : "string"
56122987 35519 }
44660702 35520 }
7aacca6f 35521 },
56122987
DM
35522 "permissions" : {
35523 "check" : [
35524 "perm",
35525 "/nodes/{node}",
35526 [
35527 "Sys.Modify"
35528 ]
35529 ]
35530 },
44660702
DM
35531 "protected" : 1,
35532 "proxyto" : "node",
35533 "returns" : {
35534 "type" : "null"
35535 }
56122987
DM
35536 }
35537 },
44660702 35538 "leaf" : 0,
7aacca6f 35539 "path" : "/nodes/{node}/firewall/rules",
44660702 35540 "text" : "rules"
56122987
DM
35541 },
35542 {
56122987 35543 "info" : {
44660702 35544 "GET" : {
e9cd3bd4 35545 "allowtoken" : 1,
44660702
DM
35546 "description" : "Get host firewall options.",
35547 "method" : "GET",
35548 "name" : "get_options",
56122987 35549 "parameters" : {
7aacca6f 35550 "additionalProperties" : 0,
56122987 35551 "properties" : {
44660702
DM
35552 "node" : {
35553 "description" : "The cluster node name.",
35554 "format" : "pve-node",
013dc89f
DM
35555 "type" : "string",
35556 "typetext" : "<string>"
44660702
DM
35557 }
35558 }
35559 },
35560 "permissions" : {
35561 "check" : [
35562 "perm",
35563 "/nodes/{node}",
35564 [
35565 "Sys.Audit"
35566 ]
35567 ]
35568 },
35569 "proxyto" : "node",
35570 "returns" : {
35571 "properties" : {
35572 "enable" : {
35573 "description" : "Enable host firewall rules.",
7aacca6f 35574 "optional" : 1,
44660702 35575 "type" : "boolean"
7aacca6f 35576 },
44660702
DM
35577 "log_level_in" : {
35578 "description" : "Log level for incoming traffic.",
56122987
DM
35579 "enum" : [
35580 "emerg",
35581 "alert",
35582 "crit",
35583 "err",
35584 "warning",
35585 "notice",
35586 "info",
35587 "debug",
35588 "nolog"
35589 ],
56122987 35590 "optional" : 1,
44660702
DM
35591 "type" : "string"
35592 },
35593 "log_level_out" : {
35594 "description" : "Log level for outgoing traffic.",
56122987
DM
35595 "enum" : [
35596 "emerg",
35597 "alert",
35598 "crit",
35599 "err",
35600 "warning",
35601 "notice",
35602 "info",
35603 "debug",
35604 "nolog"
35605 ],
44660702
DM
35606 "optional" : 1,
35607 "type" : "string"
35608 },
95895385
TL
35609 "log_nf_conntrack" : {
35610 "default" : 0,
35611 "description" : "Enable logging of conntrack information.",
35612 "optional" : 1,
35613 "type" : "boolean"
35614 },
44660702 35615 "ndp" : {
5c1699e5
TL
35616 "default" : 0,
35617 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702
DM
35618 "optional" : 1,
35619 "type" : "boolean"
35620 },
5f26e15b
TL
35621 "nf_conntrack_allow_invalid" : {
35622 "default" : 0,
35623 "description" : "Allow invalid packets on connection tracking.",
35624 "optional" : 1,
35625 "type" : "boolean"
35626 },
44660702 35627 "nf_conntrack_max" : {
5c1699e5 35628 "default" : 262144,
44660702
DM
35629 "description" : "Maximum number of tracked connections.",
35630 "minimum" : 32768,
35631 "optional" : 1,
35632 "type" : "integer"
35633 },
35634 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 35635 "default" : 432000,
44660702
DM
35636 "description" : "Conntrack established timeout.",
35637 "minimum" : 7875,
35638 "optional" : 1,
35639 "type" : "integer"
35640 },
5c1699e5
TL
35641 "nf_conntrack_tcp_timeout_syn_recv" : {
35642 "default" : 60,
35643 "description" : "Conntrack syn recv timeout.",
35644 "maximum" : 60,
35645 "minimum" : 30,
35646 "optional" : 1,
35647 "type" : "integer"
35648 },
44660702
DM
35649 "nosmurfs" : {
35650 "description" : "Enable SMURFS filter.",
35651 "optional" : 1,
35652 "type" : "boolean"
56122987 35653 },
5c1699e5
TL
35654 "protection_synflood" : {
35655 "default" : 0,
35656 "description" : "Enable synflood protection",
35657 "optional" : 1,
35658 "type" : "boolean"
35659 },
35660 "protection_synflood_burst" : {
35661 "default" : 1000,
35662 "description" : "Synflood protection rate burst by ip src.",
35663 "optional" : 1,
35664 "type" : "integer"
35665 },
35666 "protection_synflood_rate" : {
35667 "default" : 200,
35668 "description" : "Synflood protection rate syn/sec by ip src.",
35669 "optional" : 1,
35670 "type" : "integer"
35671 },
7aacca6f 35672 "smurf_log_level" : {
44660702 35673 "description" : "Log level for SMURFS filter.",
56122987
DM
35674 "enum" : [
35675 "emerg",
35676 "alert",
35677 "crit",
35678 "err",
35679 "warning",
35680 "notice",
35681 "info",
35682 "debug",
35683 "nolog"
7aacca6f 35684 ],
7aacca6f
DM
35685 "optional" : 1,
35686 "type" : "string"
56122987 35687 },
44660702
DM
35688 "tcp_flags_log_level" : {
35689 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
35690 "enum" : [
35691 "emerg",
35692 "alert",
35693 "crit",
35694 "err",
35695 "warning",
35696 "notice",
35697 "info",
35698 "debug",
35699 "nolog"
35700 ],
44660702
DM
35701 "optional" : 1,
35702 "type" : "string"
7aacca6f 35703 },
44660702 35704 "tcpflags" : {
5c1699e5 35705 "default" : 0,
44660702 35706 "description" : "Filter illegal combinations of TCP flags.",
56122987 35707 "optional" : 1,
44660702 35708 "type" : "boolean"
56122987 35709 }
44660702
DM
35710 },
35711 "type" : "object"
7aacca6f 35712 }
56122987 35713 },
44660702 35714 "PUT" : {
e9cd3bd4 35715 "allowtoken" : 1,
44660702
DM
35716 "description" : "Set Firewall options.",
35717 "method" : "PUT",
35718 "name" : "set_options",
7aacca6f 35719 "parameters" : {
44660702 35720 "additionalProperties" : 0,
7aacca6f 35721 "properties" : {
44660702
DM
35722 "delete" : {
35723 "description" : "A list of settings you want to delete.",
35724 "format" : "pve-configid-list",
7aacca6f 35725 "optional" : 1,
013dc89f
DM
35726 "type" : "string",
35727 "typetext" : "<string>"
56122987 35728 },
44660702
DM
35729 "digest" : {
35730 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35731 "maxLength" : 40,
35732 "optional" : 1,
013dc89f
DM
35733 "type" : "string",
35734 "typetext" : "<string>"
56122987 35735 },
44660702
DM
35736 "enable" : {
35737 "description" : "Enable host firewall rules.",
7aacca6f 35738 "optional" : 1,
013dc89f
DM
35739 "type" : "boolean",
35740 "typetext" : "<boolean>"
44660702
DM
35741 },
35742 "log_level_in" : {
35743 "description" : "Log level for incoming traffic.",
56122987
DM
35744 "enum" : [
35745 "emerg",
35746 "alert",
35747 "crit",
35748 "err",
35749 "warning",
35750 "notice",
35751 "info",
35752 "debug",
35753 "nolog"
44660702 35754 ],
7aacca6f 35755 "optional" : 1,
44660702 35756 "type" : "string"
7aacca6f 35757 },
44660702
DM
35758 "log_level_out" : {
35759 "description" : "Log level for outgoing traffic.",
56122987
DM
35760 "enum" : [
35761 "emerg",
35762 "alert",
35763 "crit",
35764 "err",
35765 "warning",
35766 "notice",
35767 "info",
35768 "debug",
35769 "nolog"
35770 ],
35771 "optional" : 1,
7aacca6f 35772 "type" : "string"
56122987 35773 },
95895385
TL
35774 "log_nf_conntrack" : {
35775 "default" : 0,
35776 "description" : "Enable logging of conntrack information.",
35777 "optional" : 1,
35778 "type" : "boolean",
35779 "typetext" : "<boolean>"
35780 },
44660702 35781 "ndp" : {
5c1699e5
TL
35782 "default" : 0,
35783 "description" : "Enable NDP (Neighbor Discovery Protocol).",
7aacca6f 35784 "optional" : 1,
013dc89f
DM
35785 "type" : "boolean",
35786 "typetext" : "<boolean>"
44660702 35787 },
5f26e15b
TL
35788 "nf_conntrack_allow_invalid" : {
35789 "default" : 0,
35790 "description" : "Allow invalid packets on connection tracking.",
35791 "optional" : 1,
35792 "type" : "boolean",
35793 "typetext" : "<boolean>"
35794 },
44660702 35795 "nf_conntrack_max" : {
5c1699e5 35796 "default" : 262144,
44660702
DM
35797 "description" : "Maximum number of tracked connections.",
35798 "minimum" : 32768,
35799 "optional" : 1,
4bd7df8b 35800 "type" : "integer",
013dc89f 35801 "typetext" : "<integer> (32768 - N)"
44660702
DM
35802 },
35803 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 35804 "default" : 432000,
44660702
DM
35805 "description" : "Conntrack established timeout.",
35806 "minimum" : 7875,
35807 "optional" : 1,
4bd7df8b 35808 "type" : "integer",
013dc89f 35809 "typetext" : "<integer> (7875 - N)"
44660702 35810 },
5c1699e5
TL
35811 "nf_conntrack_tcp_timeout_syn_recv" : {
35812 "default" : 60,
35813 "description" : "Conntrack syn recv timeout.",
35814 "maximum" : 60,
35815 "minimum" : 30,
35816 "optional" : 1,
35817 "type" : "integer",
35818 "typetext" : "<integer> (30 - 60)"
35819 },
44660702
DM
35820 "node" : {
35821 "description" : "The cluster node name.",
35822 "format" : "pve-node",
013dc89f
DM
35823 "type" : "string",
35824 "typetext" : "<string>"
44660702
DM
35825 },
35826 "nosmurfs" : {
35827 "description" : "Enable SMURFS filter.",
35828 "optional" : 1,
013dc89f
DM
35829 "type" : "boolean",
35830 "typetext" : "<boolean>"
44660702 35831 },
5c1699e5
TL
35832 "protection_synflood" : {
35833 "default" : 0,
35834 "description" : "Enable synflood protection",
35835 "optional" : 1,
35836 "type" : "boolean",
35837 "typetext" : "<boolean>"
35838 },
35839 "protection_synflood_burst" : {
35840 "default" : 1000,
35841 "description" : "Synflood protection rate burst by ip src.",
35842 "optional" : 1,
35843 "type" : "integer",
35844 "typetext" : "<integer>"
35845 },
35846 "protection_synflood_rate" : {
35847 "default" : 200,
35848 "description" : "Synflood protection rate syn/sec by ip src.",
35849 "optional" : 1,
35850 "type" : "integer",
35851 "typetext" : "<integer>"
35852 },
44660702
DM
35853 "smurf_log_level" : {
35854 "description" : "Log level for SMURFS filter.",
56122987
DM
35855 "enum" : [
35856 "emerg",
35857 "alert",
35858 "crit",
35859 "err",
35860 "warning",
35861 "notice",
35862 "info",
35863 "debug",
35864 "nolog"
44660702
DM
35865 ],
35866 "optional" : 1,
35867 "type" : "string"
56122987 35868 },
44660702
DM
35869 "tcp_flags_log_level" : {
35870 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
35871 "enum" : [
35872 "emerg",
35873 "alert",
35874 "crit",
35875 "err",
35876 "warning",
35877 "notice",
35878 "info",
35879 "debug",
35880 "nolog"
35881 ],
44660702
DM
35882 "optional" : 1,
35883 "type" : "string"
7aacca6f 35884 },
44660702 35885 "tcpflags" : {
5c1699e5 35886 "default" : 0,
44660702 35887 "description" : "Filter illegal combinations of TCP flags.",
56122987 35888 "optional" : 1,
013dc89f
DM
35889 "type" : "boolean",
35890 "typetext" : "<boolean>"
56122987 35891 }
7aacca6f 35892 }
56122987 35893 },
44660702
DM
35894 "permissions" : {
35895 "check" : [
35896 "perm",
35897 "/nodes/{node}",
35898 [
35899 "Sys.Modify"
35900 ]
35901 ]
35902 },
35903 "protected" : 1,
35904 "proxyto" : "node",
35905 "returns" : {
35906 "type" : "null"
35907 }
7aacca6f
DM
35908 }
35909 },
44660702
DM
35910 "leaf" : 1,
35911 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
35912 "text" : "options"
35913 },
35914 {
7aacca6f
DM
35915 "info" : {
35916 "GET" : {
e9cd3bd4 35917 "allowtoken" : 1,
44660702
DM
35918 "description" : "Read firewall log",
35919 "method" : "GET",
7aacca6f 35920 "name" : "log",
56122987 35921 "parameters" : {
44660702 35922 "additionalProperties" : 0,
56122987 35923 "properties" : {
7aacca6f 35924 "limit" : {
44660702 35925 "minimum" : 0,
7aacca6f 35926 "optional" : 1,
4bd7df8b 35927 "type" : "integer",
013dc89f 35928 "typetext" : "<integer> (0 - N)"
7aacca6f 35929 },
56122987 35930 "node" : {
7aacca6f 35931 "description" : "The cluster node name.",
44660702 35932 "format" : "pve-node",
013dc89f
DM
35933 "type" : "string",
35934 "typetext" : "<string>"
44660702
DM
35935 },
35936 "start" : {
35937 "minimum" : 0,
35938 "optional" : 1,
4bd7df8b 35939 "type" : "integer",
013dc89f 35940 "typetext" : "<integer> (0 - N)"
56122987 35941 }
44660702 35942 }
7aacca6f 35943 },
56122987
DM
35944 "permissions" : {
35945 "check" : [
35946 "perm",
35947 "/nodes/{node}",
35948 [
35949 "Sys.Syslog"
35950 ]
35951 ]
35952 },
44660702
DM
35953 "protected" : 1,
35954 "proxyto" : "node",
56122987
DM
35955 "returns" : {
35956 "items" : {
56122987 35957 "properties" : {
56122987 35958 "n" : {
44660702
DM
35959 "description" : "Line number",
35960 "type" : "integer"
7aacca6f
DM
35961 },
35962 "t" : {
44660702
DM
35963 "description" : "Line text",
35964 "type" : "string"
56122987 35965 }
44660702
DM
35966 },
35967 "type" : "object"
56122987
DM
35968 },
35969 "type" : "array"
7aacca6f 35970 }
56122987
DM
35971 }
35972 },
44660702
DM
35973 "leaf" : 1,
35974 "path" : "/nodes/{node}/firewall/log",
7aacca6f 35975 "text" : "log"
56122987
DM
35976 }
35977 ],
35978 "info" : {
35979 "GET" : {
e9cd3bd4 35980 "allowtoken" : 1,
44660702
DM
35981 "description" : "Directory index.",
35982 "method" : "GET",
35983 "name" : "index",
56122987 35984 "parameters" : {
44660702 35985 "additionalProperties" : 0,
56122987
DM
35986 "properties" : {
35987 "node" : {
35988 "description" : "The cluster node name.",
44660702 35989 "format" : "pve-node",
013dc89f
DM
35990 "type" : "string",
35991 "typetext" : "<string>"
56122987 35992 }
44660702 35993 }
56122987 35994 },
7aacca6f
DM
35995 "permissions" : {
35996 "user" : "all"
35997 },
56122987
DM
35998 "returns" : {
35999 "items" : {
36000 "properties" : {},
36001 "type" : "object"
36002 },
56122987
DM
36003 "links" : [
36004 {
44660702
DM
36005 "href" : "{name}",
36006 "rel" : "child"
56122987 36007 }
44660702
DM
36008 ],
36009 "type" : "array"
36010 }
56122987 36011 }
7aacca6f 36012 },
44660702 36013 "leaf" : 0,
7aacca6f 36014 "path" : "/nodes/{node}/firewall",
44660702 36015 "text" : "firewall"
56122987 36016 },
5d9c884c
DM
36017 {
36018 "children" : [
36019 {
36020 "children" : [
36021 {
36022 "info" : {
36023 "GET" : {
e9cd3bd4 36024 "allowtoken" : 1,
5d9c884c
DM
36025 "description" : "Get replication job status.",
36026 "method" : "GET",
36027 "name" : "job_status",
36028 "parameters" : {
36029 "additionalProperties" : 0,
36030 "properties" : {
36031 "id" : {
36032 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36033 "format" : "pve-replication-job-id",
36034 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36035 "type" : "string"
36036 },
36037 "node" : {
36038 "description" : "The cluster node name.",
36039 "format" : "pve-node",
36040 "type" : "string",
36041 "typetext" : "<string>"
36042 }
36043 }
36044 },
36045 "permissions" : {
36046 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
36047 "user" : "all"
36048 },
36049 "protected" : 1,
36050 "proxyto" : "node",
36051 "returns" : {
5d9c884c
DM
36052 "type" : "object"
36053 }
36054 }
36055 },
36056 "leaf" : 1,
36057 "path" : "/nodes/{node}/replication/{id}/status",
36058 "text" : "status"
36059 },
36060 {
36061 "info" : {
36062 "GET" : {
e9cd3bd4 36063 "allowtoken" : 1,
5d9c884c
DM
36064 "description" : "Read replication job log.",
36065 "method" : "GET",
36066 "name" : "read_job_log",
36067 "parameters" : {
36068 "additionalProperties" : 0,
36069 "properties" : {
36070 "id" : {
36071 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36072 "format" : "pve-replication-job-id",
36073 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36074 "type" : "string"
36075 },
36076 "limit" : {
36077 "minimum" : 0,
36078 "optional" : 1,
36079 "type" : "integer",
36080 "typetext" : "<integer> (0 - N)"
36081 },
36082 "node" : {
36083 "description" : "The cluster node name.",
36084 "format" : "pve-node",
36085 "type" : "string",
36086 "typetext" : "<string>"
36087 },
36088 "start" : {
36089 "minimum" : 0,
36090 "optional" : 1,
36091 "type" : "integer",
36092 "typetext" : "<integer> (0 - N)"
36093 }
36094 }
36095 },
36096 "permissions" : {
36097 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
36098 "user" : "all"
36099 },
36100 "protected" : 1,
36101 "proxyto" : "node",
36102 "returns" : {
36103 "items" : {
36104 "properties" : {
36105 "n" : {
36106 "description" : "Line number",
36107 "type" : "integer"
36108 },
36109 "t" : {
36110 "description" : "Line text",
36111 "type" : "string"
36112 }
36113 },
36114 "type" : "object"
36115 },
36116 "type" : "array"
36117 }
36118 }
36119 },
36120 "leaf" : 1,
36121 "path" : "/nodes/{node}/replication/{id}/log",
36122 "text" : "log"
36123 },
36124 {
36125 "info" : {
36126 "POST" : {
e9cd3bd4 36127 "allowtoken" : 1,
5d9c884c
DM
36128 "description" : "Schedule replication job to start as soon as possible.",
36129 "method" : "POST",
36130 "name" : "schedule_now",
36131 "parameters" : {
36132 "additionalProperties" : 0,
36133 "properties" : {
36134 "id" : {
36135 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36136 "format" : "pve-replication-job-id",
36137 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36138 "type" : "string"
36139 },
36140 "node" : {
36141 "description" : "The cluster node name.",
36142 "format" : "pve-node",
36143 "type" : "string",
36144 "typetext" : "<string>"
36145 }
36146 }
36147 },
36148 "permissions" : {
36149 "check" : [
36150 "perm",
36151 "/storage",
36152 [
36153 "Datastore.Allocate"
36154 ]
36155 ]
36156 },
36157 "protected" : 1,
36158 "proxyto" : "node",
36159 "returns" : {
36160 "type" : "string"
36161 }
36162 }
36163 },
36164 "leaf" : 1,
36165 "path" : "/nodes/{node}/replication/{id}/schedule_now",
36166 "text" : "schedule_now"
36167 }
36168 ],
36169 "info" : {
36170 "GET" : {
e9cd3bd4 36171 "allowtoken" : 1,
5d9c884c
DM
36172 "description" : "Directory index.",
36173 "method" : "GET",
36174 "name" : "index",
36175 "parameters" : {
36176 "additionalProperties" : 0,
36177 "properties" : {
36178 "id" : {
36179 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36180 "format" : "pve-replication-job-id",
36181 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36182 "type" : "string"
36183 },
36184 "node" : {
36185 "description" : "The cluster node name.",
36186 "format" : "pve-node",
36187 "type" : "string",
36188 "typetext" : "<string>"
36189 }
36190 }
36191 },
36192 "permissions" : {
36193 "user" : "all"
36194 },
36195 "returns" : {
36196 "items" : {
36197 "properties" : {},
36198 "type" : "object"
36199 },
36200 "links" : [
36201 {
36202 "href" : "{name}",
36203 "rel" : "child"
36204 }
36205 ],
36206 "type" : "array"
36207 }
36208 }
36209 },
36210 "leaf" : 0,
36211 "path" : "/nodes/{node}/replication/{id}",
36212 "text" : "{id}"
36213 }
36214 ],
36215 "info" : {
36216 "GET" : {
e9cd3bd4 36217 "allowtoken" : 1,
5d9c884c
DM
36218 "description" : "List status of all replication jobs on this node.",
36219 "method" : "GET",
36220 "name" : "status",
36221 "parameters" : {
36222 "additionalProperties" : 0,
36223 "properties" : {
36224 "guest" : {
36225 "description" : "Only list replication jobs for this guest.",
36226 "format" : "pve-vmid",
36227 "minimum" : 1,
36228 "optional" : 1,
36229 "type" : "integer",
36230 "typetext" : "<integer> (1 - N)"
36231 },
36232 "node" : {
36233 "description" : "The cluster node name.",
36234 "format" : "pve-node",
36235 "type" : "string",
36236 "typetext" : "<string>"
36237 }
36238 }
36239 },
36240 "permissions" : {
36241 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
36242 "user" : "all"
36243 },
36244 "protected" : 1,
36245 "proxyto" : "node",
36246 "returns" : {
36247 "items" : {
36248 "properties" : {
36249 "id" : {
36250 "type" : "string"
36251 }
36252 },
36253 "type" : "object"
36254 },
36255 "links" : [
36256 {
36257 "href" : "{id}",
36258 "rel" : "child"
36259 }
36260 ],
36261 "type" : "array"
36262 }
36263 }
36264 },
36265 "leaf" : 0,
36266 "path" : "/nodes/{node}/replication",
36267 "text" : "replication"
36268 },
a9a8e3d1
DM
36269 {
36270 "children" : [
36271 {
36272 "children" : [
36273 {
36274 "info" : {
36275 "DELETE" : {
e9cd3bd4 36276 "allowtoken" : 1,
a9a8e3d1
DM
36277 "description" : "Revoke existing certificate from CA.",
36278 "method" : "DELETE",
36279 "name" : "revoke_certificate",
36280 "parameters" : {
36281 "additionalProperties" : 0,
36282 "properties" : {
36283 "node" : {
36284 "description" : "The cluster node name.",
36285 "format" : "pve-node",
36286 "type" : "string",
36287 "typetext" : "<string>"
36288 }
36289 }
36290 },
ac70d7d1
TL
36291 "permissions" : {
36292 "check" : [
36293 "perm",
36294 "/nodes/{node}",
36295 [
36296 "Sys.Modify"
36297 ]
36298 ]
36299 },
a9a8e3d1
DM
36300 "protected" : 1,
36301 "proxyto" : "node",
36302 "returns" : {
36303 "type" : "string"
36304 }
36305 },
36306 "POST" : {
e9cd3bd4 36307 "allowtoken" : 1,
a9a8e3d1
DM
36308 "description" : "Order a new certificate from ACME-compatible CA.",
36309 "method" : "POST",
36310 "name" : "new_certificate",
36311 "parameters" : {
36312 "additionalProperties" : 0,
36313 "properties" : {
36314 "force" : {
36315 "default" : 0,
36316 "description" : "Overwrite existing custom certificate.",
36317 "optional" : 1,
36318 "type" : "boolean",
36319 "typetext" : "<boolean>"
36320 },
36321 "node" : {
36322 "description" : "The cluster node name.",
36323 "format" : "pve-node",
36324 "type" : "string",
36325 "typetext" : "<string>"
36326 }
36327 }
36328 },
ac70d7d1
TL
36329 "permissions" : {
36330 "check" : [
36331 "perm",
36332 "/nodes/{node}",
36333 [
36334 "Sys.Modify"
36335 ]
36336 ]
36337 },
a9a8e3d1
DM
36338 "protected" : 1,
36339 "proxyto" : "node",
36340 "returns" : {
36341 "type" : "string"
36342 }
36343 },
36344 "PUT" : {
e9cd3bd4 36345 "allowtoken" : 1,
a9a8e3d1
DM
36346 "description" : "Renew existing certificate from CA.",
36347 "method" : "PUT",
36348 "name" : "renew_certificate",
36349 "parameters" : {
36350 "additionalProperties" : 0,
36351 "properties" : {
36352 "force" : {
36353 "default" : 0,
36354 "description" : "Force renewal even if expiry is more than 30 days away.",
36355 "optional" : 1,
36356 "type" : "boolean",
36357 "typetext" : "<boolean>"
36358 },
36359 "node" : {
36360 "description" : "The cluster node name.",
36361 "format" : "pve-node",
36362 "type" : "string",
36363 "typetext" : "<string>"
36364 }
36365 }
36366 },
ac70d7d1
TL
36367 "permissions" : {
36368 "check" : [
36369 "perm",
36370 "/nodes/{node}",
36371 [
36372 "Sys.Modify"
36373 ]
36374 ]
36375 },
a9a8e3d1
DM
36376 "protected" : 1,
36377 "proxyto" : "node",
36378 "returns" : {
36379 "type" : "string"
36380 }
36381 }
36382 },
36383 "leaf" : 1,
36384 "path" : "/nodes/{node}/certificates/acme/certificate",
36385 "text" : "certificate"
36386 }
36387 ],
36388 "info" : {
36389 "GET" : {
e9cd3bd4 36390 "allowtoken" : 1,
a9a8e3d1
DM
36391 "description" : "ACME index.",
36392 "method" : "GET",
36393 "name" : "index",
36394 "parameters" : {
36395 "additionalProperties" : 0,
36396 "properties" : {
36397 "node" : {
36398 "description" : "The cluster node name.",
36399 "format" : "pve-node",
36400 "type" : "string",
36401 "typetext" : "<string>"
36402 }
36403 }
36404 },
36405 "permissions" : {
36406 "user" : "all"
36407 },
36408 "returns" : {
36409 "items" : {
36410 "properties" : {},
36411 "type" : "object"
36412 },
36413 "links" : [
36414 {
36415 "href" : "{name}",
36416 "rel" : "child"
36417 }
36418 ],
36419 "type" : "array"
36420 }
36421 }
36422 },
36423 "leaf" : 0,
36424 "path" : "/nodes/{node}/certificates/acme",
36425 "text" : "acme"
36426 },
36427 {
36428 "info" : {
36429 "GET" : {
e9cd3bd4 36430 "allowtoken" : 1,
a9a8e3d1
DM
36431 "description" : "Get information about node's certificates.",
36432 "method" : "GET",
36433 "name" : "info",
36434 "parameters" : {
36435 "additionalProperties" : 0,
36436 "properties" : {
36437 "node" : {
36438 "description" : "The cluster node name.",
36439 "format" : "pve-node",
36440 "type" : "string",
36441 "typetext" : "<string>"
36442 }
36443 }
36444 },
36445 "permissions" : {
36446 "user" : "all"
36447 },
36448 "proxyto" : "node",
36449 "returns" : {
36450 "items" : {
36451 "properties" : {
36452 "filename" : {
36453 "optional" : 1,
36454 "type" : "string"
36455 },
36456 "fingerprint" : {
36457 "description" : "Certificate SHA 256 fingerprint.",
36458 "optional" : 1,
36459 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
36460 "type" : "string"
36461 },
36462 "issuer" : {
36463 "description" : "Certificate issuer name.",
36464 "optional" : 1,
36465 "type" : "string"
36466 },
36467 "notafter" : {
36468 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
36469 "optional" : 1,
4d47f125 36470 "renderer" : "timestamp",
a9a8e3d1
DM
36471 "type" : "integer"
36472 },
36473 "notbefore" : {
36474 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
36475 "optional" : 1,
4d47f125 36476 "renderer" : "timestamp",
a9a8e3d1
DM
36477 "type" : "integer"
36478 },
36479 "pem" : {
36480 "description" : "Certificate in PEM format",
36481 "format" : "pem-certificate",
36482 "optional" : 1,
36483 "type" : "string"
36484 },
1c532546
TL
36485 "public-key-bits" : {
36486 "description" : "Certificate's public key size",
36487 "optional" : 1,
36488 "type" : "integer"
36489 },
36490 "public-key-type" : {
36491 "description" : "Certificate's public key algorithm",
36492 "optional" : 1,
36493 "type" : "string"
36494 },
a9a8e3d1
DM
36495 "san" : {
36496 "description" : "List of Certificate's SubjectAlternativeName entries.",
36497 "items" : {
36498 "type" : "string"
36499 },
36500 "optional" : 1,
4d47f125 36501 "renderer" : "yaml",
a9a8e3d1
DM
36502 "type" : "array"
36503 },
36504 "subject" : {
36505 "description" : "Certificate subject name.",
36506 "optional" : 1,
36507 "type" : "string"
36508 }
36509 },
36510 "type" : "object"
36511 },
36512 "type" : "array"
36513 }
36514 }
36515 },
36516 "leaf" : 1,
36517 "path" : "/nodes/{node}/certificates/info",
36518 "text" : "info"
36519 },
36520 {
36521 "info" : {
36522 "DELETE" : {
e9cd3bd4 36523 "allowtoken" : 1,
a9a8e3d1
DM
36524 "description" : "DELETE custom certificate chain and key.",
36525 "method" : "DELETE",
36526 "name" : "remove_custom_cert",
36527 "parameters" : {
36528 "additionalProperties" : 0,
36529 "properties" : {
36530 "node" : {
36531 "description" : "The cluster node name.",
36532 "format" : "pve-node",
36533 "type" : "string",
36534 "typetext" : "<string>"
36535 },
36536 "restart" : {
36537 "default" : 0,
36538 "description" : "Restart pveproxy.",
36539 "optional" : 1,
36540 "type" : "boolean",
36541 "typetext" : "<boolean>"
36542 }
36543 }
36544 },
ac70d7d1
TL
36545 "permissions" : {
36546 "check" : [
36547 "perm",
36548 "/nodes/{node}",
36549 [
36550 "Sys.Modify"
36551 ]
36552 ]
36553 },
a9a8e3d1
DM
36554 "protected" : 1,
36555 "proxyto" : "node",
36556 "returns" : {
36557 "type" : "null"
36558 }
36559 },
36560 "POST" : {
e9cd3bd4 36561 "allowtoken" : 1,
a9a8e3d1
DM
36562 "description" : "Upload or update custom certificate chain and key.",
36563 "method" : "POST",
36564 "name" : "upload_custom_cert",
36565 "parameters" : {
36566 "additionalProperties" : 0,
36567 "properties" : {
36568 "certificates" : {
36569 "description" : "PEM encoded certificate (chain).",
36570 "format" : "pem-certificate-chain",
36571 "type" : "string",
36572 "typetext" : "<string>"
36573 },
36574 "force" : {
36575 "default" : 0,
36576 "description" : "Overwrite existing custom or ACME certificate files.",
36577 "optional" : 1,
36578 "type" : "boolean",
36579 "typetext" : "<boolean>"
36580 },
36581 "key" : {
36582 "description" : "PEM encoded private key.",
36583 "format" : "pem-string",
36584 "optional" : 1,
36585 "type" : "string",
36586 "typetext" : "<string>"
36587 },
36588 "node" : {
36589 "description" : "The cluster node name.",
36590 "format" : "pve-node",
36591 "type" : "string",
36592 "typetext" : "<string>"
36593 },
36594 "restart" : {
36595 "default" : 0,
36596 "description" : "Restart pveproxy.",
36597 "optional" : 1,
36598 "type" : "boolean",
36599 "typetext" : "<boolean>"
36600 }
36601 }
36602 },
ac70d7d1
TL
36603 "permissions" : {
36604 "check" : [
36605 "perm",
36606 "/nodes/{node}",
36607 [
36608 "Sys.Modify"
36609 ]
36610 ]
36611 },
a9a8e3d1
DM
36612 "protected" : 1,
36613 "proxyto" : "node",
36614 "returns" : {
36615 "properties" : {
36616 "filename" : {
36617 "optional" : 1,
36618 "type" : "string"
36619 },
36620 "fingerprint" : {
36621 "description" : "Certificate SHA 256 fingerprint.",
36622 "optional" : 1,
36623 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
36624 "type" : "string"
36625 },
36626 "issuer" : {
36627 "description" : "Certificate issuer name.",
36628 "optional" : 1,
36629 "type" : "string"
36630 },
36631 "notafter" : {
36632 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
36633 "optional" : 1,
4d47f125 36634 "renderer" : "timestamp",
a9a8e3d1
DM
36635 "type" : "integer"
36636 },
36637 "notbefore" : {
36638 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
36639 "optional" : 1,
4d47f125 36640 "renderer" : "timestamp",
a9a8e3d1
DM
36641 "type" : "integer"
36642 },
36643 "pem" : {
36644 "description" : "Certificate in PEM format",
36645 "format" : "pem-certificate",
36646 "optional" : 1,
36647 "type" : "string"
36648 },
1c532546
TL
36649 "public-key-bits" : {
36650 "description" : "Certificate's public key size",
36651 "optional" : 1,
36652 "type" : "integer"
36653 },
36654 "public-key-type" : {
36655 "description" : "Certificate's public key algorithm",
36656 "optional" : 1,
36657 "type" : "string"
36658 },
a9a8e3d1
DM
36659 "san" : {
36660 "description" : "List of Certificate's SubjectAlternativeName entries.",
36661 "items" : {
36662 "type" : "string"
36663 },
36664 "optional" : 1,
4d47f125 36665 "renderer" : "yaml",
a9a8e3d1
DM
36666 "type" : "array"
36667 },
36668 "subject" : {
36669 "description" : "Certificate subject name.",
36670 "optional" : 1,
36671 "type" : "string"
36672 }
36673 },
36674 "type" : "object"
36675 }
36676 }
36677 },
36678 "leaf" : 1,
36679 "path" : "/nodes/{node}/certificates/custom",
36680 "text" : "custom"
36681 }
36682 ],
36683 "info" : {
36684 "GET" : {
e9cd3bd4 36685 "allowtoken" : 1,
a9a8e3d1
DM
36686 "description" : "Node index.",
36687 "method" : "GET",
36688 "name" : "index",
36689 "parameters" : {
36690 "additionalProperties" : 0,
36691 "properties" : {
36692 "node" : {
36693 "description" : "The cluster node name.",
36694 "format" : "pve-node",
36695 "type" : "string",
36696 "typetext" : "<string>"
36697 }
36698 }
36699 },
36700 "permissions" : {
36701 "user" : "all"
36702 },
36703 "returns" : {
36704 "items" : {
36705 "properties" : {},
36706 "type" : "object"
36707 },
36708 "links" : [
36709 {
36710 "href" : "{name}",
36711 "rel" : "child"
36712 }
36713 ],
36714 "type" : "array"
36715 }
36716 }
36717 },
36718 "leaf" : 0,
c5aa7e14
TL
36719 "path" : "/nodes/{node}/certificates",
36720 "text" : "certificates"
36721 },
36722 {
36723 "info" : {
36724 "GET" : {
36725 "allowtoken" : 1,
36726 "description" : "Get node configuration options.",
36727 "method" : "GET",
36728 "name" : "get_config",
36729 "parameters" : {
36730 "additionalProperties" : 0,
36731 "properties" : {
36732 "node" : {
36733 "description" : "The cluster node name.",
36734 "format" : "pve-node",
36735 "type" : "string",
36736 "typetext" : "<string>"
36737 },
36738 "property" : {
36739 "default" : "all",
36740 "description" : "Return only a specific property from the node configuration.",
36741 "enum" : [
36742 "acme",
36743 "acmedomain0",
36744 "acmedomain1",
36745 "acmedomain2",
36746 "acmedomain3",
36747 "acmedomain4",
36748 "acmedomain5",
36749 "description",
36750 "startall-onboot-delay",
36751 "wakeonlan"
36752 ],
36753 "optional" : 1,
36754 "type" : "string"
36755 }
36756 }
36757 },
36758 "permissions" : {
36759 "check" : [
36760 "perm",
36761 "/",
36762 [
36763 "Sys.Audit"
36764 ]
36765 ]
36766 },
36767 "proxyto" : "node",
36768 "returns" : {
36769 "type" : "object"
36770 }
36771 },
36772 "PUT" : {
36773 "allowtoken" : 1,
36774 "description" : "Set node configuration options.",
36775 "method" : "PUT",
36776 "name" : "set_options",
36777 "parameters" : {
36778 "additionalProperties" : 0,
36779 "properties" : {
36780 "acme" : {
36781 "description" : "Node specific ACME settings.",
36782 "format" : {
36783 "account" : {
36784 "default" : "default",
36785 "description" : "ACME account config file name.",
36786 "format" : "pve-configid",
36787 "format_description" : "name",
36788 "optional" : 1,
36789 "type" : "string"
36790 },
36791 "domains" : {
36792 "description" : "List of domains for this node's ACME certificate",
36793 "format" : "pve-acme-domain-list",
36794 "format_description" : "domain[;domain;...]",
36795 "optional" : 1,
36796 "type" : "string"
36797 }
36798 },
36799 "optional" : 1,
36800 "type" : "string",
36801 "typetext" : "[account=<name>] [,domains=<domain[;domain;...]>]"
36802 },
36803 "acmedomain[n]" : {
36804 "description" : "ACME domain and validation plugin",
36805 "format" : {
36806 "alias" : {
36807 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
ac70d7d1 36808 "format" : "pve-acme-alias",
c5aa7e14
TL
36809 "format_description" : "domain",
36810 "optional" : 1,
36811 "type" : "string"
36812 },
36813 "domain" : {
36814 "default_key" : 1,
36815 "description" : "domain for this node's ACME certificate",
36816 "format" : "pve-acme-domain",
36817 "format_description" : "domain",
36818 "type" : "string"
36819 },
36820 "plugin" : {
36821 "default" : "standalone",
36822 "description" : "The ACME plugin ID",
36823 "format" : "pve-configid",
36824 "format_description" : "name of the plugin configuration",
36825 "optional" : 1,
36826 "type" : "string"
36827 }
36828 },
36829 "optional" : 1,
36830 "type" : "string",
36831 "typetext" : "[domain=]<domain> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
36832 },
36833 "delete" : {
36834 "description" : "A list of settings you want to delete.",
36835 "format" : "pve-configid-list",
36836 "optional" : 1,
36837 "type" : "string",
36838 "typetext" : "<string>"
36839 },
36840 "description" : {
36841 "description" : "Node description/comment.",
36842 "optional" : 1,
36843 "type" : "string",
36844 "typetext" : "<string>"
36845 },
36846 "digest" : {
36847 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36848 "maxLength" : 40,
36849 "optional" : 1,
36850 "type" : "string",
36851 "typetext" : "<string>"
36852 },
36853 "node" : {
36854 "description" : "The cluster node name.",
36855 "format" : "pve-node",
36856 "type" : "string",
36857 "typetext" : "<string>"
36858 },
36859 "startall-onboot-delay" : {
36860 "default" : 0,
36861 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
36862 "maximum" : 300,
36863 "minimum" : 0,
36864 "optional" : 1,
36865 "type" : "integer",
36866 "typetext" : "<integer> (0 - 300)"
36867 },
36868 "wakeonlan" : {
36869 "description" : "MAC address for wake on LAN",
36870 "format" : "mac-addr",
36871 "optional" : 1,
36872 "type" : "string",
36873 "typetext" : "<string>"
36874 }
36875 }
36876 },
36877 "permissions" : {
36878 "check" : [
36879 "perm",
36880 "/",
36881 [
36882 "Sys.Modify"
36883 ]
36884 ]
36885 },
36886 "protected" : 1,
36887 "proxyto" : "node",
36888 "returns" : {
36889 "type" : "null"
36890 }
36891 }
36892 },
36893 "leaf" : 1,
36894 "path" : "/nodes/{node}/config",
36895 "text" : "config"
36896 },
36897 {
36898 "children" : [
36899 {
36900 "children" : [
36901 {
36902 "children" : [
36903 {
36904 "info" : {
36905 "GET" : {
36906 "allowtoken" : 1,
36907 "description" : "List zone content.",
36908 "method" : "GET",
36909 "name" : "index",
36910 "parameters" : {
36911 "additionalProperties" : 0,
36912 "properties" : {
36913 "node" : {
36914 "description" : "The cluster node name.",
36915 "format" : "pve-node",
36916 "type" : "string",
36917 "typetext" : "<string>"
36918 },
36919 "zone" : {
36920 "description" : "The SDN zone object identifier.",
36921 "format" : "pve-sdn-zone-id",
36922 "type" : "string",
36923 "typetext" : "<string>"
36924 }
36925 }
36926 },
36927 "permissions" : {
36928 "check" : [
36929 "perm",
36930 "/sdn/zones/{zone}",
36931 [
36932 "SDN.Audit"
36933 ],
36934 "any",
36935 1
36936 ]
36937 },
36938 "protected" : 1,
36939 "proxyto" : "node",
36940 "returns" : {
36941 "items" : {
36942 "properties" : {
36943 "status" : {
36944 "description" : "Status.",
36945 "optional" : 1,
36946 "type" : "string"
36947 },
36948 "statusmsg" : {
36949 "description" : "Status details",
36950 "optional" : 1,
36951 "type" : "string"
36952 },
36953 "vnet" : {
36954 "description" : "Vnet identifier.",
36955 "type" : "string"
36956 }
36957 },
36958 "type" : "object"
36959 },
36960 "links" : [
36961 {
36962 "href" : "{vnet}",
36963 "rel" : "child"
36964 }
36965 ],
36966 "type" : "array"
36967 }
36968 }
36969 },
36970 "leaf" : 1,
36971 "path" : "/nodes/{node}/sdn/zones/{zone}/content",
36972 "text" : "content"
36973 }
36974 ],
36975 "info" : {
36976 "GET" : {
36977 "allowtoken" : 1,
36978 "description" : "",
36979 "method" : "GET",
36980 "name" : "diridx",
36981 "parameters" : {
36982 "additionalProperties" : 0,
36983 "properties" : {
36984 "node" : {
36985 "description" : "The cluster node name.",
36986 "format" : "pve-node",
36987 "type" : "string",
36988 "typetext" : "<string>"
36989 },
36990 "zone" : {
36991 "description" : "The SDN zone object identifier.",
36992 "format" : "pve-sdn-zone-id",
36993 "type" : "string",
36994 "typetext" : "<string>"
36995 }
36996 }
36997 },
36998 "permissions" : {
36999 "check" : [
37000 "perm",
37001 "/sdn/zones/{zone}",
37002 [
37003 "SDN.Audit"
37004 ],
37005 "any",
37006 1
37007 ]
37008 },
37009 "returns" : {
37010 "items" : {
37011 "properties" : {
37012 "subdir" : {
37013 "type" : "string"
37014 }
37015 },
37016 "type" : "object"
37017 },
37018 "links" : [
37019 {
37020 "href" : "{subdir}",
37021 "rel" : "child"
37022 }
37023 ],
37024 "type" : "array"
37025 }
37026 }
37027 },
37028 "leaf" : 0,
37029 "path" : "/nodes/{node}/sdn/zones/{zone}",
37030 "text" : "{zone}"
37031 }
37032 ],
37033 "info" : {
37034 "GET" : {
37035 "allowtoken" : 1,
37036 "description" : "Get status for all zones.",
37037 "method" : "GET",
37038 "name" : "index",
37039 "parameters" : {
37040 "additionalProperties" : 0,
37041 "properties" : {
37042 "node" : {
37043 "description" : "The cluster node name.",
37044 "format" : "pve-node",
37045 "type" : "string",
37046 "typetext" : "<string>"
37047 }
37048 }
37049 },
37050 "permissions" : {
37051 "description" : "Only list entries where you have 'SDN.Audit'",
37052 "user" : "all"
37053 },
37054 "protected" : 1,
37055 "proxyto" : "node",
37056 "returns" : {
37057 "items" : {
37058 "properties" : {
37059 "status" : {
37060 "description" : "Status of zone",
ac70d7d1
TL
37061 "enum" : [
37062 "available",
37063 "pending",
37064 "error"
37065 ],
c5aa7e14
TL
37066 "type" : "string"
37067 },
37068 "zone" : {
37069 "description" : "The SDN zone object identifier.",
37070 "format" : "pve-sdn-zone-id",
37071 "type" : "string"
37072 }
37073 },
37074 "type" : "object"
37075 },
37076 "links" : [
37077 {
37078 "href" : "{zone}",
37079 "rel" : "child"
37080 }
37081 ],
37082 "type" : "array"
37083 }
37084 }
37085 },
37086 "leaf" : 0,
37087 "path" : "/nodes/{node}/sdn/zones",
37088 "text" : "zones"
37089 }
37090 ],
37091 "info" : {
37092 "GET" : {
37093 "allowtoken" : 1,
37094 "description" : "SDN index.",
37095 "method" : "GET",
37096 "name" : "sdnindex",
37097 "parameters" : {
37098 "additionalProperties" : 0,
37099 "properties" : {
37100 "node" : {
37101 "description" : "The cluster node name.",
37102 "format" : "pve-node",
37103 "type" : "string",
37104 "typetext" : "<string>"
37105 }
37106 }
37107 },
37108 "permissions" : {
37109 "user" : "all"
37110 },
37111 "returns" : {
37112 "items" : {
37113 "properties" : {},
37114 "type" : "object"
37115 },
37116 "links" : [
37117 {
37118 "href" : "{name}",
37119 "rel" : "child"
37120 }
37121 ],
37122 "type" : "array"
37123 }
37124 }
37125 },
37126 "leaf" : 0,
37127 "path" : "/nodes/{node}/sdn",
37128 "text" : "sdn"
a9a8e3d1 37129 },
56122987 37130 {
56122987
DM
37131 "info" : {
37132 "GET" : {
e9cd3bd4 37133 "allowtoken" : 1,
44660702
DM
37134 "description" : "API version details",
37135 "method" : "GET",
37136 "name" : "version",
56122987 37137 "parameters" : {
44660702 37138 "additionalProperties" : 0,
56122987
DM
37139 "properties" : {
37140 "node" : {
56122987 37141 "description" : "The cluster node name.",
44660702 37142 "format" : "pve-node",
013dc89f
DM
37143 "type" : "string",
37144 "typetext" : "<string>"
56122987 37145 }
44660702 37146 }
56122987 37147 },
56122987 37148 "permissions" : {
7aacca6f 37149 "user" : "all"
56122987 37150 },
56122987 37151 "proxyto" : "node",
56122987 37152 "returns" : {
56122987 37153 "properties" : {
44660702 37154 "release" : {
1e3f8156 37155 "description" : "The current installed Proxmox VE Release",
56122987
DM
37156 "type" : "string"
37157 },
44660702 37158 "repoid" : {
1e3f8156 37159 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
37160 "type" : "string"
37161 },
37162 "version" : {
1e3f8156 37163 "description" : "The current installed pve-manager package version",
7aacca6f
DM
37164 "type" : "string"
37165 }
44660702
DM
37166 },
37167 "type" : "object"
7aacca6f 37168 }
56122987
DM
37169 }
37170 },
56122987 37171 "leaf" : 1,
44660702
DM
37172 "path" : "/nodes/{node}/version",
37173 "text" : "version"
56122987
DM
37174 },
37175 {
56122987
DM
37176 "info" : {
37177 "GET" : {
e9cd3bd4 37178 "allowtoken" : 1,
7aacca6f 37179 "description" : "Read node status",
44660702 37180 "method" : "GET",
7aacca6f 37181 "name" : "status",
56122987 37182 "parameters" : {
44660702 37183 "additionalProperties" : 0,
56122987
DM
37184 "properties" : {
37185 "node" : {
7aacca6f 37186 "description" : "The cluster node name.",
44660702 37187 "format" : "pve-node",
013dc89f
DM
37188 "type" : "string",
37189 "typetext" : "<string>"
56122987 37190 }
44660702 37191 }
56122987 37192 },
56122987
DM
37193 "permissions" : {
37194 "check" : [
37195 "perm",
37196 "/nodes/{node}",
37197 [
37198 "Sys.Audit"
37199 ]
37200 ]
44660702
DM
37201 },
37202 "proxyto" : "node",
37203 "returns" : {
44660702 37204 "type" : "object"
7aacca6f
DM
37205 }
37206 },
37207 "POST" : {
e9cd3bd4 37208 "allowtoken" : 1,
44660702
DM
37209 "description" : "Reboot or shutdown a node.",
37210 "method" : "POST",
7aacca6f 37211 "name" : "node_cmd",
56122987 37212 "parameters" : {
44660702 37213 "additionalProperties" : 0,
56122987 37214 "properties" : {
7aacca6f
DM
37215 "command" : {
37216 "description" : "Specify the command.",
56122987 37217 "enum" : [
7aacca6f
DM
37218 "reboot",
37219 "shutdown"
56122987
DM
37220 ],
37221 "type" : "string"
44660702
DM
37222 },
37223 "node" : {
37224 "description" : "The cluster node name.",
37225 "format" : "pve-node",
013dc89f
DM
37226 "type" : "string",
37227 "typetext" : "<string>"
56122987 37228 }
44660702 37229 }
7aacca6f 37230 },
7aacca6f
DM
37231 "permissions" : {
37232 "check" : [
37233 "perm",
37234 "/nodes/{node}",
37235 [
37236 "Sys.PowerMgmt"
37237 ]
37238 ]
37239 },
44660702 37240 "protected" : 1,
7aacca6f 37241 "proxyto" : "node",
7aacca6f
DM
37242 "returns" : {
37243 "type" : "null"
56122987
DM
37244 }
37245 }
37246 },
7aacca6f 37247 "leaf" : 1,
44660702
DM
37248 "path" : "/nodes/{node}/status",
37249 "text" : "status"
56122987
DM
37250 },
37251 {
56122987
DM
37252 "info" : {
37253 "GET" : {
e9cd3bd4 37254 "allowtoken" : 1,
44660702
DM
37255 "description" : "Read tap/vm network device interface counters",
37256 "method" : "GET",
37257 "name" : "netstat",
37258 "parameters" : {
37259 "additionalProperties" : 0,
37260 "properties" : {
37261 "node" : {
37262 "description" : "The cluster node name.",
37263 "format" : "pve-node",
013dc89f
DM
37264 "type" : "string",
37265 "typetext" : "<string>"
44660702 37266 }
56122987
DM
37267 }
37268 },
37269 "permissions" : {
37270 "check" : [
37271 "perm",
37272 "/nodes/{node}",
37273 [
7aacca6f 37274 "Sys.Audit"
56122987
DM
37275 ]
37276 ]
37277 },
7aacca6f 37278 "proxyto" : "node",
44660702
DM
37279 "returns" : {
37280 "items" : {
37281 "properties" : {},
37282 "type" : "object"
37283 },
37284 "type" : "array"
37285 }
7aacca6f
DM
37286 }
37287 },
44660702
DM
37288 "leaf" : 1,
37289 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
37290 "text" : "netstat"
37291 },
37292 {
37293 "info" : {
37294 "POST" : {
e9cd3bd4 37295 "allowtoken" : 1,
7aacca6f 37296 "description" : "Execute multiple commands in order.",
7aacca6f 37297 "method" : "POST",
7aacca6f 37298 "name" : "execute",
56122987
DM
37299 "parameters" : {
37300 "additionalProperties" : 0,
37301 "properties" : {
7aacca6f
DM
37302 "commands" : {
37303 "description" : "JSON encoded array of commands.",
013dc89f
DM
37304 "type" : "string",
37305 "typetext" : "<string>"
56122987
DM
37306 },
37307 "node" : {
44660702 37308 "description" : "The cluster node name.",
56122987 37309 "format" : "pve-node",
013dc89f
DM
37310 "type" : "string",
37311 "typetext" : "<string>"
56122987
DM
37312 }
37313 }
44660702
DM
37314 },
37315 "permissions" : {
37316 "check" : [
37317 "perm",
37318 "/nodes/{node}",
37319 [
37320 "Sys.Audit"
37321 ]
37322 ]
37323 },
37324 "protected" : 1,
37325 "proxyto" : "node",
37326 "returns" : {
44660702 37327 "type" : "array"
56122987
DM
37328 }
37329 }
37330 },
56122987 37331 "leaf" : 1,
44660702
DM
37332 "path" : "/nodes/{node}/execute",
37333 "text" : "execute"
56122987 37334 },
5f26e15b
TL
37335 {
37336 "info" : {
37337 "POST" : {
e9cd3bd4 37338 "allowtoken" : 1,
5f26e15b
TL
37339 "description" : "Try to wake a node via 'wake on LAN' network packet.",
37340 "method" : "POST",
37341 "name" : "wakeonlan",
37342 "parameters" : {
37343 "additionalProperties" : 0,
37344 "properties" : {
37345 "node" : {
37346 "description" : "target node for wake on LAN packet",
37347 "format" : "pve-node",
37348 "type" : "string",
37349 "typetext" : "<string>"
37350 }
37351 }
37352 },
37353 "permissions" : {
37354 "check" : [
37355 "perm",
37356 "/nodes/{node}",
37357 [
37358 "Sys.PowerMgmt"
37359 ]
37360 ]
37361 },
37362 "protected" : 1,
37363 "returns" : {
37364 "description" : "MAC address used to assemble the WoL magic packet.",
37365 "format" : "mac-addr",
37366 "type" : "string"
37367 }
37368 }
37369 },
37370 "leaf" : 1,
37371 "path" : "/nodes/{node}/wakeonlan",
37372 "text" : "wakeonlan"
37373 },
56122987
DM
37374 {
37375 "info" : {
7aacca6f 37376 "GET" : {
e9cd3bd4 37377 "allowtoken" : 1,
44660702
DM
37378 "description" : "Read node RRD statistics (returns PNG)",
37379 "method" : "GET",
7aacca6f 37380 "name" : "rrd",
56122987 37381 "parameters" : {
7aacca6f 37382 "additionalProperties" : 0,
56122987 37383 "properties" : {
44660702
DM
37384 "cf" : {
37385 "description" : "The RRD consolidation function",
37386 "enum" : [
37387 "AVERAGE",
37388 "MAX"
37389 ],
37390 "optional" : 1,
37391 "type" : "string"
37392 },
7aacca6f 37393 "ds" : {
7aacca6f 37394 "description" : "The list of datasources you want to display.",
44660702 37395 "format" : "pve-configid-list",
013dc89f
DM
37396 "type" : "string",
37397 "typetext" : "<string>"
44660702
DM
37398 },
37399 "node" : {
37400 "description" : "The cluster node name.",
37401 "format" : "pve-node",
013dc89f
DM
37402 "type" : "string",
37403 "typetext" : "<string>"
7aacca6f
DM
37404 },
37405 "timeframe" : {
37406 "description" : "Specify the time frame you are interested in.",
37407 "enum" : [
37408 "hour",
37409 "day",
37410 "week",
37411 "month",
37412 "year"
37413 ],
37414 "type" : "string"
56122987 37415 }
7aacca6f 37416 }
56122987 37417 },
56122987 37418 "permissions" : {
56122987
DM
37419 "check" : [
37420 "perm",
37421 "/nodes/{node}",
37422 [
7aacca6f 37423 "Sys.Audit"
56122987
DM
37424 ]
37425 ]
37426 },
7aacca6f 37427 "protected" : 1,
56122987 37428 "returns" : {
56122987 37429 "properties" : {
7aacca6f 37430 "filename" : {
56122987
DM
37431 "type" : "string"
37432 }
44660702
DM
37433 },
37434 "type" : "object"
37435 }
56122987
DM
37436 }
37437 },
44660702 37438 "leaf" : 1,
7aacca6f 37439 "path" : "/nodes/{node}/rrd",
44660702 37440 "text" : "rrd"
56122987
DM
37441 },
37442 {
37443 "info" : {
7aacca6f 37444 "GET" : {
e9cd3bd4 37445 "allowtoken" : 1,
44660702
DM
37446 "description" : "Read node RRD statistics",
37447 "method" : "GET",
7aacca6f 37448 "name" : "rrddata",
56122987 37449 "parameters" : {
44660702 37450 "additionalProperties" : 0,
56122987 37451 "properties" : {
7aacca6f 37452 "cf" : {
7aacca6f
DM
37453 "description" : "The RRD consolidation function",
37454 "enum" : [
37455 "AVERAGE",
37456 "MAX"
44660702
DM
37457 ],
37458 "optional" : 1,
37459 "type" : "string"
56122987
DM
37460 },
37461 "node" : {
44660702 37462 "description" : "The cluster node name.",
56122987 37463 "format" : "pve-node",
013dc89f
DM
37464 "type" : "string",
37465 "typetext" : "<string>"
56122987 37466 },
7aacca6f 37467 "timeframe" : {
7aacca6f
DM
37468 "description" : "Specify the time frame you are interested in.",
37469 "enum" : [
37470 "hour",
37471 "day",
37472 "week",
37473 "month",
37474 "year"
44660702
DM
37475 ],
37476 "type" : "string"
56122987 37477 }
56122987
DM
37478 }
37479 },
56122987
DM
37480 "permissions" : {
37481 "check" : [
37482 "perm",
37483 "/nodes/{node}",
37484 [
44660702 37485 "Sys.Audit"
56122987
DM
37486 ]
37487 ]
7aacca6f 37488 },
44660702 37489 "protected" : 1,
56122987 37490 "returns" : {
7aacca6f 37491 "items" : {
44660702 37492 "properties" : {},
7aacca6f
DM
37493 "type" : "object"
37494 },
37495 "type" : "array"
44660702
DM
37496 }
37497 }
37498 },
37499 "leaf" : 1,
37500 "path" : "/nodes/{node}/rrddata",
37501 "text" : "rrddata"
37502 },
37503 {
37504 "info" : {
37505 "GET" : {
e9cd3bd4 37506 "allowtoken" : 1,
44660702
DM
37507 "description" : "Read system log",
37508 "method" : "GET",
37509 "name" : "syslog",
56122987 37510 "parameters" : {
44660702 37511 "additionalProperties" : 0,
56122987 37512 "properties" : {
44660702
DM
37513 "limit" : {
37514 "minimum" : 0,
7aacca6f 37515 "optional" : 1,
4bd7df8b 37516 "type" : "integer",
013dc89f 37517 "typetext" : "<integer> (0 - N)"
7aacca6f 37518 },
56122987 37519 "node" : {
7aacca6f 37520 "description" : "The cluster node name.",
44660702 37521 "format" : "pve-node",
013dc89f
DM
37522 "type" : "string",
37523 "typetext" : "<string>"
56122987 37524 },
35a75dd3
DM
37525 "service" : {
37526 "description" : "Service ID",
37527 "maxLength" : 128,
37528 "optional" : 1,
37529 "type" : "string",
37530 "typetext" : "<string>"
37531 },
44660702
DM
37532 "since" : {
37533 "description" : "Display all log since this date-time string.",
37534 "optional" : 1,
37535 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
37536 "type" : "string"
37537 },
37538 "start" : {
7aacca6f
DM
37539 "minimum" : 0,
37540 "optional" : 1,
4bd7df8b 37541 "type" : "integer",
013dc89f 37542 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
37543 },
37544 "until" : {
37545 "description" : "Display all log until this date-time string.",
7aacca6f 37546 "optional" : 1,
44660702 37547 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
37548 "type" : "string"
37549 }
44660702 37550 }
56122987 37551 },
44660702
DM
37552 "permissions" : {
37553 "check" : [
37554 "perm",
37555 "/nodes/{node}",
37556 [
37557 "Sys.Syslog"
37558 ]
37559 ]
37560 },
37561 "protected" : 1,
37562 "proxyto" : "node",
37563 "returns" : {
37564 "items" : {
37565 "properties" : {
37566 "n" : {
37567 "description" : "Line number",
37568 "type" : "integer"
37569 },
37570 "t" : {
37571 "description" : "Line text",
37572 "type" : "string"
37573 }
37574 },
37575 "type" : "object"
37576 },
37577 "type" : "array"
37578 }
56122987
DM
37579 }
37580 },
44660702
DM
37581 "leaf" : 1,
37582 "path" : "/nodes/{node}/syslog",
7aacca6f 37583 "text" : "syslog"
56122987 37584 },
bb4c8cf8
TL
37585 {
37586 "info" : {
37587 "GET" : {
e9cd3bd4 37588 "allowtoken" : 1,
bb4c8cf8
TL
37589 "description" : "Read Journal",
37590 "method" : "GET",
37591 "name" : "journal",
37592 "parameters" : {
37593 "additionalProperties" : 0,
37594 "properties" : {
37595 "endcursor" : {
37596 "description" : "End before the given Cursor. Conflicts with 'until'",
37597 "optional" : 1,
37598 "type" : "string",
37599 "typetext" : "<string>"
37600 },
37601 "lastentries" : {
37602 "description" : "Limit to the last X lines. Conflicts with a range.",
37603 "minimum" : 0,
37604 "optional" : 1,
37605 "type" : "integer",
37606 "typetext" : "<integer> (0 - N)"
37607 },
37608 "node" : {
37609 "description" : "The cluster node name.",
37610 "format" : "pve-node",
37611 "type" : "string",
37612 "typetext" : "<string>"
37613 },
37614 "since" : {
37615 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
37616 "minimum" : 0,
37617 "optional" : 1,
37618 "type" : "integer",
37619 "typetext" : "<integer> (0 - N)"
37620 },
37621 "startcursor" : {
37622 "description" : "Start after the given Cursor. Conflicts with 'since'",
37623 "optional" : 1,
37624 "type" : "string",
37625 "typetext" : "<string>"
37626 },
37627 "until" : {
37628 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
37629 "minimum" : 0,
37630 "optional" : 1,
37631 "type" : "integer",
37632 "typetext" : "<integer> (0 - N)"
37633 }
37634 }
37635 },
37636 "permissions" : {
37637 "check" : [
37638 "perm",
37639 "/nodes/{node}",
37640 [
37641 "Sys.Syslog"
37642 ]
37643 ]
37644 },
37645 "protected" : 1,
37646 "proxyto" : "node",
37647 "returns" : {
37648 "items" : {
37649 "type" : "string"
37650 },
37651 "type" : "array"
37652 }
37653 }
37654 },
37655 "leaf" : 1,
37656 "path" : "/nodes/{node}/journal",
37657 "text" : "journal"
37658 },
56122987 37659 {
56122987
DM
37660 "info" : {
37661 "POST" : {
e9cd3bd4 37662 "allowtoken" : 1,
44660702
DM
37663 "description" : "Creates a VNC Shell proxy.",
37664 "method" : "POST",
37665 "name" : "vncshell",
37666 "parameters" : {
37667 "additionalProperties" : 0,
56122987 37668 "properties" : {
95895385
TL
37669 "cmd" : {
37670 "default" : "login",
37671 "description" : "Run specific command or default to login.",
37672 "enum" : [
ac70d7d1 37673 "login",
c5aa7e14 37674 "ceph_install",
ac70d7d1 37675 "upgrade"
95895385
TL
37676 ],
37677 "optional" : 1,
37678 "type" : "string"
37679 },
5d9c884c
DM
37680 "height" : {
37681 "description" : "sets the height of the console in pixels.",
37682 "maximum" : 2160,
37683 "minimum" : 16,
37684 "optional" : 1,
37685 "type" : "integer",
37686 "typetext" : "<integer> (16 - 2160)"
37687 },
44660702
DM
37688 "node" : {
37689 "description" : "The cluster node name.",
37690 "format" : "pve-node",
013dc89f
DM
37691 "type" : "string",
37692 "typetext" : "<string>"
7aacca6f 37693 },
44660702
DM
37694 "upgrade" : {
37695 "default" : 0,
95895385 37696 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 37697 "optional" : 1,
013dc89f
DM
37698 "type" : "boolean",
37699 "typetext" : "<boolean>"
7aacca6f 37700 },
44660702
DM
37701 "websocket" : {
37702 "description" : "use websocket instead of standard vnc.",
37703 "optional" : 1,
013dc89f
DM
37704 "type" : "boolean",
37705 "typetext" : "<boolean>"
5d9c884c
DM
37706 },
37707 "width" : {
37708 "description" : "sets the width of the console in pixels.",
37709 "maximum" : 4096,
37710 "minimum" : 16,
37711 "optional" : 1,
37712 "type" : "integer",
37713 "typetext" : "<integer> (16 - 4096)"
56122987 37714 }
44660702 37715 }
56122987 37716 },
56122987
DM
37717 "permissions" : {
37718 "check" : [
37719 "perm",
7aacca6f 37720 "/nodes/{node}",
56122987 37721 [
7aacca6f 37722 "Sys.Console"
56122987 37723 ]
44660702
DM
37724 ],
37725 "description" : "Restricted to users on realm 'pam'"
56122987 37726 },
44660702
DM
37727 "protected" : 1,
37728 "returns" : {
37729 "additionalProperties" : 0,
56122987 37730 "properties" : {
44660702
DM
37731 "cert" : {
37732 "type" : "string"
7aacca6f 37733 },
44660702
DM
37734 "port" : {
37735 "type" : "integer"
7aacca6f 37736 },
44660702
DM
37737 "ticket" : {
37738 "type" : "string"
37739 },
37740 "upid" : {
37741 "type" : "string"
37742 },
37743 "user" : {
37744 "type" : "string"
56122987 37745 }
44660702
DM
37746 }
37747 }
56122987
DM
37748 }
37749 },
7aacca6f 37750 "leaf" : 1,
44660702
DM
37751 "path" : "/nodes/{node}/vncshell",
37752 "text" : "vncshell"
56122987 37753 },
35a75dd3
DM
37754 {
37755 "info" : {
37756 "POST" : {
e9cd3bd4 37757 "allowtoken" : 1,
35a75dd3
DM
37758 "description" : "Creates a VNC Shell proxy.",
37759 "method" : "POST",
37760 "name" : "termproxy",
37761 "parameters" : {
37762 "additionalProperties" : 0,
37763 "properties" : {
95895385
TL
37764 "cmd" : {
37765 "default" : "login",
37766 "description" : "Run specific command or default to login.",
37767 "enum" : [
ac70d7d1 37768 "login",
c5aa7e14 37769 "ceph_install",
ac70d7d1 37770 "upgrade"
95895385
TL
37771 ],
37772 "optional" : 1,
37773 "type" : "string"
37774 },
35a75dd3
DM
37775 "node" : {
37776 "description" : "The cluster node name.",
37777 "format" : "pve-node",
37778 "type" : "string",
37779 "typetext" : "<string>"
37780 },
37781 "upgrade" : {
37782 "default" : 0,
95895385 37783 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
37784 "optional" : 1,
37785 "type" : "boolean",
37786 "typetext" : "<boolean>"
37787 }
37788 }
37789 },
37790 "permissions" : {
37791 "check" : [
37792 "perm",
37793 "/nodes/{node}",
37794 [
37795 "Sys.Console"
37796 ]
37797 ],
37798 "description" : "Restricted to users on realm 'pam'"
37799 },
37800 "protected" : 1,
37801 "returns" : {
37802 "additionalProperties" : 0,
37803 "properties" : {
37804 "port" : {
37805 "type" : "integer"
37806 },
37807 "ticket" : {
37808 "type" : "string"
37809 },
37810 "upid" : {
37811 "type" : "string"
37812 },
37813 "user" : {
37814 "type" : "string"
37815 }
37816 }
37817 }
37818 }
37819 },
37820 "leaf" : 1,
37821 "path" : "/nodes/{node}/termproxy",
37822 "text" : "termproxy"
37823 },
56122987
DM
37824 {
37825 "info" : {
37826 "GET" : {
e9cd3bd4 37827 "allowtoken" : 1,
7aacca6f 37828 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
37829 "method" : "GET",
37830 "name" : "vncwebsocket",
56122987 37831 "parameters" : {
44660702 37832 "additionalProperties" : 0,
56122987
DM
37833 "properties" : {
37834 "node" : {
37835 "description" : "The cluster node name.",
44660702 37836 "format" : "pve-node",
013dc89f
DM
37837 "type" : "string",
37838 "typetext" : "<string>"
7aacca6f
DM
37839 },
37840 "port" : {
7aacca6f
DM
37841 "description" : "Port number returned by previous vncproxy call.",
37842 "maximum" : 5999,
44660702 37843 "minimum" : 5900,
4bd7df8b 37844 "type" : "integer",
013dc89f 37845 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
37846 },
37847 "vncticket" : {
37848 "description" : "Ticket from previous call to vncproxy.",
37849 "maxLength" : 512,
013dc89f
DM
37850 "type" : "string",
37851 "typetext" : "<string>"
56122987 37852 }
44660702 37853 }
56122987 37854 },
56122987
DM
37855 "permissions" : {
37856 "check" : [
37857 "perm",
37858 "/nodes/{node}",
37859 [
7aacca6f 37860 "Sys.Console"
56122987 37861 ]
44660702
DM
37862 ],
37863 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
37864 },
37865 "returns" : {
37866 "properties" : {
37867 "port" : {
37868 "type" : "string"
37869 }
37870 },
37871 "type" : "object"
7aacca6f 37872 }
56122987
DM
37873 }
37874 },
44660702 37875 "leaf" : 1,
7aacca6f 37876 "path" : "/nodes/{node}/vncwebsocket",
44660702 37877 "text" : "vncwebsocket"
56122987
DM
37878 },
37879 {
37880 "info" : {
37881 "POST" : {
e9cd3bd4 37882 "allowtoken" : 1,
44660702 37883 "description" : "Creates a SPICE shell.",
7aacca6f 37884 "method" : "POST",
44660702 37885 "name" : "spiceshell",
56122987 37886 "parameters" : {
7aacca6f 37887 "additionalProperties" : 0,
56122987 37888 "properties" : {
95895385
TL
37889 "cmd" : {
37890 "default" : "login",
37891 "description" : "Run specific command or default to login.",
37892 "enum" : [
ac70d7d1 37893 "login",
c5aa7e14 37894 "ceph_install",
ac70d7d1 37895 "upgrade"
95895385
TL
37896 ],
37897 "optional" : 1,
37898 "type" : "string"
37899 },
7aacca6f 37900 "node" : {
44660702 37901 "description" : "The cluster node name.",
56122987 37902 "format" : "pve-node",
013dc89f
DM
37903 "type" : "string",
37904 "typetext" : "<string>"
7aacca6f 37905 },
44660702 37906 "proxy" : {
4d47f125 37907 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
44660702
DM
37908 "format" : "address",
37909 "optional" : 1,
013dc89f
DM
37910 "type" : "string",
37911 "typetext" : "<string>"
7aacca6f 37912 },
44660702
DM
37913 "upgrade" : {
37914 "default" : 0,
95895385 37915 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 37916 "optional" : 1,
013dc89f
DM
37917 "type" : "boolean",
37918 "typetext" : "<boolean>"
56122987 37919 }
7aacca6f 37920 }
56122987 37921 },
56122987
DM
37922 "permissions" : {
37923 "check" : [
37924 "perm",
7aacca6f 37925 "/nodes/{node}",
56122987 37926 [
7aacca6f 37927 "Sys.Console"
56122987 37928 ]
7aacca6f
DM
37929 ],
37930 "description" : "Restricted to users on realm 'pam'"
44660702
DM
37931 },
37932 "protected" : 1,
37933 "proxyto" : "node",
37934 "returns" : {
37935 "additionalProperties" : 1,
37936 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
37937 "properties" : {
37938 "host" : {
37939 "type" : "string"
37940 },
37941 "password" : {
37942 "type" : "string"
37943 },
37944 "proxy" : {
37945 "type" : "string"
37946 },
37947 "tls-port" : {
37948 "type" : "integer"
37949 },
37950 "type" : {
37951 "type" : "string"
37952 }
37953 }
7aacca6f 37954 }
56122987
DM
37955 }
37956 },
56122987 37957 "leaf" : 1,
44660702
DM
37958 "path" : "/nodes/{node}/spiceshell",
37959 "text" : "spiceshell"
56122987
DM
37960 },
37961 {
56122987 37962 "info" : {
7aacca6f 37963 "GET" : {
e9cd3bd4 37964 "allowtoken" : 1,
44660702 37965 "description" : "Read DNS settings.",
7aacca6f 37966 "method" : "GET",
44660702
DM
37967 "name" : "dns",
37968 "parameters" : {
7aacca6f
DM
37969 "additionalProperties" : 0,
37970 "properties" : {
44660702
DM
37971 "node" : {
37972 "description" : "The cluster node name.",
37973 "format" : "pve-node",
013dc89f
DM
37974 "type" : "string",
37975 "typetext" : "<string>"
7aacca6f
DM
37976 }
37977 }
37978 },
7aacca6f
DM
37979 "permissions" : {
37980 "check" : [
37981 "perm",
37982 "/nodes/{node}",
37983 [
37984 "Sys.Audit"
37985 ]
37986 ]
37987 },
44660702
DM
37988 "proxyto" : "node",
37989 "returns" : {
56122987
DM
37990 "additionalProperties" : 0,
37991 "properties" : {
44660702
DM
37992 "dns1" : {
37993 "description" : "First name server IP address.",
37994 "optional" : 1,
37995 "type" : "string"
37996 },
37997 "dns2" : {
37998 "description" : "Second name server IP address.",
37999 "optional" : 1,
38000 "type" : "string"
38001 },
38002 "dns3" : {
38003 "description" : "Third name server IP address.",
38004 "optional" : 1,
38005 "type" : "string"
38006 },
38007 "search" : {
38008 "description" : "Search domain for host-name lookup.",
38009 "optional" : 1,
38010 "type" : "string"
7aacca6f 38011 }
44660702
DM
38012 },
38013 "type" : "object"
38014 }
7aacca6f
DM
38015 },
38016 "PUT" : {
e9cd3bd4 38017 "allowtoken" : 1,
44660702
DM
38018 "description" : "Write DNS settings.",
38019 "method" : "PUT",
7aacca6f
DM
38020 "name" : "update_dns",
38021 "parameters" : {
38022 "additionalProperties" : 0,
38023 "properties" : {
44660702
DM
38024 "dns1" : {
38025 "description" : "First name server IP address.",
38026 "format" : "ip",
38027 "optional" : 1,
013dc89f
DM
38028 "type" : "string",
38029 "typetext" : "<string>"
7aacca6f 38030 },
44660702
DM
38031 "dns2" : {
38032 "description" : "Second name server IP address.",
38033 "format" : "ip",
7aacca6f 38034 "optional" : 1,
013dc89f
DM
38035 "type" : "string",
38036 "typetext" : "<string>"
7aacca6f 38037 },
44660702
DM
38038 "dns3" : {
38039 "description" : "Third name server IP address.",
38040 "format" : "ip",
7aacca6f 38041 "optional" : 1,
013dc89f
DM
38042 "type" : "string",
38043 "typetext" : "<string>"
7aacca6f
DM
38044 },
38045 "node" : {
44660702 38046 "description" : "The cluster node name.",
56122987 38047 "format" : "pve-node",
013dc89f
DM
38048 "type" : "string",
38049 "typetext" : "<string>"
7aacca6f 38050 },
44660702
DM
38051 "search" : {
38052 "description" : "Search domain for host-name lookup.",
013dc89f
DM
38053 "type" : "string",
38054 "typetext" : "<string>"
56122987
DM
38055 }
38056 }
38057 },
38058 "permissions" : {
38059 "check" : [
38060 "perm",
7aacca6f 38061 "/nodes/{node}",
56122987 38062 [
7aacca6f 38063 "Sys.Modify"
56122987
DM
38064 ]
38065 ]
38066 },
44660702 38067 "protected" : 1,
7aacca6f 38068 "proxyto" : "node",
56122987 38069 "returns" : {
7aacca6f
DM
38070 "type" : "null"
38071 }
56122987 38072 }
44660702
DM
38073 },
38074 "leaf" : 1,
38075 "path" : "/nodes/{node}/dns",
38076 "text" : "dns"
56122987
DM
38077 },
38078 {
38079 "info" : {
7aacca6f 38080 "GET" : {
e9cd3bd4 38081 "allowtoken" : 1,
7aacca6f 38082 "description" : "Read server time and time zone settings.",
44660702
DM
38083 "method" : "GET",
38084 "name" : "time",
56122987 38085 "parameters" : {
44660702 38086 "additionalProperties" : 0,
56122987
DM
38087 "properties" : {
38088 "node" : {
44660702 38089 "description" : "The cluster node name.",
56122987 38090 "format" : "pve-node",
013dc89f
DM
38091 "type" : "string",
38092 "typetext" : "<string>"
56122987 38093 }
44660702 38094 }
56122987
DM
38095 },
38096 "permissions" : {
38097 "check" : [
38098 "perm",
7aacca6f 38099 "/nodes/{node}",
56122987 38100 [
7aacca6f 38101 "Sys.Audit"
56122987
DM
38102 ]
38103 ]
44660702
DM
38104 },
38105 "proxyto" : "node",
38106 "returns" : {
38107 "additionalProperties" : 0,
38108 "properties" : {
38109 "localtime" : {
38110 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
38111 "minimum" : 1297163644,
4d47f125 38112 "renderer" : "timestamp_gmt",
44660702
DM
38113 "type" : "integer"
38114 },
38115 "time" : {
38116 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
38117 "minimum" : 1297163644,
4d47f125 38118 "renderer" : "timestamp",
44660702
DM
38119 "type" : "integer"
38120 },
38121 "timezone" : {
38122 "description" : "Time zone",
38123 "type" : "string"
38124 }
38125 },
38126 "type" : "object"
7aacca6f
DM
38127 }
38128 },
38129 "PUT" : {
e9cd3bd4 38130 "allowtoken" : 1,
7aacca6f 38131 "description" : "Set time zone.",
44660702
DM
38132 "method" : "PUT",
38133 "name" : "set_timezone",
38134 "parameters" : {
38135 "additionalProperties" : 0,
38136 "properties" : {
38137 "node" : {
38138 "description" : "The cluster node name.",
38139 "format" : "pve-node",
013dc89f
DM
38140 "type" : "string",
38141 "typetext" : "<string>"
44660702
DM
38142 },
38143 "timezone" : {
38144 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
38145 "type" : "string",
38146 "typetext" : "<string>"
44660702
DM
38147 }
38148 }
38149 },
7aacca6f
DM
38150 "permissions" : {
38151 "check" : [
38152 "perm",
38153 "/nodes/{node}",
38154 [
38155 "Sys.Modify"
38156 ]
38157 ]
56122987 38158 },
7aacca6f 38159 "protected" : 1,
44660702
DM
38160 "proxyto" : "node",
38161 "returns" : {
38162 "type" : "null"
38163 }
7aacca6f
DM
38164 }
38165 },
7aacca6f 38166 "leaf" : 1,
44660702
DM
38167 "path" : "/nodes/{node}/time",
38168 "text" : "time"
7aacca6f
DM
38169 },
38170 {
38171 "info" : {
44660702 38172 "GET" : {
e9cd3bd4 38173 "allowtoken" : 1,
44660702
DM
38174 "description" : "Get list of appliances.",
38175 "method" : "GET",
38176 "name" : "aplinfo",
7aacca6f
DM
38177 "parameters" : {
38178 "additionalProperties" : 0,
38179 "properties" : {
7aacca6f 38180 "node" : {
44660702 38181 "description" : "The cluster node name.",
7aacca6f 38182 "format" : "pve-node",
013dc89f
DM
38183 "type" : "string",
38184 "typetext" : "<string>"
7aacca6f
DM
38185 }
38186 }
56122987 38187 },
7aacca6f 38188 "permissions" : {
44660702 38189 "user" : "all"
56122987 38190 },
44660702 38191 "proxyto" : "node",
7aacca6f
DM
38192 "returns" : {
38193 "items" : {
44660702
DM
38194 "properties" : {},
38195 "type" : "object"
7aacca6f
DM
38196 },
38197 "type" : "array"
44660702
DM
38198 }
38199 },
38200 "POST" : {
e9cd3bd4 38201 "allowtoken" : 1,
44660702
DM
38202 "description" : "Download appliance templates.",
38203 "method" : "POST",
38204 "name" : "apl_download",
7aacca6f
DM
38205 "parameters" : {
38206 "additionalProperties" : 0,
38207 "properties" : {
38208 "node" : {
7aacca6f 38209 "description" : "The cluster node name.",
44660702 38210 "format" : "pve-node",
013dc89f
DM
38211 "type" : "string",
38212 "typetext" : "<string>"
44660702
DM
38213 },
38214 "storage" : {
4bd7df8b 38215 "description" : "The storage where the template will be stored",
44660702 38216 "format" : "pve-storage-id",
013dc89f
DM
38217 "type" : "string",
38218 "typetext" : "<string>"
44660702
DM
38219 },
38220 "template" : {
1e3f8156 38221 "description" : "The template which will downloaded",
44660702 38222 "maxLength" : 255,
013dc89f
DM
38223 "type" : "string",
38224 "typetext" : "<string>"
7aacca6f
DM
38225 }
38226 }
56122987 38227 },
7aacca6f 38228 "permissions" : {
44660702
DM
38229 "check" : [
38230 "perm",
38231 "/storage/{storage}",
38232 [
38233 "Datastore.AllocateTemplate"
38234 ]
38235 ]
38236 },
38237 "protected" : 1,
38238 "proxyto" : "node",
38239 "returns" : {
38240 "type" : "string"
7aacca6f
DM
38241 }
38242 }
38243 },
7aacca6f 38244 "leaf" : 1,
44660702
DM
38245 "path" : "/nodes/{node}/aplinfo",
38246 "text" : "aplinfo"
7aacca6f
DM
38247 },
38248 {
38249 "info" : {
38250 "GET" : {
e9cd3bd4 38251 "allowtoken" : 1,
44660702
DM
38252 "description" : "Gather various systems information about a node",
38253 "method" : "GET",
38254 "name" : "report",
7aacca6f 38255 "parameters" : {
44660702 38256 "additionalProperties" : 0,
7aacca6f
DM
38257 "properties" : {
38258 "node" : {
7aacca6f 38259 "description" : "The cluster node name.",
44660702 38260 "format" : "pve-node",
013dc89f
DM
38261 "type" : "string",
38262 "typetext" : "<string>"
7aacca6f 38263 }
44660702 38264 }
56122987 38265 },
7aacca6f
DM
38266 "permissions" : {
38267 "check" : [
38268 "perm",
38269 "/nodes/{node}",
38270 [
38271 "Sys.Audit"
38272 ]
38273 ]
56122987 38274 },
44660702 38275 "protected" : 1,
7aacca6f
DM
38276 "proxyto" : "node",
38277 "returns" : {
56122987 38278 "type" : "string"
7aacca6f
DM
38279 }
38280 }
38281 },
7aacca6f 38282 "leaf" : 1,
44660702
DM
38283 "path" : "/nodes/{node}/report",
38284 "text" : "report"
7aacca6f
DM
38285 },
38286 {
7aacca6f
DM
38287 "info" : {
38288 "POST" : {
e9cd3bd4 38289 "allowtoken" : 1,
1c532546 38290 "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
7aacca6f 38291 "method" : "POST",
44660702 38292 "name" : "startall",
7aacca6f 38293 "parameters" : {
44660702 38294 "additionalProperties" : 0,
7aacca6f
DM
38295 "properties" : {
38296 "force" : {
1c532546
TL
38297 "default" : "off",
38298 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
7aacca6f 38299 "optional" : 1,
013dc89f
DM
38300 "type" : "boolean",
38301 "typetext" : "<boolean>"
7aacca6f
DM
38302 },
38303 "node" : {
7aacca6f 38304 "description" : "The cluster node name.",
44660702 38305 "format" : "pve-node",
013dc89f
DM
38306 "type" : "string",
38307 "typetext" : "<string>"
52e44c50
FG
38308 },
38309 "vms" : {
1c532546 38310 "description" : "Only consider guests from this comma separated list of VMIDs.",
52e44c50
FG
38311 "format" : "pve-vmid-list",
38312 "optional" : 1,
38313 "type" : "string",
38314 "typetext" : "<string>"
7aacca6f 38315 }
44660702 38316 }
56122987 38317 },
7aacca6f
DM
38318 "permissions" : {
38319 "check" : [
38320 "perm",
38321 "/",
38322 [
38323 "VM.PowerMgmt"
38324 ]
38325 ]
44660702
DM
38326 },
38327 "protected" : 1,
38328 "proxyto" : "node",
38329 "returns" : {
38330 "type" : "string"
7aacca6f
DM
38331 }
38332 }
38333 },
44660702 38334 "leaf" : 1,
7aacca6f 38335 "path" : "/nodes/{node}/startall",
44660702 38336 "text" : "startall"
7aacca6f
DM
38337 },
38338 {
7aacca6f
DM
38339 "info" : {
38340 "POST" : {
e9cd3bd4 38341 "allowtoken" : 1,
7aacca6f 38342 "description" : "Stop all VMs and Containers.",
44660702
DM
38343 "method" : "POST",
38344 "name" : "stopall",
7aacca6f 38345 "parameters" : {
44660702 38346 "additionalProperties" : 0,
7aacca6f
DM
38347 "properties" : {
38348 "node" : {
44660702 38349 "description" : "The cluster node name.",
7aacca6f 38350 "format" : "pve-node",
013dc89f
DM
38351 "type" : "string",
38352 "typetext" : "<string>"
52e44c50
FG
38353 },
38354 "vms" : {
38355 "description" : "Only consider Guests with these IDs.",
38356 "format" : "pve-vmid-list",
38357 "optional" : 1,
38358 "type" : "string",
38359 "typetext" : "<string>"
7aacca6f 38360 }
44660702 38361 }
56122987 38362 },
7aacca6f
DM
38363 "permissions" : {
38364 "check" : [
38365 "perm",
38366 "/",
38367 [
44660702 38368 "VM.PowerMgmt"
7aacca6f
DM
38369 ]
38370 ]
56122987 38371 },
44660702 38372 "protected" : 1,
7aacca6f 38373 "proxyto" : "node",
44660702
DM
38374 "returns" : {
38375 "type" : "string"
38376 }
38377 }
56122987 38378 },
44660702
DM
38379 "leaf" : 1,
38380 "path" : "/nodes/{node}/stopall",
38381 "text" : "stopall"
38382 },
38383 {
38384 "info" : {
38385 "POST" : {
e9cd3bd4 38386 "allowtoken" : 1,
44660702
DM
38387 "description" : "Migrate all VMs and Containers.",
38388 "method" : "POST",
38389 "name" : "migrateall",
38390 "parameters" : {
38391 "additionalProperties" : 0,
38392 "properties" : {
38393 "maxworkers" : {
38394 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
38395 "minimum" : 1,
38396 "optional" : 1,
4bd7df8b 38397 "type" : "integer",
013dc89f 38398 "typetext" : "<integer> (1 - N)"
44660702
DM
38399 },
38400 "node" : {
38401 "description" : "The cluster node name.",
38402 "format" : "pve-node",
013dc89f
DM
38403 "type" : "string",
38404 "typetext" : "<string>"
44660702
DM
38405 },
38406 "target" : {
38407 "description" : "Target node.",
38408 "format" : "pve-node",
013dc89f
DM
38409 "type" : "string",
38410 "typetext" : "<string>"
52e44c50
FG
38411 },
38412 "vms" : {
38413 "description" : "Only consider Guests with these IDs.",
38414 "format" : "pve-vmid-list",
38415 "optional" : 1,
38416 "type" : "string",
38417 "typetext" : "<string>"
e9cd3bd4
TL
38418 },
38419 "with-local-disks" : {
38420 "description" : "Enable live storage migration for local disk",
38421 "optional" : 1,
38422 "type" : "boolean",
38423 "typetext" : "<boolean>"
44660702
DM
38424 }
38425 }
38426 },
38427 "permissions" : {
38428 "check" : [
38429 "perm",
38430 "/",
38431 [
38432 "VM.Migrate"
38433 ]
38434 ]
38435 },
38436 "protected" : 1,
38437 "proxyto" : "node",
38438 "returns" : {
38439 "type" : "string"
38440 }
38441 }
56122987 38442 },
44660702
DM
38443 "leaf" : 1,
38444 "path" : "/nodes/{node}/migrateall",
38445 "text" : "migrateall"
4d47f125
TL
38446 },
38447 {
38448 "info" : {
38449 "GET" : {
e9cd3bd4 38450 "allowtoken" : 1,
4d47f125
TL
38451 "description" : "Get the content of /etc/hosts.",
38452 "method" : "GET",
38453 "name" : "get_etc_hosts",
38454 "parameters" : {
38455 "additionalProperties" : 0,
38456 "properties" : {
38457 "node" : {
38458 "description" : "The cluster node name.",
38459 "format" : "pve-node",
38460 "type" : "string",
38461 "typetext" : "<string>"
38462 }
38463 }
38464 },
38465 "permissions" : {
38466 "check" : [
38467 "perm",
38468 "/",
38469 [
38470 "Sys.Audit"
38471 ]
38472 ]
38473 },
38474 "protected" : 1,
38475 "proxyto" : "node",
38476 "returns" : {
38477 "properties" : {
38478 "data" : {
38479 "description" : "The content of /etc/hosts.",
38480 "type" : "string"
38481 },
38482 "digest" : {
38483 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
38484 "maxLength" : 40,
38485 "optional" : 1,
38486 "type" : "string"
38487 }
38488 },
38489 "type" : "object"
38490 }
38491 },
38492 "POST" : {
e9cd3bd4 38493 "allowtoken" : 1,
4d47f125
TL
38494 "description" : "Write /etc/hosts.",
38495 "method" : "POST",
38496 "name" : "write_etc_hosts",
38497 "parameters" : {
38498 "additionalProperties" : 0,
38499 "properties" : {
38500 "data" : {
38501 "description" : "The target content of /etc/hosts.",
38502 "type" : "string",
38503 "typetext" : "<string>"
38504 },
38505 "digest" : {
38506 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
38507 "maxLength" : 40,
38508 "optional" : 1,
38509 "type" : "string",
38510 "typetext" : "<string>"
38511 },
38512 "node" : {
38513 "description" : "The cluster node name.",
38514 "format" : "pve-node",
38515 "type" : "string",
38516 "typetext" : "<string>"
38517 }
38518 }
38519 },
38520 "permissions" : {
38521 "check" : [
38522 "perm",
38523 "/nodes/{node}",
38524 [
38525 "Sys.Modify"
38526 ]
38527 ]
38528 },
38529 "protected" : 1,
38530 "proxyto" : "node",
38531 "returns" : {
38532 "type" : "null"
38533 }
38534 }
38535 },
38536 "leaf" : 1,
38537 "path" : "/nodes/{node}/hosts",
38538 "text" : "hosts"
44660702
DM
38539 }
38540 ],
38541 "info" : {
38542 "GET" : {
e9cd3bd4 38543 "allowtoken" : 1,
44660702
DM
38544 "description" : "Node index.",
38545 "method" : "GET",
38546 "name" : "index",
38547 "parameters" : {
38548 "additionalProperties" : 0,
38549 "properties" : {
38550 "node" : {
38551 "description" : "The cluster node name.",
38552 "format" : "pve-node",
013dc89f
DM
38553 "type" : "string",
38554 "typetext" : "<string>"
44660702
DM
38555 }
38556 }
56122987 38557 },
44660702
DM
38558 "permissions" : {
38559 "user" : "all"
56122987 38560 },
44660702
DM
38561 "returns" : {
38562 "items" : {
38563 "properties" : {},
38564 "type" : "object"
38565 },
38566 "links" : [
38567 {
38568 "href" : "{name}",
38569 "rel" : "child"
38570 }
56122987 38571 ],
44660702 38572 "type" : "array"
7aacca6f
DM
38573 }
38574 }
38575 },
44660702
DM
38576 "leaf" : 0,
38577 "path" : "/nodes/{node}",
38578 "text" : "{node}"
38579 }
38580 ],
38581 "info" : {
7aacca6f 38582 "GET" : {
e9cd3bd4 38583 "allowtoken" : 1,
44660702 38584 "description" : "Cluster node index.",
7aacca6f 38585 "method" : "GET",
44660702 38586 "name" : "index",
7aacca6f 38587 "parameters" : {
7aacca6f
DM
38588 "additionalProperties" : 0
38589 },
38590 "permissions" : {
7aacca6f
DM
38591 "user" : "all"
38592 },
44660702
DM
38593 "returns" : {
38594 "items" : {
4d47f125
TL
38595 "properties" : {
38596 "cpu" : {
38597 "description" : "CPU utilization.",
38598 "optional" : 1,
38599 "renderer" : "fraction_as_percentage",
38600 "type" : "number"
38601 },
38602 "level" : {
38603 "description" : "Support level.",
38604 "optional" : 1,
38605 "type" : "string"
38606 },
38607 "maxcpu" : {
38608 "description" : "Number of available CPUs.",
38609 "optional" : 1,
38610 "type" : "integer"
38611 },
38612 "maxmem" : {
38613 "description" : "Number of available memory in bytes.",
38614 "optional" : 1,
38615 "renderer" : "bytes",
38616 "type" : "integer"
38617 },
38618 "mem" : {
38619 "description" : "Used memory in bytes.",
38620 "optional" : 1,
38621 "renderer" : "bytes",
1c532546 38622 "type" : "integer"
4d47f125
TL
38623 },
38624 "node" : {
38625 "description" : "The cluster node name.",
38626 "format" : "pve-node",
38627 "type" : "string"
38628 },
38629 "ssl_fingerprint" : {
38630 "description" : "The SSL fingerprint for the node certificate.",
38631 "optional" : 1,
38632 "type" : "string"
38633 },
38634 "status" : {
38635 "description" : "Node status.",
38636 "enum" : [
38637 "unknown",
38638 "online",
38639 "offline"
38640 ],
38641 "type" : "string"
38642 },
38643 "uptime" : {
38644 "description" : "Node uptime in seconds.",
38645 "optional" : 1,
38646 "renderer" : "duration",
38647 "type" : "integer"
38648 }
38649 },
44660702
DM
38650 "type" : "object"
38651 },
38652 "links" : [
38653 {
38654 "href" : "{node}",
38655 "rel" : "child"
38656 }
38657 ],
38658 "type" : "array"
38659 }
7aacca6f
DM
38660 }
38661 },
44660702
DM
38662 "leaf" : 0,
38663 "path" : "/nodes",
38664 "text" : "nodes"
38665 },
38666 {
7aacca6f
DM
38667 "children" : [
38668 {
7aacca6f 38669 "info" : {
44660702 38670 "DELETE" : {
e9cd3bd4 38671 "allowtoken" : 1,
44660702
DM
38672 "description" : "Delete storage configuration.",
38673 "method" : "DELETE",
38674 "name" : "delete",
7aacca6f
DM
38675 "parameters" : {
38676 "additionalProperties" : 0,
38677 "properties" : {
38678 "storage" : {
7aacca6f 38679 "description" : "The storage identifier.",
44660702 38680 "format" : "pve-storage-id",
013dc89f
DM
38681 "type" : "string",
38682 "typetext" : "<string>"
7aacca6f
DM
38683 }
38684 }
56122987 38685 },
7aacca6f
DM
38686 "permissions" : {
38687 "check" : [
38688 "perm",
38689 "/storage",
38690 [
38691 "Datastore.Allocate"
38692 ]
38693 ]
56122987 38694 },
44660702
DM
38695 "protected" : 1,
38696 "returns" : {
38697 "type" : "null"
38698 }
38699 },
38700 "GET" : {
e9cd3bd4 38701 "allowtoken" : 1,
44660702
DM
38702 "description" : "Read storage configuration.",
38703 "method" : "GET",
38704 "name" : "read",
7aacca6f
DM
38705 "parameters" : {
38706 "additionalProperties" : 0,
38707 "properties" : {
38708 "storage" : {
44660702 38709 "description" : "The storage identifier.",
7aacca6f 38710 "format" : "pve-storage-id",
013dc89f
DM
38711 "type" : "string",
38712 "typetext" : "<string>"
7aacca6f
DM
38713 }
38714 }
38715 },
44660702
DM
38716 "permissions" : {
38717 "check" : [
38718 "perm",
38719 "/storage/{storage}",
38720 [
38721 "Datastore.Allocate"
38722 ]
38723 ]
38724 },
5da3d723
TL
38725 "returns" : {
38726 "type" : "object"
38727 }
7aacca6f
DM
38728 },
38729 "PUT" : {
e9cd3bd4 38730 "allowtoken" : 1,
44660702
DM
38731 "description" : "Update storage configuration.",
38732 "method" : "PUT",
38733 "name" : "update",
38734 "parameters" : {
38735 "additionalProperties" : 0,
38736 "properties" : {
38737 "blocksize" : {
38738 "description" : "block size",
7aacca6f 38739 "optional" : 1,
013dc89f
DM
38740 "type" : "string",
38741 "typetext" : "<string>"
7aacca6f 38742 },
27a7acb2
DM
38743 "bwlimit" : {
38744 "description" : "Set bandwidth/io limits various operations.",
38745 "format" : {
38746 "clone" : {
95895385 38747 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
38748 "format_description" : "LIMIT",
38749 "minimum" : "0",
38750 "optional" : 1,
38751 "type" : "number"
38752 },
38753 "default" : {
95895385 38754 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
38755 "format_description" : "LIMIT",
38756 "minimum" : "0",
38757 "optional" : 1,
38758 "type" : "number"
38759 },
38760 "migration" : {
95895385 38761 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
38762 "format_description" : "LIMIT",
38763 "minimum" : "0",
38764 "optional" : 1,
38765 "type" : "number"
38766 },
38767 "move" : {
95895385 38768 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
38769 "format_description" : "LIMIT",
38770 "minimum" : "0",
38771 "optional" : 1,
38772 "type" : "number"
38773 },
38774 "restore" : {
95895385 38775 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
38776 "format_description" : "LIMIT",
38777 "minimum" : "0",
38778 "optional" : 1,
38779 "type" : "number"
38780 }
38781 },
38782 "optional" : 1,
38783 "type" : "string",
38784 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
38785 },
44660702
DM
38786 "comstar_hg" : {
38787 "description" : "host group for comstar views",
38788 "optional" : 1,
013dc89f
DM
38789 "type" : "string",
38790 "typetext" : "<string>"
7aacca6f 38791 },
44660702
DM
38792 "comstar_tg" : {
38793 "description" : "target group for comstar views",
7aacca6f 38794 "optional" : 1,
013dc89f
DM
38795 "type" : "string",
38796 "typetext" : "<string>"
7aacca6f 38797 },
44660702
DM
38798 "content" : {
38799 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
38800 "format" : "pve-storage-content-list",
7aacca6f 38801 "optional" : 1,
013dc89f
DM
38802 "type" : "string",
38803 "typetext" : "<string>"
7aacca6f 38804 },
44660702
DM
38805 "delete" : {
38806 "description" : "A list of settings you want to delete.",
38807 "format" : "pve-configid-list",
38808 "maxLength" : 4096,
7aacca6f 38809 "optional" : 1,
013dc89f
DM
38810 "type" : "string",
38811 "typetext" : "<string>"
7aacca6f
DM
38812 },
38813 "digest" : {
44660702 38814 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 38815 "maxLength" : 40,
7aacca6f 38816 "optional" : 1,
013dc89f
DM
38817 "type" : "string",
38818 "typetext" : "<string>"
7aacca6f 38819 },
44660702
DM
38820 "disable" : {
38821 "description" : "Flag to disable the storage.",
38822 "optional" : 1,
013dc89f
DM
38823 "type" : "boolean",
38824 "typetext" : "<boolean>"
7aacca6f 38825 },
27a7acb2
DM
38826 "domain" : {
38827 "description" : "CIFS domain.",
38828 "maxLength" : 256,
38829 "optional" : 1,
38830 "type" : "string",
38831 "typetext" : "<string>"
38832 },
04d22a9f
TL
38833 "encryption-key" : {
38834 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
38835 "optional" : 1,
38836 "type" : "string",
38837 "typetext" : "<string>"
38838 },
c5aa7e14
TL
38839 "fingerprint" : {
38840 "description" : "Certificate SHA 256 fingerprint.",
38841 "optional" : 1,
38842 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
38843 "type" : "string"
38844 },
7aacca6f
DM
38845 "format" : {
38846 "description" : "Default image format.",
44660702 38847 "format" : "pve-storage-format",
7aacca6f 38848 "optional" : 1,
013dc89f
DM
38849 "type" : "string",
38850 "typetext" : "<string>"
7aacca6f 38851 },
5da3d723
TL
38852 "fuse" : {
38853 "description" : "Mount CephFS through FUSE.",
38854 "optional" : 1,
38855 "type" : "boolean",
38856 "typetext" : "<boolean>"
38857 },
2c0dde61
DM
38858 "is_mountpoint" : {
38859 "default" : "no",
2489d6df 38860 "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",
2c0dde61 38861 "optional" : 1,
2489d6df
WB
38862 "type" : "string",
38863 "typetext" : "<string>"
2c0dde61 38864 },
44660702 38865 "krbd" : {
e2d681b3 38866 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 38867 "optional" : 1,
013dc89f
DM
38868 "type" : "boolean",
38869 "typetext" : "<boolean>"
7aacca6f 38870 },
4d47f125
TL
38871 "lio_tpg" : {
38872 "description" : "target portal group for Linux LIO targets",
38873 "optional" : 1,
38874 "type" : "string",
38875 "typetext" : "<string>"
38876 },
44660702
DM
38877 "maxfiles" : {
38878 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
38879 "minimum" : 0,
38880 "optional" : 1,
4bd7df8b 38881 "type" : "integer",
013dc89f 38882 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
38883 },
38884 "mkdir" : {
38885 "default" : "yes",
38886 "description" : "Create the directory if it doesn't exist.",
38887 "optional" : 1,
013dc89f
DM
38888 "type" : "boolean",
38889 "typetext" : "<boolean>"
7aacca6f 38890 },
2489d6df
WB
38891 "monhost" : {
38892 "description" : "IP addresses of monitors (for external clusters).",
38893 "format" : "pve-storage-portal-dns-list",
38894 "optional" : 1,
38895 "type" : "string",
38896 "typetext" : "<string>"
38897 },
5c1699e5
TL
38898 "mountpoint" : {
38899 "description" : "mount point",
38900 "format" : "pve-storage-path",
38901 "optional" : 1,
38902 "type" : "string",
38903 "typetext" : "<string>"
38904 },
7aacca6f 38905 "nodes" : {
44660702 38906 "description" : "List of cluster node names.",
7aacca6f
DM
38907 "format" : "pve-node-list",
38908 "optional" : 1,
013dc89f
DM
38909 "type" : "string",
38910 "typetext" : "<string>"
7aacca6f 38911 },
44660702
DM
38912 "nowritecache" : {
38913 "description" : "disable write caching on the target",
7aacca6f 38914 "optional" : 1,
013dc89f
DM
38915 "type" : "boolean",
38916 "typetext" : "<boolean>"
7aacca6f
DM
38917 },
38918 "options" : {
7aacca6f 38919 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
38920 "format" : "pve-storage-options",
38921 "optional" : 1,
013dc89f
DM
38922 "type" : "string",
38923 "typetext" : "<string>"
44660702 38924 },
27a7acb2 38925 "password" : {
04d22a9f 38926 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
38927 "maxLength" : 256,
38928 "optional" : 1,
38929 "type" : "string",
38930 "typetext" : "<string>"
38931 },
44660702
DM
38932 "pool" : {
38933 "description" : "Pool.",
38934 "optional" : 1,
013dc89f
DM
38935 "type" : "string",
38936 "typetext" : "<string>"
44660702 38937 },
739d4d64
TL
38938 "prune-backups" : {
38939 "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
38940 "format" : "prune-backups",
38941 "optional" : 1,
38942 "type" : "string",
38943 "typetext" : "[keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
38944 },
44660702
DM
38945 "redundancy" : {
38946 "default" : 2,
38947 "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
38948 "maximum" : 16,
38949 "minimum" : 1,
38950 "optional" : 1,
4bd7df8b 38951 "type" : "integer",
013dc89f 38952 "typetext" : "<integer> (1 - 16)"
44660702
DM
38953 },
38954 "saferemove" : {
38955 "description" : "Zero-out data when removing LVs.",
38956 "optional" : 1,
013dc89f
DM
38957 "type" : "boolean",
38958 "typetext" : "<boolean>"
7aacca6f
DM
38959 },
38960 "saferemove_throughput" : {
44660702 38961 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 38962 "optional" : 1,
013dc89f
DM
38963 "type" : "string",
38964 "typetext" : "<string>"
7aacca6f 38965 },
44660702
DM
38966 "server" : {
38967 "description" : "Server IP or DNS name.",
38968 "format" : "pve-storage-server",
7aacca6f 38969 "optional" : 1,
013dc89f
DM
38970 "type" : "string",
38971 "typetext" : "<string>"
7aacca6f 38972 },
44660702
DM
38973 "server2" : {
38974 "description" : "Backup volfile server IP or DNS name.",
38975 "format" : "pve-storage-server",
7aacca6f 38976 "optional" : 1,
44660702 38977 "requires" : "server",
013dc89f
DM
38978 "type" : "string",
38979 "typetext" : "<string>"
44660702
DM
38980 },
38981 "shared" : {
38982 "description" : "Mark storage as shared.",
38983 "optional" : 1,
013dc89f
DM
38984 "type" : "boolean",
38985 "typetext" : "<boolean>"
44660702 38986 },
27a7acb2 38987 "smbversion" : {
5da3d723
TL
38988 "description" : "SMB protocol version",
38989 "enum" : [
38990 "2.0",
38991 "2.1",
38992 "3.0"
38993 ],
27a7acb2 38994 "optional" : 1,
5da3d723 38995 "type" : "string"
27a7acb2 38996 },
44660702
DM
38997 "sparse" : {
38998 "description" : "use sparse volumes",
38999 "optional" : 1,
013dc89f
DM
39000 "type" : "boolean",
39001 "typetext" : "<boolean>"
44660702
DM
39002 },
39003 "storage" : {
39004 "description" : "The storage identifier.",
39005 "format" : "pve-storage-id",
013dc89f
DM
39006 "type" : "string",
39007 "typetext" : "<string>"
44660702 39008 },
5da3d723
TL
39009 "subdir" : {
39010 "description" : "Subdir to mount.",
39011 "format" : "pve-storage-path",
39012 "optional" : 1,
39013 "type" : "string",
39014 "typetext" : "<string>"
39015 },
4bd7df8b
DM
39016 "tagged_only" : {
39017 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
39018 "optional" : 1,
013dc89f
DM
39019 "type" : "boolean",
39020 "typetext" : "<boolean>"
4bd7df8b 39021 },
44660702
DM
39022 "transport" : {
39023 "description" : "Gluster transport: tcp or rdma",
39024 "enum" : [
39025 "tcp",
39026 "rdma",
39027 "unix"
39028 ],
39029 "optional" : 1,
39030 "type" : "string"
7aacca6f
DM
39031 },
39032 "username" : {
39033 "description" : "RBD Id.",
44660702 39034 "optional" : 1,
013dc89f
DM
39035 "type" : "string",
39036 "typetext" : "<string>"
7aacca6f 39037 }
44660702
DM
39038 },
39039 "type" : "object"
39040 },
39041 "permissions" : {
39042 "check" : [
39043 "perm",
39044 "/storage",
39045 [
39046 "Datastore.Allocate"
39047 ]
39048 ]
39049 },
39050 "protected" : 1,
39051 "returns" : {
39052 "type" : "null"
39053 }
39054 }
39055 },
39056 "leaf" : 1,
39057 "path" : "/storage/{storage}",
39058 "text" : "{storage}"
39059 }
39060 ],
39061 "info" : {
39062 "GET" : {
e9cd3bd4 39063 "allowtoken" : 1,
44660702
DM
39064 "description" : "Storage index.",
39065 "method" : "GET",
39066 "name" : "index",
39067 "parameters" : {
39068 "additionalProperties" : 0,
39069 "properties" : {
39070 "type" : {
39071 "description" : "Only list storage of specific type",
39072 "enum" : [
5da3d723 39073 "cephfs",
27a7acb2 39074 "cifs",
44660702
DM
39075 "dir",
39076 "drbd",
39077 "glusterfs",
39078 "iscsi",
39079 "iscsidirect",
39080 "lvm",
39081 "lvmthin",
39082 "nfs",
c5aa7e14 39083 "pbs",
44660702 39084 "rbd",
44660702
DM
39085 "zfs",
39086 "zfspool"
39087 ],
39088 "optional" : 1,
39089 "type" : "string"
39090 }
39091 }
39092 },
39093 "permissions" : {
39094 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
39095 "user" : "all"
39096 },
39097 "returns" : {
39098 "items" : {
39099 "properties" : {
39100 "storage" : {
39101 "type" : "string"
7aacca6f 39102 }
56122987 39103 },
44660702
DM
39104 "type" : "object"
39105 },
39106 "links" : [
39107 {
39108 "href" : "{storage}",
39109 "rel" : "child"
39110 }
39111 ],
39112 "type" : "array"
39113 }
39114 },
39115 "POST" : {
e9cd3bd4 39116 "allowtoken" : 1,
44660702
DM
39117 "description" : "Create a new storage.",
39118 "method" : "POST",
39119 "name" : "create",
39120 "parameters" : {
39121 "additionalProperties" : 0,
39122 "properties" : {
39123 "authsupported" : {
39124 "description" : "Authsupported.",
39125 "optional" : 1,
013dc89f
DM
39126 "type" : "string",
39127 "typetext" : "<string>"
44660702
DM
39128 },
39129 "base" : {
39130 "description" : "Base volume. This volume is automatically activated.",
39131 "format" : "pve-volume-id",
39132 "optional" : 1,
013dc89f
DM
39133 "type" : "string",
39134 "typetext" : "<string>"
44660702
DM
39135 },
39136 "blocksize" : {
39137 "description" : "block size",
39138 "optional" : 1,
013dc89f
DM
39139 "type" : "string",
39140 "typetext" : "<string>"
44660702 39141 },
27a7acb2
DM
39142 "bwlimit" : {
39143 "description" : "Set bandwidth/io limits various operations.",
39144 "format" : {
39145 "clone" : {
95895385 39146 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
39147 "format_description" : "LIMIT",
39148 "minimum" : "0",
39149 "optional" : 1,
39150 "type" : "number"
39151 },
39152 "default" : {
95895385 39153 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
39154 "format_description" : "LIMIT",
39155 "minimum" : "0",
39156 "optional" : 1,
39157 "type" : "number"
39158 },
39159 "migration" : {
95895385 39160 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
39161 "format_description" : "LIMIT",
39162 "minimum" : "0",
39163 "optional" : 1,
39164 "type" : "number"
39165 },
39166 "move" : {
95895385 39167 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
39168 "format_description" : "LIMIT",
39169 "minimum" : "0",
39170 "optional" : 1,
39171 "type" : "number"
39172 },
39173 "restore" : {
95895385 39174 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
39175 "format_description" : "LIMIT",
39176 "minimum" : "0",
39177 "optional" : 1,
39178 "type" : "number"
39179 }
39180 },
39181 "optional" : 1,
39182 "type" : "string",
39183 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
39184 },
44660702
DM
39185 "comstar_hg" : {
39186 "description" : "host group for comstar views",
39187 "optional" : 1,
013dc89f
DM
39188 "type" : "string",
39189 "typetext" : "<string>"
44660702
DM
39190 },
39191 "comstar_tg" : {
39192 "description" : "target group for comstar views",
39193 "optional" : 1,
013dc89f
DM
39194 "type" : "string",
39195 "typetext" : "<string>"
44660702
DM
39196 },
39197 "content" : {
39198 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
39199 "format" : "pve-storage-content-list",
39200 "optional" : 1,
013dc89f
DM
39201 "type" : "string",
39202 "typetext" : "<string>"
44660702 39203 },
c5aa7e14
TL
39204 "datastore" : {
39205 "description" : "Proxmox backup server datastore name.",
39206 "optional" : 1,
39207 "type" : "string",
39208 "typetext" : "<string>"
39209 },
44660702
DM
39210 "disable" : {
39211 "description" : "Flag to disable the storage.",
39212 "optional" : 1,
013dc89f
DM
39213 "type" : "boolean",
39214 "typetext" : "<boolean>"
44660702 39215 },
27a7acb2
DM
39216 "domain" : {
39217 "description" : "CIFS domain.",
39218 "maxLength" : 256,
39219 "optional" : 1,
39220 "type" : "string",
39221 "typetext" : "<string>"
39222 },
04d22a9f
TL
39223 "encryption-key" : {
39224 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
39225 "optional" : 1,
39226 "type" : "string",
39227 "typetext" : "<string>"
39228 },
44660702
DM
39229 "export" : {
39230 "description" : "NFS export path.",
39231 "format" : "pve-storage-path",
39232 "optional" : 1,
013dc89f
DM
39233 "type" : "string",
39234 "typetext" : "<string>"
44660702 39235 },
c5aa7e14
TL
39236 "fingerprint" : {
39237 "description" : "Certificate SHA 256 fingerprint.",
39238 "optional" : 1,
39239 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
39240 "type" : "string"
39241 },
44660702
DM
39242 "format" : {
39243 "description" : "Default image format.",
39244 "format" : "pve-storage-format",
39245 "optional" : 1,
013dc89f
DM
39246 "type" : "string",
39247 "typetext" : "<string>"
44660702 39248 },
5da3d723
TL
39249 "fuse" : {
39250 "description" : "Mount CephFS through FUSE.",
39251 "optional" : 1,
39252 "type" : "boolean",
39253 "typetext" : "<boolean>"
39254 },
2c0dde61
DM
39255 "is_mountpoint" : {
39256 "default" : "no",
2489d6df 39257 "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",
2c0dde61 39258 "optional" : 1,
2489d6df
WB
39259 "type" : "string",
39260 "typetext" : "<string>"
2c0dde61 39261 },
44660702
DM
39262 "iscsiprovider" : {
39263 "description" : "iscsi provider",
39264 "optional" : 1,
013dc89f
DM
39265 "type" : "string",
39266 "typetext" : "<string>"
44660702
DM
39267 },
39268 "krbd" : {
e2d681b3 39269 "description" : "Always access rbd through krbd kernel module.",
44660702 39270 "optional" : 1,
013dc89f
DM
39271 "type" : "boolean",
39272 "typetext" : "<boolean>"
56122987 39273 },
4d47f125
TL
39274 "lio_tpg" : {
39275 "description" : "target portal group for Linux LIO targets",
39276 "optional" : 1,
39277 "type" : "string",
39278 "typetext" : "<string>"
39279 },
44660702
DM
39280 "maxfiles" : {
39281 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
39282 "minimum" : 0,
39283 "optional" : 1,
4bd7df8b 39284 "type" : "integer",
013dc89f 39285 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
39286 },
39287 "mkdir" : {
39288 "default" : "yes",
39289 "description" : "Create the directory if it doesn't exist.",
39290 "optional" : 1,
013dc89f
DM
39291 "type" : "boolean",
39292 "typetext" : "<boolean>"
7aacca6f 39293 },
44660702 39294 "monhost" : {
2489d6df 39295 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 39296 "format" : "pve-storage-portal-dns-list",
44660702 39297 "optional" : 1,
013dc89f
DM
39298 "type" : "string",
39299 "typetext" : "<string>"
7aacca6f 39300 },
5c1699e5
TL
39301 "mountpoint" : {
39302 "description" : "mount point",
39303 "format" : "pve-storage-path",
39304 "optional" : 1,
39305 "type" : "string",
39306 "typetext" : "<string>"
39307 },
44660702
DM
39308 "nodes" : {
39309 "description" : "List of cluster node names.",
39310 "format" : "pve-node-list",
39311 "optional" : 1,
013dc89f
DM
39312 "type" : "string",
39313 "typetext" : "<string>"
7aacca6f 39314 },
44660702
DM
39315 "nowritecache" : {
39316 "description" : "disable write caching on the target",
39317 "optional" : 1,
013dc89f
DM
39318 "type" : "boolean",
39319 "typetext" : "<boolean>"
44660702
DM
39320 },
39321 "options" : {
39322 "description" : "NFS mount options (see 'man nfs')",
39323 "format" : "pve-storage-options",
39324 "optional" : 1,
013dc89f
DM
39325 "type" : "string",
39326 "typetext" : "<string>"
44660702 39327 },
27a7acb2 39328 "password" : {
04d22a9f 39329 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
39330 "maxLength" : 256,
39331 "optional" : 1,
39332 "type" : "string",
39333 "typetext" : "<string>"
39334 },
44660702
DM
39335 "path" : {
39336 "description" : "File system path.",
39337 "format" : "pve-storage-path",
39338 "optional" : 1,
013dc89f
DM
39339 "type" : "string",
39340 "typetext" : "<string>"
44660702
DM
39341 },
39342 "pool" : {
39343 "description" : "Pool.",
39344 "optional" : 1,
013dc89f
DM
39345 "type" : "string",
39346 "typetext" : "<string>"
44660702
DM
39347 },
39348 "portal" : {
39349 "description" : "iSCSI portal (IP or DNS name with optional port).",
39350 "format" : "pve-storage-portal-dns",
39351 "optional" : 1,
013dc89f
DM
39352 "type" : "string",
39353 "typetext" : "<string>"
44660702 39354 },
739d4d64
TL
39355 "prune-backups" : {
39356 "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
39357 "format" : "prune-backups",
39358 "optional" : 1,
39359 "type" : "string",
39360 "typetext" : "[keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
39361 },
44660702
DM
39362 "redundancy" : {
39363 "default" : 2,
39364 "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
39365 "maximum" : 16,
39366 "minimum" : 1,
39367 "optional" : 1,
4bd7df8b 39368 "type" : "integer",
013dc89f 39369 "typetext" : "<integer> (1 - 16)"
44660702
DM
39370 },
39371 "saferemove" : {
39372 "description" : "Zero-out data when removing LVs.",
39373 "optional" : 1,
013dc89f
DM
39374 "type" : "boolean",
39375 "typetext" : "<boolean>"
44660702
DM
39376 },
39377 "saferemove_throughput" : {
39378 "description" : "Wipe throughput (cstream -t parameter value).",
39379 "optional" : 1,
013dc89f
DM
39380 "type" : "string",
39381 "typetext" : "<string>"
44660702
DM
39382 },
39383 "server" : {
39384 "description" : "Server IP or DNS name.",
39385 "format" : "pve-storage-server",
39386 "optional" : 1,
013dc89f
DM
39387 "type" : "string",
39388 "typetext" : "<string>"
44660702
DM
39389 },
39390 "server2" : {
39391 "description" : "Backup volfile server IP or DNS name.",
39392 "format" : "pve-storage-server",
39393 "optional" : 1,
39394 "requires" : "server",
013dc89f
DM
39395 "type" : "string",
39396 "typetext" : "<string>"
44660702 39397 },
27a7acb2
DM
39398 "share" : {
39399 "description" : "CIFS share.",
39400 "optional" : 1,
39401 "type" : "string",
39402 "typetext" : "<string>"
39403 },
44660702
DM
39404 "shared" : {
39405 "description" : "Mark storage as shared.",
39406 "optional" : 1,
013dc89f
DM
39407 "type" : "boolean",
39408 "typetext" : "<boolean>"
44660702 39409 },
27a7acb2 39410 "smbversion" : {
5da3d723
TL
39411 "description" : "SMB protocol version",
39412 "enum" : [
39413 "2.0",
39414 "2.1",
39415 "3.0"
39416 ],
27a7acb2 39417 "optional" : 1,
5da3d723 39418 "type" : "string"
27a7acb2 39419 },
44660702
DM
39420 "sparse" : {
39421 "description" : "use sparse volumes",
39422 "optional" : 1,
013dc89f
DM
39423 "type" : "boolean",
39424 "typetext" : "<boolean>"
44660702
DM
39425 },
39426 "storage" : {
39427 "description" : "The storage identifier.",
39428 "format" : "pve-storage-id",
013dc89f
DM
39429 "type" : "string",
39430 "typetext" : "<string>"
44660702 39431 },
5da3d723
TL
39432 "subdir" : {
39433 "description" : "Subdir to mount.",
39434 "format" : "pve-storage-path",
39435 "optional" : 1,
39436 "type" : "string",
39437 "typetext" : "<string>"
39438 },
4bd7df8b
DM
39439 "tagged_only" : {
39440 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
39441 "optional" : 1,
013dc89f
DM
39442 "type" : "boolean",
39443 "typetext" : "<boolean>"
4bd7df8b 39444 },
44660702
DM
39445 "target" : {
39446 "description" : "iSCSI target.",
39447 "optional" : 1,
013dc89f
DM
39448 "type" : "string",
39449 "typetext" : "<string>"
44660702
DM
39450 },
39451 "thinpool" : {
39452 "description" : "LVM thin pool LV name.",
39453 "format" : "pve-storage-vgname",
39454 "optional" : 1,
013dc89f
DM
39455 "type" : "string",
39456 "typetext" : "<string>"
44660702
DM
39457 },
39458 "transport" : {
39459 "description" : "Gluster transport: tcp or rdma",
39460 "enum" : [
39461 "tcp",
39462 "rdma",
39463 "unix"
7aacca6f 39464 ],
44660702
DM
39465 "optional" : 1,
39466 "type" : "string"
56122987 39467 },
44660702
DM
39468 "type" : {
39469 "description" : "Storage type.",
39470 "enum" : [
5da3d723 39471 "cephfs",
27a7acb2 39472 "cifs",
44660702
DM
39473 "dir",
39474 "drbd",
39475 "glusterfs",
39476 "iscsi",
39477 "iscsidirect",
39478 "lvm",
39479 "lvmthin",
39480 "nfs",
c5aa7e14 39481 "pbs",
44660702 39482 "rbd",
44660702
DM
39483 "zfs",
39484 "zfspool"
39485 ],
39486 "type" : "string"
56122987 39487 },
44660702
DM
39488 "username" : {
39489 "description" : "RBD Id.",
39490 "optional" : 1,
013dc89f
DM
39491 "type" : "string",
39492 "typetext" : "<string>"
7aacca6f 39493 },
44660702
DM
39494 "vgname" : {
39495 "description" : "Volume group name.",
39496 "format" : "pve-storage-vgname",
39497 "optional" : 1,
013dc89f
DM
39498 "type" : "string",
39499 "typetext" : "<string>"
44660702
DM
39500 },
39501 "volume" : {
39502 "description" : "Glusterfs Volume.",
39503 "optional" : 1,
013dc89f
DM
39504 "type" : "string",
39505 "typetext" : "<string>"
44660702
DM
39506 }
39507 },
39508 "type" : "object"
39509 },
39510 "permissions" : {
39511 "check" : [
39512 "perm",
39513 "/storage",
39514 [
39515 "Datastore.Allocate"
39516 ]
39517 ]
56122987 39518 },
44660702
DM
39519 "protected" : 1,
39520 "returns" : {
39521 "type" : "null"
39522 }
39523 }
39524 },
39525 "leaf" : 0,
39526 "path" : "/storage",
39527 "text" : "storage"
39528 },
39529 {
39530 "children" : [
39531 {
56122987
DM
39532 "children" : [
39533 {
bb4c8cf8
TL
39534 "children" : [
39535 {
39536 "info" : {
39537 "GET" : {
e9cd3bd4 39538 "allowtoken" : 1,
bb4c8cf8
TL
39539 "description" : "Get user TFA types (Personal and Realm).",
39540 "method" : "GET",
39541 "name" : "read_user_tfa_type",
39542 "parameters" : {
39543 "additionalProperties" : 0,
39544 "properties" : {
39545 "userid" : {
39546 "description" : "User ID",
39547 "format" : "pve-userid",
39548 "maxLength" : 64,
39549 "type" : "string",
39550 "typetext" : "<string>"
39551 }
39552 }
39553 },
39554 "permissions" : {
39555 "check" : [
39556 "or",
39557 [
39558 "userid-param",
39559 "self"
39560 ],
39561 [
39562 "userid-group",
39563 [
39564 "User.Modify",
39565 "Sys.Audit"
39566 ]
39567 ]
39568 ]
39569 },
39570 "protected" : 1,
39571 "returns" : {
39572 "additionalProperties" : 0,
39573 "properties" : {
39574 "realm" : {
39575 "description" : "The type of TFA the users realm has set, if any.",
39576 "enum" : [
39577 "oath",
39578 "yubico"
39579 ],
39580 "optional" : 1,
39581 "type" : "string"
39582 },
39583 "user" : {
39584 "description" : "The type of TFA the user has set, if any.",
39585 "enum" : [
39586 "oath",
39587 "u2f"
39588 ],
39589 "optional" : 1,
39590 "type" : "string"
39591 }
39592 },
39593 "type" : "object"
39594 }
39595 }
39596 },
39597 "leaf" : 1,
39598 "path" : "/access/users/{userid}/tfa",
39599 "text" : "tfa"
e9cd3bd4
TL
39600 },
39601 {
39602 "children" : [
39603 {
39604 "info" : {
39605 "DELETE" : {
39606 "allowtoken" : 1,
39607 "description" : "Remove API token for a specific user.",
39608 "method" : "DELETE",
39609 "name" : "remove_token",
39610 "parameters" : {
39611 "additionalProperties" : 0,
39612 "properties" : {
39613 "tokenid" : {
39614 "description" : "User-specific token identifier.",
39615 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39616 "type" : "string"
39617 },
39618 "userid" : {
39619 "description" : "User ID",
39620 "format" : "pve-userid",
39621 "maxLength" : 64,
39622 "type" : "string",
39623 "typetext" : "<string>"
39624 }
39625 }
39626 },
39627 "permissions" : {
39628 "check" : [
39629 "or",
39630 [
39631 "userid-param",
39632 "self"
39633 ],
39634 [
39635 "perm",
39636 "/access/users/{userid}",
39637 [
39638 "User.Modify"
39639 ]
39640 ]
39641 ]
39642 },
39643 "protected" : 1,
39644 "returns" : {
c5aa7e14
TL
39645 "type" : "null"
39646 }
39647 },
39648 "GET" : {
39649 "allowtoken" : 1,
39650 "description" : "Get specific API token information.",
39651 "method" : "GET",
39652 "name" : "read_token",
39653 "parameters" : {
39654 "additionalProperties" : 0,
39655 "properties" : {
39656 "tokenid" : {
39657 "description" : "User-specific token identifier.",
39658 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39659 "type" : "string"
39660 },
39661 "userid" : {
39662 "description" : "User ID",
39663 "format" : "pve-userid",
39664 "maxLength" : 64,
39665 "type" : "string",
39666 "typetext" : "<string>"
39667 }
39668 }
39669 },
39670 "permissions" : {
39671 "check" : [
39672 "or",
39673 [
39674 "userid-param",
39675 "self"
39676 ],
39677 [
39678 "perm",
39679 "/access/users/{userid}",
39680 [
39681 "User.Modify"
39682 ]
39683 ]
39684 ]
39685 },
39686 "returns" : {
39687 "properties" : {
39688 "comment" : {
39689 "optional" : 1,
39690 "type" : "string"
39691 },
39692 "expire" : {
39693 "default" : "same as user",
39694 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39695 "minimum" : 0,
39696 "optional" : 1,
39697 "type" : "integer"
39698 },
39699 "privsep" : {
39700 "default" : 1,
39701 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39702 "optional" : 1,
39703 "type" : "boolean"
39704 }
39705 },
39706 "type" : "object"
39707 }
39708 },
39709 "POST" : {
39710 "allowtoken" : 1,
39711 "description" : "Generate a new API token for a specific user. NOTE: returns API token value, which needs to be stored as it cannot be retrieved afterwards!",
39712 "method" : "POST",
39713 "name" : "generate_token",
39714 "parameters" : {
39715 "additionalProperties" : 0,
39716 "properties" : {
39717 "comment" : {
39718 "optional" : 1,
39719 "type" : "string",
39720 "typetext" : "<string>"
39721 },
39722 "expire" : {
39723 "default" : "same as user",
39724 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39725 "minimum" : 0,
39726 "optional" : 1,
39727 "type" : "integer",
39728 "typetext" : "<integer> (0 - N)"
39729 },
39730 "privsep" : {
39731 "default" : 1,
39732 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39733 "optional" : 1,
39734 "type" : "boolean",
39735 "typetext" : "<boolean>"
39736 },
39737 "tokenid" : {
39738 "description" : "User-specific token identifier.",
39739 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39740 "type" : "string"
39741 },
39742 "userid" : {
39743 "description" : "User ID",
39744 "format" : "pve-userid",
39745 "maxLength" : 64,
39746 "type" : "string",
39747 "typetext" : "<string>"
39748 }
39749 }
39750 },
39751 "permissions" : {
39752 "check" : [
39753 "or",
39754 [
39755 "userid-param",
39756 "self"
39757 ],
39758 [
39759 "perm",
39760 "/access/users/{userid}",
39761 [
39762 "User.Modify"
39763 ]
39764 ]
39765 ]
39766 },
39767 "protected" : 1,
39768 "returns" : {
e9cd3bd4
TL
39769 "additionalProperties" : 0,
39770 "properties" : {
c5aa7e14
TL
39771 "full-tokenid" : {
39772 "description" : "The full token id.",
39773 "format_description" : "<userid>!<tokenid>",
e9cd3bd4
TL
39774 "type" : "string"
39775 },
e9cd3bd4
TL
39776 "info" : {
39777 "properties" : {
39778 "comment" : {
39779 "optional" : 1,
39780 "type" : "string"
39781 },
39782 "expire" : {
39783 "default" : "same as user",
39784 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39785 "minimum" : 0,
39786 "optional" : 1,
39787 "type" : "integer"
39788 },
39789 "privsep" : {
39790 "default" : 1,
39791 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39792 "optional" : 1,
39793 "type" : "boolean"
39794 }
39795 },
39796 "type" : "object"
39797 },
39798 "value" : {
39799 "description" : "API token value used for authentication.",
39800 "type" : "string"
39801 }
39802 },
39803 "type" : "object"
39804 }
39805 },
39806 "PUT" : {
39807 "allowtoken" : 1,
39808 "description" : "Update API token for a specific user.",
39809 "method" : "PUT",
39810 "name" : "update_token_info",
39811 "parameters" : {
39812 "additionalProperties" : 0,
39813 "properties" : {
39814 "comment" : {
39815 "optional" : 1,
39816 "type" : "string",
39817 "typetext" : "<string>"
39818 },
39819 "expire" : {
39820 "default" : "same as user",
39821 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39822 "minimum" : 0,
39823 "optional" : 1,
39824 "type" : "integer",
39825 "typetext" : "<integer> (0 - N)"
39826 },
39827 "privsep" : {
39828 "default" : 1,
39829 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39830 "optional" : 1,
39831 "type" : "boolean",
39832 "typetext" : "<boolean>"
39833 },
39834 "tokenid" : {
39835 "description" : "User-specific token identifier.",
39836 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39837 "type" : "string"
39838 },
39839 "userid" : {
39840 "description" : "User ID",
39841 "format" : "pve-userid",
39842 "maxLength" : 64,
39843 "type" : "string",
39844 "typetext" : "<string>"
39845 }
39846 }
39847 },
39848 "permissions" : {
39849 "check" : [
39850 "or",
39851 [
39852 "userid-param",
39853 "self"
39854 ],
39855 [
39856 "perm",
39857 "/access/users/{userid}",
39858 [
39859 "User.Modify"
39860 ]
39861 ]
39862 ]
39863 },
39864 "protected" : 1,
39865 "returns" : {
39866 "description" : "Updated token information.",
39867 "properties" : {
39868 "comment" : {
39869 "optional" : 1,
39870 "type" : "string"
39871 },
39872 "expire" : {
39873 "default" : "same as user",
39874 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39875 "minimum" : 0,
39876 "optional" : 1,
39877 "type" : "integer"
39878 },
39879 "privsep" : {
39880 "default" : 1,
39881 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39882 "optional" : 1,
39883 "type" : "boolean"
39884 }
39885 },
39886 "type" : "object"
39887 }
39888 }
39889 },
39890 "leaf" : 1,
39891 "path" : "/access/users/{userid}/token/{tokenid}",
39892 "text" : "{tokenid}"
39893 }
39894 ],
39895 "info" : {
39896 "GET" : {
39897 "allowtoken" : 1,
39898 "description" : "Get user API tokens.",
39899 "method" : "GET",
39900 "name" : "token_index",
39901 "parameters" : {
39902 "additionalProperties" : 0,
39903 "properties" : {
39904 "userid" : {
39905 "description" : "User ID",
39906 "format" : "pve-userid",
39907 "maxLength" : 64,
39908 "type" : "string",
39909 "typetext" : "<string>"
39910 }
39911 }
39912 },
39913 "permissions" : {
39914 "check" : [
39915 "or",
39916 [
39917 "userid-param",
39918 "self"
39919 ],
39920 [
39921 "perm",
39922 "/access/users/{userid}",
39923 [
39924 "User.Modify"
39925 ]
39926 ]
39927 ]
39928 },
39929 "returns" : {
39930 "items" : {
39931 "properties" : {
39932 "comment" : {
39933 "optional" : 1,
39934 "type" : "string"
39935 },
39936 "expire" : {
39937 "default" : "same as user",
39938 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39939 "minimum" : 0,
39940 "optional" : 1,
39941 "type" : "integer"
39942 },
39943 "privsep" : {
39944 "default" : 1,
39945 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39946 "optional" : 1,
39947 "type" : "boolean"
39948 },
39949 "tokenid" : {
39950 "description" : "User-specific token identifier.",
39951 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39952 "type" : "string"
39953 }
39954 },
39955 "type" : "object"
39956 },
39957 "links" : [
39958 {
39959 "href" : "{tokenid}",
39960 "rel" : "child"
39961 }
39962 ],
39963 "type" : "array"
39964 }
39965 }
39966 },
39967 "leaf" : 0,
39968 "path" : "/access/users/{userid}/token",
39969 "text" : "token"
bb4c8cf8
TL
39970 }
39971 ],
56122987 39972 "info" : {
44660702 39973 "DELETE" : {
e9cd3bd4 39974 "allowtoken" : 1,
44660702
DM
39975 "description" : "Delete user.",
39976 "method" : "DELETE",
39977 "name" : "delete_user",
56122987 39978 "parameters" : {
7aacca6f 39979 "additionalProperties" : 0,
56122987 39980 "properties" : {
56122987 39981 "userid" : {
56122987
DM
39982 "description" : "User ID",
39983 "format" : "pve-userid",
44660702 39984 "maxLength" : 64,
013dc89f
DM
39985 "type" : "string",
39986 "typetext" : "<string>"
56122987 39987 }
7aacca6f 39988 }
56122987 39989 },
56122987
DM
39990 "permissions" : {
39991 "check" : [
44660702 39992 "and",
56122987 39993 [
44660702
DM
39994 "userid-param",
39995 "Realm.AllocateUser"
56122987 39996 ],
44660702
DM
39997 [
39998 "userid-group",
39999 [
40000 "User.Modify"
40001 ]
40002 ]
56122987 40003 ]
7aacca6f 40004 },
44660702 40005 "protected" : 1,
56122987
DM
40006 "returns" : {
40007 "type" : "null"
44660702 40008 }
7aacca6f 40009 },
44660702 40010 "GET" : {
e9cd3bd4 40011 "allowtoken" : 1,
44660702
DM
40012 "description" : "Get user configuration.",
40013 "method" : "GET",
40014 "name" : "read_user",
56122987
DM
40015 "parameters" : {
40016 "additionalProperties" : 0,
40017 "properties" : {
40018 "userid" : {
44660702 40019 "description" : "User ID",
56122987 40020 "format" : "pve-userid",
44660702 40021 "maxLength" : 64,
013dc89f
DM
40022 "type" : "string",
40023 "typetext" : "<string>"
56122987
DM
40024 }
40025 }
40026 },
56122987
DM
40027 "permissions" : {
40028 "check" : [
44660702 40029 "userid-group",
56122987 40030 [
44660702
DM
40031 "User.Modify",
40032 "Sys.Audit"
56122987
DM
40033 ]
40034 ]
40035 },
56122987 40036 "returns" : {
7aacca6f 40037 "additionalProperties" : 0,
56122987 40038 "properties" : {
44660702
DM
40039 "comment" : {
40040 "optional" : 1,
40041 "type" : "string"
56122987 40042 },
44660702 40043 "email" : {
e2d681b3 40044 "format" : "email-opt",
44660702
DM
40045 "optional" : 1,
40046 "type" : "string"
7aacca6f
DM
40047 },
40048 "enable" : {
e2d681b3
TL
40049 "default" : 1,
40050 "description" : "Enable the account (default). You can set this to '0' to disable the account",
40051 "optional" : 1,
7aacca6f
DM
40052 "type" : "boolean"
40053 },
44660702 40054 "expire" : {
e2d681b3
TL
40055 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
40056 "minimum" : 0,
44660702
DM
40057 "optional" : 1,
40058 "type" : "integer"
40059 },
40060 "firstname" : {
56122987
DM
40061 "optional" : 1,
40062 "type" : "string"
40063 },
44660702 40064 "groups" : {
e9cd3bd4
TL
40065 "items" : {
40066 "format" : "pve-groupid",
40067 "type" : "string"
40068 },
40069 "optional" : 1,
44660702 40070 "type" : "array"
56122987 40071 },
44660702 40072 "keys" : {
e2d681b3 40073 "description" : "Keys for two factor auth (yubico).",
44660702
DM
40074 "optional" : 1,
40075 "type" : "string"
7aacca6f 40076 },
44660702
DM
40077 "lastname" : {
40078 "optional" : 1,
40079 "type" : "string"
e9cd3bd4
TL
40080 },
40081 "tokens" : {
40082 "optional" : 1,
40083 "type" : "object"
56122987 40084 }
e2d681b3
TL
40085 },
40086 "type" : "object"
44660702
DM
40087 }
40088 },
40089 "PUT" : {
e9cd3bd4 40090 "allowtoken" : 1,
44660702
DM
40091 "description" : "Update user configuration.",
40092 "method" : "PUT",
40093 "name" : "update_user",
56122987 40094 "parameters" : {
44660702 40095 "additionalProperties" : 0,
56122987 40096 "properties" : {
44660702
DM
40097 "append" : {
40098 "optional" : 1,
40099 "requires" : "groups",
013dc89f
DM
40100 "type" : "boolean",
40101 "typetext" : "<boolean>"
44660702
DM
40102 },
40103 "comment" : {
40104 "optional" : 1,
013dc89f
DM
40105 "type" : "string",
40106 "typetext" : "<string>"
44660702
DM
40107 },
40108 "email" : {
40109 "format" : "email-opt",
40110 "optional" : 1,
013dc89f
DM
40111 "type" : "string",
40112 "typetext" : "<string>"
44660702
DM
40113 },
40114 "enable" : {
e2d681b3
TL
40115 "default" : 1,
40116 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 40117 "optional" : 1,
013dc89f
DM
40118 "type" : "boolean",
40119 "typetext" : "<boolean>"
44660702
DM
40120 },
40121 "expire" : {
40122 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
40123 "minimum" : 0,
40124 "optional" : 1,
4bd7df8b 40125 "type" : "integer",
013dc89f 40126 "typetext" : "<integer> (0 - N)"
44660702
DM
40127 },
40128 "firstname" : {
40129 "optional" : 1,
013dc89f
DM
40130 "type" : "string",
40131 "typetext" : "<string>"
44660702
DM
40132 },
40133 "groups" : {
40134 "format" : "pve-groupid-list",
40135 "optional" : 1,
013dc89f
DM
40136 "type" : "string",
40137 "typetext" : "<string>"
44660702
DM
40138 },
40139 "keys" : {
40140 "description" : "Keys for two factor auth (yubico).",
40141 "optional" : 1,
013dc89f
DM
40142 "type" : "string",
40143 "typetext" : "<string>"
44660702
DM
40144 },
40145 "lastname" : {
40146 "optional" : 1,
013dc89f
DM
40147 "type" : "string",
40148 "typetext" : "<string>"
44660702 40149 },
56122987 40150 "userid" : {
56122987
DM
40151 "description" : "User ID",
40152 "format" : "pve-userid",
44660702 40153 "maxLength" : 64,
013dc89f
DM
40154 "type" : "string",
40155 "typetext" : "<string>"
56122987 40156 }
44660702 40157 }
56122987 40158 },
56122987
DM
40159 "permissions" : {
40160 "check" : [
40161 "userid-group",
40162 [
44660702
DM
40163 "User.Modify"
40164 ],
40165 "groups_param",
40166 1
56122987
DM
40167 ]
40168 },
44660702
DM
40169 "protected" : 1,
40170 "returns" : {
40171 "type" : "null"
40172 }
56122987
DM
40173 }
40174 },
bb4c8cf8 40175 "leaf" : 0,
44660702 40176 "path" : "/access/users/{userid}",
7aacca6f 40177 "text" : "{userid}"
56122987 40178 }
7aacca6f 40179 ],
56122987 40180 "info" : {
7aacca6f 40181 "GET" : {
e9cd3bd4 40182 "allowtoken" : 1,
44660702
DM
40183 "description" : "User index.",
40184 "method" : "GET",
7aacca6f 40185 "name" : "index",
56122987 40186 "parameters" : {
44660702
DM
40187 "additionalProperties" : 0,
40188 "properties" : {
40189 "enabled" : {
40190 "description" : "Optional filter for enable property.",
40191 "optional" : 1,
013dc89f
DM
40192 "type" : "boolean",
40193 "typetext" : "<boolean>"
e9cd3bd4
TL
40194 },
40195 "full" : {
40196 "default" : 0,
40197 "description" : "Include group and token information.",
40198 "optional" : 1,
40199 "type" : "boolean",
40200 "typetext" : "<boolean>"
44660702
DM
40201 }
40202 }
40203 },
40204 "permissions" : {
40205 "description" : "The returned list is restricted to users where you have 'User.Modify' or 'Sys.Audit' permissions on '/access/groups' or on a group the user belongs too. But it always includes the current (authenticated) user.",
40206 "user" : "all"
56122987 40207 },
7aacca6f 40208 "returns" : {
7aacca6f
DM
40209 "items" : {
40210 "properties" : {
e2d681b3
TL
40211 "comment" : {
40212 "optional" : 1,
40213 "type" : "string"
40214 },
40215 "email" : {
40216 "format" : "email-opt",
40217 "optional" : 1,
40218 "type" : "string"
40219 },
40220 "enable" : {
40221 "default" : 1,
40222 "description" : "Enable the account (default). You can set this to '0' to disable the account",
40223 "optional" : 1,
40224 "type" : "boolean"
40225 },
40226 "expire" : {
40227 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
40228 "minimum" : 0,
40229 "optional" : 1,
40230 "type" : "integer"
40231 },
40232 "firstname" : {
40233 "optional" : 1,
40234 "type" : "string"
40235 },
e9cd3bd4
TL
40236 "groups" : {
40237 "format" : "pve-groupid-list",
40238 "optional" : 1,
40239 "type" : "string"
40240 },
e2d681b3
TL
40241 "keys" : {
40242 "description" : "Keys for two factor auth (yubico).",
40243 "optional" : 1,
40244 "type" : "string"
40245 },
40246 "lastname" : {
40247 "optional" : 1,
40248 "type" : "string"
40249 },
e9cd3bd4
TL
40250 "tokens" : {
40251 "items" : {
40252 "properties" : {
40253 "comment" : {
40254 "optional" : 1,
40255 "type" : "string"
40256 },
40257 "expire" : {
40258 "default" : "same as user",
40259 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
40260 "minimum" : 0,
40261 "optional" : 1,
40262 "type" : "integer"
40263 },
40264 "privsep" : {
40265 "default" : 1,
40266 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
40267 "optional" : 1,
40268 "type" : "boolean"
40269 },
40270 "tokenid" : {
40271 "description" : "User-specific token identifier.",
40272 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
40273 "type" : "string"
40274 }
40275 },
40276 "type" : "object"
40277 },
40278 "optional" : 1,
40279 "type" : "array"
40280 },
44660702 40281 "userid" : {
e2d681b3
TL
40282 "description" : "User ID",
40283 "format" : "pve-userid",
40284 "maxLength" : 64,
7aacca6f
DM
40285 "type" : "string"
40286 }
40287 },
40288 "type" : "object"
40289 },
44660702
DM
40290 "links" : [
40291 {
40292 "href" : "{userid}",
40293 "rel" : "child"
40294 }
40295 ],
7aacca6f
DM
40296 "type" : "array"
40297 }
40298 },
40299 "POST" : {
e9cd3bd4 40300 "allowtoken" : 1,
44660702 40301 "description" : "Create new user.",
7aacca6f 40302 "method" : "POST",
44660702 40303 "name" : "create_user",
56122987 40304 "parameters" : {
7aacca6f
DM
40305 "additionalProperties" : 0,
40306 "properties" : {
44660702
DM
40307 "comment" : {
40308 "optional" : 1,
013dc89f
DM
40309 "type" : "string",
40310 "typetext" : "<string>"
7aacca6f 40311 },
44660702
DM
40312 "email" : {
40313 "format" : "email-opt",
40314 "optional" : 1,
013dc89f
DM
40315 "type" : "string",
40316 "typetext" : "<string>"
44660702
DM
40317 },
40318 "enable" : {
40319 "default" : 1,
e2d681b3 40320 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 40321 "optional" : 1,
013dc89f
DM
40322 "type" : "boolean",
40323 "typetext" : "<boolean>"
44660702
DM
40324 },
40325 "expire" : {
40326 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
40327 "minimum" : 0,
40328 "optional" : 1,
4bd7df8b 40329 "type" : "integer",
013dc89f 40330 "typetext" : "<integer> (0 - N)"
44660702
DM
40331 },
40332 "firstname" : {
40333 "optional" : 1,
013dc89f
DM
40334 "type" : "string",
40335 "typetext" : "<string>"
44660702
DM
40336 },
40337 "groups" : {
40338 "format" : "pve-groupid-list",
40339 "optional" : 1,
013dc89f
DM
40340 "type" : "string",
40341 "typetext" : "<string>"
44660702
DM
40342 },
40343 "keys" : {
40344 "description" : "Keys for two factor auth (yubico).",
40345 "optional" : 1,
013dc89f
DM
40346 "type" : "string",
40347 "typetext" : "<string>"
44660702
DM
40348 },
40349 "lastname" : {
7aacca6f 40350 "optional" : 1,
013dc89f
DM
40351 "type" : "string",
40352 "typetext" : "<string>"
44660702
DM
40353 },
40354 "password" : {
40355 "description" : "Initial password.",
40356 "maxLength" : 64,
40357 "minLength" : 5,
40358 "optional" : 1,
013dc89f
DM
40359 "type" : "string",
40360 "typetext" : "<string>"
44660702
DM
40361 },
40362 "userid" : {
40363 "description" : "User ID",
40364 "format" : "pve-userid",
40365 "maxLength" : 64,
013dc89f
DM
40366 "type" : "string",
40367 "typetext" : "<string>"
56122987 40368 }
7aacca6f 40369 }
56122987 40370 },
44660702
DM
40371 "permissions" : {
40372 "check" : [
40373 "and",
40374 [
40375 "userid-param",
40376 "Realm.AllocateUser"
40377 ],
40378 [
40379 "userid-group",
40380 [
40381 "User.Modify"
40382 ],
40383 "groups_param",
40384 1
40385 ]
40386 ],
40387 "description" : "You need 'Realm.AllocateUser' on '/access/realm/<realm>' on the realm of user <userid>, and 'User.Modify' permissions to '/access/groups/<group>' for any group specified (or 'User.Modify' on '/access/groups' if you pass no groups."
40388 },
40389 "protected" : 1,
40390 "returns" : {
40391 "type" : "null"
40392 }
56122987
DM
40393 }
40394 },
44660702
DM
40395 "leaf" : 0,
40396 "path" : "/access/users",
40397 "text" : "users"
40398 },
40399 {
56122987
DM
40400 "children" : [
40401 {
56122987
DM
40402 "info" : {
40403 "DELETE" : {
e9cd3bd4 40404 "allowtoken" : 1,
44660702
DM
40405 "description" : "Delete group.",
40406 "method" : "DELETE",
40407 "name" : "delete_group",
40408 "parameters" : {
40409 "additionalProperties" : 0,
40410 "properties" : {
40411 "groupid" : {
40412 "format" : "pve-groupid",
013dc89f
DM
40413 "type" : "string",
40414 "typetext" : "<string>"
44660702
DM
40415 }
40416 }
40417 },
7aacca6f
DM
40418 "permissions" : {
40419 "check" : [
40420 "perm",
40421 "/access/groups",
40422 [
40423 "Group.Allocate"
40424 ]
40425 ]
40426 },
7aacca6f 40427 "protected" : 1,
7aacca6f
DM
40428 "returns" : {
40429 "type" : "null"
44660702 40430 }
7aacca6f 40431 },
44660702 40432 "GET" : {
e9cd3bd4 40433 "allowtoken" : 1,
44660702
DM
40434 "description" : "Get group configuration.",
40435 "method" : "GET",
40436 "name" : "read_group",
40437 "parameters" : {
40438 "additionalProperties" : 0,
40439 "properties" : {
40440 "groupid" : {
40441 "format" : "pve-groupid",
013dc89f
DM
40442 "type" : "string",
40443 "typetext" : "<string>"
44660702
DM
40444 }
40445 }
56122987 40446 },
7aacca6f
DM
40447 "permissions" : {
40448 "check" : [
40449 "perm",
40450 "/access/groups",
40451 [
44660702 40452 "Sys.Audit",
7aacca6f 40453 "Group.Allocate"
44660702
DM
40454 ],
40455 "any",
40456 1
7aacca6f
DM
40457 ]
40458 },
7aacca6f 40459 "returns" : {
44660702 40460 "additionalProperties" : 0,
7aacca6f
DM
40461 "properties" : {
40462 "comment" : {
44660702
DM
40463 "optional" : 1,
40464 "type" : "string"
7aacca6f
DM
40465 },
40466 "members" : {
40467 "items" : {
e2d681b3
TL
40468 "description" : "User ID",
40469 "format" : "pve-userid",
40470 "maxLength" : 64,
7aacca6f
DM
40471 "type" : "string"
40472 },
40473 "type" : "array"
40474 }
40475 },
44660702
DM
40476 "type" : "object"
40477 }
40478 },
40479 "PUT" : {
e9cd3bd4 40480 "allowtoken" : 1,
44660702
DM
40481 "description" : "Update group data.",
40482 "method" : "PUT",
40483 "name" : "update_group",
56122987 40484 "parameters" : {
44660702 40485 "additionalProperties" : 0,
56122987 40486 "properties" : {
44660702
DM
40487 "comment" : {
40488 "optional" : 1,
013dc89f
DM
40489 "type" : "string",
40490 "typetext" : "<string>"
44660702 40491 },
56122987
DM
40492 "groupid" : {
40493 "format" : "pve-groupid",
013dc89f
DM
40494 "type" : "string",
40495 "typetext" : "<string>"
56122987 40496 }
44660702 40497 }
56122987 40498 },
56122987
DM
40499 "permissions" : {
40500 "check" : [
40501 "perm",
40502 "/access/groups",
40503 [
40504 "Group.Allocate"
44660702 40505 ]
56122987
DM
40506 ]
40507 },
44660702
DM
40508 "protected" : 1,
40509 "returns" : {
40510 "type" : "null"
40511 }
7aacca6f
DM
40512 }
40513 },
7aacca6f 40514 "leaf" : 1,
44660702
DM
40515 "path" : "/access/groups/{groupid}",
40516 "text" : "{groupid}"
40517 }
40518 ],
40519 "info" : {
40520 "GET" : {
e9cd3bd4 40521 "allowtoken" : 1,
44660702
DM
40522 "description" : "Group index.",
40523 "method" : "GET",
40524 "name" : "index",
40525 "parameters" : {
40526 "additionalProperties" : 0
40527 },
40528 "permissions" : {
40529 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
40530 "user" : "all"
40531 },
40532 "returns" : {
40533 "items" : {
40534 "properties" : {
e2d681b3
TL
40535 "comment" : {
40536 "optional" : 1,
40537 "type" : "string"
40538 },
44660702 40539 "groupid" : {
e2d681b3 40540 "format" : "pve-groupid",
44660702 40541 "type" : "string"
e9cd3bd4
TL
40542 },
40543 "users" : {
40544 "description" : "list of users which form this group",
40545 "format" : "pve-userid-list",
40546 "optional" : 1,
40547 "type" : "string"
44660702
DM
40548 }
40549 },
40550 "type" : "object"
40551 },
40552 "links" : [
40553 {
40554 "href" : "{groupid}",
40555 "rel" : "child"
40556 }
40557 ],
40558 "type" : "array"
40559 }
40560 },
40561 "POST" : {
e9cd3bd4 40562 "allowtoken" : 1,
44660702
DM
40563 "description" : "Create new group.",
40564 "method" : "POST",
40565 "name" : "create_group",
40566 "parameters" : {
40567 "additionalProperties" : 0,
40568 "properties" : {
40569 "comment" : {
40570 "optional" : 1,
013dc89f
DM
40571 "type" : "string",
40572 "typetext" : "<string>"
44660702
DM
40573 },
40574 "groupid" : {
40575 "format" : "pve-groupid",
013dc89f
DM
40576 "type" : "string",
40577 "typetext" : "<string>"
44660702
DM
40578 }
40579 }
40580 },
40581 "permissions" : {
40582 "check" : [
40583 "perm",
40584 "/access/groups",
40585 [
40586 "Group.Allocate"
40587 ]
40588 ]
40589 },
40590 "protected" : 1,
40591 "returns" : {
40592 "type" : "null"
40593 }
7aacca6f 40594 }
44660702 40595 },
7aacca6f 40596 "leaf" : 0,
44660702
DM
40597 "path" : "/access/groups",
40598 "text" : "groups"
7aacca6f
DM
40599 },
40600 {
40601 "children" : [
40602 {
7aacca6f 40603 "info" : {
7aacca6f 40604 "DELETE" : {
e9cd3bd4 40605 "allowtoken" : 1,
7aacca6f 40606 "description" : "Delete role.",
44660702 40607 "method" : "DELETE",
7aacca6f 40608 "name" : "delete_role",
56122987
DM
40609 "parameters" : {
40610 "additionalProperties" : 0,
40611 "properties" : {
7aacca6f
DM
40612 "roleid" : {
40613 "format" : "pve-roleid",
013dc89f
DM
40614 "type" : "string",
40615 "typetext" : "<string>"
56122987
DM
40616 }
40617 }
40618 },
56122987
DM
40619 "permissions" : {
40620 "check" : [
40621 "perm",
7aacca6f 40622 "/access",
56122987 40623 [
7aacca6f
DM
40624 "Sys.Modify"
40625 ]
56122987 40626 ]
44660702
DM
40627 },
40628 "protected" : 1,
40629 "returns" : {
40630 "type" : "null"
56122987
DM
40631 }
40632 },
44660702 40633 "GET" : {
e9cd3bd4 40634 "allowtoken" : 1,
44660702
DM
40635 "description" : "Get role configuration.",
40636 "method" : "GET",
40637 "name" : "read_role",
40638 "parameters" : {
40639 "additionalProperties" : 0,
40640 "properties" : {
40641 "roleid" : {
40642 "format" : "pve-roleid",
013dc89f
DM
40643 "type" : "string",
40644 "typetext" : "<string>"
44660702
DM
40645 }
40646 }
40647 },
7aacca6f 40648 "permissions" : {
44660702 40649 "user" : "all"
56122987 40650 },
e2d681b3
TL
40651 "returns" : {
40652 "additionalProperties" : 0,
40653 "properties" : {
40654 "Datastore.Allocate" : {
40655 "optional" : 1,
40656 "type" : "boolean"
40657 },
40658 "Datastore.AllocateSpace" : {
40659 "optional" : 1,
40660 "type" : "boolean"
40661 },
40662 "Datastore.AllocateTemplate" : {
40663 "optional" : 1,
40664 "type" : "boolean"
40665 },
40666 "Datastore.Audit" : {
40667 "optional" : 1,
40668 "type" : "boolean"
40669 },
40670 "Group.Allocate" : {
40671 "optional" : 1,
40672 "type" : "boolean"
40673 },
40674 "Permissions.Modify" : {
40675 "optional" : 1,
40676 "type" : "boolean"
40677 },
40678 "Pool.Allocate" : {
40679 "optional" : 1,
40680 "type" : "boolean"
40681 },
40682 "Realm.Allocate" : {
40683 "optional" : 1,
40684 "type" : "boolean"
40685 },
40686 "Realm.AllocateUser" : {
40687 "optional" : 1,
40688 "type" : "boolean"
40689 },
5c1699e5
TL
40690 "SDN.Allocate" : {
40691 "optional" : 1,
40692 "type" : "boolean"
40693 },
40694 "SDN.Audit" : {
40695 "optional" : 1,
40696 "type" : "boolean"
40697 },
e2d681b3
TL
40698 "Sys.Audit" : {
40699 "optional" : 1,
40700 "type" : "boolean"
40701 },
40702 "Sys.Console" : {
40703 "optional" : 1,
40704 "type" : "boolean"
40705 },
40706 "Sys.Modify" : {
40707 "optional" : 1,
40708 "type" : "boolean"
40709 },
40710 "Sys.PowerMgmt" : {
40711 "optional" : 1,
40712 "type" : "boolean"
40713 },
40714 "Sys.Syslog" : {
40715 "optional" : 1,
40716 "type" : "boolean"
40717 },
40718 "User.Modify" : {
40719 "optional" : 1,
40720 "type" : "boolean"
40721 },
40722 "VM.Allocate" : {
40723 "optional" : 1,
40724 "type" : "boolean"
40725 },
40726 "VM.Audit" : {
40727 "optional" : 1,
40728 "type" : "boolean"
40729 },
40730 "VM.Backup" : {
40731 "optional" : 1,
40732 "type" : "boolean"
40733 },
40734 "VM.Clone" : {
40735 "optional" : 1,
40736 "type" : "boolean"
40737 },
40738 "VM.Config.CDROM" : {
40739 "optional" : 1,
40740 "type" : "boolean"
40741 },
40742 "VM.Config.CPU" : {
40743 "optional" : 1,
40744 "type" : "boolean"
40745 },
ac70d7d1
TL
40746 "VM.Config.Cloudinit" : {
40747 "optional" : 1,
40748 "type" : "boolean"
40749 },
e2d681b3
TL
40750 "VM.Config.Disk" : {
40751 "optional" : 1,
40752 "type" : "boolean"
40753 },
40754 "VM.Config.HWType" : {
40755 "optional" : 1,
40756 "type" : "boolean"
40757 },
40758 "VM.Config.Memory" : {
40759 "optional" : 1,
40760 "type" : "boolean"
40761 },
40762 "VM.Config.Network" : {
40763 "optional" : 1,
40764 "type" : "boolean"
40765 },
40766 "VM.Config.Options" : {
40767 "optional" : 1,
40768 "type" : "boolean"
40769 },
40770 "VM.Console" : {
40771 "optional" : 1,
40772 "type" : "boolean"
40773 },
40774 "VM.Migrate" : {
40775 "optional" : 1,
40776 "type" : "boolean"
40777 },
40778 "VM.Monitor" : {
40779 "optional" : 1,
40780 "type" : "boolean"
40781 },
40782 "VM.PowerMgmt" : {
40783 "optional" : 1,
40784 "type" : "boolean"
40785 },
40786 "VM.Snapshot" : {
40787 "optional" : 1,
40788 "type" : "boolean"
40789 },
40790 "VM.Snapshot.Rollback" : {
40791 "optional" : 1,
40792 "type" : "boolean"
40793 }
40794 },
40795 "type" : "object"
40796 }
44660702
DM
40797 },
40798 "PUT" : {
e9cd3bd4 40799 "allowtoken" : 1,
e2d681b3 40800 "description" : "Update an existing role.",
44660702
DM
40801 "method" : "PUT",
40802 "name" : "update_role",
56122987
DM
40803 "parameters" : {
40804 "additionalProperties" : 0,
40805 "properties" : {
7aacca6f 40806 "append" : {
44660702 40807 "optional" : 1,
7aacca6f 40808 "requires" : "privs",
013dc89f
DM
40809 "type" : "boolean",
40810 "typetext" : "<boolean>"
7aacca6f
DM
40811 },
40812 "privs" : {
40813 "format" : "pve-priv-list",
e2d681b3 40814 "optional" : 1,
013dc89f
DM
40815 "type" : "string",
40816 "typetext" : "<string>"
44660702
DM
40817 },
40818 "roleid" : {
40819 "format" : "pve-roleid",
013dc89f
DM
40820 "type" : "string",
40821 "typetext" : "<string>"
56122987
DM
40822 }
40823 }
40824 },
44660702
DM
40825 "permissions" : {
40826 "check" : [
40827 "perm",
40828 "/access",
40829 [
40830 "Sys.Modify"
40831 ]
40832 ]
40833 },
56122987 40834 "protected" : 1,
7aacca6f
DM
40835 "returns" : {
40836 "type" : "null"
56122987
DM
40837 }
40838 }
40839 },
44660702 40840 "leaf" : 1,
7aacca6f 40841 "path" : "/access/roles/{roleid}",
44660702 40842 "text" : "{roleid}"
56122987
DM
40843 }
40844 ],
56122987 40845 "info" : {
7aacca6f 40846 "GET" : {
e9cd3bd4 40847 "allowtoken" : 1,
7aacca6f 40848 "description" : "Role index.",
44660702 40849 "method" : "GET",
7aacca6f 40850 "name" : "index",
56122987 40851 "parameters" : {
56122987
DM
40852 "additionalProperties" : 0
40853 },
7aacca6f
DM
40854 "permissions" : {
40855 "user" : "all"
40856 },
56122987 40857 "returns" : {
7aacca6f 40858 "items" : {
7aacca6f 40859 "properties" : {
e2d681b3
TL
40860 "privs" : {
40861 "format" : "pve-priv-list",
40862 "optional" : 1,
40863 "type" : "string"
40864 },
7aacca6f 40865 "roleid" : {
e2d681b3 40866 "format" : "pve-roleid",
7aacca6f 40867 "type" : "string"
e2d681b3
TL
40868 },
40869 "special" : {
40870 "default" : 0,
40871 "optional" : 1,
40872 "type" : "boolean"
7aacca6f 40873 }
44660702
DM
40874 },
40875 "type" : "object"
40876 },
40877 "links" : [
40878 {
40879 "href" : "{roleid}",
40880 "rel" : "child"
7aacca6f 40881 }
44660702
DM
40882 ],
40883 "type" : "array"
40884 }
7aacca6f
DM
40885 },
40886 "POST" : {
e9cd3bd4 40887 "allowtoken" : 1,
7aacca6f 40888 "description" : "Create new role.",
44660702
DM
40889 "method" : "POST",
40890 "name" : "create_role",
7aacca6f
DM
40891 "parameters" : {
40892 "additionalProperties" : 0,
40893 "properties" : {
7aacca6f
DM
40894 "privs" : {
40895 "format" : "pve-priv-list",
40896 "optional" : 1,
013dc89f
DM
40897 "type" : "string",
40898 "typetext" : "<string>"
44660702
DM
40899 },
40900 "roleid" : {
40901 "format" : "pve-roleid",
013dc89f
DM
40902 "type" : "string",
40903 "typetext" : "<string>"
7aacca6f
DM
40904 }
40905 }
40906 },
44660702
DM
40907 "permissions" : {
40908 "check" : [
40909 "perm",
40910 "/access",
40911 [
40912 "Sys.Modify"
40913 ]
40914 ]
40915 },
40916 "protected" : 1,
7aacca6f
DM
40917 "returns" : {
40918 "type" : "null"
40919 }
40920 }
40921 },
44660702 40922 "leaf" : 0,
7aacca6f 40923 "path" : "/access/roles",
44660702 40924 "text" : "roles"
7aacca6f
DM
40925 },
40926 {
40927 "info" : {
56122987 40928 "GET" : {
e9cd3bd4 40929 "allowtoken" : 1,
44660702
DM
40930 "description" : "Get Access Control List (ACLs).",
40931 "method" : "GET",
40932 "name" : "read_acl",
7aacca6f
DM
40933 "parameters" : {
40934 "additionalProperties" : 0
40935 },
44660702
DM
40936 "permissions" : {
40937 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
40938 "user" : "all"
40939 },
56122987 40940 "returns" : {
56122987 40941 "items" : {
44660702 40942 "additionalProperties" : 0,
56122987 40943 "properties" : {
7aacca6f 40944 "path" : {
e2d681b3 40945 "description" : "Access control path",
7aacca6f
DM
40946 "type" : "string"
40947 },
44660702 40948 "propagate" : {
e2d681b3
TL
40949 "default" : 1,
40950 "description" : "Allow to propagate (inherit) permissions.",
40951 "optional" : 1,
44660702
DM
40952 "type" : "boolean"
40953 },
40954 "roleid" : {
40955 "type" : "string"
40956 },
7aacca6f
DM
40957 "type" : {
40958 "enum" : [
40959 "user",
e9cd3bd4
TL
40960 "group",
40961 "token"
7aacca6f
DM
40962 ],
40963 "type" : "string"
40964 },
7aacca6f
DM
40965 "ugid" : {
40966 "type" : "string"
56122987 40967 }
7aacca6f 40968 },
44660702 40969 "type" : "object"
7aacca6f
DM
40970 },
40971 "type" : "array"
44660702 40972 }
7aacca6f
DM
40973 },
40974 "PUT" : {
e9cd3bd4 40975 "allowtoken" : 1,
44660702
DM
40976 "description" : "Update Access Control List (add or remove permissions).",
40977 "method" : "PUT",
7aacca6f
DM
40978 "name" : "update_acl",
40979 "parameters" : {
40980 "additionalProperties" : 0,
40981 "properties" : {
40982 "delete" : {
44660702 40983 "description" : "Remove permissions (instead of adding it).",
7aacca6f 40984 "optional" : 1,
013dc89f
DM
40985 "type" : "boolean",
40986 "typetext" : "<boolean>"
7aacca6f 40987 },
44660702
DM
40988 "groups" : {
40989 "description" : "List of groups.",
40990 "format" : "pve-groupid-list",
7aacca6f 40991 "optional" : 1,
013dc89f
DM
40992 "type" : "string",
40993 "typetext" : "<string>"
7aacca6f
DM
40994 },
40995 "path" : {
40996 "description" : "Access control path",
013dc89f
DM
40997 "type" : "string",
40998 "typetext" : "<string>"
7aacca6f 40999 },
7aacca6f 41000 "propagate" : {
44660702 41001 "default" : 1,
7aacca6f 41002 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 41003 "optional" : 1,
013dc89f
DM
41004 "type" : "boolean",
41005 "typetext" : "<boolean>"
7aacca6f 41006 },
44660702
DM
41007 "roles" : {
41008 "description" : "List of roles.",
41009 "format" : "pve-roleid-list",
013dc89f
DM
41010 "type" : "string",
41011 "typetext" : "<string>"
44660702 41012 },
e9cd3bd4
TL
41013 "tokens" : {
41014 "description" : "List of API tokens.",
41015 "format" : "pve-tokenid-list",
41016 "optional" : 1,
41017 "type" : "string",
41018 "typetext" : "<string>"
41019 },
44660702
DM
41020 "users" : {
41021 "description" : "List of users.",
41022 "format" : "pve-userid-list",
7aacca6f 41023 "optional" : 1,
013dc89f
DM
41024 "type" : "string",
41025 "typetext" : "<string>"
56122987
DM
41026 }
41027 }
41028 },
56122987 41029 "permissions" : {
7aacca6f
DM
41030 "check" : [
41031 "perm-modify",
41032 "{path}"
41033 ]
41034 },
7aacca6f
DM
41035 "protected" : 1,
41036 "returns" : {
41037 "type" : "null"
44660702 41038 }
56122987
DM
41039 }
41040 },
7aacca6f 41041 "leaf" : 1,
44660702
DM
41042 "path" : "/access/acl",
41043 "text" : "acl"
7aacca6f
DM
41044 },
41045 {
56122987
DM
41046 "children" : [
41047 {
c5aa7e14
TL
41048 "children" : [
41049 {
41050 "info" : {
41051 "POST" : {
41052 "allowtoken" : 1,
41053 "description" : "Syncs users and/or groups from the configured LDAP to user.cfg. NOTE: Synced groups will have the name 'name-$realm', so make sure those groups do not exist to prevent overwriting.",
41054 "method" : "POST",
41055 "name" : "sync",
41056 "parameters" : {
41057 "additionalProperties" : 0,
41058 "properties" : {
41059 "dry-run" : {
41060 "default" : 0,
41061 "description" : "If set, does not write anything.",
41062 "optional" : 1,
41063 "type" : "boolean",
41064 "typetext" : "<boolean>"
41065 },
41066 "enable-new" : {
41067 "default" : "1",
41068 "description" : "Enable newly synced users immediately.",
41069 "optional" : "1",
41070 "type" : "boolean",
41071 "typetext" : "<boolean>"
41072 },
41073 "full" : {
41074 "description" : "If set, uses the LDAP Directory as source of truth, deleting users or groups not returned from the sync. Otherwise only syncs information which is not already present, and does not deletes or modifies anything else.",
41075 "optional" : "1",
41076 "type" : "boolean",
41077 "typetext" : "<boolean>"
41078 },
41079 "purge" : {
41080 "description" : "Remove ACLs for users or groups which were removed from the config during a sync.",
41081 "optional" : "1",
41082 "type" : "boolean",
41083 "typetext" : "<boolean>"
41084 },
41085 "realm" : {
41086 "description" : "Authentication domain ID",
41087 "format" : "pve-realm",
41088 "maxLength" : 32,
41089 "type" : "string",
41090 "typetext" : "<string>"
41091 },
41092 "scope" : {
41093 "description" : "Select what to sync.",
41094 "enum" : [
41095 "users",
41096 "groups",
41097 "both"
41098 ],
41099 "optional" : "1",
41100 "type" : "string"
41101 }
41102 }
41103 },
41104 "permissions" : {
41105 "check" : [
41106 "and",
41107 [
41108 "userid-param",
41109 "Realm.AllocateUser"
41110 ],
41111 [
41112 "userid-group",
41113 [
41114 "User.Modify"
41115 ]
41116 ]
41117 ],
41118 "description" : "'Realm.AllocateUser' on '/access/realm/<realm>' and 'User.Modify' permissions to '/access/groups/'."
41119 },
41120 "protected" : 1,
41121 "returns" : {
41122 "description" : "Worker Task-UPID",
41123 "type" : "string"
41124 }
41125 }
41126 },
41127 "leaf" : 1,
41128 "path" : "/access/domains/{realm}/sync",
41129 "text" : "sync"
41130 }
41131 ],
56122987 41132 "info" : {
44660702 41133 "DELETE" : {
e9cd3bd4 41134 "allowtoken" : 1,
44660702
DM
41135 "description" : "Delete an authentication server.",
41136 "method" : "DELETE",
41137 "name" : "delete",
41138 "parameters" : {
41139 "additionalProperties" : 0,
41140 "properties" : {
41141 "realm" : {
41142 "description" : "Authentication domain ID",
41143 "format" : "pve-realm",
41144 "maxLength" : 32,
013dc89f
DM
41145 "type" : "string",
41146 "typetext" : "<string>"
56122987 41147 }
44660702 41148 }
56122987 41149 },
56122987
DM
41150 "permissions" : {
41151 "check" : [
41152 "perm",
7aacca6f 41153 "/access/realm",
56122987 41154 [
7aacca6f 41155 "Realm.Allocate"
56122987
DM
41156 ]
41157 ]
41158 },
7aacca6f 41159 "protected" : 1,
7aacca6f
DM
41160 "returns" : {
41161 "type" : "null"
44660702 41162 }
7aacca6f 41163 },
44660702 41164 "GET" : {
e9cd3bd4 41165 "allowtoken" : 1,
44660702
DM
41166 "description" : "Get auth server configuration.",
41167 "method" : "GET",
41168 "name" : "read",
56122987 41169 "parameters" : {
44660702 41170 "additionalProperties" : 0,
56122987 41171 "properties" : {
7aacca6f 41172 "realm" : {
44660702 41173 "description" : "Authentication domain ID",
7aacca6f
DM
41174 "format" : "pve-realm",
41175 "maxLength" : 32,
013dc89f
DM
41176 "type" : "string",
41177 "typetext" : "<string>"
56122987 41178 }
44660702 41179 }
7aacca6f 41180 },
7aacca6f
DM
41181 "permissions" : {
41182 "check" : [
41183 "perm",
41184 "/access/realm",
41185 [
44660702
DM
41186 "Realm.Allocate",
41187 "Sys.Audit"
41188 ],
41189 "any",
41190 1
7aacca6f 41191 ]
44660702
DM
41192 },
41193 "returns" : {}
7aacca6f 41194 },
44660702 41195 "PUT" : {
e9cd3bd4 41196 "allowtoken" : 1,
44660702
DM
41197 "description" : "Update authentication server settings.",
41198 "method" : "PUT",
41199 "name" : "update",
7aacca6f 41200 "parameters" : {
44660702 41201 "additionalProperties" : 0,
7aacca6f 41202 "properties" : {
44660702
DM
41203 "base_dn" : {
41204 "description" : "LDAP base domain name",
41205 "maxLength" : 256,
41206 "optional" : 1,
41207 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41208 "type" : "string"
41209 },
4bd7df8b
DM
41210 "bind_dn" : {
41211 "description" : "LDAP bind domain name",
41212 "maxLength" : 256,
41213 "optional" : 1,
41214 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41215 "type" : "string"
41216 },
2489d6df
WB
41217 "capath" : {
41218 "default" : "/etc/ssl/certs",
41219 "description" : "Path to the CA certificate store",
41220 "optional" : 1,
41221 "type" : "string",
41222 "typetext" : "<string>"
41223 },
41224 "cert" : {
41225 "description" : "Path to the client certificate",
41226 "optional" : 1,
41227 "type" : "string",
41228 "typetext" : "<string>"
41229 },
41230 "certkey" : {
41231 "description" : "Path to the client certificate key",
41232 "optional" : 1,
41233 "type" : "string",
41234 "typetext" : "<string>"
41235 },
44660702
DM
41236 "comment" : {
41237 "description" : "Description.",
41238 "maxLength" : 4096,
41239 "optional" : 1,
013dc89f
DM
41240 "type" : "string",
41241 "typetext" : "<string>"
44660702
DM
41242 },
41243 "default" : {
41244 "description" : "Use this as default realm",
41245 "optional" : 1,
013dc89f
DM
41246 "type" : "boolean",
41247 "typetext" : "<boolean>"
44660702
DM
41248 },
41249 "delete" : {
41250 "description" : "A list of settings you want to delete.",
41251 "format" : "pve-configid-list",
41252 "maxLength" : 4096,
41253 "optional" : 1,
013dc89f
DM
41254 "type" : "string",
41255 "typetext" : "<string>"
44660702
DM
41256 },
41257 "digest" : {
41258 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
41259 "maxLength" : 40,
41260 "optional" : 1,
013dc89f
DM
41261 "type" : "string",
41262 "typetext" : "<string>"
44660702
DM
41263 },
41264 "domain" : {
41265 "description" : "AD domain name",
41266 "maxLength" : 256,
41267 "optional" : 1,
41268 "pattern" : "\\S+",
41269 "type" : "string"
41270 },
c5aa7e14
TL
41271 "filter" : {
41272 "description" : "LDAP filter for user sync.",
41273 "maxLength" : 2048,
41274 "optional" : 1,
41275 "type" : "string",
41276 "typetext" : "<string>"
41277 },
41278 "group_classes" : {
41279 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
41280 "description" : "The objectclasses for groups.",
41281 "format" : "ldap-simple-attr-list",
41282 "optional" : 1,
41283 "type" : "string",
41284 "typetext" : "<string>"
41285 },
41286 "group_dn" : {
41287 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
41288 "maxLength" : 256,
41289 "optional" : 1,
41290 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41291 "type" : "string"
41292 },
41293 "group_filter" : {
41294 "description" : "LDAP filter for group sync.",
41295 "maxLength" : 2048,
41296 "optional" : 1,
41297 "type" : "string",
41298 "typetext" : "<string>"
41299 },
41300 "group_name_attr" : {
41301 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
41302 "format" : "ldap-simple-attr",
41303 "maxLength" : 256,
41304 "optional" : 1,
41305 "type" : "string",
41306 "typetext" : "<string>"
41307 },
41308 "mode" : {
41309 "default" : "ldap",
41310 "description" : "LDAP protocol mode.",
41311 "enum" : [
41312 "ldap",
41313 "ldaps",
41314 "ldap+starttls"
41315 ],
41316 "optional" : 1,
41317 "type" : "string"
41318 },
41319 "password" : {
41320 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
41321 "optional" : 1,
41322 "type" : "string",
41323 "typetext" : "<string>"
41324 },
44660702
DM
41325 "port" : {
41326 "description" : "Server port.",
41327 "maximum" : 65535,
41328 "minimum" : 1,
41329 "optional" : 1,
4bd7df8b 41330 "type" : "integer",
013dc89f 41331 "typetext" : "<integer> (1 - 65535)"
44660702 41332 },
7aacca6f 41333 "realm" : {
7aacca6f
DM
41334 "description" : "Authentication domain ID",
41335 "format" : "pve-realm",
44660702 41336 "maxLength" : 32,
013dc89f
DM
41337 "type" : "string",
41338 "typetext" : "<string>"
44660702
DM
41339 },
41340 "secure" : {
c5aa7e14 41341 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
44660702 41342 "optional" : 1,
013dc89f
DM
41343 "type" : "boolean",
41344 "typetext" : "<boolean>"
44660702
DM
41345 },
41346 "server1" : {
41347 "description" : "Server IP address (or DNS name)",
41348 "format" : "address",
41349 "maxLength" : 256,
41350 "optional" : 1,
013dc89f
DM
41351 "type" : "string",
41352 "typetext" : "<string>"
44660702
DM
41353 },
41354 "server2" : {
41355 "description" : "Fallback Server IP address (or DNS name)",
41356 "format" : "address",
41357 "maxLength" : 256,
41358 "optional" : 1,
013dc89f
DM
41359 "type" : "string",
41360 "typetext" : "<string>"
44660702 41361 },
1c532546
TL
41362 "sslversion" : {
41363 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
41364 "enum" : [
41365 "tlsv1",
41366 "tlsv1_1",
41367 "tlsv1_2",
41368 "tlsv1_3"
41369 ],
41370 "optional" : 1,
41371 "type" : "string"
41372 },
c5aa7e14
TL
41373 "sync-defaults-options" : {
41374 "description" : "The default options for behavior of synchronizations.",
41375 "format" : "realm-sync-options",
41376 "optional" : 1,
41377 "type" : "string",
41378 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
41379 },
41380 "sync_attributes" : {
41381 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.",
41382 "optional" : 1,
41383 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41384 "type" : "string"
41385 },
44660702
DM
41386 "tfa" : {
41387 "description" : "Use Two-factor authentication.",
41388 "format" : "pve-tfa-config",
41389 "maxLength" : 128,
41390 "optional" : 1,
013dc89f 41391 "type" : "string",
95895385 41392 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
41393 },
41394 "user_attr" : {
41395 "description" : "LDAP user attribute name",
41396 "maxLength" : 256,
41397 "optional" : 1,
41398 "pattern" : "\\S{2,}",
41399 "type" : "string"
2489d6df 41400 },
c5aa7e14
TL
41401 "user_classes" : {
41402 "default" : "inetorgperson, posixaccount, person, user",
41403 "description" : "The objectclasses for users.",
41404 "format" : "ldap-simple-attr-list",
41405 "optional" : 1,
41406 "type" : "string",
41407 "typetext" : "<string>"
41408 },
2489d6df
WB
41409 "verify" : {
41410 "default" : 0,
41411 "description" : "Verify the server's SSL certificate",
41412 "optional" : 1,
41413 "type" : "boolean",
41414 "typetext" : "<boolean>"
7aacca6f 41415 }
56122987 41416 },
44660702 41417 "type" : "object"
56122987 41418 },
7aacca6f
DM
41419 "permissions" : {
41420 "check" : [
41421 "perm",
41422 "/access/realm",
41423 [
44660702
DM
41424 "Realm.Allocate"
41425 ]
7aacca6f
DM
41426 ]
41427 },
44660702
DM
41428 "protected" : 1,
41429 "returns" : {
41430 "type" : "null"
41431 }
56122987 41432 }
44660702 41433 },
c5aa7e14 41434 "leaf" : 0,
44660702
DM
41435 "path" : "/access/domains/{realm}",
41436 "text" : "{realm}"
56122987 41437 }
7aacca6f 41438 ],
56122987
DM
41439 "info" : {
41440 "GET" : {
e9cd3bd4 41441 "allowtoken" : 1,
44660702
DM
41442 "description" : "Authentication domain index.",
41443 "method" : "GET",
41444 "name" : "index",
41445 "parameters" : {
41446 "additionalProperties" : 0
41447 },
41448 "permissions" : {
41449 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
41450 "user" : "world"
41451 },
56122987 41452 "returns" : {
56122987
DM
41453 "items" : {
41454 "properties" : {
7aacca6f 41455 "comment" : {
52e44c50 41456 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
41457 "optional" : 1,
41458 "type" : "string"
41459 },
56122987
DM
41460 "realm" : {
41461 "type" : "string"
41462 },
41463 "tfa" : {
7aacca6f 41464 "description" : "Two-factor authentication provider.",
56122987
DM
41465 "enum" : [
41466 "yubico",
41467 "oath"
41468 ],
44660702
DM
41469 "optional" : 1,
41470 "type" : "string"
c5aa7e14
TL
41471 },
41472 "type" : {
41473 "type" : "string"
56122987
DM
41474 }
41475 },
41476 "type" : "object"
44660702
DM
41477 },
41478 "links" : [
41479 {
41480 "href" : "{realm}",
41481 "rel" : "child"
41482 }
41483 ],
41484 "type" : "array"
41485 }
56122987
DM
41486 },
41487 "POST" : {
e9cd3bd4 41488 "allowtoken" : 1,
7aacca6f 41489 "description" : "Add an authentication server.",
44660702 41490 "method" : "POST",
7aacca6f 41491 "name" : "create",
56122987 41492 "parameters" : {
44660702 41493 "additionalProperties" : 0,
56122987 41494 "properties" : {
44660702
DM
41495 "base_dn" : {
41496 "description" : "LDAP base domain name",
56122987 41497 "maxLength" : 256,
44660702
DM
41498 "optional" : 1,
41499 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 41500 "type" : "string"
56122987 41501 },
4bd7df8b
DM
41502 "bind_dn" : {
41503 "description" : "LDAP bind domain name",
41504 "maxLength" : 256,
41505 "optional" : 1,
41506 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41507 "type" : "string"
41508 },
2489d6df
WB
41509 "capath" : {
41510 "default" : "/etc/ssl/certs",
41511 "description" : "Path to the CA certificate store",
41512 "optional" : 1,
41513 "type" : "string",
41514 "typetext" : "<string>"
41515 },
41516 "cert" : {
41517 "description" : "Path to the client certificate",
41518 "optional" : 1,
41519 "type" : "string",
41520 "typetext" : "<string>"
41521 },
41522 "certkey" : {
41523 "description" : "Path to the client certificate key",
41524 "optional" : 1,
41525 "type" : "string",
41526 "typetext" : "<string>"
41527 },
44660702
DM
41528 "comment" : {
41529 "description" : "Description.",
41530 "maxLength" : 4096,
56122987 41531 "optional" : 1,
013dc89f
DM
41532 "type" : "string",
41533 "typetext" : "<string>"
56122987 41534 },
44660702
DM
41535 "default" : {
41536 "description" : "Use this as default realm",
7aacca6f 41537 "optional" : 1,
013dc89f
DM
41538 "type" : "boolean",
41539 "typetext" : "<boolean>"
56122987 41540 },
44660702
DM
41541 "domain" : {
41542 "description" : "AD domain name",
41543 "maxLength" : 256,
7aacca6f 41544 "optional" : 1,
44660702
DM
41545 "pattern" : "\\S+",
41546 "type" : "string"
56122987 41547 },
c5aa7e14
TL
41548 "filter" : {
41549 "description" : "LDAP filter for user sync.",
41550 "maxLength" : 2048,
41551 "optional" : 1,
41552 "type" : "string",
41553 "typetext" : "<string>"
41554 },
41555 "group_classes" : {
41556 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
41557 "description" : "The objectclasses for groups.",
41558 "format" : "ldap-simple-attr-list",
41559 "optional" : 1,
41560 "type" : "string",
41561 "typetext" : "<string>"
41562 },
41563 "group_dn" : {
41564 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
41565 "maxLength" : 256,
41566 "optional" : 1,
41567 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41568 "type" : "string"
41569 },
41570 "group_filter" : {
41571 "description" : "LDAP filter for group sync.",
41572 "maxLength" : 2048,
41573 "optional" : 1,
41574 "type" : "string",
41575 "typetext" : "<string>"
41576 },
41577 "group_name_attr" : {
41578 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
41579 "format" : "ldap-simple-attr",
41580 "maxLength" : 256,
41581 "optional" : 1,
41582 "type" : "string",
41583 "typetext" : "<string>"
41584 },
41585 "mode" : {
41586 "default" : "ldap",
41587 "description" : "LDAP protocol mode.",
41588 "enum" : [
41589 "ldap",
41590 "ldaps",
41591 "ldap+starttls"
41592 ],
41593 "optional" : 1,
41594 "type" : "string"
41595 },
41596 "password" : {
41597 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
41598 "optional" : 1,
41599 "type" : "string",
41600 "typetext" : "<string>"
41601 },
7aacca6f 41602 "port" : {
44660702 41603 "description" : "Server port.",
7aacca6f 41604 "maximum" : 65535,
44660702 41605 "minimum" : 1,
7aacca6f 41606 "optional" : 1,
4bd7df8b 41607 "type" : "integer",
013dc89f 41608 "typetext" : "<integer> (1 - 65535)"
56122987 41609 },
44660702
DM
41610 "realm" : {
41611 "description" : "Authentication domain ID",
41612 "format" : "pve-realm",
41613 "maxLength" : 32,
013dc89f
DM
41614 "type" : "string",
41615 "typetext" : "<string>"
44660702
DM
41616 },
41617 "secure" : {
c5aa7e14 41618 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
7aacca6f 41619 "optional" : 1,
013dc89f
DM
41620 "type" : "boolean",
41621 "typetext" : "<boolean>"
56122987 41622 },
44660702
DM
41623 "server1" : {
41624 "description" : "Server IP address (or DNS name)",
41625 "format" : "address",
41626 "maxLength" : 256,
41627 "optional" : 1,
013dc89f
DM
41628 "type" : "string",
41629 "typetext" : "<string>"
56122987 41630 },
44660702
DM
41631 "server2" : {
41632 "description" : "Fallback Server IP address (or DNS name)",
41633 "format" : "address",
7aacca6f 41634 "maxLength" : 256,
7aacca6f 41635 "optional" : 1,
013dc89f
DM
41636 "type" : "string",
41637 "typetext" : "<string>"
7aacca6f 41638 },
1c532546
TL
41639 "sslversion" : {
41640 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
41641 "enum" : [
41642 "tlsv1",
41643 "tlsv1_1",
41644 "tlsv1_2",
41645 "tlsv1_3"
41646 ],
41647 "optional" : 1,
41648 "type" : "string"
41649 },
c5aa7e14
TL
41650 "sync-defaults-options" : {
41651 "description" : "The default options for behavior of synchronizations.",
41652 "format" : "realm-sync-options",
41653 "optional" : 1,
41654 "type" : "string",
41655 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
41656 },
41657 "sync_attributes" : {
41658 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.",
41659 "optional" : 1,
41660 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41661 "type" : "string"
41662 },
44660702
DM
41663 "tfa" : {
41664 "description" : "Use Two-factor authentication.",
41665 "format" : "pve-tfa-config",
41666 "maxLength" : 128,
41667 "optional" : 1,
013dc89f 41668 "type" : "string",
95895385 41669 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
41670 },
41671 "type" : {
41672 "description" : "Realm type.",
41673 "enum" : [
41674 "ad",
41675 "ldap",
41676 "pam",
41677 "pve"
41678 ],
41679 "type" : "string"
41680 },
41681 "user_attr" : {
41682 "description" : "LDAP user attribute name",
7aacca6f 41683 "maxLength" : 256,
7aacca6f 41684 "optional" : 1,
44660702
DM
41685 "pattern" : "\\S{2,}",
41686 "type" : "string"
2489d6df 41687 },
c5aa7e14
TL
41688 "user_classes" : {
41689 "default" : "inetorgperson, posixaccount, person, user",
41690 "description" : "The objectclasses for users.",
41691 "format" : "ldap-simple-attr-list",
41692 "optional" : 1,
41693 "type" : "string",
41694 "typetext" : "<string>"
41695 },
2489d6df
WB
41696 "verify" : {
41697 "default" : 0,
41698 "description" : "Verify the server's SSL certificate",
41699 "optional" : 1,
41700 "type" : "boolean",
41701 "typetext" : "<boolean>"
7aacca6f
DM
41702 }
41703 },
7aacca6f 41704 "type" : "object"
56122987 41705 },
7aacca6f
DM
41706 "permissions" : {
41707 "check" : [
41708 "perm",
41709 "/access/realm",
41710 [
41711 "Realm.Allocate"
41712 ]
41713 ]
44660702
DM
41714 },
41715 "protected" : 1,
41716 "returns" : {
41717 "type" : "null"
7aacca6f 41718 }
56122987 41719 }
7aacca6f 41720 },
44660702 41721 "leaf" : 0,
56122987 41722 "path" : "/access/domains",
44660702 41723 "text" : "domains"
56122987
DM
41724 },
41725 {
56122987 41726 "info" : {
44660702 41727 "GET" : {
e9cd3bd4 41728 "allowtoken" : 1,
2489d6df 41729 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
41730 "method" : "GET",
41731 "name" : "get_ticket",
41732 "parameters" : {
41733 "additionalProperties" : 0
41734 },
41735 "permissions" : {
41736 "user" : "world"
41737 },
41738 "returns" : {
41739 "type" : "null"
41740 }
41741 },
56122987 41742 "POST" : {
e9cd3bd4 41743 "allowtoken" : 0,
44660702 41744 "description" : "Create or verify authentication ticket.",
56122987 41745 "method" : "POST",
44660702
DM
41746 "name" : "create_ticket",
41747 "parameters" : {
41748 "additionalProperties" : 0,
56122987 41749 "properties" : {
44660702
DM
41750 "otp" : {
41751 "description" : "One-time password for Two-factor authentication.",
7aacca6f 41752 "optional" : 1,
013dc89f
DM
41753 "type" : "string",
41754 "typetext" : "<string>"
56122987 41755 },
7aacca6f
DM
41756 "password" : {
41757 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
41758 "type" : "string",
41759 "typetext" : "<string>"
7aacca6f 41760 },
44660702
DM
41761 "path" : {
41762 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 41763 "maxLength" : 64,
56122987 41764 "optional" : 1,
56122987 41765 "requires" : "privs",
013dc89f
DM
41766 "type" : "string",
41767 "typetext" : "<string>"
44660702
DM
41768 },
41769 "privs" : {
7aacca6f 41770 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
41771 "format" : "pve-priv-list",
41772 "maxLength" : 64,
56122987 41773 "optional" : 1,
44660702 41774 "requires" : "path",
013dc89f
DM
41775 "type" : "string",
41776 "typetext" : "<string>"
56122987
DM
41777 },
41778 "realm" : {
56122987 41779 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 41780 "format" : "pve-realm",
7aacca6f 41781 "maxLength" : 32,
44660702 41782 "optional" : 1,
013dc89f
DM
41783 "type" : "string",
41784 "typetext" : "<string>"
56122987
DM
41785 },
41786 "username" : {
41787 "description" : "User name",
44660702 41788 "maxLength" : 64,
013dc89f
DM
41789 "type" : "string",
41790 "typetext" : "<string>"
56122987 41791 }
44660702 41792 }
7aacca6f 41793 },
56122987 41794 "permissions" : {
44660702 41795 "description" : "You need to pass valid credientials.",
56122987
DM
41796 "user" : "world"
41797 },
44660702 41798 "protected" : 1,
7aacca6f 41799 "returns" : {
56122987 41800 "properties" : {
44660702
DM
41801 "CSRFPreventionToken" : {
41802 "optional" : 1,
41803 "type" : "string"
56122987 41804 },
e2d681b3
TL
41805 "clustername" : {
41806 "optional" : 1,
41807 "type" : "string"
41808 },
44660702
DM
41809 "ticket" : {
41810 "optional" : 1,
41811 "type" : "string"
41812 },
41813 "username" : {
56122987
DM
41814 "type" : "string"
41815 }
41816 },
44660702 41817 "type" : "object"
7aacca6f 41818 }
7aacca6f
DM
41819 }
41820 },
44660702
DM
41821 "leaf" : 1,
41822 "path" : "/access/ticket",
41823 "text" : "ticket"
7aacca6f 41824 },
56122987 41825 {
56122987 41826 "info" : {
7aacca6f 41827 "PUT" : {
e9cd3bd4 41828 "allowtoken" : 0,
44660702 41829 "description" : "Change user password.",
7aacca6f 41830 "method" : "PUT",
e2d681b3 41831 "name" : "change_password",
56122987
DM
41832 "parameters" : {
41833 "additionalProperties" : 0,
41834 "properties" : {
44660702
DM
41835 "password" : {
41836 "description" : "The new password.",
41837 "maxLength" : 64,
41838 "minLength" : 5,
013dc89f
DM
41839 "type" : "string",
41840 "typetext" : "<string>"
7aacca6f 41841 },
44660702
DM
41842 "userid" : {
41843 "description" : "User ID",
41844 "format" : "pve-userid",
41845 "maxLength" : 64,
013dc89f
DM
41846 "type" : "string",
41847 "typetext" : "<string>"
56122987 41848 }
7aacca6f 41849 }
56122987
DM
41850 },
41851 "permissions" : {
41852 "check" : [
44660702 41853 "or",
56122987 41854 [
44660702
DM
41855 "userid-param",
41856 "self"
41857 ],
41858 [
41859 "and",
41860 [
41861 "userid-param",
41862 "Realm.AllocateUser"
41863 ],
41864 [
41865 "userid-group",
41866 [
41867 "User.Modify"
41868 ]
41869 ]
56122987 41870 ]
7aacca6f 41871 ],
44660702 41872 "description" : "Each user is allowed to change his own password. A user can change the password of another user if he has 'Realm.AllocateUser' (on the realm of user <userid>) and 'User.Modify' permission on /access/groups/<group> on a group where user <userid> is member of."
56122987 41873 },
44660702 41874 "protected" : 1,
7aacca6f
DM
41875 "returns" : {
41876 "type" : "null"
44660702
DM
41877 }
41878 }
41879 },
41880 "leaf" : 1,
41881 "path" : "/access/password",
41882 "text" : "password"
95895385
TL
41883 },
41884 {
41885 "info" : {
41886 "POST" : {
e9cd3bd4 41887 "allowtoken" : 0,
95895385
TL
41888 "description" : "Finish a u2f challenge.",
41889 "method" : "POST",
41890 "name" : "verify_tfa",
41891 "parameters" : {
41892 "additionalProperties" : 0,
41893 "properties" : {
41894 "response" : {
41895 "description" : "The response to the current authentication challenge.",
41896 "type" : "string",
41897 "typetext" : "<string>"
41898 }
41899 }
41900 },
41901 "permissions" : {
41902 "user" : "all"
41903 },
41904 "protected" : 1,
41905 "returns" : {
41906 "properties" : {
41907 "ticket" : {
41908 "type" : "string"
41909 }
41910 },
41911 "type" : "object"
41912 }
41913 },
41914 "PUT" : {
e9cd3bd4 41915 "allowtoken" : 0,
95895385
TL
41916 "description" : "Change user u2f authentication.",
41917 "method" : "PUT",
41918 "name" : "change_tfa",
41919 "parameters" : {
41920 "additionalProperties" : 0,
41921 "properties" : {
41922 "action" : {
41923 "description" : "The action to perform",
41924 "enum" : [
41925 "delete",
41926 "new",
41927 "confirm"
41928 ],
41929 "type" : "string"
41930 },
41931 "config" : {
41932 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
41933 "format" : "pve-tfa-config",
41934 "maxLength" : 128,
41935 "optional" : 1,
41936 "type" : "string",
41937 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
41938 },
41939 "key" : {
41940 "description" : "When adding TOTP, the shared secret value.",
1c532546 41941 "format" : "pve-tfa-secret",
95895385 41942 "optional" : 1,
1c532546
TL
41943 "type" : "string",
41944 "typetext" : "<string>"
95895385
TL
41945 },
41946 "password" : {
41947 "description" : "The current password.",
41948 "maxLength" : 64,
41949 "minLength" : 5,
41950 "optional" : 1,
41951 "type" : "string",
41952 "typetext" : "<string>"
41953 },
41954 "response" : {
41955 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
41956 "optional" : 1,
41957 "type" : "string",
41958 "typetext" : "<string>"
41959 },
41960 "userid" : {
41961 "description" : "User ID",
41962 "format" : "pve-userid",
41963 "maxLength" : 64,
41964 "type" : "string",
41965 "typetext" : "<string>"
41966 }
41967 }
41968 },
41969 "permissions" : {
41970 "check" : [
41971 "or",
41972 [
41973 "userid-param",
41974 "self"
41975 ],
41976 [
41977 "and",
41978 [
41979 "userid-param",
41980 "Realm.AllocateUser"
41981 ],
41982 [
41983 "userid-group",
41984 [
41985 "User.Modify"
41986 ]
41987 ]
41988 ]
41989 ],
41990 "description" : "A user can change their own u2f or totp token."
41991 },
41992 "protected" : 1,
41993 "returns" : {
41994 "type" : "object"
41995 }
41996 }
41997 },
41998 "leaf" : 1,
41999 "path" : "/access/tfa",
42000 "text" : "tfa"
e9cd3bd4
TL
42001 },
42002 {
42003 "info" : {
42004 "GET" : {
42005 "allowtoken" : 1,
42006 "description" : "Retrieve effective permissions of given user/token.",
42007 "method" : "GET",
42008 "name" : "permissions",
42009 "parameters" : {
42010 "additionalProperties" : 0,
42011 "properties" : {
42012 "path" : {
42013 "description" : "Only dump this specific path, not the whole tree.",
42014 "optional" : 1,
42015 "type" : "string",
42016 "typetext" : "<string>"
42017 },
42018 "userid" : {
42019 "description" : "User ID or full API token ID",
42020 "optional" : 1,
42021 "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)",
42022 "type" : "string"
42023 }
42024 }
42025 },
42026 "permissions" : {
42027 "description" : "Each user/token is allowed to dump their own permissions. A user can dump the permissions of another user if they have 'Sys.Audit' permission on /access.",
42028 "user" : "all"
42029 },
42030 "returns" : {
42031 "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").",
42032 "type" : "object"
42033 }
42034 }
42035 },
42036 "leaf" : 1,
42037 "path" : "/access/permissions",
42038 "text" : "permissions"
44660702
DM
42039 }
42040 ],
42041 "info" : {
42042 "GET" : {
e9cd3bd4 42043 "allowtoken" : 1,
44660702
DM
42044 "description" : "Directory index.",
42045 "method" : "GET",
42046 "name" : "index",
42047 "parameters" : {
42048 "additionalProperties" : 0
42049 },
42050 "permissions" : {
42051 "user" : "all"
42052 },
42053 "returns" : {
42054 "items" : {
42055 "properties" : {
42056 "subdir" : {
42057 "type" : "string"
42058 }
7aacca6f 42059 },
44660702
DM
42060 "type" : "object"
42061 },
42062 "links" : [
42063 {
42064 "href" : "{subdir}",
42065 "rel" : "child"
42066 }
42067 ],
42068 "type" : "array"
42069 }
42070 }
42071 },
42072 "leaf" : 0,
42073 "path" : "/access",
42074 "text" : "access"
42075 },
42076 {
42077 "children" : [
42078 {
42079 "info" : {
42080 "DELETE" : {
e9cd3bd4 42081 "allowtoken" : 1,
7aacca6f 42082 "description" : "Delete pool.",
44660702
DM
42083 "method" : "DELETE",
42084 "name" : "delete_pool",
7aacca6f
DM
42085 "parameters" : {
42086 "additionalProperties" : 0,
42087 "properties" : {
42088 "poolid" : {
42089 "format" : "pve-poolid",
013dc89f
DM
42090 "type" : "string",
42091 "typetext" : "<string>"
7aacca6f
DM
42092 }
42093 }
42094 },
56122987
DM
42095 "permissions" : {
42096 "check" : [
42097 "perm",
42098 "/pool/{poolid}",
42099 [
42100 "Pool.Allocate"
42101 ]
44660702
DM
42102 ],
42103 "description" : "You can only delete empty pools (no members)."
42104 },
42105 "protected" : 1,
42106 "returns" : {
42107 "type" : "null"
7aacca6f
DM
42108 }
42109 },
42110 "GET" : {
e9cd3bd4 42111 "allowtoken" : 1,
7aacca6f 42112 "description" : "Get pool configuration.",
44660702 42113 "method" : "GET",
7aacca6f 42114 "name" : "read_pool",
56122987 42115 "parameters" : {
44660702 42116 "additionalProperties" : 0,
56122987
DM
42117 "properties" : {
42118 "poolid" : {
44660702 42119 "format" : "pve-poolid",
013dc89f
DM
42120 "type" : "string",
42121 "typetext" : "<string>"
56122987 42122 }
44660702 42123 }
56122987 42124 },
56122987 42125 "permissions" : {
56122987
DM
42126 "check" : [
42127 "perm",
42128 "/pool/{poolid}",
42129 [
42130 "Pool.Allocate"
42131 ]
42132 ]
42133 },
7aacca6f 42134 "returns" : {
44660702 42135 "additionalProperties" : 0,
56122987 42136 "properties" : {
44660702
DM
42137 "comment" : {
42138 "optional" : 1,
42139 "type" : "string"
42140 },
7aacca6f 42141 "members" : {
7aacca6f
DM
42142 "items" : {
42143 "additionalProperties" : 1,
7aacca6f 42144 "properties" : {
7aacca6f
DM
42145 "id" : {
42146 "type" : "string"
42147 },
42148 "node" : {
42149 "type" : "string"
42150 },
44660702
DM
42151 "storage" : {
42152 "optional" : 1,
42153 "type" : "string"
42154 },
7aacca6f 42155 "type" : {
7aacca6f
DM
42156 "enum" : [
42157 "qemu",
42158 "lxc",
42159 "openvz",
42160 "storage"
44660702
DM
42161 ],
42162 "type" : "string"
42163 },
42164 "vmid" : {
42165 "optional" : 1,
42166 "type" : "integer"
7aacca6f 42167 }
44660702
DM
42168 },
42169 "type" : "object"
42170 },
42171 "type" : "array"
42172 }
42173 },
42174 "type" : "object"
42175 }
42176 },
42177 "PUT" : {
e9cd3bd4 42178 "allowtoken" : 1,
44660702
DM
42179 "description" : "Update pool data.",
42180 "method" : "PUT",
42181 "name" : "update_pool",
42182 "parameters" : {
42183 "additionalProperties" : 0,
42184 "properties" : {
56122987
DM
42185 "comment" : {
42186 "optional" : 1,
013dc89f
DM
42187 "type" : "string",
42188 "typetext" : "<string>"
44660702
DM
42189 },
42190 "delete" : {
42191 "description" : "Remove vms/storage (instead of adding it).",
42192 "optional" : 1,
013dc89f
DM
42193 "type" : "boolean",
42194 "typetext" : "<boolean>"
44660702
DM
42195 },
42196 "poolid" : {
42197 "format" : "pve-poolid",
013dc89f
DM
42198 "type" : "string",
42199 "typetext" : "<string>"
44660702
DM
42200 },
42201 "storage" : {
42202 "description" : "List of storage IDs.",
42203 "format" : "pve-storage-id-list",
42204 "optional" : 1,
013dc89f
DM
42205 "type" : "string",
42206 "typetext" : "<string>"
44660702
DM
42207 },
42208 "vms" : {
42209 "description" : "List of virtual machines.",
42210 "format" : "pve-vmid-list",
42211 "optional" : 1,
013dc89f
DM
42212 "type" : "string",
42213 "typetext" : "<string>"
56122987 42214 }
44660702
DM
42215 }
42216 },
42217 "permissions" : {
42218 "check" : [
42219 "perm",
42220 "/pool/{poolid}",
42221 [
42222 "Pool.Allocate"
42223 ]
42224 ],
42225 "description" : "You also need the right to modify permissions on any object you add/delete."
42226 },
42227 "protected" : 1,
42228 "returns" : {
42229 "type" : "null"
56122987
DM
42230 }
42231 }
42232 },
44660702
DM
42233 "leaf" : 1,
42234 "path" : "/pools/{poolid}",
7aacca6f 42235 "text" : "{poolid}"
56122987 42236 }
7aacca6f 42237 ],
56122987
DM
42238 "info" : {
42239 "GET" : {
e9cd3bd4 42240 "allowtoken" : 1,
44660702
DM
42241 "description" : "Pool index.",
42242 "method" : "GET",
42243 "name" : "index",
42244 "parameters" : {
42245 "additionalProperties" : 0
42246 },
42247 "permissions" : {
42248 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
42249 "user" : "all"
42250 },
56122987 42251 "returns" : {
44660702
DM
42252 "items" : {
42253 "properties" : {
42254 "poolid" : {
42255 "type" : "string"
42256 }
56122987 42257 },
44660702
DM
42258 "type" : "object"
42259 },
42260 "links" : [
42261 {
42262 "href" : "{poolid}",
42263 "rel" : "child"
42264 }
42265 ],
42266 "type" : "array"
42267 }
42268 },
42269 "POST" : {
e9cd3bd4 42270 "allowtoken" : 1,
44660702
DM
42271 "description" : "Create new pool.",
42272 "method" : "POST",
42273 "name" : "create_pool",
42274 "parameters" : {
42275 "additionalProperties" : 0,
42276 "properties" : {
42277 "comment" : {
42278 "optional" : 1,
013dc89f
DM
42279 "type" : "string",
42280 "typetext" : "<string>"
7aacca6f 42281 },
44660702
DM
42282 "poolid" : {
42283 "format" : "pve-poolid",
013dc89f
DM
42284 "type" : "string",
42285 "typetext" : "<string>"
56122987
DM
42286 }
42287 }
42288 },
56122987 42289 "permissions" : {
44660702
DM
42290 "check" : [
42291 "perm",
42292 "/pool/{poolid}",
42293 [
42294 "Pool.Allocate"
42295 ]
42296 ]
56122987 42297 },
44660702
DM
42298 "protected" : 1,
42299 "returns" : {
42300 "type" : "null"
42301 }
42302 }
42303 },
42304 "leaf" : 0,
42305 "path" : "/pools",
42306 "text" : "pools"
42307 },
42308 {
42309 "info" : {
42310 "GET" : {
e9cd3bd4 42311 "allowtoken" : 1,
44660702
DM
42312 "description" : "API version details. The result also includes the global datacenter confguration.",
42313 "method" : "GET",
42314 "name" : "version",
7aacca6f
DM
42315 "parameters" : {
42316 "additionalProperties" : 0
42317 },
44660702
DM
42318 "permissions" : {
42319 "user" : "all"
42320 },
42321 "returns" : {
42322 "properties" : {
42323 "release" : {
42324 "type" : "string"
42325 },
42326 "repoid" : {
42327 "type" : "string"
42328 },
42329 "version" : {
42330 "type" : "string"
42331 }
42332 },
42333 "type" : "object"
42334 }
56122987
DM
42335 }
42336 },
44660702
DM
42337 "leaf" : 1,
42338 "path" : "/version",
56122987
DM
42339 "text" : "version"
42340 }
42341]
42342;
42343