]> git.proxmox.com Git - pve-docs.git/blob - api-viewer/apidata.js
3214dfa410b840da7e7867caa4c9126da41110b1
[pve-docs.git] / api-viewer / apidata.js
1 var pveapi = [
2 {
3 "children" : [
4 {
5 "children" : [
6 {
7 "children" : [
8 {
9 "children" : [
10 {
11 "info" : {
12 "DELETE" : {
13 "description" : "Delete rule.",
14 "method" : "DELETE",
15 "name" : "delete_rule",
16 "parameters" : {
17 "additionalProperties" : 0,
18 "properties" : {
19 "digest" : {
20 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21 "maxLength" : 40,
22 "optional" : 1,
23 "type" : "string"
24 },
25 "group" : {
26 "description" : "Security Group name.",
27 "maxLength" : 18,
28 "minLength" : 2,
29 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
30 "type" : "string"
31 },
32 "pos" : {
33 "description" : "Update rule at position <pos>.",
34 "minimum" : 0,
35 "optional" : 1,
36 "type" : "integer",
37 "typetext" : "integer (0- N)"
38 }
39 }
40 },
41 "permissions" : {
42 "check" : [
43 "perm",
44 "/",
45 [
46 "Sys.Modify"
47 ]
48 ]
49 },
50 "protected" : 1,
51 "proxyto" : null,
52 "returns" : {
53 "type" : "null"
54 }
55 },
56 "GET" : {
57 "description" : "Get single rule data.",
58 "method" : "GET",
59 "name" : "get_rule",
60 "parameters" : {
61 "additionalProperties" : 0,
62 "properties" : {
63 "group" : {
64 "description" : "Security Group name.",
65 "maxLength" : 18,
66 "minLength" : 2,
67 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
68 "type" : "string"
69 },
70 "pos" : {
71 "description" : "Update rule at position <pos>.",
72 "minimum" : 0,
73 "optional" : 1,
74 "type" : "integer",
75 "typetext" : "integer (0- N)"
76 }
77 }
78 },
79 "permissions" : {
80 "check" : [
81 "perm",
82 "/",
83 [
84 "Sys.Audit"
85 ]
86 ]
87 },
88 "proxyto" : null,
89 "returns" : {
90 "properties" : {
91 "pos" : {
92 "type" : "integer"
93 }
94 },
95 "type" : "object"
96 }
97 },
98 "PUT" : {
99 "description" : "Modify rule data.",
100 "method" : "PUT",
101 "name" : "update_rule",
102 "parameters" : {
103 "additionalProperties" : 0,
104 "properties" : {
105 "action" : {
106 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
107 "maxLength" : 20,
108 "minLength" : 2,
109 "optional" : 1,
110 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
111 "type" : "string"
112 },
113 "comment" : {
114 "optional" : 1,
115 "type" : "string"
116 },
117 "delete" : {
118 "description" : "A list of settings you want to delete.",
119 "format" : "pve-configid-list",
120 "optional" : 1,
121 "type" : "string"
122 },
123 "dest" : {
124 "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.",
125 "format" : "pve-fw-addr-spec",
126 "optional" : 1,
127 "type" : "string"
128 },
129 "digest" : {
130 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
131 "maxLength" : 40,
132 "optional" : 1,
133 "type" : "string"
134 },
135 "dport" : {
136 "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.",
137 "format" : "pve-fw-dport-spec",
138 "optional" : 1,
139 "type" : "string"
140 },
141 "enable" : {
142 "minimum" : 0,
143 "optional" : 1,
144 "type" : "integer",
145 "typetext" : "integer (0- N)"
146 },
147 "group" : {
148 "description" : "Security Group name.",
149 "maxLength" : 18,
150 "minLength" : 2,
151 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
152 "type" : "string"
153 },
154 "iface" : {
155 "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.",
156 "format" : "pve-iface",
157 "maxLength" : 20,
158 "minLength" : 2,
159 "optional" : 1,
160 "type" : "string"
161 },
162 "macro" : {
163 "maxLength" : 128,
164 "optional" : 1,
165 "type" : "string"
166 },
167 "moveto" : {
168 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
169 "minimum" : 0,
170 "optional" : 1,
171 "type" : "integer",
172 "typetext" : "integer (0- N)"
173 },
174 "pos" : {
175 "description" : "Update rule at position <pos>.",
176 "minimum" : 0,
177 "optional" : 1,
178 "type" : "integer",
179 "typetext" : "integer (0- N)"
180 },
181 "proto" : {
182 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
183 "format" : "pve-fw-protocol-spec",
184 "optional" : 1,
185 "type" : "string"
186 },
187 "source" : {
188 "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.",
189 "format" : "pve-fw-addr-spec",
190 "optional" : 1,
191 "type" : "string"
192 },
193 "sport" : {
194 "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.",
195 "format" : "pve-fw-sport-spec",
196 "optional" : 1,
197 "type" : "string"
198 },
199 "type" : {
200 "enum" : [
201 "in",
202 "out",
203 "group"
204 ],
205 "optional" : 1,
206 "type" : "string"
207 }
208 }
209 },
210 "permissions" : {
211 "check" : [
212 "perm",
213 "/",
214 [
215 "Sys.Modify"
216 ]
217 ]
218 },
219 "protected" : 1,
220 "proxyto" : null,
221 "returns" : {
222 "type" : "null"
223 }
224 }
225 },
226 "leaf" : 1,
227 "path" : "/cluster/firewall/groups/{group}/{pos}",
228 "text" : "{pos}"
229 }
230 ],
231 "info" : {
232 "DELETE" : {
233 "description" : "Delete security group.",
234 "method" : "DELETE",
235 "name" : "delete_security_group",
236 "parameters" : {
237 "additionalProperties" : 0,
238 "properties" : {
239 "group" : {
240 "description" : "Security Group name.",
241 "maxLength" : 18,
242 "minLength" : 2,
243 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
244 "type" : "string"
245 }
246 }
247 },
248 "permissions" : {
249 "check" : [
250 "perm",
251 "/",
252 [
253 "Sys.Modify"
254 ]
255 ]
256 },
257 "protected" : 1,
258 "returns" : {
259 "type" : "null"
260 }
261 },
262 "GET" : {
263 "description" : "List rules.",
264 "method" : "GET",
265 "name" : "get_rules",
266 "parameters" : {
267 "additionalProperties" : 0,
268 "properties" : {
269 "group" : {
270 "description" : "Security Group name.",
271 "maxLength" : 18,
272 "minLength" : 2,
273 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
274 "type" : "string"
275 }
276 }
277 },
278 "permissions" : {
279 "check" : [
280 "perm",
281 "/",
282 [
283 "Sys.Audit"
284 ]
285 ]
286 },
287 "proxyto" : null,
288 "returns" : {
289 "items" : {
290 "properties" : {
291 "pos" : {
292 "type" : "integer"
293 }
294 },
295 "type" : "object"
296 },
297 "links" : [
298 {
299 "href" : "{pos}",
300 "rel" : "child"
301 }
302 ],
303 "type" : "array"
304 }
305 },
306 "POST" : {
307 "description" : "Create new rule.",
308 "method" : "POST",
309 "name" : "create_rule",
310 "parameters" : {
311 "additionalProperties" : 0,
312 "properties" : {
313 "action" : {
314 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
315 "maxLength" : 20,
316 "minLength" : 2,
317 "optional" : 0,
318 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
319 "type" : "string"
320 },
321 "comment" : {
322 "optional" : 1,
323 "type" : "string"
324 },
325 "dest" : {
326 "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.",
327 "format" : "pve-fw-addr-spec",
328 "optional" : 1,
329 "type" : "string"
330 },
331 "digest" : {
332 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
333 "maxLength" : 40,
334 "optional" : 1,
335 "type" : "string"
336 },
337 "dport" : {
338 "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.",
339 "format" : "pve-fw-dport-spec",
340 "optional" : 1,
341 "type" : "string"
342 },
343 "enable" : {
344 "minimum" : 0,
345 "optional" : 1,
346 "type" : "integer",
347 "typetext" : "integer (0- N)"
348 },
349 "group" : {
350 "description" : "Security Group name.",
351 "maxLength" : 18,
352 "minLength" : 2,
353 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
354 "type" : "string"
355 },
356 "iface" : {
357 "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.",
358 "format" : "pve-iface",
359 "maxLength" : 20,
360 "minLength" : 2,
361 "optional" : 1,
362 "type" : "string"
363 },
364 "macro" : {
365 "maxLength" : 128,
366 "optional" : 1,
367 "type" : "string"
368 },
369 "pos" : {
370 "description" : "Update rule at position <pos>.",
371 "minimum" : 0,
372 "optional" : 1,
373 "type" : "integer",
374 "typetext" : "integer (0- N)"
375 },
376 "proto" : {
377 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
378 "format" : "pve-fw-protocol-spec",
379 "optional" : 1,
380 "type" : "string"
381 },
382 "source" : {
383 "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.",
384 "format" : "pve-fw-addr-spec",
385 "optional" : 1,
386 "type" : "string"
387 },
388 "sport" : {
389 "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.",
390 "format" : "pve-fw-sport-spec",
391 "optional" : 1,
392 "type" : "string"
393 },
394 "type" : {
395 "enum" : [
396 "in",
397 "out",
398 "group"
399 ],
400 "optional" : 0,
401 "type" : "string"
402 }
403 }
404 },
405 "permissions" : {
406 "check" : [
407 "perm",
408 "/",
409 [
410 "Sys.Modify"
411 ]
412 ]
413 },
414 "protected" : 1,
415 "proxyto" : null,
416 "returns" : {
417 "type" : "null"
418 }
419 }
420 },
421 "leaf" : 0,
422 "path" : "/cluster/firewall/groups/{group}",
423 "text" : "{group}"
424 }
425 ],
426 "info" : {
427 "GET" : {
428 "description" : "List security groups.",
429 "method" : "GET",
430 "name" : "list_security_groups",
431 "parameters" : {
432 "additionalProperties" : 0
433 },
434 "permissions" : {
435 "user" : "all"
436 },
437 "returns" : {
438 "items" : {
439 "properties" : {
440 "comment" : {
441 "optional" : 1,
442 "type" : "string"
443 },
444 "digest" : {
445 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
446 "maxLength" : 40,
447 "optional" : 0,
448 "type" : "string"
449 },
450 "group" : {
451 "description" : "Security Group name.",
452 "maxLength" : 18,
453 "minLength" : 2,
454 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
455 "type" : "string"
456 }
457 },
458 "type" : "object"
459 },
460 "links" : [
461 {
462 "href" : "{group}",
463 "rel" : "child"
464 }
465 ],
466 "type" : "array"
467 }
468 },
469 "POST" : {
470 "description" : "Create new security group.",
471 "method" : "POST",
472 "name" : "create_security_group",
473 "parameters" : {
474 "additionalProperties" : 0,
475 "properties" : {
476 "comment" : {
477 "optional" : 1,
478 "type" : "string"
479 },
480 "digest" : {
481 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
482 "maxLength" : 40,
483 "optional" : 1,
484 "type" : "string"
485 },
486 "group" : {
487 "description" : "Security Group name.",
488 "maxLength" : 18,
489 "minLength" : 2,
490 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
491 "type" : "string"
492 },
493 "rename" : {
494 "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.",
495 "maxLength" : 18,
496 "minLength" : 2,
497 "optional" : 1,
498 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
499 "type" : "string"
500 }
501 }
502 },
503 "permissions" : {
504 "check" : [
505 "perm",
506 "/",
507 [
508 "Sys.Modify"
509 ]
510 ]
511 },
512 "protected" : 1,
513 "returns" : {
514 "type" : "null"
515 }
516 }
517 },
518 "leaf" : 0,
519 "path" : "/cluster/firewall/groups",
520 "text" : "groups"
521 },
522 {
523 "children" : [
524 {
525 "info" : {
526 "DELETE" : {
527 "description" : "Delete rule.",
528 "method" : "DELETE",
529 "name" : "delete_rule",
530 "parameters" : {
531 "additionalProperties" : 0,
532 "properties" : {
533 "digest" : {
534 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
535 "maxLength" : 40,
536 "optional" : 1,
537 "type" : "string"
538 },
539 "pos" : {
540 "description" : "Update rule at position <pos>.",
541 "minimum" : 0,
542 "optional" : 1,
543 "type" : "integer",
544 "typetext" : "integer (0- N)"
545 }
546 }
547 },
548 "permissions" : {
549 "check" : [
550 "perm",
551 "/",
552 [
553 "Sys.Modify"
554 ]
555 ]
556 },
557 "protected" : 1,
558 "proxyto" : null,
559 "returns" : {
560 "type" : "null"
561 }
562 },
563 "GET" : {
564 "description" : "Get single rule data.",
565 "method" : "GET",
566 "name" : "get_rule",
567 "parameters" : {
568 "additionalProperties" : 0,
569 "properties" : {
570 "pos" : {
571 "description" : "Update rule at position <pos>.",
572 "minimum" : 0,
573 "optional" : 1,
574 "type" : "integer",
575 "typetext" : "integer (0- N)"
576 }
577 }
578 },
579 "permissions" : {
580 "check" : [
581 "perm",
582 "/",
583 [
584 "Sys.Audit"
585 ]
586 ]
587 },
588 "proxyto" : null,
589 "returns" : {
590 "properties" : {
591 "pos" : {
592 "type" : "integer"
593 }
594 },
595 "type" : "object"
596 }
597 },
598 "PUT" : {
599 "description" : "Modify rule data.",
600 "method" : "PUT",
601 "name" : "update_rule",
602 "parameters" : {
603 "additionalProperties" : 0,
604 "properties" : {
605 "action" : {
606 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
607 "maxLength" : 20,
608 "minLength" : 2,
609 "optional" : 1,
610 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
611 "type" : "string"
612 },
613 "comment" : {
614 "optional" : 1,
615 "type" : "string"
616 },
617 "delete" : {
618 "description" : "A list of settings you want to delete.",
619 "format" : "pve-configid-list",
620 "optional" : 1,
621 "type" : "string"
622 },
623 "dest" : {
624 "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.",
625 "format" : "pve-fw-addr-spec",
626 "optional" : 1,
627 "type" : "string"
628 },
629 "digest" : {
630 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
631 "maxLength" : 40,
632 "optional" : 1,
633 "type" : "string"
634 },
635 "dport" : {
636 "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.",
637 "format" : "pve-fw-dport-spec",
638 "optional" : 1,
639 "type" : "string"
640 },
641 "enable" : {
642 "minimum" : 0,
643 "optional" : 1,
644 "type" : "integer",
645 "typetext" : "integer (0- N)"
646 },
647 "iface" : {
648 "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.",
649 "format" : "pve-iface",
650 "maxLength" : 20,
651 "minLength" : 2,
652 "optional" : 1,
653 "type" : "string"
654 },
655 "macro" : {
656 "maxLength" : 128,
657 "optional" : 1,
658 "type" : "string"
659 },
660 "moveto" : {
661 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
662 "minimum" : 0,
663 "optional" : 1,
664 "type" : "integer",
665 "typetext" : "integer (0- N)"
666 },
667 "pos" : {
668 "description" : "Update rule at position <pos>.",
669 "minimum" : 0,
670 "optional" : 1,
671 "type" : "integer",
672 "typetext" : "integer (0- N)"
673 },
674 "proto" : {
675 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
676 "format" : "pve-fw-protocol-spec",
677 "optional" : 1,
678 "type" : "string"
679 },
680 "source" : {
681 "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.",
682 "format" : "pve-fw-addr-spec",
683 "optional" : 1,
684 "type" : "string"
685 },
686 "sport" : {
687 "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.",
688 "format" : "pve-fw-sport-spec",
689 "optional" : 1,
690 "type" : "string"
691 },
692 "type" : {
693 "enum" : [
694 "in",
695 "out",
696 "group"
697 ],
698 "optional" : 1,
699 "type" : "string"
700 }
701 }
702 },
703 "permissions" : {
704 "check" : [
705 "perm",
706 "/",
707 [
708 "Sys.Modify"
709 ]
710 ]
711 },
712 "protected" : 1,
713 "proxyto" : null,
714 "returns" : {
715 "type" : "null"
716 }
717 }
718 },
719 "leaf" : 1,
720 "path" : "/cluster/firewall/rules/{pos}",
721 "text" : "{pos}"
722 }
723 ],
724 "info" : {
725 "GET" : {
726 "description" : "List rules.",
727 "method" : "GET",
728 "name" : "get_rules",
729 "parameters" : {
730 "additionalProperties" : 0
731 },
732 "permissions" : {
733 "check" : [
734 "perm",
735 "/",
736 [
737 "Sys.Audit"
738 ]
739 ]
740 },
741 "proxyto" : null,
742 "returns" : {
743 "items" : {
744 "properties" : {
745 "pos" : {
746 "type" : "integer"
747 }
748 },
749 "type" : "object"
750 },
751 "links" : [
752 {
753 "href" : "{pos}",
754 "rel" : "child"
755 }
756 ],
757 "type" : "array"
758 }
759 },
760 "POST" : {
761 "description" : "Create new rule.",
762 "method" : "POST",
763 "name" : "create_rule",
764 "parameters" : {
765 "additionalProperties" : 0,
766 "properties" : {
767 "action" : {
768 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
769 "maxLength" : 20,
770 "minLength" : 2,
771 "optional" : 0,
772 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
773 "type" : "string"
774 },
775 "comment" : {
776 "optional" : 1,
777 "type" : "string"
778 },
779 "dest" : {
780 "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.",
781 "format" : "pve-fw-addr-spec",
782 "optional" : 1,
783 "type" : "string"
784 },
785 "digest" : {
786 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
787 "maxLength" : 40,
788 "optional" : 1,
789 "type" : "string"
790 },
791 "dport" : {
792 "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.",
793 "format" : "pve-fw-dport-spec",
794 "optional" : 1,
795 "type" : "string"
796 },
797 "enable" : {
798 "minimum" : 0,
799 "optional" : 1,
800 "type" : "integer",
801 "typetext" : "integer (0- N)"
802 },
803 "iface" : {
804 "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.",
805 "format" : "pve-iface",
806 "maxLength" : 20,
807 "minLength" : 2,
808 "optional" : 1,
809 "type" : "string"
810 },
811 "macro" : {
812 "maxLength" : 128,
813 "optional" : 1,
814 "type" : "string"
815 },
816 "pos" : {
817 "description" : "Update rule at position <pos>.",
818 "minimum" : 0,
819 "optional" : 1,
820 "type" : "integer",
821 "typetext" : "integer (0- N)"
822 },
823 "proto" : {
824 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
825 "format" : "pve-fw-protocol-spec",
826 "optional" : 1,
827 "type" : "string"
828 },
829 "source" : {
830 "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.",
831 "format" : "pve-fw-addr-spec",
832 "optional" : 1,
833 "type" : "string"
834 },
835 "sport" : {
836 "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.",
837 "format" : "pve-fw-sport-spec",
838 "optional" : 1,
839 "type" : "string"
840 },
841 "type" : {
842 "enum" : [
843 "in",
844 "out",
845 "group"
846 ],
847 "optional" : 0,
848 "type" : "string"
849 }
850 }
851 },
852 "permissions" : {
853 "check" : [
854 "perm",
855 "/",
856 [
857 "Sys.Modify"
858 ]
859 ]
860 },
861 "protected" : 1,
862 "proxyto" : null,
863 "returns" : {
864 "type" : "null"
865 }
866 }
867 },
868 "leaf" : 0,
869 "path" : "/cluster/firewall/rules",
870 "text" : "rules"
871 },
872 {
873 "children" : [
874 {
875 "children" : [
876 {
877 "info" : {
878 "DELETE" : {
879 "description" : "Remove IP or Network from IPSet.",
880 "method" : "DELETE",
881 "name" : "remove_ip",
882 "parameters" : {
883 "additionalProperties" : 0,
884 "properties" : {
885 "cidr" : {
886 "description" : "Network/IP specification in CIDR format.",
887 "format" : "IPorCIDRorAlias",
888 "type" : "string"
889 },
890 "digest" : {
891 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
892 "maxLength" : 40,
893 "optional" : 1,
894 "type" : "string"
895 },
896 "name" : {
897 "description" : "IP set name.",
898 "maxLength" : 64,
899 "minLength" : 2,
900 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
901 "type" : "string"
902 }
903 }
904 },
905 "permissions" : {
906 "check" : [
907 "perm",
908 "/",
909 [
910 "Sys.Modify"
911 ]
912 ]
913 },
914 "protected" : 1,
915 "returns" : {
916 "type" : "null"
917 }
918 },
919 "GET" : {
920 "description" : "Read IP or Network settings from IPSet.",
921 "method" : "GET",
922 "name" : "read_ip",
923 "parameters" : {
924 "additionalProperties" : 0,
925 "properties" : {
926 "cidr" : {
927 "description" : "Network/IP specification in CIDR format.",
928 "format" : "IPorCIDRorAlias",
929 "type" : "string"
930 },
931 "name" : {
932 "description" : "IP set name.",
933 "maxLength" : 64,
934 "minLength" : 2,
935 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
936 "type" : "string"
937 }
938 }
939 },
940 "permissions" : {
941 "check" : [
942 "perm",
943 "/",
944 [
945 "Sys.Audit"
946 ]
947 ]
948 },
949 "protected" : 1,
950 "returns" : {
951 "type" : "object"
952 }
953 },
954 "PUT" : {
955 "description" : "Update IP or Network settings",
956 "method" : "PUT",
957 "name" : "update_ip",
958 "parameters" : {
959 "additionalProperties" : 0,
960 "properties" : {
961 "cidr" : {
962 "description" : "Network/IP specification in CIDR format.",
963 "format" : "IPorCIDRorAlias",
964 "type" : "string"
965 },
966 "comment" : {
967 "optional" : 1,
968 "type" : "string"
969 },
970 "digest" : {
971 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
972 "maxLength" : 40,
973 "optional" : 1,
974 "type" : "string"
975 },
976 "name" : {
977 "description" : "IP set name.",
978 "maxLength" : 64,
979 "minLength" : 2,
980 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
981 "type" : "string"
982 },
983 "nomatch" : {
984 "optional" : 1,
985 "type" : "boolean"
986 }
987 }
988 },
989 "permissions" : {
990 "check" : [
991 "perm",
992 "/",
993 [
994 "Sys.Modify"
995 ]
996 ]
997 },
998 "protected" : 1,
999 "returns" : {
1000 "type" : "null"
1001 }
1002 }
1003 },
1004 "leaf" : 1,
1005 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1006 "text" : "{cidr}"
1007 }
1008 ],
1009 "info" : {
1010 "DELETE" : {
1011 "description" : "Delete IPSet",
1012 "method" : "DELETE",
1013 "name" : "delete_ipset",
1014 "parameters" : {
1015 "additionalProperties" : 0,
1016 "properties" : {
1017 "name" : {
1018 "description" : "IP set name.",
1019 "maxLength" : 64,
1020 "minLength" : 2,
1021 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1022 "type" : "string"
1023 }
1024 }
1025 },
1026 "permissions" : {
1027 "check" : [
1028 "perm",
1029 "/",
1030 [
1031 "Sys.Modify"
1032 ]
1033 ]
1034 },
1035 "protected" : 1,
1036 "returns" : {
1037 "type" : "null"
1038 }
1039 },
1040 "GET" : {
1041 "description" : "List IPSet content",
1042 "method" : "GET",
1043 "name" : "get_ipset",
1044 "parameters" : {
1045 "additionalProperties" : 0,
1046 "properties" : {
1047 "name" : {
1048 "description" : "IP set name.",
1049 "maxLength" : 64,
1050 "minLength" : 2,
1051 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1052 "type" : "string"
1053 }
1054 }
1055 },
1056 "permissions" : {
1057 "check" : [
1058 "perm",
1059 "/",
1060 [
1061 "Sys.Audit"
1062 ]
1063 ]
1064 },
1065 "returns" : {
1066 "items" : {
1067 "properties" : {
1068 "cidr" : {
1069 "type" : "string"
1070 },
1071 "comment" : {
1072 "optional" : 1,
1073 "type" : "string"
1074 },
1075 "digest" : {
1076 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1077 "maxLength" : 40,
1078 "optional" : 0,
1079 "type" : "string"
1080 },
1081 "nomatch" : {
1082 "optional" : 1,
1083 "type" : "boolean"
1084 }
1085 },
1086 "type" : "object"
1087 },
1088 "links" : [
1089 {
1090 "href" : "{cidr}",
1091 "rel" : "child"
1092 }
1093 ],
1094 "type" : "array"
1095 }
1096 },
1097 "POST" : {
1098 "description" : "Add IP or Network to IPSet.",
1099 "method" : "POST",
1100 "name" : "create_ip",
1101 "parameters" : {
1102 "additionalProperties" : 0,
1103 "properties" : {
1104 "cidr" : {
1105 "description" : "Network/IP specification in CIDR format.",
1106 "format" : "IPorCIDRorAlias",
1107 "type" : "string"
1108 },
1109 "comment" : {
1110 "optional" : 1,
1111 "type" : "string"
1112 },
1113 "name" : {
1114 "description" : "IP set name.",
1115 "maxLength" : 64,
1116 "minLength" : 2,
1117 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1118 "type" : "string"
1119 },
1120 "nomatch" : {
1121 "optional" : 1,
1122 "type" : "boolean"
1123 }
1124 }
1125 },
1126 "permissions" : {
1127 "check" : [
1128 "perm",
1129 "/",
1130 [
1131 "Sys.Modify"
1132 ]
1133 ]
1134 },
1135 "protected" : 1,
1136 "returns" : {
1137 "type" : "null"
1138 }
1139 }
1140 },
1141 "leaf" : 0,
1142 "path" : "/cluster/firewall/ipset/{name}",
1143 "text" : "{name}"
1144 }
1145 ],
1146 "info" : {
1147 "GET" : {
1148 "description" : "List IPSets",
1149 "method" : "GET",
1150 "name" : "ipset_index",
1151 "parameters" : {
1152 "additionalProperties" : 0
1153 },
1154 "permissions" : {
1155 "check" : [
1156 "perm",
1157 "/",
1158 [
1159 "Sys.Audit"
1160 ]
1161 ]
1162 },
1163 "returns" : {
1164 "items" : {
1165 "properties" : {
1166 "comment" : {
1167 "optional" : 1,
1168 "type" : "string"
1169 },
1170 "digest" : {
1171 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1172 "maxLength" : 40,
1173 "optional" : 0,
1174 "type" : "string"
1175 },
1176 "name" : {
1177 "description" : "IP set name.",
1178 "maxLength" : 64,
1179 "minLength" : 2,
1180 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1181 "type" : "string"
1182 }
1183 },
1184 "type" : "object"
1185 },
1186 "links" : [
1187 {
1188 "href" : "{name}",
1189 "rel" : "child"
1190 }
1191 ],
1192 "type" : "array"
1193 }
1194 },
1195 "POST" : {
1196 "description" : "Create new IPSet",
1197 "method" : "POST",
1198 "name" : "create_ipset",
1199 "parameters" : {
1200 "additionalProperties" : 0,
1201 "properties" : {
1202 "comment" : {
1203 "optional" : 1,
1204 "type" : "string"
1205 },
1206 "digest" : {
1207 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1208 "maxLength" : 40,
1209 "optional" : 1,
1210 "type" : "string"
1211 },
1212 "name" : {
1213 "description" : "IP set name.",
1214 "maxLength" : 64,
1215 "minLength" : 2,
1216 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1217 "type" : "string"
1218 },
1219 "rename" : {
1220 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1221 "maxLength" : 64,
1222 "minLength" : 2,
1223 "optional" : 1,
1224 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1225 "type" : "string"
1226 }
1227 }
1228 },
1229 "permissions" : {
1230 "check" : [
1231 "perm",
1232 "/",
1233 [
1234 "Sys.Modify"
1235 ]
1236 ]
1237 },
1238 "protected" : 1,
1239 "returns" : {
1240 "type" : "null"
1241 }
1242 }
1243 },
1244 "leaf" : 0,
1245 "path" : "/cluster/firewall/ipset",
1246 "text" : "ipset"
1247 },
1248 {
1249 "children" : [
1250 {
1251 "info" : {
1252 "DELETE" : {
1253 "description" : "Remove IP or Network alias.",
1254 "method" : "DELETE",
1255 "name" : "remove_alias",
1256 "parameters" : {
1257 "additionalProperties" : 0,
1258 "properties" : {
1259 "digest" : {
1260 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1261 "maxLength" : 40,
1262 "optional" : 1,
1263 "type" : "string"
1264 },
1265 "name" : {
1266 "description" : "Alias name.",
1267 "maxLength" : 64,
1268 "minLength" : 2,
1269 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1270 "type" : "string"
1271 }
1272 }
1273 },
1274 "permissions" : {
1275 "check" : [
1276 "perm",
1277 "/",
1278 [
1279 "Sys.Modify"
1280 ]
1281 ]
1282 },
1283 "protected" : 1,
1284 "returns" : {
1285 "type" : "null"
1286 }
1287 },
1288 "GET" : {
1289 "description" : "Read alias.",
1290 "method" : "GET",
1291 "name" : "read_alias",
1292 "parameters" : {
1293 "additionalProperties" : 0,
1294 "properties" : {
1295 "name" : {
1296 "description" : "Alias name.",
1297 "maxLength" : 64,
1298 "minLength" : 2,
1299 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1300 "type" : "string"
1301 }
1302 }
1303 },
1304 "permissions" : {
1305 "check" : [
1306 "perm",
1307 "/",
1308 [
1309 "Sys.Audit"
1310 ]
1311 ]
1312 },
1313 "returns" : {
1314 "type" : "object"
1315 }
1316 },
1317 "PUT" : {
1318 "description" : "Update IP or Network alias.",
1319 "method" : "PUT",
1320 "name" : "update_alias",
1321 "parameters" : {
1322 "additionalProperties" : 0,
1323 "properties" : {
1324 "cidr" : {
1325 "description" : "Network/IP specification in CIDR format.",
1326 "format" : "IPorCIDR",
1327 "type" : "string"
1328 },
1329 "comment" : {
1330 "optional" : 1,
1331 "type" : "string"
1332 },
1333 "digest" : {
1334 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1335 "maxLength" : 40,
1336 "optional" : 1,
1337 "type" : "string"
1338 },
1339 "name" : {
1340 "description" : "Alias name.",
1341 "maxLength" : 64,
1342 "minLength" : 2,
1343 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1344 "type" : "string"
1345 },
1346 "rename" : {
1347 "description" : "Rename an existing alias.",
1348 "maxLength" : 64,
1349 "minLength" : 2,
1350 "optional" : 1,
1351 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1352 "type" : "string"
1353 }
1354 }
1355 },
1356 "permissions" : {
1357 "check" : [
1358 "perm",
1359 "/",
1360 [
1361 "Sys.Modify"
1362 ]
1363 ]
1364 },
1365 "protected" : 1,
1366 "returns" : {
1367 "type" : "null"
1368 }
1369 }
1370 },
1371 "leaf" : 1,
1372 "path" : "/cluster/firewall/aliases/{name}",
1373 "text" : "{name}"
1374 }
1375 ],
1376 "info" : {
1377 "GET" : {
1378 "description" : "List aliases",
1379 "method" : "GET",
1380 "name" : "get_aliases",
1381 "parameters" : {
1382 "additionalProperties" : 0
1383 },
1384 "permissions" : {
1385 "check" : [
1386 "perm",
1387 "/",
1388 [
1389 "Sys.Audit"
1390 ]
1391 ]
1392 },
1393 "returns" : {
1394 "items" : {
1395 "properties" : {
1396 "cidr" : {
1397 "type" : "string"
1398 },
1399 "comment" : {
1400 "optional" : 1,
1401 "type" : "string"
1402 },
1403 "digest" : {
1404 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1405 "maxLength" : 40,
1406 "optional" : 0,
1407 "type" : "string"
1408 },
1409 "name" : {
1410 "type" : "string"
1411 }
1412 },
1413 "type" : "object"
1414 },
1415 "links" : [
1416 {
1417 "href" : "{name}",
1418 "rel" : "child"
1419 }
1420 ],
1421 "type" : "array"
1422 }
1423 },
1424 "POST" : {
1425 "description" : "Create IP or Network Alias.",
1426 "method" : "POST",
1427 "name" : "create_alias",
1428 "parameters" : {
1429 "additionalProperties" : 0,
1430 "properties" : {
1431 "cidr" : {
1432 "description" : "Network/IP specification in CIDR format.",
1433 "format" : "IPorCIDR",
1434 "type" : "string"
1435 },
1436 "comment" : {
1437 "optional" : 1,
1438 "type" : "string"
1439 },
1440 "name" : {
1441 "description" : "Alias name.",
1442 "maxLength" : 64,
1443 "minLength" : 2,
1444 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1445 "type" : "string"
1446 }
1447 }
1448 },
1449 "permissions" : {
1450 "check" : [
1451 "perm",
1452 "/",
1453 [
1454 "Sys.Modify"
1455 ]
1456 ]
1457 },
1458 "protected" : 1,
1459 "returns" : {
1460 "type" : "null"
1461 }
1462 }
1463 },
1464 "leaf" : 0,
1465 "path" : "/cluster/firewall/aliases",
1466 "text" : "aliases"
1467 },
1468 {
1469 "info" : {
1470 "GET" : {
1471 "description" : "Get Firewall options.",
1472 "method" : "GET",
1473 "name" : "get_options",
1474 "parameters" : {
1475 "additionalProperties" : 0
1476 },
1477 "permissions" : {
1478 "check" : [
1479 "perm",
1480 "/",
1481 [
1482 "Sys.Audit"
1483 ]
1484 ]
1485 },
1486 "returns" : {
1487 "properties" : {
1488 "enable" : {
1489 "description" : "Enable or disable the firewall cluster wide.",
1490 "minimum" : 0,
1491 "optional" : 1,
1492 "type" : "integer"
1493 },
1494 "policy_in" : {
1495 "description" : "Input policy.",
1496 "enum" : [
1497 "ACCEPT",
1498 "REJECT",
1499 "DROP"
1500 ],
1501 "optional" : 1,
1502 "type" : "string"
1503 },
1504 "policy_out" : {
1505 "description" : "Output policy.",
1506 "enum" : [
1507 "ACCEPT",
1508 "REJECT",
1509 "DROP"
1510 ],
1511 "optional" : 1,
1512 "type" : "string"
1513 }
1514 },
1515 "type" : "object"
1516 }
1517 },
1518 "PUT" : {
1519 "description" : "Set Firewall options.",
1520 "method" : "PUT",
1521 "name" : "set_options",
1522 "parameters" : {
1523 "additionalProperties" : 0,
1524 "properties" : {
1525 "delete" : {
1526 "description" : "A list of settings you want to delete.",
1527 "format" : "pve-configid-list",
1528 "optional" : 1,
1529 "type" : "string"
1530 },
1531 "digest" : {
1532 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1533 "maxLength" : 40,
1534 "optional" : 1,
1535 "type" : "string"
1536 },
1537 "enable" : {
1538 "description" : "Enable or disable the firewall cluster wide.",
1539 "minimum" : 0,
1540 "optional" : 1,
1541 "type" : "integer",
1542 "typetext" : "integer (0- N)"
1543 },
1544 "policy_in" : {
1545 "description" : "Input policy.",
1546 "enum" : [
1547 "ACCEPT",
1548 "REJECT",
1549 "DROP"
1550 ],
1551 "optional" : 1,
1552 "type" : "string"
1553 },
1554 "policy_out" : {
1555 "description" : "Output policy.",
1556 "enum" : [
1557 "ACCEPT",
1558 "REJECT",
1559 "DROP"
1560 ],
1561 "optional" : 1,
1562 "type" : "string"
1563 }
1564 }
1565 },
1566 "permissions" : {
1567 "check" : [
1568 "perm",
1569 "/",
1570 [
1571 "Sys.Modify"
1572 ]
1573 ]
1574 },
1575 "protected" : 1,
1576 "returns" : {
1577 "type" : "null"
1578 }
1579 }
1580 },
1581 "leaf" : 1,
1582 "path" : "/cluster/firewall/options",
1583 "text" : "options"
1584 },
1585 {
1586 "info" : {
1587 "GET" : {
1588 "description" : "List available macros",
1589 "method" : "GET",
1590 "name" : "get_macros",
1591 "parameters" : {
1592 "additionalProperties" : 0
1593 },
1594 "permissions" : {
1595 "user" : "all"
1596 },
1597 "returns" : {
1598 "items" : {
1599 "properties" : {
1600 "descr" : {
1601 "description" : "More verbose description (if available).",
1602 "type" : "string"
1603 },
1604 "macro" : {
1605 "description" : "Macro name.",
1606 "type" : "string"
1607 }
1608 },
1609 "type" : "object"
1610 },
1611 "type" : "array"
1612 }
1613 }
1614 },
1615 "leaf" : 1,
1616 "path" : "/cluster/firewall/macros",
1617 "text" : "macros"
1618 },
1619 {
1620 "info" : {
1621 "GET" : {
1622 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
1623 "method" : "GET",
1624 "name" : "refs",
1625 "parameters" : {
1626 "additionalProperties" : 0,
1627 "properties" : {
1628 "type" : {
1629 "description" : "Only list references of specified type.",
1630 "enum" : [
1631 "alias",
1632 "ipset"
1633 ],
1634 "optional" : 1,
1635 "type" : "string"
1636 }
1637 }
1638 },
1639 "permissions" : {
1640 "check" : [
1641 "perm",
1642 "/",
1643 [
1644 "Sys.Audit"
1645 ]
1646 ]
1647 },
1648 "returns" : {
1649 "items" : {
1650 "properties" : {
1651 "comment" : {
1652 "optional" : 1,
1653 "type" : "string"
1654 },
1655 "name" : {
1656 "type" : "string"
1657 },
1658 "ref" : {
1659 "type" : "string"
1660 },
1661 "type" : {
1662 "enum" : [
1663 "alias",
1664 "ipset"
1665 ],
1666 "type" : "string"
1667 }
1668 },
1669 "type" : "object"
1670 },
1671 "type" : "array"
1672 }
1673 }
1674 },
1675 "leaf" : 1,
1676 "path" : "/cluster/firewall/refs",
1677 "text" : "refs"
1678 }
1679 ],
1680 "info" : {
1681 "GET" : {
1682 "description" : "Directory index.",
1683 "method" : "GET",
1684 "name" : "index",
1685 "parameters" : {
1686 "additionalProperties" : 0
1687 },
1688 "permissions" : {
1689 "user" : "all"
1690 },
1691 "returns" : {
1692 "items" : {
1693 "properties" : {},
1694 "type" : "object"
1695 },
1696 "links" : [
1697 {
1698 "href" : "{name}",
1699 "rel" : "child"
1700 }
1701 ],
1702 "type" : "array"
1703 }
1704 }
1705 },
1706 "leaf" : 0,
1707 "path" : "/cluster/firewall",
1708 "text" : "firewall"
1709 },
1710 {
1711 "children" : [
1712 {
1713 "info" : {
1714 "DELETE" : {
1715 "description" : "Delete vzdump backup job definition.",
1716 "method" : "DELETE",
1717 "name" : "delete_job",
1718 "parameters" : {
1719 "additionalProperties" : 0,
1720 "properties" : {
1721 "id" : {
1722 "description" : "The job ID.",
1723 "maxLength" : 50,
1724 "type" : "string"
1725 }
1726 }
1727 },
1728 "permissions" : {
1729 "check" : [
1730 "perm",
1731 "/",
1732 [
1733 "Sys.Modify"
1734 ]
1735 ]
1736 },
1737 "protected" : 1,
1738 "returns" : {
1739 "type" : "null"
1740 }
1741 },
1742 "GET" : {
1743 "description" : "Read vzdump backup job definition.",
1744 "method" : "GET",
1745 "name" : "read_job",
1746 "parameters" : {
1747 "additionalProperties" : 0,
1748 "properties" : {
1749 "id" : {
1750 "description" : "The job ID.",
1751 "maxLength" : 50,
1752 "type" : "string"
1753 }
1754 }
1755 },
1756 "permissions" : {
1757 "check" : [
1758 "perm",
1759 "/",
1760 [
1761 "Sys.Audit"
1762 ]
1763 ]
1764 },
1765 "returns" : {
1766 "type" : "object"
1767 }
1768 },
1769 "PUT" : {
1770 "description" : "Update vzdump backup job definition.",
1771 "method" : "PUT",
1772 "name" : "update_job",
1773 "parameters" : {
1774 "additionalProperties" : 0,
1775 "properties" : {
1776 "all" : {
1777 "default" : 0,
1778 "description" : "Backup all known guest systems on this host.",
1779 "optional" : 1,
1780 "type" : "boolean"
1781 },
1782 "bwlimit" : {
1783 "default" : 0,
1784 "description" : "Limit I/O bandwidth (KBytes per second).",
1785 "minimum" : 0,
1786 "optional" : 1,
1787 "type" : "integer",
1788 "typetext" : "integer (0- N)"
1789 },
1790 "compress" : {
1791 "default" : "0",
1792 "description" : "Compress dump file.",
1793 "enum" : [
1794 "0",
1795 "1",
1796 "gzip",
1797 "lzo"
1798 ],
1799 "optional" : 1,
1800 "type" : "string"
1801 },
1802 "delete" : {
1803 "description" : "A list of settings you want to delete.",
1804 "format" : "pve-configid-list",
1805 "optional" : 1,
1806 "type" : "string"
1807 },
1808 "dow" : {
1809 "description" : "Day of week selection.",
1810 "format" : "pve-day-of-week-list",
1811 "optional" : 1,
1812 "type" : "string"
1813 },
1814 "dumpdir" : {
1815 "description" : "Store resulting files to specified directory.",
1816 "optional" : 1,
1817 "type" : "string"
1818 },
1819 "enabled" : {
1820 "default" : "1",
1821 "description" : "Enable or disable the job.",
1822 "optional" : 1,
1823 "type" : "boolean"
1824 },
1825 "exclude" : {
1826 "description" : "Exclude specified guest systems (assumes --all)",
1827 "format" : "pve-vmid-list",
1828 "optional" : 1,
1829 "type" : "string"
1830 },
1831 "exclude-path" : {
1832 "description" : "Exclude certain files/directories (shell globs).",
1833 "format" : "string-alist",
1834 "optional" : 1,
1835 "type" : "string"
1836 },
1837 "id" : {
1838 "description" : "The job ID.",
1839 "maxLength" : 50,
1840 "type" : "string"
1841 },
1842 "ionice" : {
1843 "default" : 7,
1844 "description" : "Set CFQ ionice priority.",
1845 "maximum" : 8,
1846 "minimum" : 0,
1847 "optional" : 1,
1848 "type" : "integer",
1849 "typetext" : "integer (0-8)"
1850 },
1851 "lockwait" : {
1852 "default" : 180,
1853 "description" : "Maximal time to wait for the global lock (minutes).",
1854 "minimum" : 0,
1855 "optional" : 1,
1856 "type" : "integer",
1857 "typetext" : "integer (0- N)"
1858 },
1859 "mailnotification" : {
1860 "default" : "always",
1861 "description" : "Specify when to send an email",
1862 "enum" : [
1863 "always",
1864 "failure"
1865 ],
1866 "optional" : 1,
1867 "type" : "string"
1868 },
1869 "mailto" : {
1870 "description" : "Comma-separated list of email addresses that should receive email notifications.",
1871 "format" : "string-list",
1872 "optional" : 1,
1873 "type" : "string"
1874 },
1875 "maxfiles" : {
1876 "default" : 1,
1877 "description" : "Maximal number of backup files per guest system.",
1878 "minimum" : 1,
1879 "optional" : 1,
1880 "type" : "integer",
1881 "typetext" : "integer (1- N)"
1882 },
1883 "mode" : {
1884 "default" : "snapshot",
1885 "description" : "Backup mode.",
1886 "enum" : [
1887 "snapshot",
1888 "suspend",
1889 "stop"
1890 ],
1891 "optional" : 1,
1892 "type" : "string"
1893 },
1894 "node" : {
1895 "description" : "Only run if executed on this node.",
1896 "format" : "pve-node",
1897 "optional" : 1,
1898 "type" : "string"
1899 },
1900 "pigz" : {
1901 "default" : 0,
1902 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
1903 "optional" : 1,
1904 "type" : "integer"
1905 },
1906 "quiet" : {
1907 "default" : 0,
1908 "description" : "Be quiet.",
1909 "optional" : 1,
1910 "type" : "boolean"
1911 },
1912 "remove" : {
1913 "default" : 1,
1914 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
1915 "optional" : 1,
1916 "type" : "boolean"
1917 },
1918 "script" : {
1919 "description" : "Use specified hook script.",
1920 "optional" : 1,
1921 "type" : "string"
1922 },
1923 "size" : {
1924 "default" : 1024,
1925 "description" : "Unused, will be removed in a future release.",
1926 "minimum" : 500,
1927 "optional" : 1,
1928 "type" : "integer",
1929 "typetext" : "integer (500- N)"
1930 },
1931 "starttime" : {
1932 "description" : "Job Start time.",
1933 "pattern" : "\\d{1,2}:\\d{1,2}",
1934 "type" : "string",
1935 "typetext" : "HH:MM"
1936 },
1937 "stdexcludes" : {
1938 "default" : 1,
1939 "description" : "Exclude temporary files and logs.",
1940 "optional" : 1,
1941 "type" : "boolean"
1942 },
1943 "stop" : {
1944 "default" : 0,
1945 "description" : "Stop runnig backup jobs on this host.",
1946 "optional" : 1,
1947 "type" : "boolean"
1948 },
1949 "stopwait" : {
1950 "default" : 10,
1951 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
1952 "minimum" : 0,
1953 "optional" : 1,
1954 "type" : "integer",
1955 "typetext" : "integer (0- N)"
1956 },
1957 "storage" : {
1958 "description" : "Store resulting file to this storage.",
1959 "format" : "pve-storage-id",
1960 "optional" : 1,
1961 "type" : "string"
1962 },
1963 "tmpdir" : {
1964 "description" : "Store temporary files to specified directory.",
1965 "optional" : 1,
1966 "type" : "string"
1967 },
1968 "vmid" : {
1969 "description" : "The ID of the guest system you want to backup.",
1970 "format" : "pve-vmid-list",
1971 "optional" : 1,
1972 "type" : "string"
1973 }
1974 }
1975 },
1976 "permissions" : {
1977 "check" : [
1978 "perm",
1979 "/",
1980 [
1981 "Sys.Modify"
1982 ]
1983 ]
1984 },
1985 "protected" : 1,
1986 "returns" : {
1987 "type" : "null"
1988 }
1989 }
1990 },
1991 "leaf" : 1,
1992 "path" : "/cluster/backup/{id}",
1993 "text" : "{id}"
1994 }
1995 ],
1996 "info" : {
1997 "GET" : {
1998 "description" : "List vzdump backup schedule.",
1999 "method" : "GET",
2000 "name" : "index",
2001 "parameters" : {
2002 "additionalProperties" : 0
2003 },
2004 "permissions" : {
2005 "check" : [
2006 "perm",
2007 "/",
2008 [
2009 "Sys.Audit"
2010 ]
2011 ]
2012 },
2013 "returns" : {
2014 "items" : {
2015 "properties" : {
2016 "id" : {
2017 "type" : "string"
2018 }
2019 },
2020 "type" : "object"
2021 },
2022 "links" : [
2023 {
2024 "href" : "{id}",
2025 "rel" : "child"
2026 }
2027 ],
2028 "type" : "array"
2029 }
2030 },
2031 "POST" : {
2032 "description" : "Create new vzdump backup job.",
2033 "method" : "POST",
2034 "name" : "create_job",
2035 "parameters" : {
2036 "additionalProperties" : 0,
2037 "properties" : {
2038 "all" : {
2039 "default" : 0,
2040 "description" : "Backup all known guest systems on this host.",
2041 "optional" : 1,
2042 "type" : "boolean"
2043 },
2044 "bwlimit" : {
2045 "default" : 0,
2046 "description" : "Limit I/O bandwidth (KBytes per second).",
2047 "minimum" : 0,
2048 "optional" : 1,
2049 "type" : "integer",
2050 "typetext" : "integer (0- N)"
2051 },
2052 "compress" : {
2053 "default" : "0",
2054 "description" : "Compress dump file.",
2055 "enum" : [
2056 "0",
2057 "1",
2058 "gzip",
2059 "lzo"
2060 ],
2061 "optional" : 1,
2062 "type" : "string"
2063 },
2064 "dow" : {
2065 "default" : "mon,tue,wed,thu,fri,sat,sun",
2066 "description" : "Day of week selection.",
2067 "format" : "pve-day-of-week-list",
2068 "optional" : 1,
2069 "type" : "string"
2070 },
2071 "dumpdir" : {
2072 "description" : "Store resulting files to specified directory.",
2073 "optional" : 1,
2074 "type" : "string"
2075 },
2076 "enabled" : {
2077 "default" : "1",
2078 "description" : "Enable or disable the job.",
2079 "optional" : 1,
2080 "type" : "boolean"
2081 },
2082 "exclude" : {
2083 "description" : "Exclude specified guest systems (assumes --all)",
2084 "format" : "pve-vmid-list",
2085 "optional" : 1,
2086 "type" : "string"
2087 },
2088 "exclude-path" : {
2089 "description" : "Exclude certain files/directories (shell globs).",
2090 "format" : "string-alist",
2091 "optional" : 1,
2092 "type" : "string"
2093 },
2094 "ionice" : {
2095 "default" : 7,
2096 "description" : "Set CFQ ionice priority.",
2097 "maximum" : 8,
2098 "minimum" : 0,
2099 "optional" : 1,
2100 "type" : "integer",
2101 "typetext" : "integer (0-8)"
2102 },
2103 "lockwait" : {
2104 "default" : 180,
2105 "description" : "Maximal time to wait for the global lock (minutes).",
2106 "minimum" : 0,
2107 "optional" : 1,
2108 "type" : "integer",
2109 "typetext" : "integer (0- N)"
2110 },
2111 "mailnotification" : {
2112 "default" : "always",
2113 "description" : "Specify when to send an email",
2114 "enum" : [
2115 "always",
2116 "failure"
2117 ],
2118 "optional" : 1,
2119 "type" : "string"
2120 },
2121 "mailto" : {
2122 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2123 "format" : "string-list",
2124 "optional" : 1,
2125 "type" : "string"
2126 },
2127 "maxfiles" : {
2128 "default" : 1,
2129 "description" : "Maximal number of backup files per guest system.",
2130 "minimum" : 1,
2131 "optional" : 1,
2132 "type" : "integer",
2133 "typetext" : "integer (1- N)"
2134 },
2135 "mode" : {
2136 "default" : "snapshot",
2137 "description" : "Backup mode.",
2138 "enum" : [
2139 "snapshot",
2140 "suspend",
2141 "stop"
2142 ],
2143 "optional" : 1,
2144 "type" : "string"
2145 },
2146 "node" : {
2147 "description" : "Only run if executed on this node.",
2148 "format" : "pve-node",
2149 "optional" : 1,
2150 "type" : "string"
2151 },
2152 "pigz" : {
2153 "default" : 0,
2154 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2155 "optional" : 1,
2156 "type" : "integer"
2157 },
2158 "quiet" : {
2159 "default" : 0,
2160 "description" : "Be quiet.",
2161 "optional" : 1,
2162 "type" : "boolean"
2163 },
2164 "remove" : {
2165 "default" : 1,
2166 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2167 "optional" : 1,
2168 "type" : "boolean"
2169 },
2170 "script" : {
2171 "description" : "Use specified hook script.",
2172 "optional" : 1,
2173 "type" : "string"
2174 },
2175 "size" : {
2176 "default" : 1024,
2177 "description" : "Unused, will be removed in a future release.",
2178 "minimum" : 500,
2179 "optional" : 1,
2180 "type" : "integer",
2181 "typetext" : "integer (500- N)"
2182 },
2183 "starttime" : {
2184 "description" : "Job Start time.",
2185 "pattern" : "\\d{1,2}:\\d{1,2}",
2186 "type" : "string",
2187 "typetext" : "HH:MM"
2188 },
2189 "stdexcludes" : {
2190 "default" : 1,
2191 "description" : "Exclude temporary files and logs.",
2192 "optional" : 1,
2193 "type" : "boolean"
2194 },
2195 "stop" : {
2196 "default" : 0,
2197 "description" : "Stop runnig backup jobs on this host.",
2198 "optional" : 1,
2199 "type" : "boolean"
2200 },
2201 "stopwait" : {
2202 "default" : 10,
2203 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2204 "minimum" : 0,
2205 "optional" : 1,
2206 "type" : "integer",
2207 "typetext" : "integer (0- N)"
2208 },
2209 "storage" : {
2210 "description" : "Store resulting file to this storage.",
2211 "format" : "pve-storage-id",
2212 "optional" : 1,
2213 "type" : "string"
2214 },
2215 "tmpdir" : {
2216 "description" : "Store temporary files to specified directory.",
2217 "optional" : 1,
2218 "type" : "string"
2219 },
2220 "vmid" : {
2221 "description" : "The ID of the guest system you want to backup.",
2222 "format" : "pve-vmid-list",
2223 "optional" : 1,
2224 "type" : "string"
2225 }
2226 }
2227 },
2228 "permissions" : {
2229 "check" : [
2230 "perm",
2231 "/",
2232 [
2233 "Sys.Modify"
2234 ]
2235 ]
2236 },
2237 "protected" : 1,
2238 "returns" : {
2239 "type" : "null"
2240 }
2241 }
2242 },
2243 "leaf" : 0,
2244 "path" : "/cluster/backup",
2245 "text" : "backup"
2246 },
2247 {
2248 "children" : [
2249 {
2250 "children" : [
2251 {
2252 "children" : [
2253 {
2254 "info" : {
2255 "POST" : {
2256 "description" : "Request resource migration (online) to another node.",
2257 "method" : "POST",
2258 "name" : "migrate",
2259 "parameters" : {
2260 "additionalProperties" : 0,
2261 "properties" : {
2262 "node" : {
2263 "description" : "The cluster node name.",
2264 "format" : "pve-node",
2265 "type" : "string"
2266 },
2267 "sid" : {
2268 "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).",
2269 "format" : "pve-ha-resource-or-vm-id",
2270 "type" : "string",
2271 "typetext" : "<type>:<name>"
2272 }
2273 }
2274 },
2275 "permissions" : {
2276 "check" : [
2277 "perm",
2278 "/",
2279 [
2280 "Sys.Console"
2281 ]
2282 ]
2283 },
2284 "protected" : 1,
2285 "returns" : {
2286 "type" : "null"
2287 }
2288 }
2289 },
2290 "leaf" : 1,
2291 "path" : "/cluster/ha/resources/{sid}/migrate",
2292 "text" : "migrate"
2293 },
2294 {
2295 "info" : {
2296 "POST" : {
2297 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
2298 "method" : "POST",
2299 "name" : "relocate",
2300 "parameters" : {
2301 "additionalProperties" : 0,
2302 "properties" : {
2303 "node" : {
2304 "description" : "The cluster node name.",
2305 "format" : "pve-node",
2306 "type" : "string"
2307 },
2308 "sid" : {
2309 "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).",
2310 "format" : "pve-ha-resource-or-vm-id",
2311 "type" : "string",
2312 "typetext" : "<type>:<name>"
2313 }
2314 }
2315 },
2316 "permissions" : {
2317 "check" : [
2318 "perm",
2319 "/",
2320 [
2321 "Sys.Console"
2322 ]
2323 ]
2324 },
2325 "protected" : 1,
2326 "returns" : {
2327 "type" : "null"
2328 }
2329 }
2330 },
2331 "leaf" : 1,
2332 "path" : "/cluster/ha/resources/{sid}/relocate",
2333 "text" : "relocate"
2334 }
2335 ],
2336 "info" : {
2337 "DELETE" : {
2338 "description" : "Delete resource configuration.",
2339 "method" : "DELETE",
2340 "name" : "delete",
2341 "parameters" : {
2342 "additionalProperties" : 0,
2343 "properties" : {
2344 "sid" : {
2345 "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).",
2346 "format" : "pve-ha-resource-or-vm-id",
2347 "type" : "string",
2348 "typetext" : "<type>:<name>"
2349 }
2350 }
2351 },
2352 "permissions" : {
2353 "check" : [
2354 "perm",
2355 "/",
2356 [
2357 "Sys.Console"
2358 ]
2359 ]
2360 },
2361 "protected" : 1,
2362 "returns" : {
2363 "type" : "null"
2364 }
2365 },
2366 "GET" : {
2367 "description" : "Read resource configuration.",
2368 "method" : "GET",
2369 "name" : "read",
2370 "parameters" : {
2371 "additionalProperties" : 0,
2372 "properties" : {
2373 "sid" : {
2374 "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).",
2375 "format" : "pve-ha-resource-or-vm-id",
2376 "type" : "string",
2377 "typetext" : "<type>:<name>"
2378 }
2379 }
2380 },
2381 "permissions" : {
2382 "check" : [
2383 "perm",
2384 "/",
2385 [
2386 "Sys.Audit"
2387 ]
2388 ]
2389 },
2390 "returns" : {}
2391 },
2392 "PUT" : {
2393 "description" : "Update resource configuration.",
2394 "method" : "PUT",
2395 "name" : "update",
2396 "parameters" : {
2397 "additionalProperties" : 0,
2398 "properties" : {
2399 "comment" : {
2400 "description" : "Description.",
2401 "maxLength" : 4096,
2402 "optional" : 1,
2403 "type" : "string"
2404 },
2405 "delete" : {
2406 "description" : "A list of settings you want to delete.",
2407 "format" : "pve-configid-list",
2408 "maxLength" : 4096,
2409 "optional" : 1,
2410 "type" : "string"
2411 },
2412 "digest" : {
2413 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2414 "maxLength" : 40,
2415 "optional" : 1,
2416 "type" : "string"
2417 },
2418 "group" : {
2419 "description" : "The HA group identifier.",
2420 "format" : "pve-configid",
2421 "optional" : 1,
2422 "type" : "string"
2423 },
2424 "max_relocate" : {
2425 "default" : 1,
2426 "description" : "Maximal number of service relocate tries when a service failes to start.",
2427 "minimum" : 0,
2428 "optional" : 1,
2429 "type" : "integer",
2430 "typetext" : "integer (0- N)"
2431 },
2432 "max_restart" : {
2433 "default" : 1,
2434 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2435 "minimum" : 0,
2436 "optional" : 1,
2437 "type" : "integer",
2438 "typetext" : "integer (0- N)"
2439 },
2440 "sid" : {
2441 "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).",
2442 "format" : "pve-ha-resource-or-vm-id",
2443 "type" : "string",
2444 "typetext" : "<type>:<name>"
2445 },
2446 "state" : {
2447 "default" : "enabled",
2448 "description" : "Resource state.",
2449 "enum" : [
2450 "enabled",
2451 "disabled"
2452 ],
2453 "optional" : 1,
2454 "type" : "string"
2455 }
2456 },
2457 "type" : "object"
2458 },
2459 "permissions" : {
2460 "check" : [
2461 "perm",
2462 "/",
2463 [
2464 "Sys.Console"
2465 ]
2466 ]
2467 },
2468 "protected" : 1,
2469 "returns" : {
2470 "type" : "null"
2471 }
2472 }
2473 },
2474 "leaf" : 0,
2475 "path" : "/cluster/ha/resources/{sid}",
2476 "text" : "{sid}"
2477 }
2478 ],
2479 "info" : {
2480 "GET" : {
2481 "description" : "List HA resources.",
2482 "method" : "GET",
2483 "name" : "index",
2484 "parameters" : {
2485 "additionalProperties" : 0,
2486 "properties" : {
2487 "type" : {
2488 "description" : "Only list resources of specific type",
2489 "enum" : [
2490 "ct",
2491 "vm"
2492 ],
2493 "optional" : 1,
2494 "type" : "string"
2495 }
2496 }
2497 },
2498 "permissions" : {
2499 "check" : [
2500 "perm",
2501 "/",
2502 [
2503 "Sys.Audit"
2504 ]
2505 ]
2506 },
2507 "returns" : {
2508 "items" : {
2509 "properties" : {
2510 "sid" : {
2511 "type" : "string"
2512 }
2513 },
2514 "type" : "object"
2515 },
2516 "links" : [
2517 {
2518 "href" : "{sid}",
2519 "rel" : "child"
2520 }
2521 ],
2522 "type" : "array"
2523 }
2524 },
2525 "POST" : {
2526 "description" : "Create a new HA resource.",
2527 "method" : "POST",
2528 "name" : "create",
2529 "parameters" : {
2530 "additionalProperties" : 0,
2531 "properties" : {
2532 "comment" : {
2533 "description" : "Description.",
2534 "maxLength" : 4096,
2535 "optional" : 1,
2536 "type" : "string"
2537 },
2538 "group" : {
2539 "description" : "The HA group identifier.",
2540 "format" : "pve-configid",
2541 "optional" : 1,
2542 "type" : "string"
2543 },
2544 "max_relocate" : {
2545 "default" : 1,
2546 "description" : "Maximal number of service relocate tries when a service failes to start.",
2547 "minimum" : 0,
2548 "optional" : 1,
2549 "type" : "integer",
2550 "typetext" : "integer (0- N)"
2551 },
2552 "max_restart" : {
2553 "default" : 1,
2554 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2555 "minimum" : 0,
2556 "optional" : 1,
2557 "type" : "integer",
2558 "typetext" : "integer (0- N)"
2559 },
2560 "sid" : {
2561 "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).",
2562 "format" : "pve-ha-resource-or-vm-id",
2563 "type" : "string",
2564 "typetext" : "<type>:<name>"
2565 },
2566 "state" : {
2567 "default" : "enabled",
2568 "description" : "Resource state.",
2569 "enum" : [
2570 "enabled",
2571 "disabled"
2572 ],
2573 "optional" : 1,
2574 "type" : "string"
2575 },
2576 "type" : {
2577 "description" : "Resource type.",
2578 "enum" : [
2579 "ct",
2580 "vm"
2581 ],
2582 "optional" : 1,
2583 "type" : "string"
2584 }
2585 },
2586 "type" : "object"
2587 },
2588 "permissions" : {
2589 "check" : [
2590 "perm",
2591 "/",
2592 [
2593 "Sys.Console"
2594 ]
2595 ]
2596 },
2597 "protected" : 1,
2598 "returns" : {
2599 "type" : "null"
2600 }
2601 }
2602 },
2603 "leaf" : 0,
2604 "path" : "/cluster/ha/resources",
2605 "text" : "resources"
2606 },
2607 {
2608 "children" : [
2609 {
2610 "info" : {
2611 "DELETE" : {
2612 "description" : "Delete ha group configuration.",
2613 "method" : "DELETE",
2614 "name" : "delete",
2615 "parameters" : {
2616 "additionalProperties" : 0,
2617 "properties" : {
2618 "group" : {
2619 "description" : "The HA group identifier.",
2620 "format" : "pve-configid",
2621 "type" : "string"
2622 }
2623 }
2624 },
2625 "permissions" : {
2626 "check" : [
2627 "perm",
2628 "/",
2629 [
2630 "Sys.Console"
2631 ]
2632 ]
2633 },
2634 "protected" : 1,
2635 "returns" : {
2636 "type" : "null"
2637 }
2638 },
2639 "GET" : {
2640 "description" : "Read ha group configuration.",
2641 "method" : "GET",
2642 "name" : "read",
2643 "parameters" : {
2644 "additionalProperties" : 0,
2645 "properties" : {
2646 "group" : {
2647 "description" : "The HA group identifier.",
2648 "format" : "pve-configid",
2649 "type" : "string"
2650 }
2651 }
2652 },
2653 "permissions" : {
2654 "check" : [
2655 "perm",
2656 "/",
2657 [
2658 "Sys.Audit"
2659 ]
2660 ]
2661 },
2662 "returns" : {}
2663 },
2664 "PUT" : {
2665 "description" : "Update ha group configuration.",
2666 "method" : "PUT",
2667 "name" : "update",
2668 "parameters" : {
2669 "additionalProperties" : 0,
2670 "properties" : {
2671 "comment" : {
2672 "description" : "Description.",
2673 "maxLength" : 4096,
2674 "optional" : 1,
2675 "type" : "string"
2676 },
2677 "delete" : {
2678 "description" : "A list of settings you want to delete.",
2679 "format" : "pve-configid-list",
2680 "maxLength" : 4096,
2681 "optional" : 1,
2682 "type" : "string"
2683 },
2684 "digest" : {
2685 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2686 "maxLength" : 40,
2687 "optional" : 1,
2688 "type" : "string"
2689 },
2690 "group" : {
2691 "description" : "The HA group identifier.",
2692 "format" : "pve-configid",
2693 "type" : "string"
2694 },
2695 "nodes" : {
2696 "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
2697 "format" : "pve-ha-group-node-list",
2698 "optional" : 1,
2699 "type" : "string",
2700 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
2701 },
2702 "nofailback" : {
2703 "default" : 0,
2704 "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.",
2705 "optional" : 1,
2706 "type" : "boolean"
2707 },
2708 "restricted" : {
2709 "default" : 0,
2710 "description" : "Services on unrestricted groups may run on any cluster members 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 one member.",
2711 "optional" : 1,
2712 "type" : "boolean"
2713 }
2714 },
2715 "type" : "object"
2716 },
2717 "permissions" : {
2718 "check" : [
2719 "perm",
2720 "/",
2721 [
2722 "Sys.Console"
2723 ]
2724 ]
2725 },
2726 "protected" : 1,
2727 "returns" : {
2728 "type" : "null"
2729 }
2730 }
2731 },
2732 "leaf" : 1,
2733 "path" : "/cluster/ha/groups/{group}",
2734 "text" : "{group}"
2735 }
2736 ],
2737 "info" : {
2738 "GET" : {
2739 "description" : "Get HA groups.",
2740 "method" : "GET",
2741 "name" : "index",
2742 "parameters" : {
2743 "additionalProperties" : 0
2744 },
2745 "permissions" : {
2746 "check" : [
2747 "perm",
2748 "/",
2749 [
2750 "Sys.Audit"
2751 ]
2752 ]
2753 },
2754 "returns" : {
2755 "items" : {
2756 "properties" : {
2757 "group" : {
2758 "type" : "string"
2759 }
2760 },
2761 "type" : "object"
2762 },
2763 "links" : [
2764 {
2765 "href" : "{group}",
2766 "rel" : "child"
2767 }
2768 ],
2769 "type" : "array"
2770 }
2771 },
2772 "POST" : {
2773 "description" : "Create a new HA group.",
2774 "method" : "POST",
2775 "name" : "create",
2776 "parameters" : {
2777 "additionalProperties" : 0,
2778 "properties" : {
2779 "comment" : {
2780 "description" : "Description.",
2781 "maxLength" : 4096,
2782 "optional" : 1,
2783 "type" : "string"
2784 },
2785 "group" : {
2786 "description" : "The HA group identifier.",
2787 "format" : "pve-configid",
2788 "type" : "string"
2789 },
2790 "nodes" : {
2791 "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
2792 "format" : "pve-ha-group-node-list",
2793 "optional" : 0,
2794 "type" : "string",
2795 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
2796 },
2797 "nofailback" : {
2798 "default" : 0,
2799 "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.",
2800 "optional" : 1,
2801 "type" : "boolean"
2802 },
2803 "restricted" : {
2804 "default" : 0,
2805 "description" : "Services on unrestricted groups may run on any cluster members 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 one member.",
2806 "optional" : 1,
2807 "type" : "boolean"
2808 },
2809 "type" : {
2810 "description" : "Group type.",
2811 "enum" : [
2812 "group"
2813 ],
2814 "optional" : 1,
2815 "type" : "string"
2816 }
2817 },
2818 "type" : "object"
2819 },
2820 "permissions" : {
2821 "check" : [
2822 "perm",
2823 "/",
2824 [
2825 "Sys.Console"
2826 ]
2827 ]
2828 },
2829 "protected" : 1,
2830 "returns" : {
2831 "type" : "null"
2832 }
2833 }
2834 },
2835 "leaf" : 0,
2836 "path" : "/cluster/ha/groups",
2837 "text" : "groups"
2838 },
2839 {
2840 "children" : [
2841 {
2842 "info" : {
2843 "GET" : {
2844 "description" : "Get HA manger status.",
2845 "method" : "GET",
2846 "name" : "status",
2847 "parameters" : {
2848 "additionalProperties" : 0
2849 },
2850 "permissions" : {
2851 "check" : [
2852 "perm",
2853 "/",
2854 [
2855 "Sys.Audit"
2856 ]
2857 ]
2858 },
2859 "returns" : {
2860 "type" : "array"
2861 }
2862 }
2863 },
2864 "leaf" : 1,
2865 "path" : "/cluster/ha/status/current",
2866 "text" : "current"
2867 },
2868 {
2869 "info" : {
2870 "GET" : {
2871 "description" : "Get full HA manger status, including LRM status.",
2872 "method" : "GET",
2873 "name" : "manager_status",
2874 "parameters" : {
2875 "additionalProperties" : 0
2876 },
2877 "permissions" : {
2878 "check" : [
2879 "perm",
2880 "/",
2881 [
2882 "Sys.Audit"
2883 ]
2884 ]
2885 },
2886 "returns" : {
2887 "type" : "object"
2888 }
2889 }
2890 },
2891 "leaf" : 1,
2892 "path" : "/cluster/ha/status/manager_status",
2893 "text" : "manager_status"
2894 }
2895 ],
2896 "info" : {
2897 "GET" : {
2898 "description" : "Directory index.",
2899 "method" : "GET",
2900 "name" : "index",
2901 "parameters" : {
2902 "additionalProperties" : 0
2903 },
2904 "permissions" : {
2905 "user" : "all"
2906 },
2907 "returns" : {
2908 "items" : {
2909 "properties" : {},
2910 "type" : "object"
2911 },
2912 "links" : [
2913 {
2914 "href" : "{name}",
2915 "rel" : "child"
2916 }
2917 ],
2918 "type" : "array"
2919 }
2920 }
2921 },
2922 "leaf" : 0,
2923 "path" : "/cluster/ha/status",
2924 "text" : "status"
2925 }
2926 ],
2927 "info" : {
2928 "GET" : {
2929 "description" : "Directory index.",
2930 "method" : "GET",
2931 "name" : "index",
2932 "parameters" : {
2933 "additionalProperties" : 0
2934 },
2935 "permissions" : {
2936 "check" : [
2937 "perm",
2938 "/",
2939 [
2940 "Sys.Audit"
2941 ]
2942 ]
2943 },
2944 "returns" : {
2945 "items" : {
2946 "properties" : {
2947 "id" : {
2948 "type" : "string"
2949 }
2950 },
2951 "type" : "object"
2952 },
2953 "links" : [
2954 {
2955 "href" : "{id}",
2956 "rel" : "child"
2957 }
2958 ],
2959 "type" : "array"
2960 }
2961 }
2962 },
2963 "leaf" : 0,
2964 "path" : "/cluster/ha",
2965 "text" : "ha"
2966 },
2967 {
2968 "info" : {
2969 "GET" : {
2970 "description" : "Read cluster log",
2971 "method" : "GET",
2972 "name" : "log",
2973 "parameters" : {
2974 "additionalProperties" : 0,
2975 "properties" : {
2976 "max" : {
2977 "description" : "Maximum number of entries.",
2978 "minimum" : 1,
2979 "optional" : 1,
2980 "type" : "integer",
2981 "typetext" : "integer (1- N)"
2982 }
2983 }
2984 },
2985 "permissions" : {
2986 "user" : "all"
2987 },
2988 "returns" : {
2989 "items" : {
2990 "properties" : {},
2991 "type" : "object"
2992 },
2993 "type" : "array"
2994 }
2995 }
2996 },
2997 "leaf" : 1,
2998 "path" : "/cluster/log",
2999 "text" : "log"
3000 },
3001 {
3002 "info" : {
3003 "GET" : {
3004 "description" : "Resources index (cluster wide).",
3005 "method" : "GET",
3006 "name" : "resources",
3007 "parameters" : {
3008 "additionalProperties" : 0,
3009 "properties" : {
3010 "type" : {
3011 "enum" : [
3012 "vm",
3013 "storage",
3014 "node"
3015 ],
3016 "optional" : 1,
3017 "type" : "string"
3018 }
3019 }
3020 },
3021 "permissions" : {
3022 "user" : "all"
3023 },
3024 "returns" : {
3025 "items" : {
3026 "properties" : {},
3027 "type" : "object"
3028 },
3029 "type" : "array"
3030 }
3031 }
3032 },
3033 "leaf" : 1,
3034 "path" : "/cluster/resources",
3035 "text" : "resources"
3036 },
3037 {
3038 "info" : {
3039 "GET" : {
3040 "description" : "List recent tasks (cluster wide).",
3041 "method" : "GET",
3042 "name" : "tasks",
3043 "parameters" : {
3044 "additionalProperties" : 0
3045 },
3046 "permissions" : {
3047 "user" : "all"
3048 },
3049 "returns" : {
3050 "items" : {
3051 "properties" : {
3052 "upid" : {
3053 "type" : "string"
3054 }
3055 },
3056 "type" : "object"
3057 },
3058 "type" : "array"
3059 }
3060 }
3061 },
3062 "leaf" : 1,
3063 "path" : "/cluster/tasks",
3064 "text" : "tasks"
3065 },
3066 {
3067 "info" : {
3068 "GET" : {
3069 "description" : "Get datacenter options.",
3070 "method" : "GET",
3071 "name" : "get_options",
3072 "parameters" : {
3073 "additionalProperties" : 0
3074 },
3075 "permissions" : {
3076 "check" : [
3077 "perm",
3078 "/",
3079 [
3080 "Sys.Audit"
3081 ]
3082 ]
3083 },
3084 "returns" : {
3085 "properties" : {},
3086 "type" : "object"
3087 }
3088 },
3089 "PUT" : {
3090 "description" : "Set datacenter options.",
3091 "method" : "PUT",
3092 "name" : "set_options",
3093 "parameters" : {
3094 "additionalProperties" : 0,
3095 "properties" : {
3096 "console" : {
3097 "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC), an external virt-viewer comtatible application (SPICE), or an HTML5 based viewer (noVNC).",
3098 "enum" : [
3099 "applet",
3100 "vv",
3101 "html5"
3102 ],
3103 "optional" : 1,
3104 "type" : "string"
3105 },
3106 "delete" : {
3107 "description" : "A list of settings you want to delete.",
3108 "format" : "pve-configid-list",
3109 "optional" : 1,
3110 "type" : "string"
3111 },
3112 "email_from" : {
3113 "description" : "Specify email address to send notification from (default is root@$hostname)",
3114 "format" : "email-opt",
3115 "optional" : 1,
3116 "type" : "string"
3117 },
3118 "fencing" : {
3119 "default" : "watchdog",
3120 "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",
3121 "enum" : [
3122 "watchdog",
3123 "hardware",
3124 "both"
3125 ],
3126 "optional" : 1,
3127 "type" : "string"
3128 },
3129 "http_proxy" : {
3130 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
3131 "optional" : 1,
3132 "pattern" : "http://.*",
3133 "type" : "string"
3134 },
3135 "keyboard" : {
3136 "description" : "Default keybord layout for vnc server.",
3137 "enum" : [
3138 "de",
3139 "de-ch",
3140 "da",
3141 "en-gb",
3142 "en-us",
3143 "es",
3144 "fi",
3145 "fr",
3146 "fr-be",
3147 "fr-ca",
3148 "fr-ch",
3149 "hu",
3150 "is",
3151 "it",
3152 "ja",
3153 "lt",
3154 "mk",
3155 "nl",
3156 "no",
3157 "pl",
3158 "pt",
3159 "pt-br",
3160 "sv",
3161 "sl",
3162 "tr"
3163 ],
3164 "optional" : 1,
3165 "type" : "string"
3166 },
3167 "language" : {
3168 "description" : "Default GUI language.",
3169 "enum" : [
3170 "en",
3171 "de"
3172 ],
3173 "optional" : 1,
3174 "type" : "string"
3175 },
3176 "mac_prefix" : {
3177 "description" : "Prefix for autogenerated MAC addresses.",
3178 "optional" : 1,
3179 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
3180 "type" : "string"
3181 },
3182 "max_workers" : {
3183 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
3184 "minimum" : 1,
3185 "optional" : 1,
3186 "type" : "integer",
3187 "typetext" : "integer (1- N)"
3188 },
3189 "migration_unsecure" : {
3190 "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration.",
3191 "optional" : 1,
3192 "type" : "boolean"
3193 }
3194 }
3195 },
3196 "permissions" : {
3197 "check" : [
3198 "perm",
3199 "/",
3200 [
3201 "Sys.Modify"
3202 ]
3203 ]
3204 },
3205 "protected" : 1,
3206 "returns" : {
3207 "type" : "null"
3208 }
3209 }
3210 },
3211 "leaf" : 1,
3212 "path" : "/cluster/options",
3213 "text" : "options"
3214 },
3215 {
3216 "info" : {
3217 "GET" : {
3218 "description" : "Get cluster status informations.",
3219 "method" : "GET",
3220 "name" : "get_status",
3221 "parameters" : {
3222 "additionalProperties" : 0
3223 },
3224 "permissions" : {
3225 "check" : [
3226 "perm",
3227 "/",
3228 [
3229 "Sys.Audit"
3230 ]
3231 ]
3232 },
3233 "protected" : 1,
3234 "returns" : {
3235 "items" : {
3236 "properties" : {
3237 "type" : {
3238 "type" : "string"
3239 }
3240 },
3241 "type" : "object"
3242 },
3243 "type" : "array"
3244 }
3245 }
3246 },
3247 "leaf" : 1,
3248 "path" : "/cluster/status",
3249 "text" : "status"
3250 },
3251 {
3252 "info" : {
3253 "GET" : {
3254 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
3255 "method" : "GET",
3256 "name" : "nextid",
3257 "parameters" : {
3258 "additionalProperties" : 0,
3259 "properties" : {
3260 "vmid" : {
3261 "description" : "The (unique) ID of the VM.",
3262 "format" : "pve-vmid",
3263 "minimum" : 1,
3264 "optional" : 1,
3265 "type" : "integer",
3266 "typetext" : "integer (1- N)"
3267 }
3268 }
3269 },
3270 "permissions" : {
3271 "user" : "all"
3272 },
3273 "returns" : {
3274 "description" : "The next free VMID.",
3275 "type" : "integer"
3276 }
3277 }
3278 },
3279 "leaf" : 1,
3280 "path" : "/cluster/nextid",
3281 "text" : "nextid"
3282 }
3283 ],
3284 "info" : {
3285 "GET" : {
3286 "description" : "Cluster index.",
3287 "method" : "GET",
3288 "name" : "index",
3289 "parameters" : {
3290 "additionalProperties" : 0
3291 },
3292 "permissions" : {
3293 "user" : "all"
3294 },
3295 "returns" : {
3296 "items" : {
3297 "properties" : {},
3298 "type" : "object"
3299 },
3300 "links" : [
3301 {
3302 "href" : "{name}",
3303 "rel" : "child"
3304 }
3305 ],
3306 "type" : "array"
3307 }
3308 }
3309 },
3310 "leaf" : 0,
3311 "path" : "/cluster",
3312 "text" : "cluster"
3313 },
3314 {
3315 "children" : [
3316 {
3317 "children" : [
3318 {
3319 "children" : [
3320 {
3321 "children" : [
3322 {
3323 "children" : [
3324 {
3325 "children" : [
3326 {
3327 "info" : {
3328 "DELETE" : {
3329 "description" : "Delete rule.",
3330 "method" : "DELETE",
3331 "name" : "delete_rule",
3332 "parameters" : {
3333 "additionalProperties" : 0,
3334 "properties" : {
3335 "digest" : {
3336 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3337 "maxLength" : 40,
3338 "optional" : 1,
3339 "type" : "string"
3340 },
3341 "node" : {
3342 "description" : "The cluster node name.",
3343 "format" : "pve-node",
3344 "type" : "string"
3345 },
3346 "pos" : {
3347 "description" : "Update rule at position <pos>.",
3348 "minimum" : 0,
3349 "optional" : 1,
3350 "type" : "integer",
3351 "typetext" : "integer (0- N)"
3352 },
3353 "vmid" : {
3354 "description" : "The (unique) ID of the VM.",
3355 "format" : "pve-vmid",
3356 "minimum" : 1,
3357 "type" : "integer",
3358 "typetext" : "integer (1- N)"
3359 }
3360 }
3361 },
3362 "permissions" : {
3363 "check" : [
3364 "perm",
3365 "/vms/{vmid}",
3366 [
3367 "VM.Config.Network"
3368 ]
3369 ]
3370 },
3371 "protected" : 1,
3372 "proxyto" : null,
3373 "returns" : {
3374 "type" : "null"
3375 }
3376 },
3377 "GET" : {
3378 "description" : "Get single rule data.",
3379 "method" : "GET",
3380 "name" : "get_rule",
3381 "parameters" : {
3382 "additionalProperties" : 0,
3383 "properties" : {
3384 "node" : {
3385 "description" : "The cluster node name.",
3386 "format" : "pve-node",
3387 "type" : "string"
3388 },
3389 "pos" : {
3390 "description" : "Update rule at position <pos>.",
3391 "minimum" : 0,
3392 "optional" : 1,
3393 "type" : "integer",
3394 "typetext" : "integer (0- N)"
3395 },
3396 "vmid" : {
3397 "description" : "The (unique) ID of the VM.",
3398 "format" : "pve-vmid",
3399 "minimum" : 1,
3400 "type" : "integer",
3401 "typetext" : "integer (1- N)"
3402 }
3403 }
3404 },
3405 "permissions" : {
3406 "check" : [
3407 "perm",
3408 "/vms/{vmid}",
3409 [
3410 "VM.Audit"
3411 ]
3412 ]
3413 },
3414 "proxyto" : null,
3415 "returns" : {
3416 "properties" : {
3417 "pos" : {
3418 "type" : "integer"
3419 }
3420 },
3421 "type" : "object"
3422 }
3423 },
3424 "PUT" : {
3425 "description" : "Modify rule data.",
3426 "method" : "PUT",
3427 "name" : "update_rule",
3428 "parameters" : {
3429 "additionalProperties" : 0,
3430 "properties" : {
3431 "action" : {
3432 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3433 "maxLength" : 20,
3434 "minLength" : 2,
3435 "optional" : 1,
3436 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3437 "type" : "string"
3438 },
3439 "comment" : {
3440 "optional" : 1,
3441 "type" : "string"
3442 },
3443 "delete" : {
3444 "description" : "A list of settings you want to delete.",
3445 "format" : "pve-configid-list",
3446 "optional" : 1,
3447 "type" : "string"
3448 },
3449 "dest" : {
3450 "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.",
3451 "format" : "pve-fw-addr-spec",
3452 "optional" : 1,
3453 "type" : "string"
3454 },
3455 "digest" : {
3456 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3457 "maxLength" : 40,
3458 "optional" : 1,
3459 "type" : "string"
3460 },
3461 "dport" : {
3462 "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.",
3463 "format" : "pve-fw-dport-spec",
3464 "optional" : 1,
3465 "type" : "string"
3466 },
3467 "enable" : {
3468 "minimum" : 0,
3469 "optional" : 1,
3470 "type" : "integer",
3471 "typetext" : "integer (0- N)"
3472 },
3473 "iface" : {
3474 "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.",
3475 "format" : "pve-iface",
3476 "maxLength" : 20,
3477 "minLength" : 2,
3478 "optional" : 1,
3479 "type" : "string"
3480 },
3481 "macro" : {
3482 "maxLength" : 128,
3483 "optional" : 1,
3484 "type" : "string"
3485 },
3486 "moveto" : {
3487 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
3488 "minimum" : 0,
3489 "optional" : 1,
3490 "type" : "integer",
3491 "typetext" : "integer (0- N)"
3492 },
3493 "node" : {
3494 "description" : "The cluster node name.",
3495 "format" : "pve-node",
3496 "type" : "string"
3497 },
3498 "pos" : {
3499 "description" : "Update rule at position <pos>.",
3500 "minimum" : 0,
3501 "optional" : 1,
3502 "type" : "integer",
3503 "typetext" : "integer (0- N)"
3504 },
3505 "proto" : {
3506 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3507 "format" : "pve-fw-protocol-spec",
3508 "optional" : 1,
3509 "type" : "string"
3510 },
3511 "source" : {
3512 "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.",
3513 "format" : "pve-fw-addr-spec",
3514 "optional" : 1,
3515 "type" : "string"
3516 },
3517 "sport" : {
3518 "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.",
3519 "format" : "pve-fw-sport-spec",
3520 "optional" : 1,
3521 "type" : "string"
3522 },
3523 "type" : {
3524 "enum" : [
3525 "in",
3526 "out",
3527 "group"
3528 ],
3529 "optional" : 1,
3530 "type" : "string"
3531 },
3532 "vmid" : {
3533 "description" : "The (unique) ID of the VM.",
3534 "format" : "pve-vmid",
3535 "minimum" : 1,
3536 "type" : "integer",
3537 "typetext" : "integer (1- N)"
3538 }
3539 }
3540 },
3541 "permissions" : {
3542 "check" : [
3543 "perm",
3544 "/vms/{vmid}",
3545 [
3546 "VM.Config.Network"
3547 ]
3548 ]
3549 },
3550 "protected" : 1,
3551 "proxyto" : null,
3552 "returns" : {
3553 "type" : "null"
3554 }
3555 }
3556 },
3557 "leaf" : 1,
3558 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
3559 "text" : "{pos}"
3560 }
3561 ],
3562 "info" : {
3563 "GET" : {
3564 "description" : "List rules.",
3565 "method" : "GET",
3566 "name" : "get_rules",
3567 "parameters" : {
3568 "additionalProperties" : 0,
3569 "properties" : {
3570 "node" : {
3571 "description" : "The cluster node name.",
3572 "format" : "pve-node",
3573 "type" : "string"
3574 },
3575 "vmid" : {
3576 "description" : "The (unique) ID of the VM.",
3577 "format" : "pve-vmid",
3578 "minimum" : 1,
3579 "type" : "integer",
3580 "typetext" : "integer (1- N)"
3581 }
3582 }
3583 },
3584 "permissions" : {
3585 "check" : [
3586 "perm",
3587 "/vms/{vmid}",
3588 [
3589 "VM.Audit"
3590 ]
3591 ]
3592 },
3593 "proxyto" : null,
3594 "returns" : {
3595 "items" : {
3596 "properties" : {
3597 "pos" : {
3598 "type" : "integer"
3599 }
3600 },
3601 "type" : "object"
3602 },
3603 "links" : [
3604 {
3605 "href" : "{pos}",
3606 "rel" : "child"
3607 }
3608 ],
3609 "type" : "array"
3610 }
3611 },
3612 "POST" : {
3613 "description" : "Create new rule.",
3614 "method" : "POST",
3615 "name" : "create_rule",
3616 "parameters" : {
3617 "additionalProperties" : 0,
3618 "properties" : {
3619 "action" : {
3620 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3621 "maxLength" : 20,
3622 "minLength" : 2,
3623 "optional" : 0,
3624 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3625 "type" : "string"
3626 },
3627 "comment" : {
3628 "optional" : 1,
3629 "type" : "string"
3630 },
3631 "dest" : {
3632 "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.",
3633 "format" : "pve-fw-addr-spec",
3634 "optional" : 1,
3635 "type" : "string"
3636 },
3637 "digest" : {
3638 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3639 "maxLength" : 40,
3640 "optional" : 1,
3641 "type" : "string"
3642 },
3643 "dport" : {
3644 "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.",
3645 "format" : "pve-fw-dport-spec",
3646 "optional" : 1,
3647 "type" : "string"
3648 },
3649 "enable" : {
3650 "minimum" : 0,
3651 "optional" : 1,
3652 "type" : "integer",
3653 "typetext" : "integer (0- N)"
3654 },
3655 "iface" : {
3656 "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.",
3657 "format" : "pve-iface",
3658 "maxLength" : 20,
3659 "minLength" : 2,
3660 "optional" : 1,
3661 "type" : "string"
3662 },
3663 "macro" : {
3664 "maxLength" : 128,
3665 "optional" : 1,
3666 "type" : "string"
3667 },
3668 "node" : {
3669 "description" : "The cluster node name.",
3670 "format" : "pve-node",
3671 "type" : "string"
3672 },
3673 "pos" : {
3674 "description" : "Update rule at position <pos>.",
3675 "minimum" : 0,
3676 "optional" : 1,
3677 "type" : "integer",
3678 "typetext" : "integer (0- N)"
3679 },
3680 "proto" : {
3681 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3682 "format" : "pve-fw-protocol-spec",
3683 "optional" : 1,
3684 "type" : "string"
3685 },
3686 "source" : {
3687 "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.",
3688 "format" : "pve-fw-addr-spec",
3689 "optional" : 1,
3690 "type" : "string"
3691 },
3692 "sport" : {
3693 "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.",
3694 "format" : "pve-fw-sport-spec",
3695 "optional" : 1,
3696 "type" : "string"
3697 },
3698 "type" : {
3699 "enum" : [
3700 "in",
3701 "out",
3702 "group"
3703 ],
3704 "optional" : 0,
3705 "type" : "string"
3706 },
3707 "vmid" : {
3708 "description" : "The (unique) ID of the VM.",
3709 "format" : "pve-vmid",
3710 "minimum" : 1,
3711 "type" : "integer",
3712 "typetext" : "integer (1- N)"
3713 }
3714 }
3715 },
3716 "permissions" : {
3717 "check" : [
3718 "perm",
3719 "/vms/{vmid}",
3720 [
3721 "VM.Config.Network"
3722 ]
3723 ]
3724 },
3725 "protected" : 1,
3726 "proxyto" : null,
3727 "returns" : {
3728 "type" : "null"
3729 }
3730 }
3731 },
3732 "leaf" : 0,
3733 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
3734 "text" : "rules"
3735 },
3736 {
3737 "children" : [
3738 {
3739 "info" : {
3740 "DELETE" : {
3741 "description" : "Remove IP or Network alias.",
3742 "method" : "DELETE",
3743 "name" : "remove_alias",
3744 "parameters" : {
3745 "additionalProperties" : 0,
3746 "properties" : {
3747 "digest" : {
3748 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3749 "maxLength" : 40,
3750 "optional" : 1,
3751 "type" : "string"
3752 },
3753 "name" : {
3754 "description" : "Alias name.",
3755 "maxLength" : 64,
3756 "minLength" : 2,
3757 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3758 "type" : "string"
3759 },
3760 "node" : {
3761 "description" : "The cluster node name.",
3762 "format" : "pve-node",
3763 "type" : "string"
3764 },
3765 "vmid" : {
3766 "description" : "The (unique) ID of the VM.",
3767 "format" : "pve-vmid",
3768 "minimum" : 1,
3769 "type" : "integer",
3770 "typetext" : "integer (1- N)"
3771 }
3772 }
3773 },
3774 "permissions" : {
3775 "check" : [
3776 "perm",
3777 "/vms/{vmid}",
3778 [
3779 "VM.Config.Network"
3780 ]
3781 ]
3782 },
3783 "protected" : 1,
3784 "returns" : {
3785 "type" : "null"
3786 }
3787 },
3788 "GET" : {
3789 "description" : "Read alias.",
3790 "method" : "GET",
3791 "name" : "read_alias",
3792 "parameters" : {
3793 "additionalProperties" : 0,
3794 "properties" : {
3795 "name" : {
3796 "description" : "Alias name.",
3797 "maxLength" : 64,
3798 "minLength" : 2,
3799 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3800 "type" : "string"
3801 },
3802 "node" : {
3803 "description" : "The cluster node name.",
3804 "format" : "pve-node",
3805 "type" : "string"
3806 },
3807 "vmid" : {
3808 "description" : "The (unique) ID of the VM.",
3809 "format" : "pve-vmid",
3810 "minimum" : 1,
3811 "type" : "integer",
3812 "typetext" : "integer (1- N)"
3813 }
3814 }
3815 },
3816 "permissions" : {
3817 "check" : [
3818 "perm",
3819 "/vms/{vmid}",
3820 [
3821 "VM.Audit"
3822 ]
3823 ]
3824 },
3825 "returns" : {
3826 "type" : "object"
3827 }
3828 },
3829 "PUT" : {
3830 "description" : "Update IP or Network alias.",
3831 "method" : "PUT",
3832 "name" : "update_alias",
3833 "parameters" : {
3834 "additionalProperties" : 0,
3835 "properties" : {
3836 "cidr" : {
3837 "description" : "Network/IP specification in CIDR format.",
3838 "format" : "IPorCIDR",
3839 "type" : "string"
3840 },
3841 "comment" : {
3842 "optional" : 1,
3843 "type" : "string"
3844 },
3845 "digest" : {
3846 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3847 "maxLength" : 40,
3848 "optional" : 1,
3849 "type" : "string"
3850 },
3851 "name" : {
3852 "description" : "Alias name.",
3853 "maxLength" : 64,
3854 "minLength" : 2,
3855 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3856 "type" : "string"
3857 },
3858 "node" : {
3859 "description" : "The cluster node name.",
3860 "format" : "pve-node",
3861 "type" : "string"
3862 },
3863 "rename" : {
3864 "description" : "Rename an existing alias.",
3865 "maxLength" : 64,
3866 "minLength" : 2,
3867 "optional" : 1,
3868 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3869 "type" : "string"
3870 },
3871 "vmid" : {
3872 "description" : "The (unique) ID of the VM.",
3873 "format" : "pve-vmid",
3874 "minimum" : 1,
3875 "type" : "integer",
3876 "typetext" : "integer (1- N)"
3877 }
3878 }
3879 },
3880 "permissions" : {
3881 "check" : [
3882 "perm",
3883 "/vms/{vmid}",
3884 [
3885 "VM.Config.Network"
3886 ]
3887 ]
3888 },
3889 "protected" : 1,
3890 "returns" : {
3891 "type" : "null"
3892 }
3893 }
3894 },
3895 "leaf" : 1,
3896 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
3897 "text" : "{name}"
3898 }
3899 ],
3900 "info" : {
3901 "GET" : {
3902 "description" : "List aliases",
3903 "method" : "GET",
3904 "name" : "get_aliases",
3905 "parameters" : {
3906 "additionalProperties" : 0,
3907 "properties" : {
3908 "node" : {
3909 "description" : "The cluster node name.",
3910 "format" : "pve-node",
3911 "type" : "string"
3912 },
3913 "vmid" : {
3914 "description" : "The (unique) ID of the VM.",
3915 "format" : "pve-vmid",
3916 "minimum" : 1,
3917 "type" : "integer",
3918 "typetext" : "integer (1- N)"
3919 }
3920 }
3921 },
3922 "permissions" : {
3923 "check" : [
3924 "perm",
3925 "/vms/{vmid}",
3926 [
3927 "VM.Audit"
3928 ]
3929 ]
3930 },
3931 "returns" : {
3932 "items" : {
3933 "properties" : {
3934 "cidr" : {
3935 "type" : "string"
3936 },
3937 "comment" : {
3938 "optional" : 1,
3939 "type" : "string"
3940 },
3941 "digest" : {
3942 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3943 "maxLength" : 40,
3944 "optional" : 0,
3945 "type" : "string"
3946 },
3947 "name" : {
3948 "type" : "string"
3949 }
3950 },
3951 "type" : "object"
3952 },
3953 "links" : [
3954 {
3955 "href" : "{name}",
3956 "rel" : "child"
3957 }
3958 ],
3959 "type" : "array"
3960 }
3961 },
3962 "POST" : {
3963 "description" : "Create IP or Network Alias.",
3964 "method" : "POST",
3965 "name" : "create_alias",
3966 "parameters" : {
3967 "additionalProperties" : 0,
3968 "properties" : {
3969 "cidr" : {
3970 "description" : "Network/IP specification in CIDR format.",
3971 "format" : "IPorCIDR",
3972 "type" : "string"
3973 },
3974 "comment" : {
3975 "optional" : 1,
3976 "type" : "string"
3977 },
3978 "name" : {
3979 "description" : "Alias name.",
3980 "maxLength" : 64,
3981 "minLength" : 2,
3982 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3983 "type" : "string"
3984 },
3985 "node" : {
3986 "description" : "The cluster node name.",
3987 "format" : "pve-node",
3988 "type" : "string"
3989 },
3990 "vmid" : {
3991 "description" : "The (unique) ID of the VM.",
3992 "format" : "pve-vmid",
3993 "minimum" : 1,
3994 "type" : "integer",
3995 "typetext" : "integer (1- N)"
3996 }
3997 }
3998 },
3999 "permissions" : {
4000 "check" : [
4001 "perm",
4002 "/vms/{vmid}",
4003 [
4004 "VM.Config.Network"
4005 ]
4006 ]
4007 },
4008 "protected" : 1,
4009 "returns" : {
4010 "type" : "null"
4011 }
4012 }
4013 },
4014 "leaf" : 0,
4015 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4016 "text" : "aliases"
4017 },
4018 {
4019 "children" : [
4020 {
4021 "children" : [
4022 {
4023 "info" : {
4024 "DELETE" : {
4025 "description" : "Remove IP or Network from IPSet.",
4026 "method" : "DELETE",
4027 "name" : "remove_ip",
4028 "parameters" : {
4029 "additionalProperties" : 0,
4030 "properties" : {
4031 "cidr" : {
4032 "description" : "Network/IP specification in CIDR format.",
4033 "format" : "IPorCIDRorAlias",
4034 "type" : "string"
4035 },
4036 "digest" : {
4037 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4038 "maxLength" : 40,
4039 "optional" : 1,
4040 "type" : "string"
4041 },
4042 "name" : {
4043 "description" : "IP set name.",
4044 "maxLength" : 64,
4045 "minLength" : 2,
4046 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4047 "type" : "string"
4048 },
4049 "node" : {
4050 "description" : "The cluster node name.",
4051 "format" : "pve-node",
4052 "type" : "string"
4053 },
4054 "vmid" : {
4055 "description" : "The (unique) ID of the VM.",
4056 "format" : "pve-vmid",
4057 "minimum" : 1,
4058 "type" : "integer",
4059 "typetext" : "integer (1- N)"
4060 }
4061 }
4062 },
4063 "permissions" : {
4064 "check" : [
4065 "perm",
4066 "/vms/{vmid}",
4067 [
4068 "VM.Config.Network"
4069 ]
4070 ]
4071 },
4072 "protected" : 1,
4073 "returns" : {
4074 "type" : "null"
4075 }
4076 },
4077 "GET" : {
4078 "description" : "Read IP or Network settings from IPSet.",
4079 "method" : "GET",
4080 "name" : "read_ip",
4081 "parameters" : {
4082 "additionalProperties" : 0,
4083 "properties" : {
4084 "cidr" : {
4085 "description" : "Network/IP specification in CIDR format.",
4086 "format" : "IPorCIDRorAlias",
4087 "type" : "string"
4088 },
4089 "name" : {
4090 "description" : "IP set name.",
4091 "maxLength" : 64,
4092 "minLength" : 2,
4093 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4094 "type" : "string"
4095 },
4096 "node" : {
4097 "description" : "The cluster node name.",
4098 "format" : "pve-node",
4099 "type" : "string"
4100 },
4101 "vmid" : {
4102 "description" : "The (unique) ID of the VM.",
4103 "format" : "pve-vmid",
4104 "minimum" : 1,
4105 "type" : "integer",
4106 "typetext" : "integer (1- N)"
4107 }
4108 }
4109 },
4110 "permissions" : {
4111 "check" : [
4112 "perm",
4113 "/vms/{vmid}",
4114 [
4115 "VM.Audit"
4116 ]
4117 ]
4118 },
4119 "protected" : 1,
4120 "returns" : {
4121 "type" : "object"
4122 }
4123 },
4124 "PUT" : {
4125 "description" : "Update IP or Network settings",
4126 "method" : "PUT",
4127 "name" : "update_ip",
4128 "parameters" : {
4129 "additionalProperties" : 0,
4130 "properties" : {
4131 "cidr" : {
4132 "description" : "Network/IP specification in CIDR format.",
4133 "format" : "IPorCIDRorAlias",
4134 "type" : "string"
4135 },
4136 "comment" : {
4137 "optional" : 1,
4138 "type" : "string"
4139 },
4140 "digest" : {
4141 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4142 "maxLength" : 40,
4143 "optional" : 1,
4144 "type" : "string"
4145 },
4146 "name" : {
4147 "description" : "IP set name.",
4148 "maxLength" : 64,
4149 "minLength" : 2,
4150 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4151 "type" : "string"
4152 },
4153 "node" : {
4154 "description" : "The cluster node name.",
4155 "format" : "pve-node",
4156 "type" : "string"
4157 },
4158 "nomatch" : {
4159 "optional" : 1,
4160 "type" : "boolean"
4161 },
4162 "vmid" : {
4163 "description" : "The (unique) ID of the VM.",
4164 "format" : "pve-vmid",
4165 "minimum" : 1,
4166 "type" : "integer",
4167 "typetext" : "integer (1- N)"
4168 }
4169 }
4170 },
4171 "permissions" : {
4172 "check" : [
4173 "perm",
4174 "/vms/{vmid}",
4175 [
4176 "VM.Config.Network"
4177 ]
4178 ]
4179 },
4180 "protected" : 1,
4181 "returns" : {
4182 "type" : "null"
4183 }
4184 }
4185 },
4186 "leaf" : 1,
4187 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
4188 "text" : "{cidr}"
4189 }
4190 ],
4191 "info" : {
4192 "DELETE" : {
4193 "description" : "Delete IPSet",
4194 "method" : "DELETE",
4195 "name" : "delete_ipset",
4196 "parameters" : {
4197 "additionalProperties" : 0,
4198 "properties" : {
4199 "name" : {
4200 "description" : "IP set name.",
4201 "maxLength" : 64,
4202 "minLength" : 2,
4203 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4204 "type" : "string"
4205 },
4206 "node" : {
4207 "description" : "The cluster node name.",
4208 "format" : "pve-node",
4209 "type" : "string"
4210 },
4211 "vmid" : {
4212 "description" : "The (unique) ID of the VM.",
4213 "format" : "pve-vmid",
4214 "minimum" : 1,
4215 "type" : "integer",
4216 "typetext" : "integer (1- N)"
4217 }
4218 }
4219 },
4220 "permissions" : {
4221 "check" : [
4222 "perm",
4223 "/vms/{vmid}",
4224 [
4225 "VM.Config.Network"
4226 ]
4227 ]
4228 },
4229 "protected" : 1,
4230 "returns" : {
4231 "type" : "null"
4232 }
4233 },
4234 "GET" : {
4235 "description" : "List IPSet content",
4236 "method" : "GET",
4237 "name" : "get_ipset",
4238 "parameters" : {
4239 "additionalProperties" : 0,
4240 "properties" : {
4241 "name" : {
4242 "description" : "IP set name.",
4243 "maxLength" : 64,
4244 "minLength" : 2,
4245 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4246 "type" : "string"
4247 },
4248 "node" : {
4249 "description" : "The cluster node name.",
4250 "format" : "pve-node",
4251 "type" : "string"
4252 },
4253 "vmid" : {
4254 "description" : "The (unique) ID of the VM.",
4255 "format" : "pve-vmid",
4256 "minimum" : 1,
4257 "type" : "integer",
4258 "typetext" : "integer (1- N)"
4259 }
4260 }
4261 },
4262 "permissions" : {
4263 "check" : [
4264 "perm",
4265 "/vms/{vmid}",
4266 [
4267 "VM.Audit"
4268 ]
4269 ]
4270 },
4271 "returns" : {
4272 "items" : {
4273 "properties" : {
4274 "cidr" : {
4275 "type" : "string"
4276 },
4277 "comment" : {
4278 "optional" : 1,
4279 "type" : "string"
4280 },
4281 "digest" : {
4282 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4283 "maxLength" : 40,
4284 "optional" : 0,
4285 "type" : "string"
4286 },
4287 "nomatch" : {
4288 "optional" : 1,
4289 "type" : "boolean"
4290 }
4291 },
4292 "type" : "object"
4293 },
4294 "links" : [
4295 {
4296 "href" : "{cidr}",
4297 "rel" : "child"
4298 }
4299 ],
4300 "type" : "array"
4301 }
4302 },
4303 "POST" : {
4304 "description" : "Add IP or Network to IPSet.",
4305 "method" : "POST",
4306 "name" : "create_ip",
4307 "parameters" : {
4308 "additionalProperties" : 0,
4309 "properties" : {
4310 "cidr" : {
4311 "description" : "Network/IP specification in CIDR format.",
4312 "format" : "IPorCIDRorAlias",
4313 "type" : "string"
4314 },
4315 "comment" : {
4316 "optional" : 1,
4317 "type" : "string"
4318 },
4319 "name" : {
4320 "description" : "IP set name.",
4321 "maxLength" : 64,
4322 "minLength" : 2,
4323 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4324 "type" : "string"
4325 },
4326 "node" : {
4327 "description" : "The cluster node name.",
4328 "format" : "pve-node",
4329 "type" : "string"
4330 },
4331 "nomatch" : {
4332 "optional" : 1,
4333 "type" : "boolean"
4334 },
4335 "vmid" : {
4336 "description" : "The (unique) ID of the VM.",
4337 "format" : "pve-vmid",
4338 "minimum" : 1,
4339 "type" : "integer",
4340 "typetext" : "integer (1- N)"
4341 }
4342 }
4343 },
4344 "permissions" : {
4345 "check" : [
4346 "perm",
4347 "/vms/{vmid}",
4348 [
4349 "VM.Config.Network"
4350 ]
4351 ]
4352 },
4353 "protected" : 1,
4354 "returns" : {
4355 "type" : "null"
4356 }
4357 }
4358 },
4359 "leaf" : 0,
4360 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
4361 "text" : "{name}"
4362 }
4363 ],
4364 "info" : {
4365 "GET" : {
4366 "description" : "List IPSets",
4367 "method" : "GET",
4368 "name" : "ipset_index",
4369 "parameters" : {
4370 "additionalProperties" : 0,
4371 "properties" : {
4372 "node" : {
4373 "description" : "The cluster node name.",
4374 "format" : "pve-node",
4375 "type" : "string"
4376 },
4377 "vmid" : {
4378 "description" : "The (unique) ID of the VM.",
4379 "format" : "pve-vmid",
4380 "minimum" : 1,
4381 "type" : "integer",
4382 "typetext" : "integer (1- N)"
4383 }
4384 }
4385 },
4386 "permissions" : {
4387 "check" : [
4388 "perm",
4389 "/vms/{vmid}",
4390 [
4391 "VM.Audit"
4392 ]
4393 ]
4394 },
4395 "returns" : {
4396 "items" : {
4397 "properties" : {
4398 "comment" : {
4399 "optional" : 1,
4400 "type" : "string"
4401 },
4402 "digest" : {
4403 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4404 "maxLength" : 40,
4405 "optional" : 0,
4406 "type" : "string"
4407 },
4408 "name" : {
4409 "description" : "IP set name.",
4410 "maxLength" : 64,
4411 "minLength" : 2,
4412 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4413 "type" : "string"
4414 }
4415 },
4416 "type" : "object"
4417 },
4418 "links" : [
4419 {
4420 "href" : "{name}",
4421 "rel" : "child"
4422 }
4423 ],
4424 "type" : "array"
4425 }
4426 },
4427 "POST" : {
4428 "description" : "Create new IPSet",
4429 "method" : "POST",
4430 "name" : "create_ipset",
4431 "parameters" : {
4432 "additionalProperties" : 0,
4433 "properties" : {
4434 "comment" : {
4435 "optional" : 1,
4436 "type" : "string"
4437 },
4438 "digest" : {
4439 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4440 "maxLength" : 40,
4441 "optional" : 1,
4442 "type" : "string"
4443 },
4444 "name" : {
4445 "description" : "IP set name.",
4446 "maxLength" : 64,
4447 "minLength" : 2,
4448 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4449 "type" : "string"
4450 },
4451 "node" : {
4452 "description" : "The cluster node name.",
4453 "format" : "pve-node",
4454 "type" : "string"
4455 },
4456 "rename" : {
4457 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
4458 "maxLength" : 64,
4459 "minLength" : 2,
4460 "optional" : 1,
4461 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4462 "type" : "string"
4463 },
4464 "vmid" : {
4465 "description" : "The (unique) ID of the VM.",
4466 "format" : "pve-vmid",
4467 "minimum" : 1,
4468 "type" : "integer",
4469 "typetext" : "integer (1- N)"
4470 }
4471 }
4472 },
4473 "permissions" : {
4474 "check" : [
4475 "perm",
4476 "/vms/{vmid}",
4477 [
4478 "VM.Config.Network"
4479 ]
4480 ]
4481 },
4482 "protected" : 1,
4483 "returns" : {
4484 "type" : "null"
4485 }
4486 }
4487 },
4488 "leaf" : 0,
4489 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
4490 "text" : "ipset"
4491 },
4492 {
4493 "info" : {
4494 "GET" : {
4495 "description" : "Get VM firewall options.",
4496 "method" : "GET",
4497 "name" : "get_options",
4498 "parameters" : {
4499 "additionalProperties" : 0,
4500 "properties" : {
4501 "node" : {
4502 "description" : "The cluster node name.",
4503 "format" : "pve-node",
4504 "type" : "string"
4505 },
4506 "vmid" : {
4507 "description" : "The (unique) ID of the VM.",
4508 "format" : "pve-vmid",
4509 "minimum" : 1,
4510 "type" : "integer",
4511 "typetext" : "integer (1- N)"
4512 }
4513 }
4514 },
4515 "permissions" : {
4516 "check" : [
4517 "perm",
4518 "/vms/{vmid}",
4519 [
4520 "VM.Audit"
4521 ]
4522 ]
4523 },
4524 "proxyto" : "node",
4525 "returns" : {
4526 "properties" : {
4527 "dhcp" : {
4528 "description" : "Enable DHCP.",
4529 "optional" : 1,
4530 "type" : "boolean"
4531 },
4532 "enable" : {
4533 "description" : "Enable/disable firewall rules.",
4534 "optional" : 1,
4535 "type" : "boolean"
4536 },
4537 "ipfilter" : {
4538 "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.",
4539 "optional" : 1,
4540 "type" : "boolean"
4541 },
4542 "log_level_in" : {
4543 "description" : "Log level for incoming traffic.",
4544 "enum" : [
4545 "emerg",
4546 "alert",
4547 "crit",
4548 "err",
4549 "warning",
4550 "notice",
4551 "info",
4552 "debug",
4553 "nolog"
4554 ],
4555 "optional" : 1,
4556 "type" : "string"
4557 },
4558 "log_level_out" : {
4559 "description" : "Log level for outgoing traffic.",
4560 "enum" : [
4561 "emerg",
4562 "alert",
4563 "crit",
4564 "err",
4565 "warning",
4566 "notice",
4567 "info",
4568 "debug",
4569 "nolog"
4570 ],
4571 "optional" : 1,
4572 "type" : "string"
4573 },
4574 "macfilter" : {
4575 "description" : "Enable/disable MAC address filter.",
4576 "optional" : 1,
4577 "type" : "boolean"
4578 },
4579 "ndp" : {
4580 "description" : "Enable NDP.",
4581 "optional" : 1,
4582 "type" : "boolean"
4583 },
4584 "policy_in" : {
4585 "description" : "Input policy.",
4586 "enum" : [
4587 "ACCEPT",
4588 "REJECT",
4589 "DROP"
4590 ],
4591 "optional" : 1,
4592 "type" : "string"
4593 },
4594 "policy_out" : {
4595 "description" : "Output policy.",
4596 "enum" : [
4597 "ACCEPT",
4598 "REJECT",
4599 "DROP"
4600 ],
4601 "optional" : 1,
4602 "type" : "string"
4603 },
4604 "radv" : {
4605 "description" : "Allow sending Router Advertisement.",
4606 "optional" : 1,
4607 "type" : "boolean"
4608 }
4609 },
4610 "type" : "object"
4611 }
4612 },
4613 "PUT" : {
4614 "description" : "Set Firewall options.",
4615 "method" : "PUT",
4616 "name" : "set_options",
4617 "parameters" : {
4618 "additionalProperties" : 0,
4619 "properties" : {
4620 "delete" : {
4621 "description" : "A list of settings you want to delete.",
4622 "format" : "pve-configid-list",
4623 "optional" : 1,
4624 "type" : "string"
4625 },
4626 "dhcp" : {
4627 "description" : "Enable DHCP.",
4628 "optional" : 1,
4629 "type" : "boolean"
4630 },
4631 "digest" : {
4632 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4633 "maxLength" : 40,
4634 "optional" : 1,
4635 "type" : "string"
4636 },
4637 "enable" : {
4638 "description" : "Enable/disable firewall rules.",
4639 "optional" : 1,
4640 "type" : "boolean"
4641 },
4642 "ipfilter" : {
4643 "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.",
4644 "optional" : 1,
4645 "type" : "boolean"
4646 },
4647 "log_level_in" : {
4648 "description" : "Log level for incoming traffic.",
4649 "enum" : [
4650 "emerg",
4651 "alert",
4652 "crit",
4653 "err",
4654 "warning",
4655 "notice",
4656 "info",
4657 "debug",
4658 "nolog"
4659 ],
4660 "optional" : 1,
4661 "type" : "string"
4662 },
4663 "log_level_out" : {
4664 "description" : "Log level for outgoing traffic.",
4665 "enum" : [
4666 "emerg",
4667 "alert",
4668 "crit",
4669 "err",
4670 "warning",
4671 "notice",
4672 "info",
4673 "debug",
4674 "nolog"
4675 ],
4676 "optional" : 1,
4677 "type" : "string"
4678 },
4679 "macfilter" : {
4680 "description" : "Enable/disable MAC address filter.",
4681 "optional" : 1,
4682 "type" : "boolean"
4683 },
4684 "ndp" : {
4685 "description" : "Enable NDP.",
4686 "optional" : 1,
4687 "type" : "boolean"
4688 },
4689 "node" : {
4690 "description" : "The cluster node name.",
4691 "format" : "pve-node",
4692 "type" : "string"
4693 },
4694 "policy_in" : {
4695 "description" : "Input policy.",
4696 "enum" : [
4697 "ACCEPT",
4698 "REJECT",
4699 "DROP"
4700 ],
4701 "optional" : 1,
4702 "type" : "string"
4703 },
4704 "policy_out" : {
4705 "description" : "Output policy.",
4706 "enum" : [
4707 "ACCEPT",
4708 "REJECT",
4709 "DROP"
4710 ],
4711 "optional" : 1,
4712 "type" : "string"
4713 },
4714 "radv" : {
4715 "description" : "Allow sending Router Advertisement.",
4716 "optional" : 1,
4717 "type" : "boolean"
4718 },
4719 "vmid" : {
4720 "description" : "The (unique) ID of the VM.",
4721 "format" : "pve-vmid",
4722 "minimum" : 1,
4723 "type" : "integer",
4724 "typetext" : "integer (1- N)"
4725 }
4726 }
4727 },
4728 "permissions" : {
4729 "check" : [
4730 "perm",
4731 "/vms/{vmid}",
4732 [
4733 "VM.Config.Network"
4734 ]
4735 ]
4736 },
4737 "protected" : 1,
4738 "proxyto" : "node",
4739 "returns" : {
4740 "type" : "null"
4741 }
4742 }
4743 },
4744 "leaf" : 1,
4745 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
4746 "text" : "options"
4747 },
4748 {
4749 "info" : {
4750 "GET" : {
4751 "description" : "Read firewall log",
4752 "method" : "GET",
4753 "name" : "log",
4754 "parameters" : {
4755 "additionalProperties" : 0,
4756 "properties" : {
4757 "limit" : {
4758 "minimum" : 0,
4759 "optional" : 1,
4760 "type" : "integer",
4761 "typetext" : "integer (0- N)"
4762 },
4763 "node" : {
4764 "description" : "The cluster node name.",
4765 "format" : "pve-node",
4766 "type" : "string"
4767 },
4768 "start" : {
4769 "minimum" : 0,
4770 "optional" : 1,
4771 "type" : "integer",
4772 "typetext" : "integer (0- N)"
4773 },
4774 "vmid" : {
4775 "description" : "The (unique) ID of the VM.",
4776 "format" : "pve-vmid",
4777 "minimum" : 1,
4778 "type" : "integer",
4779 "typetext" : "integer (1- N)"
4780 }
4781 }
4782 },
4783 "permissions" : {
4784 "check" : [
4785 "perm",
4786 "/vms/{vmid}",
4787 [
4788 "VM.Console"
4789 ]
4790 ]
4791 },
4792 "protected" : 1,
4793 "proxyto" : "node",
4794 "returns" : {
4795 "items" : {
4796 "properties" : {
4797 "n" : {
4798 "description" : "Line number",
4799 "type" : "integer"
4800 },
4801 "t" : {
4802 "description" : "Line text",
4803 "type" : "string"
4804 }
4805 },
4806 "type" : "object"
4807 },
4808 "type" : "array"
4809 }
4810 }
4811 },
4812 "leaf" : 1,
4813 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
4814 "text" : "log"
4815 },
4816 {
4817 "info" : {
4818 "GET" : {
4819 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
4820 "method" : "GET",
4821 "name" : "refs",
4822 "parameters" : {
4823 "additionalProperties" : 0,
4824 "properties" : {
4825 "node" : {
4826 "description" : "The cluster node name.",
4827 "format" : "pve-node",
4828 "type" : "string"
4829 },
4830 "type" : {
4831 "description" : "Only list references of specified type.",
4832 "enum" : [
4833 "alias",
4834 "ipset"
4835 ],
4836 "optional" : 1,
4837 "type" : "string"
4838 },
4839 "vmid" : {
4840 "description" : "The (unique) ID of the VM.",
4841 "format" : "pve-vmid",
4842 "minimum" : 1,
4843 "type" : "integer",
4844 "typetext" : "integer (1- N)"
4845 }
4846 }
4847 },
4848 "permissions" : {
4849 "check" : [
4850 "perm",
4851 "/vms/{vmid}",
4852 [
4853 "VM.Audit"
4854 ]
4855 ]
4856 },
4857 "returns" : {
4858 "items" : {
4859 "properties" : {
4860 "comment" : {
4861 "optional" : 1,
4862 "type" : "string"
4863 },
4864 "name" : {
4865 "type" : "string"
4866 },
4867 "type" : {
4868 "enum" : [
4869 "alias",
4870 "ipset"
4871 ],
4872 "type" : "string"
4873 }
4874 },
4875 "type" : "object"
4876 },
4877 "type" : "array"
4878 }
4879 }
4880 },
4881 "leaf" : 1,
4882 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
4883 "text" : "refs"
4884 }
4885 ],
4886 "info" : {
4887 "GET" : {
4888 "description" : "Directory index.",
4889 "method" : "GET",
4890 "name" : "index",
4891 "parameters" : {
4892 "additionalProperties" : 0,
4893 "properties" : {
4894 "node" : {
4895 "description" : "The cluster node name.",
4896 "format" : "pve-node",
4897 "type" : "string"
4898 },
4899 "vmid" : {
4900 "description" : "The (unique) ID of the VM.",
4901 "format" : "pve-vmid",
4902 "minimum" : 1,
4903 "type" : "integer",
4904 "typetext" : "integer (1- N)"
4905 }
4906 }
4907 },
4908 "permissions" : {
4909 "user" : "all"
4910 },
4911 "returns" : {
4912 "items" : {
4913 "properties" : {},
4914 "type" : "object"
4915 },
4916 "links" : [
4917 {
4918 "href" : "{name}",
4919 "rel" : "child"
4920 }
4921 ],
4922 "type" : "array"
4923 }
4924 }
4925 },
4926 "leaf" : 0,
4927 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
4928 "text" : "firewall"
4929 },
4930 {
4931 "info" : {
4932 "GET" : {
4933 "description" : "Read VM RRD statistics (returns PNG)",
4934 "method" : "GET",
4935 "name" : "rrd",
4936 "parameters" : {
4937 "additionalProperties" : 0,
4938 "properties" : {
4939 "cf" : {
4940 "description" : "The RRD consolidation function",
4941 "enum" : [
4942 "AVERAGE",
4943 "MAX"
4944 ],
4945 "optional" : 1,
4946 "type" : "string"
4947 },
4948 "ds" : {
4949 "description" : "The list of datasources you want to display.",
4950 "format" : "pve-configid-list",
4951 "type" : "string"
4952 },
4953 "node" : {
4954 "description" : "The cluster node name.",
4955 "format" : "pve-node",
4956 "type" : "string"
4957 },
4958 "timeframe" : {
4959 "description" : "Specify the time frame you are interested in.",
4960 "enum" : [
4961 "hour",
4962 "day",
4963 "week",
4964 "month",
4965 "year"
4966 ],
4967 "type" : "string"
4968 },
4969 "vmid" : {
4970 "description" : "The (unique) ID of the VM.",
4971 "format" : "pve-vmid",
4972 "minimum" : 1,
4973 "type" : "integer",
4974 "typetext" : "integer (1- N)"
4975 }
4976 }
4977 },
4978 "permissions" : {
4979 "check" : [
4980 "perm",
4981 "/vms/{vmid}",
4982 [
4983 "VM.Audit"
4984 ]
4985 ]
4986 },
4987 "protected" : 1,
4988 "returns" : {
4989 "properties" : {
4990 "filename" : {
4991 "type" : "string"
4992 }
4993 },
4994 "type" : "object"
4995 }
4996 }
4997 },
4998 "leaf" : 1,
4999 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
5000 "text" : "rrd"
5001 },
5002 {
5003 "info" : {
5004 "GET" : {
5005 "description" : "Read VM RRD statistics",
5006 "method" : "GET",
5007 "name" : "rrddata",
5008 "parameters" : {
5009 "additionalProperties" : 0,
5010 "properties" : {
5011 "cf" : {
5012 "description" : "The RRD consolidation function",
5013 "enum" : [
5014 "AVERAGE",
5015 "MAX"
5016 ],
5017 "optional" : 1,
5018 "type" : "string"
5019 },
5020 "node" : {
5021 "description" : "The cluster node name.",
5022 "format" : "pve-node",
5023 "type" : "string"
5024 },
5025 "timeframe" : {
5026 "description" : "Specify the time frame you are interested in.",
5027 "enum" : [
5028 "hour",
5029 "day",
5030 "week",
5031 "month",
5032 "year"
5033 ],
5034 "type" : "string"
5035 },
5036 "vmid" : {
5037 "description" : "The (unique) ID of the VM.",
5038 "format" : "pve-vmid",
5039 "minimum" : 1,
5040 "type" : "integer",
5041 "typetext" : "integer (1- N)"
5042 }
5043 }
5044 },
5045 "permissions" : {
5046 "check" : [
5047 "perm",
5048 "/vms/{vmid}",
5049 [
5050 "VM.Audit"
5051 ]
5052 ]
5053 },
5054 "protected" : 1,
5055 "returns" : {
5056 "items" : {
5057 "properties" : {},
5058 "type" : "object"
5059 },
5060 "type" : "array"
5061 }
5062 }
5063 },
5064 "leaf" : 1,
5065 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
5066 "text" : "rrddata"
5067 },
5068 {
5069 "info" : {
5070 "GET" : {
5071 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
5072 "method" : "GET",
5073 "name" : "vm_config",
5074 "parameters" : {
5075 "additionalProperties" : 0,
5076 "properties" : {
5077 "current" : {
5078 "default" : 0,
5079 "description" : "Get current values (instead of pending values).",
5080 "optional" : 1,
5081 "type" : "boolean"
5082 },
5083 "node" : {
5084 "description" : "The cluster node name.",
5085 "format" : "pve-node",
5086 "type" : "string"
5087 },
5088 "vmid" : {
5089 "description" : "The (unique) ID of the VM.",
5090 "format" : "pve-vmid",
5091 "minimum" : 1,
5092 "type" : "integer",
5093 "typetext" : "integer (1- N)"
5094 }
5095 }
5096 },
5097 "permissions" : {
5098 "check" : [
5099 "perm",
5100 "/vms/{vmid}",
5101 [
5102 "VM.Audit"
5103 ]
5104 ]
5105 },
5106 "proxyto" : "node",
5107 "returns" : {
5108 "properties" : {
5109 "digest" : {
5110 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
5111 "type" : "string"
5112 }
5113 },
5114 "type" : "object"
5115 }
5116 },
5117 "POST" : {
5118 "description" : "Set virtual machine options (asynchrounous API).",
5119 "method" : "POST",
5120 "name" : "update_vm_async",
5121 "parameters" : {
5122 "additionalProperties" : 0,
5123 "properties" : {
5124 "acpi" : {
5125 "default" : 1,
5126 "description" : "Enable/disable ACPI.",
5127 "optional" : 1,
5128 "type" : "boolean"
5129 },
5130 "agent" : {
5131 "default" : 0,
5132 "description" : "Enable/disable Qemu GuestAgent.",
5133 "optional" : 1,
5134 "type" : "boolean"
5135 },
5136 "args" : {
5137 "description" : "Arbitrary arguments passed to kvm.",
5138 "optional" : 1,
5139 "type" : "string",
5140 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
5141 },
5142 "autostart" : {
5143 "default" : 0,
5144 "description" : "Automatic restart after crash (currently ignored).",
5145 "optional" : 1,
5146 "type" : "boolean"
5147 },
5148 "background_delay" : {
5149 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
5150 "maximum" : 30,
5151 "minimum" : 1,
5152 "optional" : 1,
5153 "type" : "integer",
5154 "typetext" : "integer (1-30)"
5155 },
5156 "balloon" : {
5157 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
5158 "minimum" : 0,
5159 "optional" : 1,
5160 "type" : "integer",
5161 "typetext" : "integer (0- N)"
5162 },
5163 "bios" : {
5164 "default" : "seabios",
5165 "description" : "Select BIOS implementation.",
5166 "enum" : [
5167 "seabios",
5168 "ovmf"
5169 ],
5170 "optional" : 1,
5171 "type" : "string"
5172 },
5173 "boot" : {
5174 "default" : "cdn",
5175 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
5176 "optional" : 1,
5177 "pattern" : "[acdn]{1,4}",
5178 "type" : "string"
5179 },
5180 "bootdisk" : {
5181 "description" : "Enable booting from specified disk.",
5182 "format" : "pve-qm-bootdisk",
5183 "optional" : 1,
5184 "pattern" : "(ide|sata|scsi|virtio)\\d+",
5185 "type" : "string"
5186 },
5187 "cdrom" : {
5188 "description" : "This is an alias for option -ide2",
5189 "format" : "pve-qm-drive",
5190 "optional" : 1,
5191 "type" : "string",
5192 "typetext" : "volume"
5193 },
5194 "cores" : {
5195 "default" : 1,
5196 "description" : "The number of cores per socket.",
5197 "minimum" : 1,
5198 "optional" : 1,
5199 "type" : "integer",
5200 "typetext" : "integer (1- N)"
5201 },
5202 "cpu" : {
5203 "description" : "Emulated CPU type.",
5204 "format" : {
5205 "cputype" : {
5206 "default" : "kvm64",
5207 "default_key" : 1,
5208 "description" : "Emulated CPU type.",
5209 "enum" : [
5210 "486",
5211 "athlon",
5212 "Broadwell",
5213 "Broadwell-noTSX",
5214 "Conroe",
5215 "core2duo",
5216 "coreduo",
5217 "Haswell",
5218 "Haswell-noTSX",
5219 "host",
5220 "IvyBridge",
5221 "kvm32",
5222 "kvm64",
5223 "Nehalem",
5224 "Opteron_G1",
5225 "Opteron_G2",
5226 "Opteron_G3",
5227 "Opteron_G4",
5228 "Opteron_G5",
5229 "Penryn",
5230 "pentium",
5231 "pentium2",
5232 "pentium3",
5233 "phenom",
5234 "qemu32",
5235 "qemu64",
5236 "SandyBridge",
5237 "Westmere"
5238 ],
5239 "format_description" : "cputype",
5240 "type" : "string"
5241 },
5242 "hidden" : {
5243 "default" : 0,
5244 "description" : "Do not identify as a KVM virtual machine.",
5245 "optional" : 1,
5246 "type" : "boolean"
5247 }
5248 },
5249 "optional" : 1,
5250 "type" : "string",
5251 "typetext" : "[cputype=]<cputype> [,hidden=<1|0>]"
5252 },
5253 "cpulimit" : {
5254 "default" : 0,
5255 "description" : "Limit of CPU usage.",
5256 "maximum" : 128,
5257 "minimum" : 0,
5258 "optional" : 1,
5259 "type" : "number",
5260 "typetext" : "number (0-128)",
5261 "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."
5262 },
5263 "cpuunits" : {
5264 "default" : 1000,
5265 "description" : "CPU weight for a VM.",
5266 "maximum" : 500000,
5267 "minimum" : 0,
5268 "optional" : 1,
5269 "type" : "integer",
5270 "typetext" : "integer (0-500000)",
5271 "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
5272 },
5273 "delete" : {
5274 "description" : "A list of settings you want to delete.",
5275 "format" : "pve-configid-list",
5276 "optional" : 1,
5277 "type" : "string"
5278 },
5279 "description" : {
5280 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
5281 "optional" : 1,
5282 "type" : "string"
5283 },
5284 "digest" : {
5285 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5286 "maxLength" : 40,
5287 "optional" : 1,
5288 "type" : "string"
5289 },
5290 "force" : {
5291 "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.",
5292 "optional" : 1,
5293 "requires" : "delete",
5294 "type" : "boolean"
5295 },
5296 "freeze" : {
5297 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
5298 "optional" : 1,
5299 "type" : "boolean"
5300 },
5301 "hostpci[n]" : {
5302 "description" : "Map host PCI devices into guest.",
5303 "format" : "pve-qm-hostpci",
5304 "optional" : 1,
5305 "type" : "string",
5306 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
5307 "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"
5308 },
5309 "hotplug" : {
5310 "default" : "network,disk,usb",
5311 "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'.",
5312 "format" : "pve-hotplug-features",
5313 "optional" : 1,
5314 "type" : "string"
5315 },
5316 "hugepages" : {
5317 "description" : "Enable/disable hugepages memory.",
5318 "enum" : [
5319 "any",
5320 "2",
5321 "1024"
5322 ],
5323 "optional" : 1,
5324 "type" : "string"
5325 },
5326 "ide[n]" : {
5327 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
5328 "format" : {
5329 "aio" : {
5330 "description" : "AIO type to use.",
5331 "enum" : [
5332 "native",
5333 "threads"
5334 ],
5335 "optional" : 1,
5336 "type" : "string"
5337 },
5338 "backup" : {
5339 "description" : "Whether the drive should be included when making backups.",
5340 "optional" : 1,
5341 "type" : "boolean"
5342 },
5343 "bps" : {
5344 "description" : "Maximum r/w speed speed in bytes per second.",
5345 "format_description" : "bps",
5346 "optional" : 1,
5347 "type" : "integer"
5348 },
5349 "bps_rd" : {
5350 "description" : "Maximum read speed speed in bytes per second.",
5351 "format_description" : "bps",
5352 "optional" : 1,
5353 "type" : "integer"
5354 },
5355 "bps_wr" : {
5356 "description" : "Maximum write speed speed in bytes per second.",
5357 "format_description" : "bps",
5358 "optional" : 1,
5359 "type" : "integer"
5360 },
5361 "cache" : {
5362 "description" : "The drive's cache mode",
5363 "enum" : [
5364 "none",
5365 "writethrough",
5366 "writeback",
5367 "unsafe",
5368 "directsync"
5369 ],
5370 "optional" : 1,
5371 "type" : "string"
5372 },
5373 "cyls" : {
5374 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
5375 "optional" : 1,
5376 "type" : "integer"
5377 },
5378 "detect_zeroes" : {
5379 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
5380 "optional" : 1,
5381 "type" : "boolean"
5382 },
5383 "discard" : {
5384 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
5385 "enum" : [
5386 "ignore",
5387 "on"
5388 ],
5389 "optional" : 1,
5390 "type" : "string"
5391 },
5392 "file" : {
5393 "default_key" : 1,
5394 "description" : "The drive's backing volume.",
5395 "format" : "pve-volume-id-or-qm-path",
5396 "format_description" : "volume",
5397 "type" : "string"
5398 },
5399 "format" : {
5400 "description" : "The drive's backing file's data format.",
5401 "enum" : [
5402 "raw",
5403 "cow",
5404 "qcow",
5405 "qed",
5406 "qcow2",
5407 "vmdk",
5408 "cloop"
5409 ],
5410 "format_description" : "image format",
5411 "optional" : 1,
5412 "type" : "string"
5413 },
5414 "heads" : {
5415 "description" : "Force the drive's physical geometry to have a specific head count.",
5416 "optional" : 1,
5417 "type" : "integer"
5418 },
5419 "iops" : {
5420 "description" : "Maximum r/w I/O speed in operations per second.",
5421 "format_description" : "iops",
5422 "optional" : 1,
5423 "type" : "integer"
5424 },
5425 "iops_max" : {
5426 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
5427 "format_description" : "iops",
5428 "optional" : 1,
5429 "type" : "integer"
5430 },
5431 "iops_rd" : {
5432 "description" : "Maximum read I/O speed in operations per second.",
5433 "format_description" : "iops",
5434 "optional" : 1,
5435 "type" : "integer"
5436 },
5437 "iops_rd_max" : {
5438 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
5439 "format_description" : "iops",
5440 "optional" : 1,
5441 "type" : "integer"
5442 },
5443 "iops_wr" : {
5444 "description" : "Maximum write I/O speed in operations per second.",
5445 "format_description" : "iops",
5446 "optional" : 1,
5447 "type" : "integer"
5448 },
5449 "iops_wr_max" : {
5450 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
5451 "format_description" : "iops",
5452 "optional" : 1,
5453 "type" : "integer"
5454 },
5455 "mbps" : {
5456 "description" : "Maximum r/w speed speed in megabytes per second.",
5457 "format_description" : "mbps",
5458 "optional" : 1,
5459 "type" : "number"
5460 },
5461 "mbps_max" : {
5462 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
5463 "format_description" : "mbps",
5464 "optional" : 1,
5465 "type" : "number"
5466 },
5467 "mbps_rd" : {
5468 "description" : "Maximum read speed speed in megabytes per second.",
5469 "format_description" : "mbps",
5470 "optional" : 1,
5471 "type" : "number"
5472 },
5473 "mbps_rd_max" : {
5474 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
5475 "format_description" : "mbps",
5476 "optional" : 1,
5477 "type" : "number"
5478 },
5479 "mbps_wr" : {
5480 "description" : "Maximum write speed speed in megabytes per second.",
5481 "format_description" : "mbps",
5482 "optional" : 1,
5483 "type" : "number"
5484 },
5485 "mbps_wr_max" : {
5486 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
5487 "format_description" : "mbps",
5488 "optional" : 1,
5489 "type" : "number"
5490 },
5491 "media" : {
5492 "default" : "disk",
5493 "description" : "The drive's media type.",
5494 "enum" : [
5495 "cdrom",
5496 "disk"
5497 ],
5498 "optional" : 1,
5499 "type" : "string"
5500 },
5501 "model" : {
5502 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
5503 "format" : "urlencoded",
5504 "format_description" : "model",
5505 "maxLength" : 120,
5506 "optional" : 1,
5507 "type" : "string"
5508 },
5509 "rerror" : {
5510 "description" : "Read error action.",
5511 "enum" : [
5512 "ignore",
5513 "report",
5514 "stop"
5515 ],
5516 "optional" : 1,
5517 "type" : "string"
5518 },
5519 "secs" : {
5520 "description" : "Force the drive's physical geometry to have a specific sector count.",
5521 "optional" : 1,
5522 "type" : "integer"
5523 },
5524 "serial" : {
5525 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
5526 "format" : "urlencoded",
5527 "format_description" : "serial",
5528 "maxLength" : 60,
5529 "optional" : 1,
5530 "type" : "string"
5531 },
5532 "size" : {
5533 "description" : "Disk size. This is purely informational and has no effect.",
5534 "format" : "disk-size",
5535 "format_description" : "DiskSize",
5536 "optional" : 1,
5537 "type" : "string"
5538 },
5539 "snapshot" : {
5540 "description" : "Whether the drive should be included when making snapshots.",
5541 "optional" : 1,
5542 "type" : "boolean"
5543 },
5544 "trans" : {
5545 "description" : "Force disk geometry bios translation mode.",
5546 "enum" : [
5547 "none",
5548 "lba",
5549 "auto"
5550 ],
5551 "optional" : 1,
5552 "type" : "string"
5553 },
5554 "volume" : {
5555 "alias" : "file"
5556 },
5557 "werror" : {
5558 "description" : "Write error action.",
5559 "enum" : [
5560 "enospc",
5561 "ignore",
5562 "report",
5563 "stop"
5564 ],
5565 "optional" : 1,
5566 "type" : "string"
5567 }
5568 },
5569 "optional" : 1,
5570 "type" : "string",
5571 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
5572 },
5573 "keyboard" : {
5574 "default" : "en-us",
5575 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
5576 "enum" : [
5577 "de",
5578 "de-ch",
5579 "da",
5580 "en-gb",
5581 "en-us",
5582 "es",
5583 "fi",
5584 "fr",
5585 "fr-be",
5586 "fr-ca",
5587 "fr-ch",
5588 "hu",
5589 "is",
5590 "it",
5591 "ja",
5592 "lt",
5593 "mk",
5594 "nl",
5595 "no",
5596 "pl",
5597 "pt",
5598 "pt-br",
5599 "sv",
5600 "sl",
5601 "tr"
5602 ],
5603 "optional" : 1,
5604 "type" : "string"
5605 },
5606 "kvm" : {
5607 "default" : 1,
5608 "description" : "Enable/disable KVM hardware virtualization.",
5609 "optional" : 1,
5610 "type" : "boolean"
5611 },
5612 "localtime" : {
5613 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
5614 "optional" : 1,
5615 "type" : "boolean"
5616 },
5617 "lock" : {
5618 "description" : "Lock/unlock the VM.",
5619 "enum" : [
5620 "migrate",
5621 "backup",
5622 "snapshot",
5623 "rollback"
5624 ],
5625 "optional" : 1,
5626 "type" : "string"
5627 },
5628 "machine" : {
5629 "description" : "Specific the Qemu machine type.",
5630 "maxLength" : 40,
5631 "optional" : 1,
5632 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
5633 "type" : "string"
5634 },
5635 "memory" : {
5636 "default" : 512,
5637 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
5638 "minimum" : 16,
5639 "optional" : 1,
5640 "type" : "integer",
5641 "typetext" : "integer (16- N)"
5642 },
5643 "migrate_downtime" : {
5644 "default" : 0.1,
5645 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
5646 "minimum" : 0,
5647 "optional" : 1,
5648 "type" : "number",
5649 "typetext" : "number (0- N)"
5650 },
5651 "migrate_speed" : {
5652 "default" : 0,
5653 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
5654 "minimum" : 0,
5655 "optional" : 1,
5656 "type" : "integer",
5657 "typetext" : "integer (0- N)"
5658 },
5659 "name" : {
5660 "description" : "Set a name for the VM. Only used on the configuration web interface.",
5661 "format" : "dns-name",
5662 "optional" : 1,
5663 "type" : "string"
5664 },
5665 "net[n]" : {
5666 "description" : "Specify network devices.",
5667 "format" : {
5668 "bridge" : {
5669 "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",
5670 "format_description" : "bridge",
5671 "optional" : 1,
5672 "type" : "string"
5673 },
5674 "e1000" : {
5675 "alias" : "macaddr",
5676 "keyAlias" : "model"
5677 },
5678 "e1000-82540em" : {
5679 "alias" : "macaddr",
5680 "keyAlias" : "model"
5681 },
5682 "e1000-82544gc" : {
5683 "alias" : "macaddr",
5684 "keyAlias" : "model"
5685 },
5686 "e1000-82545em" : {
5687 "alias" : "macaddr",
5688 "keyAlias" : "model"
5689 },
5690 "firewall" : {
5691 "description" : "Whether this interface should be protected by the firewall.",
5692 "optional" : 1,
5693 "type" : "boolean"
5694 },
5695 "i82551" : {
5696 "alias" : "macaddr",
5697 "keyAlias" : "model"
5698 },
5699 "i82557b" : {
5700 "alias" : "macaddr",
5701 "keyAlias" : "model"
5702 },
5703 "i82559er" : {
5704 "alias" : "macaddr",
5705 "keyAlias" : "model"
5706 },
5707 "link_down" : {
5708 "description" : "Whether this interface should be disconnected (like pulling the plug).",
5709 "optional" : 1,
5710 "type" : "boolean"
5711 },
5712 "macaddr" : {
5713 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
5714 "format_description" : "XX:XX:XX:XX:XX:XX",
5715 "optional" : 1,
5716 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
5717 "type" : "string"
5718 },
5719 "model" : {
5720 "default_key" : 1,
5721 "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'.",
5722 "enum" : [
5723 "rtl8139",
5724 "ne2k_pci",
5725 "e1000",
5726 "pcnet",
5727 "virtio",
5728 "ne2k_isa",
5729 "i82551",
5730 "i82557b",
5731 "i82559er",
5732 "vmxnet3",
5733 "e1000-82540em",
5734 "e1000-82544gc",
5735 "e1000-82545em"
5736 ],
5737 "format_description" : "model",
5738 "type" : "string"
5739 },
5740 "ne2k_isa" : {
5741 "alias" : "macaddr",
5742 "keyAlias" : "model"
5743 },
5744 "ne2k_pci" : {
5745 "alias" : "macaddr",
5746 "keyAlias" : "model"
5747 },
5748 "pcnet" : {
5749 "alias" : "macaddr",
5750 "keyAlias" : "model"
5751 },
5752 "queues" : {
5753 "description" : "Number of packet queues to be used on the device.",
5754 "maximum" : 16,
5755 "minimum" : 0,
5756 "optional" : 1,
5757 "type" : "integer"
5758 },
5759 "rate" : {
5760 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
5761 "minimum" : 0,
5762 "optional" : 1,
5763 "type" : "number"
5764 },
5765 "rtl8139" : {
5766 "alias" : "macaddr",
5767 "keyAlias" : "model"
5768 },
5769 "tag" : {
5770 "description" : "VLAN tag to apply to packets on this interface.",
5771 "maximum" : 4094,
5772 "minimum" : 1,
5773 "optional" : 1,
5774 "type" : "integer"
5775 },
5776 "trunks" : {
5777 "description" : "VLAN trunks to pass through this interface.",
5778 "format_description" : "vlanid[;vlanid...]",
5779 "optional" : 1,
5780 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
5781 "type" : "string"
5782 },
5783 "virtio" : {
5784 "alias" : "macaddr",
5785 "keyAlias" : "model"
5786 },
5787 "vmxnet3" : {
5788 "alias" : "macaddr",
5789 "keyAlias" : "model"
5790 }
5791 },
5792 "optional" : 1,
5793 "type" : "string",
5794 "typetext" : "[model=]<model> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
5795 },
5796 "node" : {
5797 "description" : "The cluster node name.",
5798 "format" : "pve-node",
5799 "type" : "string"
5800 },
5801 "numa" : {
5802 "default" : 0,
5803 "description" : "Enable/disable NUMA.",
5804 "optional" : 1,
5805 "type" : "boolean"
5806 },
5807 "numa[n]" : {
5808 "description" : "NUMA topology.",
5809 "format" : {
5810 "cpus" : {
5811 "description" : "CPUs accessing this NUMA node.",
5812 "format_description" : "id[-id];...",
5813 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
5814 "type" : "string"
5815 },
5816 "hostnodes" : {
5817 "description" : "Host NUMA nodes to use.",
5818 "format_description" : "id[-id];...",
5819 "optional" : 1,
5820 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
5821 "type" : "string"
5822 },
5823 "memory" : {
5824 "description" : "Amount of memory this NUMA node provides.",
5825 "optional" : 1,
5826 "type" : "number"
5827 },
5828 "policy" : {
5829 "description" : "NUMA allocation policy.",
5830 "enum" : [
5831 "preferred",
5832 "bind",
5833 "interleave"
5834 ],
5835 "optional" : 1,
5836 "type" : "string"
5837 }
5838 },
5839 "optional" : 1,
5840 "type" : "string",
5841 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
5842 },
5843 "onboot" : {
5844 "default" : 0,
5845 "description" : "Specifies whether a VM will be started during system bootup.",
5846 "optional" : 1,
5847 "type" : "boolean"
5848 },
5849 "ostype" : {
5850 "description" : "Specify guest operating system.",
5851 "enum" : [
5852 "other",
5853 "wxp",
5854 "w2k",
5855 "w2k3",
5856 "w2k8",
5857 "wvista",
5858 "win7",
5859 "win8",
5860 "l24",
5861 "l26",
5862 "solaris"
5863 ],
5864 "optional" : 1,
5865 "type" : "string",
5866 "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
5867 },
5868 "parallel[n]" : {
5869 "description" : "Map host parallel devices (n is 0 to 2).",
5870 "optional" : 1,
5871 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
5872 "type" : "string",
5873 "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"
5874 },
5875 "protection" : {
5876 "default" : 0,
5877 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
5878 "optional" : 1,
5879 "type" : "boolean"
5880 },
5881 "reboot" : {
5882 "default" : 1,
5883 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
5884 "optional" : 1,
5885 "type" : "boolean"
5886 },
5887 "revert" : {
5888 "description" : "Revert a pending change.",
5889 "format" : "pve-configid-list",
5890 "optional" : 1,
5891 "type" : "string"
5892 },
5893 "sata[n]" : {
5894 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
5895 "format" : {
5896 "aio" : {
5897 "description" : "AIO type to use.",
5898 "enum" : [
5899 "native",
5900 "threads"
5901 ],
5902 "optional" : 1,
5903 "type" : "string"
5904 },
5905 "backup" : {
5906 "description" : "Whether the drive should be included when making backups.",
5907 "optional" : 1,
5908 "type" : "boolean"
5909 },
5910 "bps" : {
5911 "description" : "Maximum r/w speed speed in bytes per second.",
5912 "format_description" : "bps",
5913 "optional" : 1,
5914 "type" : "integer"
5915 },
5916 "bps_rd" : {
5917 "description" : "Maximum read speed speed in bytes per second.",
5918 "format_description" : "bps",
5919 "optional" : 1,
5920 "type" : "integer"
5921 },
5922 "bps_wr" : {
5923 "description" : "Maximum write speed speed in bytes per second.",
5924 "format_description" : "bps",
5925 "optional" : 1,
5926 "type" : "integer"
5927 },
5928 "cache" : {
5929 "description" : "The drive's cache mode",
5930 "enum" : [
5931 "none",
5932 "writethrough",
5933 "writeback",
5934 "unsafe",
5935 "directsync"
5936 ],
5937 "optional" : 1,
5938 "type" : "string"
5939 },
5940 "cyls" : {
5941 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
5942 "optional" : 1,
5943 "type" : "integer"
5944 },
5945 "detect_zeroes" : {
5946 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
5947 "optional" : 1,
5948 "type" : "boolean"
5949 },
5950 "discard" : {
5951 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
5952 "enum" : [
5953 "ignore",
5954 "on"
5955 ],
5956 "optional" : 1,
5957 "type" : "string"
5958 },
5959 "file" : {
5960 "default_key" : 1,
5961 "description" : "The drive's backing volume.",
5962 "format" : "pve-volume-id-or-qm-path",
5963 "format_description" : "volume",
5964 "type" : "string"
5965 },
5966 "format" : {
5967 "description" : "The drive's backing file's data format.",
5968 "enum" : [
5969 "raw",
5970 "cow",
5971 "qcow",
5972 "qed",
5973 "qcow2",
5974 "vmdk",
5975 "cloop"
5976 ],
5977 "format_description" : "image format",
5978 "optional" : 1,
5979 "type" : "string"
5980 },
5981 "heads" : {
5982 "description" : "Force the drive's physical geometry to have a specific head count.",
5983 "optional" : 1,
5984 "type" : "integer"
5985 },
5986 "iops" : {
5987 "description" : "Maximum r/w I/O speed in operations per second.",
5988 "format_description" : "iops",
5989 "optional" : 1,
5990 "type" : "integer"
5991 },
5992 "iops_max" : {
5993 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
5994 "format_description" : "iops",
5995 "optional" : 1,
5996 "type" : "integer"
5997 },
5998 "iops_rd" : {
5999 "description" : "Maximum read I/O speed in operations per second.",
6000 "format_description" : "iops",
6001 "optional" : 1,
6002 "type" : "integer"
6003 },
6004 "iops_rd_max" : {
6005 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
6006 "format_description" : "iops",
6007 "optional" : 1,
6008 "type" : "integer"
6009 },
6010 "iops_wr" : {
6011 "description" : "Maximum write I/O speed in operations per second.",
6012 "format_description" : "iops",
6013 "optional" : 1,
6014 "type" : "integer"
6015 },
6016 "iops_wr_max" : {
6017 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
6018 "format_description" : "iops",
6019 "optional" : 1,
6020 "type" : "integer"
6021 },
6022 "mbps" : {
6023 "description" : "Maximum r/w speed speed in megabytes per second.",
6024 "format_description" : "mbps",
6025 "optional" : 1,
6026 "type" : "number"
6027 },
6028 "mbps_max" : {
6029 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
6030 "format_description" : "mbps",
6031 "optional" : 1,
6032 "type" : "number"
6033 },
6034 "mbps_rd" : {
6035 "description" : "Maximum read speed speed in megabytes per second.",
6036 "format_description" : "mbps",
6037 "optional" : 1,
6038 "type" : "number"
6039 },
6040 "mbps_rd_max" : {
6041 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
6042 "format_description" : "mbps",
6043 "optional" : 1,
6044 "type" : "number"
6045 },
6046 "mbps_wr" : {
6047 "description" : "Maximum write speed speed in megabytes per second.",
6048 "format_description" : "mbps",
6049 "optional" : 1,
6050 "type" : "number"
6051 },
6052 "mbps_wr_max" : {
6053 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
6054 "format_description" : "mbps",
6055 "optional" : 1,
6056 "type" : "number"
6057 },
6058 "media" : {
6059 "default" : "disk",
6060 "description" : "The drive's media type.",
6061 "enum" : [
6062 "cdrom",
6063 "disk"
6064 ],
6065 "optional" : 1,
6066 "type" : "string"
6067 },
6068 "rerror" : {
6069 "description" : "Read error action.",
6070 "enum" : [
6071 "ignore",
6072 "report",
6073 "stop"
6074 ],
6075 "optional" : 1,
6076 "type" : "string"
6077 },
6078 "secs" : {
6079 "description" : "Force the drive's physical geometry to have a specific sector count.",
6080 "optional" : 1,
6081 "type" : "integer"
6082 },
6083 "serial" : {
6084 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6085 "format" : "urlencoded",
6086 "format_description" : "serial",
6087 "maxLength" : 60,
6088 "optional" : 1,
6089 "type" : "string"
6090 },
6091 "size" : {
6092 "description" : "Disk size. This is purely informational and has no effect.",
6093 "format" : "disk-size",
6094 "format_description" : "DiskSize",
6095 "optional" : 1,
6096 "type" : "string"
6097 },
6098 "snapshot" : {
6099 "description" : "Whether the drive should be included when making snapshots.",
6100 "optional" : 1,
6101 "type" : "boolean"
6102 },
6103 "trans" : {
6104 "description" : "Force disk geometry bios translation mode.",
6105 "enum" : [
6106 "none",
6107 "lba",
6108 "auto"
6109 ],
6110 "optional" : 1,
6111 "type" : "string"
6112 },
6113 "volume" : {
6114 "alias" : "file"
6115 },
6116 "werror" : {
6117 "description" : "Write error action.",
6118 "enum" : [
6119 "enospc",
6120 "ignore",
6121 "report",
6122 "stop"
6123 ],
6124 "optional" : 1,
6125 "type" : "string"
6126 }
6127 },
6128 "optional" : 1,
6129 "type" : "string",
6130 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
6131 },
6132 "scsi[n]" : {
6133 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
6134 "format" : {
6135 "aio" : {
6136 "description" : "AIO type to use.",
6137 "enum" : [
6138 "native",
6139 "threads"
6140 ],
6141 "optional" : 1,
6142 "type" : "string"
6143 },
6144 "backup" : {
6145 "description" : "Whether the drive should be included when making backups.",
6146 "optional" : 1,
6147 "type" : "boolean"
6148 },
6149 "bps" : {
6150 "description" : "Maximum r/w speed speed in bytes per second.",
6151 "format_description" : "bps",
6152 "optional" : 1,
6153 "type" : "integer"
6154 },
6155 "bps_rd" : {
6156 "description" : "Maximum read speed speed in bytes per second.",
6157 "format_description" : "bps",
6158 "optional" : 1,
6159 "type" : "integer"
6160 },
6161 "bps_wr" : {
6162 "description" : "Maximum write speed speed in bytes per second.",
6163 "format_description" : "bps",
6164 "optional" : 1,
6165 "type" : "integer"
6166 },
6167 "cache" : {
6168 "description" : "The drive's cache mode",
6169 "enum" : [
6170 "none",
6171 "writethrough",
6172 "writeback",
6173 "unsafe",
6174 "directsync"
6175 ],
6176 "optional" : 1,
6177 "type" : "string"
6178 },
6179 "cyls" : {
6180 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
6181 "optional" : 1,
6182 "type" : "integer"
6183 },
6184 "detect_zeroes" : {
6185 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
6186 "optional" : 1,
6187 "type" : "boolean"
6188 },
6189 "discard" : {
6190 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6191 "enum" : [
6192 "ignore",
6193 "on"
6194 ],
6195 "optional" : 1,
6196 "type" : "string"
6197 },
6198 "file" : {
6199 "default_key" : 1,
6200 "description" : "The drive's backing volume.",
6201 "format" : "pve-volume-id-or-qm-path",
6202 "format_description" : "volume",
6203 "type" : "string"
6204 },
6205 "format" : {
6206 "description" : "The drive's backing file's data format.",
6207 "enum" : [
6208 "raw",
6209 "cow",
6210 "qcow",
6211 "qed",
6212 "qcow2",
6213 "vmdk",
6214 "cloop"
6215 ],
6216 "format_description" : "image format",
6217 "optional" : 1,
6218 "type" : "string"
6219 },
6220 "heads" : {
6221 "description" : "Force the drive's physical geometry to have a specific head count.",
6222 "optional" : 1,
6223 "type" : "integer"
6224 },
6225 "iops" : {
6226 "description" : "Maximum r/w I/O speed in operations per second.",
6227 "format_description" : "iops",
6228 "optional" : 1,
6229 "type" : "integer"
6230 },
6231 "iops_max" : {
6232 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
6233 "format_description" : "iops",
6234 "optional" : 1,
6235 "type" : "integer"
6236 },
6237 "iops_rd" : {
6238 "description" : "Maximum read I/O speed in operations per second.",
6239 "format_description" : "iops",
6240 "optional" : 1,
6241 "type" : "integer"
6242 },
6243 "iops_rd_max" : {
6244 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
6245 "format_description" : "iops",
6246 "optional" : 1,
6247 "type" : "integer"
6248 },
6249 "iops_wr" : {
6250 "description" : "Maximum write I/O speed in operations per second.",
6251 "format_description" : "iops",
6252 "optional" : 1,
6253 "type" : "integer"
6254 },
6255 "iops_wr_max" : {
6256 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
6257 "format_description" : "iops",
6258 "optional" : 1,
6259 "type" : "integer"
6260 },
6261 "iothread" : {
6262 "description" : "Whether to use iothreads for this drive",
6263 "optional" : 1,
6264 "type" : "boolean"
6265 },
6266 "mbps" : {
6267 "description" : "Maximum r/w speed speed in megabytes per second.",
6268 "format_description" : "mbps",
6269 "optional" : 1,
6270 "type" : "number"
6271 },
6272 "mbps_max" : {
6273 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
6274 "format_description" : "mbps",
6275 "optional" : 1,
6276 "type" : "number"
6277 },
6278 "mbps_rd" : {
6279 "description" : "Maximum read speed speed in megabytes per second.",
6280 "format_description" : "mbps",
6281 "optional" : 1,
6282 "type" : "number"
6283 },
6284 "mbps_rd_max" : {
6285 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
6286 "format_description" : "mbps",
6287 "optional" : 1,
6288 "type" : "number"
6289 },
6290 "mbps_wr" : {
6291 "description" : "Maximum write speed speed in megabytes per second.",
6292 "format_description" : "mbps",
6293 "optional" : 1,
6294 "type" : "number"
6295 },
6296 "mbps_wr_max" : {
6297 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
6298 "format_description" : "mbps",
6299 "optional" : 1,
6300 "type" : "number"
6301 },
6302 "media" : {
6303 "default" : "disk",
6304 "description" : "The drive's media type.",
6305 "enum" : [
6306 "cdrom",
6307 "disk"
6308 ],
6309 "optional" : 1,
6310 "type" : "string"
6311 },
6312 "queues" : {
6313 "description" : "Number of queues.",
6314 "minimum" : 2,
6315 "optional" : 1,
6316 "type" : "integer"
6317 },
6318 "secs" : {
6319 "description" : "Force the drive's physical geometry to have a specific sector count.",
6320 "optional" : 1,
6321 "type" : "integer"
6322 },
6323 "serial" : {
6324 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6325 "format" : "urlencoded",
6326 "format_description" : "serial",
6327 "maxLength" : 60,
6328 "optional" : 1,
6329 "type" : "string"
6330 },
6331 "size" : {
6332 "description" : "Disk size. This is purely informational and has no effect.",
6333 "format" : "disk-size",
6334 "format_description" : "DiskSize",
6335 "optional" : 1,
6336 "type" : "string"
6337 },
6338 "snapshot" : {
6339 "description" : "Whether the drive should be included when making snapshots.",
6340 "optional" : 1,
6341 "type" : "boolean"
6342 },
6343 "trans" : {
6344 "description" : "Force disk geometry bios translation mode.",
6345 "enum" : [
6346 "none",
6347 "lba",
6348 "auto"
6349 ],
6350 "optional" : 1,
6351 "type" : "string"
6352 },
6353 "volume" : {
6354 "alias" : "file"
6355 },
6356 "werror" : {
6357 "description" : "Write error action.",
6358 "enum" : [
6359 "enospc",
6360 "ignore",
6361 "report",
6362 "stop"
6363 ],
6364 "optional" : 1,
6365 "type" : "string"
6366 }
6367 },
6368 "optional" : 1,
6369 "type" : "string",
6370 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,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>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
6371 },
6372 "scsihw" : {
6373 "default" : "lsi",
6374 "description" : "SCSI controller model",
6375 "enum" : [
6376 "lsi",
6377 "lsi53c810",
6378 "virtio-scsi-pci",
6379 "virtio-scsi-single",
6380 "megasas",
6381 "pvscsi"
6382 ],
6383 "optional" : 1,
6384 "type" : "string"
6385 },
6386 "serial[n]" : {
6387 "description" : "Create a serial device inside the VM (n is 0 to 3)",
6388 "optional" : 1,
6389 "pattern" : "(/dev/.+|socket)",
6390 "type" : "string",
6391 "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"
6392 },
6393 "shares" : {
6394 "default" : 1000,
6395 "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",
6396 "maximum" : 50000,
6397 "minimum" : 0,
6398 "optional" : 1,
6399 "type" : "integer",
6400 "typetext" : "integer (0-50000)"
6401 },
6402 "skiplock" : {
6403 "description" : "Ignore locks - only root is allowed to use this option.",
6404 "optional" : 1,
6405 "type" : "boolean"
6406 },
6407 "smbios1" : {
6408 "description" : "Specify SMBIOS type 1 fields.",
6409 "format" : "pve-qm-smbios1",
6410 "maxLength" : 256,
6411 "optional" : 1,
6412 "type" : "string",
6413 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
6414 },
6415 "smp" : {
6416 "default" : 1,
6417 "description" : "The number of CPUs. Please use option -sockets instead.",
6418 "minimum" : 1,
6419 "optional" : 1,
6420 "type" : "integer",
6421 "typetext" : "integer (1- N)"
6422 },
6423 "sockets" : {
6424 "default" : 1,
6425 "description" : "The number of CPU sockets.",
6426 "minimum" : 1,
6427 "optional" : 1,
6428 "type" : "integer",
6429 "typetext" : "integer (1- N)"
6430 },
6431 "startdate" : {
6432 "default" : "now",
6433 "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'.",
6434 "optional" : 1,
6435 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
6436 "type" : "string",
6437 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
6438 },
6439 "startup" : {
6440 "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.",
6441 "format" : "pve-startup-order",
6442 "optional" : 1,
6443 "type" : "string",
6444 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
6445 },
6446 "tablet" : {
6447 "default" : 1,
6448 "description" : "Enable/disable the USB tablet device.",
6449 "optional" : 1,
6450 "type" : "boolean",
6451 "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)."
6452 },
6453 "tdf" : {
6454 "default" : 0,
6455 "description" : "Enable/disable time drift fix.",
6456 "optional" : 1,
6457 "type" : "boolean"
6458 },
6459 "template" : {
6460 "default" : 0,
6461 "description" : "Enable/disable Template.",
6462 "optional" : 1,
6463 "type" : "boolean"
6464 },
6465 "unused[n]" : {
6466 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
6467 "format" : "pve-volume-id",
6468 "optional" : 1,
6469 "type" : "string"
6470 },
6471 "usb[n]" : {
6472 "description" : "Configure an USB device (n is 0 to 4).",
6473 "format" : {
6474 "host" : {
6475 "default_key" : 1,
6476 "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",
6477 "format" : "pve-qm-usb-device",
6478 "format_description" : "HOSTUSBDEVICE|spice",
6479 "type" : "string"
6480 },
6481 "usb3" : {
6482 "default" : 0,
6483 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
6484 "optional" : 1,
6485 "type" : "boolean"
6486 }
6487 },
6488 "optional" : 1,
6489 "type" : "string",
6490 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
6491 },
6492 "vcpus" : {
6493 "default" : 0,
6494 "description" : "Number of hotplugged vcpus.",
6495 "minimum" : 1,
6496 "optional" : 1,
6497 "type" : "integer",
6498 "typetext" : "integer (1- N)"
6499 },
6500 "vga" : {
6501 "description" : "Select the VGA type.",
6502 "enum" : [
6503 "std",
6504 "cirrus",
6505 "vmware",
6506 "qxl",
6507 "serial0",
6508 "serial1",
6509 "serial2",
6510 "serial3",
6511 "qxl2",
6512 "qxl3",
6513 "qxl4"
6514 ],
6515 "optional" : 1,
6516 "type" : "string",
6517 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
6518 },
6519 "virtio[n]" : {
6520 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
6521 "format" : {
6522 "aio" : {
6523 "description" : "AIO type to use.",
6524 "enum" : [
6525 "native",
6526 "threads"
6527 ],
6528 "optional" : 1,
6529 "type" : "string"
6530 },
6531 "backup" : {
6532 "description" : "Whether the drive should be included when making backups.",
6533 "optional" : 1,
6534 "type" : "boolean"
6535 },
6536 "bps" : {
6537 "description" : "Maximum r/w speed speed in bytes per second.",
6538 "format_description" : "bps",
6539 "optional" : 1,
6540 "type" : "integer"
6541 },
6542 "bps_rd" : {
6543 "description" : "Maximum read speed speed in bytes per second.",
6544 "format_description" : "bps",
6545 "optional" : 1,
6546 "type" : "integer"
6547 },
6548 "bps_wr" : {
6549 "description" : "Maximum write speed speed in bytes per second.",
6550 "format_description" : "bps",
6551 "optional" : 1,
6552 "type" : "integer"
6553 },
6554 "cache" : {
6555 "description" : "The drive's cache mode",
6556 "enum" : [
6557 "none",
6558 "writethrough",
6559 "writeback",
6560 "unsafe",
6561 "directsync"
6562 ],
6563 "optional" : 1,
6564 "type" : "string"
6565 },
6566 "cyls" : {
6567 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
6568 "optional" : 1,
6569 "type" : "integer"
6570 },
6571 "detect_zeroes" : {
6572 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
6573 "optional" : 1,
6574 "type" : "boolean"
6575 },
6576 "discard" : {
6577 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6578 "enum" : [
6579 "ignore",
6580 "on"
6581 ],
6582 "optional" : 1,
6583 "type" : "string"
6584 },
6585 "file" : {
6586 "default_key" : 1,
6587 "description" : "The drive's backing volume.",
6588 "format" : "pve-volume-id-or-qm-path",
6589 "format_description" : "volume",
6590 "type" : "string"
6591 },
6592 "format" : {
6593 "description" : "The drive's backing file's data format.",
6594 "enum" : [
6595 "raw",
6596 "cow",
6597 "qcow",
6598 "qed",
6599 "qcow2",
6600 "vmdk",
6601 "cloop"
6602 ],
6603 "format_description" : "image format",
6604 "optional" : 1,
6605 "type" : "string"
6606 },
6607 "heads" : {
6608 "description" : "Force the drive's physical geometry to have a specific head count.",
6609 "optional" : 1,
6610 "type" : "integer"
6611 },
6612 "iops" : {
6613 "description" : "Maximum r/w I/O speed in operations per second.",
6614 "format_description" : "iops",
6615 "optional" : 1,
6616 "type" : "integer"
6617 },
6618 "iops_max" : {
6619 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
6620 "format_description" : "iops",
6621 "optional" : 1,
6622 "type" : "integer"
6623 },
6624 "iops_rd" : {
6625 "description" : "Maximum read I/O speed in operations per second.",
6626 "format_description" : "iops",
6627 "optional" : 1,
6628 "type" : "integer"
6629 },
6630 "iops_rd_max" : {
6631 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
6632 "format_description" : "iops",
6633 "optional" : 1,
6634 "type" : "integer"
6635 },
6636 "iops_wr" : {
6637 "description" : "Maximum write I/O speed in operations per second.",
6638 "format_description" : "iops",
6639 "optional" : 1,
6640 "type" : "integer"
6641 },
6642 "iops_wr_max" : {
6643 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
6644 "format_description" : "iops",
6645 "optional" : 1,
6646 "type" : "integer"
6647 },
6648 "iothread" : {
6649 "description" : "Whether to use iothreads for this drive",
6650 "optional" : 1,
6651 "type" : "boolean"
6652 },
6653 "mbps" : {
6654 "description" : "Maximum r/w speed speed in megabytes per second.",
6655 "format_description" : "mbps",
6656 "optional" : 1,
6657 "type" : "number"
6658 },
6659 "mbps_max" : {
6660 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
6661 "format_description" : "mbps",
6662 "optional" : 1,
6663 "type" : "number"
6664 },
6665 "mbps_rd" : {
6666 "description" : "Maximum read speed speed in megabytes per second.",
6667 "format_description" : "mbps",
6668 "optional" : 1,
6669 "type" : "number"
6670 },
6671 "mbps_rd_max" : {
6672 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
6673 "format_description" : "mbps",
6674 "optional" : 1,
6675 "type" : "number"
6676 },
6677 "mbps_wr" : {
6678 "description" : "Maximum write speed speed in megabytes per second.",
6679 "format_description" : "mbps",
6680 "optional" : 1,
6681 "type" : "number"
6682 },
6683 "mbps_wr_max" : {
6684 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
6685 "format_description" : "mbps",
6686 "optional" : 1,
6687 "type" : "number"
6688 },
6689 "media" : {
6690 "default" : "disk",
6691 "description" : "The drive's media type.",
6692 "enum" : [
6693 "cdrom",
6694 "disk"
6695 ],
6696 "optional" : 1,
6697 "type" : "string"
6698 },
6699 "rerror" : {
6700 "description" : "Read error action.",
6701 "enum" : [
6702 "ignore",
6703 "report",
6704 "stop"
6705 ],
6706 "optional" : 1,
6707 "type" : "string"
6708 },
6709 "secs" : {
6710 "description" : "Force the drive's physical geometry to have a specific sector count.",
6711 "optional" : 1,
6712 "type" : "integer"
6713 },
6714 "serial" : {
6715 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6716 "format" : "urlencoded",
6717 "format_description" : "serial",
6718 "maxLength" : 60,
6719 "optional" : 1,
6720 "type" : "string"
6721 },
6722 "size" : {
6723 "description" : "Disk size. This is purely informational and has no effect.",
6724 "format" : "disk-size",
6725 "format_description" : "DiskSize",
6726 "optional" : 1,
6727 "type" : "string"
6728 },
6729 "snapshot" : {
6730 "description" : "Whether the drive should be included when making snapshots.",
6731 "optional" : 1,
6732 "type" : "boolean"
6733 },
6734 "trans" : {
6735 "description" : "Force disk geometry bios translation mode.",
6736 "enum" : [
6737 "none",
6738 "lba",
6739 "auto"
6740 ],
6741 "optional" : 1,
6742 "type" : "string"
6743 },
6744 "volume" : {
6745 "alias" : "file"
6746 },
6747 "werror" : {
6748 "description" : "Write error action.",
6749 "enum" : [
6750 "enospc",
6751 "ignore",
6752 "report",
6753 "stop"
6754 ],
6755 "optional" : 1,
6756 "type" : "string"
6757 }
6758 },
6759 "optional" : 1,
6760 "type" : "string",
6761 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,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>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
6762 },
6763 "vmid" : {
6764 "description" : "The (unique) ID of the VM.",
6765 "format" : "pve-vmid",
6766 "minimum" : 1,
6767 "type" : "integer",
6768 "typetext" : "integer (1- N)"
6769 },
6770 "watchdog" : {
6771 "description" : "Create a virtual hardware watchdog device.",
6772 "format" : "pve-qm-watchdog",
6773 "optional" : 1,
6774 "type" : "string",
6775 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<reset|shutdown|poweroff|pause|debug|none>]",
6776 "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)"
6777 }
6778 }
6779 },
6780 "permissions" : {
6781 "check" : [
6782 "perm",
6783 "/vms/{vmid}",
6784 [
6785 "VM.Config.Disk",
6786 "VM.Config.CDROM",
6787 "VM.Config.CPU",
6788 "VM.Config.Memory",
6789 "VM.Config.Network",
6790 "VM.Config.HWType",
6791 "VM.Config.Options"
6792 ],
6793 "any",
6794 1
6795 ]
6796 },
6797 "protected" : 1,
6798 "proxyto" : "node",
6799 "returns" : {
6800 "optional" : 1,
6801 "type" : "string"
6802 }
6803 },
6804 "PUT" : {
6805 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
6806 "method" : "PUT",
6807 "name" : "update_vm",
6808 "parameters" : {
6809 "additionalProperties" : 0,
6810 "properties" : {
6811 "acpi" : {
6812 "default" : 1,
6813 "description" : "Enable/disable ACPI.",
6814 "optional" : 1,
6815 "type" : "boolean"
6816 },
6817 "agent" : {
6818 "default" : 0,
6819 "description" : "Enable/disable Qemu GuestAgent.",
6820 "optional" : 1,
6821 "type" : "boolean"
6822 },
6823 "args" : {
6824 "description" : "Arbitrary arguments passed to kvm.",
6825 "optional" : 1,
6826 "type" : "string",
6827 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
6828 },
6829 "autostart" : {
6830 "default" : 0,
6831 "description" : "Automatic restart after crash (currently ignored).",
6832 "optional" : 1,
6833 "type" : "boolean"
6834 },
6835 "balloon" : {
6836 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
6837 "minimum" : 0,
6838 "optional" : 1,
6839 "type" : "integer",
6840 "typetext" : "integer (0- N)"
6841 },
6842 "bios" : {
6843 "default" : "seabios",
6844 "description" : "Select BIOS implementation.",
6845 "enum" : [
6846 "seabios",
6847 "ovmf"
6848 ],
6849 "optional" : 1,
6850 "type" : "string"
6851 },
6852 "boot" : {
6853 "default" : "cdn",
6854 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
6855 "optional" : 1,
6856 "pattern" : "[acdn]{1,4}",
6857 "type" : "string"
6858 },
6859 "bootdisk" : {
6860 "description" : "Enable booting from specified disk.",
6861 "format" : "pve-qm-bootdisk",
6862 "optional" : 1,
6863 "pattern" : "(ide|sata|scsi|virtio)\\d+",
6864 "type" : "string"
6865 },
6866 "cdrom" : {
6867 "description" : "This is an alias for option -ide2",
6868 "format" : "pve-qm-drive",
6869 "optional" : 1,
6870 "type" : "string",
6871 "typetext" : "volume"
6872 },
6873 "cores" : {
6874 "default" : 1,
6875 "description" : "The number of cores per socket.",
6876 "minimum" : 1,
6877 "optional" : 1,
6878 "type" : "integer",
6879 "typetext" : "integer (1- N)"
6880 },
6881 "cpu" : {
6882 "description" : "Emulated CPU type.",
6883 "format" : {
6884 "cputype" : {
6885 "default" : "kvm64",
6886 "default_key" : 1,
6887 "description" : "Emulated CPU type.",
6888 "enum" : [
6889 "486",
6890 "athlon",
6891 "Broadwell",
6892 "Broadwell-noTSX",
6893 "Conroe",
6894 "core2duo",
6895 "coreduo",
6896 "Haswell",
6897 "Haswell-noTSX",
6898 "host",
6899 "IvyBridge",
6900 "kvm32",
6901 "kvm64",
6902 "Nehalem",
6903 "Opteron_G1",
6904 "Opteron_G2",
6905 "Opteron_G3",
6906 "Opteron_G4",
6907 "Opteron_G5",
6908 "Penryn",
6909 "pentium",
6910 "pentium2",
6911 "pentium3",
6912 "phenom",
6913 "qemu32",
6914 "qemu64",
6915 "SandyBridge",
6916 "Westmere"
6917 ],
6918 "format_description" : "cputype",
6919 "type" : "string"
6920 },
6921 "hidden" : {
6922 "default" : 0,
6923 "description" : "Do not identify as a KVM virtual machine.",
6924 "optional" : 1,
6925 "type" : "boolean"
6926 }
6927 },
6928 "optional" : 1,
6929 "type" : "string",
6930 "typetext" : "[cputype=]<cputype> [,hidden=<1|0>]"
6931 },
6932 "cpulimit" : {
6933 "default" : 0,
6934 "description" : "Limit of CPU usage.",
6935 "maximum" : 128,
6936 "minimum" : 0,
6937 "optional" : 1,
6938 "type" : "number",
6939 "typetext" : "number (0-128)",
6940 "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."
6941 },
6942 "cpuunits" : {
6943 "default" : 1000,
6944 "description" : "CPU weight for a VM.",
6945 "maximum" : 500000,
6946 "minimum" : 0,
6947 "optional" : 1,
6948 "type" : "integer",
6949 "typetext" : "integer (0-500000)",
6950 "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
6951 },
6952 "delete" : {
6953 "description" : "A list of settings you want to delete.",
6954 "format" : "pve-configid-list",
6955 "optional" : 1,
6956 "type" : "string"
6957 },
6958 "description" : {
6959 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
6960 "optional" : 1,
6961 "type" : "string"
6962 },
6963 "digest" : {
6964 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6965 "maxLength" : 40,
6966 "optional" : 1,
6967 "type" : "string"
6968 },
6969 "force" : {
6970 "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.",
6971 "optional" : 1,
6972 "requires" : "delete",
6973 "type" : "boolean"
6974 },
6975 "freeze" : {
6976 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
6977 "optional" : 1,
6978 "type" : "boolean"
6979 },
6980 "hostpci[n]" : {
6981 "description" : "Map host PCI devices into guest.",
6982 "format" : "pve-qm-hostpci",
6983 "optional" : 1,
6984 "type" : "string",
6985 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
6986 "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"
6987 },
6988 "hotplug" : {
6989 "default" : "network,disk,usb",
6990 "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'.",
6991 "format" : "pve-hotplug-features",
6992 "optional" : 1,
6993 "type" : "string"
6994 },
6995 "hugepages" : {
6996 "description" : "Enable/disable hugepages memory.",
6997 "enum" : [
6998 "any",
6999 "2",
7000 "1024"
7001 ],
7002 "optional" : 1,
7003 "type" : "string"
7004 },
7005 "ide[n]" : {
7006 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
7007 "format" : {
7008 "aio" : {
7009 "description" : "AIO type to use.",
7010 "enum" : [
7011 "native",
7012 "threads"
7013 ],
7014 "optional" : 1,
7015 "type" : "string"
7016 },
7017 "backup" : {
7018 "description" : "Whether the drive should be included when making backups.",
7019 "optional" : 1,
7020 "type" : "boolean"
7021 },
7022 "bps" : {
7023 "description" : "Maximum r/w speed speed in bytes per second.",
7024 "format_description" : "bps",
7025 "optional" : 1,
7026 "type" : "integer"
7027 },
7028 "bps_rd" : {
7029 "description" : "Maximum read speed speed in bytes per second.",
7030 "format_description" : "bps",
7031 "optional" : 1,
7032 "type" : "integer"
7033 },
7034 "bps_wr" : {
7035 "description" : "Maximum write speed speed in bytes per second.",
7036 "format_description" : "bps",
7037 "optional" : 1,
7038 "type" : "integer"
7039 },
7040 "cache" : {
7041 "description" : "The drive's cache mode",
7042 "enum" : [
7043 "none",
7044 "writethrough",
7045 "writeback",
7046 "unsafe",
7047 "directsync"
7048 ],
7049 "optional" : 1,
7050 "type" : "string"
7051 },
7052 "cyls" : {
7053 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7054 "optional" : 1,
7055 "type" : "integer"
7056 },
7057 "detect_zeroes" : {
7058 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7059 "optional" : 1,
7060 "type" : "boolean"
7061 },
7062 "discard" : {
7063 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7064 "enum" : [
7065 "ignore",
7066 "on"
7067 ],
7068 "optional" : 1,
7069 "type" : "string"
7070 },
7071 "file" : {
7072 "default_key" : 1,
7073 "description" : "The drive's backing volume.",
7074 "format" : "pve-volume-id-or-qm-path",
7075 "format_description" : "volume",
7076 "type" : "string"
7077 },
7078 "format" : {
7079 "description" : "The drive's backing file's data format.",
7080 "enum" : [
7081 "raw",
7082 "cow",
7083 "qcow",
7084 "qed",
7085 "qcow2",
7086 "vmdk",
7087 "cloop"
7088 ],
7089 "format_description" : "image format",
7090 "optional" : 1,
7091 "type" : "string"
7092 },
7093 "heads" : {
7094 "description" : "Force the drive's physical geometry to have a specific head count.",
7095 "optional" : 1,
7096 "type" : "integer"
7097 },
7098 "iops" : {
7099 "description" : "Maximum r/w I/O speed in operations per second.",
7100 "format_description" : "iops",
7101 "optional" : 1,
7102 "type" : "integer"
7103 },
7104 "iops_max" : {
7105 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
7106 "format_description" : "iops",
7107 "optional" : 1,
7108 "type" : "integer"
7109 },
7110 "iops_rd" : {
7111 "description" : "Maximum read I/O speed in operations per second.",
7112 "format_description" : "iops",
7113 "optional" : 1,
7114 "type" : "integer"
7115 },
7116 "iops_rd_max" : {
7117 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
7118 "format_description" : "iops",
7119 "optional" : 1,
7120 "type" : "integer"
7121 },
7122 "iops_wr" : {
7123 "description" : "Maximum write I/O speed in operations per second.",
7124 "format_description" : "iops",
7125 "optional" : 1,
7126 "type" : "integer"
7127 },
7128 "iops_wr_max" : {
7129 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
7130 "format_description" : "iops",
7131 "optional" : 1,
7132 "type" : "integer"
7133 },
7134 "mbps" : {
7135 "description" : "Maximum r/w speed speed in megabytes per second.",
7136 "format_description" : "mbps",
7137 "optional" : 1,
7138 "type" : "number"
7139 },
7140 "mbps_max" : {
7141 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
7142 "format_description" : "mbps",
7143 "optional" : 1,
7144 "type" : "number"
7145 },
7146 "mbps_rd" : {
7147 "description" : "Maximum read speed speed in megabytes per second.",
7148 "format_description" : "mbps",
7149 "optional" : 1,
7150 "type" : "number"
7151 },
7152 "mbps_rd_max" : {
7153 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
7154 "format_description" : "mbps",
7155 "optional" : 1,
7156 "type" : "number"
7157 },
7158 "mbps_wr" : {
7159 "description" : "Maximum write speed speed in megabytes per second.",
7160 "format_description" : "mbps",
7161 "optional" : 1,
7162 "type" : "number"
7163 },
7164 "mbps_wr_max" : {
7165 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
7166 "format_description" : "mbps",
7167 "optional" : 1,
7168 "type" : "number"
7169 },
7170 "media" : {
7171 "default" : "disk",
7172 "description" : "The drive's media type.",
7173 "enum" : [
7174 "cdrom",
7175 "disk"
7176 ],
7177 "optional" : 1,
7178 "type" : "string"
7179 },
7180 "model" : {
7181 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
7182 "format" : "urlencoded",
7183 "format_description" : "model",
7184 "maxLength" : 120,
7185 "optional" : 1,
7186 "type" : "string"
7187 },
7188 "rerror" : {
7189 "description" : "Read error action.",
7190 "enum" : [
7191 "ignore",
7192 "report",
7193 "stop"
7194 ],
7195 "optional" : 1,
7196 "type" : "string"
7197 },
7198 "secs" : {
7199 "description" : "Force the drive's physical geometry to have a specific sector count.",
7200 "optional" : 1,
7201 "type" : "integer"
7202 },
7203 "serial" : {
7204 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7205 "format" : "urlencoded",
7206 "format_description" : "serial",
7207 "maxLength" : 60,
7208 "optional" : 1,
7209 "type" : "string"
7210 },
7211 "size" : {
7212 "description" : "Disk size. This is purely informational and has no effect.",
7213 "format" : "disk-size",
7214 "format_description" : "DiskSize",
7215 "optional" : 1,
7216 "type" : "string"
7217 },
7218 "snapshot" : {
7219 "description" : "Whether the drive should be included when making snapshots.",
7220 "optional" : 1,
7221 "type" : "boolean"
7222 },
7223 "trans" : {
7224 "description" : "Force disk geometry bios translation mode.",
7225 "enum" : [
7226 "none",
7227 "lba",
7228 "auto"
7229 ],
7230 "optional" : 1,
7231 "type" : "string"
7232 },
7233 "volume" : {
7234 "alias" : "file"
7235 },
7236 "werror" : {
7237 "description" : "Write error action.",
7238 "enum" : [
7239 "enospc",
7240 "ignore",
7241 "report",
7242 "stop"
7243 ],
7244 "optional" : 1,
7245 "type" : "string"
7246 }
7247 },
7248 "optional" : 1,
7249 "type" : "string",
7250 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
7251 },
7252 "keyboard" : {
7253 "default" : "en-us",
7254 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
7255 "enum" : [
7256 "de",
7257 "de-ch",
7258 "da",
7259 "en-gb",
7260 "en-us",
7261 "es",
7262 "fi",
7263 "fr",
7264 "fr-be",
7265 "fr-ca",
7266 "fr-ch",
7267 "hu",
7268 "is",
7269 "it",
7270 "ja",
7271 "lt",
7272 "mk",
7273 "nl",
7274 "no",
7275 "pl",
7276 "pt",
7277 "pt-br",
7278 "sv",
7279 "sl",
7280 "tr"
7281 ],
7282 "optional" : 1,
7283 "type" : "string"
7284 },
7285 "kvm" : {
7286 "default" : 1,
7287 "description" : "Enable/disable KVM hardware virtualization.",
7288 "optional" : 1,
7289 "type" : "boolean"
7290 },
7291 "localtime" : {
7292 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7293 "optional" : 1,
7294 "type" : "boolean"
7295 },
7296 "lock" : {
7297 "description" : "Lock/unlock the VM.",
7298 "enum" : [
7299 "migrate",
7300 "backup",
7301 "snapshot",
7302 "rollback"
7303 ],
7304 "optional" : 1,
7305 "type" : "string"
7306 },
7307 "machine" : {
7308 "description" : "Specific the Qemu machine type.",
7309 "maxLength" : 40,
7310 "optional" : 1,
7311 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
7312 "type" : "string"
7313 },
7314 "memory" : {
7315 "default" : 512,
7316 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
7317 "minimum" : 16,
7318 "optional" : 1,
7319 "type" : "integer",
7320 "typetext" : "integer (16- N)"
7321 },
7322 "migrate_downtime" : {
7323 "default" : 0.1,
7324 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
7325 "minimum" : 0,
7326 "optional" : 1,
7327 "type" : "number",
7328 "typetext" : "number (0- N)"
7329 },
7330 "migrate_speed" : {
7331 "default" : 0,
7332 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
7333 "minimum" : 0,
7334 "optional" : 1,
7335 "type" : "integer",
7336 "typetext" : "integer (0- N)"
7337 },
7338 "name" : {
7339 "description" : "Set a name for the VM. Only used on the configuration web interface.",
7340 "format" : "dns-name",
7341 "optional" : 1,
7342 "type" : "string"
7343 },
7344 "net[n]" : {
7345 "description" : "Specify network devices.",
7346 "format" : {
7347 "bridge" : {
7348 "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",
7349 "format_description" : "bridge",
7350 "optional" : 1,
7351 "type" : "string"
7352 },
7353 "e1000" : {
7354 "alias" : "macaddr",
7355 "keyAlias" : "model"
7356 },
7357 "e1000-82540em" : {
7358 "alias" : "macaddr",
7359 "keyAlias" : "model"
7360 },
7361 "e1000-82544gc" : {
7362 "alias" : "macaddr",
7363 "keyAlias" : "model"
7364 },
7365 "e1000-82545em" : {
7366 "alias" : "macaddr",
7367 "keyAlias" : "model"
7368 },
7369 "firewall" : {
7370 "description" : "Whether this interface should be protected by the firewall.",
7371 "optional" : 1,
7372 "type" : "boolean"
7373 },
7374 "i82551" : {
7375 "alias" : "macaddr",
7376 "keyAlias" : "model"
7377 },
7378 "i82557b" : {
7379 "alias" : "macaddr",
7380 "keyAlias" : "model"
7381 },
7382 "i82559er" : {
7383 "alias" : "macaddr",
7384 "keyAlias" : "model"
7385 },
7386 "link_down" : {
7387 "description" : "Whether this interface should be disconnected (like pulling the plug).",
7388 "optional" : 1,
7389 "type" : "boolean"
7390 },
7391 "macaddr" : {
7392 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
7393 "format_description" : "XX:XX:XX:XX:XX:XX",
7394 "optional" : 1,
7395 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
7396 "type" : "string"
7397 },
7398 "model" : {
7399 "default_key" : 1,
7400 "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'.",
7401 "enum" : [
7402 "rtl8139",
7403 "ne2k_pci",
7404 "e1000",
7405 "pcnet",
7406 "virtio",
7407 "ne2k_isa",
7408 "i82551",
7409 "i82557b",
7410 "i82559er",
7411 "vmxnet3",
7412 "e1000-82540em",
7413 "e1000-82544gc",
7414 "e1000-82545em"
7415 ],
7416 "format_description" : "model",
7417 "type" : "string"
7418 },
7419 "ne2k_isa" : {
7420 "alias" : "macaddr",
7421 "keyAlias" : "model"
7422 },
7423 "ne2k_pci" : {
7424 "alias" : "macaddr",
7425 "keyAlias" : "model"
7426 },
7427 "pcnet" : {
7428 "alias" : "macaddr",
7429 "keyAlias" : "model"
7430 },
7431 "queues" : {
7432 "description" : "Number of packet queues to be used on the device.",
7433 "maximum" : 16,
7434 "minimum" : 0,
7435 "optional" : 1,
7436 "type" : "integer"
7437 },
7438 "rate" : {
7439 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
7440 "minimum" : 0,
7441 "optional" : 1,
7442 "type" : "number"
7443 },
7444 "rtl8139" : {
7445 "alias" : "macaddr",
7446 "keyAlias" : "model"
7447 },
7448 "tag" : {
7449 "description" : "VLAN tag to apply to packets on this interface.",
7450 "maximum" : 4094,
7451 "minimum" : 1,
7452 "optional" : 1,
7453 "type" : "integer"
7454 },
7455 "trunks" : {
7456 "description" : "VLAN trunks to pass through this interface.",
7457 "format_description" : "vlanid[;vlanid...]",
7458 "optional" : 1,
7459 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7460 "type" : "string"
7461 },
7462 "virtio" : {
7463 "alias" : "macaddr",
7464 "keyAlias" : "model"
7465 },
7466 "vmxnet3" : {
7467 "alias" : "macaddr",
7468 "keyAlias" : "model"
7469 }
7470 },
7471 "optional" : 1,
7472 "type" : "string",
7473 "typetext" : "[model=]<model> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
7474 },
7475 "node" : {
7476 "description" : "The cluster node name.",
7477 "format" : "pve-node",
7478 "type" : "string"
7479 },
7480 "numa" : {
7481 "default" : 0,
7482 "description" : "Enable/disable NUMA.",
7483 "optional" : 1,
7484 "type" : "boolean"
7485 },
7486 "numa[n]" : {
7487 "description" : "NUMA topology.",
7488 "format" : {
7489 "cpus" : {
7490 "description" : "CPUs accessing this NUMA node.",
7491 "format_description" : "id[-id];...",
7492 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7493 "type" : "string"
7494 },
7495 "hostnodes" : {
7496 "description" : "Host NUMA nodes to use.",
7497 "format_description" : "id[-id];...",
7498 "optional" : 1,
7499 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7500 "type" : "string"
7501 },
7502 "memory" : {
7503 "description" : "Amount of memory this NUMA node provides.",
7504 "optional" : 1,
7505 "type" : "number"
7506 },
7507 "policy" : {
7508 "description" : "NUMA allocation policy.",
7509 "enum" : [
7510 "preferred",
7511 "bind",
7512 "interleave"
7513 ],
7514 "optional" : 1,
7515 "type" : "string"
7516 }
7517 },
7518 "optional" : 1,
7519 "type" : "string",
7520 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7521 },
7522 "onboot" : {
7523 "default" : 0,
7524 "description" : "Specifies whether a VM will be started during system bootup.",
7525 "optional" : 1,
7526 "type" : "boolean"
7527 },
7528 "ostype" : {
7529 "description" : "Specify guest operating system.",
7530 "enum" : [
7531 "other",
7532 "wxp",
7533 "w2k",
7534 "w2k3",
7535 "w2k8",
7536 "wvista",
7537 "win7",
7538 "win8",
7539 "l24",
7540 "l26",
7541 "solaris"
7542 ],
7543 "optional" : 1,
7544 "type" : "string",
7545 "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7546 },
7547 "parallel[n]" : {
7548 "description" : "Map host parallel devices (n is 0 to 2).",
7549 "optional" : 1,
7550 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
7551 "type" : "string",
7552 "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"
7553 },
7554 "protection" : {
7555 "default" : 0,
7556 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7557 "optional" : 1,
7558 "type" : "boolean"
7559 },
7560 "reboot" : {
7561 "default" : 1,
7562 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7563 "optional" : 1,
7564 "type" : "boolean"
7565 },
7566 "revert" : {
7567 "description" : "Revert a pending change.",
7568 "format" : "pve-configid-list",
7569 "optional" : 1,
7570 "type" : "string"
7571 },
7572 "sata[n]" : {
7573 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7574 "format" : {
7575 "aio" : {
7576 "description" : "AIO type to use.",
7577 "enum" : [
7578 "native",
7579 "threads"
7580 ],
7581 "optional" : 1,
7582 "type" : "string"
7583 },
7584 "backup" : {
7585 "description" : "Whether the drive should be included when making backups.",
7586 "optional" : 1,
7587 "type" : "boolean"
7588 },
7589 "bps" : {
7590 "description" : "Maximum r/w speed speed in bytes per second.",
7591 "format_description" : "bps",
7592 "optional" : 1,
7593 "type" : "integer"
7594 },
7595 "bps_rd" : {
7596 "description" : "Maximum read speed speed in bytes per second.",
7597 "format_description" : "bps",
7598 "optional" : 1,
7599 "type" : "integer"
7600 },
7601 "bps_wr" : {
7602 "description" : "Maximum write speed speed in bytes per second.",
7603 "format_description" : "bps",
7604 "optional" : 1,
7605 "type" : "integer"
7606 },
7607 "cache" : {
7608 "description" : "The drive's cache mode",
7609 "enum" : [
7610 "none",
7611 "writethrough",
7612 "writeback",
7613 "unsafe",
7614 "directsync"
7615 ],
7616 "optional" : 1,
7617 "type" : "string"
7618 },
7619 "cyls" : {
7620 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7621 "optional" : 1,
7622 "type" : "integer"
7623 },
7624 "detect_zeroes" : {
7625 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7626 "optional" : 1,
7627 "type" : "boolean"
7628 },
7629 "discard" : {
7630 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7631 "enum" : [
7632 "ignore",
7633 "on"
7634 ],
7635 "optional" : 1,
7636 "type" : "string"
7637 },
7638 "file" : {
7639 "default_key" : 1,
7640 "description" : "The drive's backing volume.",
7641 "format" : "pve-volume-id-or-qm-path",
7642 "format_description" : "volume",
7643 "type" : "string"
7644 },
7645 "format" : {
7646 "description" : "The drive's backing file's data format.",
7647 "enum" : [
7648 "raw",
7649 "cow",
7650 "qcow",
7651 "qed",
7652 "qcow2",
7653 "vmdk",
7654 "cloop"
7655 ],
7656 "format_description" : "image format",
7657 "optional" : 1,
7658 "type" : "string"
7659 },
7660 "heads" : {
7661 "description" : "Force the drive's physical geometry to have a specific head count.",
7662 "optional" : 1,
7663 "type" : "integer"
7664 },
7665 "iops" : {
7666 "description" : "Maximum r/w I/O speed in operations per second.",
7667 "format_description" : "iops",
7668 "optional" : 1,
7669 "type" : "integer"
7670 },
7671 "iops_max" : {
7672 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
7673 "format_description" : "iops",
7674 "optional" : 1,
7675 "type" : "integer"
7676 },
7677 "iops_rd" : {
7678 "description" : "Maximum read I/O speed in operations per second.",
7679 "format_description" : "iops",
7680 "optional" : 1,
7681 "type" : "integer"
7682 },
7683 "iops_rd_max" : {
7684 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
7685 "format_description" : "iops",
7686 "optional" : 1,
7687 "type" : "integer"
7688 },
7689 "iops_wr" : {
7690 "description" : "Maximum write I/O speed in operations per second.",
7691 "format_description" : "iops",
7692 "optional" : 1,
7693 "type" : "integer"
7694 },
7695 "iops_wr_max" : {
7696 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
7697 "format_description" : "iops",
7698 "optional" : 1,
7699 "type" : "integer"
7700 },
7701 "mbps" : {
7702 "description" : "Maximum r/w speed speed in megabytes per second.",
7703 "format_description" : "mbps",
7704 "optional" : 1,
7705 "type" : "number"
7706 },
7707 "mbps_max" : {
7708 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
7709 "format_description" : "mbps",
7710 "optional" : 1,
7711 "type" : "number"
7712 },
7713 "mbps_rd" : {
7714 "description" : "Maximum read speed speed in megabytes per second.",
7715 "format_description" : "mbps",
7716 "optional" : 1,
7717 "type" : "number"
7718 },
7719 "mbps_rd_max" : {
7720 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
7721 "format_description" : "mbps",
7722 "optional" : 1,
7723 "type" : "number"
7724 },
7725 "mbps_wr" : {
7726 "description" : "Maximum write speed speed in megabytes per second.",
7727 "format_description" : "mbps",
7728 "optional" : 1,
7729 "type" : "number"
7730 },
7731 "mbps_wr_max" : {
7732 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
7733 "format_description" : "mbps",
7734 "optional" : 1,
7735 "type" : "number"
7736 },
7737 "media" : {
7738 "default" : "disk",
7739 "description" : "The drive's media type.",
7740 "enum" : [
7741 "cdrom",
7742 "disk"
7743 ],
7744 "optional" : 1,
7745 "type" : "string"
7746 },
7747 "rerror" : {
7748 "description" : "Read error action.",
7749 "enum" : [
7750 "ignore",
7751 "report",
7752 "stop"
7753 ],
7754 "optional" : 1,
7755 "type" : "string"
7756 },
7757 "secs" : {
7758 "description" : "Force the drive's physical geometry to have a specific sector count.",
7759 "optional" : 1,
7760 "type" : "integer"
7761 },
7762 "serial" : {
7763 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7764 "format" : "urlencoded",
7765 "format_description" : "serial",
7766 "maxLength" : 60,
7767 "optional" : 1,
7768 "type" : "string"
7769 },
7770 "size" : {
7771 "description" : "Disk size. This is purely informational and has no effect.",
7772 "format" : "disk-size",
7773 "format_description" : "DiskSize",
7774 "optional" : 1,
7775 "type" : "string"
7776 },
7777 "snapshot" : {
7778 "description" : "Whether the drive should be included when making snapshots.",
7779 "optional" : 1,
7780 "type" : "boolean"
7781 },
7782 "trans" : {
7783 "description" : "Force disk geometry bios translation mode.",
7784 "enum" : [
7785 "none",
7786 "lba",
7787 "auto"
7788 ],
7789 "optional" : 1,
7790 "type" : "string"
7791 },
7792 "volume" : {
7793 "alias" : "file"
7794 },
7795 "werror" : {
7796 "description" : "Write error action.",
7797 "enum" : [
7798 "enospc",
7799 "ignore",
7800 "report",
7801 "stop"
7802 ],
7803 "optional" : 1,
7804 "type" : "string"
7805 }
7806 },
7807 "optional" : 1,
7808 "type" : "string",
7809 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
7810 },
7811 "scsi[n]" : {
7812 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
7813 "format" : {
7814 "aio" : {
7815 "description" : "AIO type to use.",
7816 "enum" : [
7817 "native",
7818 "threads"
7819 ],
7820 "optional" : 1,
7821 "type" : "string"
7822 },
7823 "backup" : {
7824 "description" : "Whether the drive should be included when making backups.",
7825 "optional" : 1,
7826 "type" : "boolean"
7827 },
7828 "bps" : {
7829 "description" : "Maximum r/w speed speed in bytes per second.",
7830 "format_description" : "bps",
7831 "optional" : 1,
7832 "type" : "integer"
7833 },
7834 "bps_rd" : {
7835 "description" : "Maximum read speed speed in bytes per second.",
7836 "format_description" : "bps",
7837 "optional" : 1,
7838 "type" : "integer"
7839 },
7840 "bps_wr" : {
7841 "description" : "Maximum write speed speed in bytes per second.",
7842 "format_description" : "bps",
7843 "optional" : 1,
7844 "type" : "integer"
7845 },
7846 "cache" : {
7847 "description" : "The drive's cache mode",
7848 "enum" : [
7849 "none",
7850 "writethrough",
7851 "writeback",
7852 "unsafe",
7853 "directsync"
7854 ],
7855 "optional" : 1,
7856 "type" : "string"
7857 },
7858 "cyls" : {
7859 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7860 "optional" : 1,
7861 "type" : "integer"
7862 },
7863 "detect_zeroes" : {
7864 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7865 "optional" : 1,
7866 "type" : "boolean"
7867 },
7868 "discard" : {
7869 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7870 "enum" : [
7871 "ignore",
7872 "on"
7873 ],
7874 "optional" : 1,
7875 "type" : "string"
7876 },
7877 "file" : {
7878 "default_key" : 1,
7879 "description" : "The drive's backing volume.",
7880 "format" : "pve-volume-id-or-qm-path",
7881 "format_description" : "volume",
7882 "type" : "string"
7883 },
7884 "format" : {
7885 "description" : "The drive's backing file's data format.",
7886 "enum" : [
7887 "raw",
7888 "cow",
7889 "qcow",
7890 "qed",
7891 "qcow2",
7892 "vmdk",
7893 "cloop"
7894 ],
7895 "format_description" : "image format",
7896 "optional" : 1,
7897 "type" : "string"
7898 },
7899 "heads" : {
7900 "description" : "Force the drive's physical geometry to have a specific head count.",
7901 "optional" : 1,
7902 "type" : "integer"
7903 },
7904 "iops" : {
7905 "description" : "Maximum r/w I/O speed in operations per second.",
7906 "format_description" : "iops",
7907 "optional" : 1,
7908 "type" : "integer"
7909 },
7910 "iops_max" : {
7911 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
7912 "format_description" : "iops",
7913 "optional" : 1,
7914 "type" : "integer"
7915 },
7916 "iops_rd" : {
7917 "description" : "Maximum read I/O speed in operations per second.",
7918 "format_description" : "iops",
7919 "optional" : 1,
7920 "type" : "integer"
7921 },
7922 "iops_rd_max" : {
7923 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
7924 "format_description" : "iops",
7925 "optional" : 1,
7926 "type" : "integer"
7927 },
7928 "iops_wr" : {
7929 "description" : "Maximum write I/O speed in operations per second.",
7930 "format_description" : "iops",
7931 "optional" : 1,
7932 "type" : "integer"
7933 },
7934 "iops_wr_max" : {
7935 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
7936 "format_description" : "iops",
7937 "optional" : 1,
7938 "type" : "integer"
7939 },
7940 "iothread" : {
7941 "description" : "Whether to use iothreads for this drive",
7942 "optional" : 1,
7943 "type" : "boolean"
7944 },
7945 "mbps" : {
7946 "description" : "Maximum r/w speed speed in megabytes per second.",
7947 "format_description" : "mbps",
7948 "optional" : 1,
7949 "type" : "number"
7950 },
7951 "mbps_max" : {
7952 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
7953 "format_description" : "mbps",
7954 "optional" : 1,
7955 "type" : "number"
7956 },
7957 "mbps_rd" : {
7958 "description" : "Maximum read speed speed in megabytes per second.",
7959 "format_description" : "mbps",
7960 "optional" : 1,
7961 "type" : "number"
7962 },
7963 "mbps_rd_max" : {
7964 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
7965 "format_description" : "mbps",
7966 "optional" : 1,
7967 "type" : "number"
7968 },
7969 "mbps_wr" : {
7970 "description" : "Maximum write speed speed in megabytes per second.",
7971 "format_description" : "mbps",
7972 "optional" : 1,
7973 "type" : "number"
7974 },
7975 "mbps_wr_max" : {
7976 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
7977 "format_description" : "mbps",
7978 "optional" : 1,
7979 "type" : "number"
7980 },
7981 "media" : {
7982 "default" : "disk",
7983 "description" : "The drive's media type.",
7984 "enum" : [
7985 "cdrom",
7986 "disk"
7987 ],
7988 "optional" : 1,
7989 "type" : "string"
7990 },
7991 "queues" : {
7992 "description" : "Number of queues.",
7993 "minimum" : 2,
7994 "optional" : 1,
7995 "type" : "integer"
7996 },
7997 "secs" : {
7998 "description" : "Force the drive's physical geometry to have a specific sector count.",
7999 "optional" : 1,
8000 "type" : "integer"
8001 },
8002 "serial" : {
8003 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8004 "format" : "urlencoded",
8005 "format_description" : "serial",
8006 "maxLength" : 60,
8007 "optional" : 1,
8008 "type" : "string"
8009 },
8010 "size" : {
8011 "description" : "Disk size. This is purely informational and has no effect.",
8012 "format" : "disk-size",
8013 "format_description" : "DiskSize",
8014 "optional" : 1,
8015 "type" : "string"
8016 },
8017 "snapshot" : {
8018 "description" : "Whether the drive should be included when making snapshots.",
8019 "optional" : 1,
8020 "type" : "boolean"
8021 },
8022 "trans" : {
8023 "description" : "Force disk geometry bios translation mode.",
8024 "enum" : [
8025 "none",
8026 "lba",
8027 "auto"
8028 ],
8029 "optional" : 1,
8030 "type" : "string"
8031 },
8032 "volume" : {
8033 "alias" : "file"
8034 },
8035 "werror" : {
8036 "description" : "Write error action.",
8037 "enum" : [
8038 "enospc",
8039 "ignore",
8040 "report",
8041 "stop"
8042 ],
8043 "optional" : 1,
8044 "type" : "string"
8045 }
8046 },
8047 "optional" : 1,
8048 "type" : "string",
8049 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,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>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
8050 },
8051 "scsihw" : {
8052 "default" : "lsi",
8053 "description" : "SCSI controller model",
8054 "enum" : [
8055 "lsi",
8056 "lsi53c810",
8057 "virtio-scsi-pci",
8058 "virtio-scsi-single",
8059 "megasas",
8060 "pvscsi"
8061 ],
8062 "optional" : 1,
8063 "type" : "string"
8064 },
8065 "serial[n]" : {
8066 "description" : "Create a serial device inside the VM (n is 0 to 3)",
8067 "optional" : 1,
8068 "pattern" : "(/dev/.+|socket)",
8069 "type" : "string",
8070 "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"
8071 },
8072 "shares" : {
8073 "default" : 1000,
8074 "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",
8075 "maximum" : 50000,
8076 "minimum" : 0,
8077 "optional" : 1,
8078 "type" : "integer",
8079 "typetext" : "integer (0-50000)"
8080 },
8081 "skiplock" : {
8082 "description" : "Ignore locks - only root is allowed to use this option.",
8083 "optional" : 1,
8084 "type" : "boolean"
8085 },
8086 "smbios1" : {
8087 "description" : "Specify SMBIOS type 1 fields.",
8088 "format" : "pve-qm-smbios1",
8089 "maxLength" : 256,
8090 "optional" : 1,
8091 "type" : "string",
8092 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
8093 },
8094 "smp" : {
8095 "default" : 1,
8096 "description" : "The number of CPUs. Please use option -sockets instead.",
8097 "minimum" : 1,
8098 "optional" : 1,
8099 "type" : "integer",
8100 "typetext" : "integer (1- N)"
8101 },
8102 "sockets" : {
8103 "default" : 1,
8104 "description" : "The number of CPU sockets.",
8105 "minimum" : 1,
8106 "optional" : 1,
8107 "type" : "integer",
8108 "typetext" : "integer (1- N)"
8109 },
8110 "startdate" : {
8111 "default" : "now",
8112 "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'.",
8113 "optional" : 1,
8114 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
8115 "type" : "string",
8116 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
8117 },
8118 "startup" : {
8119 "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.",
8120 "format" : "pve-startup-order",
8121 "optional" : 1,
8122 "type" : "string",
8123 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
8124 },
8125 "tablet" : {
8126 "default" : 1,
8127 "description" : "Enable/disable the USB tablet device.",
8128 "optional" : 1,
8129 "type" : "boolean",
8130 "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)."
8131 },
8132 "tdf" : {
8133 "default" : 0,
8134 "description" : "Enable/disable time drift fix.",
8135 "optional" : 1,
8136 "type" : "boolean"
8137 },
8138 "template" : {
8139 "default" : 0,
8140 "description" : "Enable/disable Template.",
8141 "optional" : 1,
8142 "type" : "boolean"
8143 },
8144 "unused[n]" : {
8145 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
8146 "format" : "pve-volume-id",
8147 "optional" : 1,
8148 "type" : "string"
8149 },
8150 "usb[n]" : {
8151 "description" : "Configure an USB device (n is 0 to 4).",
8152 "format" : {
8153 "host" : {
8154 "default_key" : 1,
8155 "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",
8156 "format" : "pve-qm-usb-device",
8157 "format_description" : "HOSTUSBDEVICE|spice",
8158 "type" : "string"
8159 },
8160 "usb3" : {
8161 "default" : 0,
8162 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
8163 "optional" : 1,
8164 "type" : "boolean"
8165 }
8166 },
8167 "optional" : 1,
8168 "type" : "string",
8169 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
8170 },
8171 "vcpus" : {
8172 "default" : 0,
8173 "description" : "Number of hotplugged vcpus.",
8174 "minimum" : 1,
8175 "optional" : 1,
8176 "type" : "integer",
8177 "typetext" : "integer (1- N)"
8178 },
8179 "vga" : {
8180 "description" : "Select the VGA type.",
8181 "enum" : [
8182 "std",
8183 "cirrus",
8184 "vmware",
8185 "qxl",
8186 "serial0",
8187 "serial1",
8188 "serial2",
8189 "serial3",
8190 "qxl2",
8191 "qxl3",
8192 "qxl4"
8193 ],
8194 "optional" : 1,
8195 "type" : "string",
8196 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
8197 },
8198 "virtio[n]" : {
8199 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
8200 "format" : {
8201 "aio" : {
8202 "description" : "AIO type to use.",
8203 "enum" : [
8204 "native",
8205 "threads"
8206 ],
8207 "optional" : 1,
8208 "type" : "string"
8209 },
8210 "backup" : {
8211 "description" : "Whether the drive should be included when making backups.",
8212 "optional" : 1,
8213 "type" : "boolean"
8214 },
8215 "bps" : {
8216 "description" : "Maximum r/w speed speed in bytes per second.",
8217 "format_description" : "bps",
8218 "optional" : 1,
8219 "type" : "integer"
8220 },
8221 "bps_rd" : {
8222 "description" : "Maximum read speed speed in bytes per second.",
8223 "format_description" : "bps",
8224 "optional" : 1,
8225 "type" : "integer"
8226 },
8227 "bps_wr" : {
8228 "description" : "Maximum write speed speed in bytes per second.",
8229 "format_description" : "bps",
8230 "optional" : 1,
8231 "type" : "integer"
8232 },
8233 "cache" : {
8234 "description" : "The drive's cache mode",
8235 "enum" : [
8236 "none",
8237 "writethrough",
8238 "writeback",
8239 "unsafe",
8240 "directsync"
8241 ],
8242 "optional" : 1,
8243 "type" : "string"
8244 },
8245 "cyls" : {
8246 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
8247 "optional" : 1,
8248 "type" : "integer"
8249 },
8250 "detect_zeroes" : {
8251 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8252 "optional" : 1,
8253 "type" : "boolean"
8254 },
8255 "discard" : {
8256 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8257 "enum" : [
8258 "ignore",
8259 "on"
8260 ],
8261 "optional" : 1,
8262 "type" : "string"
8263 },
8264 "file" : {
8265 "default_key" : 1,
8266 "description" : "The drive's backing volume.",
8267 "format" : "pve-volume-id-or-qm-path",
8268 "format_description" : "volume",
8269 "type" : "string"
8270 },
8271 "format" : {
8272 "description" : "The drive's backing file's data format.",
8273 "enum" : [
8274 "raw",
8275 "cow",
8276 "qcow",
8277 "qed",
8278 "qcow2",
8279 "vmdk",
8280 "cloop"
8281 ],
8282 "format_description" : "image format",
8283 "optional" : 1,
8284 "type" : "string"
8285 },
8286 "heads" : {
8287 "description" : "Force the drive's physical geometry to have a specific head count.",
8288 "optional" : 1,
8289 "type" : "integer"
8290 },
8291 "iops" : {
8292 "description" : "Maximum r/w I/O speed in operations per second.",
8293 "format_description" : "iops",
8294 "optional" : 1,
8295 "type" : "integer"
8296 },
8297 "iops_max" : {
8298 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
8299 "format_description" : "iops",
8300 "optional" : 1,
8301 "type" : "integer"
8302 },
8303 "iops_rd" : {
8304 "description" : "Maximum read I/O speed in operations per second.",
8305 "format_description" : "iops",
8306 "optional" : 1,
8307 "type" : "integer"
8308 },
8309 "iops_rd_max" : {
8310 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
8311 "format_description" : "iops",
8312 "optional" : 1,
8313 "type" : "integer"
8314 },
8315 "iops_wr" : {
8316 "description" : "Maximum write I/O speed in operations per second.",
8317 "format_description" : "iops",
8318 "optional" : 1,
8319 "type" : "integer"
8320 },
8321 "iops_wr_max" : {
8322 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
8323 "format_description" : "iops",
8324 "optional" : 1,
8325 "type" : "integer"
8326 },
8327 "iothread" : {
8328 "description" : "Whether to use iothreads for this drive",
8329 "optional" : 1,
8330 "type" : "boolean"
8331 },
8332 "mbps" : {
8333 "description" : "Maximum r/w speed speed in megabytes per second.",
8334 "format_description" : "mbps",
8335 "optional" : 1,
8336 "type" : "number"
8337 },
8338 "mbps_max" : {
8339 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
8340 "format_description" : "mbps",
8341 "optional" : 1,
8342 "type" : "number"
8343 },
8344 "mbps_rd" : {
8345 "description" : "Maximum read speed speed in megabytes per second.",
8346 "format_description" : "mbps",
8347 "optional" : 1,
8348 "type" : "number"
8349 },
8350 "mbps_rd_max" : {
8351 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
8352 "format_description" : "mbps",
8353 "optional" : 1,
8354 "type" : "number"
8355 },
8356 "mbps_wr" : {
8357 "description" : "Maximum write speed speed in megabytes per second.",
8358 "format_description" : "mbps",
8359 "optional" : 1,
8360 "type" : "number"
8361 },
8362 "mbps_wr_max" : {
8363 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
8364 "format_description" : "mbps",
8365 "optional" : 1,
8366 "type" : "number"
8367 },
8368 "media" : {
8369 "default" : "disk",
8370 "description" : "The drive's media type.",
8371 "enum" : [
8372 "cdrom",
8373 "disk"
8374 ],
8375 "optional" : 1,
8376 "type" : "string"
8377 },
8378 "rerror" : {
8379 "description" : "Read error action.",
8380 "enum" : [
8381 "ignore",
8382 "report",
8383 "stop"
8384 ],
8385 "optional" : 1,
8386 "type" : "string"
8387 },
8388 "secs" : {
8389 "description" : "Force the drive's physical geometry to have a specific sector count.",
8390 "optional" : 1,
8391 "type" : "integer"
8392 },
8393 "serial" : {
8394 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8395 "format" : "urlencoded",
8396 "format_description" : "serial",
8397 "maxLength" : 60,
8398 "optional" : 1,
8399 "type" : "string"
8400 },
8401 "size" : {
8402 "description" : "Disk size. This is purely informational and has no effect.",
8403 "format" : "disk-size",
8404 "format_description" : "DiskSize",
8405 "optional" : 1,
8406 "type" : "string"
8407 },
8408 "snapshot" : {
8409 "description" : "Whether the drive should be included when making snapshots.",
8410 "optional" : 1,
8411 "type" : "boolean"
8412 },
8413 "trans" : {
8414 "description" : "Force disk geometry bios translation mode.",
8415 "enum" : [
8416 "none",
8417 "lba",
8418 "auto"
8419 ],
8420 "optional" : 1,
8421 "type" : "string"
8422 },
8423 "volume" : {
8424 "alias" : "file"
8425 },
8426 "werror" : {
8427 "description" : "Write error action.",
8428 "enum" : [
8429 "enospc",
8430 "ignore",
8431 "report",
8432 "stop"
8433 ],
8434 "optional" : 1,
8435 "type" : "string"
8436 }
8437 },
8438 "optional" : 1,
8439 "type" : "string",
8440 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,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>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
8441 },
8442 "vmid" : {
8443 "description" : "The (unique) ID of the VM.",
8444 "format" : "pve-vmid",
8445 "minimum" : 1,
8446 "type" : "integer",
8447 "typetext" : "integer (1- N)"
8448 },
8449 "watchdog" : {
8450 "description" : "Create a virtual hardware watchdog device.",
8451 "format" : "pve-qm-watchdog",
8452 "optional" : 1,
8453 "type" : "string",
8454 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<reset|shutdown|poweroff|pause|debug|none>]",
8455 "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)"
8456 }
8457 }
8458 },
8459 "permissions" : {
8460 "check" : [
8461 "perm",
8462 "/vms/{vmid}",
8463 [
8464 "VM.Config.Disk",
8465 "VM.Config.CDROM",
8466 "VM.Config.CPU",
8467 "VM.Config.Memory",
8468 "VM.Config.Network",
8469 "VM.Config.HWType",
8470 "VM.Config.Options"
8471 ],
8472 "any",
8473 1
8474 ]
8475 },
8476 "protected" : 1,
8477 "proxyto" : "node",
8478 "returns" : {
8479 "type" : "null"
8480 }
8481 }
8482 },
8483 "leaf" : 1,
8484 "path" : "/nodes/{node}/qemu/{vmid}/config",
8485 "text" : "config"
8486 },
8487 {
8488 "info" : {
8489 "GET" : {
8490 "description" : "Get virtual machine configuration, including pending changes.",
8491 "method" : "GET",
8492 "name" : "vm_pending",
8493 "parameters" : {
8494 "additionalProperties" : 0,
8495 "properties" : {
8496 "node" : {
8497 "description" : "The cluster node name.",
8498 "format" : "pve-node",
8499 "type" : "string"
8500 },
8501 "vmid" : {
8502 "description" : "The (unique) ID of the VM.",
8503 "format" : "pve-vmid",
8504 "minimum" : 1,
8505 "type" : "integer",
8506 "typetext" : "integer (1- N)"
8507 }
8508 }
8509 },
8510 "permissions" : {
8511 "check" : [
8512 "perm",
8513 "/vms/{vmid}",
8514 [
8515 "VM.Audit"
8516 ]
8517 ]
8518 },
8519 "proxyto" : "node",
8520 "returns" : {
8521 "items" : {
8522 "properties" : {
8523 "delete" : {
8524 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
8525 "maximum" : 2,
8526 "minimum" : 0,
8527 "optional" : 1,
8528 "type" : "integer"
8529 },
8530 "key" : {
8531 "description" : "Configuration option name.",
8532 "type" : "string"
8533 },
8534 "pending" : {
8535 "description" : "Pending value.",
8536 "optional" : 1,
8537 "type" : "string"
8538 },
8539 "value" : {
8540 "description" : "Current value.",
8541 "optional" : 1,
8542 "type" : "string"
8543 }
8544 },
8545 "type" : "object"
8546 },
8547 "type" : "array"
8548 }
8549 }
8550 },
8551 "leaf" : 1,
8552 "path" : "/nodes/{node}/qemu/{vmid}/pending",
8553 "text" : "pending"
8554 },
8555 {
8556 "info" : {
8557 "PUT" : {
8558 "description" : "Unlink/delete disk images.",
8559 "method" : "PUT",
8560 "name" : "unlink",
8561 "parameters" : {
8562 "additionalProperties" : 0,
8563 "properties" : {
8564 "force" : {
8565 "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.",
8566 "optional" : 1,
8567 "type" : "boolean"
8568 },
8569 "idlist" : {
8570 "description" : "A list of disk IDs you want to delete.",
8571 "format" : "pve-configid-list",
8572 "type" : "string"
8573 },
8574 "node" : {
8575 "description" : "The cluster node name.",
8576 "format" : "pve-node",
8577 "type" : "string"
8578 },
8579 "vmid" : {
8580 "description" : "The (unique) ID of the VM.",
8581 "format" : "pve-vmid",
8582 "minimum" : 1,
8583 "type" : "integer",
8584 "typetext" : "integer (1- N)"
8585 }
8586 }
8587 },
8588 "permissions" : {
8589 "check" : [
8590 "perm",
8591 "/vms/{vmid}",
8592 [
8593 "VM.Config.Disk"
8594 ]
8595 ]
8596 },
8597 "protected" : 1,
8598 "proxyto" : "node",
8599 "returns" : {
8600 "type" : "null"
8601 }
8602 }
8603 },
8604 "leaf" : 1,
8605 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
8606 "text" : "unlink"
8607 },
8608 {
8609 "info" : {
8610 "POST" : {
8611 "description" : "Creates a TCP VNC proxy connections.",
8612 "method" : "POST",
8613 "name" : "vncproxy",
8614 "parameters" : {
8615 "additionalProperties" : 0,
8616 "properties" : {
8617 "node" : {
8618 "description" : "The cluster node name.",
8619 "format" : "pve-node",
8620 "type" : "string"
8621 },
8622 "vmid" : {
8623 "description" : "The (unique) ID of the VM.",
8624 "format" : "pve-vmid",
8625 "minimum" : 1,
8626 "type" : "integer",
8627 "typetext" : "integer (1- N)"
8628 },
8629 "websocket" : {
8630 "description" : "starts websockify instead of vncproxy",
8631 "optional" : 1,
8632 "type" : "boolean"
8633 }
8634 }
8635 },
8636 "permissions" : {
8637 "check" : [
8638 "perm",
8639 "/vms/{vmid}",
8640 [
8641 "VM.Console"
8642 ]
8643 ]
8644 },
8645 "protected" : 1,
8646 "returns" : {
8647 "additionalProperties" : 0,
8648 "properties" : {
8649 "cert" : {
8650 "type" : "string"
8651 },
8652 "port" : {
8653 "type" : "integer"
8654 },
8655 "ticket" : {
8656 "type" : "string"
8657 },
8658 "upid" : {
8659 "type" : "string"
8660 },
8661 "user" : {
8662 "type" : "string"
8663 }
8664 }
8665 }
8666 }
8667 },
8668 "leaf" : 1,
8669 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
8670 "text" : "vncproxy"
8671 },
8672 {
8673 "info" : {
8674 "GET" : {
8675 "description" : "Opens a weksocket for VNC traffic.",
8676 "method" : "GET",
8677 "name" : "vncwebsocket",
8678 "parameters" : {
8679 "additionalProperties" : 0,
8680 "properties" : {
8681 "node" : {
8682 "description" : "The cluster node name.",
8683 "format" : "pve-node",
8684 "type" : "string"
8685 },
8686 "port" : {
8687 "description" : "Port number returned by previous vncproxy call.",
8688 "maximum" : 5999,
8689 "minimum" : 5900,
8690 "type" : "integer",
8691 "typetext" : "integer (5900-5999)"
8692 },
8693 "vmid" : {
8694 "description" : "The (unique) ID of the VM.",
8695 "format" : "pve-vmid",
8696 "minimum" : 1,
8697 "type" : "integer",
8698 "typetext" : "integer (1- N)"
8699 },
8700 "vncticket" : {
8701 "description" : "Ticket from previous call to vncproxy.",
8702 "maxLength" : 512,
8703 "type" : "string"
8704 }
8705 }
8706 },
8707 "permissions" : {
8708 "check" : [
8709 "perm",
8710 "/vms/{vmid}",
8711 [
8712 "VM.Console"
8713 ]
8714 ],
8715 "description" : "You also need to pass a valid ticket (vncticket)."
8716 },
8717 "returns" : {
8718 "properties" : {
8719 "port" : {
8720 "type" : "string"
8721 }
8722 },
8723 "type" : "object"
8724 }
8725 }
8726 },
8727 "leaf" : 1,
8728 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
8729 "text" : "vncwebsocket"
8730 },
8731 {
8732 "info" : {
8733 "POST" : {
8734 "description" : "Returns a SPICE configuration to connect to the VM.",
8735 "method" : "POST",
8736 "name" : "spiceproxy",
8737 "parameters" : {
8738 "additionalProperties" : 0,
8739 "properties" : {
8740 "node" : {
8741 "description" : "The cluster node name.",
8742 "format" : "pve-node",
8743 "type" : "string"
8744 },
8745 "proxy" : {
8746 "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 resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
8747 "format" : "address",
8748 "optional" : 1,
8749 "type" : "string"
8750 },
8751 "vmid" : {
8752 "description" : "The (unique) ID of the VM.",
8753 "format" : "pve-vmid",
8754 "minimum" : 1,
8755 "type" : "integer",
8756 "typetext" : "integer (1- N)"
8757 }
8758 }
8759 },
8760 "permissions" : {
8761 "check" : [
8762 "perm",
8763 "/vms/{vmid}",
8764 [
8765 "VM.Console"
8766 ]
8767 ]
8768 },
8769 "protected" : 1,
8770 "proxyto" : "node",
8771 "returns" : {
8772 "additionalProperties" : 1,
8773 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
8774 "properties" : {
8775 "host" : {
8776 "type" : "string"
8777 },
8778 "password" : {
8779 "type" : "string"
8780 },
8781 "proxy" : {
8782 "type" : "string"
8783 },
8784 "tls-port" : {
8785 "type" : "integer"
8786 },
8787 "type" : {
8788 "type" : "string"
8789 }
8790 }
8791 }
8792 }
8793 },
8794 "leaf" : 1,
8795 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
8796 "text" : "spiceproxy"
8797 },
8798 {
8799 "children" : [
8800 {
8801 "info" : {
8802 "GET" : {
8803 "description" : "Get virtual machine status.",
8804 "method" : "GET",
8805 "name" : "vm_status",
8806 "parameters" : {
8807 "additionalProperties" : 0,
8808 "properties" : {
8809 "node" : {
8810 "description" : "The cluster node name.",
8811 "format" : "pve-node",
8812 "type" : "string"
8813 },
8814 "vmid" : {
8815 "description" : "The (unique) ID of the VM.",
8816 "format" : "pve-vmid",
8817 "minimum" : 1,
8818 "type" : "integer",
8819 "typetext" : "integer (1- N)"
8820 }
8821 }
8822 },
8823 "permissions" : {
8824 "check" : [
8825 "perm",
8826 "/vms/{vmid}",
8827 [
8828 "VM.Audit"
8829 ]
8830 ]
8831 },
8832 "protected" : 1,
8833 "proxyto" : "node",
8834 "returns" : {
8835 "type" : "object"
8836 }
8837 }
8838 },
8839 "leaf" : 1,
8840 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
8841 "text" : "current"
8842 },
8843 {
8844 "info" : {
8845 "POST" : {
8846 "description" : "Start virtual machine.",
8847 "method" : "POST",
8848 "name" : "vm_start",
8849 "parameters" : {
8850 "additionalProperties" : 0,
8851 "properties" : {
8852 "machine" : {
8853 "description" : "Specific the Qemu machine type.",
8854 "maxLength" : 40,
8855 "optional" : 1,
8856 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
8857 "type" : "string"
8858 },
8859 "migratedfrom" : {
8860 "description" : "The cluster node name.",
8861 "format" : "pve-node",
8862 "optional" : 1,
8863 "type" : "string"
8864 },
8865 "node" : {
8866 "description" : "The cluster node name.",
8867 "format" : "pve-node",
8868 "type" : "string"
8869 },
8870 "skiplock" : {
8871 "description" : "Ignore locks - only root is allowed to use this option.",
8872 "optional" : 1,
8873 "type" : "boolean"
8874 },
8875 "stateuri" : {
8876 "description" : "Some command save/restore state from this location.",
8877 "maxLength" : 128,
8878 "optional" : 1,
8879 "type" : "string"
8880 },
8881 "vmid" : {
8882 "description" : "The (unique) ID of the VM.",
8883 "format" : "pve-vmid",
8884 "minimum" : 1,
8885 "type" : "integer",
8886 "typetext" : "integer (1- N)"
8887 }
8888 }
8889 },
8890 "permissions" : {
8891 "check" : [
8892 "perm",
8893 "/vms/{vmid}",
8894 [
8895 "VM.PowerMgmt"
8896 ]
8897 ]
8898 },
8899 "protected" : 1,
8900 "proxyto" : "node",
8901 "returns" : {
8902 "type" : "string"
8903 }
8904 }
8905 },
8906 "leaf" : 1,
8907 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
8908 "text" : "start"
8909 },
8910 {
8911 "info" : {
8912 "POST" : {
8913 "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",
8914 "method" : "POST",
8915 "name" : "vm_stop",
8916 "parameters" : {
8917 "additionalProperties" : 0,
8918 "properties" : {
8919 "keepActive" : {
8920 "default" : 0,
8921 "description" : "Do not decativate storage volumes.",
8922 "optional" : 1,
8923 "type" : "boolean"
8924 },
8925 "migratedfrom" : {
8926 "description" : "The cluster node name.",
8927 "format" : "pve-node",
8928 "optional" : 1,
8929 "type" : "string"
8930 },
8931 "node" : {
8932 "description" : "The cluster node name.",
8933 "format" : "pve-node",
8934 "type" : "string"
8935 },
8936 "skiplock" : {
8937 "description" : "Ignore locks - only root is allowed to use this option.",
8938 "optional" : 1,
8939 "type" : "boolean"
8940 },
8941 "timeout" : {
8942 "description" : "Wait maximal timeout seconds.",
8943 "minimum" : 0,
8944 "optional" : 1,
8945 "type" : "integer",
8946 "typetext" : "integer (0- N)"
8947 },
8948 "vmid" : {
8949 "description" : "The (unique) ID of the VM.",
8950 "format" : "pve-vmid",
8951 "minimum" : 1,
8952 "type" : "integer",
8953 "typetext" : "integer (1- N)"
8954 }
8955 }
8956 },
8957 "permissions" : {
8958 "check" : [
8959 "perm",
8960 "/vms/{vmid}",
8961 [
8962 "VM.PowerMgmt"
8963 ]
8964 ]
8965 },
8966 "protected" : 1,
8967 "proxyto" : "node",
8968 "returns" : {
8969 "type" : "string"
8970 }
8971 }
8972 },
8973 "leaf" : 1,
8974 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
8975 "text" : "stop"
8976 },
8977 {
8978 "info" : {
8979 "POST" : {
8980 "description" : "Reset virtual machine.",
8981 "method" : "POST",
8982 "name" : "vm_reset",
8983 "parameters" : {
8984 "additionalProperties" : 0,
8985 "properties" : {
8986 "node" : {
8987 "description" : "The cluster node name.",
8988 "format" : "pve-node",
8989 "type" : "string"
8990 },
8991 "skiplock" : {
8992 "description" : "Ignore locks - only root is allowed to use this option.",
8993 "optional" : 1,
8994 "type" : "boolean"
8995 },
8996 "vmid" : {
8997 "description" : "The (unique) ID of the VM.",
8998 "format" : "pve-vmid",
8999 "minimum" : 1,
9000 "type" : "integer",
9001 "typetext" : "integer (1- N)"
9002 }
9003 }
9004 },
9005 "permissions" : {
9006 "check" : [
9007 "perm",
9008 "/vms/{vmid}",
9009 [
9010 "VM.PowerMgmt"
9011 ]
9012 ]
9013 },
9014 "protected" : 1,
9015 "proxyto" : "node",
9016 "returns" : {
9017 "type" : "string"
9018 }
9019 }
9020 },
9021 "leaf" : 1,
9022 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
9023 "text" : "reset"
9024 },
9025 {
9026 "info" : {
9027 "POST" : {
9028 "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.",
9029 "method" : "POST",
9030 "name" : "vm_shutdown",
9031 "parameters" : {
9032 "additionalProperties" : 0,
9033 "properties" : {
9034 "forceStop" : {
9035 "default" : 0,
9036 "description" : "Make sure the VM stops.",
9037 "optional" : 1,
9038 "type" : "boolean"
9039 },
9040 "keepActive" : {
9041 "default" : 0,
9042 "description" : "Do not decativate storage volumes.",
9043 "optional" : 1,
9044 "type" : "boolean"
9045 },
9046 "node" : {
9047 "description" : "The cluster node name.",
9048 "format" : "pve-node",
9049 "type" : "string"
9050 },
9051 "skiplock" : {
9052 "description" : "Ignore locks - only root is allowed to use this option.",
9053 "optional" : 1,
9054 "type" : "boolean"
9055 },
9056 "timeout" : {
9057 "description" : "Wait maximal timeout seconds.",
9058 "minimum" : 0,
9059 "optional" : 1,
9060 "type" : "integer",
9061 "typetext" : "integer (0- N)"
9062 },
9063 "vmid" : {
9064 "description" : "The (unique) ID of the VM.",
9065 "format" : "pve-vmid",
9066 "minimum" : 1,
9067 "type" : "integer",
9068 "typetext" : "integer (1- N)"
9069 }
9070 }
9071 },
9072 "permissions" : {
9073 "check" : [
9074 "perm",
9075 "/vms/{vmid}",
9076 [
9077 "VM.PowerMgmt"
9078 ]
9079 ]
9080 },
9081 "protected" : 1,
9082 "proxyto" : "node",
9083 "returns" : {
9084 "type" : "string"
9085 }
9086 }
9087 },
9088 "leaf" : 1,
9089 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
9090 "text" : "shutdown"
9091 },
9092 {
9093 "info" : {
9094 "POST" : {
9095 "description" : "Suspend virtual machine.",
9096 "method" : "POST",
9097 "name" : "vm_suspend",
9098 "parameters" : {
9099 "additionalProperties" : 0,
9100 "properties" : {
9101 "node" : {
9102 "description" : "The cluster node name.",
9103 "format" : "pve-node",
9104 "type" : "string"
9105 },
9106 "skiplock" : {
9107 "description" : "Ignore locks - only root is allowed to use this option.",
9108 "optional" : 1,
9109 "type" : "boolean"
9110 },
9111 "vmid" : {
9112 "description" : "The (unique) ID of the VM.",
9113 "format" : "pve-vmid",
9114 "minimum" : 1,
9115 "type" : "integer",
9116 "typetext" : "integer (1- N)"
9117 }
9118 }
9119 },
9120 "permissions" : {
9121 "check" : [
9122 "perm",
9123 "/vms/{vmid}",
9124 [
9125 "VM.PowerMgmt"
9126 ]
9127 ]
9128 },
9129 "protected" : 1,
9130 "proxyto" : "node",
9131 "returns" : {
9132 "type" : "string"
9133 }
9134 }
9135 },
9136 "leaf" : 1,
9137 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
9138 "text" : "suspend"
9139 },
9140 {
9141 "info" : {
9142 "POST" : {
9143 "description" : "Resume virtual machine.",
9144 "method" : "POST",
9145 "name" : "vm_resume",
9146 "parameters" : {
9147 "additionalProperties" : 0,
9148 "properties" : {
9149 "nocheck" : {
9150 "optional" : 1,
9151 "type" : "boolean"
9152 },
9153 "node" : {
9154 "description" : "The cluster node name.",
9155 "format" : "pve-node",
9156 "type" : "string"
9157 },
9158 "skiplock" : {
9159 "description" : "Ignore locks - only root is allowed to use this option.",
9160 "optional" : 1,
9161 "type" : "boolean"
9162 },
9163 "vmid" : {
9164 "description" : "The (unique) ID of the VM.",
9165 "format" : "pve-vmid",
9166 "minimum" : 1,
9167 "type" : "integer",
9168 "typetext" : "integer (1- N)"
9169 }
9170 }
9171 },
9172 "permissions" : {
9173 "check" : [
9174 "perm",
9175 "/vms/{vmid}",
9176 [
9177 "VM.PowerMgmt"
9178 ]
9179 ]
9180 },
9181 "protected" : 1,
9182 "proxyto" : "node",
9183 "returns" : {
9184 "type" : "string"
9185 }
9186 }
9187 },
9188 "leaf" : 1,
9189 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
9190 "text" : "resume"
9191 }
9192 ],
9193 "info" : {
9194 "GET" : {
9195 "description" : "Directory index",
9196 "method" : "GET",
9197 "name" : "vmcmdidx",
9198 "parameters" : {
9199 "additionalProperties" : 0,
9200 "properties" : {
9201 "node" : {
9202 "description" : "The cluster node name.",
9203 "format" : "pve-node",
9204 "type" : "string"
9205 },
9206 "vmid" : {
9207 "description" : "The (unique) ID of the VM.",
9208 "format" : "pve-vmid",
9209 "minimum" : 1,
9210 "type" : "integer",
9211 "typetext" : "integer (1- N)"
9212 }
9213 }
9214 },
9215 "permissions" : {
9216 "user" : "all"
9217 },
9218 "proxyto" : "node",
9219 "returns" : {
9220 "items" : {
9221 "properties" : {
9222 "subdir" : {
9223 "type" : "string"
9224 }
9225 },
9226 "type" : "object"
9227 },
9228 "links" : [
9229 {
9230 "href" : "{subdir}",
9231 "rel" : "child"
9232 }
9233 ],
9234 "type" : "array"
9235 }
9236 }
9237 },
9238 "leaf" : 0,
9239 "path" : "/nodes/{node}/qemu/{vmid}/status",
9240 "text" : "status"
9241 },
9242 {
9243 "info" : {
9244 "PUT" : {
9245 "description" : "Send key event to virtual machine.",
9246 "method" : "PUT",
9247 "name" : "vm_sendkey",
9248 "parameters" : {
9249 "additionalProperties" : 0,
9250 "properties" : {
9251 "key" : {
9252 "description" : "The key (qemu monitor encoding).",
9253 "type" : "string"
9254 },
9255 "node" : {
9256 "description" : "The cluster node name.",
9257 "format" : "pve-node",
9258 "type" : "string"
9259 },
9260 "skiplock" : {
9261 "description" : "Ignore locks - only root is allowed to use this option.",
9262 "optional" : 1,
9263 "type" : "boolean"
9264 },
9265 "vmid" : {
9266 "description" : "The (unique) ID of the VM.",
9267 "format" : "pve-vmid",
9268 "minimum" : 1,
9269 "type" : "integer",
9270 "typetext" : "integer (1- N)"
9271 }
9272 }
9273 },
9274 "permissions" : {
9275 "check" : [
9276 "perm",
9277 "/vms/{vmid}",
9278 [
9279 "VM.Console"
9280 ]
9281 ]
9282 },
9283 "protected" : 1,
9284 "proxyto" : "node",
9285 "returns" : {
9286 "type" : "null"
9287 }
9288 }
9289 },
9290 "leaf" : 1,
9291 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
9292 "text" : "sendkey"
9293 },
9294 {
9295 "info" : {
9296 "GET" : {
9297 "description" : "Check if feature for virtual machine is available.",
9298 "method" : "GET",
9299 "name" : "vm_feature",
9300 "parameters" : {
9301 "additionalProperties" : 0,
9302 "properties" : {
9303 "feature" : {
9304 "description" : "Feature to check.",
9305 "enum" : [
9306 "snapshot",
9307 "clone",
9308 "copy"
9309 ],
9310 "type" : "string"
9311 },
9312 "node" : {
9313 "description" : "The cluster node name.",
9314 "format" : "pve-node",
9315 "type" : "string"
9316 },
9317 "snapname" : {
9318 "description" : "The name of the snapshot.",
9319 "format" : "pve-configid",
9320 "maxLength" : 40,
9321 "optional" : 1,
9322 "type" : "string"
9323 },
9324 "vmid" : {
9325 "description" : "The (unique) ID of the VM.",
9326 "format" : "pve-vmid",
9327 "minimum" : 1,
9328 "type" : "integer",
9329 "typetext" : "integer (1- N)"
9330 }
9331 }
9332 },
9333 "permissions" : {
9334 "check" : [
9335 "perm",
9336 "/vms/{vmid}",
9337 [
9338 "VM.Audit"
9339 ]
9340 ]
9341 },
9342 "protected" : 1,
9343 "proxyto" : "node",
9344 "returns" : {
9345 "properties" : {
9346 "hasFeature" : {
9347 "type" : "boolean"
9348 },
9349 "nodes" : {
9350 "items" : {
9351 "type" : "string"
9352 },
9353 "type" : "array"
9354 }
9355 },
9356 "type" : "object"
9357 }
9358 }
9359 },
9360 "leaf" : 1,
9361 "path" : "/nodes/{node}/qemu/{vmid}/feature",
9362 "text" : "feature"
9363 },
9364 {
9365 "info" : {
9366 "POST" : {
9367 "description" : "Create a copy of virtual machine/template.",
9368 "method" : "POST",
9369 "name" : "clone_vm",
9370 "parameters" : {
9371 "additionalProperties" : 0,
9372 "properties" : {
9373 "description" : {
9374 "description" : "Description for the new VM.",
9375 "optional" : 1,
9376 "type" : "string"
9377 },
9378 "format" : {
9379 "description" : "Target format for file storage.",
9380 "enum" : [
9381 "raw",
9382 "qcow2",
9383 "vmdk"
9384 ],
9385 "optional" : 1,
9386 "requires" : "full",
9387 "type" : "string"
9388 },
9389 "full" : {
9390 "default" : 0,
9391 "description" : "Create a full copy of all disk. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
9392 "optional" : 1,
9393 "type" : "boolean"
9394 },
9395 "name" : {
9396 "description" : "Set a name for the new VM.",
9397 "format" : "dns-name",
9398 "optional" : 1,
9399 "type" : "string"
9400 },
9401 "newid" : {
9402 "description" : "VMID for the clone.",
9403 "format" : "pve-vmid",
9404 "minimum" : 1,
9405 "type" : "integer",
9406 "typetext" : "integer (1- N)"
9407 },
9408 "node" : {
9409 "description" : "The cluster node name.",
9410 "format" : "pve-node",
9411 "type" : "string"
9412 },
9413 "pool" : {
9414 "description" : "Add the new VM to the specified pool.",
9415 "format" : "pve-poolid",
9416 "optional" : 1,
9417 "type" : "string"
9418 },
9419 "snapname" : {
9420 "description" : "The name of the snapshot.",
9421 "format" : "pve-configid",
9422 "maxLength" : 40,
9423 "optional" : 1,
9424 "type" : "string"
9425 },
9426 "storage" : {
9427 "description" : "Target storage for full clone.",
9428 "format" : "pve-storage-id",
9429 "optional" : 1,
9430 "requires" : "full",
9431 "type" : "string"
9432 },
9433 "target" : {
9434 "description" : "Target node. Only allowed if the original VM is on shared storage.",
9435 "format" : "pve-node",
9436 "optional" : 1,
9437 "type" : "string"
9438 },
9439 "vmid" : {
9440 "description" : "The (unique) ID of the VM.",
9441 "format" : "pve-vmid",
9442 "minimum" : 1,
9443 "type" : "integer",
9444 "typetext" : "integer (1- N)"
9445 }
9446 }
9447 },
9448 "permissions" : {
9449 "check" : [
9450 "and",
9451 [
9452 "perm",
9453 "/vms/{vmid}",
9454 [
9455 "VM.Clone"
9456 ]
9457 ],
9458 [
9459 "or",
9460 [
9461 "perm",
9462 "/vms/{newid}",
9463 [
9464 "VM.Allocate"
9465 ]
9466 ],
9467 [
9468 "perm",
9469 "/pool/{pool}",
9470 [
9471 "VM.Allocate"
9472 ],
9473 "require_param",
9474 "pool"
9475 ]
9476 ]
9477 ],
9478 "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."
9479 },
9480 "protected" : 1,
9481 "proxyto" : "node",
9482 "returns" : {
9483 "type" : "string"
9484 }
9485 }
9486 },
9487 "leaf" : 1,
9488 "path" : "/nodes/{node}/qemu/{vmid}/clone",
9489 "text" : "clone"
9490 },
9491 {
9492 "info" : {
9493 "POST" : {
9494 "description" : "Move volume to different storage.",
9495 "method" : "POST",
9496 "name" : "move_vm_disk",
9497 "parameters" : {
9498 "additionalProperties" : 0,
9499 "properties" : {
9500 "delete" : {
9501 "default" : 0,
9502 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
9503 "optional" : 1,
9504 "type" : "boolean"
9505 },
9506 "digest" : {
9507 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9508 "maxLength" : 40,
9509 "optional" : 1,
9510 "type" : "string"
9511 },
9512 "disk" : {
9513 "description" : "The disk you want to move.",
9514 "enum" : [
9515 "ide0",
9516 "ide1",
9517 "ide2",
9518 "ide3",
9519 "scsi0",
9520 "scsi1",
9521 "scsi2",
9522 "scsi3",
9523 "scsi4",
9524 "scsi5",
9525 "scsi6",
9526 "scsi7",
9527 "scsi8",
9528 "scsi9",
9529 "scsi10",
9530 "scsi11",
9531 "scsi12",
9532 "scsi13",
9533 "virtio0",
9534 "virtio1",
9535 "virtio2",
9536 "virtio3",
9537 "virtio4",
9538 "virtio5",
9539 "virtio6",
9540 "virtio7",
9541 "virtio8",
9542 "virtio9",
9543 "virtio10",
9544 "virtio11",
9545 "virtio12",
9546 "virtio13",
9547 "virtio14",
9548 "virtio15",
9549 "sata0",
9550 "sata1",
9551 "sata2",
9552 "sata3",
9553 "sata4",
9554 "sata5"
9555 ],
9556 "type" : "string"
9557 },
9558 "format" : {
9559 "description" : "Target Format.",
9560 "enum" : [
9561 "raw",
9562 "qcow2",
9563 "vmdk"
9564 ],
9565 "optional" : 1,
9566 "type" : "string"
9567 },
9568 "node" : {
9569 "description" : "The cluster node name.",
9570 "format" : "pve-node",
9571 "type" : "string"
9572 },
9573 "storage" : {
9574 "description" : "Target storage.",
9575 "format" : "pve-storage-id",
9576 "type" : "string"
9577 },
9578 "vmid" : {
9579 "description" : "The (unique) ID of the VM.",
9580 "format" : "pve-vmid",
9581 "minimum" : 1,
9582 "type" : "integer",
9583 "typetext" : "integer (1- N)"
9584 }
9585 }
9586 },
9587 "permissions" : {
9588 "check" : [
9589 "and",
9590 [
9591 "perm",
9592 "/vms/{vmid}",
9593 [
9594 "VM.Config.Disk"
9595 ]
9596 ],
9597 [
9598 "perm",
9599 "/storage/{storage}",
9600 [
9601 "Datastore.AllocateSpace"
9602 ]
9603 ]
9604 ],
9605 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
9606 },
9607 "protected" : 1,
9608 "proxyto" : "node",
9609 "returns" : {
9610 "description" : "the task ID.",
9611 "type" : "string"
9612 }
9613 }
9614 },
9615 "leaf" : 1,
9616 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
9617 "text" : "move_disk"
9618 },
9619 {
9620 "info" : {
9621 "POST" : {
9622 "description" : "Migrate virtual machine. Creates a new migration task.",
9623 "method" : "POST",
9624 "name" : "migrate_vm",
9625 "parameters" : {
9626 "additionalProperties" : 0,
9627 "properties" : {
9628 "force" : {
9629 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
9630 "optional" : 1,
9631 "type" : "boolean"
9632 },
9633 "node" : {
9634 "description" : "The cluster node name.",
9635 "format" : "pve-node",
9636 "type" : "string"
9637 },
9638 "online" : {
9639 "description" : "Use online/live migration.",
9640 "optional" : 1,
9641 "type" : "boolean"
9642 },
9643 "target" : {
9644 "description" : "Target node.",
9645 "format" : "pve-node",
9646 "type" : "string"
9647 },
9648 "vmid" : {
9649 "description" : "The (unique) ID of the VM.",
9650 "format" : "pve-vmid",
9651 "minimum" : 1,
9652 "type" : "integer",
9653 "typetext" : "integer (1- N)"
9654 }
9655 }
9656 },
9657 "permissions" : {
9658 "check" : [
9659 "perm",
9660 "/vms/{vmid}",
9661 [
9662 "VM.Migrate"
9663 ]
9664 ]
9665 },
9666 "protected" : 1,
9667 "proxyto" : "node",
9668 "returns" : {
9669 "description" : "the task ID.",
9670 "type" : "string"
9671 }
9672 }
9673 },
9674 "leaf" : 1,
9675 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
9676 "text" : "migrate"
9677 },
9678 {
9679 "info" : {
9680 "POST" : {
9681 "description" : "Execute Qemu monitor commands.",
9682 "method" : "POST",
9683 "name" : "monitor",
9684 "parameters" : {
9685 "additionalProperties" : 0,
9686 "properties" : {
9687 "command" : {
9688 "description" : "The monitor command.",
9689 "type" : "string"
9690 },
9691 "node" : {
9692 "description" : "The cluster node name.",
9693 "format" : "pve-node",
9694 "type" : "string"
9695 },
9696 "vmid" : {
9697 "description" : "The (unique) ID of the VM.",
9698 "format" : "pve-vmid",
9699 "minimum" : 1,
9700 "type" : "integer",
9701 "typetext" : "integer (1- N)"
9702 }
9703 }
9704 },
9705 "permissions" : {
9706 "check" : [
9707 "perm",
9708 "/vms/{vmid}",
9709 [
9710 "VM.Monitor"
9711 ]
9712 ]
9713 },
9714 "protected" : 1,
9715 "proxyto" : "node",
9716 "returns" : {
9717 "type" : "string"
9718 }
9719 }
9720 },
9721 "leaf" : 1,
9722 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
9723 "text" : "monitor"
9724 },
9725 {
9726 "info" : {
9727 "PUT" : {
9728 "description" : "Extend volume size.",
9729 "method" : "PUT",
9730 "name" : "resize_vm",
9731 "parameters" : {
9732 "additionalProperties" : 0,
9733 "properties" : {
9734 "digest" : {
9735 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9736 "maxLength" : 40,
9737 "optional" : 1,
9738 "type" : "string"
9739 },
9740 "disk" : {
9741 "description" : "The disk you want to resize.",
9742 "enum" : [
9743 "ide0",
9744 "ide1",
9745 "ide2",
9746 "ide3",
9747 "scsi0",
9748 "scsi1",
9749 "scsi2",
9750 "scsi3",
9751 "scsi4",
9752 "scsi5",
9753 "scsi6",
9754 "scsi7",
9755 "scsi8",
9756 "scsi9",
9757 "scsi10",
9758 "scsi11",
9759 "scsi12",
9760 "scsi13",
9761 "virtio0",
9762 "virtio1",
9763 "virtio2",
9764 "virtio3",
9765 "virtio4",
9766 "virtio5",
9767 "virtio6",
9768 "virtio7",
9769 "virtio8",
9770 "virtio9",
9771 "virtio10",
9772 "virtio11",
9773 "virtio12",
9774 "virtio13",
9775 "virtio14",
9776 "virtio15",
9777 "sata0",
9778 "sata1",
9779 "sata2",
9780 "sata3",
9781 "sata4",
9782 "sata5"
9783 ],
9784 "type" : "string"
9785 },
9786 "node" : {
9787 "description" : "The cluster node name.",
9788 "format" : "pve-node",
9789 "type" : "string"
9790 },
9791 "size" : {
9792 "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.",
9793 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
9794 "type" : "string"
9795 },
9796 "skiplock" : {
9797 "description" : "Ignore locks - only root is allowed to use this option.",
9798 "optional" : 1,
9799 "type" : "boolean"
9800 },
9801 "vmid" : {
9802 "description" : "The (unique) ID of the VM.",
9803 "format" : "pve-vmid",
9804 "minimum" : 1,
9805 "type" : "integer",
9806 "typetext" : "integer (1- N)"
9807 }
9808 }
9809 },
9810 "permissions" : {
9811 "check" : [
9812 "perm",
9813 "/vms/{vmid}",
9814 [
9815 "VM.Config.Disk"
9816 ]
9817 ]
9818 },
9819 "protected" : 1,
9820 "proxyto" : "node",
9821 "returns" : {
9822 "type" : "null"
9823 }
9824 }
9825 },
9826 "leaf" : 1,
9827 "path" : "/nodes/{node}/qemu/{vmid}/resize",
9828 "text" : "resize"
9829 },
9830 {
9831 "children" : [
9832 {
9833 "children" : [
9834 {
9835 "info" : {
9836 "GET" : {
9837 "description" : "Get snapshot configuration",
9838 "method" : "GET",
9839 "name" : "get_snapshot_config",
9840 "parameters" : {
9841 "additionalProperties" : 0,
9842 "properties" : {
9843 "node" : {
9844 "description" : "The cluster node name.",
9845 "format" : "pve-node",
9846 "type" : "string"
9847 },
9848 "snapname" : {
9849 "description" : "The name of the snapshot.",
9850 "format" : "pve-configid",
9851 "maxLength" : 40,
9852 "type" : "string"
9853 },
9854 "vmid" : {
9855 "description" : "The (unique) ID of the VM.",
9856 "format" : "pve-vmid",
9857 "minimum" : 1,
9858 "type" : "integer",
9859 "typetext" : "integer (1- N)"
9860 }
9861 }
9862 },
9863 "permissions" : {
9864 "check" : [
9865 "perm",
9866 "/vms/{vmid}",
9867 [
9868 "VM.Snapshot"
9869 ]
9870 ]
9871 },
9872 "proxyto" : "node",
9873 "returns" : {
9874 "type" : "object"
9875 }
9876 },
9877 "PUT" : {
9878 "description" : "Update snapshot metadata.",
9879 "method" : "PUT",
9880 "name" : "update_snapshot_config",
9881 "parameters" : {
9882 "additionalProperties" : 0,
9883 "properties" : {
9884 "description" : {
9885 "description" : "A textual description or comment.",
9886 "optional" : 1,
9887 "type" : "string"
9888 },
9889 "node" : {
9890 "description" : "The cluster node name.",
9891 "format" : "pve-node",
9892 "type" : "string"
9893 },
9894 "snapname" : {
9895 "description" : "The name of the snapshot.",
9896 "format" : "pve-configid",
9897 "maxLength" : 40,
9898 "type" : "string"
9899 },
9900 "vmid" : {
9901 "description" : "The (unique) ID of the VM.",
9902 "format" : "pve-vmid",
9903 "minimum" : 1,
9904 "type" : "integer",
9905 "typetext" : "integer (1- N)"
9906 }
9907 }
9908 },
9909 "permissions" : {
9910 "check" : [
9911 "perm",
9912 "/vms/{vmid}",
9913 [
9914 "VM.Snapshot"
9915 ]
9916 ]
9917 },
9918 "protected" : 1,
9919 "proxyto" : "node",
9920 "returns" : {
9921 "type" : "null"
9922 }
9923 }
9924 },
9925 "leaf" : 1,
9926 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
9927 "text" : "config"
9928 },
9929 {
9930 "info" : {
9931 "POST" : {
9932 "description" : "Rollback VM state to specified snapshot.",
9933 "method" : "POST",
9934 "name" : "rollback",
9935 "parameters" : {
9936 "additionalProperties" : 0,
9937 "properties" : {
9938 "node" : {
9939 "description" : "The cluster node name.",
9940 "format" : "pve-node",
9941 "type" : "string"
9942 },
9943 "snapname" : {
9944 "description" : "The name of the snapshot.",
9945 "format" : "pve-configid",
9946 "maxLength" : 40,
9947 "type" : "string"
9948 },
9949 "vmid" : {
9950 "description" : "The (unique) ID of the VM.",
9951 "format" : "pve-vmid",
9952 "minimum" : 1,
9953 "type" : "integer",
9954 "typetext" : "integer (1- N)"
9955 }
9956 }
9957 },
9958 "permissions" : {
9959 "check" : [
9960 "perm",
9961 "/vms/{vmid}",
9962 [
9963 "VM.Snapshot"
9964 ]
9965 ]
9966 },
9967 "protected" : 1,
9968 "proxyto" : "node",
9969 "returns" : {
9970 "description" : "the task ID.",
9971 "type" : "string"
9972 }
9973 }
9974 },
9975 "leaf" : 1,
9976 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
9977 "text" : "rollback"
9978 }
9979 ],
9980 "info" : {
9981 "DELETE" : {
9982 "description" : "Delete a VM snapshot.",
9983 "method" : "DELETE",
9984 "name" : "delsnapshot",
9985 "parameters" : {
9986 "additionalProperties" : 0,
9987 "properties" : {
9988 "force" : {
9989 "description" : "For removal from config file, even if removing disk snapshots fails.",
9990 "optional" : 1,
9991 "type" : "boolean"
9992 },
9993 "node" : {
9994 "description" : "The cluster node name.",
9995 "format" : "pve-node",
9996 "type" : "string"
9997 },
9998 "snapname" : {
9999 "description" : "The name of the snapshot.",
10000 "format" : "pve-configid",
10001 "maxLength" : 40,
10002 "type" : "string"
10003 },
10004 "vmid" : {
10005 "description" : "The (unique) ID of the VM.",
10006 "format" : "pve-vmid",
10007 "minimum" : 1,
10008 "type" : "integer",
10009 "typetext" : "integer (1- N)"
10010 }
10011 }
10012 },
10013 "permissions" : {
10014 "check" : [
10015 "perm",
10016 "/vms/{vmid}",
10017 [
10018 "VM.Snapshot"
10019 ]
10020 ]
10021 },
10022 "protected" : 1,
10023 "proxyto" : "node",
10024 "returns" : {
10025 "description" : "the task ID.",
10026 "type" : "string"
10027 }
10028 },
10029 "GET" : {
10030 "description" : "",
10031 "method" : "GET",
10032 "name" : "snapshot_cmd_idx",
10033 "parameters" : {
10034 "additionalProperties" : 0,
10035 "properties" : {
10036 "node" : {
10037 "description" : "The cluster node name.",
10038 "format" : "pve-node",
10039 "type" : "string"
10040 },
10041 "snapname" : {
10042 "description" : "The name of the snapshot.",
10043 "format" : "pve-configid",
10044 "maxLength" : 40,
10045 "type" : "string"
10046 },
10047 "vmid" : {
10048 "description" : "The (unique) ID of the VM.",
10049 "format" : "pve-vmid",
10050 "minimum" : 1,
10051 "type" : "integer",
10052 "typetext" : "integer (1- N)"
10053 }
10054 }
10055 },
10056 "permissions" : {
10057 "user" : "all"
10058 },
10059 "returns" : {
10060 "items" : {
10061 "properties" : {},
10062 "type" : "object"
10063 },
10064 "links" : [
10065 {
10066 "href" : "{cmd}",
10067 "rel" : "child"
10068 }
10069 ],
10070 "type" : "array"
10071 }
10072 }
10073 },
10074 "leaf" : 0,
10075 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
10076 "text" : "{snapname}"
10077 }
10078 ],
10079 "info" : {
10080 "GET" : {
10081 "description" : "List all snapshots.",
10082 "method" : "GET",
10083 "name" : "snapshot_list",
10084 "parameters" : {
10085 "additionalProperties" : 0,
10086 "properties" : {
10087 "node" : {
10088 "description" : "The cluster node name.",
10089 "format" : "pve-node",
10090 "type" : "string"
10091 },
10092 "vmid" : {
10093 "description" : "The (unique) ID of the VM.",
10094 "format" : "pve-vmid",
10095 "minimum" : 1,
10096 "type" : "integer",
10097 "typetext" : "integer (1- N)"
10098 }
10099 }
10100 },
10101 "permissions" : {
10102 "check" : [
10103 "perm",
10104 "/vms/{vmid}",
10105 [
10106 "VM.Audit"
10107 ]
10108 ]
10109 },
10110 "protected" : 1,
10111 "proxyto" : "node",
10112 "returns" : {
10113 "items" : {
10114 "properties" : {},
10115 "type" : "object"
10116 },
10117 "links" : [
10118 {
10119 "href" : "{name}",
10120 "rel" : "child"
10121 }
10122 ],
10123 "type" : "array"
10124 }
10125 },
10126 "POST" : {
10127 "description" : "Snapshot a VM.",
10128 "method" : "POST",
10129 "name" : "snapshot",
10130 "parameters" : {
10131 "additionalProperties" : 0,
10132 "properties" : {
10133 "description" : {
10134 "description" : "A textual description or comment.",
10135 "optional" : 1,
10136 "type" : "string"
10137 },
10138 "node" : {
10139 "description" : "The cluster node name.",
10140 "format" : "pve-node",
10141 "type" : "string"
10142 },
10143 "snapname" : {
10144 "description" : "The name of the snapshot.",
10145 "format" : "pve-configid",
10146 "maxLength" : 40,
10147 "type" : "string"
10148 },
10149 "vmid" : {
10150 "description" : "The (unique) ID of the VM.",
10151 "format" : "pve-vmid",
10152 "minimum" : 1,
10153 "type" : "integer",
10154 "typetext" : "integer (1- N)"
10155 },
10156 "vmstate" : {
10157 "description" : "Save the vmstate",
10158 "optional" : 1,
10159 "type" : "boolean"
10160 }
10161 }
10162 },
10163 "permissions" : {
10164 "check" : [
10165 "perm",
10166 "/vms/{vmid}",
10167 [
10168 "VM.Snapshot"
10169 ]
10170 ]
10171 },
10172 "protected" : 1,
10173 "proxyto" : "node",
10174 "returns" : {
10175 "description" : "the task ID.",
10176 "type" : "string"
10177 }
10178 }
10179 },
10180 "leaf" : 0,
10181 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
10182 "text" : "snapshot"
10183 },
10184 {
10185 "info" : {
10186 "POST" : {
10187 "description" : "Create a Template.",
10188 "method" : "POST",
10189 "name" : "template",
10190 "parameters" : {
10191 "additionalProperties" : 0,
10192 "properties" : {
10193 "disk" : {
10194 "description" : "If you want to convert only 1 disk to base image.",
10195 "enum" : [
10196 "ide0",
10197 "ide1",
10198 "ide2",
10199 "ide3",
10200 "scsi0",
10201 "scsi1",
10202 "scsi2",
10203 "scsi3",
10204 "scsi4",
10205 "scsi5",
10206 "scsi6",
10207 "scsi7",
10208 "scsi8",
10209 "scsi9",
10210 "scsi10",
10211 "scsi11",
10212 "scsi12",
10213 "scsi13",
10214 "virtio0",
10215 "virtio1",
10216 "virtio2",
10217 "virtio3",
10218 "virtio4",
10219 "virtio5",
10220 "virtio6",
10221 "virtio7",
10222 "virtio8",
10223 "virtio9",
10224 "virtio10",
10225 "virtio11",
10226 "virtio12",
10227 "virtio13",
10228 "virtio14",
10229 "virtio15",
10230 "sata0",
10231 "sata1",
10232 "sata2",
10233 "sata3",
10234 "sata4",
10235 "sata5"
10236 ],
10237 "optional" : 1,
10238 "type" : "string"
10239 },
10240 "node" : {
10241 "description" : "The cluster node name.",
10242 "format" : "pve-node",
10243 "type" : "string"
10244 },
10245 "vmid" : {
10246 "description" : "The (unique) ID of the VM.",
10247 "format" : "pve-vmid",
10248 "minimum" : 1,
10249 "type" : "integer",
10250 "typetext" : "integer (1- N)"
10251 }
10252 }
10253 },
10254 "permissions" : {
10255 "check" : [
10256 "perm",
10257 "/vms/{vmid}",
10258 [
10259 "VM.Allocate"
10260 ]
10261 ],
10262 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
10263 },
10264 "protected" : 1,
10265 "proxyto" : "node",
10266 "returns" : {
10267 "type" : "null"
10268 }
10269 }
10270 },
10271 "leaf" : 1,
10272 "path" : "/nodes/{node}/qemu/{vmid}/template",
10273 "text" : "template"
10274 }
10275 ],
10276 "info" : {
10277 "DELETE" : {
10278 "description" : "Destroy the vm (also delete all used/owned volumes).",
10279 "method" : "DELETE",
10280 "name" : "destroy_vm",
10281 "parameters" : {
10282 "additionalProperties" : 0,
10283 "properties" : {
10284 "node" : {
10285 "description" : "The cluster node name.",
10286 "format" : "pve-node",
10287 "type" : "string"
10288 },
10289 "skiplock" : {
10290 "description" : "Ignore locks - only root is allowed to use this option.",
10291 "optional" : 1,
10292 "type" : "boolean"
10293 },
10294 "vmid" : {
10295 "description" : "The (unique) ID of the VM.",
10296 "format" : "pve-vmid",
10297 "minimum" : 1,
10298 "type" : "integer",
10299 "typetext" : "integer (1- N)"
10300 }
10301 }
10302 },
10303 "permissions" : {
10304 "check" : [
10305 "perm",
10306 "/vms/{vmid}",
10307 [
10308 "VM.Allocate"
10309 ]
10310 ]
10311 },
10312 "protected" : 1,
10313 "proxyto" : "node",
10314 "returns" : {
10315 "type" : "string"
10316 }
10317 },
10318 "GET" : {
10319 "description" : "Directory index",
10320 "method" : "GET",
10321 "name" : "vmdiridx",
10322 "parameters" : {
10323 "additionalProperties" : 0,
10324 "properties" : {
10325 "node" : {
10326 "description" : "The cluster node name.",
10327 "format" : "pve-node",
10328 "type" : "string"
10329 },
10330 "vmid" : {
10331 "description" : "The (unique) ID of the VM.",
10332 "format" : "pve-vmid",
10333 "minimum" : 1,
10334 "type" : "integer",
10335 "typetext" : "integer (1- N)"
10336 }
10337 }
10338 },
10339 "permissions" : {
10340 "user" : "all"
10341 },
10342 "proxyto" : "node",
10343 "returns" : {
10344 "items" : {
10345 "properties" : {
10346 "subdir" : {
10347 "type" : "string"
10348 }
10349 },
10350 "type" : "object"
10351 },
10352 "links" : [
10353 {
10354 "href" : "{subdir}",
10355 "rel" : "child"
10356 }
10357 ],
10358 "type" : "array"
10359 }
10360 }
10361 },
10362 "leaf" : 0,
10363 "path" : "/nodes/{node}/qemu/{vmid}",
10364 "text" : "{vmid}"
10365 }
10366 ],
10367 "info" : {
10368 "GET" : {
10369 "description" : "Virtual machine index (per node).",
10370 "method" : "GET",
10371 "name" : "vmlist",
10372 "parameters" : {
10373 "additionalProperties" : 0,
10374 "properties" : {
10375 "full" : {
10376 "description" : "Determine the full status of active VMs.",
10377 "optional" : 1,
10378 "type" : "boolean"
10379 },
10380 "node" : {
10381 "description" : "The cluster node name.",
10382 "format" : "pve-node",
10383 "type" : "string"
10384 }
10385 }
10386 },
10387 "permissions" : {
10388 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
10389 "user" : "all"
10390 },
10391 "protected" : 1,
10392 "proxyto" : "node",
10393 "returns" : {
10394 "items" : {
10395 "properties" : {},
10396 "type" : "object"
10397 },
10398 "links" : [
10399 {
10400 "href" : "{vmid}",
10401 "rel" : "child"
10402 }
10403 ],
10404 "type" : "array"
10405 }
10406 },
10407 "POST" : {
10408 "description" : "Create or restore a virtual machine.",
10409 "method" : "POST",
10410 "name" : "create_vm",
10411 "parameters" : {
10412 "additionalProperties" : 0,
10413 "properties" : {
10414 "acpi" : {
10415 "default" : 1,
10416 "description" : "Enable/disable ACPI.",
10417 "optional" : 1,
10418 "type" : "boolean"
10419 },
10420 "agent" : {
10421 "default" : 0,
10422 "description" : "Enable/disable Qemu GuestAgent.",
10423 "optional" : 1,
10424 "type" : "boolean"
10425 },
10426 "archive" : {
10427 "description" : "The backup file.",
10428 "maxLength" : 255,
10429 "optional" : 1,
10430 "type" : "string"
10431 },
10432 "args" : {
10433 "description" : "Arbitrary arguments passed to kvm.",
10434 "optional" : 1,
10435 "type" : "string",
10436 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
10437 },
10438 "autostart" : {
10439 "default" : 0,
10440 "description" : "Automatic restart after crash (currently ignored).",
10441 "optional" : 1,
10442 "type" : "boolean"
10443 },
10444 "balloon" : {
10445 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10446 "minimum" : 0,
10447 "optional" : 1,
10448 "type" : "integer",
10449 "typetext" : "integer (0- N)"
10450 },
10451 "bios" : {
10452 "default" : "seabios",
10453 "description" : "Select BIOS implementation.",
10454 "enum" : [
10455 "seabios",
10456 "ovmf"
10457 ],
10458 "optional" : 1,
10459 "type" : "string"
10460 },
10461 "boot" : {
10462 "default" : "cdn",
10463 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
10464 "optional" : 1,
10465 "pattern" : "[acdn]{1,4}",
10466 "type" : "string"
10467 },
10468 "bootdisk" : {
10469 "description" : "Enable booting from specified disk.",
10470 "format" : "pve-qm-bootdisk",
10471 "optional" : 1,
10472 "pattern" : "(ide|sata|scsi|virtio)\\d+",
10473 "type" : "string"
10474 },
10475 "cdrom" : {
10476 "description" : "This is an alias for option -ide2",
10477 "format" : "pve-qm-drive",
10478 "optional" : 1,
10479 "type" : "string",
10480 "typetext" : "volume"
10481 },
10482 "cores" : {
10483 "default" : 1,
10484 "description" : "The number of cores per socket.",
10485 "minimum" : 1,
10486 "optional" : 1,
10487 "type" : "integer",
10488 "typetext" : "integer (1- N)"
10489 },
10490 "cpu" : {
10491 "description" : "Emulated CPU type.",
10492 "format" : {
10493 "cputype" : {
10494 "default" : "kvm64",
10495 "default_key" : 1,
10496 "description" : "Emulated CPU type.",
10497 "enum" : [
10498 "486",
10499 "athlon",
10500 "Broadwell",
10501 "Broadwell-noTSX",
10502 "Conroe",
10503 "core2duo",
10504 "coreduo",
10505 "Haswell",
10506 "Haswell-noTSX",
10507 "host",
10508 "IvyBridge",
10509 "kvm32",
10510 "kvm64",
10511 "Nehalem",
10512 "Opteron_G1",
10513 "Opteron_G2",
10514 "Opteron_G3",
10515 "Opteron_G4",
10516 "Opteron_G5",
10517 "Penryn",
10518 "pentium",
10519 "pentium2",
10520 "pentium3",
10521 "phenom",
10522 "qemu32",
10523 "qemu64",
10524 "SandyBridge",
10525 "Westmere"
10526 ],
10527 "format_description" : "cputype",
10528 "type" : "string"
10529 },
10530 "hidden" : {
10531 "default" : 0,
10532 "description" : "Do not identify as a KVM virtual machine.",
10533 "optional" : 1,
10534 "type" : "boolean"
10535 }
10536 },
10537 "optional" : 1,
10538 "type" : "string",
10539 "typetext" : "[cputype=]<cputype> [,hidden=<1|0>]"
10540 },
10541 "cpulimit" : {
10542 "default" : 0,
10543 "description" : "Limit of CPU usage.",
10544 "maximum" : 128,
10545 "minimum" : 0,
10546 "optional" : 1,
10547 "type" : "number",
10548 "typetext" : "number (0-128)",
10549 "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."
10550 },
10551 "cpuunits" : {
10552 "default" : 1000,
10553 "description" : "CPU weight for a VM.",
10554 "maximum" : 500000,
10555 "minimum" : 0,
10556 "optional" : 1,
10557 "type" : "integer",
10558 "typetext" : "integer (0-500000)",
10559 "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
10560 },
10561 "description" : {
10562 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10563 "optional" : 1,
10564 "type" : "string"
10565 },
10566 "force" : {
10567 "description" : "Allow to overwrite existing VM.",
10568 "optional" : 1,
10569 "requires" : "archive",
10570 "type" : "boolean"
10571 },
10572 "freeze" : {
10573 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10574 "optional" : 1,
10575 "type" : "boolean"
10576 },
10577 "hostpci[n]" : {
10578 "description" : "Map host PCI devices into guest.",
10579 "format" : "pve-qm-hostpci",
10580 "optional" : 1,
10581 "type" : "string",
10582 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
10583 "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"
10584 },
10585 "hotplug" : {
10586 "default" : "network,disk,usb",
10587 "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'.",
10588 "format" : "pve-hotplug-features",
10589 "optional" : 1,
10590 "type" : "string"
10591 },
10592 "hugepages" : {
10593 "description" : "Enable/disable hugepages memory.",
10594 "enum" : [
10595 "any",
10596 "2",
10597 "1024"
10598 ],
10599 "optional" : 1,
10600 "type" : "string"
10601 },
10602 "ide[n]" : {
10603 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
10604 "format" : {
10605 "aio" : {
10606 "description" : "AIO type to use.",
10607 "enum" : [
10608 "native",
10609 "threads"
10610 ],
10611 "optional" : 1,
10612 "type" : "string"
10613 },
10614 "backup" : {
10615 "description" : "Whether the drive should be included when making backups.",
10616 "optional" : 1,
10617 "type" : "boolean"
10618 },
10619 "bps" : {
10620 "description" : "Maximum r/w speed speed in bytes per second.",
10621 "format_description" : "bps",
10622 "optional" : 1,
10623 "type" : "integer"
10624 },
10625 "bps_rd" : {
10626 "description" : "Maximum read speed speed in bytes per second.",
10627 "format_description" : "bps",
10628 "optional" : 1,
10629 "type" : "integer"
10630 },
10631 "bps_wr" : {
10632 "description" : "Maximum write speed speed in bytes per second.",
10633 "format_description" : "bps",
10634 "optional" : 1,
10635 "type" : "integer"
10636 },
10637 "cache" : {
10638 "description" : "The drive's cache mode",
10639 "enum" : [
10640 "none",
10641 "writethrough",
10642 "writeback",
10643 "unsafe",
10644 "directsync"
10645 ],
10646 "optional" : 1,
10647 "type" : "string"
10648 },
10649 "cyls" : {
10650 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
10651 "optional" : 1,
10652 "type" : "integer"
10653 },
10654 "detect_zeroes" : {
10655 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10656 "optional" : 1,
10657 "type" : "boolean"
10658 },
10659 "discard" : {
10660 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10661 "enum" : [
10662 "ignore",
10663 "on"
10664 ],
10665 "optional" : 1,
10666 "type" : "string"
10667 },
10668 "file" : {
10669 "default_key" : 1,
10670 "description" : "The drive's backing volume.",
10671 "format" : "pve-volume-id-or-qm-path",
10672 "format_description" : "volume",
10673 "type" : "string"
10674 },
10675 "format" : {
10676 "description" : "The drive's backing file's data format.",
10677 "enum" : [
10678 "raw",
10679 "cow",
10680 "qcow",
10681 "qed",
10682 "qcow2",
10683 "vmdk",
10684 "cloop"
10685 ],
10686 "format_description" : "image format",
10687 "optional" : 1,
10688 "type" : "string"
10689 },
10690 "heads" : {
10691 "description" : "Force the drive's physical geometry to have a specific head count.",
10692 "optional" : 1,
10693 "type" : "integer"
10694 },
10695 "iops" : {
10696 "description" : "Maximum r/w I/O speed in operations per second.",
10697 "format_description" : "iops",
10698 "optional" : 1,
10699 "type" : "integer"
10700 },
10701 "iops_max" : {
10702 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
10703 "format_description" : "iops",
10704 "optional" : 1,
10705 "type" : "integer"
10706 },
10707 "iops_rd" : {
10708 "description" : "Maximum read I/O speed in operations per second.",
10709 "format_description" : "iops",
10710 "optional" : 1,
10711 "type" : "integer"
10712 },
10713 "iops_rd_max" : {
10714 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
10715 "format_description" : "iops",
10716 "optional" : 1,
10717 "type" : "integer"
10718 },
10719 "iops_wr" : {
10720 "description" : "Maximum write I/O speed in operations per second.",
10721 "format_description" : "iops",
10722 "optional" : 1,
10723 "type" : "integer"
10724 },
10725 "iops_wr_max" : {
10726 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
10727 "format_description" : "iops",
10728 "optional" : 1,
10729 "type" : "integer"
10730 },
10731 "mbps" : {
10732 "description" : "Maximum r/w speed speed in megabytes per second.",
10733 "format_description" : "mbps",
10734 "optional" : 1,
10735 "type" : "number"
10736 },
10737 "mbps_max" : {
10738 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
10739 "format_description" : "mbps",
10740 "optional" : 1,
10741 "type" : "number"
10742 },
10743 "mbps_rd" : {
10744 "description" : "Maximum read speed speed in megabytes per second.",
10745 "format_description" : "mbps",
10746 "optional" : 1,
10747 "type" : "number"
10748 },
10749 "mbps_rd_max" : {
10750 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
10751 "format_description" : "mbps",
10752 "optional" : 1,
10753 "type" : "number"
10754 },
10755 "mbps_wr" : {
10756 "description" : "Maximum write speed speed in megabytes per second.",
10757 "format_description" : "mbps",
10758 "optional" : 1,
10759 "type" : "number"
10760 },
10761 "mbps_wr_max" : {
10762 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
10763 "format_description" : "mbps",
10764 "optional" : 1,
10765 "type" : "number"
10766 },
10767 "media" : {
10768 "default" : "disk",
10769 "description" : "The drive's media type.",
10770 "enum" : [
10771 "cdrom",
10772 "disk"
10773 ],
10774 "optional" : 1,
10775 "type" : "string"
10776 },
10777 "model" : {
10778 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
10779 "format" : "urlencoded",
10780 "format_description" : "model",
10781 "maxLength" : 120,
10782 "optional" : 1,
10783 "type" : "string"
10784 },
10785 "rerror" : {
10786 "description" : "Read error action.",
10787 "enum" : [
10788 "ignore",
10789 "report",
10790 "stop"
10791 ],
10792 "optional" : 1,
10793 "type" : "string"
10794 },
10795 "secs" : {
10796 "description" : "Force the drive's physical geometry to have a specific sector count.",
10797 "optional" : 1,
10798 "type" : "integer"
10799 },
10800 "serial" : {
10801 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10802 "format" : "urlencoded",
10803 "format_description" : "serial",
10804 "maxLength" : 60,
10805 "optional" : 1,
10806 "type" : "string"
10807 },
10808 "size" : {
10809 "description" : "Disk size. This is purely informational and has no effect.",
10810 "format" : "disk-size",
10811 "format_description" : "DiskSize",
10812 "optional" : 1,
10813 "type" : "string"
10814 },
10815 "snapshot" : {
10816 "description" : "Whether the drive should be included when making snapshots.",
10817 "optional" : 1,
10818 "type" : "boolean"
10819 },
10820 "trans" : {
10821 "description" : "Force disk geometry bios translation mode.",
10822 "enum" : [
10823 "none",
10824 "lba",
10825 "auto"
10826 ],
10827 "optional" : 1,
10828 "type" : "string"
10829 },
10830 "volume" : {
10831 "alias" : "file"
10832 },
10833 "werror" : {
10834 "description" : "Write error action.",
10835 "enum" : [
10836 "enospc",
10837 "ignore",
10838 "report",
10839 "stop"
10840 ],
10841 "optional" : 1,
10842 "type" : "string"
10843 }
10844 },
10845 "optional" : 1,
10846 "type" : "string",
10847 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
10848 },
10849 "keyboard" : {
10850 "default" : "en-us",
10851 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
10852 "enum" : [
10853 "de",
10854 "de-ch",
10855 "da",
10856 "en-gb",
10857 "en-us",
10858 "es",
10859 "fi",
10860 "fr",
10861 "fr-be",
10862 "fr-ca",
10863 "fr-ch",
10864 "hu",
10865 "is",
10866 "it",
10867 "ja",
10868 "lt",
10869 "mk",
10870 "nl",
10871 "no",
10872 "pl",
10873 "pt",
10874 "pt-br",
10875 "sv",
10876 "sl",
10877 "tr"
10878 ],
10879 "optional" : 1,
10880 "type" : "string"
10881 },
10882 "kvm" : {
10883 "default" : 1,
10884 "description" : "Enable/disable KVM hardware virtualization.",
10885 "optional" : 1,
10886 "type" : "boolean"
10887 },
10888 "localtime" : {
10889 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
10890 "optional" : 1,
10891 "type" : "boolean"
10892 },
10893 "lock" : {
10894 "description" : "Lock/unlock the VM.",
10895 "enum" : [
10896 "migrate",
10897 "backup",
10898 "snapshot",
10899 "rollback"
10900 ],
10901 "optional" : 1,
10902 "type" : "string"
10903 },
10904 "machine" : {
10905 "description" : "Specific the Qemu machine type.",
10906 "maxLength" : 40,
10907 "optional" : 1,
10908 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
10909 "type" : "string"
10910 },
10911 "memory" : {
10912 "default" : 512,
10913 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
10914 "minimum" : 16,
10915 "optional" : 1,
10916 "type" : "integer",
10917 "typetext" : "integer (16- N)"
10918 },
10919 "migrate_downtime" : {
10920 "default" : 0.1,
10921 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
10922 "minimum" : 0,
10923 "optional" : 1,
10924 "type" : "number",
10925 "typetext" : "number (0- N)"
10926 },
10927 "migrate_speed" : {
10928 "default" : 0,
10929 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
10930 "minimum" : 0,
10931 "optional" : 1,
10932 "type" : "integer",
10933 "typetext" : "integer (0- N)"
10934 },
10935 "name" : {
10936 "description" : "Set a name for the VM. Only used on the configuration web interface.",
10937 "format" : "dns-name",
10938 "optional" : 1,
10939 "type" : "string"
10940 },
10941 "net[n]" : {
10942 "description" : "Specify network devices.",
10943 "format" : {
10944 "bridge" : {
10945 "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",
10946 "format_description" : "bridge",
10947 "optional" : 1,
10948 "type" : "string"
10949 },
10950 "e1000" : {
10951 "alias" : "macaddr",
10952 "keyAlias" : "model"
10953 },
10954 "e1000-82540em" : {
10955 "alias" : "macaddr",
10956 "keyAlias" : "model"
10957 },
10958 "e1000-82544gc" : {
10959 "alias" : "macaddr",
10960 "keyAlias" : "model"
10961 },
10962 "e1000-82545em" : {
10963 "alias" : "macaddr",
10964 "keyAlias" : "model"
10965 },
10966 "firewall" : {
10967 "description" : "Whether this interface should be protected by the firewall.",
10968 "optional" : 1,
10969 "type" : "boolean"
10970 },
10971 "i82551" : {
10972 "alias" : "macaddr",
10973 "keyAlias" : "model"
10974 },
10975 "i82557b" : {
10976 "alias" : "macaddr",
10977 "keyAlias" : "model"
10978 },
10979 "i82559er" : {
10980 "alias" : "macaddr",
10981 "keyAlias" : "model"
10982 },
10983 "link_down" : {
10984 "description" : "Whether this interface should be disconnected (like pulling the plug).",
10985 "optional" : 1,
10986 "type" : "boolean"
10987 },
10988 "macaddr" : {
10989 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
10990 "format_description" : "XX:XX:XX:XX:XX:XX",
10991 "optional" : 1,
10992 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
10993 "type" : "string"
10994 },
10995 "model" : {
10996 "default_key" : 1,
10997 "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'.",
10998 "enum" : [
10999 "rtl8139",
11000 "ne2k_pci",
11001 "e1000",
11002 "pcnet",
11003 "virtio",
11004 "ne2k_isa",
11005 "i82551",
11006 "i82557b",
11007 "i82559er",
11008 "vmxnet3",
11009 "e1000-82540em",
11010 "e1000-82544gc",
11011 "e1000-82545em"
11012 ],
11013 "format_description" : "model",
11014 "type" : "string"
11015 },
11016 "ne2k_isa" : {
11017 "alias" : "macaddr",
11018 "keyAlias" : "model"
11019 },
11020 "ne2k_pci" : {
11021 "alias" : "macaddr",
11022 "keyAlias" : "model"
11023 },
11024 "pcnet" : {
11025 "alias" : "macaddr",
11026 "keyAlias" : "model"
11027 },
11028 "queues" : {
11029 "description" : "Number of packet queues to be used on the device.",
11030 "maximum" : 16,
11031 "minimum" : 0,
11032 "optional" : 1,
11033 "type" : "integer"
11034 },
11035 "rate" : {
11036 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
11037 "minimum" : 0,
11038 "optional" : 1,
11039 "type" : "number"
11040 },
11041 "rtl8139" : {
11042 "alias" : "macaddr",
11043 "keyAlias" : "model"
11044 },
11045 "tag" : {
11046 "description" : "VLAN tag to apply to packets on this interface.",
11047 "maximum" : 4094,
11048 "minimum" : 1,
11049 "optional" : 1,
11050 "type" : "integer"
11051 },
11052 "trunks" : {
11053 "description" : "VLAN trunks to pass through this interface.",
11054 "format_description" : "vlanid[;vlanid...]",
11055 "optional" : 1,
11056 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11057 "type" : "string"
11058 },
11059 "virtio" : {
11060 "alias" : "macaddr",
11061 "keyAlias" : "model"
11062 },
11063 "vmxnet3" : {
11064 "alias" : "macaddr",
11065 "keyAlias" : "model"
11066 }
11067 },
11068 "optional" : 1,
11069 "type" : "string",
11070 "typetext" : "[model=]<model> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
11071 },
11072 "node" : {
11073 "description" : "The cluster node name.",
11074 "format" : "pve-node",
11075 "type" : "string"
11076 },
11077 "numa" : {
11078 "default" : 0,
11079 "description" : "Enable/disable NUMA.",
11080 "optional" : 1,
11081 "type" : "boolean"
11082 },
11083 "numa[n]" : {
11084 "description" : "NUMA topology.",
11085 "format" : {
11086 "cpus" : {
11087 "description" : "CPUs accessing this NUMA node.",
11088 "format_description" : "id[-id];...",
11089 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11090 "type" : "string"
11091 },
11092 "hostnodes" : {
11093 "description" : "Host NUMA nodes to use.",
11094 "format_description" : "id[-id];...",
11095 "optional" : 1,
11096 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11097 "type" : "string"
11098 },
11099 "memory" : {
11100 "description" : "Amount of memory this NUMA node provides.",
11101 "optional" : 1,
11102 "type" : "number"
11103 },
11104 "policy" : {
11105 "description" : "NUMA allocation policy.",
11106 "enum" : [
11107 "preferred",
11108 "bind",
11109 "interleave"
11110 ],
11111 "optional" : 1,
11112 "type" : "string"
11113 }
11114 },
11115 "optional" : 1,
11116 "type" : "string",
11117 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
11118 },
11119 "onboot" : {
11120 "default" : 0,
11121 "description" : "Specifies whether a VM will be started during system bootup.",
11122 "optional" : 1,
11123 "type" : "boolean"
11124 },
11125 "ostype" : {
11126 "description" : "Specify guest operating system.",
11127 "enum" : [
11128 "other",
11129 "wxp",
11130 "w2k",
11131 "w2k3",
11132 "w2k8",
11133 "wvista",
11134 "win7",
11135 "win8",
11136 "l24",
11137 "l26",
11138 "solaris"
11139 ],
11140 "optional" : 1,
11141 "type" : "string",
11142 "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
11143 },
11144 "parallel[n]" : {
11145 "description" : "Map host parallel devices (n is 0 to 2).",
11146 "optional" : 1,
11147 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
11148 "type" : "string",
11149 "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"
11150 },
11151 "pool" : {
11152 "description" : "Add the VM to the specified pool.",
11153 "format" : "pve-poolid",
11154 "optional" : 1,
11155 "type" : "string"
11156 },
11157 "protection" : {
11158 "default" : 0,
11159 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
11160 "optional" : 1,
11161 "type" : "boolean"
11162 },
11163 "reboot" : {
11164 "default" : 1,
11165 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
11166 "optional" : 1,
11167 "type" : "boolean"
11168 },
11169 "sata[n]" : {
11170 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
11171 "format" : {
11172 "aio" : {
11173 "description" : "AIO type to use.",
11174 "enum" : [
11175 "native",
11176 "threads"
11177 ],
11178 "optional" : 1,
11179 "type" : "string"
11180 },
11181 "backup" : {
11182 "description" : "Whether the drive should be included when making backups.",
11183 "optional" : 1,
11184 "type" : "boolean"
11185 },
11186 "bps" : {
11187 "description" : "Maximum r/w speed speed in bytes per second.",
11188 "format_description" : "bps",
11189 "optional" : 1,
11190 "type" : "integer"
11191 },
11192 "bps_rd" : {
11193 "description" : "Maximum read speed speed in bytes per second.",
11194 "format_description" : "bps",
11195 "optional" : 1,
11196 "type" : "integer"
11197 },
11198 "bps_wr" : {
11199 "description" : "Maximum write speed speed in bytes per second.",
11200 "format_description" : "bps",
11201 "optional" : 1,
11202 "type" : "integer"
11203 },
11204 "cache" : {
11205 "description" : "The drive's cache mode",
11206 "enum" : [
11207 "none",
11208 "writethrough",
11209 "writeback",
11210 "unsafe",
11211 "directsync"
11212 ],
11213 "optional" : 1,
11214 "type" : "string"
11215 },
11216 "cyls" : {
11217 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
11218 "optional" : 1,
11219 "type" : "integer"
11220 },
11221 "detect_zeroes" : {
11222 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11223 "optional" : 1,
11224 "type" : "boolean"
11225 },
11226 "discard" : {
11227 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11228 "enum" : [
11229 "ignore",
11230 "on"
11231 ],
11232 "optional" : 1,
11233 "type" : "string"
11234 },
11235 "file" : {
11236 "default_key" : 1,
11237 "description" : "The drive's backing volume.",
11238 "format" : "pve-volume-id-or-qm-path",
11239 "format_description" : "volume",
11240 "type" : "string"
11241 },
11242 "format" : {
11243 "description" : "The drive's backing file's data format.",
11244 "enum" : [
11245 "raw",
11246 "cow",
11247 "qcow",
11248 "qed",
11249 "qcow2",
11250 "vmdk",
11251 "cloop"
11252 ],
11253 "format_description" : "image format",
11254 "optional" : 1,
11255 "type" : "string"
11256 },
11257 "heads" : {
11258 "description" : "Force the drive's physical geometry to have a specific head count.",
11259 "optional" : 1,
11260 "type" : "integer"
11261 },
11262 "iops" : {
11263 "description" : "Maximum r/w I/O speed in operations per second.",
11264 "format_description" : "iops",
11265 "optional" : 1,
11266 "type" : "integer"
11267 },
11268 "iops_max" : {
11269 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
11270 "format_description" : "iops",
11271 "optional" : 1,
11272 "type" : "integer"
11273 },
11274 "iops_rd" : {
11275 "description" : "Maximum read I/O speed in operations per second.",
11276 "format_description" : "iops",
11277 "optional" : 1,
11278 "type" : "integer"
11279 },
11280 "iops_rd_max" : {
11281 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
11282 "format_description" : "iops",
11283 "optional" : 1,
11284 "type" : "integer"
11285 },
11286 "iops_wr" : {
11287 "description" : "Maximum write I/O speed in operations per second.",
11288 "format_description" : "iops",
11289 "optional" : 1,
11290 "type" : "integer"
11291 },
11292 "iops_wr_max" : {
11293 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
11294 "format_description" : "iops",
11295 "optional" : 1,
11296 "type" : "integer"
11297 },
11298 "mbps" : {
11299 "description" : "Maximum r/w speed speed in megabytes per second.",
11300 "format_description" : "mbps",
11301 "optional" : 1,
11302 "type" : "number"
11303 },
11304 "mbps_max" : {
11305 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
11306 "format_description" : "mbps",
11307 "optional" : 1,
11308 "type" : "number"
11309 },
11310 "mbps_rd" : {
11311 "description" : "Maximum read speed speed in megabytes per second.",
11312 "format_description" : "mbps",
11313 "optional" : 1,
11314 "type" : "number"
11315 },
11316 "mbps_rd_max" : {
11317 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
11318 "format_description" : "mbps",
11319 "optional" : 1,
11320 "type" : "number"
11321 },
11322 "mbps_wr" : {
11323 "description" : "Maximum write speed speed in megabytes per second.",
11324 "format_description" : "mbps",
11325 "optional" : 1,
11326 "type" : "number"
11327 },
11328 "mbps_wr_max" : {
11329 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
11330 "format_description" : "mbps",
11331 "optional" : 1,
11332 "type" : "number"
11333 },
11334 "media" : {
11335 "default" : "disk",
11336 "description" : "The drive's media type.",
11337 "enum" : [
11338 "cdrom",
11339 "disk"
11340 ],
11341 "optional" : 1,
11342 "type" : "string"
11343 },
11344 "rerror" : {
11345 "description" : "Read error action.",
11346 "enum" : [
11347 "ignore",
11348 "report",
11349 "stop"
11350 ],
11351 "optional" : 1,
11352 "type" : "string"
11353 },
11354 "secs" : {
11355 "description" : "Force the drive's physical geometry to have a specific sector count.",
11356 "optional" : 1,
11357 "type" : "integer"
11358 },
11359 "serial" : {
11360 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11361 "format" : "urlencoded",
11362 "format_description" : "serial",
11363 "maxLength" : 60,
11364 "optional" : 1,
11365 "type" : "string"
11366 },
11367 "size" : {
11368 "description" : "Disk size. This is purely informational and has no effect.",
11369 "format" : "disk-size",
11370 "format_description" : "DiskSize",
11371 "optional" : 1,
11372 "type" : "string"
11373 },
11374 "snapshot" : {
11375 "description" : "Whether the drive should be included when making snapshots.",
11376 "optional" : 1,
11377 "type" : "boolean"
11378 },
11379 "trans" : {
11380 "description" : "Force disk geometry bios translation mode.",
11381 "enum" : [
11382 "none",
11383 "lba",
11384 "auto"
11385 ],
11386 "optional" : 1,
11387 "type" : "string"
11388 },
11389 "volume" : {
11390 "alias" : "file"
11391 },
11392 "werror" : {
11393 "description" : "Write error action.",
11394 "enum" : [
11395 "enospc",
11396 "ignore",
11397 "report",
11398 "stop"
11399 ],
11400 "optional" : 1,
11401 "type" : "string"
11402 }
11403 },
11404 "optional" : 1,
11405 "type" : "string",
11406 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
11407 },
11408 "scsi[n]" : {
11409 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11410 "format" : {
11411 "aio" : {
11412 "description" : "AIO type to use.",
11413 "enum" : [
11414 "native",
11415 "threads"
11416 ],
11417 "optional" : 1,
11418 "type" : "string"
11419 },
11420 "backup" : {
11421 "description" : "Whether the drive should be included when making backups.",
11422 "optional" : 1,
11423 "type" : "boolean"
11424 },
11425 "bps" : {
11426 "description" : "Maximum r/w speed speed in bytes per second.",
11427 "format_description" : "bps",
11428 "optional" : 1,
11429 "type" : "integer"
11430 },
11431 "bps_rd" : {
11432 "description" : "Maximum read speed speed in bytes per second.",
11433 "format_description" : "bps",
11434 "optional" : 1,
11435 "type" : "integer"
11436 },
11437 "bps_wr" : {
11438 "description" : "Maximum write speed speed in bytes per second.",
11439 "format_description" : "bps",
11440 "optional" : 1,
11441 "type" : "integer"
11442 },
11443 "cache" : {
11444 "description" : "The drive's cache mode",
11445 "enum" : [
11446 "none",
11447 "writethrough",
11448 "writeback",
11449 "unsafe",
11450 "directsync"
11451 ],
11452 "optional" : 1,
11453 "type" : "string"
11454 },
11455 "cyls" : {
11456 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
11457 "optional" : 1,
11458 "type" : "integer"
11459 },
11460 "detect_zeroes" : {
11461 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11462 "optional" : 1,
11463 "type" : "boolean"
11464 },
11465 "discard" : {
11466 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11467 "enum" : [
11468 "ignore",
11469 "on"
11470 ],
11471 "optional" : 1,
11472 "type" : "string"
11473 },
11474 "file" : {
11475 "default_key" : 1,
11476 "description" : "The drive's backing volume.",
11477 "format" : "pve-volume-id-or-qm-path",
11478 "format_description" : "volume",
11479 "type" : "string"
11480 },
11481 "format" : {
11482 "description" : "The drive's backing file's data format.",
11483 "enum" : [
11484 "raw",
11485 "cow",
11486 "qcow",
11487 "qed",
11488 "qcow2",
11489 "vmdk",
11490 "cloop"
11491 ],
11492 "format_description" : "image format",
11493 "optional" : 1,
11494 "type" : "string"
11495 },
11496 "heads" : {
11497 "description" : "Force the drive's physical geometry to have a specific head count.",
11498 "optional" : 1,
11499 "type" : "integer"
11500 },
11501 "iops" : {
11502 "description" : "Maximum r/w I/O speed in operations per second.",
11503 "format_description" : "iops",
11504 "optional" : 1,
11505 "type" : "integer"
11506 },
11507 "iops_max" : {
11508 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
11509 "format_description" : "iops",
11510 "optional" : 1,
11511 "type" : "integer"
11512 },
11513 "iops_rd" : {
11514 "description" : "Maximum read I/O speed in operations per second.",
11515 "format_description" : "iops",
11516 "optional" : 1,
11517 "type" : "integer"
11518 },
11519 "iops_rd_max" : {
11520 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
11521 "format_description" : "iops",
11522 "optional" : 1,
11523 "type" : "integer"
11524 },
11525 "iops_wr" : {
11526 "description" : "Maximum write I/O speed in operations per second.",
11527 "format_description" : "iops",
11528 "optional" : 1,
11529 "type" : "integer"
11530 },
11531 "iops_wr_max" : {
11532 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
11533 "format_description" : "iops",
11534 "optional" : 1,
11535 "type" : "integer"
11536 },
11537 "iothread" : {
11538 "description" : "Whether to use iothreads for this drive",
11539 "optional" : 1,
11540 "type" : "boolean"
11541 },
11542 "mbps" : {
11543 "description" : "Maximum r/w speed speed in megabytes per second.",
11544 "format_description" : "mbps",
11545 "optional" : 1,
11546 "type" : "number"
11547 },
11548 "mbps_max" : {
11549 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
11550 "format_description" : "mbps",
11551 "optional" : 1,
11552 "type" : "number"
11553 },
11554 "mbps_rd" : {
11555 "description" : "Maximum read speed speed in megabytes per second.",
11556 "format_description" : "mbps",
11557 "optional" : 1,
11558 "type" : "number"
11559 },
11560 "mbps_rd_max" : {
11561 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
11562 "format_description" : "mbps",
11563 "optional" : 1,
11564 "type" : "number"
11565 },
11566 "mbps_wr" : {
11567 "description" : "Maximum write speed speed in megabytes per second.",
11568 "format_description" : "mbps",
11569 "optional" : 1,
11570 "type" : "number"
11571 },
11572 "mbps_wr_max" : {
11573 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
11574 "format_description" : "mbps",
11575 "optional" : 1,
11576 "type" : "number"
11577 },
11578 "media" : {
11579 "default" : "disk",
11580 "description" : "The drive's media type.",
11581 "enum" : [
11582 "cdrom",
11583 "disk"
11584 ],
11585 "optional" : 1,
11586 "type" : "string"
11587 },
11588 "queues" : {
11589 "description" : "Number of queues.",
11590 "minimum" : 2,
11591 "optional" : 1,
11592 "type" : "integer"
11593 },
11594 "secs" : {
11595 "description" : "Force the drive's physical geometry to have a specific sector count.",
11596 "optional" : 1,
11597 "type" : "integer"
11598 },
11599 "serial" : {
11600 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11601 "format" : "urlencoded",
11602 "format_description" : "serial",
11603 "maxLength" : 60,
11604 "optional" : 1,
11605 "type" : "string"
11606 },
11607 "size" : {
11608 "description" : "Disk size. This is purely informational and has no effect.",
11609 "format" : "disk-size",
11610 "format_description" : "DiskSize",
11611 "optional" : 1,
11612 "type" : "string"
11613 },
11614 "snapshot" : {
11615 "description" : "Whether the drive should be included when making snapshots.",
11616 "optional" : 1,
11617 "type" : "boolean"
11618 },
11619 "trans" : {
11620 "description" : "Force disk geometry bios translation mode.",
11621 "enum" : [
11622 "none",
11623 "lba",
11624 "auto"
11625 ],
11626 "optional" : 1,
11627 "type" : "string"
11628 },
11629 "volume" : {
11630 "alias" : "file"
11631 },
11632 "werror" : {
11633 "description" : "Write error action.",
11634 "enum" : [
11635 "enospc",
11636 "ignore",
11637 "report",
11638 "stop"
11639 ],
11640 "optional" : 1,
11641 "type" : "string"
11642 }
11643 },
11644 "optional" : 1,
11645 "type" : "string",
11646 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,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>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
11647 },
11648 "scsihw" : {
11649 "default" : "lsi",
11650 "description" : "SCSI controller model",
11651 "enum" : [
11652 "lsi",
11653 "lsi53c810",
11654 "virtio-scsi-pci",
11655 "virtio-scsi-single",
11656 "megasas",
11657 "pvscsi"
11658 ],
11659 "optional" : 1,
11660 "type" : "string"
11661 },
11662 "serial[n]" : {
11663 "description" : "Create a serial device inside the VM (n is 0 to 3)",
11664 "optional" : 1,
11665 "pattern" : "(/dev/.+|socket)",
11666 "type" : "string",
11667 "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"
11668 },
11669 "shares" : {
11670 "default" : 1000,
11671 "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",
11672 "maximum" : 50000,
11673 "minimum" : 0,
11674 "optional" : 1,
11675 "type" : "integer",
11676 "typetext" : "integer (0-50000)"
11677 },
11678 "smbios1" : {
11679 "description" : "Specify SMBIOS type 1 fields.",
11680 "format" : "pve-qm-smbios1",
11681 "maxLength" : 256,
11682 "optional" : 1,
11683 "type" : "string",
11684 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
11685 },
11686 "smp" : {
11687 "default" : 1,
11688 "description" : "The number of CPUs. Please use option -sockets instead.",
11689 "minimum" : 1,
11690 "optional" : 1,
11691 "type" : "integer",
11692 "typetext" : "integer (1- N)"
11693 },
11694 "sockets" : {
11695 "default" : 1,
11696 "description" : "The number of CPU sockets.",
11697 "minimum" : 1,
11698 "optional" : 1,
11699 "type" : "integer",
11700 "typetext" : "integer (1- N)"
11701 },
11702 "startdate" : {
11703 "default" : "now",
11704 "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'.",
11705 "optional" : 1,
11706 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
11707 "type" : "string",
11708 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
11709 },
11710 "startup" : {
11711 "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.",
11712 "format" : "pve-startup-order",
11713 "optional" : 1,
11714 "type" : "string",
11715 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
11716 },
11717 "storage" : {
11718 "description" : "Default storage.",
11719 "format" : "pve-storage-id",
11720 "optional" : 1,
11721 "type" : "string"
11722 },
11723 "tablet" : {
11724 "default" : 1,
11725 "description" : "Enable/disable the USB tablet device.",
11726 "optional" : 1,
11727 "type" : "boolean",
11728 "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)."
11729 },
11730 "tdf" : {
11731 "default" : 0,
11732 "description" : "Enable/disable time drift fix.",
11733 "optional" : 1,
11734 "type" : "boolean"
11735 },
11736 "template" : {
11737 "default" : 0,
11738 "description" : "Enable/disable Template.",
11739 "optional" : 1,
11740 "type" : "boolean"
11741 },
11742 "unique" : {
11743 "description" : "Assign a unique random ethernet address.",
11744 "optional" : 1,
11745 "requires" : "archive",
11746 "type" : "boolean"
11747 },
11748 "unused[n]" : {
11749 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
11750 "format" : "pve-volume-id",
11751 "optional" : 1,
11752 "type" : "string"
11753 },
11754 "usb[n]" : {
11755 "description" : "Configure an USB device (n is 0 to 4).",
11756 "format" : {
11757 "host" : {
11758 "default_key" : 1,
11759 "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",
11760 "format" : "pve-qm-usb-device",
11761 "format_description" : "HOSTUSBDEVICE|spice",
11762 "type" : "string"
11763 },
11764 "usb3" : {
11765 "default" : 0,
11766 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
11767 "optional" : 1,
11768 "type" : "boolean"
11769 }
11770 },
11771 "optional" : 1,
11772 "type" : "string",
11773 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
11774 },
11775 "vcpus" : {
11776 "default" : 0,
11777 "description" : "Number of hotplugged vcpus.",
11778 "minimum" : 1,
11779 "optional" : 1,
11780 "type" : "integer",
11781 "typetext" : "integer (1- N)"
11782 },
11783 "vga" : {
11784 "description" : "Select the VGA type.",
11785 "enum" : [
11786 "std",
11787 "cirrus",
11788 "vmware",
11789 "qxl",
11790 "serial0",
11791 "serial1",
11792 "serial2",
11793 "serial3",
11794 "qxl2",
11795 "qxl3",
11796 "qxl4"
11797 ],
11798 "optional" : 1,
11799 "type" : "string",
11800 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
11801 },
11802 "virtio[n]" : {
11803 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
11804 "format" : {
11805 "aio" : {
11806 "description" : "AIO type to use.",
11807 "enum" : [
11808 "native",
11809 "threads"
11810 ],
11811 "optional" : 1,
11812 "type" : "string"
11813 },
11814 "backup" : {
11815 "description" : "Whether the drive should be included when making backups.",
11816 "optional" : 1,
11817 "type" : "boolean"
11818 },
11819 "bps" : {
11820 "description" : "Maximum r/w speed speed in bytes per second.",
11821 "format_description" : "bps",
11822 "optional" : 1,
11823 "type" : "integer"
11824 },
11825 "bps_rd" : {
11826 "description" : "Maximum read speed speed in bytes per second.",
11827 "format_description" : "bps",
11828 "optional" : 1,
11829 "type" : "integer"
11830 },
11831 "bps_wr" : {
11832 "description" : "Maximum write speed speed in bytes per second.",
11833 "format_description" : "bps",
11834 "optional" : 1,
11835 "type" : "integer"
11836 },
11837 "cache" : {
11838 "description" : "The drive's cache mode",
11839 "enum" : [
11840 "none",
11841 "writethrough",
11842 "writeback",
11843 "unsafe",
11844 "directsync"
11845 ],
11846 "optional" : 1,
11847 "type" : "string"
11848 },
11849 "cyls" : {
11850 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
11851 "optional" : 1,
11852 "type" : "integer"
11853 },
11854 "detect_zeroes" : {
11855 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11856 "optional" : 1,
11857 "type" : "boolean"
11858 },
11859 "discard" : {
11860 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11861 "enum" : [
11862 "ignore",
11863 "on"
11864 ],
11865 "optional" : 1,
11866 "type" : "string"
11867 },
11868 "file" : {
11869 "default_key" : 1,
11870 "description" : "The drive's backing volume.",
11871 "format" : "pve-volume-id-or-qm-path",
11872 "format_description" : "volume",
11873 "type" : "string"
11874 },
11875 "format" : {
11876 "description" : "The drive's backing file's data format.",
11877 "enum" : [
11878 "raw",
11879 "cow",
11880 "qcow",
11881 "qed",
11882 "qcow2",
11883 "vmdk",
11884 "cloop"
11885 ],
11886 "format_description" : "image format",
11887 "optional" : 1,
11888 "type" : "string"
11889 },
11890 "heads" : {
11891 "description" : "Force the drive's physical geometry to have a specific head count.",
11892 "optional" : 1,
11893 "type" : "integer"
11894 },
11895 "iops" : {
11896 "description" : "Maximum r/w I/O speed in operations per second.",
11897 "format_description" : "iops",
11898 "optional" : 1,
11899 "type" : "integer"
11900 },
11901 "iops_max" : {
11902 "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
11903 "format_description" : "iops",
11904 "optional" : 1,
11905 "type" : "integer"
11906 },
11907 "iops_rd" : {
11908 "description" : "Maximum read I/O speed in operations per second.",
11909 "format_description" : "iops",
11910 "optional" : 1,
11911 "type" : "integer"
11912 },
11913 "iops_rd_max" : {
11914 "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
11915 "format_description" : "iops",
11916 "optional" : 1,
11917 "type" : "integer"
11918 },
11919 "iops_wr" : {
11920 "description" : "Maximum write I/O speed in operations per second.",
11921 "format_description" : "iops",
11922 "optional" : 1,
11923 "type" : "integer"
11924 },
11925 "iops_wr_max" : {
11926 "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
11927 "format_description" : "iops",
11928 "optional" : 1,
11929 "type" : "integer"
11930 },
11931 "iothread" : {
11932 "description" : "Whether to use iothreads for this drive",
11933 "optional" : 1,
11934 "type" : "boolean"
11935 },
11936 "mbps" : {
11937 "description" : "Maximum r/w speed speed in megabytes per second.",
11938 "format_description" : "mbps",
11939 "optional" : 1,
11940 "type" : "number"
11941 },
11942 "mbps_max" : {
11943 "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
11944 "format_description" : "mbps",
11945 "optional" : 1,
11946 "type" : "number"
11947 },
11948 "mbps_rd" : {
11949 "description" : "Maximum read speed speed in megabytes per second.",
11950 "format_description" : "mbps",
11951 "optional" : 1,
11952 "type" : "number"
11953 },
11954 "mbps_rd_max" : {
11955 "description" : "Maximum unthrottled read pool speed in megabytes per second.",
11956 "format_description" : "mbps",
11957 "optional" : 1,
11958 "type" : "number"
11959 },
11960 "mbps_wr" : {
11961 "description" : "Maximum write speed speed in megabytes per second.",
11962 "format_description" : "mbps",
11963 "optional" : 1,
11964 "type" : "number"
11965 },
11966 "mbps_wr_max" : {
11967 "description" : "Maximum unthrottled write pool speed in megabytes per second.",
11968 "format_description" : "mbps",
11969 "optional" : 1,
11970 "type" : "number"
11971 },
11972 "media" : {
11973 "default" : "disk",
11974 "description" : "The drive's media type.",
11975 "enum" : [
11976 "cdrom",
11977 "disk"
11978 ],
11979 "optional" : 1,
11980 "type" : "string"
11981 },
11982 "rerror" : {
11983 "description" : "Read error action.",
11984 "enum" : [
11985 "ignore",
11986 "report",
11987 "stop"
11988 ],
11989 "optional" : 1,
11990 "type" : "string"
11991 },
11992 "secs" : {
11993 "description" : "Force the drive's physical geometry to have a specific sector count.",
11994 "optional" : 1,
11995 "type" : "integer"
11996 },
11997 "serial" : {
11998 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11999 "format" : "urlencoded",
12000 "format_description" : "serial",
12001 "maxLength" : 60,
12002 "optional" : 1,
12003 "type" : "string"
12004 },
12005 "size" : {
12006 "description" : "Disk size. This is purely informational and has no effect.",
12007 "format" : "disk-size",
12008 "format_description" : "DiskSize",
12009 "optional" : 1,
12010 "type" : "string"
12011 },
12012 "snapshot" : {
12013 "description" : "Whether the drive should be included when making snapshots.",
12014 "optional" : 1,
12015 "type" : "boolean"
12016 },
12017 "trans" : {
12018 "description" : "Force disk geometry bios translation mode.",
12019 "enum" : [
12020 "none",
12021 "lba",
12022 "auto"
12023 ],
12024 "optional" : 1,
12025 "type" : "string"
12026 },
12027 "volume" : {
12028 "alias" : "file"
12029 },
12030 "werror" : {
12031 "description" : "Write error action.",
12032 "enum" : [
12033 "enospc",
12034 "ignore",
12035 "report",
12036 "stop"
12037 ],
12038 "optional" : 1,
12039 "type" : "string"
12040 }
12041 },
12042 "optional" : 1,
12043 "type" : "string",
12044 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_rd=<bps>] [,bps_wr=<bps>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<image format>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,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>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
12045 },
12046 "vmid" : {
12047 "description" : "The (unique) ID of the VM.",
12048 "format" : "pve-vmid",
12049 "minimum" : 1,
12050 "type" : "integer",
12051 "typetext" : "integer (1- N)"
12052 },
12053 "watchdog" : {
12054 "description" : "Create a virtual hardware watchdog device.",
12055 "format" : "pve-qm-watchdog",
12056 "optional" : 1,
12057 "type" : "string",
12058 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<reset|shutdown|poweroff|pause|debug|none>]",
12059 "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)"
12060 }
12061 }
12062 },
12063 "permissions" : {
12064 "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.",
12065 "user" : "all"
12066 },
12067 "protected" : 1,
12068 "proxyto" : "node",
12069 "returns" : {
12070 "type" : "string"
12071 }
12072 }
12073 },
12074 "leaf" : 0,
12075 "path" : "/nodes/{node}/qemu",
12076 "text" : "qemu"
12077 },
12078 {
12079 "children" : [
12080 {
12081 "children" : [
12082 {
12083 "info" : {
12084 "GET" : {
12085 "description" : "Get container configuration.",
12086 "method" : "GET",
12087 "name" : "vm_config",
12088 "parameters" : {
12089 "additionalProperties" : 0,
12090 "properties" : {
12091 "node" : {
12092 "description" : "The cluster node name.",
12093 "format" : "pve-node",
12094 "type" : "string"
12095 },
12096 "vmid" : {
12097 "description" : "The (unique) ID of the VM.",
12098 "format" : "pve-vmid",
12099 "minimum" : 1,
12100 "type" : "integer",
12101 "typetext" : "integer (1- N)"
12102 }
12103 }
12104 },
12105 "permissions" : {
12106 "check" : [
12107 "perm",
12108 "/vms/{vmid}",
12109 [
12110 "VM.Audit"
12111 ]
12112 ]
12113 },
12114 "proxyto" : "node",
12115 "returns" : {
12116 "properties" : {
12117 "digest" : {
12118 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
12119 "type" : "string"
12120 }
12121 },
12122 "type" : "object"
12123 }
12124 },
12125 "PUT" : {
12126 "description" : "Set container options.",
12127 "method" : "PUT",
12128 "name" : "update_vm",
12129 "parameters" : {
12130 "additionalProperties" : 0,
12131 "properties" : {
12132 "arch" : {
12133 "default" : "amd64",
12134 "description" : "OS architecture type.",
12135 "enum" : [
12136 "amd64",
12137 "i386"
12138 ],
12139 "optional" : 1,
12140 "type" : "string"
12141 },
12142 "cmode" : {
12143 "default" : "tty",
12144 "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).",
12145 "enum" : [
12146 "shell",
12147 "console",
12148 "tty"
12149 ],
12150 "optional" : 1,
12151 "type" : "string"
12152 },
12153 "console" : {
12154 "default" : 1,
12155 "description" : "Attach a console device (/dev/console) to the container.",
12156 "optional" : 1,
12157 "type" : "boolean"
12158 },
12159 "cpulimit" : {
12160 "default" : 0,
12161 "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.",
12162 "maximum" : 128,
12163 "minimum" : 0,
12164 "optional" : 1,
12165 "type" : "number",
12166 "typetext" : "number (0-128)"
12167 },
12168 "cpuunits" : {
12169 "default" : 1024,
12170 "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.",
12171 "maximum" : 500000,
12172 "minimum" : 0,
12173 "optional" : 1,
12174 "type" : "integer",
12175 "typetext" : "integer (0-500000)"
12176 },
12177 "delete" : {
12178 "description" : "A list of settings you want to delete.",
12179 "format" : "pve-configid-list",
12180 "optional" : 1,
12181 "type" : "string"
12182 },
12183 "description" : {
12184 "description" : "Container description. Only used on the configuration web interface.",
12185 "optional" : 1,
12186 "type" : "string"
12187 },
12188 "digest" : {
12189 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12190 "maxLength" : 40,
12191 "optional" : 1,
12192 "type" : "string"
12193 },
12194 "hostname" : {
12195 "description" : "Set a host name for the container.",
12196 "format" : "dns-name",
12197 "maxLength" : 255,
12198 "optional" : 1,
12199 "type" : "string"
12200 },
12201 "lock" : {
12202 "description" : "Lock/unlock the VM.",
12203 "enum" : [
12204 "migrate",
12205 "backup",
12206 "snapshot",
12207 "rollback"
12208 ],
12209 "optional" : 1,
12210 "type" : "string"
12211 },
12212 "memory" : {
12213 "default" : 512,
12214 "description" : "Amount of RAM for the VM in MB.",
12215 "minimum" : 16,
12216 "optional" : 1,
12217 "type" : "integer",
12218 "typetext" : "integer (16- N)"
12219 },
12220 "mp[n]" : {
12221 "description" : "Use volume as container mount point.",
12222 "format" : {
12223 "acl" : {
12224 "description" : "Explicitly enable or disable ACL support.",
12225 "optional" : 1,
12226 "type" : "boolean"
12227 },
12228 "backup" : {
12229 "description" : "Whether to include the mountpoint in backups.",
12230 "optional" : 1,
12231 "type" : "boolean",
12232 "verbose_description" : "Whether to include the mountpoint in backups (only used for volume mountpoints)."
12233 },
12234 "mp" : {
12235 "description" : "Path to the mountpoint as seen from inside the container (must not contain symlinks).",
12236 "format" : "pve-lxc-mp-string",
12237 "format_description" : "Path",
12238 "type" : "string",
12239 "verbose_description" : "Path to the mountpoint as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
12240 },
12241 "quota" : {
12242 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
12243 "optional" : 1,
12244 "type" : "boolean"
12245 },
12246 "ro" : {
12247 "description" : "Read-only mountpoint",
12248 "optional" : 1,
12249 "type" : "boolean"
12250 },
12251 "size" : {
12252 "description" : "Volume size (read only value).",
12253 "format" : "disk-size",
12254 "format_description" : "DiskSize",
12255 "optional" : 1,
12256 "type" : "string"
12257 },
12258 "volume" : {
12259 "default_key" : 1,
12260 "description" : "Volume, device or directory to mount into the container.",
12261 "format" : "pve-lxc-mp-string",
12262 "format_description" : "volume",
12263 "type" : "string"
12264 }
12265 },
12266 "optional" : 1,
12267 "type" : "string",
12268 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,size=<DiskSize>]"
12269 },
12270 "nameserver" : {
12271 "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.",
12272 "format" : "address-list",
12273 "optional" : 1,
12274 "type" : "string"
12275 },
12276 "net[n]" : {
12277 "description" : "Specifies network interfaces for the container.",
12278 "format" : {
12279 "bridge" : {
12280 "description" : "Bridge to attach the network device to.",
12281 "format_description" : "bridge",
12282 "optional" : 1,
12283 "pattern" : "[-_.\\w\\d]+",
12284 "type" : "string"
12285 },
12286 "firewall" : {
12287 "description" : "Controls whether this interface's firewall rules should be used.",
12288 "optional" : 1,
12289 "type" : "boolean"
12290 },
12291 "gw" : {
12292 "description" : "Default gateway for IPv4 traffic.",
12293 "format" : "ipv4",
12294 "format_description" : "GatewayIPv4",
12295 "optional" : 1,
12296 "type" : "string"
12297 },
12298 "gw6" : {
12299 "description" : "Default gateway for IPv6 traffic.",
12300 "format" : "ipv6",
12301 "format_description" : "GatewayIPv6",
12302 "optional" : 1,
12303 "type" : "string"
12304 },
12305 "hwaddr" : {
12306 "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)",
12307 "format_description" : "XX:XX:XX:XX:XX:XX",
12308 "optional" : 1,
12309 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
12310 "type" : "string"
12311 },
12312 "ip" : {
12313 "description" : "IPv4 address in CIDR format.",
12314 "format" : "pve-ipv4-config",
12315 "format_description" : "IPv4Format/CIDR",
12316 "optional" : 1,
12317 "type" : "string"
12318 },
12319 "ip6" : {
12320 "description" : "IPv6 address in CIDR format.",
12321 "format" : "pve-ipv6-config",
12322 "format_description" : "IPv6Format/CIDR",
12323 "optional" : 1,
12324 "type" : "string"
12325 },
12326 "mtu" : {
12327 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
12328 "minimum" : 64,
12329 "optional" : 1,
12330 "type" : "integer"
12331 },
12332 "name" : {
12333 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
12334 "format_description" : "string",
12335 "pattern" : "[-_.\\w\\d]+",
12336 "type" : "string"
12337 },
12338 "rate" : {
12339 "description" : "Apply rate limiting to the interface",
12340 "format_description" : "mbps",
12341 "optional" : 1,
12342 "type" : "number"
12343 },
12344 "tag" : {
12345 "description" : "VLAN tag for this interface.",
12346 "maximum" : 4094,
12347 "minimum" : 1,
12348 "optional" : 1,
12349 "type" : "integer"
12350 },
12351 "trunks" : {
12352 "description" : "VLAN ids to pass through the interface",
12353 "format_description" : "vlanid[;vlanid...]",
12354 "optional" : 1,
12355 "pattern" : "(?^:\\d+(?:;\\d+)*)",
12356 "type" : "string"
12357 },
12358 "type" : {
12359 "description" : "Network interface type.",
12360 "enum" : [
12361 "veth"
12362 ],
12363 "optional" : 1,
12364 "type" : "string"
12365 }
12366 },
12367 "optional" : 1,
12368 "type" : "string",
12369 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
12370 },
12371 "node" : {
12372 "description" : "The cluster node name.",
12373 "format" : "pve-node",
12374 "type" : "string"
12375 },
12376 "onboot" : {
12377 "default" : 0,
12378 "description" : "Specifies whether a VM will be started during system bootup.",
12379 "optional" : 1,
12380 "type" : "boolean"
12381 },
12382 "ostype" : {
12383 "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.",
12384 "enum" : [
12385 "debian",
12386 "ubuntu",
12387 "centos",
12388 "fedora",
12389 "opensuse",
12390 "archlinux",
12391 "alpine",
12392 "gentoo",
12393 "unmanaged"
12394 ],
12395 "optional" : 1,
12396 "type" : "string"
12397 },
12398 "protection" : {
12399 "default" : 0,
12400 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
12401 "optional" : 1,
12402 "type" : "boolean"
12403 },
12404 "rootfs" : {
12405 "description" : "Use volume as container root.",
12406 "format" : {
12407 "acl" : {
12408 "description" : "Explicitly enable or disable ACL support.",
12409 "optional" : 1,
12410 "type" : "boolean"
12411 },
12412 "quota" : {
12413 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
12414 "optional" : 1,
12415 "type" : "boolean"
12416 },
12417 "ro" : {
12418 "description" : "Read-only mountpoint",
12419 "optional" : 1,
12420 "type" : "boolean"
12421 },
12422 "size" : {
12423 "description" : "Volume size (read only value).",
12424 "format" : "disk-size",
12425 "format_description" : "DiskSize",
12426 "optional" : 1,
12427 "type" : "string"
12428 },
12429 "volume" : {
12430 "default_key" : 1,
12431 "description" : "Volume, device or directory to mount into the container.",
12432 "format" : "pve-lxc-mp-string",
12433 "format_description" : "volume",
12434 "type" : "string"
12435 }
12436 },
12437 "optional" : 1,
12438 "type" : "string",
12439 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,size=<DiskSize>]"
12440 },
12441 "searchdomain" : {
12442 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
12443 "format" : "dns-name-list",
12444 "optional" : 1,
12445 "type" : "string"
12446 },
12447 "startup" : {
12448 "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.",
12449 "format" : "pve-startup-order",
12450 "optional" : 1,
12451 "type" : "string",
12452 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
12453 },
12454 "swap" : {
12455 "default" : 512,
12456 "description" : "Amount of SWAP for the VM in MB.",
12457 "minimum" : 0,
12458 "optional" : 1,
12459 "type" : "integer",
12460 "typetext" : "integer (0- N)"
12461 },
12462 "template" : {
12463 "default" : 0,
12464 "description" : "Enable/disable Template.",
12465 "optional" : 1,
12466 "type" : "boolean"
12467 },
12468 "tty" : {
12469 "default" : 2,
12470 "description" : "Specify the number of tty available to the container",
12471 "maximum" : 6,
12472 "minimum" : 0,
12473 "optional" : 1,
12474 "type" : "integer",
12475 "typetext" : "integer (0-6)"
12476 },
12477 "unprivileged" : {
12478 "default" : 0,
12479 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
12480 "optional" : 1,
12481 "type" : "boolean"
12482 },
12483 "unused[n]" : {
12484 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
12485 "format" : "pve-volume-id",
12486 "optional" : 1,
12487 "type" : "string"
12488 },
12489 "vmid" : {
12490 "description" : "The (unique) ID of the VM.",
12491 "format" : "pve-vmid",
12492 "minimum" : 1,
12493 "type" : "integer",
12494 "typetext" : "integer (1- N)"
12495 }
12496 }
12497 },
12498 "permissions" : {
12499 "check" : [
12500 "perm",
12501 "/vms/{vmid}",
12502 [
12503 "VM.Config.Disk",
12504 "VM.Config.CPU",
12505 "VM.Config.Memory",
12506 "VM.Config.Network",
12507 "VM.Config.Options"
12508 ],
12509 "any",
12510 1
12511 ]
12512 },
12513 "protected" : 1,
12514 "proxyto" : "node",
12515 "returns" : {
12516 "type" : "null"
12517 }
12518 }
12519 },
12520 "leaf" : 1,
12521 "path" : "/nodes/{node}/lxc/{vmid}/config",
12522 "text" : "config"
12523 },
12524 {
12525 "children" : [
12526 {
12527 "info" : {
12528 "GET" : {
12529 "description" : "Get virtual machine status.",
12530 "method" : "GET",
12531 "name" : "vm_status",
12532 "parameters" : {
12533 "additionalProperties" : 0,
12534 "properties" : {
12535 "node" : {
12536 "description" : "The cluster node name.",
12537 "format" : "pve-node",
12538 "type" : "string"
12539 },
12540 "vmid" : {
12541 "description" : "The (unique) ID of the VM.",
12542 "format" : "pve-vmid",
12543 "minimum" : 1,
12544 "type" : "integer",
12545 "typetext" : "integer (1- N)"
12546 }
12547 }
12548 },
12549 "permissions" : {
12550 "check" : [
12551 "perm",
12552 "/vms/{vmid}",
12553 [
12554 "VM.Audit"
12555 ]
12556 ]
12557 },
12558 "protected" : 1,
12559 "proxyto" : "node",
12560 "returns" : {
12561 "type" : "object"
12562 }
12563 }
12564 },
12565 "leaf" : 1,
12566 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
12567 "text" : "current"
12568 },
12569 {
12570 "info" : {
12571 "POST" : {
12572 "description" : "Start the container.",
12573 "method" : "POST",
12574 "name" : "vm_start",
12575 "parameters" : {
12576 "additionalProperties" : 0,
12577 "properties" : {
12578 "node" : {
12579 "description" : "The cluster node name.",
12580 "format" : "pve-node",
12581 "type" : "string"
12582 },
12583 "skiplock" : {
12584 "description" : "Ignore locks - only root is allowed to use this option.",
12585 "optional" : 1,
12586 "type" : "boolean"
12587 },
12588 "vmid" : {
12589 "description" : "The (unique) ID of the VM.",
12590 "format" : "pve-vmid",
12591 "minimum" : 1,
12592 "type" : "integer",
12593 "typetext" : "integer (1- N)"
12594 }
12595 }
12596 },
12597 "permissions" : {
12598 "check" : [
12599 "perm",
12600 "/vms/{vmid}",
12601 [
12602 "VM.PowerMgmt"
12603 ]
12604 ]
12605 },
12606 "protected" : 1,
12607 "proxyto" : "node",
12608 "returns" : {
12609 "type" : "string"
12610 }
12611 }
12612 },
12613 "leaf" : 1,
12614 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
12615 "text" : "start"
12616 },
12617 {
12618 "info" : {
12619 "POST" : {
12620 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
12621 "method" : "POST",
12622 "name" : "vm_stop",
12623 "parameters" : {
12624 "additionalProperties" : 0,
12625 "properties" : {
12626 "node" : {
12627 "description" : "The cluster node name.",
12628 "format" : "pve-node",
12629 "type" : "string"
12630 },
12631 "skiplock" : {
12632 "description" : "Ignore locks - only root is allowed to use this option.",
12633 "optional" : 1,
12634 "type" : "boolean"
12635 },
12636 "vmid" : {
12637 "description" : "The (unique) ID of the VM.",
12638 "format" : "pve-vmid",
12639 "minimum" : 1,
12640 "type" : "integer",
12641 "typetext" : "integer (1- N)"
12642 }
12643 }
12644 },
12645 "permissions" : {
12646 "check" : [
12647 "perm",
12648 "/vms/{vmid}",
12649 [
12650 "VM.PowerMgmt"
12651 ]
12652 ]
12653 },
12654 "protected" : 1,
12655 "proxyto" : "node",
12656 "returns" : {
12657 "type" : "string"
12658 }
12659 }
12660 },
12661 "leaf" : 1,
12662 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
12663 "text" : "stop"
12664 },
12665 {
12666 "info" : {
12667 "POST" : {
12668 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
12669 "method" : "POST",
12670 "name" : "vm_shutdown",
12671 "parameters" : {
12672 "additionalProperties" : 0,
12673 "properties" : {
12674 "forceStop" : {
12675 "default" : 0,
12676 "description" : "Make sure the Container stops.",
12677 "optional" : 1,
12678 "type" : "boolean"
12679 },
12680 "node" : {
12681 "description" : "The cluster node name.",
12682 "format" : "pve-node",
12683 "type" : "string"
12684 },
12685 "timeout" : {
12686 "default" : 60,
12687 "description" : "Wait maximal timeout seconds.",
12688 "minimum" : 0,
12689 "optional" : 1,
12690 "type" : "integer",
12691 "typetext" : "integer (0- N)"
12692 },
12693 "vmid" : {
12694 "description" : "The (unique) ID of the VM.",
12695 "format" : "pve-vmid",
12696 "minimum" : 1,
12697 "type" : "integer",
12698 "typetext" : "integer (1- N)"
12699 }
12700 }
12701 },
12702 "permissions" : {
12703 "check" : [
12704 "perm",
12705 "/vms/{vmid}",
12706 [
12707 "VM.PowerMgmt"
12708 ]
12709 ]
12710 },
12711 "protected" : 1,
12712 "proxyto" : "node",
12713 "returns" : {
12714 "type" : "string"
12715 }
12716 }
12717 },
12718 "leaf" : 1,
12719 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
12720 "text" : "shutdown"
12721 },
12722 {
12723 "info" : {
12724 "POST" : {
12725 "description" : "Suspend the container.",
12726 "method" : "POST",
12727 "name" : "vm_suspend",
12728 "parameters" : {
12729 "additionalProperties" : 0,
12730 "properties" : {
12731 "node" : {
12732 "description" : "The cluster node name.",
12733 "format" : "pve-node",
12734 "type" : "string"
12735 },
12736 "vmid" : {
12737 "description" : "The (unique) ID of the VM.",
12738 "format" : "pve-vmid",
12739 "minimum" : 1,
12740 "type" : "integer",
12741 "typetext" : "integer (1- N)"
12742 }
12743 }
12744 },
12745 "permissions" : {
12746 "check" : [
12747 "perm",
12748 "/vms/{vmid}",
12749 [
12750 "VM.PowerMgmt"
12751 ]
12752 ]
12753 },
12754 "protected" : 1,
12755 "proxyto" : "node",
12756 "returns" : {
12757 "type" : "string"
12758 }
12759 }
12760 },
12761 "leaf" : 1,
12762 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
12763 "text" : "suspend"
12764 },
12765 {
12766 "info" : {
12767 "POST" : {
12768 "description" : "Resume the container.",
12769 "method" : "POST",
12770 "name" : "vm_resume",
12771 "parameters" : {
12772 "additionalProperties" : 0,
12773 "properties" : {
12774 "node" : {
12775 "description" : "The cluster node name.",
12776 "format" : "pve-node",
12777 "type" : "string"
12778 },
12779 "vmid" : {
12780 "description" : "The (unique) ID of the VM.",
12781 "format" : "pve-vmid",
12782 "minimum" : 1,
12783 "type" : "integer",
12784 "typetext" : "integer (1- N)"
12785 }
12786 }
12787 },
12788 "permissions" : {
12789 "check" : [
12790 "perm",
12791 "/vms/{vmid}",
12792 [
12793 "VM.PowerMgmt"
12794 ]
12795 ]
12796 },
12797 "protected" : 1,
12798 "proxyto" : "node",
12799 "returns" : {
12800 "type" : "string"
12801 }
12802 }
12803 },
12804 "leaf" : 1,
12805 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
12806 "text" : "resume"
12807 }
12808 ],
12809 "info" : {
12810 "GET" : {
12811 "description" : "Directory index",
12812 "method" : "GET",
12813 "name" : "vmcmdidx",
12814 "parameters" : {
12815 "additionalProperties" : 0,
12816 "properties" : {
12817 "node" : {
12818 "description" : "The cluster node name.",
12819 "format" : "pve-node",
12820 "type" : "string"
12821 },
12822 "vmid" : {
12823 "description" : "The (unique) ID of the VM.",
12824 "format" : "pve-vmid",
12825 "minimum" : 1,
12826 "type" : "integer",
12827 "typetext" : "integer (1- N)"
12828 }
12829 }
12830 },
12831 "permissions" : {
12832 "user" : "all"
12833 },
12834 "proxyto" : "node",
12835 "returns" : {
12836 "items" : {
12837 "properties" : {
12838 "subdir" : {
12839 "type" : "string"
12840 }
12841 },
12842 "type" : "object"
12843 },
12844 "links" : [
12845 {
12846 "href" : "{subdir}",
12847 "rel" : "child"
12848 }
12849 ],
12850 "type" : "array"
12851 }
12852 }
12853 },
12854 "leaf" : 0,
12855 "path" : "/nodes/{node}/lxc/{vmid}/status",
12856 "text" : "status"
12857 },
12858 {
12859 "children" : [
12860 {
12861 "children" : [
12862 {
12863 "info" : {
12864 "POST" : {
12865 "description" : "Rollback LXC state to specified snapshot.",
12866 "method" : "POST",
12867 "name" : "rollback",
12868 "parameters" : {
12869 "additionalProperties" : 0,
12870 "properties" : {
12871 "node" : {
12872 "description" : "The cluster node name.",
12873 "format" : "pve-node",
12874 "type" : "string"
12875 },
12876 "snapname" : {
12877 "description" : "The name of the snapshot.",
12878 "format" : "pve-configid",
12879 "maxLength" : 40,
12880 "type" : "string"
12881 },
12882 "vmid" : {
12883 "description" : "The (unique) ID of the VM.",
12884 "format" : "pve-vmid",
12885 "minimum" : 1,
12886 "type" : "integer",
12887 "typetext" : "integer (1- N)"
12888 }
12889 }
12890 },
12891 "permissions" : {
12892 "check" : [
12893 "perm",
12894 "/vms/{vmid}",
12895 [
12896 "VM.Snapshot"
12897 ]
12898 ]
12899 },
12900 "protected" : 1,
12901 "proxyto" : "node",
12902 "returns" : {
12903 "description" : "the task ID.",
12904 "type" : "string"
12905 }
12906 }
12907 },
12908 "leaf" : 1,
12909 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
12910 "text" : "rollback"
12911 },
12912 {
12913 "info" : {
12914 "GET" : {
12915 "description" : "Get snapshot configuration",
12916 "method" : "GET",
12917 "name" : "get_snapshot_config",
12918 "parameters" : {
12919 "additionalProperties" : 0,
12920 "properties" : {
12921 "node" : {
12922 "description" : "The cluster node name.",
12923 "format" : "pve-node",
12924 "type" : "string"
12925 },
12926 "snapname" : {
12927 "description" : "The name of the snapshot.",
12928 "format" : "pve-configid",
12929 "maxLength" : 40,
12930 "type" : "string"
12931 },
12932 "vmid" : {
12933 "description" : "The (unique) ID of the VM.",
12934 "format" : "pve-vmid",
12935 "minimum" : 1,
12936 "type" : "integer",
12937 "typetext" : "integer (1- N)"
12938 }
12939 }
12940 },
12941 "permissions" : {
12942 "check" : [
12943 "perm",
12944 "/vms/{vmid}",
12945 [
12946 "VM.Snapshot"
12947 ]
12948 ]
12949 },
12950 "proxyto" : "node",
12951 "returns" : {
12952 "type" : "object"
12953 }
12954 },
12955 "PUT" : {
12956 "description" : "Update snapshot metadata.",
12957 "method" : "PUT",
12958 "name" : "update_snapshot_config",
12959 "parameters" : {
12960 "additionalProperties" : 0,
12961 "properties" : {
12962 "description" : {
12963 "description" : "A textual description or comment.",
12964 "optional" : 1,
12965 "type" : "string"
12966 },
12967 "node" : {
12968 "description" : "The cluster node name.",
12969 "format" : "pve-node",
12970 "type" : "string"
12971 },
12972 "snapname" : {
12973 "description" : "The name of the snapshot.",
12974 "format" : "pve-configid",
12975 "maxLength" : 40,
12976 "type" : "string"
12977 },
12978 "vmid" : {
12979 "description" : "The (unique) ID of the VM.",
12980 "format" : "pve-vmid",
12981 "minimum" : 1,
12982 "type" : "integer",
12983 "typetext" : "integer (1- N)"
12984 }
12985 }
12986 },
12987 "permissions" : {
12988 "check" : [
12989 "perm",
12990 "/vms/{vmid}",
12991 [
12992 "VM.Snapshot"
12993 ]
12994 ]
12995 },
12996 "protected" : 1,
12997 "proxyto" : "node",
12998 "returns" : {
12999 "type" : "null"
13000 }
13001 }
13002 },
13003 "leaf" : 1,
13004 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
13005 "text" : "config"
13006 }
13007 ],
13008 "info" : {
13009 "DELETE" : {
13010 "description" : "Delete a LXC snapshot.",
13011 "method" : "DELETE",
13012 "name" : "delsnapshot",
13013 "parameters" : {
13014 "additionalProperties" : 0,
13015 "properties" : {
13016 "force" : {
13017 "description" : "For removal from config file, even if removing disk snapshots fails.",
13018 "optional" : 1,
13019 "type" : "boolean"
13020 },
13021 "node" : {
13022 "description" : "The cluster node name.",
13023 "format" : "pve-node",
13024 "type" : "string"
13025 },
13026 "snapname" : {
13027 "description" : "The name of the snapshot.",
13028 "format" : "pve-configid",
13029 "maxLength" : 40,
13030 "type" : "string"
13031 },
13032 "vmid" : {
13033 "description" : "The (unique) ID of the VM.",
13034 "format" : "pve-vmid",
13035 "minimum" : 1,
13036 "type" : "integer",
13037 "typetext" : "integer (1- N)"
13038 }
13039 }
13040 },
13041 "permissions" : {
13042 "check" : [
13043 "perm",
13044 "/vms/{vmid}",
13045 [
13046 "VM.Snapshot"
13047 ]
13048 ]
13049 },
13050 "protected" : 1,
13051 "proxyto" : "node",
13052 "returns" : {
13053 "description" : "the task ID.",
13054 "type" : "string"
13055 }
13056 },
13057 "GET" : {
13058 "description" : "",
13059 "method" : "GET",
13060 "name" : "snapshot_cmd_idx",
13061 "parameters" : {
13062 "additionalProperties" : 0,
13063 "properties" : {
13064 "node" : {
13065 "description" : "The cluster node name.",
13066 "format" : "pve-node",
13067 "type" : "string"
13068 },
13069 "snapname" : {
13070 "description" : "The name of the snapshot.",
13071 "format" : "pve-configid",
13072 "maxLength" : 40,
13073 "type" : "string"
13074 },
13075 "vmid" : {
13076 "description" : "The (unique) ID of the VM.",
13077 "format" : "pve-vmid",
13078 "minimum" : 1,
13079 "type" : "integer",
13080 "typetext" : "integer (1- N)"
13081 }
13082 }
13083 },
13084 "permissions" : {
13085 "user" : "all"
13086 },
13087 "returns" : {
13088 "items" : {
13089 "properties" : {},
13090 "type" : "object"
13091 },
13092 "links" : [
13093 {
13094 "href" : "{cmd}",
13095 "rel" : "child"
13096 }
13097 ],
13098 "type" : "array"
13099 }
13100 }
13101 },
13102 "leaf" : 0,
13103 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
13104 "text" : "{snapname}"
13105 }
13106 ],
13107 "info" : {
13108 "GET" : {
13109 "description" : "List all snapshots.",
13110 "method" : "GET",
13111 "name" : "list",
13112 "parameters" : {
13113 "additionalProperties" : 0,
13114 "properties" : {
13115 "node" : {
13116 "description" : "The cluster node name.",
13117 "format" : "pve-node",
13118 "type" : "string"
13119 },
13120 "vmid" : {
13121 "description" : "The (unique) ID of the VM.",
13122 "format" : "pve-vmid",
13123 "minimum" : 1,
13124 "type" : "integer",
13125 "typetext" : "integer (1- N)"
13126 }
13127 }
13128 },
13129 "permissions" : {
13130 "check" : [
13131 "perm",
13132 "/vms/{vmid}",
13133 [
13134 "VM.Audit"
13135 ]
13136 ]
13137 },
13138 "protected" : 1,
13139 "proxyto" : "node",
13140 "returns" : {
13141 "items" : {
13142 "properties" : {},
13143 "type" : "object"
13144 },
13145 "links" : [
13146 {
13147 "href" : "{name}",
13148 "rel" : "child"
13149 }
13150 ],
13151 "type" : "array"
13152 }
13153 },
13154 "POST" : {
13155 "description" : "Snapshot a container.",
13156 "method" : "POST",
13157 "name" : "snapshot",
13158 "parameters" : {
13159 "additionalProperties" : 0,
13160 "properties" : {
13161 "description" : {
13162 "description" : "A textual description or comment.",
13163 "optional" : 1,
13164 "type" : "string"
13165 },
13166 "node" : {
13167 "description" : "The cluster node name.",
13168 "format" : "pve-node",
13169 "type" : "string"
13170 },
13171 "snapname" : {
13172 "description" : "The name of the snapshot.",
13173 "format" : "pve-configid",
13174 "maxLength" : 40,
13175 "type" : "string"
13176 },
13177 "vmid" : {
13178 "description" : "The (unique) ID of the VM.",
13179 "format" : "pve-vmid",
13180 "minimum" : 1,
13181 "type" : "integer",
13182 "typetext" : "integer (1- N)"
13183 }
13184 }
13185 },
13186 "permissions" : {
13187 "check" : [
13188 "perm",
13189 "/vms/{vmid}",
13190 [
13191 "VM.Snapshot"
13192 ]
13193 ]
13194 },
13195 "protected" : 1,
13196 "proxyto" : "node",
13197 "returns" : {
13198 "description" : "the task ID.",
13199 "type" : "string"
13200 }
13201 }
13202 },
13203 "leaf" : 0,
13204 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
13205 "text" : "snapshot"
13206 },
13207 {
13208 "children" : [
13209 {
13210 "children" : [
13211 {
13212 "info" : {
13213 "DELETE" : {
13214 "description" : "Delete rule.",
13215 "method" : "DELETE",
13216 "name" : "delete_rule",
13217 "parameters" : {
13218 "additionalProperties" : 0,
13219 "properties" : {
13220 "digest" : {
13221 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13222 "maxLength" : 40,
13223 "optional" : 1,
13224 "type" : "string"
13225 },
13226 "node" : {
13227 "description" : "The cluster node name.",
13228 "format" : "pve-node",
13229 "type" : "string"
13230 },
13231 "pos" : {
13232 "description" : "Update rule at position <pos>.",
13233 "minimum" : 0,
13234 "optional" : 1,
13235 "type" : "integer",
13236 "typetext" : "integer (0- N)"
13237 },
13238 "vmid" : {
13239 "description" : "The (unique) ID of the VM.",
13240 "format" : "pve-vmid",
13241 "minimum" : 1,
13242 "type" : "integer",
13243 "typetext" : "integer (1- N)"
13244 }
13245 }
13246 },
13247 "permissions" : {
13248 "check" : [
13249 "perm",
13250 "/vms/{vmid}",
13251 [
13252 "VM.Config.Network"
13253 ]
13254 ]
13255 },
13256 "protected" : 1,
13257 "proxyto" : null,
13258 "returns" : {
13259 "type" : "null"
13260 }
13261 },
13262 "GET" : {
13263 "description" : "Get single rule data.",
13264 "method" : "GET",
13265 "name" : "get_rule",
13266 "parameters" : {
13267 "additionalProperties" : 0,
13268 "properties" : {
13269 "node" : {
13270 "description" : "The cluster node name.",
13271 "format" : "pve-node",
13272 "type" : "string"
13273 },
13274 "pos" : {
13275 "description" : "Update rule at position <pos>.",
13276 "minimum" : 0,
13277 "optional" : 1,
13278 "type" : "integer",
13279 "typetext" : "integer (0- N)"
13280 },
13281 "vmid" : {
13282 "description" : "The (unique) ID of the VM.",
13283 "format" : "pve-vmid",
13284 "minimum" : 1,
13285 "type" : "integer",
13286 "typetext" : "integer (1- N)"
13287 }
13288 }
13289 },
13290 "permissions" : {
13291 "check" : [
13292 "perm",
13293 "/vms/{vmid}",
13294 [
13295 "VM.Audit"
13296 ]
13297 ]
13298 },
13299 "proxyto" : null,
13300 "returns" : {
13301 "properties" : {
13302 "pos" : {
13303 "type" : "integer"
13304 }
13305 },
13306 "type" : "object"
13307 }
13308 },
13309 "PUT" : {
13310 "description" : "Modify rule data.",
13311 "method" : "PUT",
13312 "name" : "update_rule",
13313 "parameters" : {
13314 "additionalProperties" : 0,
13315 "properties" : {
13316 "action" : {
13317 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
13318 "maxLength" : 20,
13319 "minLength" : 2,
13320 "optional" : 1,
13321 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13322 "type" : "string"
13323 },
13324 "comment" : {
13325 "optional" : 1,
13326 "type" : "string"
13327 },
13328 "delete" : {
13329 "description" : "A list of settings you want to delete.",
13330 "format" : "pve-configid-list",
13331 "optional" : 1,
13332 "type" : "string"
13333 },
13334 "dest" : {
13335 "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.",
13336 "format" : "pve-fw-addr-spec",
13337 "optional" : 1,
13338 "type" : "string"
13339 },
13340 "digest" : {
13341 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13342 "maxLength" : 40,
13343 "optional" : 1,
13344 "type" : "string"
13345 },
13346 "dport" : {
13347 "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.",
13348 "format" : "pve-fw-dport-spec",
13349 "optional" : 1,
13350 "type" : "string"
13351 },
13352 "enable" : {
13353 "minimum" : 0,
13354 "optional" : 1,
13355 "type" : "integer",
13356 "typetext" : "integer (0- N)"
13357 },
13358 "iface" : {
13359 "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.",
13360 "format" : "pve-iface",
13361 "maxLength" : 20,
13362 "minLength" : 2,
13363 "optional" : 1,
13364 "type" : "string"
13365 },
13366 "macro" : {
13367 "maxLength" : 128,
13368 "optional" : 1,
13369 "type" : "string"
13370 },
13371 "moveto" : {
13372 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
13373 "minimum" : 0,
13374 "optional" : 1,
13375 "type" : "integer",
13376 "typetext" : "integer (0- N)"
13377 },
13378 "node" : {
13379 "description" : "The cluster node name.",
13380 "format" : "pve-node",
13381 "type" : "string"
13382 },
13383 "pos" : {
13384 "description" : "Update rule at position <pos>.",
13385 "minimum" : 0,
13386 "optional" : 1,
13387 "type" : "integer",
13388 "typetext" : "integer (0- N)"
13389 },
13390 "proto" : {
13391 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
13392 "format" : "pve-fw-protocol-spec",
13393 "optional" : 1,
13394 "type" : "string"
13395 },
13396 "source" : {
13397 "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.",
13398 "format" : "pve-fw-addr-spec",
13399 "optional" : 1,
13400 "type" : "string"
13401 },
13402 "sport" : {
13403 "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.",
13404 "format" : "pve-fw-sport-spec",
13405 "optional" : 1,
13406 "type" : "string"
13407 },
13408 "type" : {
13409 "enum" : [
13410 "in",
13411 "out",
13412 "group"
13413 ],
13414 "optional" : 1,
13415 "type" : "string"
13416 },
13417 "vmid" : {
13418 "description" : "The (unique) ID of the VM.",
13419 "format" : "pve-vmid",
13420 "minimum" : 1,
13421 "type" : "integer",
13422 "typetext" : "integer (1- N)"
13423 }
13424 }
13425 },
13426 "permissions" : {
13427 "check" : [
13428 "perm",
13429 "/vms/{vmid}",
13430 [
13431 "VM.Config.Network"
13432 ]
13433 ]
13434 },
13435 "protected" : 1,
13436 "proxyto" : null,
13437 "returns" : {
13438 "type" : "null"
13439 }
13440 }
13441 },
13442 "leaf" : 1,
13443 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
13444 "text" : "{pos}"
13445 }
13446 ],
13447 "info" : {
13448 "GET" : {
13449 "description" : "List rules.",
13450 "method" : "GET",
13451 "name" : "get_rules",
13452 "parameters" : {
13453 "additionalProperties" : 0,
13454 "properties" : {
13455 "node" : {
13456 "description" : "The cluster node name.",
13457 "format" : "pve-node",
13458 "type" : "string"
13459 },
13460 "vmid" : {
13461 "description" : "The (unique) ID of the VM.",
13462 "format" : "pve-vmid",
13463 "minimum" : 1,
13464 "type" : "integer",
13465 "typetext" : "integer (1- N)"
13466 }
13467 }
13468 },
13469 "permissions" : {
13470 "check" : [
13471 "perm",
13472 "/vms/{vmid}",
13473 [
13474 "VM.Audit"
13475 ]
13476 ]
13477 },
13478 "proxyto" : null,
13479 "returns" : {
13480 "items" : {
13481 "properties" : {
13482 "pos" : {
13483 "type" : "integer"
13484 }
13485 },
13486 "type" : "object"
13487 },
13488 "links" : [
13489 {
13490 "href" : "{pos}",
13491 "rel" : "child"
13492 }
13493 ],
13494 "type" : "array"
13495 }
13496 },
13497 "POST" : {
13498 "description" : "Create new rule.",
13499 "method" : "POST",
13500 "name" : "create_rule",
13501 "parameters" : {
13502 "additionalProperties" : 0,
13503 "properties" : {
13504 "action" : {
13505 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
13506 "maxLength" : 20,
13507 "minLength" : 2,
13508 "optional" : 0,
13509 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13510 "type" : "string"
13511 },
13512 "comment" : {
13513 "optional" : 1,
13514 "type" : "string"
13515 },
13516 "dest" : {
13517 "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.",
13518 "format" : "pve-fw-addr-spec",
13519 "optional" : 1,
13520 "type" : "string"
13521 },
13522 "digest" : {
13523 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13524 "maxLength" : 40,
13525 "optional" : 1,
13526 "type" : "string"
13527 },
13528 "dport" : {
13529 "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.",
13530 "format" : "pve-fw-dport-spec",
13531 "optional" : 1,
13532 "type" : "string"
13533 },
13534 "enable" : {
13535 "minimum" : 0,
13536 "optional" : 1,
13537 "type" : "integer",
13538 "typetext" : "integer (0- N)"
13539 },
13540 "iface" : {
13541 "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.",
13542 "format" : "pve-iface",
13543 "maxLength" : 20,
13544 "minLength" : 2,
13545 "optional" : 1,
13546 "type" : "string"
13547 },
13548 "macro" : {
13549 "maxLength" : 128,
13550 "optional" : 1,
13551 "type" : "string"
13552 },
13553 "node" : {
13554 "description" : "The cluster node name.",
13555 "format" : "pve-node",
13556 "type" : "string"
13557 },
13558 "pos" : {
13559 "description" : "Update rule at position <pos>.",
13560 "minimum" : 0,
13561 "optional" : 1,
13562 "type" : "integer",
13563 "typetext" : "integer (0- N)"
13564 },
13565 "proto" : {
13566 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
13567 "format" : "pve-fw-protocol-spec",
13568 "optional" : 1,
13569 "type" : "string"
13570 },
13571 "source" : {
13572 "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.",
13573 "format" : "pve-fw-addr-spec",
13574 "optional" : 1,
13575 "type" : "string"
13576 },
13577 "sport" : {
13578 "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.",
13579 "format" : "pve-fw-sport-spec",
13580 "optional" : 1,
13581 "type" : "string"
13582 },
13583 "type" : {
13584 "enum" : [
13585 "in",
13586 "out",
13587 "group"
13588 ],
13589 "optional" : 0,
13590 "type" : "string"
13591 },
13592 "vmid" : {
13593 "description" : "The (unique) ID of the VM.",
13594 "format" : "pve-vmid",
13595 "minimum" : 1,
13596 "type" : "integer",
13597 "typetext" : "integer (1- N)"
13598 }
13599 }
13600 },
13601 "permissions" : {
13602 "check" : [
13603 "perm",
13604 "/vms/{vmid}",
13605 [
13606 "VM.Config.Network"
13607 ]
13608 ]
13609 },
13610 "protected" : 1,
13611 "proxyto" : null,
13612 "returns" : {
13613 "type" : "null"
13614 }
13615 }
13616 },
13617 "leaf" : 0,
13618 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
13619 "text" : "rules"
13620 },
13621 {
13622 "children" : [
13623 {
13624 "info" : {
13625 "DELETE" : {
13626 "description" : "Remove IP or Network alias.",
13627 "method" : "DELETE",
13628 "name" : "remove_alias",
13629 "parameters" : {
13630 "additionalProperties" : 0,
13631 "properties" : {
13632 "digest" : {
13633 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13634 "maxLength" : 40,
13635 "optional" : 1,
13636 "type" : "string"
13637 },
13638 "name" : {
13639 "description" : "Alias name.",
13640 "maxLength" : 64,
13641 "minLength" : 2,
13642 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13643 "type" : "string"
13644 },
13645 "node" : {
13646 "description" : "The cluster node name.",
13647 "format" : "pve-node",
13648 "type" : "string"
13649 },
13650 "vmid" : {
13651 "description" : "The (unique) ID of the VM.",
13652 "format" : "pve-vmid",
13653 "minimum" : 1,
13654 "type" : "integer",
13655 "typetext" : "integer (1- N)"
13656 }
13657 }
13658 },
13659 "permissions" : {
13660 "check" : [
13661 "perm",
13662 "/vms/{vmid}",
13663 [
13664 "VM.Config.Network"
13665 ]
13666 ]
13667 },
13668 "protected" : 1,
13669 "returns" : {
13670 "type" : "null"
13671 }
13672 },
13673 "GET" : {
13674 "description" : "Read alias.",
13675 "method" : "GET",
13676 "name" : "read_alias",
13677 "parameters" : {
13678 "additionalProperties" : 0,
13679 "properties" : {
13680 "name" : {
13681 "description" : "Alias name.",
13682 "maxLength" : 64,
13683 "minLength" : 2,
13684 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13685 "type" : "string"
13686 },
13687 "node" : {
13688 "description" : "The cluster node name.",
13689 "format" : "pve-node",
13690 "type" : "string"
13691 },
13692 "vmid" : {
13693 "description" : "The (unique) ID of the VM.",
13694 "format" : "pve-vmid",
13695 "minimum" : 1,
13696 "type" : "integer",
13697 "typetext" : "integer (1- N)"
13698 }
13699 }
13700 },
13701 "permissions" : {
13702 "check" : [
13703 "perm",
13704 "/vms/{vmid}",
13705 [
13706 "VM.Audit"
13707 ]
13708 ]
13709 },
13710 "returns" : {
13711 "type" : "object"
13712 }
13713 },
13714 "PUT" : {
13715 "description" : "Update IP or Network alias.",
13716 "method" : "PUT",
13717 "name" : "update_alias",
13718 "parameters" : {
13719 "additionalProperties" : 0,
13720 "properties" : {
13721 "cidr" : {
13722 "description" : "Network/IP specification in CIDR format.",
13723 "format" : "IPorCIDR",
13724 "type" : "string"
13725 },
13726 "comment" : {
13727 "optional" : 1,
13728 "type" : "string"
13729 },
13730 "digest" : {
13731 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13732 "maxLength" : 40,
13733 "optional" : 1,
13734 "type" : "string"
13735 },
13736 "name" : {
13737 "description" : "Alias name.",
13738 "maxLength" : 64,
13739 "minLength" : 2,
13740 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13741 "type" : "string"
13742 },
13743 "node" : {
13744 "description" : "The cluster node name.",
13745 "format" : "pve-node",
13746 "type" : "string"
13747 },
13748 "rename" : {
13749 "description" : "Rename an existing alias.",
13750 "maxLength" : 64,
13751 "minLength" : 2,
13752 "optional" : 1,
13753 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13754 "type" : "string"
13755 },
13756 "vmid" : {
13757 "description" : "The (unique) ID of the VM.",
13758 "format" : "pve-vmid",
13759 "minimum" : 1,
13760 "type" : "integer",
13761 "typetext" : "integer (1- N)"
13762 }
13763 }
13764 },
13765 "permissions" : {
13766 "check" : [
13767 "perm",
13768 "/vms/{vmid}",
13769 [
13770 "VM.Config.Network"
13771 ]
13772 ]
13773 },
13774 "protected" : 1,
13775 "returns" : {
13776 "type" : "null"
13777 }
13778 }
13779 },
13780 "leaf" : 1,
13781 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
13782 "text" : "{name}"
13783 }
13784 ],
13785 "info" : {
13786 "GET" : {
13787 "description" : "List aliases",
13788 "method" : "GET",
13789 "name" : "get_aliases",
13790 "parameters" : {
13791 "additionalProperties" : 0,
13792 "properties" : {
13793 "node" : {
13794 "description" : "The cluster node name.",
13795 "format" : "pve-node",
13796 "type" : "string"
13797 },
13798 "vmid" : {
13799 "description" : "The (unique) ID of the VM.",
13800 "format" : "pve-vmid",
13801 "minimum" : 1,
13802 "type" : "integer",
13803 "typetext" : "integer (1- N)"
13804 }
13805 }
13806 },
13807 "permissions" : {
13808 "check" : [
13809 "perm",
13810 "/vms/{vmid}",
13811 [
13812 "VM.Audit"
13813 ]
13814 ]
13815 },
13816 "returns" : {
13817 "items" : {
13818 "properties" : {
13819 "cidr" : {
13820 "type" : "string"
13821 },
13822 "comment" : {
13823 "optional" : 1,
13824 "type" : "string"
13825 },
13826 "digest" : {
13827 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13828 "maxLength" : 40,
13829 "optional" : 0,
13830 "type" : "string"
13831 },
13832 "name" : {
13833 "type" : "string"
13834 }
13835 },
13836 "type" : "object"
13837 },
13838 "links" : [
13839 {
13840 "href" : "{name}",
13841 "rel" : "child"
13842 }
13843 ],
13844 "type" : "array"
13845 }
13846 },
13847 "POST" : {
13848 "description" : "Create IP or Network Alias.",
13849 "method" : "POST",
13850 "name" : "create_alias",
13851 "parameters" : {
13852 "additionalProperties" : 0,
13853 "properties" : {
13854 "cidr" : {
13855 "description" : "Network/IP specification in CIDR format.",
13856 "format" : "IPorCIDR",
13857 "type" : "string"
13858 },
13859 "comment" : {
13860 "optional" : 1,
13861 "type" : "string"
13862 },
13863 "name" : {
13864 "description" : "Alias name.",
13865 "maxLength" : 64,
13866 "minLength" : 2,
13867 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13868 "type" : "string"
13869 },
13870 "node" : {
13871 "description" : "The cluster node name.",
13872 "format" : "pve-node",
13873 "type" : "string"
13874 },
13875 "vmid" : {
13876 "description" : "The (unique) ID of the VM.",
13877 "format" : "pve-vmid",
13878 "minimum" : 1,
13879 "type" : "integer",
13880 "typetext" : "integer (1- N)"
13881 }
13882 }
13883 },
13884 "permissions" : {
13885 "check" : [
13886 "perm",
13887 "/vms/{vmid}",
13888 [
13889 "VM.Config.Network"
13890 ]
13891 ]
13892 },
13893 "protected" : 1,
13894 "returns" : {
13895 "type" : "null"
13896 }
13897 }
13898 },
13899 "leaf" : 0,
13900 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
13901 "text" : "aliases"
13902 },
13903 {
13904 "children" : [
13905 {
13906 "children" : [
13907 {
13908 "info" : {
13909 "DELETE" : {
13910 "description" : "Remove IP or Network from IPSet.",
13911 "method" : "DELETE",
13912 "name" : "remove_ip",
13913 "parameters" : {
13914 "additionalProperties" : 0,
13915 "properties" : {
13916 "cidr" : {
13917 "description" : "Network/IP specification in CIDR format.",
13918 "format" : "IPorCIDRorAlias",
13919 "type" : "string"
13920 },
13921 "digest" : {
13922 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13923 "maxLength" : 40,
13924 "optional" : 1,
13925 "type" : "string"
13926 },
13927 "name" : {
13928 "description" : "IP set name.",
13929 "maxLength" : 64,
13930 "minLength" : 2,
13931 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13932 "type" : "string"
13933 },
13934 "node" : {
13935 "description" : "The cluster node name.",
13936 "format" : "pve-node",
13937 "type" : "string"
13938 },
13939 "vmid" : {
13940 "description" : "The (unique) ID of the VM.",
13941 "format" : "pve-vmid",
13942 "minimum" : 1,
13943 "type" : "integer",
13944 "typetext" : "integer (1- N)"
13945 }
13946 }
13947 },
13948 "permissions" : {
13949 "check" : [
13950 "perm",
13951 "/vms/{vmid}",
13952 [
13953 "VM.Config.Network"
13954 ]
13955 ]
13956 },
13957 "protected" : 1,
13958 "returns" : {
13959 "type" : "null"
13960 }
13961 },
13962 "GET" : {
13963 "description" : "Read IP or Network settings from IPSet.",
13964 "method" : "GET",
13965 "name" : "read_ip",
13966 "parameters" : {
13967 "additionalProperties" : 0,
13968 "properties" : {
13969 "cidr" : {
13970 "description" : "Network/IP specification in CIDR format.",
13971 "format" : "IPorCIDRorAlias",
13972 "type" : "string"
13973 },
13974 "name" : {
13975 "description" : "IP set name.",
13976 "maxLength" : 64,
13977 "minLength" : 2,
13978 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13979 "type" : "string"
13980 },
13981 "node" : {
13982 "description" : "The cluster node name.",
13983 "format" : "pve-node",
13984 "type" : "string"
13985 },
13986 "vmid" : {
13987 "description" : "The (unique) ID of the VM.",
13988 "format" : "pve-vmid",
13989 "minimum" : 1,
13990 "type" : "integer",
13991 "typetext" : "integer (1- N)"
13992 }
13993 }
13994 },
13995 "permissions" : {
13996 "check" : [
13997 "perm",
13998 "/vms/{vmid}",
13999 [
14000 "VM.Audit"
14001 ]
14002 ]
14003 },
14004 "protected" : 1,
14005 "returns" : {
14006 "type" : "object"
14007 }
14008 },
14009 "PUT" : {
14010 "description" : "Update IP or Network settings",
14011 "method" : "PUT",
14012 "name" : "update_ip",
14013 "parameters" : {
14014 "additionalProperties" : 0,
14015 "properties" : {
14016 "cidr" : {
14017 "description" : "Network/IP specification in CIDR format.",
14018 "format" : "IPorCIDRorAlias",
14019 "type" : "string"
14020 },
14021 "comment" : {
14022 "optional" : 1,
14023 "type" : "string"
14024 },
14025 "digest" : {
14026 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14027 "maxLength" : 40,
14028 "optional" : 1,
14029 "type" : "string"
14030 },
14031 "name" : {
14032 "description" : "IP set name.",
14033 "maxLength" : 64,
14034 "minLength" : 2,
14035 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14036 "type" : "string"
14037 },
14038 "node" : {
14039 "description" : "The cluster node name.",
14040 "format" : "pve-node",
14041 "type" : "string"
14042 },
14043 "nomatch" : {
14044 "optional" : 1,
14045 "type" : "boolean"
14046 },
14047 "vmid" : {
14048 "description" : "The (unique) ID of the VM.",
14049 "format" : "pve-vmid",
14050 "minimum" : 1,
14051 "type" : "integer",
14052 "typetext" : "integer (1- N)"
14053 }
14054 }
14055 },
14056 "permissions" : {
14057 "check" : [
14058 "perm",
14059 "/vms/{vmid}",
14060 [
14061 "VM.Config.Network"
14062 ]
14063 ]
14064 },
14065 "protected" : 1,
14066 "returns" : {
14067 "type" : "null"
14068 }
14069 }
14070 },
14071 "leaf" : 1,
14072 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
14073 "text" : "{cidr}"
14074 }
14075 ],
14076 "info" : {
14077 "DELETE" : {
14078 "description" : "Delete IPSet",
14079 "method" : "DELETE",
14080 "name" : "delete_ipset",
14081 "parameters" : {
14082 "additionalProperties" : 0,
14083 "properties" : {
14084 "name" : {
14085 "description" : "IP set name.",
14086 "maxLength" : 64,
14087 "minLength" : 2,
14088 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14089 "type" : "string"
14090 },
14091 "node" : {
14092 "description" : "The cluster node name.",
14093 "format" : "pve-node",
14094 "type" : "string"
14095 },
14096 "vmid" : {
14097 "description" : "The (unique) ID of the VM.",
14098 "format" : "pve-vmid",
14099 "minimum" : 1,
14100 "type" : "integer",
14101 "typetext" : "integer (1- N)"
14102 }
14103 }
14104 },
14105 "permissions" : {
14106 "check" : [
14107 "perm",
14108 "/vms/{vmid}",
14109 [
14110 "VM.Config.Network"
14111 ]
14112 ]
14113 },
14114 "protected" : 1,
14115 "returns" : {
14116 "type" : "null"
14117 }
14118 },
14119 "GET" : {
14120 "description" : "List IPSet content",
14121 "method" : "GET",
14122 "name" : "get_ipset",
14123 "parameters" : {
14124 "additionalProperties" : 0,
14125 "properties" : {
14126 "name" : {
14127 "description" : "IP set name.",
14128 "maxLength" : 64,
14129 "minLength" : 2,
14130 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14131 "type" : "string"
14132 },
14133 "node" : {
14134 "description" : "The cluster node name.",
14135 "format" : "pve-node",
14136 "type" : "string"
14137 },
14138 "vmid" : {
14139 "description" : "The (unique) ID of the VM.",
14140 "format" : "pve-vmid",
14141 "minimum" : 1,
14142 "type" : "integer",
14143 "typetext" : "integer (1- N)"
14144 }
14145 }
14146 },
14147 "permissions" : {
14148 "check" : [
14149 "perm",
14150 "/vms/{vmid}",
14151 [
14152 "VM.Audit"
14153 ]
14154 ]
14155 },
14156 "returns" : {
14157 "items" : {
14158 "properties" : {
14159 "cidr" : {
14160 "type" : "string"
14161 },
14162 "comment" : {
14163 "optional" : 1,
14164 "type" : "string"
14165 },
14166 "digest" : {
14167 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14168 "maxLength" : 40,
14169 "optional" : 0,
14170 "type" : "string"
14171 },
14172 "nomatch" : {
14173 "optional" : 1,
14174 "type" : "boolean"
14175 }
14176 },
14177 "type" : "object"
14178 },
14179 "links" : [
14180 {
14181 "href" : "{cidr}",
14182 "rel" : "child"
14183 }
14184 ],
14185 "type" : "array"
14186 }
14187 },
14188 "POST" : {
14189 "description" : "Add IP or Network to IPSet.",
14190 "method" : "POST",
14191 "name" : "create_ip",
14192 "parameters" : {
14193 "additionalProperties" : 0,
14194 "properties" : {
14195 "cidr" : {
14196 "description" : "Network/IP specification in CIDR format.",
14197 "format" : "IPorCIDRorAlias",
14198 "type" : "string"
14199 },
14200 "comment" : {
14201 "optional" : 1,
14202 "type" : "string"
14203 },
14204 "name" : {
14205 "description" : "IP set name.",
14206 "maxLength" : 64,
14207 "minLength" : 2,
14208 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14209 "type" : "string"
14210 },
14211 "node" : {
14212 "description" : "The cluster node name.",
14213 "format" : "pve-node",
14214 "type" : "string"
14215 },
14216 "nomatch" : {
14217 "optional" : 1,
14218 "type" : "boolean"
14219 },
14220 "vmid" : {
14221 "description" : "The (unique) ID of the VM.",
14222 "format" : "pve-vmid",
14223 "minimum" : 1,
14224 "type" : "integer",
14225 "typetext" : "integer (1- N)"
14226 }
14227 }
14228 },
14229 "permissions" : {
14230 "check" : [
14231 "perm",
14232 "/vms/{vmid}",
14233 [
14234 "VM.Config.Network"
14235 ]
14236 ]
14237 },
14238 "protected" : 1,
14239 "returns" : {
14240 "type" : "null"
14241 }
14242 }
14243 },
14244 "leaf" : 0,
14245 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
14246 "text" : "{name}"
14247 }
14248 ],
14249 "info" : {
14250 "GET" : {
14251 "description" : "List IPSets",
14252 "method" : "GET",
14253 "name" : "ipset_index",
14254 "parameters" : {
14255 "additionalProperties" : 0,
14256 "properties" : {
14257 "node" : {
14258 "description" : "The cluster node name.",
14259 "format" : "pve-node",
14260 "type" : "string"
14261 },
14262 "vmid" : {
14263 "description" : "The (unique) ID of the VM.",
14264 "format" : "pve-vmid",
14265 "minimum" : 1,
14266 "type" : "integer",
14267 "typetext" : "integer (1- N)"
14268 }
14269 }
14270 },
14271 "permissions" : {
14272 "check" : [
14273 "perm",
14274 "/vms/{vmid}",
14275 [
14276 "VM.Audit"
14277 ]
14278 ]
14279 },
14280 "returns" : {
14281 "items" : {
14282 "properties" : {
14283 "comment" : {
14284 "optional" : 1,
14285 "type" : "string"
14286 },
14287 "digest" : {
14288 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14289 "maxLength" : 40,
14290 "optional" : 0,
14291 "type" : "string"
14292 },
14293 "name" : {
14294 "description" : "IP set name.",
14295 "maxLength" : 64,
14296 "minLength" : 2,
14297 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14298 "type" : "string"
14299 }
14300 },
14301 "type" : "object"
14302 },
14303 "links" : [
14304 {
14305 "href" : "{name}",
14306 "rel" : "child"
14307 }
14308 ],
14309 "type" : "array"
14310 }
14311 },
14312 "POST" : {
14313 "description" : "Create new IPSet",
14314 "method" : "POST",
14315 "name" : "create_ipset",
14316 "parameters" : {
14317 "additionalProperties" : 0,
14318 "properties" : {
14319 "comment" : {
14320 "optional" : 1,
14321 "type" : "string"
14322 },
14323 "digest" : {
14324 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14325 "maxLength" : 40,
14326 "optional" : 1,
14327 "type" : "string"
14328 },
14329 "name" : {
14330 "description" : "IP set name.",
14331 "maxLength" : 64,
14332 "minLength" : 2,
14333 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14334 "type" : "string"
14335 },
14336 "node" : {
14337 "description" : "The cluster node name.",
14338 "format" : "pve-node",
14339 "type" : "string"
14340 },
14341 "rename" : {
14342 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
14343 "maxLength" : 64,
14344 "minLength" : 2,
14345 "optional" : 1,
14346 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14347 "type" : "string"
14348 },
14349 "vmid" : {
14350 "description" : "The (unique) ID of the VM.",
14351 "format" : "pve-vmid",
14352 "minimum" : 1,
14353 "type" : "integer",
14354 "typetext" : "integer (1- N)"
14355 }
14356 }
14357 },
14358 "permissions" : {
14359 "check" : [
14360 "perm",
14361 "/vms/{vmid}",
14362 [
14363 "VM.Config.Network"
14364 ]
14365 ]
14366 },
14367 "protected" : 1,
14368 "returns" : {
14369 "type" : "null"
14370 }
14371 }
14372 },
14373 "leaf" : 0,
14374 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
14375 "text" : "ipset"
14376 },
14377 {
14378 "info" : {
14379 "GET" : {
14380 "description" : "Get VM firewall options.",
14381 "method" : "GET",
14382 "name" : "get_options",
14383 "parameters" : {
14384 "additionalProperties" : 0,
14385 "properties" : {
14386 "node" : {
14387 "description" : "The cluster node name.",
14388 "format" : "pve-node",
14389 "type" : "string"
14390 },
14391 "vmid" : {
14392 "description" : "The (unique) ID of the VM.",
14393 "format" : "pve-vmid",
14394 "minimum" : 1,
14395 "type" : "integer",
14396 "typetext" : "integer (1- N)"
14397 }
14398 }
14399 },
14400 "permissions" : {
14401 "check" : [
14402 "perm",
14403 "/vms/{vmid}",
14404 [
14405 "VM.Audit"
14406 ]
14407 ]
14408 },
14409 "proxyto" : "node",
14410 "returns" : {
14411 "properties" : {
14412 "dhcp" : {
14413 "description" : "Enable DHCP.",
14414 "optional" : 1,
14415 "type" : "boolean"
14416 },
14417 "enable" : {
14418 "description" : "Enable/disable firewall rules.",
14419 "optional" : 1,
14420 "type" : "boolean"
14421 },
14422 "ipfilter" : {
14423 "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.",
14424 "optional" : 1,
14425 "type" : "boolean"
14426 },
14427 "log_level_in" : {
14428 "description" : "Log level for incoming traffic.",
14429 "enum" : [
14430 "emerg",
14431 "alert",
14432 "crit",
14433 "err",
14434 "warning",
14435 "notice",
14436 "info",
14437 "debug",
14438 "nolog"
14439 ],
14440 "optional" : 1,
14441 "type" : "string"
14442 },
14443 "log_level_out" : {
14444 "description" : "Log level for outgoing traffic.",
14445 "enum" : [
14446 "emerg",
14447 "alert",
14448 "crit",
14449 "err",
14450 "warning",
14451 "notice",
14452 "info",
14453 "debug",
14454 "nolog"
14455 ],
14456 "optional" : 1,
14457 "type" : "string"
14458 },
14459 "macfilter" : {
14460 "description" : "Enable/disable MAC address filter.",
14461 "optional" : 1,
14462 "type" : "boolean"
14463 },
14464 "ndp" : {
14465 "description" : "Enable NDP.",
14466 "optional" : 1,
14467 "type" : "boolean"
14468 },
14469 "policy_in" : {
14470 "description" : "Input policy.",
14471 "enum" : [
14472 "ACCEPT",
14473 "REJECT",
14474 "DROP"
14475 ],
14476 "optional" : 1,
14477 "type" : "string"
14478 },
14479 "policy_out" : {
14480 "description" : "Output policy.",
14481 "enum" : [
14482 "ACCEPT",
14483 "REJECT",
14484 "DROP"
14485 ],
14486 "optional" : 1,
14487 "type" : "string"
14488 },
14489 "radv" : {
14490 "description" : "Allow sending Router Advertisement.",
14491 "optional" : 1,
14492 "type" : "boolean"
14493 }
14494 },
14495 "type" : "object"
14496 }
14497 },
14498 "PUT" : {
14499 "description" : "Set Firewall options.",
14500 "method" : "PUT",
14501 "name" : "set_options",
14502 "parameters" : {
14503 "additionalProperties" : 0,
14504 "properties" : {
14505 "delete" : {
14506 "description" : "A list of settings you want to delete.",
14507 "format" : "pve-configid-list",
14508 "optional" : 1,
14509 "type" : "string"
14510 },
14511 "dhcp" : {
14512 "description" : "Enable DHCP.",
14513 "optional" : 1,
14514 "type" : "boolean"
14515 },
14516 "digest" : {
14517 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14518 "maxLength" : 40,
14519 "optional" : 1,
14520 "type" : "string"
14521 },
14522 "enable" : {
14523 "description" : "Enable/disable firewall rules.",
14524 "optional" : 1,
14525 "type" : "boolean"
14526 },
14527 "ipfilter" : {
14528 "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.",
14529 "optional" : 1,
14530 "type" : "boolean"
14531 },
14532 "log_level_in" : {
14533 "description" : "Log level for incoming traffic.",
14534 "enum" : [
14535 "emerg",
14536 "alert",
14537 "crit",
14538 "err",
14539 "warning",
14540 "notice",
14541 "info",
14542 "debug",
14543 "nolog"
14544 ],
14545 "optional" : 1,
14546 "type" : "string"
14547 },
14548 "log_level_out" : {
14549 "description" : "Log level for outgoing traffic.",
14550 "enum" : [
14551 "emerg",
14552 "alert",
14553 "crit",
14554 "err",
14555 "warning",
14556 "notice",
14557 "info",
14558 "debug",
14559 "nolog"
14560 ],
14561 "optional" : 1,
14562 "type" : "string"
14563 },
14564 "macfilter" : {
14565 "description" : "Enable/disable MAC address filter.",
14566 "optional" : 1,
14567 "type" : "boolean"
14568 },
14569 "ndp" : {
14570 "description" : "Enable NDP.",
14571 "optional" : 1,
14572 "type" : "boolean"
14573 },
14574 "node" : {
14575 "description" : "The cluster node name.",
14576 "format" : "pve-node",
14577 "type" : "string"
14578 },
14579 "policy_in" : {
14580 "description" : "Input policy.",
14581 "enum" : [
14582 "ACCEPT",
14583 "REJECT",
14584 "DROP"
14585 ],
14586 "optional" : 1,
14587 "type" : "string"
14588 },
14589 "policy_out" : {
14590 "description" : "Output policy.",
14591 "enum" : [
14592 "ACCEPT",
14593 "REJECT",
14594 "DROP"
14595 ],
14596 "optional" : 1,
14597 "type" : "string"
14598 },
14599 "radv" : {
14600 "description" : "Allow sending Router Advertisement.",
14601 "optional" : 1,
14602 "type" : "boolean"
14603 },
14604 "vmid" : {
14605 "description" : "The (unique) ID of the VM.",
14606 "format" : "pve-vmid",
14607 "minimum" : 1,
14608 "type" : "integer",
14609 "typetext" : "integer (1- N)"
14610 }
14611 }
14612 },
14613 "permissions" : {
14614 "check" : [
14615 "perm",
14616 "/vms/{vmid}",
14617 [
14618 "VM.Config.Network"
14619 ]
14620 ]
14621 },
14622 "protected" : 1,
14623 "proxyto" : "node",
14624 "returns" : {
14625 "type" : "null"
14626 }
14627 }
14628 },
14629 "leaf" : 1,
14630 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
14631 "text" : "options"
14632 },
14633 {
14634 "info" : {
14635 "GET" : {
14636 "description" : "Read firewall log",
14637 "method" : "GET",
14638 "name" : "log",
14639 "parameters" : {
14640 "additionalProperties" : 0,
14641 "properties" : {
14642 "limit" : {
14643 "minimum" : 0,
14644 "optional" : 1,
14645 "type" : "integer",
14646 "typetext" : "integer (0- N)"
14647 },
14648 "node" : {
14649 "description" : "The cluster node name.",
14650 "format" : "pve-node",
14651 "type" : "string"
14652 },
14653 "start" : {
14654 "minimum" : 0,
14655 "optional" : 1,
14656 "type" : "integer",
14657 "typetext" : "integer (0- N)"
14658 },
14659 "vmid" : {
14660 "description" : "The (unique) ID of the VM.",
14661 "format" : "pve-vmid",
14662 "minimum" : 1,
14663 "type" : "integer",
14664 "typetext" : "integer (1- N)"
14665 }
14666 }
14667 },
14668 "permissions" : {
14669 "check" : [
14670 "perm",
14671 "/vms/{vmid}",
14672 [
14673 "VM.Console"
14674 ]
14675 ]
14676 },
14677 "protected" : 1,
14678 "proxyto" : "node",
14679 "returns" : {
14680 "items" : {
14681 "properties" : {
14682 "n" : {
14683 "description" : "Line number",
14684 "type" : "integer"
14685 },
14686 "t" : {
14687 "description" : "Line text",
14688 "type" : "string"
14689 }
14690 },
14691 "type" : "object"
14692 },
14693 "type" : "array"
14694 }
14695 }
14696 },
14697 "leaf" : 1,
14698 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
14699 "text" : "log"
14700 },
14701 {
14702 "info" : {
14703 "GET" : {
14704 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
14705 "method" : "GET",
14706 "name" : "refs",
14707 "parameters" : {
14708 "additionalProperties" : 0,
14709 "properties" : {
14710 "node" : {
14711 "description" : "The cluster node name.",
14712 "format" : "pve-node",
14713 "type" : "string"
14714 },
14715 "type" : {
14716 "description" : "Only list references of specified type.",
14717 "enum" : [
14718 "alias",
14719 "ipset"
14720 ],
14721 "optional" : 1,
14722 "type" : "string"
14723 },
14724 "vmid" : {
14725 "description" : "The (unique) ID of the VM.",
14726 "format" : "pve-vmid",
14727 "minimum" : 1,
14728 "type" : "integer",
14729 "typetext" : "integer (1- N)"
14730 }
14731 }
14732 },
14733 "permissions" : {
14734 "check" : [
14735 "perm",
14736 "/vms/{vmid}",
14737 [
14738 "VM.Audit"
14739 ]
14740 ]
14741 },
14742 "returns" : {
14743 "items" : {
14744 "properties" : {
14745 "comment" : {
14746 "optional" : 1,
14747 "type" : "string"
14748 },
14749 "name" : {
14750 "type" : "string"
14751 },
14752 "type" : {
14753 "enum" : [
14754 "alias",
14755 "ipset"
14756 ],
14757 "type" : "string"
14758 }
14759 },
14760 "type" : "object"
14761 },
14762 "type" : "array"
14763 }
14764 }
14765 },
14766 "leaf" : 1,
14767 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
14768 "text" : "refs"
14769 }
14770 ],
14771 "info" : {
14772 "GET" : {
14773 "description" : "Directory index.",
14774 "method" : "GET",
14775 "name" : "index",
14776 "parameters" : {
14777 "additionalProperties" : 0,
14778 "properties" : {
14779 "node" : {
14780 "description" : "The cluster node name.",
14781 "format" : "pve-node",
14782 "type" : "string"
14783 },
14784 "vmid" : {
14785 "description" : "The (unique) ID of the VM.",
14786 "format" : "pve-vmid",
14787 "minimum" : 1,
14788 "type" : "integer",
14789 "typetext" : "integer (1- N)"
14790 }
14791 }
14792 },
14793 "permissions" : {
14794 "user" : "all"
14795 },
14796 "returns" : {
14797 "items" : {
14798 "properties" : {},
14799 "type" : "object"
14800 },
14801 "links" : [
14802 {
14803 "href" : "{name}",
14804 "rel" : "child"
14805 }
14806 ],
14807 "type" : "array"
14808 }
14809 }
14810 },
14811 "leaf" : 0,
14812 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
14813 "text" : "firewall"
14814 },
14815 {
14816 "info" : {
14817 "GET" : {
14818 "description" : "Read VM RRD statistics (returns PNG)",
14819 "method" : "GET",
14820 "name" : "rrd",
14821 "parameters" : {
14822 "additionalProperties" : 0,
14823 "properties" : {
14824 "cf" : {
14825 "description" : "The RRD consolidation function",
14826 "enum" : [
14827 "AVERAGE",
14828 "MAX"
14829 ],
14830 "optional" : 1,
14831 "type" : "string"
14832 },
14833 "ds" : {
14834 "description" : "The list of datasources you want to display.",
14835 "format" : "pve-configid-list",
14836 "type" : "string"
14837 },
14838 "node" : {
14839 "description" : "The cluster node name.",
14840 "format" : "pve-node",
14841 "type" : "string"
14842 },
14843 "timeframe" : {
14844 "description" : "Specify the time frame you are interested in.",
14845 "enum" : [
14846 "hour",
14847 "day",
14848 "week",
14849 "month",
14850 "year"
14851 ],
14852 "type" : "string"
14853 },
14854 "vmid" : {
14855 "description" : "The (unique) ID of the VM.",
14856 "format" : "pve-vmid",
14857 "minimum" : 1,
14858 "type" : "integer",
14859 "typetext" : "integer (1- N)"
14860 }
14861 }
14862 },
14863 "permissions" : {
14864 "check" : [
14865 "perm",
14866 "/vms/{vmid}",
14867 [
14868 "VM.Audit"
14869 ]
14870 ]
14871 },
14872 "protected" : 1,
14873 "returns" : {
14874 "properties" : {
14875 "filename" : {
14876 "type" : "string"
14877 }
14878 },
14879 "type" : "object"
14880 }
14881 }
14882 },
14883 "leaf" : 1,
14884 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
14885 "text" : "rrd"
14886 },
14887 {
14888 "info" : {
14889 "GET" : {
14890 "description" : "Read VM RRD statistics",
14891 "method" : "GET",
14892 "name" : "rrddata",
14893 "parameters" : {
14894 "additionalProperties" : 0,
14895 "properties" : {
14896 "cf" : {
14897 "description" : "The RRD consolidation function",
14898 "enum" : [
14899 "AVERAGE",
14900 "MAX"
14901 ],
14902 "optional" : 1,
14903 "type" : "string"
14904 },
14905 "node" : {
14906 "description" : "The cluster node name.",
14907 "format" : "pve-node",
14908 "type" : "string"
14909 },
14910 "timeframe" : {
14911 "description" : "Specify the time frame you are interested in.",
14912 "enum" : [
14913 "hour",
14914 "day",
14915 "week",
14916 "month",
14917 "year"
14918 ],
14919 "type" : "string"
14920 },
14921 "vmid" : {
14922 "description" : "The (unique) ID of the VM.",
14923 "format" : "pve-vmid",
14924 "minimum" : 1,
14925 "type" : "integer",
14926 "typetext" : "integer (1- N)"
14927 }
14928 }
14929 },
14930 "permissions" : {
14931 "check" : [
14932 "perm",
14933 "/vms/{vmid}",
14934 [
14935 "VM.Audit"
14936 ]
14937 ]
14938 },
14939 "protected" : 1,
14940 "returns" : {
14941 "items" : {
14942 "properties" : {},
14943 "type" : "object"
14944 },
14945 "type" : "array"
14946 }
14947 }
14948 },
14949 "leaf" : 1,
14950 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
14951 "text" : "rrddata"
14952 },
14953 {
14954 "info" : {
14955 "POST" : {
14956 "description" : "Creates a TCP VNC proxy connections.",
14957 "method" : "POST",
14958 "name" : "vncproxy",
14959 "parameters" : {
14960 "additionalProperties" : 0,
14961 "properties" : {
14962 "node" : {
14963 "description" : "The cluster node name.",
14964 "format" : "pve-node",
14965 "type" : "string"
14966 },
14967 "vmid" : {
14968 "description" : "The (unique) ID of the VM.",
14969 "format" : "pve-vmid",
14970 "minimum" : 1,
14971 "type" : "integer",
14972 "typetext" : "integer (1- N)"
14973 },
14974 "websocket" : {
14975 "description" : "use websocket instead of standard VNC.",
14976 "optional" : 1,
14977 "type" : "boolean"
14978 }
14979 }
14980 },
14981 "permissions" : {
14982 "check" : [
14983 "perm",
14984 "/vms/{vmid}",
14985 [
14986 "VM.Console"
14987 ]
14988 ]
14989 },
14990 "protected" : 1,
14991 "returns" : {
14992 "additionalProperties" : 0,
14993 "properties" : {
14994 "cert" : {
14995 "type" : "string"
14996 },
14997 "port" : {
14998 "type" : "integer"
14999 },
15000 "ticket" : {
15001 "type" : "string"
15002 },
15003 "upid" : {
15004 "type" : "string"
15005 },
15006 "user" : {
15007 "type" : "string"
15008 }
15009 }
15010 }
15011 }
15012 },
15013 "leaf" : 1,
15014 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
15015 "text" : "vncproxy"
15016 },
15017 {
15018 "info" : {
15019 "GET" : {
15020 "description" : "Opens a weksocket for VNC traffic.",
15021 "method" : "GET",
15022 "name" : "vncwebsocket",
15023 "parameters" : {
15024 "additionalProperties" : 0,
15025 "properties" : {
15026 "node" : {
15027 "description" : "The cluster node name.",
15028 "format" : "pve-node",
15029 "type" : "string"
15030 },
15031 "port" : {
15032 "description" : "Port number returned by previous vncproxy call.",
15033 "maximum" : 5999,
15034 "minimum" : 5900,
15035 "type" : "integer",
15036 "typetext" : "integer (5900-5999)"
15037 },
15038 "vmid" : {
15039 "description" : "The (unique) ID of the VM.",
15040 "format" : "pve-vmid",
15041 "minimum" : 1,
15042 "type" : "integer",
15043 "typetext" : "integer (1- N)"
15044 },
15045 "vncticket" : {
15046 "description" : "Ticket from previous call to vncproxy.",
15047 "maxLength" : 512,
15048 "type" : "string"
15049 }
15050 }
15051 },
15052 "permissions" : {
15053 "check" : [
15054 "perm",
15055 "/vms/{vmid}",
15056 [
15057 "VM.Console"
15058 ]
15059 ],
15060 "description" : "You also need to pass a valid ticket (vncticket)."
15061 },
15062 "returns" : {
15063 "properties" : {
15064 "port" : {
15065 "type" : "string"
15066 }
15067 },
15068 "type" : "object"
15069 }
15070 }
15071 },
15072 "leaf" : 1,
15073 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
15074 "text" : "vncwebsocket"
15075 },
15076 {
15077 "info" : {
15078 "POST" : {
15079 "description" : "Returns a SPICE configuration to connect to the CT.",
15080 "method" : "POST",
15081 "name" : "spiceproxy",
15082 "parameters" : {
15083 "additionalProperties" : 0,
15084 "properties" : {
15085 "node" : {
15086 "description" : "The cluster node name.",
15087 "format" : "pve-node",
15088 "type" : "string"
15089 },
15090 "proxy" : {
15091 "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 resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
15092 "format" : "address",
15093 "optional" : 1,
15094 "type" : "string"
15095 },
15096 "vmid" : {
15097 "description" : "The (unique) ID of the VM.",
15098 "format" : "pve-vmid",
15099 "minimum" : 1,
15100 "type" : "integer",
15101 "typetext" : "integer (1- N)"
15102 }
15103 }
15104 },
15105 "permissions" : {
15106 "check" : [
15107 "perm",
15108 "/vms/{vmid}",
15109 [
15110 "VM.Console"
15111 ]
15112 ]
15113 },
15114 "protected" : 1,
15115 "proxyto" : "node",
15116 "returns" : {
15117 "additionalProperties" : 1,
15118 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
15119 "properties" : {
15120 "host" : {
15121 "type" : "string"
15122 },
15123 "password" : {
15124 "type" : "string"
15125 },
15126 "proxy" : {
15127 "type" : "string"
15128 },
15129 "tls-port" : {
15130 "type" : "integer"
15131 },
15132 "type" : {
15133 "type" : "string"
15134 }
15135 }
15136 }
15137 }
15138 },
15139 "leaf" : 1,
15140 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
15141 "text" : "spiceproxy"
15142 },
15143 {
15144 "info" : {
15145 "POST" : {
15146 "description" : "Migrate the container to another node. Creates a new migration task.",
15147 "method" : "POST",
15148 "name" : "migrate_vm",
15149 "parameters" : {
15150 "additionalProperties" : 0,
15151 "properties" : {
15152 "force" : {
15153 "description" : "Force migration despite local bind / device mounts. WARNING: identical bind / device mounts need to be available on the target node.",
15154 "optional" : 1,
15155 "type" : "boolean"
15156 },
15157 "node" : {
15158 "description" : "The cluster node name.",
15159 "format" : "pve-node",
15160 "type" : "string"
15161 },
15162 "online" : {
15163 "description" : "Use online/live migration.",
15164 "optional" : 1,
15165 "type" : "boolean"
15166 },
15167 "target" : {
15168 "description" : "Target node.",
15169 "format" : "pve-node",
15170 "type" : "string"
15171 },
15172 "vmid" : {
15173 "description" : "The (unique) ID of the VM.",
15174 "format" : "pve-vmid",
15175 "minimum" : 1,
15176 "type" : "integer",
15177 "typetext" : "integer (1- N)"
15178 }
15179 }
15180 },
15181 "permissions" : {
15182 "check" : [
15183 "perm",
15184 "/vms/{vmid}",
15185 [
15186 "VM.Migrate"
15187 ]
15188 ]
15189 },
15190 "protected" : 1,
15191 "proxyto" : "node",
15192 "returns" : {
15193 "description" : "the task ID.",
15194 "type" : "string"
15195 }
15196 }
15197 },
15198 "leaf" : 1,
15199 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
15200 "text" : "migrate"
15201 },
15202 {
15203 "info" : {
15204 "GET" : {
15205 "description" : "Check if feature for virtual machine is available.",
15206 "method" : "GET",
15207 "name" : "vm_feature",
15208 "parameters" : {
15209 "additionalProperties" : 0,
15210 "properties" : {
15211 "feature" : {
15212 "description" : "Feature to check.",
15213 "enum" : [
15214 "snapshot"
15215 ],
15216 "type" : "string"
15217 },
15218 "node" : {
15219 "description" : "The cluster node name.",
15220 "format" : "pve-node",
15221 "type" : "string"
15222 },
15223 "snapname" : {
15224 "description" : "The name of the snapshot.",
15225 "format" : "pve-configid",
15226 "maxLength" : 40,
15227 "optional" : 1,
15228 "type" : "string"
15229 },
15230 "vmid" : {
15231 "description" : "The (unique) ID of the VM.",
15232 "format" : "pve-vmid",
15233 "minimum" : 1,
15234 "type" : "integer",
15235 "typetext" : "integer (1- N)"
15236 }
15237 }
15238 },
15239 "permissions" : {
15240 "check" : [
15241 "perm",
15242 "/vms/{vmid}",
15243 [
15244 "VM.Audit"
15245 ]
15246 ]
15247 },
15248 "protected" : 1,
15249 "proxyto" : "node",
15250 "returns" : {
15251 "properties" : {
15252 "hasFeature" : {
15253 "type" : "boolean"
15254 }
15255 },
15256 "type" : "object"
15257 }
15258 }
15259 },
15260 "leaf" : 1,
15261 "path" : "/nodes/{node}/lxc/{vmid}/feature",
15262 "text" : "feature"
15263 },
15264 {
15265 "info" : {
15266 "POST" : {
15267 "description" : "Create a Template.",
15268 "method" : "POST",
15269 "name" : "template",
15270 "parameters" : {
15271 "additionalProperties" : 0,
15272 "properties" : {
15273 "experimental" : {
15274 "default" : 0,
15275 "description" : "The template feature is experimental, set this flag if you know what you are doing.",
15276 "type" : "boolean"
15277 },
15278 "node" : {
15279 "description" : "The cluster node name.",
15280 "format" : "pve-node",
15281 "type" : "string"
15282 },
15283 "vmid" : {
15284 "description" : "The (unique) ID of the VM.",
15285 "format" : "pve-vmid",
15286 "minimum" : 1,
15287 "type" : "integer",
15288 "typetext" : "integer (1- N)"
15289 }
15290 }
15291 },
15292 "permissions" : {
15293 "check" : [
15294 "perm",
15295 "/vms/{vmid}",
15296 [
15297 "VM.Allocate"
15298 ]
15299 ],
15300 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
15301 },
15302 "protected" : 1,
15303 "proxyto" : "node",
15304 "returns" : {
15305 "type" : "null"
15306 }
15307 }
15308 },
15309 "leaf" : 1,
15310 "path" : "/nodes/{node}/lxc/{vmid}/template",
15311 "text" : "template"
15312 },
15313 {
15314 "info" : {
15315 "POST" : {
15316 "description" : "Create a container clone/copy",
15317 "method" : "POST",
15318 "name" : "clone_vm",
15319 "parameters" : {
15320 "additionalProperties" : 0,
15321 "properties" : {
15322 "description" : {
15323 "description" : "Description for the new CT.",
15324 "optional" : 1,
15325 "type" : "string"
15326 },
15327 "experimental" : {
15328 "default" : 0,
15329 "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
15330 "type" : "boolean"
15331 },
15332 "full" : {
15333 "default" : 0,
15334 "description" : "Create a full copy of all disk. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
15335 "optional" : 1,
15336 "type" : "boolean"
15337 },
15338 "hostname" : {
15339 "description" : "Set a hostname for the new CT.",
15340 "format" : "dns-name",
15341 "optional" : 1,
15342 "type" : "string"
15343 },
15344 "newid" : {
15345 "description" : "VMID for the clone.",
15346 "format" : "pve-vmid",
15347 "minimum" : 1,
15348 "type" : "integer",
15349 "typetext" : "integer (1- N)"
15350 },
15351 "node" : {
15352 "description" : "The cluster node name.",
15353 "format" : "pve-node",
15354 "type" : "string"
15355 },
15356 "pool" : {
15357 "description" : "Add the new CT to the specified pool.",
15358 "format" : "pve-poolid",
15359 "optional" : 1,
15360 "type" : "string"
15361 },
15362 "snapname" : {
15363 "description" : "The name of the snapshot.",
15364 "format" : "pve-configid",
15365 "maxLength" : 40,
15366 "optional" : 1,
15367 "type" : "string"
15368 },
15369 "storage" : {
15370 "description" : "Target storage for full clone.",
15371 "format" : "pve-storage-id",
15372 "optional" : 1,
15373 "requires" : "full",
15374 "type" : "string"
15375 },
15376 "vmid" : {
15377 "description" : "The (unique) ID of the VM.",
15378 "format" : "pve-vmid",
15379 "minimum" : 1,
15380 "type" : "integer",
15381 "typetext" : "integer (1- N)"
15382 }
15383 }
15384 },
15385 "permissions" : {
15386 "check" : [
15387 "and",
15388 [
15389 "perm",
15390 "/vms/{vmid}",
15391 [
15392 "VM.Clone"
15393 ]
15394 ],
15395 [
15396 "or",
15397 [
15398 "perm",
15399 "/vms/{newid}",
15400 [
15401 "VM.Allocate"
15402 ]
15403 ],
15404 [
15405 "perm",
15406 "/pool/{pool}",
15407 [
15408 "VM.Allocate"
15409 ],
15410 "require_param",
15411 "pool"
15412 ]
15413 ]
15414 ],
15415 "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."
15416 },
15417 "protected" : 1,
15418 "proxyto" : "node",
15419 "returns" : {
15420 "type" : "string"
15421 }
15422 }
15423 },
15424 "leaf" : 1,
15425 "path" : "/nodes/{node}/lxc/{vmid}/clone",
15426 "text" : "clone"
15427 },
15428 {
15429 "info" : {
15430 "PUT" : {
15431 "description" : "Resize a container mountpoint.",
15432 "method" : "PUT",
15433 "name" : "resize_vm",
15434 "parameters" : {
15435 "additionalProperties" : 0,
15436 "properties" : {
15437 "digest" : {
15438 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15439 "maxLength" : 40,
15440 "optional" : 1,
15441 "type" : "string"
15442 },
15443 "disk" : {
15444 "description" : "The disk you want to resize.",
15445 "enum" : [
15446 "rootfs",
15447 "mp0",
15448 "mp1",
15449 "mp2",
15450 "mp3",
15451 "mp4",
15452 "mp5",
15453 "mp6",
15454 "mp7",
15455 "mp8",
15456 "mp9"
15457 ],
15458 "type" : "string"
15459 },
15460 "node" : {
15461 "description" : "The cluster node name.",
15462 "format" : "pve-node",
15463 "type" : "string"
15464 },
15465 "size" : {
15466 "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.",
15467 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
15468 "type" : "string"
15469 },
15470 "vmid" : {
15471 "description" : "The (unique) ID of the VM.",
15472 "format" : "pve-vmid",
15473 "minimum" : 1,
15474 "type" : "integer",
15475 "typetext" : "integer (1- N)"
15476 }
15477 }
15478 },
15479 "permissions" : {
15480 "check" : [
15481 "perm",
15482 "/vms/{vmid}",
15483 [
15484 "VM.Config.Disk"
15485 ],
15486 "any",
15487 1
15488 ]
15489 },
15490 "protected" : 1,
15491 "proxyto" : "node",
15492 "returns" : {
15493 "description" : "the task ID.",
15494 "type" : "string"
15495 }
15496 }
15497 },
15498 "leaf" : 1,
15499 "path" : "/nodes/{node}/lxc/{vmid}/resize",
15500 "text" : "resize"
15501 }
15502 ],
15503 "info" : {
15504 "DELETE" : {
15505 "description" : "Destroy the container (also delete all uses files).",
15506 "method" : "DELETE",
15507 "name" : "destroy_vm",
15508 "parameters" : {
15509 "additionalProperties" : 0,
15510 "properties" : {
15511 "node" : {
15512 "description" : "The cluster node name.",
15513 "format" : "pve-node",
15514 "type" : "string"
15515 },
15516 "vmid" : {
15517 "description" : "The (unique) ID of the VM.",
15518 "format" : "pve-vmid",
15519 "minimum" : 1,
15520 "type" : "integer",
15521 "typetext" : "integer (1- N)"
15522 }
15523 }
15524 },
15525 "permissions" : {
15526 "check" : [
15527 "perm",
15528 "/vms/{vmid}",
15529 [
15530 "VM.Allocate"
15531 ]
15532 ]
15533 },
15534 "protected" : 1,
15535 "proxyto" : "node",
15536 "returns" : {
15537 "type" : "string"
15538 }
15539 },
15540 "GET" : {
15541 "description" : "Directory index",
15542 "method" : "GET",
15543 "name" : "vmdiridx",
15544 "parameters" : {
15545 "additionalProperties" : 0,
15546 "properties" : {
15547 "node" : {
15548 "description" : "The cluster node name.",
15549 "format" : "pve-node",
15550 "type" : "string"
15551 },
15552 "vmid" : {
15553 "description" : "The (unique) ID of the VM.",
15554 "format" : "pve-vmid",
15555 "minimum" : 1,
15556 "type" : "integer",
15557 "typetext" : "integer (1- N)"
15558 }
15559 }
15560 },
15561 "permissions" : {
15562 "user" : "all"
15563 },
15564 "proxyto" : "node",
15565 "returns" : {
15566 "items" : {
15567 "properties" : {
15568 "subdir" : {
15569 "type" : "string"
15570 }
15571 },
15572 "type" : "object"
15573 },
15574 "links" : [
15575 {
15576 "href" : "{subdir}",
15577 "rel" : "child"
15578 }
15579 ],
15580 "type" : "array"
15581 }
15582 }
15583 },
15584 "leaf" : 0,
15585 "path" : "/nodes/{node}/lxc/{vmid}",
15586 "text" : "{vmid}"
15587 }
15588 ],
15589 "info" : {
15590 "GET" : {
15591 "description" : "LXC container index (per node).",
15592 "method" : "GET",
15593 "name" : "vmlist",
15594 "parameters" : {
15595 "additionalProperties" : 0,
15596 "properties" : {
15597 "node" : {
15598 "description" : "The cluster node name.",
15599 "format" : "pve-node",
15600 "type" : "string"
15601 }
15602 }
15603 },
15604 "permissions" : {
15605 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
15606 "user" : "all"
15607 },
15608 "protected" : 1,
15609 "proxyto" : "node",
15610 "returns" : {
15611 "items" : {
15612 "properties" : {},
15613 "type" : "object"
15614 },
15615 "links" : [
15616 {
15617 "href" : "{vmid}",
15618 "rel" : "child"
15619 }
15620 ],
15621 "type" : "array"
15622 }
15623 },
15624 "POST" : {
15625 "description" : "Create or restore a container.",
15626 "method" : "POST",
15627 "name" : "create_vm",
15628 "parameters" : {
15629 "additionalProperties" : 0,
15630 "properties" : {
15631 "arch" : {
15632 "default" : "amd64",
15633 "description" : "OS architecture type.",
15634 "enum" : [
15635 "amd64",
15636 "i386"
15637 ],
15638 "optional" : 1,
15639 "type" : "string"
15640 },
15641 "cmode" : {
15642 "default" : "tty",
15643 "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).",
15644 "enum" : [
15645 "shell",
15646 "console",
15647 "tty"
15648 ],
15649 "optional" : 1,
15650 "type" : "string"
15651 },
15652 "console" : {
15653 "default" : 1,
15654 "description" : "Attach a console device (/dev/console) to the container.",
15655 "optional" : 1,
15656 "type" : "boolean"
15657 },
15658 "cpulimit" : {
15659 "default" : 0,
15660 "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.",
15661 "maximum" : 128,
15662 "minimum" : 0,
15663 "optional" : 1,
15664 "type" : "number",
15665 "typetext" : "number (0-128)"
15666 },
15667 "cpuunits" : {
15668 "default" : 1024,
15669 "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.",
15670 "maximum" : 500000,
15671 "minimum" : 0,
15672 "optional" : 1,
15673 "type" : "integer",
15674 "typetext" : "integer (0-500000)"
15675 },
15676 "description" : {
15677 "description" : "Container description. Only used on the configuration web interface.",
15678 "optional" : 1,
15679 "type" : "string"
15680 },
15681 "force" : {
15682 "description" : "Allow to overwrite existing container.",
15683 "optional" : 1,
15684 "type" : "boolean"
15685 },
15686 "hostname" : {
15687 "description" : "Set a host name for the container.",
15688 "format" : "dns-name",
15689 "maxLength" : 255,
15690 "optional" : 1,
15691 "type" : "string"
15692 },
15693 "ignore-unpack-errors" : {
15694 "description" : "Ignore errors when extracting the template.",
15695 "optional" : 1,
15696 "type" : "boolean"
15697 },
15698 "lock" : {
15699 "description" : "Lock/unlock the VM.",
15700 "enum" : [
15701 "migrate",
15702 "backup",
15703 "snapshot",
15704 "rollback"
15705 ],
15706 "optional" : 1,
15707 "type" : "string"
15708 },
15709 "memory" : {
15710 "default" : 512,
15711 "description" : "Amount of RAM for the VM in MB.",
15712 "minimum" : 16,
15713 "optional" : 1,
15714 "type" : "integer",
15715 "typetext" : "integer (16- N)"
15716 },
15717 "mp[n]" : {
15718 "description" : "Use volume as container mount point.",
15719 "format" : {
15720 "acl" : {
15721 "description" : "Explicitly enable or disable ACL support.",
15722 "optional" : 1,
15723 "type" : "boolean"
15724 },
15725 "backup" : {
15726 "description" : "Whether to include the mountpoint in backups.",
15727 "optional" : 1,
15728 "type" : "boolean",
15729 "verbose_description" : "Whether to include the mountpoint in backups (only used for volume mountpoints)."
15730 },
15731 "mp" : {
15732 "description" : "Path to the mountpoint as seen from inside the container (must not contain symlinks).",
15733 "format" : "pve-lxc-mp-string",
15734 "format_description" : "Path",
15735 "type" : "string",
15736 "verbose_description" : "Path to the mountpoint as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
15737 },
15738 "quota" : {
15739 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
15740 "optional" : 1,
15741 "type" : "boolean"
15742 },
15743 "ro" : {
15744 "description" : "Read-only mountpoint",
15745 "optional" : 1,
15746 "type" : "boolean"
15747 },
15748 "size" : {
15749 "description" : "Volume size (read only value).",
15750 "format" : "disk-size",
15751 "format_description" : "DiskSize",
15752 "optional" : 1,
15753 "type" : "string"
15754 },
15755 "volume" : {
15756 "default_key" : 1,
15757 "description" : "Volume, device or directory to mount into the container.",
15758 "format" : "pve-lxc-mp-string",
15759 "format_description" : "volume",
15760 "type" : "string"
15761 }
15762 },
15763 "optional" : 1,
15764 "type" : "string",
15765 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,size=<DiskSize>]"
15766 },
15767 "nameserver" : {
15768 "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.",
15769 "format" : "address-list",
15770 "optional" : 1,
15771 "type" : "string"
15772 },
15773 "net[n]" : {
15774 "description" : "Specifies network interfaces for the container.",
15775 "format" : {
15776 "bridge" : {
15777 "description" : "Bridge to attach the network device to.",
15778 "format_description" : "bridge",
15779 "optional" : 1,
15780 "pattern" : "[-_.\\w\\d]+",
15781 "type" : "string"
15782 },
15783 "firewall" : {
15784 "description" : "Controls whether this interface's firewall rules should be used.",
15785 "optional" : 1,
15786 "type" : "boolean"
15787 },
15788 "gw" : {
15789 "description" : "Default gateway for IPv4 traffic.",
15790 "format" : "ipv4",
15791 "format_description" : "GatewayIPv4",
15792 "optional" : 1,
15793 "type" : "string"
15794 },
15795 "gw6" : {
15796 "description" : "Default gateway for IPv6 traffic.",
15797 "format" : "ipv6",
15798 "format_description" : "GatewayIPv6",
15799 "optional" : 1,
15800 "type" : "string"
15801 },
15802 "hwaddr" : {
15803 "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)",
15804 "format_description" : "XX:XX:XX:XX:XX:XX",
15805 "optional" : 1,
15806 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
15807 "type" : "string"
15808 },
15809 "ip" : {
15810 "description" : "IPv4 address in CIDR format.",
15811 "format" : "pve-ipv4-config",
15812 "format_description" : "IPv4Format/CIDR",
15813 "optional" : 1,
15814 "type" : "string"
15815 },
15816 "ip6" : {
15817 "description" : "IPv6 address in CIDR format.",
15818 "format" : "pve-ipv6-config",
15819 "format_description" : "IPv6Format/CIDR",
15820 "optional" : 1,
15821 "type" : "string"
15822 },
15823 "mtu" : {
15824 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
15825 "minimum" : 64,
15826 "optional" : 1,
15827 "type" : "integer"
15828 },
15829 "name" : {
15830 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
15831 "format_description" : "string",
15832 "pattern" : "[-_.\\w\\d]+",
15833 "type" : "string"
15834 },
15835 "rate" : {
15836 "description" : "Apply rate limiting to the interface",
15837 "format_description" : "mbps",
15838 "optional" : 1,
15839 "type" : "number"
15840 },
15841 "tag" : {
15842 "description" : "VLAN tag for this interface.",
15843 "maximum" : 4094,
15844 "minimum" : 1,
15845 "optional" : 1,
15846 "type" : "integer"
15847 },
15848 "trunks" : {
15849 "description" : "VLAN ids to pass through the interface",
15850 "format_description" : "vlanid[;vlanid...]",
15851 "optional" : 1,
15852 "pattern" : "(?^:\\d+(?:;\\d+)*)",
15853 "type" : "string"
15854 },
15855 "type" : {
15856 "description" : "Network interface type.",
15857 "enum" : [
15858 "veth"
15859 ],
15860 "optional" : 1,
15861 "type" : "string"
15862 }
15863 },
15864 "optional" : 1,
15865 "type" : "string",
15866 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
15867 },
15868 "node" : {
15869 "description" : "The cluster node name.",
15870 "format" : "pve-node",
15871 "type" : "string"
15872 },
15873 "onboot" : {
15874 "default" : 0,
15875 "description" : "Specifies whether a VM will be started during system bootup.",
15876 "optional" : 1,
15877 "type" : "boolean"
15878 },
15879 "ostemplate" : {
15880 "description" : "The OS template or backup file.",
15881 "maxLength" : 255,
15882 "type" : "string"
15883 },
15884 "ostype" : {
15885 "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.",
15886 "enum" : [
15887 "debian",
15888 "ubuntu",
15889 "centos",
15890 "fedora",
15891 "opensuse",
15892 "archlinux",
15893 "alpine",
15894 "gentoo",
15895 "unmanaged"
15896 ],
15897 "optional" : 1,
15898 "type" : "string"
15899 },
15900 "password" : {
15901 "description" : "Sets root password inside container.",
15902 "minLength" : 5,
15903 "optional" : 1,
15904 "type" : "string"
15905 },
15906 "pool" : {
15907 "description" : "Add the VM to the specified pool.",
15908 "format" : "pve-poolid",
15909 "optional" : 1,
15910 "type" : "string"
15911 },
15912 "protection" : {
15913 "default" : 0,
15914 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
15915 "optional" : 1,
15916 "type" : "boolean"
15917 },
15918 "restore" : {
15919 "description" : "Mark this as restore task.",
15920 "optional" : 1,
15921 "type" : "boolean"
15922 },
15923 "rootfs" : {
15924 "description" : "Use volume as container root.",
15925 "format" : {
15926 "acl" : {
15927 "description" : "Explicitly enable or disable ACL support.",
15928 "optional" : 1,
15929 "type" : "boolean"
15930 },
15931 "quota" : {
15932 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
15933 "optional" : 1,
15934 "type" : "boolean"
15935 },
15936 "ro" : {
15937 "description" : "Read-only mountpoint",
15938 "optional" : 1,
15939 "type" : "boolean"
15940 },
15941 "size" : {
15942 "description" : "Volume size (read only value).",
15943 "format" : "disk-size",
15944 "format_description" : "DiskSize",
15945 "optional" : 1,
15946 "type" : "string"
15947 },
15948 "volume" : {
15949 "default_key" : 1,
15950 "description" : "Volume, device or directory to mount into the container.",
15951 "format" : "pve-lxc-mp-string",
15952 "format_description" : "volume",
15953 "type" : "string"
15954 }
15955 },
15956 "optional" : 1,
15957 "type" : "string",
15958 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,size=<DiskSize>]"
15959 },
15960 "searchdomain" : {
15961 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
15962 "format" : "dns-name-list",
15963 "optional" : 1,
15964 "type" : "string"
15965 },
15966 "ssh-public-keys" : {
15967 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
15968 "optional" : 1,
15969 "type" : "string"
15970 },
15971 "startup" : {
15972 "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.",
15973 "format" : "pve-startup-order",
15974 "optional" : 1,
15975 "type" : "string",
15976 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
15977 },
15978 "storage" : {
15979 "default" : "local",
15980 "description" : "Default Storage.",
15981 "format" : "pve-storage-id",
15982 "optional" : 1,
15983 "type" : "string"
15984 },
15985 "swap" : {
15986 "default" : 512,
15987 "description" : "Amount of SWAP for the VM in MB.",
15988 "minimum" : 0,
15989 "optional" : 1,
15990 "type" : "integer",
15991 "typetext" : "integer (0- N)"
15992 },
15993 "template" : {
15994 "default" : 0,
15995 "description" : "Enable/disable Template.",
15996 "optional" : 1,
15997 "type" : "boolean"
15998 },
15999 "tty" : {
16000 "default" : 2,
16001 "description" : "Specify the number of tty available to the container",
16002 "maximum" : 6,
16003 "minimum" : 0,
16004 "optional" : 1,
16005 "type" : "integer",
16006 "typetext" : "integer (0-6)"
16007 },
16008 "unprivileged" : {
16009 "default" : 0,
16010 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
16011 "optional" : 1,
16012 "type" : "boolean"
16013 },
16014 "unused[n]" : {
16015 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
16016 "format" : "pve-volume-id",
16017 "optional" : 1,
16018 "type" : "string"
16019 },
16020 "vmid" : {
16021 "description" : "The (unique) ID of the VM.",
16022 "format" : "pve-vmid",
16023 "minimum" : 1,
16024 "type" : "integer",
16025 "typetext" : "integer (1- N)"
16026 }
16027 }
16028 },
16029 "permissions" : {
16030 "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.",
16031 "user" : "all"
16032 },
16033 "protected" : 1,
16034 "proxyto" : "node",
16035 "returns" : {
16036 "type" : "string"
16037 }
16038 }
16039 },
16040 "leaf" : 0,
16041 "path" : "/nodes/{node}/lxc",
16042 "text" : "lxc"
16043 },
16044 {
16045 "children" : [
16046 {
16047 "children" : [
16048 {
16049 "children" : [
16050 {
16051 "info" : {
16052 "POST" : {
16053 "description" : "ceph osd in",
16054 "method" : "POST",
16055 "name" : "in",
16056 "parameters" : {
16057 "additionalProperties" : 0,
16058 "properties" : {
16059 "node" : {
16060 "description" : "The cluster node name.",
16061 "format" : "pve-node",
16062 "type" : "string"
16063 },
16064 "osdid" : {
16065 "description" : "OSD ID",
16066 "type" : "integer"
16067 }
16068 }
16069 },
16070 "permissions" : {
16071 "check" : [
16072 "perm",
16073 "/",
16074 [
16075 "Sys.Modify"
16076 ]
16077 ]
16078 },
16079 "protected" : 1,
16080 "proxyto" : "node",
16081 "returns" : {
16082 "type" : "null"
16083 }
16084 }
16085 },
16086 "leaf" : 1,
16087 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
16088 "text" : "in"
16089 },
16090 {
16091 "info" : {
16092 "POST" : {
16093 "description" : "ceph osd out",
16094 "method" : "POST",
16095 "name" : "out",
16096 "parameters" : {
16097 "additionalProperties" : 0,
16098 "properties" : {
16099 "node" : {
16100 "description" : "The cluster node name.",
16101 "format" : "pve-node",
16102 "type" : "string"
16103 },
16104 "osdid" : {
16105 "description" : "OSD ID",
16106 "type" : "integer"
16107 }
16108 }
16109 },
16110 "permissions" : {
16111 "check" : [
16112 "perm",
16113 "/",
16114 [
16115 "Sys.Modify"
16116 ]
16117 ]
16118 },
16119 "protected" : 1,
16120 "proxyto" : "node",
16121 "returns" : {
16122 "type" : "null"
16123 }
16124 }
16125 },
16126 "leaf" : 1,
16127 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
16128 "text" : "out"
16129 }
16130 ],
16131 "info" : {
16132 "DELETE" : {
16133 "description" : "Destroy OSD",
16134 "method" : "DELETE",
16135 "name" : "destroyosd",
16136 "parameters" : {
16137 "additionalProperties" : 0,
16138 "properties" : {
16139 "cleanup" : {
16140 "default" : 0,
16141 "description" : "If set, we remove partition table entries.",
16142 "optional" : 1,
16143 "type" : "boolean"
16144 },
16145 "node" : {
16146 "description" : "The cluster node name.",
16147 "format" : "pve-node",
16148 "type" : "string"
16149 },
16150 "osdid" : {
16151 "description" : "OSD ID",
16152 "type" : "integer"
16153 }
16154 }
16155 },
16156 "protected" : 1,
16157 "proxyto" : "node",
16158 "returns" : {
16159 "type" : "string"
16160 }
16161 }
16162 },
16163 "leaf" : 0,
16164 "path" : "/nodes/{node}/ceph/osd/{osdid}",
16165 "text" : "{osdid}"
16166 }
16167 ],
16168 "info" : {
16169 "GET" : {
16170 "description" : "Get Ceph osd list/tree.",
16171 "method" : "GET",
16172 "name" : "index",
16173 "parameters" : {
16174 "additionalProperties" : 0,
16175 "properties" : {
16176 "node" : {
16177 "description" : "The cluster node name.",
16178 "format" : "pve-node",
16179 "type" : "string"
16180 }
16181 }
16182 },
16183 "permissions" : {
16184 "check" : [
16185 "perm",
16186 "/",
16187 [
16188 "Sys.Audit",
16189 "Datastore.Audit"
16190 ],
16191 "any",
16192 1
16193 ]
16194 },
16195 "protected" : 1,
16196 "proxyto" : "node",
16197 "returns" : {
16198 "type" : "object"
16199 }
16200 },
16201 "POST" : {
16202 "description" : "Create OSD",
16203 "method" : "POST",
16204 "name" : "createosd",
16205 "parameters" : {
16206 "additionalProperties" : 0,
16207 "properties" : {
16208 "dev" : {
16209 "description" : "Block device name.",
16210 "type" : "string"
16211 },
16212 "fstype" : {
16213 "default" : "xfs",
16214 "description" : "File system type.",
16215 "enum" : [
16216 "xfs",
16217 "ext4",
16218 "btrfs"
16219 ],
16220 "optional" : 1,
16221 "type" : "string"
16222 },
16223 "journal_dev" : {
16224 "description" : "Block device name for journal.",
16225 "optional" : 1,
16226 "type" : "string"
16227 },
16228 "node" : {
16229 "description" : "The cluster node name.",
16230 "format" : "pve-node",
16231 "type" : "string"
16232 }
16233 }
16234 },
16235 "protected" : 1,
16236 "proxyto" : "node",
16237 "returns" : {
16238 "type" : "string"
16239 }
16240 }
16241 },
16242 "leaf" : 0,
16243 "path" : "/nodes/{node}/ceph/osd",
16244 "text" : "osd"
16245 },
16246 {
16247 "info" : {
16248 "GET" : {
16249 "description" : "List local disks.",
16250 "method" : "GET",
16251 "name" : "disks",
16252 "parameters" : {
16253 "additionalProperties" : 0,
16254 "properties" : {
16255 "node" : {
16256 "description" : "The cluster node name.",
16257 "format" : "pve-node",
16258 "type" : "string"
16259 },
16260 "type" : {
16261 "description" : "Only list specific types of disks.",
16262 "enum" : [
16263 "unused",
16264 "journal_disks"
16265 ],
16266 "optional" : 1,
16267 "type" : "string"
16268 }
16269 }
16270 },
16271 "permissions" : {
16272 "check" : [
16273 "perm",
16274 "/",
16275 [
16276 "Sys.Audit",
16277 "Datastore.Audit"
16278 ],
16279 "any",
16280 1
16281 ]
16282 },
16283 "protected" : 1,
16284 "proxyto" : "node",
16285 "returns" : {
16286 "items" : {
16287 "properties" : {
16288 "dev" : {
16289 "type" : "string"
16290 },
16291 "gpt" : {
16292 "type" : "boolean"
16293 },
16294 "model" : {
16295 "optional" : 1,
16296 "type" : "string"
16297 },
16298 "osdid" : {
16299 "type" : "integer"
16300 },
16301 "serial" : {
16302 "optional" : 1,
16303 "type" : "string"
16304 },
16305 "size" : {
16306 "type" : "integer"
16307 },
16308 "used" : {
16309 "optional" : 1,
16310 "type" : "string"
16311 },
16312 "vendor" : {
16313 "optional" : 1,
16314 "type" : "string"
16315 }
16316 },
16317 "type" : "object"
16318 },
16319 "type" : "array"
16320 }
16321 }
16322 },
16323 "leaf" : 1,
16324 "path" : "/nodes/{node}/ceph/disks",
16325 "text" : "disks"
16326 },
16327 {
16328 "info" : {
16329 "GET" : {
16330 "description" : "Get Ceph configuration.",
16331 "method" : "GET",
16332 "name" : "config",
16333 "parameters" : {
16334 "additionalProperties" : 0,
16335 "properties" : {
16336 "node" : {
16337 "description" : "The cluster node name.",
16338 "format" : "pve-node",
16339 "type" : "string"
16340 }
16341 }
16342 },
16343 "permissions" : {
16344 "check" : [
16345 "perm",
16346 "/",
16347 [
16348 "Sys.Audit",
16349 "Datastore.Audit"
16350 ],
16351 "any",
16352 1
16353 ]
16354 },
16355 "returns" : {
16356 "type" : "string"
16357 }
16358 }
16359 },
16360 "leaf" : 1,
16361 "path" : "/nodes/{node}/ceph/config",
16362 "text" : "config"
16363 },
16364 {
16365 "children" : [
16366 {
16367 "info" : {
16368 "DELETE" : {
16369 "description" : "Destroy Ceph monitor.",
16370 "method" : "DELETE",
16371 "name" : "destroymon",
16372 "parameters" : {
16373 "additionalProperties" : 0,
16374 "properties" : {
16375 "monid" : {
16376 "description" : "Monitor ID",
16377 "type" : "integer"
16378 },
16379 "node" : {
16380 "description" : "The cluster node name.",
16381 "format" : "pve-node",
16382 "type" : "string"
16383 }
16384 }
16385 },
16386 "permissions" : {
16387 "check" : [
16388 "perm",
16389 "/",
16390 [
16391 "Sys.Modify"
16392 ]
16393 ]
16394 },
16395 "protected" : 1,
16396 "proxyto" : "node",
16397 "returns" : {
16398 "type" : "string"
16399 }
16400 }
16401 },
16402 "leaf" : 1,
16403 "path" : "/nodes/{node}/ceph/mon/{monid}",
16404 "text" : "{monid}"
16405 }
16406 ],
16407 "info" : {
16408 "GET" : {
16409 "description" : "Get Ceph monitor list.",
16410 "method" : "GET",
16411 "name" : "listmon",
16412 "parameters" : {
16413 "additionalProperties" : 0,
16414 "properties" : {
16415 "node" : {
16416 "description" : "The cluster node name.",
16417 "format" : "pve-node",
16418 "type" : "string"
16419 }
16420 }
16421 },
16422 "permissions" : {
16423 "check" : [
16424 "perm",
16425 "/",
16426 [
16427 "Sys.Audit",
16428 "Datastore.Audit"
16429 ],
16430 "any",
16431 1
16432 ]
16433 },
16434 "protected" : 1,
16435 "proxyto" : "node",
16436 "returns" : {
16437 "items" : {
16438 "properties" : {
16439 "addr" : {
16440 "type" : "string"
16441 },
16442 "name" : {
16443 "type" : "string"
16444 }
16445 },
16446 "type" : "object"
16447 },
16448 "links" : [
16449 {
16450 "href" : "{name}",
16451 "rel" : "child"
16452 }
16453 ],
16454 "type" : "array"
16455 }
16456 },
16457 "POST" : {
16458 "description" : "Create Ceph Monitor",
16459 "method" : "POST",
16460 "name" : "createmon",
16461 "parameters" : {
16462 "additionalProperties" : 0,
16463 "properties" : {
16464 "node" : {
16465 "description" : "The cluster node name.",
16466 "format" : "pve-node",
16467 "type" : "string"
16468 }
16469 }
16470 },
16471 "permissions" : {
16472 "check" : [
16473 "perm",
16474 "/",
16475 [
16476 "Sys.Modify"
16477 ]
16478 ]
16479 },
16480 "protected" : 1,
16481 "proxyto" : "node",
16482 "returns" : {
16483 "type" : "string"
16484 }
16485 }
16486 },
16487 "leaf" : 0,
16488 "path" : "/nodes/{node}/ceph/mon",
16489 "text" : "mon"
16490 },
16491 {
16492 "info" : {
16493 "POST" : {
16494 "description" : "Create initial ceph default configuration and setup symlinks.",
16495 "method" : "POST",
16496 "name" : "init",
16497 "parameters" : {
16498 "additionalProperties" : 0,
16499 "properties" : {
16500 "network" : {
16501 "description" : "Use specific network for all ceph related traffic",
16502 "format" : "CIDR",
16503 "maxLength" : 128,
16504 "optional" : 1,
16505 "type" : "string"
16506 },
16507 "node" : {
16508 "description" : "The cluster node name.",
16509 "format" : "pve-node",
16510 "type" : "string"
16511 },
16512 "pg_bits" : {
16513 "default" : 6,
16514 "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.",
16515 "maximum" : 14,
16516 "minimum" : 6,
16517 "optional" : 1,
16518 "type" : "integer",
16519 "typetext" : "integer (6-14)"
16520 },
16521 "size" : {
16522 "default" : 2,
16523 "description" : "Number of replicas per object",
16524 "maximum" : 3,
16525 "minimum" : 1,
16526 "optional" : 1,
16527 "type" : "integer",
16528 "typetext" : "integer (1-3)"
16529 }
16530 }
16531 },
16532 "permissions" : {
16533 "check" : [
16534 "perm",
16535 "/",
16536 [
16537 "Sys.Modify"
16538 ]
16539 ]
16540 },
16541 "protected" : 1,
16542 "proxyto" : "node",
16543 "returns" : {
16544 "type" : "null"
16545 }
16546 }
16547 },
16548 "leaf" : 1,
16549 "path" : "/nodes/{node}/ceph/init",
16550 "text" : "init"
16551 },
16552 {
16553 "info" : {
16554 "POST" : {
16555 "description" : "Stop ceph services.",
16556 "method" : "POST",
16557 "name" : "stop",
16558 "parameters" : {
16559 "additionalProperties" : 0,
16560 "properties" : {
16561 "node" : {
16562 "description" : "The cluster node name.",
16563 "format" : "pve-node",
16564 "type" : "string"
16565 },
16566 "service" : {
16567 "description" : "Ceph service name.",
16568 "optional" : 1,
16569 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
16570 "type" : "string"
16571 }
16572 }
16573 },
16574 "permissions" : {
16575 "check" : [
16576 "perm",
16577 "/",
16578 [
16579 "Sys.Modify"
16580 ]
16581 ]
16582 },
16583 "protected" : 1,
16584 "proxyto" : "node",
16585 "returns" : {
16586 "type" : "string"
16587 }
16588 }
16589 },
16590 "leaf" : 1,
16591 "path" : "/nodes/{node}/ceph/stop",
16592 "text" : "stop"
16593 },
16594 {
16595 "info" : {
16596 "POST" : {
16597 "description" : "Start ceph services.",
16598 "method" : "POST",
16599 "name" : "start",
16600 "parameters" : {
16601 "additionalProperties" : 0,
16602 "properties" : {
16603 "node" : {
16604 "description" : "The cluster node name.",
16605 "format" : "pve-node",
16606 "type" : "string"
16607 },
16608 "service" : {
16609 "description" : "Ceph service name.",
16610 "optional" : 1,
16611 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
16612 "type" : "string"
16613 }
16614 }
16615 },
16616 "permissions" : {
16617 "check" : [
16618 "perm",
16619 "/",
16620 [
16621 "Sys.Modify"
16622 ]
16623 ]
16624 },
16625 "protected" : 1,
16626 "proxyto" : "node",
16627 "returns" : {
16628 "type" : "string"
16629 }
16630 }
16631 },
16632 "leaf" : 1,
16633 "path" : "/nodes/{node}/ceph/start",
16634 "text" : "start"
16635 },
16636 {
16637 "info" : {
16638 "GET" : {
16639 "description" : "Get ceph status.",
16640 "method" : "GET",
16641 "name" : "status",
16642 "parameters" : {
16643 "additionalProperties" : 0,
16644 "properties" : {
16645 "node" : {
16646 "description" : "The cluster node name.",
16647 "format" : "pve-node",
16648 "type" : "string"
16649 }
16650 }
16651 },
16652 "permissions" : {
16653 "check" : [
16654 "perm",
16655 "/",
16656 [
16657 "Sys.Audit",
16658 "Datastore.Audit"
16659 ],
16660 "any",
16661 1
16662 ]
16663 },
16664 "protected" : 1,
16665 "proxyto" : "node",
16666 "returns" : {
16667 "type" : "object"
16668 }
16669 }
16670 },
16671 "leaf" : 1,
16672 "path" : "/nodes/{node}/ceph/status",
16673 "text" : "status"
16674 },
16675 {
16676 "children" : [
16677 {
16678 "info" : {
16679 "DELETE" : {
16680 "description" : "Destroy pool",
16681 "method" : "DELETE",
16682 "name" : "destroypool",
16683 "parameters" : {
16684 "additionalProperties" : 0,
16685 "properties" : {
16686 "force" : {
16687 "default" : 0,
16688 "description" : "If true, destroys pool even if in use",
16689 "optional" : 1,
16690 "type" : "boolean"
16691 },
16692 "name" : {
16693 "description" : "The name of the pool. It must be unique.",
16694 "type" : "string"
16695 },
16696 "node" : {
16697 "description" : "The cluster node name.",
16698 "format" : "pve-node",
16699 "type" : "string"
16700 }
16701 }
16702 },
16703 "permissions" : {
16704 "check" : [
16705 "perm",
16706 "/",
16707 [
16708 "Sys.Modify"
16709 ]
16710 ]
16711 },
16712 "protected" : 1,
16713 "proxyto" : "node",
16714 "returns" : {
16715 "type" : "null"
16716 }
16717 }
16718 },
16719 "leaf" : 1,
16720 "path" : "/nodes/{node}/ceph/pools/{name}",
16721 "text" : "{name}"
16722 }
16723 ],
16724 "info" : {
16725 "GET" : {
16726 "description" : "List all pools.",
16727 "method" : "GET",
16728 "name" : "lspools",
16729 "parameters" : {
16730 "additionalProperties" : 0,
16731 "properties" : {
16732 "node" : {
16733 "description" : "The cluster node name.",
16734 "format" : "pve-node",
16735 "type" : "string"
16736 }
16737 }
16738 },
16739 "permissions" : {
16740 "check" : [
16741 "perm",
16742 "/",
16743 [
16744 "Sys.Audit",
16745 "Datastore.Audit"
16746 ],
16747 "any",
16748 1
16749 ]
16750 },
16751 "protected" : 1,
16752 "proxyto" : "node",
16753 "returns" : {
16754 "items" : {
16755 "properties" : {
16756 "pool" : {
16757 "type" : "integer"
16758 },
16759 "pool_name" : {
16760 "type" : "string"
16761 },
16762 "size" : {
16763 "type" : "integer"
16764 }
16765 },
16766 "type" : "object"
16767 },
16768 "links" : [
16769 {
16770 "href" : "{pool_name}",
16771 "rel" : "child"
16772 }
16773 ],
16774 "type" : "array"
16775 }
16776 },
16777 "POST" : {
16778 "description" : "Create POOL",
16779 "method" : "POST",
16780 "name" : "createpool",
16781 "parameters" : {
16782 "additionalProperties" : 0,
16783 "properties" : {
16784 "crush_ruleset" : {
16785 "default" : 0,
16786 "description" : "The ruleset to use for mapping object placement in the cluster.",
16787 "maximum" : 32768,
16788 "minimum" : 0,
16789 "optional" : 1,
16790 "type" : "integer",
16791 "typetext" : "integer (0-32768)"
16792 },
16793 "min_size" : {
16794 "default" : 1,
16795 "description" : "Minimum number of replicas per object",
16796 "maximum" : 3,
16797 "minimum" : 1,
16798 "optional" : 1,
16799 "type" : "integer",
16800 "typetext" : "integer (1-3)"
16801 },
16802 "name" : {
16803 "description" : "The name of the pool. It must be unique.",
16804 "type" : "string"
16805 },
16806 "node" : {
16807 "description" : "The cluster node name.",
16808 "format" : "pve-node",
16809 "type" : "string"
16810 },
16811 "pg_num" : {
16812 "default" : 64,
16813 "description" : "Number of placement groups.",
16814 "maximum" : 32768,
16815 "minimum" : 8,
16816 "optional" : 1,
16817 "type" : "integer",
16818 "typetext" : "integer (8-32768)"
16819 },
16820 "size" : {
16821 "default" : 2,
16822 "description" : "Number of replicas per object",
16823 "maximum" : 3,
16824 "minimum" : 1,
16825 "optional" : 1,
16826 "type" : "integer",
16827 "typetext" : "integer (1-3)"
16828 }
16829 }
16830 },
16831 "permissions" : {
16832 "check" : [
16833 "perm",
16834 "/",
16835 [
16836 "Sys.Modify"
16837 ]
16838 ]
16839 },
16840 "protected" : 1,
16841 "proxyto" : "node",
16842 "returns" : {
16843 "type" : "null"
16844 }
16845 }
16846 },
16847 "leaf" : 0,
16848 "path" : "/nodes/{node}/ceph/pools",
16849 "text" : "pools"
16850 },
16851 {
16852 "info" : {
16853 "GET" : {
16854 "description" : "Get OSD crush map",
16855 "method" : "GET",
16856 "name" : "crush",
16857 "parameters" : {
16858 "additionalProperties" : 0,
16859 "properties" : {
16860 "node" : {
16861 "description" : "The cluster node name.",
16862 "format" : "pve-node",
16863 "type" : "string"
16864 }
16865 }
16866 },
16867 "permissions" : {
16868 "check" : [
16869 "perm",
16870 "/",
16871 [
16872 "Sys.Audit",
16873 "Datastore.Audit"
16874 ],
16875 "any",
16876 1
16877 ]
16878 },
16879 "protected" : 1,
16880 "proxyto" : "node",
16881 "returns" : {
16882 "type" : "string"
16883 }
16884 }
16885 },
16886 "leaf" : 1,
16887 "path" : "/nodes/{node}/ceph/crush",
16888 "text" : "crush"
16889 },
16890 {
16891 "info" : {
16892 "GET" : {
16893 "description" : "Read ceph log",
16894 "method" : "GET",
16895 "name" : "log",
16896 "parameters" : {
16897 "additionalProperties" : 0,
16898 "properties" : {
16899 "limit" : {
16900 "minimum" : 0,
16901 "optional" : 1,
16902 "type" : "integer",
16903 "typetext" : "integer (0- N)"
16904 },
16905 "node" : {
16906 "description" : "The cluster node name.",
16907 "format" : "pve-node",
16908 "type" : "string"
16909 },
16910 "start" : {
16911 "minimum" : 0,
16912 "optional" : 1,
16913 "type" : "integer",
16914 "typetext" : "integer (0- N)"
16915 }
16916 }
16917 },
16918 "permissions" : {
16919 "check" : [
16920 "perm",
16921 "/nodes/{node}",
16922 [
16923 "Sys.Syslog"
16924 ]
16925 ]
16926 },
16927 "protected" : 1,
16928 "proxyto" : "node",
16929 "returns" : {
16930 "items" : {
16931 "properties" : {
16932 "n" : {
16933 "description" : "Line number",
16934 "type" : "integer"
16935 },
16936 "t" : {
16937 "description" : "Line text",
16938 "type" : "string"
16939 }
16940 },
16941 "type" : "object"
16942 },
16943 "type" : "array"
16944 }
16945 }
16946 },
16947 "leaf" : 1,
16948 "path" : "/nodes/{node}/ceph/log",
16949 "text" : "log"
16950 }
16951 ],
16952 "info" : {
16953 "GET" : {
16954 "description" : "Directory index.",
16955 "method" : "GET",
16956 "name" : "index",
16957 "parameters" : {
16958 "additionalProperties" : 0,
16959 "properties" : {
16960 "node" : {
16961 "description" : "The cluster node name.",
16962 "format" : "pve-node",
16963 "type" : "string"
16964 }
16965 }
16966 },
16967 "permissions" : {
16968 "check" : [
16969 "perm",
16970 "/",
16971 [
16972 "Sys.Audit",
16973 "Datastore.Audit"
16974 ],
16975 "any",
16976 1
16977 ]
16978 },
16979 "returns" : {
16980 "items" : {
16981 "properties" : {},
16982 "type" : "object"
16983 },
16984 "links" : [
16985 {
16986 "href" : "{name}",
16987 "rel" : "child"
16988 }
16989 ],
16990 "type" : "array"
16991 }
16992 }
16993 },
16994 "leaf" : 0,
16995 "path" : "/nodes/{node}/ceph",
16996 "text" : "ceph"
16997 },
16998 {
16999 "children" : [
17000 {
17001 "info" : {
17002 "GET" : {
17003 "description" : "Extract configuration from vzdump backup archive.",
17004 "method" : "GET",
17005 "name" : "extractconfig",
17006 "parameters" : {
17007 "additionalProperties" : 0,
17008 "properties" : {
17009 "node" : {
17010 "description" : "The cluster node name.",
17011 "format" : "pve-node",
17012 "type" : "string"
17013 },
17014 "volume" : {
17015 "description" : "Volume identifier",
17016 "type" : "string"
17017 }
17018 }
17019 },
17020 "permissions" : {
17021 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
17022 "user" : "all"
17023 },
17024 "protected" : 1,
17025 "proxyto" : "node",
17026 "returns" : {
17027 "type" : "string"
17028 }
17029 }
17030 },
17031 "leaf" : 1,
17032 "path" : "/nodes/{node}/vzdump/extractconfig",
17033 "text" : "extractconfig"
17034 }
17035 ],
17036 "info" : {
17037 "POST" : {
17038 "description" : "Create backup.",
17039 "method" : "POST",
17040 "name" : "vzdump",
17041 "parameters" : {
17042 "additionalProperties" : 0,
17043 "properties" : {
17044 "all" : {
17045 "default" : 0,
17046 "description" : "Backup all known guest systems on this host.",
17047 "optional" : 1,
17048 "type" : "boolean"
17049 },
17050 "bwlimit" : {
17051 "default" : 0,
17052 "description" : "Limit I/O bandwidth (KBytes per second).",
17053 "minimum" : 0,
17054 "optional" : 1,
17055 "type" : "integer",
17056 "typetext" : "integer (0- N)"
17057 },
17058 "compress" : {
17059 "default" : "0",
17060 "description" : "Compress dump file.",
17061 "enum" : [
17062 "0",
17063 "1",
17064 "gzip",
17065 "lzo"
17066 ],
17067 "optional" : 1,
17068 "type" : "string"
17069 },
17070 "dumpdir" : {
17071 "description" : "Store resulting files to specified directory.",
17072 "optional" : 1,
17073 "type" : "string"
17074 },
17075 "exclude" : {
17076 "description" : "Exclude specified guest systems (assumes --all)",
17077 "format" : "pve-vmid-list",
17078 "optional" : 1,
17079 "type" : "string"
17080 },
17081 "exclude-path" : {
17082 "description" : "Exclude certain files/directories (shell globs).",
17083 "format" : "string-alist",
17084 "optional" : 1,
17085 "type" : "string"
17086 },
17087 "ionice" : {
17088 "default" : 7,
17089 "description" : "Set CFQ ionice priority.",
17090 "maximum" : 8,
17091 "minimum" : 0,
17092 "optional" : 1,
17093 "type" : "integer",
17094 "typetext" : "integer (0-8)"
17095 },
17096 "lockwait" : {
17097 "default" : 180,
17098 "description" : "Maximal time to wait for the global lock (minutes).",
17099 "minimum" : 0,
17100 "optional" : 1,
17101 "type" : "integer",
17102 "typetext" : "integer (0- N)"
17103 },
17104 "mailnotification" : {
17105 "default" : "always",
17106 "description" : "Specify when to send an email",
17107 "enum" : [
17108 "always",
17109 "failure"
17110 ],
17111 "optional" : 1,
17112 "type" : "string"
17113 },
17114 "mailto" : {
17115 "description" : "Comma-separated list of email addresses that should receive email notifications.",
17116 "format" : "string-list",
17117 "optional" : 1,
17118 "type" : "string"
17119 },
17120 "maxfiles" : {
17121 "default" : 1,
17122 "description" : "Maximal number of backup files per guest system.",
17123 "minimum" : 1,
17124 "optional" : 1,
17125 "type" : "integer",
17126 "typetext" : "integer (1- N)"
17127 },
17128 "mode" : {
17129 "default" : "snapshot",
17130 "description" : "Backup mode.",
17131 "enum" : [
17132 "snapshot",
17133 "suspend",
17134 "stop"
17135 ],
17136 "optional" : 1,
17137 "type" : "string"
17138 },
17139 "node" : {
17140 "description" : "Only run if executed on this node.",
17141 "format" : "pve-node",
17142 "optional" : 1,
17143 "type" : "string"
17144 },
17145 "pigz" : {
17146 "default" : 0,
17147 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
17148 "optional" : 1,
17149 "type" : "integer"
17150 },
17151 "quiet" : {
17152 "default" : 0,
17153 "description" : "Be quiet.",
17154 "optional" : 1,
17155 "type" : "boolean"
17156 },
17157 "remove" : {
17158 "default" : 1,
17159 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
17160 "optional" : 1,
17161 "type" : "boolean"
17162 },
17163 "script" : {
17164 "description" : "Use specified hook script.",
17165 "optional" : 1,
17166 "type" : "string"
17167 },
17168 "size" : {
17169 "default" : 1024,
17170 "description" : "Unused, will be removed in a future release.",
17171 "minimum" : 500,
17172 "optional" : 1,
17173 "type" : "integer",
17174 "typetext" : "integer (500- N)"
17175 },
17176 "stdexcludes" : {
17177 "default" : 1,
17178 "description" : "Exclude temporary files and logs.",
17179 "optional" : 1,
17180 "type" : "boolean"
17181 },
17182 "stdout" : {
17183 "description" : "Write tar to stdout, not to a file.",
17184 "optional" : 1,
17185 "type" : "boolean"
17186 },
17187 "stop" : {
17188 "default" : 0,
17189 "description" : "Stop runnig backup jobs on this host.",
17190 "optional" : 1,
17191 "type" : "boolean"
17192 },
17193 "stopwait" : {
17194 "default" : 10,
17195 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
17196 "minimum" : 0,
17197 "optional" : 1,
17198 "type" : "integer",
17199 "typetext" : "integer (0- N)"
17200 },
17201 "storage" : {
17202 "description" : "Store resulting file to this storage.",
17203 "format" : "pve-storage-id",
17204 "optional" : 1,
17205 "type" : "string"
17206 },
17207 "tmpdir" : {
17208 "description" : "Store temporary files to specified directory.",
17209 "optional" : 1,
17210 "type" : "string"
17211 },
17212 "vmid" : {
17213 "description" : "The ID of the guest system you want to backup.",
17214 "format" : "pve-vmid-list",
17215 "optional" : 1,
17216 "type" : "string"
17217 }
17218 }
17219 },
17220 "permissions" : {
17221 "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage.",
17222 "user" : "all"
17223 },
17224 "protected" : 1,
17225 "proxyto" : "node",
17226 "returns" : {
17227 "type" : "string"
17228 }
17229 }
17230 },
17231 "leaf" : 0,
17232 "path" : "/nodes/{node}/vzdump",
17233 "text" : "vzdump"
17234 },
17235 {
17236 "children" : [
17237 {
17238 "children" : [
17239 {
17240 "info" : {
17241 "GET" : {
17242 "description" : "Read service properties",
17243 "method" : "GET",
17244 "name" : "service_state",
17245 "parameters" : {
17246 "additionalProperties" : 0,
17247 "properties" : {
17248 "node" : {
17249 "description" : "The cluster node name.",
17250 "format" : "pve-node",
17251 "type" : "string"
17252 },
17253 "service" : {
17254 "description" : "Service ID",
17255 "enum" : [
17256 "pveproxy",
17257 "pvedaemon",
17258 "spiceproxy",
17259 "pvestatd",
17260 "pve-cluster",
17261 "corosync",
17262 "pve-firewall",
17263 "pvefw-logger",
17264 "pve-ha-crm",
17265 "pve-ha-lrm",
17266 "sshd",
17267 "syslog",
17268 "cron",
17269 "postfix",
17270 "ksmtuned",
17271 "systemd-timesyncd"
17272 ],
17273 "type" : "string"
17274 }
17275 }
17276 },
17277 "permissions" : {
17278 "check" : [
17279 "perm",
17280 "/nodes/{node}",
17281 [
17282 "Sys.Audit"
17283 ]
17284 ]
17285 },
17286 "protected" : 1,
17287 "proxyto" : "node",
17288 "returns" : {
17289 "properties" : {},
17290 "type" : "object"
17291 }
17292 }
17293 },
17294 "leaf" : 1,
17295 "path" : "/nodes/{node}/services/{service}/state",
17296 "text" : "state"
17297 },
17298 {
17299 "info" : {
17300 "POST" : {
17301 "description" : "Start service.",
17302 "method" : "POST",
17303 "name" : "service_start",
17304 "parameters" : {
17305 "additionalProperties" : 0,
17306 "properties" : {
17307 "node" : {
17308 "description" : "The cluster node name.",
17309 "format" : "pve-node",
17310 "type" : "string"
17311 },
17312 "service" : {
17313 "description" : "Service ID",
17314 "enum" : [
17315 "pveproxy",
17316 "pvedaemon",
17317 "spiceproxy",
17318 "pvestatd",
17319 "pve-cluster",
17320 "corosync",
17321 "pve-firewall",
17322 "pvefw-logger",
17323 "pve-ha-crm",
17324 "pve-ha-lrm",
17325 "sshd",
17326 "syslog",
17327 "cron",
17328 "postfix",
17329 "ksmtuned",
17330 "systemd-timesyncd"
17331 ],
17332 "type" : "string"
17333 }
17334 }
17335 },
17336 "permissions" : {
17337 "check" : [
17338 "perm",
17339 "/nodes/{node}",
17340 [
17341 "Sys.Modify"
17342 ]
17343 ]
17344 },
17345 "protected" : 1,
17346 "proxyto" : "node",
17347 "returns" : {
17348 "type" : "string"
17349 }
17350 }
17351 },
17352 "leaf" : 1,
17353 "path" : "/nodes/{node}/services/{service}/start",
17354 "text" : "start"
17355 },
17356 {
17357 "info" : {
17358 "POST" : {
17359 "description" : "Stop service.",
17360 "method" : "POST",
17361 "name" : "service_stop",
17362 "parameters" : {
17363 "additionalProperties" : 0,
17364 "properties" : {
17365 "node" : {
17366 "description" : "The cluster node name.",
17367 "format" : "pve-node",
17368 "type" : "string"
17369 },
17370 "service" : {
17371 "description" : "Service ID",
17372 "enum" : [
17373 "pveproxy",
17374 "pvedaemon",
17375 "spiceproxy",
17376 "pvestatd",
17377 "pve-cluster",
17378 "corosync",
17379 "pve-firewall",
17380 "pvefw-logger",
17381 "pve-ha-crm",
17382 "pve-ha-lrm",
17383 "sshd",
17384 "syslog",
17385 "cron",
17386 "postfix",
17387 "ksmtuned",
17388 "systemd-timesyncd"
17389 ],
17390 "type" : "string"
17391 }
17392 }
17393 },
17394 "permissions" : {
17395 "check" : [
17396 "perm",
17397 "/nodes/{node}",
17398 [
17399 "Sys.Modify"
17400 ]
17401 ]
17402 },
17403 "protected" : 1,
17404 "proxyto" : "node",
17405 "returns" : {
17406 "type" : "string"
17407 }
17408 }
17409 },
17410 "leaf" : 1,
17411 "path" : "/nodes/{node}/services/{service}/stop",
17412 "text" : "stop"
17413 },
17414 {
17415 "info" : {
17416 "POST" : {
17417 "description" : "Restart service.",
17418 "method" : "POST",
17419 "name" : "service_restart",
17420 "parameters" : {
17421 "additionalProperties" : 0,
17422 "properties" : {
17423 "node" : {
17424 "description" : "The cluster node name.",
17425 "format" : "pve-node",
17426 "type" : "string"
17427 },
17428 "service" : {
17429 "description" : "Service ID",
17430 "enum" : [
17431 "pveproxy",
17432 "pvedaemon",
17433 "spiceproxy",
17434 "pvestatd",
17435 "pve-cluster",
17436 "corosync",
17437 "pve-firewall",
17438 "pvefw-logger",
17439 "pve-ha-crm",
17440 "pve-ha-lrm",
17441 "sshd",
17442 "syslog",
17443 "cron",
17444 "postfix",
17445 "ksmtuned",
17446 "systemd-timesyncd"
17447 ],
17448 "type" : "string"
17449 }
17450 }
17451 },
17452 "permissions" : {
17453 "check" : [
17454 "perm",
17455 "/nodes/{node}",
17456 [
17457 "Sys.Modify"
17458 ]
17459 ]
17460 },
17461 "protected" : 1,
17462 "proxyto" : "node",
17463 "returns" : {
17464 "type" : "string"
17465 }
17466 }
17467 },
17468 "leaf" : 1,
17469 "path" : "/nodes/{node}/services/{service}/restart",
17470 "text" : "restart"
17471 },
17472 {
17473 "info" : {
17474 "POST" : {
17475 "description" : "Reload service.",
17476 "method" : "POST",
17477 "name" : "service_reload",
17478 "parameters" : {
17479 "additionalProperties" : 0,
17480 "properties" : {
17481 "node" : {
17482 "description" : "The cluster node name.",
17483 "format" : "pve-node",
17484 "type" : "string"
17485 },
17486 "service" : {
17487 "description" : "Service ID",
17488 "enum" : [
17489 "pveproxy",
17490 "pvedaemon",
17491 "spiceproxy",
17492 "pvestatd",
17493 "pve-cluster",
17494 "corosync",
17495 "pve-firewall",
17496 "pvefw-logger",
17497 "pve-ha-crm",
17498 "pve-ha-lrm",
17499 "sshd",
17500 "syslog",
17501 "cron",
17502 "postfix",
17503 "ksmtuned",
17504 "systemd-timesyncd"
17505 ],
17506 "type" : "string"
17507 }
17508 }
17509 },
17510 "permissions" : {
17511 "check" : [
17512 "perm",
17513 "/nodes/{node}",
17514 [
17515 "Sys.Modify"
17516 ]
17517 ]
17518 },
17519 "protected" : 1,
17520 "proxyto" : "node",
17521 "returns" : {
17522 "type" : "string"
17523 }
17524 }
17525 },
17526 "leaf" : 1,
17527 "path" : "/nodes/{node}/services/{service}/reload",
17528 "text" : "reload"
17529 }
17530 ],
17531 "info" : {
17532 "GET" : {
17533 "description" : "Directory index",
17534 "method" : "GET",
17535 "name" : "srvcmdidx",
17536 "parameters" : {
17537 "additionalProperties" : 0,
17538 "properties" : {
17539 "node" : {
17540 "description" : "The cluster node name.",
17541 "format" : "pve-node",
17542 "type" : "string"
17543 },
17544 "service" : {
17545 "description" : "Service ID",
17546 "enum" : [
17547 "pveproxy",
17548 "pvedaemon",
17549 "spiceproxy",
17550 "pvestatd",
17551 "pve-cluster",
17552 "corosync",
17553 "pve-firewall",
17554 "pvefw-logger",
17555 "pve-ha-crm",
17556 "pve-ha-lrm",
17557 "sshd",
17558 "syslog",
17559 "cron",
17560 "postfix",
17561 "ksmtuned",
17562 "systemd-timesyncd"
17563 ],
17564 "type" : "string"
17565 }
17566 }
17567 },
17568 "permissions" : {
17569 "check" : [
17570 "perm",
17571 "/nodes/{node}",
17572 [
17573 "Sys.Audit"
17574 ]
17575 ]
17576 },
17577 "returns" : {
17578 "items" : {
17579 "properties" : {
17580 "subdir" : {
17581 "type" : "string"
17582 }
17583 },
17584 "type" : "object"
17585 },
17586 "links" : [
17587 {
17588 "href" : "{subdir}",
17589 "rel" : "child"
17590 }
17591 ],
17592 "type" : "array"
17593 }
17594 }
17595 },
17596 "leaf" : 0,
17597 "path" : "/nodes/{node}/services/{service}",
17598 "text" : "{service}"
17599 }
17600 ],
17601 "info" : {
17602 "GET" : {
17603 "description" : "Service list.",
17604 "method" : "GET",
17605 "name" : "index",
17606 "parameters" : {
17607 "additionalProperties" : 0,
17608 "properties" : {
17609 "node" : {
17610 "description" : "The cluster node name.",
17611 "format" : "pve-node",
17612 "type" : "string"
17613 }
17614 }
17615 },
17616 "permissions" : {
17617 "check" : [
17618 "perm",
17619 "/nodes/{node}",
17620 [
17621 "Sys.Audit"
17622 ]
17623 ]
17624 },
17625 "protected" : 1,
17626 "proxyto" : "node",
17627 "returns" : {
17628 "items" : {
17629 "properties" : {},
17630 "type" : "object"
17631 },
17632 "links" : [
17633 {
17634 "href" : "{service}",
17635 "rel" : "child"
17636 }
17637 ],
17638 "type" : "array"
17639 }
17640 }
17641 },
17642 "leaf" : 0,
17643 "path" : "/nodes/{node}/services",
17644 "text" : "services"
17645 },
17646 {
17647 "info" : {
17648 "GET" : {
17649 "description" : "Read subscription info.",
17650 "method" : "GET",
17651 "name" : "get",
17652 "parameters" : {
17653 "additionalProperties" : 0,
17654 "properties" : {
17655 "node" : {
17656 "description" : "The cluster node name.",
17657 "format" : "pve-node",
17658 "type" : "string"
17659 }
17660 }
17661 },
17662 "permissions" : {
17663 "user" : "all"
17664 },
17665 "proxyto" : "node",
17666 "returns" : {
17667 "type" : "object"
17668 }
17669 },
17670 "POST" : {
17671 "description" : "Update subscription info.",
17672 "method" : "POST",
17673 "name" : "update",
17674 "parameters" : {
17675 "additionalProperties" : 0,
17676 "properties" : {
17677 "force" : {
17678 "default" : 0,
17679 "description" : "Always connect to server, even if we have up to date info inside local cache.",
17680 "optional" : 1,
17681 "type" : "boolean"
17682 },
17683 "node" : {
17684 "description" : "The cluster node name.",
17685 "format" : "pve-node",
17686 "type" : "string"
17687 }
17688 }
17689 },
17690 "protected" : 1,
17691 "proxyto" : "node",
17692 "returns" : {
17693 "type" : "null"
17694 }
17695 },
17696 "PUT" : {
17697 "description" : "Set subscription key.",
17698 "method" : "PUT",
17699 "name" : "set",
17700 "parameters" : {
17701 "additionalProperties" : 0,
17702 "properties" : {
17703 "key" : {
17704 "description" : "Proxmox VE subscription key",
17705 "type" : "string"
17706 },
17707 "node" : {
17708 "description" : "The cluster node name.",
17709 "format" : "pve-node",
17710 "type" : "string"
17711 }
17712 }
17713 },
17714 "protected" : 1,
17715 "proxyto" : "node",
17716 "returns" : {
17717 "type" : "null"
17718 }
17719 }
17720 },
17721 "leaf" : 1,
17722 "path" : "/nodes/{node}/subscription",
17723 "text" : "subscription"
17724 },
17725 {
17726 "children" : [
17727 {
17728 "info" : {
17729 "DELETE" : {
17730 "description" : "Delete network device configuration",
17731 "method" : "DELETE",
17732 "name" : "delete_network",
17733 "parameters" : {
17734 "additionalProperties" : 0,
17735 "properties" : {
17736 "iface" : {
17737 "description" : "Network interface name.",
17738 "format" : "pve-iface",
17739 "maxLength" : 20,
17740 "minLength" : 2,
17741 "type" : "string"
17742 },
17743 "node" : {
17744 "description" : "The cluster node name.",
17745 "format" : "pve-node",
17746 "type" : "string"
17747 }
17748 }
17749 },
17750 "permissions" : {
17751 "check" : [
17752 "perm",
17753 "/nodes/{node}",
17754 [
17755 "Sys.Modify"
17756 ]
17757 ]
17758 },
17759 "protected" : 1,
17760 "proxyto" : "node",
17761 "returns" : {
17762 "type" : "null"
17763 }
17764 },
17765 "GET" : {
17766 "description" : "Read network device configuration",
17767 "method" : "GET",
17768 "name" : "network_config",
17769 "parameters" : {
17770 "additionalProperties" : 0,
17771 "properties" : {
17772 "iface" : {
17773 "description" : "Network interface name.",
17774 "format" : "pve-iface",
17775 "maxLength" : 20,
17776 "minLength" : 2,
17777 "type" : "string"
17778 },
17779 "node" : {
17780 "description" : "The cluster node name.",
17781 "format" : "pve-node",
17782 "type" : "string"
17783 }
17784 }
17785 },
17786 "permissions" : {
17787 "check" : [
17788 "perm",
17789 "/nodes/{node}",
17790 [
17791 "Sys.Audit"
17792 ]
17793 ]
17794 },
17795 "proxyto" : "node",
17796 "returns" : {
17797 "properties" : {
17798 "method" : {
17799 "type" : "string"
17800 },
17801 "type" : {
17802 "type" : "string"
17803 }
17804 },
17805 "type" : "object"
17806 }
17807 },
17808 "PUT" : {
17809 "description" : "Update network device configuration",
17810 "method" : "PUT",
17811 "name" : "update_network",
17812 "parameters" : {
17813 "additionalProperties" : 0,
17814 "properties" : {
17815 "address" : {
17816 "description" : "IP address.",
17817 "format" : "ipv4",
17818 "optional" : 1,
17819 "requires" : "netmask",
17820 "type" : "string"
17821 },
17822 "address6" : {
17823 "description" : "IP address.",
17824 "format" : "ipv6",
17825 "optional" : 1,
17826 "requires" : "netmask6",
17827 "type" : "string"
17828 },
17829 "autostart" : {
17830 "description" : "Automatically start interface on boot.",
17831 "optional" : 1,
17832 "type" : "boolean"
17833 },
17834 "bond_mode" : {
17835 "description" : "Bonding mode.",
17836 "enum" : [
17837 "balance-rr",
17838 "active-backup",
17839 "balance-xor",
17840 "broadcast",
17841 "802.3ad",
17842 "balance-tlb",
17843 "balance-alb",
17844 "balance-slb",
17845 "lacp-balance-slb",
17846 "lacp-balance-tcp"
17847 ],
17848 "optional" : 1,
17849 "type" : "string"
17850 },
17851 "bond_xmit_hash_policy" : {
17852 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
17853 "enum" : [
17854 "layer2",
17855 "layer2+3",
17856 "layer3+4"
17857 ],
17858 "optional" : 1,
17859 "type" : "string"
17860 },
17861 "bridge_ports" : {
17862 "description" : "Specify the iterfaces you want to add to your bridge.",
17863 "format" : "pve-iface-list",
17864 "optional" : 1,
17865 "type" : "string"
17866 },
17867 "bridge_vlan_aware" : {
17868 "description" : "Enable bridge vlan support.",
17869 "optional" : 1,
17870 "type" : "boolean"
17871 },
17872 "comments" : {
17873 "description" : "Comments",
17874 "optional" : 1,
17875 "type" : "string"
17876 },
17877 "comments6" : {
17878 "description" : "Comments",
17879 "optional" : 1,
17880 "type" : "string"
17881 },
17882 "delete" : {
17883 "description" : "A list of settings you want to delete.",
17884 "format" : "pve-configid-list",
17885 "optional" : 1,
17886 "type" : "string"
17887 },
17888 "gateway" : {
17889 "description" : "Default gateway address.",
17890 "format" : "ipv4",
17891 "optional" : 1,
17892 "type" : "string"
17893 },
17894 "gateway6" : {
17895 "description" : "Default ipv6 gateway address.",
17896 "format" : "ipv6",
17897 "optional" : 1,
17898 "type" : "string"
17899 },
17900 "iface" : {
17901 "description" : "Network interface name.",
17902 "format" : "pve-iface",
17903 "maxLength" : 20,
17904 "minLength" : 2,
17905 "type" : "string"
17906 },
17907 "netmask" : {
17908 "description" : "Network mask.",
17909 "format" : "ipv4mask",
17910 "optional" : 1,
17911 "requires" : "address",
17912 "type" : "string"
17913 },
17914 "netmask6" : {
17915 "description" : "Network mask.",
17916 "maximum" : 128,
17917 "minimum" : 0,
17918 "optional" : 1,
17919 "requires" : "address6",
17920 "type" : "integer",
17921 "typetext" : "integer (0-128)"
17922 },
17923 "node" : {
17924 "description" : "The cluster node name.",
17925 "format" : "pve-node",
17926 "type" : "string"
17927 },
17928 "ovs_bonds" : {
17929 "description" : "Specify the interfaces used by the bonding device.",
17930 "format" : "pve-iface-list",
17931 "optional" : 1,
17932 "type" : "string"
17933 },
17934 "ovs_bridge" : {
17935 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
17936 "format" : "pve-iface",
17937 "optional" : 1,
17938 "type" : "string"
17939 },
17940 "ovs_options" : {
17941 "description" : "OVS interface options.",
17942 "maxLength" : 1024,
17943 "optional" : 1,
17944 "type" : "string"
17945 },
17946 "ovs_ports" : {
17947 "description" : "Specify the iterfaces you want to add to your bridge.",
17948 "format" : "pve-iface-list",
17949 "optional" : 1,
17950 "type" : "string"
17951 },
17952 "ovs_tag" : {
17953 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
17954 "maximum" : 4094,
17955 "minimum" : 1,
17956 "optional" : 1,
17957 "type" : "integer",
17958 "typetext" : "integer (1-4094)"
17959 },
17960 "slaves" : {
17961 "description" : "Specify the interfaces used by the bonding device.",
17962 "format" : "pve-iface-list",
17963 "optional" : 1,
17964 "type" : "string"
17965 },
17966 "type" : {
17967 "description" : "Network interface type",
17968 "enum" : [
17969 "bridge",
17970 "bond",
17971 "eth",
17972 "alias",
17973 "vlan",
17974 "OVSBridge",
17975 "OVSBond",
17976 "OVSPort",
17977 "OVSIntPort",
17978 "unknown"
17979 ],
17980 "type" : "string"
17981 }
17982 }
17983 },
17984 "permissions" : {
17985 "check" : [
17986 "perm",
17987 "/nodes/{node}",
17988 [
17989 "Sys.Modify"
17990 ]
17991 ]
17992 },
17993 "protected" : 1,
17994 "proxyto" : "node",
17995 "returns" : {
17996 "type" : "null"
17997 }
17998 }
17999 },
18000 "leaf" : 1,
18001 "path" : "/nodes/{node}/network/{iface}",
18002 "text" : "{iface}"
18003 }
18004 ],
18005 "info" : {
18006 "DELETE" : {
18007 "description" : "Revert network configuration changes.",
18008 "method" : "DELETE",
18009 "name" : "revert_network_changes",
18010 "parameters" : {
18011 "additionalProperties" : 0,
18012 "properties" : {
18013 "node" : {
18014 "description" : "The cluster node name.",
18015 "format" : "pve-node",
18016 "type" : "string"
18017 }
18018 }
18019 },
18020 "permissions" : {
18021 "check" : [
18022 "perm",
18023 "/nodes/{node}",
18024 [
18025 "Sys.Modify"
18026 ]
18027 ]
18028 },
18029 "protected" : 1,
18030 "proxyto" : "node",
18031 "returns" : {
18032 "type" : "null"
18033 }
18034 },
18035 "GET" : {
18036 "description" : "List available networks",
18037 "method" : "GET",
18038 "name" : "index",
18039 "parameters" : {
18040 "additionalProperties" : 0,
18041 "properties" : {
18042 "node" : {
18043 "description" : "The cluster node name.",
18044 "format" : "pve-node",
18045 "type" : "string"
18046 },
18047 "type" : {
18048 "description" : "Only list specific interface types.",
18049 "enum" : [
18050 "bridge",
18051 "bond",
18052 "eth",
18053 "alias",
18054 "vlan",
18055 "OVSBridge",
18056 "OVSBond",
18057 "OVSPort",
18058 "OVSIntPort",
18059 "any_bridge"
18060 ],
18061 "optional" : 1,
18062 "type" : "string"
18063 }
18064 }
18065 },
18066 "permissions" : {
18067 "user" : "all"
18068 },
18069 "proxyto" : "node",
18070 "returns" : {
18071 "items" : {
18072 "properties" : {},
18073 "type" : "object"
18074 },
18075 "links" : [
18076 {
18077 "href" : "{iface}",
18078 "rel" : "child"
18079 }
18080 ],
18081 "type" : "array"
18082 }
18083 },
18084 "POST" : {
18085 "description" : "Create network device configuration",
18086 "method" : "POST",
18087 "name" : "create_network",
18088 "parameters" : {
18089 "additionalProperties" : 0,
18090 "properties" : {
18091 "address" : {
18092 "description" : "IP address.",
18093 "format" : "ipv4",
18094 "optional" : 1,
18095 "requires" : "netmask",
18096 "type" : "string"
18097 },
18098 "address6" : {
18099 "description" : "IP address.",
18100 "format" : "ipv6",
18101 "optional" : 1,
18102 "requires" : "netmask6",
18103 "type" : "string"
18104 },
18105 "autostart" : {
18106 "description" : "Automatically start interface on boot.",
18107 "optional" : 1,
18108 "type" : "boolean"
18109 },
18110 "bond_mode" : {
18111 "description" : "Bonding mode.",
18112 "enum" : [
18113 "balance-rr",
18114 "active-backup",
18115 "balance-xor",
18116 "broadcast",
18117 "802.3ad",
18118 "balance-tlb",
18119 "balance-alb",
18120 "balance-slb",
18121 "lacp-balance-slb",
18122 "lacp-balance-tcp"
18123 ],
18124 "optional" : 1,
18125 "type" : "string"
18126 },
18127 "bond_xmit_hash_policy" : {
18128 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
18129 "enum" : [
18130 "layer2",
18131 "layer2+3",
18132 "layer3+4"
18133 ],
18134 "optional" : 1,
18135 "type" : "string"
18136 },
18137 "bridge_ports" : {
18138 "description" : "Specify the iterfaces you want to add to your bridge.",
18139 "format" : "pve-iface-list",
18140 "optional" : 1,
18141 "type" : "string"
18142 },
18143 "bridge_vlan_aware" : {
18144 "description" : "Enable bridge vlan support.",
18145 "optional" : 1,
18146 "type" : "boolean"
18147 },
18148 "comments" : {
18149 "description" : "Comments",
18150 "optional" : 1,
18151 "type" : "string"
18152 },
18153 "comments6" : {
18154 "description" : "Comments",
18155 "optional" : 1,
18156 "type" : "string"
18157 },
18158 "gateway" : {
18159 "description" : "Default gateway address.",
18160 "format" : "ipv4",
18161 "optional" : 1,
18162 "type" : "string"
18163 },
18164 "gateway6" : {
18165 "description" : "Default ipv6 gateway address.",
18166 "format" : "ipv6",
18167 "optional" : 1,
18168 "type" : "string"
18169 },
18170 "iface" : {
18171 "description" : "Network interface name.",
18172 "format" : "pve-iface",
18173 "maxLength" : 20,
18174 "minLength" : 2,
18175 "type" : "string"
18176 },
18177 "netmask" : {
18178 "description" : "Network mask.",
18179 "format" : "ipv4mask",
18180 "optional" : 1,
18181 "requires" : "address",
18182 "type" : "string"
18183 },
18184 "netmask6" : {
18185 "description" : "Network mask.",
18186 "maximum" : 128,
18187 "minimum" : 0,
18188 "optional" : 1,
18189 "requires" : "address6",
18190 "type" : "integer",
18191 "typetext" : "integer (0-128)"
18192 },
18193 "node" : {
18194 "description" : "The cluster node name.",
18195 "format" : "pve-node",
18196 "type" : "string"
18197 },
18198 "ovs_bonds" : {
18199 "description" : "Specify the interfaces used by the bonding device.",
18200 "format" : "pve-iface-list",
18201 "optional" : 1,
18202 "type" : "string"
18203 },
18204 "ovs_bridge" : {
18205 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
18206 "format" : "pve-iface",
18207 "optional" : 1,
18208 "type" : "string"
18209 },
18210 "ovs_options" : {
18211 "description" : "OVS interface options.",
18212 "maxLength" : 1024,
18213 "optional" : 1,
18214 "type" : "string"
18215 },
18216 "ovs_ports" : {
18217 "description" : "Specify the iterfaces you want to add to your bridge.",
18218 "format" : "pve-iface-list",
18219 "optional" : 1,
18220 "type" : "string"
18221 },
18222 "ovs_tag" : {
18223 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
18224 "maximum" : 4094,
18225 "minimum" : 1,
18226 "optional" : 1,
18227 "type" : "integer",
18228 "typetext" : "integer (1-4094)"
18229 },
18230 "slaves" : {
18231 "description" : "Specify the interfaces used by the bonding device.",
18232 "format" : "pve-iface-list",
18233 "optional" : 1,
18234 "type" : "string"
18235 },
18236 "type" : {
18237 "description" : "Network interface type",
18238 "enum" : [
18239 "bridge",
18240 "bond",
18241 "eth",
18242 "alias",
18243 "vlan",
18244 "OVSBridge",
18245 "OVSBond",
18246 "OVSPort",
18247 "OVSIntPort",
18248 "unknown"
18249 ],
18250 "type" : "string"
18251 }
18252 }
18253 },
18254 "permissions" : {
18255 "check" : [
18256 "perm",
18257 "/nodes/{node}",
18258 [
18259 "Sys.Modify"
18260 ]
18261 ]
18262 },
18263 "protected" : 1,
18264 "proxyto" : "node",
18265 "returns" : {
18266 "type" : "null"
18267 }
18268 }
18269 },
18270 "leaf" : 0,
18271 "path" : "/nodes/{node}/network",
18272 "text" : "network"
18273 },
18274 {
18275 "children" : [
18276 {
18277 "children" : [
18278 {
18279 "info" : {
18280 "GET" : {
18281 "description" : "Read task log.",
18282 "method" : "GET",
18283 "name" : "read_task_log",
18284 "parameters" : {
18285 "additionalProperties" : 0,
18286 "properties" : {
18287 "limit" : {
18288 "minimum" : 0,
18289 "optional" : 1,
18290 "type" : "integer",
18291 "typetext" : "integer (0- N)"
18292 },
18293 "node" : {
18294 "description" : "The cluster node name.",
18295 "format" : "pve-node",
18296 "type" : "string"
18297 },
18298 "start" : {
18299 "minimum" : 0,
18300 "optional" : 1,
18301 "type" : "integer",
18302 "typetext" : "integer (0- N)"
18303 },
18304 "upid" : {
18305 "type" : "string"
18306 }
18307 }
18308 },
18309 "permissions" : {
18310 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
18311 "user" : "all"
18312 },
18313 "protected" : 1,
18314 "proxyto" : "node",
18315 "returns" : {
18316 "items" : {
18317 "properties" : {
18318 "n" : {
18319 "description" : "Line number",
18320 "type" : "integer"
18321 },
18322 "t" : {
18323 "description" : "Line text",
18324 "type" : "string"
18325 }
18326 },
18327 "type" : "object"
18328 },
18329 "type" : "array"
18330 }
18331 }
18332 },
18333 "leaf" : 1,
18334 "path" : "/nodes/{node}/tasks/{upid}/log",
18335 "text" : "log"
18336 },
18337 {
18338 "info" : {
18339 "GET" : {
18340 "description" : "Read task status.",
18341 "method" : "GET",
18342 "name" : "read_task_status",
18343 "parameters" : {
18344 "additionalProperties" : 0,
18345 "properties" : {
18346 "node" : {
18347 "description" : "The cluster node name.",
18348 "format" : "pve-node",
18349 "type" : "string"
18350 },
18351 "upid" : {
18352 "type" : "string"
18353 }
18354 }
18355 },
18356 "permissions" : {
18357 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
18358 "user" : "all"
18359 },
18360 "protected" : 1,
18361 "proxyto" : "node",
18362 "returns" : {
18363 "properties" : {
18364 "pid" : {
18365 "type" : "integer"
18366 },
18367 "status" : {
18368 "enum" : [
18369 "running",
18370 "stopped"
18371 ],
18372 "type" : "string"
18373 }
18374 },
18375 "type" : "object"
18376 }
18377 }
18378 },
18379 "leaf" : 1,
18380 "path" : "/nodes/{node}/tasks/{upid}/status",
18381 "text" : "status"
18382 }
18383 ],
18384 "info" : {
18385 "DELETE" : {
18386 "description" : "Stop a task.",
18387 "method" : "DELETE",
18388 "name" : "stop_task",
18389 "parameters" : {
18390 "additionalProperties" : 0,
18391 "properties" : {
18392 "node" : {
18393 "description" : "The cluster node name.",
18394 "format" : "pve-node",
18395 "type" : "string"
18396 },
18397 "upid" : {
18398 "type" : "string"
18399 }
18400 }
18401 },
18402 "permissions" : {
18403 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
18404 "user" : "all"
18405 },
18406 "protected" : 1,
18407 "proxyto" : "node",
18408 "returns" : {
18409 "type" : "null"
18410 }
18411 },
18412 "GET" : {
18413 "description" : "",
18414 "method" : "GET",
18415 "name" : "upid_index",
18416 "parameters" : {
18417 "additionalProperties" : 0,
18418 "properties" : {
18419 "node" : {
18420 "description" : "The cluster node name.",
18421 "format" : "pve-node",
18422 "type" : "string"
18423 },
18424 "upid" : {
18425 "type" : "string"
18426 }
18427 }
18428 },
18429 "permissions" : {
18430 "user" : "all"
18431 },
18432 "returns" : {
18433 "items" : {
18434 "properties" : {},
18435 "type" : "object"
18436 },
18437 "links" : [
18438 {
18439 "href" : "{name}",
18440 "rel" : "child"
18441 }
18442 ],
18443 "type" : "array"
18444 }
18445 }
18446 },
18447 "leaf" : 0,
18448 "path" : "/nodes/{node}/tasks/{upid}",
18449 "text" : "{upid}"
18450 }
18451 ],
18452 "info" : {
18453 "GET" : {
18454 "description" : "Read task list for one node (finished tasks).",
18455 "method" : "GET",
18456 "name" : "node_tasks",
18457 "parameters" : {
18458 "additionalProperties" : 0,
18459 "properties" : {
18460 "errors" : {
18461 "optional" : 1,
18462 "type" : "boolean"
18463 },
18464 "limit" : {
18465 "minimum" : 0,
18466 "optional" : 1,
18467 "type" : "integer",
18468 "typetext" : "integer (0- N)"
18469 },
18470 "node" : {
18471 "description" : "The cluster node name.",
18472 "format" : "pve-node",
18473 "type" : "string"
18474 },
18475 "start" : {
18476 "minimum" : 0,
18477 "optional" : 1,
18478 "type" : "integer",
18479 "typetext" : "integer (0- N)"
18480 },
18481 "userfilter" : {
18482 "optional" : 1,
18483 "type" : "string"
18484 },
18485 "vmid" : {
18486 "description" : "Only list tasks for this VM.",
18487 "format" : "pve-vmid",
18488 "minimum" : 1,
18489 "optional" : 1,
18490 "type" : "integer",
18491 "typetext" : "integer (1- N)"
18492 }
18493 }
18494 },
18495 "permissions" : {
18496 "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).",
18497 "user" : "all"
18498 },
18499 "proxyto" : "node",
18500 "returns" : {
18501 "items" : {
18502 "properties" : {
18503 "upid" : {
18504 "type" : "string"
18505 }
18506 },
18507 "type" : "object"
18508 },
18509 "links" : [
18510 {
18511 "href" : "{upid}",
18512 "rel" : "child"
18513 }
18514 ],
18515 "type" : "array"
18516 }
18517 }
18518 },
18519 "leaf" : 0,
18520 "path" : "/nodes/{node}/tasks",
18521 "text" : "tasks"
18522 },
18523 {
18524 "children" : [
18525 {
18526 "info" : {
18527 "GET" : {
18528 "description" : "Scan zfs pool list on local node.",
18529 "method" : "GET",
18530 "name" : "zfsscan",
18531 "parameters" : {
18532 "additionalProperties" : 0,
18533 "properties" : {
18534 "node" : {
18535 "description" : "The cluster node name.",
18536 "format" : "pve-node",
18537 "type" : "string"
18538 }
18539 }
18540 },
18541 "permissions" : {
18542 "check" : [
18543 "perm",
18544 "/storage",
18545 [
18546 "Datastore.Allocate"
18547 ]
18548 ]
18549 },
18550 "protected" : 1,
18551 "proxyto" : "node",
18552 "returns" : {
18553 "items" : {
18554 "properties" : {
18555 "pool" : {
18556 "type" : "string"
18557 }
18558 },
18559 "type" : "object"
18560 },
18561 "type" : "array"
18562 }
18563 }
18564 },
18565 "leaf" : 1,
18566 "path" : "/nodes/{node}/scan/zfs",
18567 "text" : "zfs"
18568 },
18569 {
18570 "info" : {
18571 "GET" : {
18572 "description" : "Scan remote NFS server.",
18573 "method" : "GET",
18574 "name" : "nfsscan",
18575 "parameters" : {
18576 "additionalProperties" : 0,
18577 "properties" : {
18578 "node" : {
18579 "description" : "The cluster node name.",
18580 "format" : "pve-node",
18581 "type" : "string"
18582 },
18583 "server" : {
18584 "format" : "pve-storage-server",
18585 "type" : "string"
18586 }
18587 }
18588 },
18589 "permissions" : {
18590 "check" : [
18591 "perm",
18592 "/storage",
18593 [
18594 "Datastore.Allocate"
18595 ]
18596 ]
18597 },
18598 "protected" : 1,
18599 "proxyto" : "node",
18600 "returns" : {
18601 "items" : {
18602 "properties" : {
18603 "options" : {
18604 "type" : "string"
18605 },
18606 "path" : {
18607 "type" : "string"
18608 }
18609 },
18610 "type" : "object"
18611 },
18612 "type" : "array"
18613 }
18614 }
18615 },
18616 "leaf" : 1,
18617 "path" : "/nodes/{node}/scan/nfs",
18618 "text" : "nfs"
18619 },
18620 {
18621 "info" : {
18622 "GET" : {
18623 "description" : "Scan remote GlusterFS server.",
18624 "method" : "GET",
18625 "name" : "glusterfsscan",
18626 "parameters" : {
18627 "additionalProperties" : 0,
18628 "properties" : {
18629 "node" : {
18630 "description" : "The cluster node name.",
18631 "format" : "pve-node",
18632 "type" : "string"
18633 },
18634 "server" : {
18635 "format" : "pve-storage-server",
18636 "type" : "string"
18637 }
18638 }
18639 },
18640 "permissions" : {
18641 "check" : [
18642 "perm",
18643 "/storage",
18644 [
18645 "Datastore.Allocate"
18646 ]
18647 ]
18648 },
18649 "protected" : 1,
18650 "proxyto" : "node",
18651 "returns" : {
18652 "items" : {
18653 "properties" : {
18654 "volname" : {
18655 "type" : "string"
18656 }
18657 },
18658 "type" : "object"
18659 },
18660 "type" : "array"
18661 }
18662 }
18663 },
18664 "leaf" : 1,
18665 "path" : "/nodes/{node}/scan/glusterfs",
18666 "text" : "glusterfs"
18667 },
18668 {
18669 "info" : {
18670 "GET" : {
18671 "description" : "Scan remote iSCSI server.",
18672 "method" : "GET",
18673 "name" : "iscsiscan",
18674 "parameters" : {
18675 "additionalProperties" : 0,
18676 "properties" : {
18677 "node" : {
18678 "description" : "The cluster node name.",
18679 "format" : "pve-node",
18680 "type" : "string"
18681 },
18682 "portal" : {
18683 "format" : "pve-storage-portal-dns",
18684 "type" : "string"
18685 }
18686 }
18687 },
18688 "permissions" : {
18689 "check" : [
18690 "perm",
18691 "/storage",
18692 [
18693 "Datastore.Allocate"
18694 ]
18695 ]
18696 },
18697 "protected" : 1,
18698 "proxyto" : "node",
18699 "returns" : {
18700 "items" : {
18701 "properties" : {
18702 "portal" : {
18703 "type" : "string"
18704 },
18705 "target" : {
18706 "type" : "string"
18707 }
18708 },
18709 "type" : "object"
18710 },
18711 "type" : "array"
18712 }
18713 }
18714 },
18715 "leaf" : 1,
18716 "path" : "/nodes/{node}/scan/iscsi",
18717 "text" : "iscsi"
18718 },
18719 {
18720 "info" : {
18721 "GET" : {
18722 "description" : "List local LVM volume groups.",
18723 "method" : "GET",
18724 "name" : "lvmscan",
18725 "parameters" : {
18726 "additionalProperties" : 0,
18727 "properties" : {
18728 "node" : {
18729 "description" : "The cluster node name.",
18730 "format" : "pve-node",
18731 "type" : "string"
18732 }
18733 }
18734 },
18735 "permissions" : {
18736 "check" : [
18737 "perm",
18738 "/storage",
18739 [
18740 "Datastore.Allocate"
18741 ]
18742 ]
18743 },
18744 "protected" : 1,
18745 "proxyto" : "node",
18746 "returns" : {
18747 "items" : {
18748 "properties" : {
18749 "vg" : {
18750 "type" : "string"
18751 }
18752 },
18753 "type" : "object"
18754 },
18755 "type" : "array"
18756 }
18757 }
18758 },
18759 "leaf" : 1,
18760 "path" : "/nodes/{node}/scan/lvm",
18761 "text" : "lvm"
18762 },
18763 {
18764 "info" : {
18765 "GET" : {
18766 "description" : "List local LVM Thin Pools.",
18767 "method" : "GET",
18768 "name" : "lvmthinscan",
18769 "parameters" : {
18770 "additionalProperties" : 0,
18771 "properties" : {
18772 "node" : {
18773 "description" : "The cluster node name.",
18774 "format" : "pve-node",
18775 "type" : "string"
18776 },
18777 "vg" : {
18778 "maxLength" : 100,
18779 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
18780 "type" : "string"
18781 }
18782 }
18783 },
18784 "permissions" : {
18785 "check" : [
18786 "perm",
18787 "/storage",
18788 [
18789 "Datastore.Allocate"
18790 ]
18791 ]
18792 },
18793 "protected" : 1,
18794 "proxyto" : "node",
18795 "returns" : {
18796 "items" : {
18797 "properties" : {
18798 "lv" : {
18799 "type" : "string"
18800 }
18801 },
18802 "type" : "object"
18803 },
18804 "type" : "array"
18805 }
18806 }
18807 },
18808 "leaf" : 1,
18809 "path" : "/nodes/{node}/scan/lvmthin",
18810 "text" : "lvmthin"
18811 },
18812 {
18813 "info" : {
18814 "GET" : {
18815 "description" : "List local USB devices.",
18816 "method" : "GET",
18817 "name" : "usbscan",
18818 "parameters" : {
18819 "additionalProperties" : 0,
18820 "properties" : {
18821 "node" : {
18822 "description" : "The cluster node name.",
18823 "format" : "pve-node",
18824 "type" : "string"
18825 }
18826 }
18827 },
18828 "permissions" : {
18829 "check" : [
18830 "perm",
18831 "/",
18832 [
18833 "Sys.Modify"
18834 ]
18835 ]
18836 },
18837 "protected" : 1,
18838 "proxyto" : "node",
18839 "returns" : {
18840 "items" : {
18841 "properties" : {
18842 "busnum" : {
18843 "type" : "integer"
18844 },
18845 "class" : {
18846 "type" : "integer"
18847 },
18848 "devnum" : {
18849 "type" : "integer"
18850 },
18851 "level" : {
18852 "type" : "integer"
18853 },
18854 "manufacturer" : {
18855 "optional" : 1,
18856 "type" : "string"
18857 },
18858 "port" : {
18859 "type" : "integer"
18860 },
18861 "prodid" : {
18862 "type" : "string"
18863 },
18864 "product" : {
18865 "optional" : 1,
18866 "type" : "string"
18867 },
18868 "serial" : {
18869 "optional" : 1,
18870 "type" : "string"
18871 },
18872 "speed" : {
18873 "type" : "string"
18874 },
18875 "usbpath" : {
18876 "optional" : 1,
18877 "type" : "string"
18878 },
18879 "vendid" : {
18880 "type" : "string"
18881 }
18882 },
18883 "type" : "object"
18884 },
18885 "type" : "array"
18886 }
18887 }
18888 },
18889 "leaf" : 1,
18890 "path" : "/nodes/{node}/scan/usb",
18891 "text" : "usb"
18892 }
18893 ],
18894 "info" : {
18895 "GET" : {
18896 "description" : "Index of available scan methods",
18897 "method" : "GET",
18898 "name" : "index",
18899 "parameters" : {
18900 "additionalProperties" : 0,
18901 "properties" : {
18902 "node" : {
18903 "description" : "The cluster node name.",
18904 "format" : "pve-node",
18905 "type" : "string"
18906 }
18907 }
18908 },
18909 "permissions" : {
18910 "user" : "all"
18911 },
18912 "returns" : {
18913 "items" : {
18914 "properties" : {
18915 "method" : {
18916 "type" : "string"
18917 }
18918 },
18919 "type" : "object"
18920 },
18921 "links" : [
18922 {
18923 "href" : "{method}",
18924 "rel" : "child"
18925 }
18926 ],
18927 "type" : "array"
18928 }
18929 }
18930 },
18931 "leaf" : 0,
18932 "path" : "/nodes/{node}/scan",
18933 "text" : "scan"
18934 },
18935 {
18936 "children" : [
18937 {
18938 "children" : [
18939 {
18940 "children" : [
18941 {
18942 "info" : {
18943 "DELETE" : {
18944 "description" : "Delete volume",
18945 "method" : "DELETE",
18946 "name" : "delete",
18947 "parameters" : {
18948 "additionalProperties" : 0,
18949 "properties" : {
18950 "node" : {
18951 "description" : "The cluster node name.",
18952 "format" : "pve-node",
18953 "type" : "string"
18954 },
18955 "storage" : {
18956 "description" : "The storage identifier.",
18957 "format" : "pve-storage-id",
18958 "optional" : 1,
18959 "type" : "string"
18960 },
18961 "volume" : {
18962 "description" : "Volume identifier",
18963 "type" : "string"
18964 }
18965 }
18966 },
18967 "permissions" : {
18968 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
18969 "user" : "all"
18970 },
18971 "protected" : 1,
18972 "proxyto" : "node",
18973 "returns" : {
18974 "type" : "null"
18975 }
18976 },
18977 "GET" : {
18978 "description" : "Get volume attributes",
18979 "method" : "GET",
18980 "name" : "info",
18981 "parameters" : {
18982 "additionalProperties" : 0,
18983 "properties" : {
18984 "node" : {
18985 "description" : "The cluster node name.",
18986 "format" : "pve-node",
18987 "type" : "string"
18988 },
18989 "storage" : {
18990 "description" : "The storage identifier.",
18991 "format" : "pve-storage-id",
18992 "optional" : 1,
18993 "type" : "string"
18994 },
18995 "volume" : {
18996 "description" : "Volume identifier",
18997 "type" : "string"
18998 }
18999 }
19000 },
19001 "permissions" : {
19002 "description" : "You need read access for the volume.",
19003 "user" : "all"
19004 },
19005 "protected" : 1,
19006 "proxyto" : "node",
19007 "returns" : {
19008 "type" : "object"
19009 }
19010 },
19011 "POST" : {
19012 "description" : "Copy a volume. This is experimental code - do not use.",
19013 "method" : "POST",
19014 "name" : "copy",
19015 "parameters" : {
19016 "additionalProperties" : 0,
19017 "properties" : {
19018 "node" : {
19019 "description" : "The cluster node name.",
19020 "format" : "pve-node",
19021 "type" : "string"
19022 },
19023 "storage" : {
19024 "description" : "The storage identifier.",
19025 "format" : "pve-storage-id",
19026 "optional" : 1,
19027 "type" : "string"
19028 },
19029 "target" : {
19030 "description" : "Target volume identifier",
19031 "type" : "string"
19032 },
19033 "target_node" : {
19034 "description" : "Target node. Default is local node.",
19035 "format" : "pve-node",
19036 "optional" : 1,
19037 "type" : "string"
19038 },
19039 "volume" : {
19040 "description" : "Source volume identifier",
19041 "type" : "string"
19042 }
19043 }
19044 },
19045 "protected" : 1,
19046 "proxyto" : "node",
19047 "returns" : {
19048 "type" : "string"
19049 }
19050 }
19051 },
19052 "leaf" : 1,
19053 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
19054 "text" : "{volume}"
19055 }
19056 ],
19057 "info" : {
19058 "GET" : {
19059 "description" : "List storage content.",
19060 "method" : "GET",
19061 "name" : "index",
19062 "parameters" : {
19063 "additionalProperties" : 0,
19064 "properties" : {
19065 "content" : {
19066 "description" : "Only list content of this type.",
19067 "format" : "pve-storage-content",
19068 "optional" : 1,
19069 "type" : "string"
19070 },
19071 "node" : {
19072 "description" : "The cluster node name.",
19073 "format" : "pve-node",
19074 "type" : "string"
19075 },
19076 "storage" : {
19077 "description" : "The storage identifier.",
19078 "format" : "pve-storage-id",
19079 "type" : "string"
19080 },
19081 "vmid" : {
19082 "description" : "Only list images for this VM",
19083 "format" : "pve-vmid",
19084 "minimum" : 1,
19085 "optional" : 1,
19086 "type" : "integer",
19087 "typetext" : "integer (1- N)"
19088 }
19089 }
19090 },
19091 "permissions" : {
19092 "check" : [
19093 "perm",
19094 "/storage/{storage}",
19095 [
19096 "Datastore.Audit",
19097 "Datastore.AllocateSpace"
19098 ],
19099 "any",
19100 1
19101 ]
19102 },
19103 "protected" : 1,
19104 "proxyto" : "node",
19105 "returns" : {
19106 "items" : {
19107 "properties" : {
19108 "volid" : {
19109 "type" : "string"
19110 }
19111 },
19112 "type" : "object"
19113 },
19114 "links" : [
19115 {
19116 "href" : "{volid}",
19117 "rel" : "child"
19118 }
19119 ],
19120 "type" : "array"
19121 }
19122 },
19123 "POST" : {
19124 "description" : "Allocate disk images.",
19125 "method" : "POST",
19126 "name" : "create",
19127 "parameters" : {
19128 "additionalProperties" : 0,
19129 "properties" : {
19130 "filename" : {
19131 "description" : "The name of the file to create.",
19132 "type" : "string"
19133 },
19134 "format" : {
19135 "enum" : [
19136 "raw",
19137 "qcow2",
19138 "subvol"
19139 ],
19140 "optional" : 1,
19141 "requires" : "size",
19142 "type" : "string"
19143 },
19144 "node" : {
19145 "description" : "The cluster node name.",
19146 "format" : "pve-node",
19147 "type" : "string"
19148 },
19149 "size" : {
19150 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
19151 "pattern" : "\\d+[MG]?",
19152 "type" : "string"
19153 },
19154 "storage" : {
19155 "description" : "The storage identifier.",
19156 "format" : "pve-storage-id",
19157 "type" : "string"
19158 },
19159 "vmid" : {
19160 "description" : "Specify owner VM",
19161 "format" : "pve-vmid",
19162 "minimum" : 1,
19163 "type" : "integer",
19164 "typetext" : "integer (1- N)"
19165 }
19166 }
19167 },
19168 "permissions" : {
19169 "check" : [
19170 "perm",
19171 "/storage/{storage}",
19172 [
19173 "Datastore.AllocateSpace"
19174 ]
19175 ]
19176 },
19177 "protected" : 1,
19178 "proxyto" : "node",
19179 "returns" : {
19180 "description" : "Volume identifier",
19181 "type" : "string"
19182 }
19183 }
19184 },
19185 "leaf" : 0,
19186 "path" : "/nodes/{node}/storage/{storage}/content",
19187 "text" : "content"
19188 },
19189 {
19190 "info" : {
19191 "GET" : {
19192 "description" : "Read storage status.",
19193 "method" : "GET",
19194 "name" : "read_status",
19195 "parameters" : {
19196 "additionalProperties" : 0,
19197 "properties" : {
19198 "node" : {
19199 "description" : "The cluster node name.",
19200 "format" : "pve-node",
19201 "type" : "string"
19202 },
19203 "storage" : {
19204 "description" : "The storage identifier.",
19205 "format" : "pve-storage-id",
19206 "type" : "string"
19207 }
19208 }
19209 },
19210 "permissions" : {
19211 "check" : [
19212 "perm",
19213 "/storage/{storage}",
19214 [
19215 "Datastore.Audit",
19216 "Datastore.AllocateSpace"
19217 ],
19218 "any",
19219 1
19220 ]
19221 },
19222 "protected" : 1,
19223 "proxyto" : "node",
19224 "returns" : {
19225 "properties" : {},
19226 "type" : "object"
19227 }
19228 }
19229 },
19230 "leaf" : 1,
19231 "path" : "/nodes/{node}/storage/{storage}/status",
19232 "text" : "status"
19233 },
19234 {
19235 "info" : {
19236 "GET" : {
19237 "description" : "Read storage RRD statistics (returns PNG).",
19238 "method" : "GET",
19239 "name" : "rrd",
19240 "parameters" : {
19241 "additionalProperties" : 0,
19242 "properties" : {
19243 "cf" : {
19244 "description" : "The RRD consolidation function",
19245 "enum" : [
19246 "AVERAGE",
19247 "MAX"
19248 ],
19249 "optional" : 1,
19250 "type" : "string"
19251 },
19252 "ds" : {
19253 "description" : "The list of datasources you want to display.",
19254 "format" : "pve-configid-list",
19255 "type" : "string"
19256 },
19257 "node" : {
19258 "description" : "The cluster node name.",
19259 "format" : "pve-node",
19260 "type" : "string"
19261 },
19262 "storage" : {
19263 "description" : "The storage identifier.",
19264 "format" : "pve-storage-id",
19265 "type" : "string"
19266 },
19267 "timeframe" : {
19268 "description" : "Specify the time frame you are interested in.",
19269 "enum" : [
19270 "hour",
19271 "day",
19272 "week",
19273 "month",
19274 "year"
19275 ],
19276 "type" : "string"
19277 }
19278 }
19279 },
19280 "permissions" : {
19281 "check" : [
19282 "perm",
19283 "/storage/{storage}",
19284 [
19285 "Datastore.Audit",
19286 "Datastore.AllocateSpace"
19287 ],
19288 "any",
19289 1
19290 ]
19291 },
19292 "protected" : 1,
19293 "proxyto" : "node",
19294 "returns" : {
19295 "properties" : {
19296 "filename" : {
19297 "type" : "string"
19298 }
19299 },
19300 "type" : "object"
19301 }
19302 }
19303 },
19304 "leaf" : 1,
19305 "path" : "/nodes/{node}/storage/{storage}/rrd",
19306 "text" : "rrd"
19307 },
19308 {
19309 "info" : {
19310 "GET" : {
19311 "description" : "Read storage RRD statistics.",
19312 "method" : "GET",
19313 "name" : "rrddata",
19314 "parameters" : {
19315 "additionalProperties" : 0,
19316 "properties" : {
19317 "cf" : {
19318 "description" : "The RRD consolidation function",
19319 "enum" : [
19320 "AVERAGE",
19321 "MAX"
19322 ],
19323 "optional" : 1,
19324 "type" : "string"
19325 },
19326 "node" : {
19327 "description" : "The cluster node name.",
19328 "format" : "pve-node",
19329 "type" : "string"
19330 },
19331 "storage" : {
19332 "description" : "The storage identifier.",
19333 "format" : "pve-storage-id",
19334 "type" : "string"
19335 },
19336 "timeframe" : {
19337 "description" : "Specify the time frame you are interested in.",
19338 "enum" : [
19339 "hour",
19340 "day",
19341 "week",
19342 "month",
19343 "year"
19344 ],
19345 "type" : "string"
19346 }
19347 }
19348 },
19349 "permissions" : {
19350 "check" : [
19351 "perm",
19352 "/storage/{storage}",
19353 [
19354 "Datastore.Audit",
19355 "Datastore.AllocateSpace"
19356 ],
19357 "any",
19358 1
19359 ]
19360 },
19361 "protected" : 1,
19362 "proxyto" : "node",
19363 "returns" : {
19364 "items" : {
19365 "properties" : {},
19366 "type" : "object"
19367 },
19368 "type" : "array"
19369 }
19370 }
19371 },
19372 "leaf" : 1,
19373 "path" : "/nodes/{node}/storage/{storage}/rrddata",
19374 "text" : "rrddata"
19375 },
19376 {
19377 "info" : {
19378 "POST" : {
19379 "description" : "Upload templates and ISO images.",
19380 "method" : "POST",
19381 "name" : "upload",
19382 "parameters" : {
19383 "additionalProperties" : 0,
19384 "properties" : {
19385 "content" : {
19386 "description" : "Content type.",
19387 "format" : "pve-storage-content",
19388 "type" : "string"
19389 },
19390 "filename" : {
19391 "description" : "The name of the file to create.",
19392 "type" : "string"
19393 },
19394 "node" : {
19395 "description" : "The cluster node name.",
19396 "format" : "pve-node",
19397 "type" : "string"
19398 },
19399 "storage" : {
19400 "description" : "The storage identifier.",
19401 "format" : "pve-storage-id",
19402 "type" : "string"
19403 },
19404 "tmpfilename" : {
19405 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
19406 "optional" : 1,
19407 "type" : "string"
19408 }
19409 }
19410 },
19411 "permissions" : {
19412 "check" : [
19413 "perm",
19414 "/storage/{storage}",
19415 [
19416 "Datastore.AllocateTemplate"
19417 ]
19418 ]
19419 },
19420 "protected" : 1,
19421 "returns" : {
19422 "type" : "string"
19423 }
19424 }
19425 },
19426 "leaf" : 1,
19427 "path" : "/nodes/{node}/storage/{storage}/upload",
19428 "text" : "upload"
19429 }
19430 ],
19431 "info" : {
19432 "GET" : {
19433 "description" : "",
19434 "method" : "GET",
19435 "name" : "diridx",
19436 "parameters" : {
19437 "additionalProperties" : 0,
19438 "properties" : {
19439 "node" : {
19440 "description" : "The cluster node name.",
19441 "format" : "pve-node",
19442 "type" : "string"
19443 },
19444 "storage" : {
19445 "description" : "The storage identifier.",
19446 "format" : "pve-storage-id",
19447 "type" : "string"
19448 }
19449 }
19450 },
19451 "permissions" : {
19452 "check" : [
19453 "perm",
19454 "/storage/{storage}",
19455 [
19456 "Datastore.Audit",
19457 "Datastore.AllocateSpace"
19458 ],
19459 "any",
19460 1
19461 ]
19462 },
19463 "returns" : {
19464 "items" : {
19465 "properties" : {
19466 "subdir" : {
19467 "type" : "string"
19468 }
19469 },
19470 "type" : "object"
19471 },
19472 "links" : [
19473 {
19474 "href" : "{subdir}",
19475 "rel" : "child"
19476 }
19477 ],
19478 "type" : "array"
19479 }
19480 }
19481 },
19482 "leaf" : 0,
19483 "path" : "/nodes/{node}/storage/{storage}",
19484 "text" : "{storage}"
19485 }
19486 ],
19487 "info" : {
19488 "GET" : {
19489 "description" : "Get status for all datastores.",
19490 "method" : "GET",
19491 "name" : "index",
19492 "parameters" : {
19493 "additionalProperties" : 0,
19494 "properties" : {
19495 "content" : {
19496 "description" : "Only list stores which support this content type.",
19497 "format" : "pve-storage-content-list",
19498 "optional" : 1,
19499 "type" : "string"
19500 },
19501 "enabled" : {
19502 "default" : 0,
19503 "description" : "Only list stores which are enabled (not disabled in config).",
19504 "optional" : 1,
19505 "type" : "boolean"
19506 },
19507 "node" : {
19508 "description" : "The cluster node name.",
19509 "format" : "pve-node",
19510 "type" : "string"
19511 },
19512 "storage" : {
19513 "description" : "Only list status for specified storage",
19514 "format" : "pve-storage-id",
19515 "optional" : 1,
19516 "type" : "string"
19517 },
19518 "target" : {
19519 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
19520 "format" : "pve-node",
19521 "optional" : 1,
19522 "type" : "string"
19523 }
19524 }
19525 },
19526 "permissions" : {
19527 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
19528 "user" : "all"
19529 },
19530 "protected" : 1,
19531 "proxyto" : "node",
19532 "returns" : {
19533 "items" : {
19534 "properties" : {
19535 "storage" : {
19536 "type" : "string"
19537 }
19538 },
19539 "type" : "object"
19540 },
19541 "links" : [
19542 {
19543 "href" : "{storage}",
19544 "rel" : "child"
19545 }
19546 ],
19547 "type" : "array"
19548 }
19549 }
19550 },
19551 "leaf" : 0,
19552 "path" : "/nodes/{node}/storage",
19553 "text" : "storage"
19554 },
19555 {
19556 "children" : [
19557 {
19558 "info" : {
19559 "GET" : {
19560 "description" : "List available updates.",
19561 "method" : "GET",
19562 "name" : "list_updates",
19563 "parameters" : {
19564 "additionalProperties" : 0,
19565 "properties" : {
19566 "node" : {
19567 "description" : "The cluster node name.",
19568 "format" : "pve-node",
19569 "type" : "string"
19570 }
19571 }
19572 },
19573 "permissions" : {
19574 "check" : [
19575 "perm",
19576 "/nodes/{node}",
19577 [
19578 "Sys.Modify"
19579 ]
19580 ]
19581 },
19582 "protected" : 1,
19583 "proxyto" : "node",
19584 "returns" : {
19585 "items" : {
19586 "properties" : {},
19587 "type" : "object"
19588 },
19589 "type" : "array"
19590 }
19591 },
19592 "POST" : {
19593 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
19594 "method" : "POST",
19595 "name" : "update_database",
19596 "parameters" : {
19597 "additionalProperties" : 0,
19598 "properties" : {
19599 "node" : {
19600 "description" : "The cluster node name.",
19601 "format" : "pve-node",
19602 "type" : "string"
19603 },
19604 "notify" : {
19605 "default" : 0,
19606 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
19607 "optional" : 1,
19608 "type" : "boolean"
19609 },
19610 "quiet" : {
19611 "default" : 0,
19612 "description" : "Only produces output suitable for logging, omitting progress indicators.",
19613 "optional" : 1,
19614 "type" : "boolean"
19615 }
19616 }
19617 },
19618 "permissions" : {
19619 "check" : [
19620 "perm",
19621 "/nodes/{node}",
19622 [
19623 "Sys.Modify"
19624 ]
19625 ]
19626 },
19627 "protected" : 1,
19628 "proxyto" : "node",
19629 "returns" : {
19630 "type" : "string"
19631 }
19632 }
19633 },
19634 "leaf" : 1,
19635 "path" : "/nodes/{node}/apt/update",
19636 "text" : "update"
19637 },
19638 {
19639 "info" : {
19640 "GET" : {
19641 "description" : "Get package changelogs.",
19642 "method" : "GET",
19643 "name" : "changelog",
19644 "parameters" : {
19645 "additionalProperties" : 0,
19646 "properties" : {
19647 "name" : {
19648 "description" : "Package name.",
19649 "type" : "string"
19650 },
19651 "node" : {
19652 "description" : "The cluster node name.",
19653 "format" : "pve-node",
19654 "type" : "string"
19655 },
19656 "version" : {
19657 "description" : "Package version.",
19658 "optional" : 1,
19659 "type" : "string"
19660 }
19661 }
19662 },
19663 "permissions" : {
19664 "check" : [
19665 "perm",
19666 "/nodes/{node}",
19667 [
19668 "Sys.Modify"
19669 ]
19670 ]
19671 },
19672 "proxyto" : "node",
19673 "returns" : {
19674 "type" : "string"
19675 }
19676 }
19677 },
19678 "leaf" : 1,
19679 "path" : "/nodes/{node}/apt/changelog",
19680 "text" : "changelog"
19681 },
19682 {
19683 "info" : {
19684 "GET" : {
19685 "description" : "Get package information for important Proxmox packages.",
19686 "method" : "GET",
19687 "name" : "versions",
19688 "parameters" : {
19689 "additionalProperties" : 0,
19690 "properties" : {
19691 "node" : {
19692 "description" : "The cluster node name.",
19693 "format" : "pve-node",
19694 "type" : "string"
19695 }
19696 }
19697 },
19698 "permissions" : {
19699 "check" : [
19700 "perm",
19701 "/nodes/{node}",
19702 [
19703 "Sys.Audit"
19704 ]
19705 ]
19706 },
19707 "proxyto" : "node",
19708 "returns" : {
19709 "items" : {
19710 "properties" : {},
19711 "type" : "object"
19712 },
19713 "type" : "array"
19714 }
19715 }
19716 },
19717 "leaf" : 1,
19718 "path" : "/nodes/{node}/apt/versions",
19719 "text" : "versions"
19720 }
19721 ],
19722 "info" : {
19723 "GET" : {
19724 "description" : "Directory index for apt (Advanced Package Tool).",
19725 "method" : "GET",
19726 "name" : "index",
19727 "parameters" : {
19728 "additionalProperties" : 0,
19729 "properties" : {
19730 "node" : {
19731 "description" : "The cluster node name.",
19732 "format" : "pve-node",
19733 "type" : "string"
19734 }
19735 }
19736 },
19737 "permissions" : {
19738 "user" : "all"
19739 },
19740 "returns" : {
19741 "items" : {
19742 "properties" : {
19743 "id" : {
19744 "type" : "string"
19745 }
19746 },
19747 "type" : "object"
19748 },
19749 "links" : [
19750 {
19751 "href" : "{id}",
19752 "rel" : "child"
19753 }
19754 ],
19755 "type" : "array"
19756 }
19757 }
19758 },
19759 "leaf" : 0,
19760 "path" : "/nodes/{node}/apt",
19761 "text" : "apt"
19762 },
19763 {
19764 "children" : [
19765 {
19766 "children" : [
19767 {
19768 "info" : {
19769 "DELETE" : {
19770 "description" : "Delete rule.",
19771 "method" : "DELETE",
19772 "name" : "delete_rule",
19773 "parameters" : {
19774 "additionalProperties" : 0,
19775 "properties" : {
19776 "digest" : {
19777 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19778 "maxLength" : 40,
19779 "optional" : 1,
19780 "type" : "string"
19781 },
19782 "node" : {
19783 "description" : "The cluster node name.",
19784 "format" : "pve-node",
19785 "type" : "string"
19786 },
19787 "pos" : {
19788 "description" : "Update rule at position <pos>.",
19789 "minimum" : 0,
19790 "optional" : 1,
19791 "type" : "integer",
19792 "typetext" : "integer (0- N)"
19793 }
19794 }
19795 },
19796 "permissions" : {
19797 "check" : [
19798 "perm",
19799 "/nodes/{node}",
19800 [
19801 "Sys.Modify"
19802 ]
19803 ]
19804 },
19805 "protected" : 1,
19806 "proxyto" : "node",
19807 "returns" : {
19808 "type" : "null"
19809 }
19810 },
19811 "GET" : {
19812 "description" : "Get single rule data.",
19813 "method" : "GET",
19814 "name" : "get_rule",
19815 "parameters" : {
19816 "additionalProperties" : 0,
19817 "properties" : {
19818 "node" : {
19819 "description" : "The cluster node name.",
19820 "format" : "pve-node",
19821 "type" : "string"
19822 },
19823 "pos" : {
19824 "description" : "Update rule at position <pos>.",
19825 "minimum" : 0,
19826 "optional" : 1,
19827 "type" : "integer",
19828 "typetext" : "integer (0- N)"
19829 }
19830 }
19831 },
19832 "permissions" : {
19833 "check" : [
19834 "perm",
19835 "/nodes/{node}",
19836 [
19837 "Sys.Audit"
19838 ]
19839 ]
19840 },
19841 "proxyto" : "node",
19842 "returns" : {
19843 "properties" : {
19844 "pos" : {
19845 "type" : "integer"
19846 }
19847 },
19848 "type" : "object"
19849 }
19850 },
19851 "PUT" : {
19852 "description" : "Modify rule data.",
19853 "method" : "PUT",
19854 "name" : "update_rule",
19855 "parameters" : {
19856 "additionalProperties" : 0,
19857 "properties" : {
19858 "action" : {
19859 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
19860 "maxLength" : 20,
19861 "minLength" : 2,
19862 "optional" : 1,
19863 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
19864 "type" : "string"
19865 },
19866 "comment" : {
19867 "optional" : 1,
19868 "type" : "string"
19869 },
19870 "delete" : {
19871 "description" : "A list of settings you want to delete.",
19872 "format" : "pve-configid-list",
19873 "optional" : 1,
19874 "type" : "string"
19875 },
19876 "dest" : {
19877 "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.",
19878 "format" : "pve-fw-addr-spec",
19879 "optional" : 1,
19880 "type" : "string"
19881 },
19882 "digest" : {
19883 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19884 "maxLength" : 40,
19885 "optional" : 1,
19886 "type" : "string"
19887 },
19888 "dport" : {
19889 "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.",
19890 "format" : "pve-fw-dport-spec",
19891 "optional" : 1,
19892 "type" : "string"
19893 },
19894 "enable" : {
19895 "minimum" : 0,
19896 "optional" : 1,
19897 "type" : "integer",
19898 "typetext" : "integer (0- N)"
19899 },
19900 "iface" : {
19901 "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.",
19902 "format" : "pve-iface",
19903 "maxLength" : 20,
19904 "minLength" : 2,
19905 "optional" : 1,
19906 "type" : "string"
19907 },
19908 "macro" : {
19909 "maxLength" : 128,
19910 "optional" : 1,
19911 "type" : "string"
19912 },
19913 "moveto" : {
19914 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
19915 "minimum" : 0,
19916 "optional" : 1,
19917 "type" : "integer",
19918 "typetext" : "integer (0- N)"
19919 },
19920 "node" : {
19921 "description" : "The cluster node name.",
19922 "format" : "pve-node",
19923 "type" : "string"
19924 },
19925 "pos" : {
19926 "description" : "Update rule at position <pos>.",
19927 "minimum" : 0,
19928 "optional" : 1,
19929 "type" : "integer",
19930 "typetext" : "integer (0- N)"
19931 },
19932 "proto" : {
19933 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
19934 "format" : "pve-fw-protocol-spec",
19935 "optional" : 1,
19936 "type" : "string"
19937 },
19938 "source" : {
19939 "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.",
19940 "format" : "pve-fw-addr-spec",
19941 "optional" : 1,
19942 "type" : "string"
19943 },
19944 "sport" : {
19945 "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.",
19946 "format" : "pve-fw-sport-spec",
19947 "optional" : 1,
19948 "type" : "string"
19949 },
19950 "type" : {
19951 "enum" : [
19952 "in",
19953 "out",
19954 "group"
19955 ],
19956 "optional" : 1,
19957 "type" : "string"
19958 }
19959 }
19960 },
19961 "permissions" : {
19962 "check" : [
19963 "perm",
19964 "/nodes/{node}",
19965 [
19966 "Sys.Modify"
19967 ]
19968 ]
19969 },
19970 "protected" : 1,
19971 "proxyto" : "node",
19972 "returns" : {
19973 "type" : "null"
19974 }
19975 }
19976 },
19977 "leaf" : 1,
19978 "path" : "/nodes/{node}/firewall/rules/{pos}",
19979 "text" : "{pos}"
19980 }
19981 ],
19982 "info" : {
19983 "GET" : {
19984 "description" : "List rules.",
19985 "method" : "GET",
19986 "name" : "get_rules",
19987 "parameters" : {
19988 "additionalProperties" : 0,
19989 "properties" : {
19990 "node" : {
19991 "description" : "The cluster node name.",
19992 "format" : "pve-node",
19993 "type" : "string"
19994 }
19995 }
19996 },
19997 "permissions" : {
19998 "check" : [
19999 "perm",
20000 "/nodes/{node}",
20001 [
20002 "Sys.Audit"
20003 ]
20004 ]
20005 },
20006 "proxyto" : "node",
20007 "returns" : {
20008 "items" : {
20009 "properties" : {
20010 "pos" : {
20011 "type" : "integer"
20012 }
20013 },
20014 "type" : "object"
20015 },
20016 "links" : [
20017 {
20018 "href" : "{pos}",
20019 "rel" : "child"
20020 }
20021 ],
20022 "type" : "array"
20023 }
20024 },
20025 "POST" : {
20026 "description" : "Create new rule.",
20027 "method" : "POST",
20028 "name" : "create_rule",
20029 "parameters" : {
20030 "additionalProperties" : 0,
20031 "properties" : {
20032 "action" : {
20033 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20034 "maxLength" : 20,
20035 "minLength" : 2,
20036 "optional" : 0,
20037 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20038 "type" : "string"
20039 },
20040 "comment" : {
20041 "optional" : 1,
20042 "type" : "string"
20043 },
20044 "dest" : {
20045 "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.",
20046 "format" : "pve-fw-addr-spec",
20047 "optional" : 1,
20048 "type" : "string"
20049 },
20050 "digest" : {
20051 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20052 "maxLength" : 40,
20053 "optional" : 1,
20054 "type" : "string"
20055 },
20056 "dport" : {
20057 "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.",
20058 "format" : "pve-fw-dport-spec",
20059 "optional" : 1,
20060 "type" : "string"
20061 },
20062 "enable" : {
20063 "minimum" : 0,
20064 "optional" : 1,
20065 "type" : "integer",
20066 "typetext" : "integer (0- N)"
20067 },
20068 "iface" : {
20069 "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.",
20070 "format" : "pve-iface",
20071 "maxLength" : 20,
20072 "minLength" : 2,
20073 "optional" : 1,
20074 "type" : "string"
20075 },
20076 "macro" : {
20077 "maxLength" : 128,
20078 "optional" : 1,
20079 "type" : "string"
20080 },
20081 "node" : {
20082 "description" : "The cluster node name.",
20083 "format" : "pve-node",
20084 "type" : "string"
20085 },
20086 "pos" : {
20087 "description" : "Update rule at position <pos>.",
20088 "minimum" : 0,
20089 "optional" : 1,
20090 "type" : "integer",
20091 "typetext" : "integer (0- N)"
20092 },
20093 "proto" : {
20094 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20095 "format" : "pve-fw-protocol-spec",
20096 "optional" : 1,
20097 "type" : "string"
20098 },
20099 "source" : {
20100 "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.",
20101 "format" : "pve-fw-addr-spec",
20102 "optional" : 1,
20103 "type" : "string"
20104 },
20105 "sport" : {
20106 "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.",
20107 "format" : "pve-fw-sport-spec",
20108 "optional" : 1,
20109 "type" : "string"
20110 },
20111 "type" : {
20112 "enum" : [
20113 "in",
20114 "out",
20115 "group"
20116 ],
20117 "optional" : 0,
20118 "type" : "string"
20119 }
20120 }
20121 },
20122 "permissions" : {
20123 "check" : [
20124 "perm",
20125 "/nodes/{node}",
20126 [
20127 "Sys.Modify"
20128 ]
20129 ]
20130 },
20131 "protected" : 1,
20132 "proxyto" : "node",
20133 "returns" : {
20134 "type" : "null"
20135 }
20136 }
20137 },
20138 "leaf" : 0,
20139 "path" : "/nodes/{node}/firewall/rules",
20140 "text" : "rules"
20141 },
20142 {
20143 "info" : {
20144 "GET" : {
20145 "description" : "Get host firewall options.",
20146 "method" : "GET",
20147 "name" : "get_options",
20148 "parameters" : {
20149 "additionalProperties" : 0,
20150 "properties" : {
20151 "node" : {
20152 "description" : "The cluster node name.",
20153 "format" : "pve-node",
20154 "type" : "string"
20155 }
20156 }
20157 },
20158 "permissions" : {
20159 "check" : [
20160 "perm",
20161 "/nodes/{node}",
20162 [
20163 "Sys.Audit"
20164 ]
20165 ]
20166 },
20167 "proxyto" : "node",
20168 "returns" : {
20169 "properties" : {
20170 "enable" : {
20171 "description" : "Enable host firewall rules.",
20172 "optional" : 1,
20173 "type" : "boolean"
20174 },
20175 "log_level_in" : {
20176 "description" : "Log level for incoming traffic.",
20177 "enum" : [
20178 "emerg",
20179 "alert",
20180 "crit",
20181 "err",
20182 "warning",
20183 "notice",
20184 "info",
20185 "debug",
20186 "nolog"
20187 ],
20188 "optional" : 1,
20189 "type" : "string"
20190 },
20191 "log_level_out" : {
20192 "description" : "Log level for outgoing traffic.",
20193 "enum" : [
20194 "emerg",
20195 "alert",
20196 "crit",
20197 "err",
20198 "warning",
20199 "notice",
20200 "info",
20201 "debug",
20202 "nolog"
20203 ],
20204 "optional" : 1,
20205 "type" : "string"
20206 },
20207 "ndp" : {
20208 "description" : "Enable NDP.",
20209 "optional" : 1,
20210 "type" : "boolean"
20211 },
20212 "nf_conntrack_max" : {
20213 "description" : "Maximum number of tracked connections.",
20214 "minimum" : 32768,
20215 "optional" : 1,
20216 "type" : "integer"
20217 },
20218 "nf_conntrack_tcp_timeout_established" : {
20219 "description" : "Conntrack established timeout.",
20220 "minimum" : 7875,
20221 "optional" : 1,
20222 "type" : "integer"
20223 },
20224 "nosmurfs" : {
20225 "description" : "Enable SMURFS filter.",
20226 "optional" : 1,
20227 "type" : "boolean"
20228 },
20229 "smurf_log_level" : {
20230 "description" : "Log level for SMURFS filter.",
20231 "enum" : [
20232 "emerg",
20233 "alert",
20234 "crit",
20235 "err",
20236 "warning",
20237 "notice",
20238 "info",
20239 "debug",
20240 "nolog"
20241 ],
20242 "optional" : 1,
20243 "type" : "string"
20244 },
20245 "tcp_flags_log_level" : {
20246 "description" : "Log level for illegal tcp flags filter.",
20247 "enum" : [
20248 "emerg",
20249 "alert",
20250 "crit",
20251 "err",
20252 "warning",
20253 "notice",
20254 "info",
20255 "debug",
20256 "nolog"
20257 ],
20258 "optional" : 1,
20259 "type" : "string"
20260 },
20261 "tcpflags" : {
20262 "description" : "Filter illegal combinations of TCP flags.",
20263 "optional" : 1,
20264 "type" : "boolean"
20265 }
20266 },
20267 "type" : "object"
20268 }
20269 },
20270 "PUT" : {
20271 "description" : "Set Firewall options.",
20272 "method" : "PUT",
20273 "name" : "set_options",
20274 "parameters" : {
20275 "additionalProperties" : 0,
20276 "properties" : {
20277 "delete" : {
20278 "description" : "A list of settings you want to delete.",
20279 "format" : "pve-configid-list",
20280 "optional" : 1,
20281 "type" : "string"
20282 },
20283 "digest" : {
20284 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20285 "maxLength" : 40,
20286 "optional" : 1,
20287 "type" : "string"
20288 },
20289 "enable" : {
20290 "description" : "Enable host firewall rules.",
20291 "optional" : 1,
20292 "type" : "boolean"
20293 },
20294 "log_level_in" : {
20295 "description" : "Log level for incoming traffic.",
20296 "enum" : [
20297 "emerg",
20298 "alert",
20299 "crit",
20300 "err",
20301 "warning",
20302 "notice",
20303 "info",
20304 "debug",
20305 "nolog"
20306 ],
20307 "optional" : 1,
20308 "type" : "string"
20309 },
20310 "log_level_out" : {
20311 "description" : "Log level for outgoing traffic.",
20312 "enum" : [
20313 "emerg",
20314 "alert",
20315 "crit",
20316 "err",
20317 "warning",
20318 "notice",
20319 "info",
20320 "debug",
20321 "nolog"
20322 ],
20323 "optional" : 1,
20324 "type" : "string"
20325 },
20326 "ndp" : {
20327 "description" : "Enable NDP.",
20328 "optional" : 1,
20329 "type" : "boolean"
20330 },
20331 "nf_conntrack_max" : {
20332 "description" : "Maximum number of tracked connections.",
20333 "minimum" : 32768,
20334 "optional" : 1,
20335 "type" : "integer",
20336 "typetext" : "integer (32768- N)"
20337 },
20338 "nf_conntrack_tcp_timeout_established" : {
20339 "description" : "Conntrack established timeout.",
20340 "minimum" : 7875,
20341 "optional" : 1,
20342 "type" : "integer",
20343 "typetext" : "integer (7875- N)"
20344 },
20345 "node" : {
20346 "description" : "The cluster node name.",
20347 "format" : "pve-node",
20348 "type" : "string"
20349 },
20350 "nosmurfs" : {
20351 "description" : "Enable SMURFS filter.",
20352 "optional" : 1,
20353 "type" : "boolean"
20354 },
20355 "smurf_log_level" : {
20356 "description" : "Log level for SMURFS filter.",
20357 "enum" : [
20358 "emerg",
20359 "alert",
20360 "crit",
20361 "err",
20362 "warning",
20363 "notice",
20364 "info",
20365 "debug",
20366 "nolog"
20367 ],
20368 "optional" : 1,
20369 "type" : "string"
20370 },
20371 "tcp_flags_log_level" : {
20372 "description" : "Log level for illegal tcp flags filter.",
20373 "enum" : [
20374 "emerg",
20375 "alert",
20376 "crit",
20377 "err",
20378 "warning",
20379 "notice",
20380 "info",
20381 "debug",
20382 "nolog"
20383 ],
20384 "optional" : 1,
20385 "type" : "string"
20386 },
20387 "tcpflags" : {
20388 "description" : "Filter illegal combinations of TCP flags.",
20389 "optional" : 1,
20390 "type" : "boolean"
20391 }
20392 }
20393 },
20394 "permissions" : {
20395 "check" : [
20396 "perm",
20397 "/nodes/{node}",
20398 [
20399 "Sys.Modify"
20400 ]
20401 ]
20402 },
20403 "protected" : 1,
20404 "proxyto" : "node",
20405 "returns" : {
20406 "type" : "null"
20407 }
20408 }
20409 },
20410 "leaf" : 1,
20411 "path" : "/nodes/{node}/firewall/options",
20412 "text" : "options"
20413 },
20414 {
20415 "info" : {
20416 "GET" : {
20417 "description" : "Read firewall log",
20418 "method" : "GET",
20419 "name" : "log",
20420 "parameters" : {
20421 "additionalProperties" : 0,
20422 "properties" : {
20423 "limit" : {
20424 "minimum" : 0,
20425 "optional" : 1,
20426 "type" : "integer",
20427 "typetext" : "integer (0- N)"
20428 },
20429 "node" : {
20430 "description" : "The cluster node name.",
20431 "format" : "pve-node",
20432 "type" : "string"
20433 },
20434 "start" : {
20435 "minimum" : 0,
20436 "optional" : 1,
20437 "type" : "integer",
20438 "typetext" : "integer (0- N)"
20439 }
20440 }
20441 },
20442 "permissions" : {
20443 "check" : [
20444 "perm",
20445 "/nodes/{node}",
20446 [
20447 "Sys.Syslog"
20448 ]
20449 ]
20450 },
20451 "protected" : 1,
20452 "proxyto" : "node",
20453 "returns" : {
20454 "items" : {
20455 "properties" : {
20456 "n" : {
20457 "description" : "Line number",
20458 "type" : "integer"
20459 },
20460 "t" : {
20461 "description" : "Line text",
20462 "type" : "string"
20463 }
20464 },
20465 "type" : "object"
20466 },
20467 "type" : "array"
20468 }
20469 }
20470 },
20471 "leaf" : 1,
20472 "path" : "/nodes/{node}/firewall/log",
20473 "text" : "log"
20474 }
20475 ],
20476 "info" : {
20477 "GET" : {
20478 "description" : "Directory index.",
20479 "method" : "GET",
20480 "name" : "index",
20481 "parameters" : {
20482 "additionalProperties" : 0,
20483 "properties" : {
20484 "node" : {
20485 "description" : "The cluster node name.",
20486 "format" : "pve-node",
20487 "type" : "string"
20488 }
20489 }
20490 },
20491 "permissions" : {
20492 "user" : "all"
20493 },
20494 "returns" : {
20495 "items" : {
20496 "properties" : {},
20497 "type" : "object"
20498 },
20499 "links" : [
20500 {
20501 "href" : "{name}",
20502 "rel" : "child"
20503 }
20504 ],
20505 "type" : "array"
20506 }
20507 }
20508 },
20509 "leaf" : 0,
20510 "path" : "/nodes/{node}/firewall",
20511 "text" : "firewall"
20512 },
20513 {
20514 "info" : {
20515 "GET" : {
20516 "description" : "API version details",
20517 "method" : "GET",
20518 "name" : "version",
20519 "parameters" : {
20520 "additionalProperties" : 0,
20521 "properties" : {
20522 "node" : {
20523 "description" : "The cluster node name.",
20524 "format" : "pve-node",
20525 "type" : "string"
20526 }
20527 }
20528 },
20529 "permissions" : {
20530 "user" : "all"
20531 },
20532 "proxyto" : "node",
20533 "returns" : {
20534 "properties" : {
20535 "release" : {
20536 "type" : "string"
20537 },
20538 "repoid" : {
20539 "type" : "string"
20540 },
20541 "version" : {
20542 "type" : "string"
20543 }
20544 },
20545 "type" : "object"
20546 }
20547 }
20548 },
20549 "leaf" : 1,
20550 "path" : "/nodes/{node}/version",
20551 "text" : "version"
20552 },
20553 {
20554 "info" : {
20555 "GET" : {
20556 "description" : "Read node status",
20557 "method" : "GET",
20558 "name" : "status",
20559 "parameters" : {
20560 "additionalProperties" : 0,
20561 "properties" : {
20562 "node" : {
20563 "description" : "The cluster node name.",
20564 "format" : "pve-node",
20565 "type" : "string"
20566 }
20567 }
20568 },
20569 "permissions" : {
20570 "check" : [
20571 "perm",
20572 "/nodes/{node}",
20573 [
20574 "Sys.Audit"
20575 ]
20576 ]
20577 },
20578 "proxyto" : "node",
20579 "returns" : {
20580 "properties" : {},
20581 "type" : "object"
20582 }
20583 },
20584 "POST" : {
20585 "description" : "Reboot or shutdown a node.",
20586 "method" : "POST",
20587 "name" : "node_cmd",
20588 "parameters" : {
20589 "additionalProperties" : 0,
20590 "properties" : {
20591 "command" : {
20592 "description" : "Specify the command.",
20593 "enum" : [
20594 "reboot",
20595 "shutdown"
20596 ],
20597 "type" : "string"
20598 },
20599 "node" : {
20600 "description" : "The cluster node name.",
20601 "format" : "pve-node",
20602 "type" : "string"
20603 }
20604 }
20605 },
20606 "permissions" : {
20607 "check" : [
20608 "perm",
20609 "/nodes/{node}",
20610 [
20611 "Sys.PowerMgmt"
20612 ]
20613 ]
20614 },
20615 "protected" : 1,
20616 "proxyto" : "node",
20617 "returns" : {
20618 "type" : "null"
20619 }
20620 }
20621 },
20622 "leaf" : 1,
20623 "path" : "/nodes/{node}/status",
20624 "text" : "status"
20625 },
20626 {
20627 "info" : {
20628 "GET" : {
20629 "description" : "Read tap/vm network device interface counters",
20630 "method" : "GET",
20631 "name" : "netstat",
20632 "parameters" : {
20633 "additionalProperties" : 0,
20634 "properties" : {
20635 "node" : {
20636 "description" : "The cluster node name.",
20637 "format" : "pve-node",
20638 "type" : "string"
20639 }
20640 }
20641 },
20642 "permissions" : {
20643 "check" : [
20644 "perm",
20645 "/nodes/{node}",
20646 [
20647 "Sys.Audit"
20648 ]
20649 ]
20650 },
20651 "proxyto" : "node",
20652 "returns" : {
20653 "items" : {
20654 "properties" : {},
20655 "type" : "object"
20656 },
20657 "type" : "array"
20658 }
20659 }
20660 },
20661 "leaf" : 1,
20662 "path" : "/nodes/{node}/netstat",
20663 "text" : "netstat"
20664 },
20665 {
20666 "info" : {
20667 "POST" : {
20668 "description" : "Execute multiple commands in order.",
20669 "method" : "POST",
20670 "name" : "execute",
20671 "parameters" : {
20672 "additionalProperties" : 0,
20673 "properties" : {
20674 "commands" : {
20675 "description" : "JSON encoded array of commands.",
20676 "type" : "string"
20677 },
20678 "node" : {
20679 "description" : "The cluster node name.",
20680 "format" : "pve-node",
20681 "type" : "string"
20682 }
20683 }
20684 },
20685 "permissions" : {
20686 "check" : [
20687 "perm",
20688 "/nodes/{node}",
20689 [
20690 "Sys.Audit"
20691 ]
20692 ]
20693 },
20694 "protected" : 1,
20695 "proxyto" : "node",
20696 "returns" : {
20697 "properties" : {},
20698 "type" : "array"
20699 }
20700 }
20701 },
20702 "leaf" : 1,
20703 "path" : "/nodes/{node}/execute",
20704 "text" : "execute"
20705 },
20706 {
20707 "info" : {
20708 "GET" : {
20709 "description" : "Read node RRD statistics (returns PNG)",
20710 "method" : "GET",
20711 "name" : "rrd",
20712 "parameters" : {
20713 "additionalProperties" : 0,
20714 "properties" : {
20715 "cf" : {
20716 "description" : "The RRD consolidation function",
20717 "enum" : [
20718 "AVERAGE",
20719 "MAX"
20720 ],
20721 "optional" : 1,
20722 "type" : "string"
20723 },
20724 "ds" : {
20725 "description" : "The list of datasources you want to display.",
20726 "format" : "pve-configid-list",
20727 "type" : "string"
20728 },
20729 "node" : {
20730 "description" : "The cluster node name.",
20731 "format" : "pve-node",
20732 "type" : "string"
20733 },
20734 "timeframe" : {
20735 "description" : "Specify the time frame you are interested in.",
20736 "enum" : [
20737 "hour",
20738 "day",
20739 "week",
20740 "month",
20741 "year"
20742 ],
20743 "type" : "string"
20744 }
20745 }
20746 },
20747 "permissions" : {
20748 "check" : [
20749 "perm",
20750 "/nodes/{node}",
20751 [
20752 "Sys.Audit"
20753 ]
20754 ]
20755 },
20756 "protected" : 1,
20757 "returns" : {
20758 "properties" : {
20759 "filename" : {
20760 "type" : "string"
20761 }
20762 },
20763 "type" : "object"
20764 }
20765 }
20766 },
20767 "leaf" : 1,
20768 "path" : "/nodes/{node}/rrd",
20769 "text" : "rrd"
20770 },
20771 {
20772 "info" : {
20773 "GET" : {
20774 "description" : "Read node RRD statistics",
20775 "method" : "GET",
20776 "name" : "rrddata",
20777 "parameters" : {
20778 "additionalProperties" : 0,
20779 "properties" : {
20780 "cf" : {
20781 "description" : "The RRD consolidation function",
20782 "enum" : [
20783 "AVERAGE",
20784 "MAX"
20785 ],
20786 "optional" : 1,
20787 "type" : "string"
20788 },
20789 "node" : {
20790 "description" : "The cluster node name.",
20791 "format" : "pve-node",
20792 "type" : "string"
20793 },
20794 "timeframe" : {
20795 "description" : "Specify the time frame you are interested in.",
20796 "enum" : [
20797 "hour",
20798 "day",
20799 "week",
20800 "month",
20801 "year"
20802 ],
20803 "type" : "string"
20804 }
20805 }
20806 },
20807 "permissions" : {
20808 "check" : [
20809 "perm",
20810 "/nodes/{node}",
20811 [
20812 "Sys.Audit"
20813 ]
20814 ]
20815 },
20816 "protected" : 1,
20817 "returns" : {
20818 "items" : {
20819 "properties" : {},
20820 "type" : "object"
20821 },
20822 "type" : "array"
20823 }
20824 }
20825 },
20826 "leaf" : 1,
20827 "path" : "/nodes/{node}/rrddata",
20828 "text" : "rrddata"
20829 },
20830 {
20831 "info" : {
20832 "GET" : {
20833 "description" : "Read system log",
20834 "method" : "GET",
20835 "name" : "syslog",
20836 "parameters" : {
20837 "additionalProperties" : 0,
20838 "properties" : {
20839 "limit" : {
20840 "minimum" : 0,
20841 "optional" : 1,
20842 "type" : "integer",
20843 "typetext" : "integer (0- N)"
20844 },
20845 "node" : {
20846 "description" : "The cluster node name.",
20847 "format" : "pve-node",
20848 "type" : "string"
20849 },
20850 "since" : {
20851 "description" : "Display all log since this date-time string.",
20852 "optional" : 1,
20853 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
20854 "type" : "string"
20855 },
20856 "start" : {
20857 "minimum" : 0,
20858 "optional" : 1,
20859 "type" : "integer",
20860 "typetext" : "integer (0- N)"
20861 },
20862 "until" : {
20863 "description" : "Display all log until this date-time string.",
20864 "optional" : 1,
20865 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
20866 "type" : "string"
20867 }
20868 }
20869 },
20870 "permissions" : {
20871 "check" : [
20872 "perm",
20873 "/nodes/{node}",
20874 [
20875 "Sys.Syslog"
20876 ]
20877 ]
20878 },
20879 "protected" : 1,
20880 "proxyto" : "node",
20881 "returns" : {
20882 "items" : {
20883 "properties" : {
20884 "n" : {
20885 "description" : "Line number",
20886 "type" : "integer"
20887 },
20888 "t" : {
20889 "description" : "Line text",
20890 "type" : "string"
20891 }
20892 },
20893 "type" : "object"
20894 },
20895 "type" : "array"
20896 }
20897 }
20898 },
20899 "leaf" : 1,
20900 "path" : "/nodes/{node}/syslog",
20901 "text" : "syslog"
20902 },
20903 {
20904 "info" : {
20905 "POST" : {
20906 "description" : "Creates a VNC Shell proxy.",
20907 "method" : "POST",
20908 "name" : "vncshell",
20909 "parameters" : {
20910 "additionalProperties" : 0,
20911 "properties" : {
20912 "node" : {
20913 "description" : "The cluster node name.",
20914 "format" : "pve-node",
20915 "type" : "string"
20916 },
20917 "upgrade" : {
20918 "default" : 0,
20919 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
20920 "optional" : 1,
20921 "type" : "boolean"
20922 },
20923 "websocket" : {
20924 "description" : "use websocket instead of standard vnc.",
20925 "optional" : 1,
20926 "type" : "boolean"
20927 }
20928 }
20929 },
20930 "permissions" : {
20931 "check" : [
20932 "perm",
20933 "/nodes/{node}",
20934 [
20935 "Sys.Console"
20936 ]
20937 ],
20938 "description" : "Restricted to users on realm 'pam'"
20939 },
20940 "protected" : 1,
20941 "returns" : {
20942 "additionalProperties" : 0,
20943 "properties" : {
20944 "cert" : {
20945 "type" : "string"
20946 },
20947 "port" : {
20948 "type" : "integer"
20949 },
20950 "ticket" : {
20951 "type" : "string"
20952 },
20953 "upid" : {
20954 "type" : "string"
20955 },
20956 "user" : {
20957 "type" : "string"
20958 }
20959 }
20960 }
20961 }
20962 },
20963 "leaf" : 1,
20964 "path" : "/nodes/{node}/vncshell",
20965 "text" : "vncshell"
20966 },
20967 {
20968 "info" : {
20969 "GET" : {
20970 "description" : "Opens a weksocket for VNC traffic.",
20971 "method" : "GET",
20972 "name" : "vncwebsocket",
20973 "parameters" : {
20974 "additionalProperties" : 0,
20975 "properties" : {
20976 "node" : {
20977 "description" : "The cluster node name.",
20978 "format" : "pve-node",
20979 "type" : "string"
20980 },
20981 "port" : {
20982 "description" : "Port number returned by previous vncproxy call.",
20983 "maximum" : 5999,
20984 "minimum" : 5900,
20985 "type" : "integer",
20986 "typetext" : "integer (5900-5999)"
20987 },
20988 "vncticket" : {
20989 "description" : "Ticket from previous call to vncproxy.",
20990 "maxLength" : 512,
20991 "type" : "string"
20992 }
20993 }
20994 },
20995 "permissions" : {
20996 "check" : [
20997 "perm",
20998 "/nodes/{node}",
20999 [
21000 "Sys.Console"
21001 ]
21002 ],
21003 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
21004 },
21005 "returns" : {
21006 "properties" : {
21007 "port" : {
21008 "type" : "string"
21009 }
21010 },
21011 "type" : "object"
21012 }
21013 }
21014 },
21015 "leaf" : 1,
21016 "path" : "/nodes/{node}/vncwebsocket",
21017 "text" : "vncwebsocket"
21018 },
21019 {
21020 "info" : {
21021 "POST" : {
21022 "description" : "Creates a SPICE shell.",
21023 "method" : "POST",
21024 "name" : "spiceshell",
21025 "parameters" : {
21026 "additionalProperties" : 0,
21027 "properties" : {
21028 "node" : {
21029 "description" : "The cluster node name.",
21030 "format" : "pve-node",
21031 "type" : "string"
21032 },
21033 "proxy" : {
21034 "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 resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
21035 "format" : "address",
21036 "optional" : 1,
21037 "type" : "string"
21038 },
21039 "upgrade" : {
21040 "default" : 0,
21041 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
21042 "optional" : 1,
21043 "type" : "boolean"
21044 }
21045 }
21046 },
21047 "permissions" : {
21048 "check" : [
21049 "perm",
21050 "/nodes/{node}",
21051 [
21052 "Sys.Console"
21053 ]
21054 ],
21055 "description" : "Restricted to users on realm 'pam'"
21056 },
21057 "protected" : 1,
21058 "proxyto" : "node",
21059 "returns" : {
21060 "additionalProperties" : 1,
21061 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
21062 "properties" : {
21063 "host" : {
21064 "type" : "string"
21065 },
21066 "password" : {
21067 "type" : "string"
21068 },
21069 "proxy" : {
21070 "type" : "string"
21071 },
21072 "tls-port" : {
21073 "type" : "integer"
21074 },
21075 "type" : {
21076 "type" : "string"
21077 }
21078 }
21079 }
21080 }
21081 },
21082 "leaf" : 1,
21083 "path" : "/nodes/{node}/spiceshell",
21084 "text" : "spiceshell"
21085 },
21086 {
21087 "info" : {
21088 "GET" : {
21089 "description" : "Read DNS settings.",
21090 "method" : "GET",
21091 "name" : "dns",
21092 "parameters" : {
21093 "additionalProperties" : 0,
21094 "properties" : {
21095 "node" : {
21096 "description" : "The cluster node name.",
21097 "format" : "pve-node",
21098 "type" : "string"
21099 }
21100 }
21101 },
21102 "permissions" : {
21103 "check" : [
21104 "perm",
21105 "/nodes/{node}",
21106 [
21107 "Sys.Audit"
21108 ]
21109 ]
21110 },
21111 "proxyto" : "node",
21112 "returns" : {
21113 "additionalProperties" : 0,
21114 "properties" : {
21115 "dns1" : {
21116 "description" : "First name server IP address.",
21117 "optional" : 1,
21118 "type" : "string"
21119 },
21120 "dns2" : {
21121 "description" : "Second name server IP address.",
21122 "optional" : 1,
21123 "type" : "string"
21124 },
21125 "dns3" : {
21126 "description" : "Third name server IP address.",
21127 "optional" : 1,
21128 "type" : "string"
21129 },
21130 "search" : {
21131 "description" : "Search domain for host-name lookup.",
21132 "optional" : 1,
21133 "type" : "string"
21134 }
21135 },
21136 "type" : "object"
21137 }
21138 },
21139 "PUT" : {
21140 "description" : "Write DNS settings.",
21141 "method" : "PUT",
21142 "name" : "update_dns",
21143 "parameters" : {
21144 "additionalProperties" : 0,
21145 "properties" : {
21146 "dns1" : {
21147 "description" : "First name server IP address.",
21148 "format" : "ip",
21149 "optional" : 1,
21150 "type" : "string"
21151 },
21152 "dns2" : {
21153 "description" : "Second name server IP address.",
21154 "format" : "ip",
21155 "optional" : 1,
21156 "type" : "string"
21157 },
21158 "dns3" : {
21159 "description" : "Third name server IP address.",
21160 "format" : "ip",
21161 "optional" : 1,
21162 "type" : "string"
21163 },
21164 "node" : {
21165 "description" : "The cluster node name.",
21166 "format" : "pve-node",
21167 "type" : "string"
21168 },
21169 "search" : {
21170 "description" : "Search domain for host-name lookup.",
21171 "type" : "string"
21172 }
21173 }
21174 },
21175 "permissions" : {
21176 "check" : [
21177 "perm",
21178 "/nodes/{node}",
21179 [
21180 "Sys.Modify"
21181 ]
21182 ]
21183 },
21184 "protected" : 1,
21185 "proxyto" : "node",
21186 "returns" : {
21187 "type" : "null"
21188 }
21189 }
21190 },
21191 "leaf" : 1,
21192 "path" : "/nodes/{node}/dns",
21193 "text" : "dns"
21194 },
21195 {
21196 "info" : {
21197 "GET" : {
21198 "description" : "Read server time and time zone settings.",
21199 "method" : "GET",
21200 "name" : "time",
21201 "parameters" : {
21202 "additionalProperties" : 0,
21203 "properties" : {
21204 "node" : {
21205 "description" : "The cluster node name.",
21206 "format" : "pve-node",
21207 "type" : "string"
21208 }
21209 }
21210 },
21211 "permissions" : {
21212 "check" : [
21213 "perm",
21214 "/nodes/{node}",
21215 [
21216 "Sys.Audit"
21217 ]
21218 ]
21219 },
21220 "proxyto" : "node",
21221 "returns" : {
21222 "additionalProperties" : 0,
21223 "properties" : {
21224 "localtime" : {
21225 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
21226 "minimum" : 1297163644,
21227 "type" : "integer"
21228 },
21229 "time" : {
21230 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
21231 "minimum" : 1297163644,
21232 "type" : "integer"
21233 },
21234 "timezone" : {
21235 "description" : "Time zone",
21236 "type" : "string"
21237 }
21238 },
21239 "type" : "object"
21240 }
21241 },
21242 "PUT" : {
21243 "description" : "Set time zone.",
21244 "method" : "PUT",
21245 "name" : "set_timezone",
21246 "parameters" : {
21247 "additionalProperties" : 0,
21248 "properties" : {
21249 "node" : {
21250 "description" : "The cluster node name.",
21251 "format" : "pve-node",
21252 "type" : "string"
21253 },
21254 "timezone" : {
21255 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
21256 "type" : "string"
21257 }
21258 }
21259 },
21260 "permissions" : {
21261 "check" : [
21262 "perm",
21263 "/nodes/{node}",
21264 [
21265 "Sys.Modify"
21266 ]
21267 ]
21268 },
21269 "protected" : 1,
21270 "proxyto" : "node",
21271 "returns" : {
21272 "type" : "null"
21273 }
21274 }
21275 },
21276 "leaf" : 1,
21277 "path" : "/nodes/{node}/time",
21278 "text" : "time"
21279 },
21280 {
21281 "info" : {
21282 "GET" : {
21283 "description" : "Get list of appliances.",
21284 "method" : "GET",
21285 "name" : "aplinfo",
21286 "parameters" : {
21287 "additionalProperties" : 0,
21288 "properties" : {
21289 "node" : {
21290 "description" : "The cluster node name.",
21291 "format" : "pve-node",
21292 "type" : "string"
21293 }
21294 }
21295 },
21296 "permissions" : {
21297 "user" : "all"
21298 },
21299 "proxyto" : "node",
21300 "returns" : {
21301 "items" : {
21302 "properties" : {},
21303 "type" : "object"
21304 },
21305 "type" : "array"
21306 }
21307 },
21308 "POST" : {
21309 "description" : "Download appliance templates.",
21310 "method" : "POST",
21311 "name" : "apl_download",
21312 "parameters" : {
21313 "additionalProperties" : 0,
21314 "properties" : {
21315 "node" : {
21316 "description" : "The cluster node name.",
21317 "format" : "pve-node",
21318 "type" : "string"
21319 },
21320 "storage" : {
21321 "description" : "The storage where the template will be stored",
21322 "format" : "pve-storage-id",
21323 "type" : "string"
21324 },
21325 "template" : {
21326 "description" : "The template wich will downloaded",
21327 "maxLength" : 255,
21328 "type" : "string"
21329 }
21330 }
21331 },
21332 "permissions" : {
21333 "check" : [
21334 "perm",
21335 "/storage/{storage}",
21336 [
21337 "Datastore.AllocateTemplate"
21338 ]
21339 ]
21340 },
21341 "protected" : 1,
21342 "proxyto" : "node",
21343 "returns" : {
21344 "type" : "string"
21345 }
21346 }
21347 },
21348 "leaf" : 1,
21349 "path" : "/nodes/{node}/aplinfo",
21350 "text" : "aplinfo"
21351 },
21352 {
21353 "info" : {
21354 "GET" : {
21355 "description" : "Gather various systems information about a node",
21356 "method" : "GET",
21357 "name" : "report",
21358 "parameters" : {
21359 "additionalProperties" : 0,
21360 "properties" : {
21361 "node" : {
21362 "description" : "The cluster node name.",
21363 "format" : "pve-node",
21364 "type" : "string"
21365 }
21366 }
21367 },
21368 "permissions" : {
21369 "check" : [
21370 "perm",
21371 "/nodes/{node}",
21372 [
21373 "Sys.Audit"
21374 ]
21375 ]
21376 },
21377 "protected" : 1,
21378 "proxyto" : "node",
21379 "returns" : {
21380 "type" : "string"
21381 }
21382 }
21383 },
21384 "leaf" : 1,
21385 "path" : "/nodes/{node}/report",
21386 "text" : "report"
21387 },
21388 {
21389 "info" : {
21390 "POST" : {
21391 "description" : "Start all VMs and containers (when onboot=1).",
21392 "method" : "POST",
21393 "name" : "startall",
21394 "parameters" : {
21395 "additionalProperties" : 0,
21396 "properties" : {
21397 "force" : {
21398 "description" : "force if onboot=0.",
21399 "optional" : 1,
21400 "type" : "boolean"
21401 },
21402 "node" : {
21403 "description" : "The cluster node name.",
21404 "format" : "pve-node",
21405 "type" : "string"
21406 }
21407 }
21408 },
21409 "permissions" : {
21410 "check" : [
21411 "perm",
21412 "/",
21413 [
21414 "VM.PowerMgmt"
21415 ]
21416 ]
21417 },
21418 "protected" : 1,
21419 "proxyto" : "node",
21420 "returns" : {
21421 "type" : "string"
21422 }
21423 }
21424 },
21425 "leaf" : 1,
21426 "path" : "/nodes/{node}/startall",
21427 "text" : "startall"
21428 },
21429 {
21430 "info" : {
21431 "POST" : {
21432 "description" : "Stop all VMs and Containers.",
21433 "method" : "POST",
21434 "name" : "stopall",
21435 "parameters" : {
21436 "additionalProperties" : 0,
21437 "properties" : {
21438 "node" : {
21439 "description" : "The cluster node name.",
21440 "format" : "pve-node",
21441 "type" : "string"
21442 }
21443 }
21444 },
21445 "permissions" : {
21446 "check" : [
21447 "perm",
21448 "/",
21449 [
21450 "VM.PowerMgmt"
21451 ]
21452 ]
21453 },
21454 "protected" : 1,
21455 "proxyto" : "node",
21456 "returns" : {
21457 "type" : "string"
21458 }
21459 }
21460 },
21461 "leaf" : 1,
21462 "path" : "/nodes/{node}/stopall",
21463 "text" : "stopall"
21464 },
21465 {
21466 "info" : {
21467 "POST" : {
21468 "description" : "Migrate all VMs and Containers.",
21469 "method" : "POST",
21470 "name" : "migrateall",
21471 "parameters" : {
21472 "additionalProperties" : 0,
21473 "properties" : {
21474 "maxworkers" : {
21475 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
21476 "minimum" : 1,
21477 "optional" : 1,
21478 "type" : "integer",
21479 "typetext" : "integer (1- N)"
21480 },
21481 "node" : {
21482 "description" : "The cluster node name.",
21483 "format" : "pve-node",
21484 "type" : "string"
21485 },
21486 "target" : {
21487 "description" : "Target node.",
21488 "format" : "pve-node",
21489 "type" : "string"
21490 }
21491 }
21492 },
21493 "permissions" : {
21494 "check" : [
21495 "perm",
21496 "/",
21497 [
21498 "VM.Migrate"
21499 ]
21500 ]
21501 },
21502 "protected" : 1,
21503 "proxyto" : "node",
21504 "returns" : {
21505 "type" : "string"
21506 }
21507 }
21508 },
21509 "leaf" : 1,
21510 "path" : "/nodes/{node}/migrateall",
21511 "text" : "migrateall"
21512 }
21513 ],
21514 "info" : {
21515 "GET" : {
21516 "description" : "Node index.",
21517 "method" : "GET",
21518 "name" : "index",
21519 "parameters" : {
21520 "additionalProperties" : 0,
21521 "properties" : {
21522 "node" : {
21523 "description" : "The cluster node name.",
21524 "format" : "pve-node",
21525 "type" : "string"
21526 }
21527 }
21528 },
21529 "permissions" : {
21530 "user" : "all"
21531 },
21532 "returns" : {
21533 "items" : {
21534 "properties" : {},
21535 "type" : "object"
21536 },
21537 "links" : [
21538 {
21539 "href" : "{name}",
21540 "rel" : "child"
21541 }
21542 ],
21543 "type" : "array"
21544 }
21545 }
21546 },
21547 "leaf" : 0,
21548 "path" : "/nodes/{node}",
21549 "text" : "{node}"
21550 }
21551 ],
21552 "info" : {
21553 "GET" : {
21554 "description" : "Cluster node index.",
21555 "method" : "GET",
21556 "name" : "index",
21557 "parameters" : {
21558 "additionalProperties" : 0
21559 },
21560 "permissions" : {
21561 "user" : "all"
21562 },
21563 "returns" : {
21564 "items" : {
21565 "properties" : {},
21566 "type" : "object"
21567 },
21568 "links" : [
21569 {
21570 "href" : "{node}",
21571 "rel" : "child"
21572 }
21573 ],
21574 "type" : "array"
21575 }
21576 }
21577 },
21578 "leaf" : 0,
21579 "path" : "/nodes",
21580 "text" : "nodes"
21581 },
21582 {
21583 "children" : [
21584 {
21585 "info" : {
21586 "DELETE" : {
21587 "description" : "Delete storage configuration.",
21588 "method" : "DELETE",
21589 "name" : "delete",
21590 "parameters" : {
21591 "additionalProperties" : 0,
21592 "properties" : {
21593 "storage" : {
21594 "description" : "The storage identifier.",
21595 "format" : "pve-storage-id",
21596 "type" : "string"
21597 }
21598 }
21599 },
21600 "permissions" : {
21601 "check" : [
21602 "perm",
21603 "/storage",
21604 [
21605 "Datastore.Allocate"
21606 ]
21607 ]
21608 },
21609 "protected" : 1,
21610 "returns" : {
21611 "type" : "null"
21612 }
21613 },
21614 "GET" : {
21615 "description" : "Read storage configuration.",
21616 "method" : "GET",
21617 "name" : "read",
21618 "parameters" : {
21619 "additionalProperties" : 0,
21620 "properties" : {
21621 "storage" : {
21622 "description" : "The storage identifier.",
21623 "format" : "pve-storage-id",
21624 "type" : "string"
21625 }
21626 }
21627 },
21628 "permissions" : {
21629 "check" : [
21630 "perm",
21631 "/storage/{storage}",
21632 [
21633 "Datastore.Allocate"
21634 ]
21635 ]
21636 },
21637 "returns" : {}
21638 },
21639 "PUT" : {
21640 "description" : "Update storage configuration.",
21641 "method" : "PUT",
21642 "name" : "update",
21643 "parameters" : {
21644 "additionalProperties" : 0,
21645 "properties" : {
21646 "blocksize" : {
21647 "description" : "block size",
21648 "optional" : 1,
21649 "type" : "string"
21650 },
21651 "comstar_hg" : {
21652 "description" : "host group for comstar views",
21653 "optional" : 1,
21654 "type" : "string"
21655 },
21656 "comstar_tg" : {
21657 "description" : "target group for comstar views",
21658 "optional" : 1,
21659 "type" : "string"
21660 },
21661 "content" : {
21662 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
21663 "format" : "pve-storage-content-list",
21664 "optional" : 1,
21665 "type" : "string"
21666 },
21667 "delete" : {
21668 "description" : "A list of settings you want to delete.",
21669 "format" : "pve-configid-list",
21670 "maxLength" : 4096,
21671 "optional" : 1,
21672 "type" : "string"
21673 },
21674 "digest" : {
21675 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21676 "maxLength" : 40,
21677 "optional" : 1,
21678 "type" : "string"
21679 },
21680 "disable" : {
21681 "description" : "Flag to disable the storage.",
21682 "optional" : 1,
21683 "type" : "boolean"
21684 },
21685 "format" : {
21686 "description" : "Default image format.",
21687 "format" : "pve-storage-format",
21688 "optional" : 1,
21689 "type" : "string"
21690 },
21691 "krbd" : {
21692 "description" : "Access rbd through krbd kernel module.",
21693 "optional" : 1,
21694 "type" : "boolean"
21695 },
21696 "maxfiles" : {
21697 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
21698 "minimum" : 0,
21699 "optional" : 1,
21700 "type" : "integer",
21701 "typetext" : "integer (0- N)"
21702 },
21703 "mkdir" : {
21704 "default" : "yes",
21705 "description" : "Create the directory if it doesn't exist.",
21706 "optional" : 1,
21707 "type" : "boolean"
21708 },
21709 "nodes" : {
21710 "description" : "List of cluster node names.",
21711 "format" : "pve-node-list",
21712 "optional" : 1,
21713 "type" : "string"
21714 },
21715 "nowritecache" : {
21716 "description" : "disable write caching on the target",
21717 "optional" : 1,
21718 "type" : "boolean"
21719 },
21720 "options" : {
21721 "description" : "NFS mount options (see 'man nfs')",
21722 "format" : "pve-storage-options",
21723 "optional" : 1,
21724 "type" : "string"
21725 },
21726 "pool" : {
21727 "description" : "Pool.",
21728 "optional" : 1,
21729 "type" : "string"
21730 },
21731 "redundancy" : {
21732 "default" : 2,
21733 "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.",
21734 "maximum" : 16,
21735 "minimum" : 1,
21736 "optional" : 1,
21737 "type" : "integer",
21738 "typetext" : "integer (1-16)"
21739 },
21740 "saferemove" : {
21741 "description" : "Zero-out data when removing LVs.",
21742 "optional" : 1,
21743 "type" : "boolean"
21744 },
21745 "saferemove_throughput" : {
21746 "description" : "Wipe throughput (cstream -t parameter value).",
21747 "optional" : 1,
21748 "type" : "string"
21749 },
21750 "server" : {
21751 "description" : "Server IP or DNS name.",
21752 "format" : "pve-storage-server",
21753 "optional" : 1,
21754 "type" : "string"
21755 },
21756 "server2" : {
21757 "description" : "Backup volfile server IP or DNS name.",
21758 "format" : "pve-storage-server",
21759 "optional" : 1,
21760 "requires" : "server",
21761 "type" : "string"
21762 },
21763 "shared" : {
21764 "description" : "Mark storage as shared.",
21765 "optional" : 1,
21766 "type" : "boolean"
21767 },
21768 "sparse" : {
21769 "description" : "use sparse volumes",
21770 "optional" : 1,
21771 "type" : "boolean"
21772 },
21773 "storage" : {
21774 "description" : "The storage identifier.",
21775 "format" : "pve-storage-id",
21776 "type" : "string"
21777 },
21778 "tagged_only" : {
21779 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
21780 "optional" : 1,
21781 "type" : "boolean"
21782 },
21783 "transport" : {
21784 "description" : "Gluster transport: tcp or rdma",
21785 "enum" : [
21786 "tcp",
21787 "rdma",
21788 "unix"
21789 ],
21790 "optional" : 1,
21791 "type" : "string"
21792 },
21793 "username" : {
21794 "description" : "RBD Id.",
21795 "optional" : 1,
21796 "type" : "string"
21797 }
21798 },
21799 "type" : "object"
21800 },
21801 "permissions" : {
21802 "check" : [
21803 "perm",
21804 "/storage",
21805 [
21806 "Datastore.Allocate"
21807 ]
21808 ]
21809 },
21810 "protected" : 1,
21811 "returns" : {
21812 "type" : "null"
21813 }
21814 }
21815 },
21816 "leaf" : 1,
21817 "path" : "/storage/{storage}",
21818 "text" : "{storage}"
21819 }
21820 ],
21821 "info" : {
21822 "GET" : {
21823 "description" : "Storage index.",
21824 "method" : "GET",
21825 "name" : "index",
21826 "parameters" : {
21827 "additionalProperties" : 0,
21828 "properties" : {
21829 "type" : {
21830 "description" : "Only list storage of specific type",
21831 "enum" : [
21832 "dir",
21833 "drbd",
21834 "glusterfs",
21835 "iscsi",
21836 "iscsidirect",
21837 "lvm",
21838 "lvmthin",
21839 "nfs",
21840 "rbd",
21841 "sheepdog",
21842 "zfs",
21843 "zfspool"
21844 ],
21845 "optional" : 1,
21846 "type" : "string"
21847 }
21848 }
21849 },
21850 "permissions" : {
21851 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
21852 "user" : "all"
21853 },
21854 "returns" : {
21855 "items" : {
21856 "properties" : {
21857 "storage" : {
21858 "type" : "string"
21859 }
21860 },
21861 "type" : "object"
21862 },
21863 "links" : [
21864 {
21865 "href" : "{storage}",
21866 "rel" : "child"
21867 }
21868 ],
21869 "type" : "array"
21870 }
21871 },
21872 "POST" : {
21873 "description" : "Create a new storage.",
21874 "method" : "POST",
21875 "name" : "create",
21876 "parameters" : {
21877 "additionalProperties" : 0,
21878 "properties" : {
21879 "authsupported" : {
21880 "description" : "Authsupported.",
21881 "optional" : 1,
21882 "type" : "string"
21883 },
21884 "base" : {
21885 "description" : "Base volume. This volume is automatically activated.",
21886 "format" : "pve-volume-id",
21887 "optional" : 1,
21888 "type" : "string"
21889 },
21890 "blocksize" : {
21891 "description" : "block size",
21892 "optional" : 1,
21893 "type" : "string"
21894 },
21895 "comstar_hg" : {
21896 "description" : "host group for comstar views",
21897 "optional" : 1,
21898 "type" : "string"
21899 },
21900 "comstar_tg" : {
21901 "description" : "target group for comstar views",
21902 "optional" : 1,
21903 "type" : "string"
21904 },
21905 "content" : {
21906 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
21907 "format" : "pve-storage-content-list",
21908 "optional" : 1,
21909 "type" : "string"
21910 },
21911 "disable" : {
21912 "description" : "Flag to disable the storage.",
21913 "optional" : 1,
21914 "type" : "boolean"
21915 },
21916 "export" : {
21917 "description" : "NFS export path.",
21918 "format" : "pve-storage-path",
21919 "optional" : 1,
21920 "type" : "string"
21921 },
21922 "format" : {
21923 "description" : "Default image format.",
21924 "format" : "pve-storage-format",
21925 "optional" : 1,
21926 "type" : "string"
21927 },
21928 "iscsiprovider" : {
21929 "description" : "iscsi provider",
21930 "optional" : 1,
21931 "type" : "string"
21932 },
21933 "krbd" : {
21934 "description" : "Access rbd through krbd kernel module.",
21935 "optional" : 1,
21936 "type" : "boolean"
21937 },
21938 "maxfiles" : {
21939 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
21940 "minimum" : 0,
21941 "optional" : 1,
21942 "type" : "integer",
21943 "typetext" : "integer (0- N)"
21944 },
21945 "mkdir" : {
21946 "default" : "yes",
21947 "description" : "Create the directory if it doesn't exist.",
21948 "optional" : 1,
21949 "type" : "boolean"
21950 },
21951 "monhost" : {
21952 "description" : "Monitors daemon ips.",
21953 "format" : "pve-storage-portal-dns-list",
21954 "optional" : 1,
21955 "type" : "string"
21956 },
21957 "nodes" : {
21958 "description" : "List of cluster node names.",
21959 "format" : "pve-node-list",
21960 "optional" : 1,
21961 "type" : "string"
21962 },
21963 "nowritecache" : {
21964 "description" : "disable write caching on the target",
21965 "optional" : 1,
21966 "type" : "boolean"
21967 },
21968 "options" : {
21969 "description" : "NFS mount options (see 'man nfs')",
21970 "format" : "pve-storage-options",
21971 "optional" : 1,
21972 "type" : "string"
21973 },
21974 "path" : {
21975 "description" : "File system path.",
21976 "format" : "pve-storage-path",
21977 "optional" : 1,
21978 "type" : "string"
21979 },
21980 "pool" : {
21981 "description" : "Pool.",
21982 "optional" : 1,
21983 "type" : "string"
21984 },
21985 "portal" : {
21986 "description" : "iSCSI portal (IP or DNS name with optional port).",
21987 "format" : "pve-storage-portal-dns",
21988 "optional" : 1,
21989 "type" : "string"
21990 },
21991 "redundancy" : {
21992 "default" : 2,
21993 "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.",
21994 "maximum" : 16,
21995 "minimum" : 1,
21996 "optional" : 1,
21997 "type" : "integer",
21998 "typetext" : "integer (1-16)"
21999 },
22000 "saferemove" : {
22001 "description" : "Zero-out data when removing LVs.",
22002 "optional" : 1,
22003 "type" : "boolean"
22004 },
22005 "saferemove_throughput" : {
22006 "description" : "Wipe throughput (cstream -t parameter value).",
22007 "optional" : 1,
22008 "type" : "string"
22009 },
22010 "server" : {
22011 "description" : "Server IP or DNS name.",
22012 "format" : "pve-storage-server",
22013 "optional" : 1,
22014 "type" : "string"
22015 },
22016 "server2" : {
22017 "description" : "Backup volfile server IP or DNS name.",
22018 "format" : "pve-storage-server",
22019 "optional" : 1,
22020 "requires" : "server",
22021 "type" : "string"
22022 },
22023 "shared" : {
22024 "description" : "Mark storage as shared.",
22025 "optional" : 1,
22026 "type" : "boolean"
22027 },
22028 "sparse" : {
22029 "description" : "use sparse volumes",
22030 "optional" : 1,
22031 "type" : "boolean"
22032 },
22033 "storage" : {
22034 "description" : "The storage identifier.",
22035 "format" : "pve-storage-id",
22036 "type" : "string"
22037 },
22038 "tagged_only" : {
22039 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
22040 "optional" : 1,
22041 "type" : "boolean"
22042 },
22043 "target" : {
22044 "description" : "iSCSI target.",
22045 "optional" : 1,
22046 "type" : "string"
22047 },
22048 "thinpool" : {
22049 "description" : "LVM thin pool LV name.",
22050 "format" : "pve-storage-vgname",
22051 "optional" : 1,
22052 "type" : "string"
22053 },
22054 "transport" : {
22055 "description" : "Gluster transport: tcp or rdma",
22056 "enum" : [
22057 "tcp",
22058 "rdma",
22059 "unix"
22060 ],
22061 "optional" : 1,
22062 "type" : "string"
22063 },
22064 "type" : {
22065 "description" : "Storage type.",
22066 "enum" : [
22067 "dir",
22068 "drbd",
22069 "glusterfs",
22070 "iscsi",
22071 "iscsidirect",
22072 "lvm",
22073 "lvmthin",
22074 "nfs",
22075 "rbd",
22076 "sheepdog",
22077 "zfs",
22078 "zfspool"
22079 ],
22080 "type" : "string"
22081 },
22082 "username" : {
22083 "description" : "RBD Id.",
22084 "optional" : 1,
22085 "type" : "string"
22086 },
22087 "vgname" : {
22088 "description" : "Volume group name.",
22089 "format" : "pve-storage-vgname",
22090 "optional" : 1,
22091 "type" : "string"
22092 },
22093 "volume" : {
22094 "description" : "Glusterfs Volume.",
22095 "optional" : 1,
22096 "type" : "string"
22097 }
22098 },
22099 "type" : "object"
22100 },
22101 "permissions" : {
22102 "check" : [
22103 "perm",
22104 "/storage",
22105 [
22106 "Datastore.Allocate"
22107 ]
22108 ]
22109 },
22110 "protected" : 1,
22111 "returns" : {
22112 "type" : "null"
22113 }
22114 }
22115 },
22116 "leaf" : 0,
22117 "path" : "/storage",
22118 "text" : "storage"
22119 },
22120 {
22121 "children" : [
22122 {
22123 "children" : [
22124 {
22125 "info" : {
22126 "DELETE" : {
22127 "description" : "Delete user.",
22128 "method" : "DELETE",
22129 "name" : "delete_user",
22130 "parameters" : {
22131 "additionalProperties" : 0,
22132 "properties" : {
22133 "userid" : {
22134 "description" : "User ID",
22135 "format" : "pve-userid",
22136 "maxLength" : 64,
22137 "type" : "string"
22138 }
22139 }
22140 },
22141 "permissions" : {
22142 "check" : [
22143 "and",
22144 [
22145 "userid-param",
22146 "Realm.AllocateUser"
22147 ],
22148 [
22149 "userid-group",
22150 [
22151 "User.Modify"
22152 ]
22153 ]
22154 ]
22155 },
22156 "protected" : 1,
22157 "returns" : {
22158 "type" : "null"
22159 }
22160 },
22161 "GET" : {
22162 "description" : "Get user configuration.",
22163 "method" : "GET",
22164 "name" : "read_user",
22165 "parameters" : {
22166 "additionalProperties" : 0,
22167 "properties" : {
22168 "userid" : {
22169 "description" : "User ID",
22170 "format" : "pve-userid",
22171 "maxLength" : 64,
22172 "type" : "string"
22173 }
22174 }
22175 },
22176 "permissions" : {
22177 "check" : [
22178 "userid-group",
22179 [
22180 "User.Modify",
22181 "Sys.Audit"
22182 ]
22183 ]
22184 },
22185 "returns" : {
22186 "additionalProperties" : 0,
22187 "properties" : {
22188 "comment" : {
22189 "optional" : 1,
22190 "type" : "string"
22191 },
22192 "email" : {
22193 "optional" : 1,
22194 "type" : "string"
22195 },
22196 "enable" : {
22197 "type" : "boolean"
22198 },
22199 "expire" : {
22200 "optional" : 1,
22201 "type" : "integer"
22202 },
22203 "firstname" : {
22204 "optional" : 1,
22205 "type" : "string"
22206 },
22207 "groups" : {
22208 "type" : "array"
22209 },
22210 "keys" : {
22211 "optional" : 1,
22212 "type" : "string"
22213 },
22214 "lastname" : {
22215 "optional" : 1,
22216 "type" : "string"
22217 }
22218 }
22219 }
22220 },
22221 "PUT" : {
22222 "description" : "Update user configuration.",
22223 "method" : "PUT",
22224 "name" : "update_user",
22225 "parameters" : {
22226 "additionalProperties" : 0,
22227 "properties" : {
22228 "append" : {
22229 "optional" : 1,
22230 "requires" : "groups",
22231 "type" : "boolean"
22232 },
22233 "comment" : {
22234 "optional" : 1,
22235 "type" : "string"
22236 },
22237 "email" : {
22238 "format" : "email-opt",
22239 "optional" : 1,
22240 "type" : "string"
22241 },
22242 "enable" : {
22243 "description" : "Enable/disable the account.",
22244 "optional" : 1,
22245 "type" : "boolean"
22246 },
22247 "expire" : {
22248 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
22249 "minimum" : 0,
22250 "optional" : 1,
22251 "type" : "integer",
22252 "typetext" : "integer (0- N)"
22253 },
22254 "firstname" : {
22255 "optional" : 1,
22256 "type" : "string"
22257 },
22258 "groups" : {
22259 "format" : "pve-groupid-list",
22260 "optional" : 1,
22261 "type" : "string"
22262 },
22263 "keys" : {
22264 "description" : "Keys for two factor auth (yubico).",
22265 "optional" : 1,
22266 "type" : "string"
22267 },
22268 "lastname" : {
22269 "optional" : 1,
22270 "type" : "string"
22271 },
22272 "userid" : {
22273 "description" : "User ID",
22274 "format" : "pve-userid",
22275 "maxLength" : 64,
22276 "type" : "string"
22277 }
22278 }
22279 },
22280 "permissions" : {
22281 "check" : [
22282 "userid-group",
22283 [
22284 "User.Modify"
22285 ],
22286 "groups_param",
22287 1
22288 ]
22289 },
22290 "protected" : 1,
22291 "returns" : {
22292 "type" : "null"
22293 }
22294 }
22295 },
22296 "leaf" : 1,
22297 "path" : "/access/users/{userid}",
22298 "text" : "{userid}"
22299 }
22300 ],
22301 "info" : {
22302 "GET" : {
22303 "description" : "User index.",
22304 "method" : "GET",
22305 "name" : "index",
22306 "parameters" : {
22307 "additionalProperties" : 0,
22308 "properties" : {
22309 "enabled" : {
22310 "description" : "Optional filter for enable property.",
22311 "optional" : 1,
22312 "type" : "boolean"
22313 }
22314 }
22315 },
22316 "permissions" : {
22317 "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.",
22318 "user" : "all"
22319 },
22320 "returns" : {
22321 "items" : {
22322 "properties" : {
22323 "userid" : {
22324 "type" : "string"
22325 }
22326 },
22327 "type" : "object"
22328 },
22329 "links" : [
22330 {
22331 "href" : "{userid}",
22332 "rel" : "child"
22333 }
22334 ],
22335 "type" : "array"
22336 }
22337 },
22338 "POST" : {
22339 "description" : "Create new user.",
22340 "method" : "POST",
22341 "name" : "create_user",
22342 "parameters" : {
22343 "additionalProperties" : 0,
22344 "properties" : {
22345 "comment" : {
22346 "optional" : 1,
22347 "type" : "string"
22348 },
22349 "email" : {
22350 "format" : "email-opt",
22351 "optional" : 1,
22352 "type" : "string"
22353 },
22354 "enable" : {
22355 "default" : 1,
22356 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
22357 "optional" : 1,
22358 "type" : "boolean"
22359 },
22360 "expire" : {
22361 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
22362 "minimum" : 0,
22363 "optional" : 1,
22364 "type" : "integer",
22365 "typetext" : "integer (0- N)"
22366 },
22367 "firstname" : {
22368 "optional" : 1,
22369 "type" : "string"
22370 },
22371 "groups" : {
22372 "format" : "pve-groupid-list",
22373 "optional" : 1,
22374 "type" : "string"
22375 },
22376 "keys" : {
22377 "description" : "Keys for two factor auth (yubico).",
22378 "optional" : 1,
22379 "type" : "string"
22380 },
22381 "lastname" : {
22382 "optional" : 1,
22383 "type" : "string"
22384 },
22385 "password" : {
22386 "description" : "Initial password.",
22387 "maxLength" : 64,
22388 "minLength" : 5,
22389 "optional" : 1,
22390 "type" : "string"
22391 },
22392 "userid" : {
22393 "description" : "User ID",
22394 "format" : "pve-userid",
22395 "maxLength" : 64,
22396 "type" : "string"
22397 }
22398 }
22399 },
22400 "permissions" : {
22401 "check" : [
22402 "and",
22403 [
22404 "userid-param",
22405 "Realm.AllocateUser"
22406 ],
22407 [
22408 "userid-group",
22409 [
22410 "User.Modify"
22411 ],
22412 "groups_param",
22413 1
22414 ]
22415 ],
22416 "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."
22417 },
22418 "protected" : 1,
22419 "returns" : {
22420 "type" : "null"
22421 }
22422 }
22423 },
22424 "leaf" : 0,
22425 "path" : "/access/users",
22426 "text" : "users"
22427 },
22428 {
22429 "children" : [
22430 {
22431 "info" : {
22432 "DELETE" : {
22433 "description" : "Delete group.",
22434 "method" : "DELETE",
22435 "name" : "delete_group",
22436 "parameters" : {
22437 "additionalProperties" : 0,
22438 "properties" : {
22439 "groupid" : {
22440 "format" : "pve-groupid",
22441 "type" : "string"
22442 }
22443 }
22444 },
22445 "permissions" : {
22446 "check" : [
22447 "perm",
22448 "/access/groups",
22449 [
22450 "Group.Allocate"
22451 ]
22452 ]
22453 },
22454 "protected" : 1,
22455 "returns" : {
22456 "type" : "null"
22457 }
22458 },
22459 "GET" : {
22460 "description" : "Get group configuration.",
22461 "method" : "GET",
22462 "name" : "read_group",
22463 "parameters" : {
22464 "additionalProperties" : 0,
22465 "properties" : {
22466 "groupid" : {
22467 "format" : "pve-groupid",
22468 "type" : "string"
22469 }
22470 }
22471 },
22472 "permissions" : {
22473 "check" : [
22474 "perm",
22475 "/access/groups",
22476 [
22477 "Sys.Audit",
22478 "Group.Allocate"
22479 ],
22480 "any",
22481 1
22482 ]
22483 },
22484 "returns" : {
22485 "additionalProperties" : 0,
22486 "properties" : {
22487 "comment" : {
22488 "optional" : 1,
22489 "type" : "string"
22490 },
22491 "members" : {
22492 "items" : {
22493 "type" : "string"
22494 },
22495 "type" : "array"
22496 }
22497 },
22498 "type" : "object"
22499 }
22500 },
22501 "PUT" : {
22502 "description" : "Update group data.",
22503 "method" : "PUT",
22504 "name" : "update_group",
22505 "parameters" : {
22506 "additionalProperties" : 0,
22507 "properties" : {
22508 "comment" : {
22509 "optional" : 1,
22510 "type" : "string"
22511 },
22512 "groupid" : {
22513 "format" : "pve-groupid",
22514 "type" : "string"
22515 }
22516 }
22517 },
22518 "permissions" : {
22519 "check" : [
22520 "perm",
22521 "/access/groups",
22522 [
22523 "Group.Allocate"
22524 ]
22525 ]
22526 },
22527 "protected" : 1,
22528 "returns" : {
22529 "type" : "null"
22530 }
22531 }
22532 },
22533 "leaf" : 1,
22534 "path" : "/access/groups/{groupid}",
22535 "text" : "{groupid}"
22536 }
22537 ],
22538 "info" : {
22539 "GET" : {
22540 "description" : "Group index.",
22541 "method" : "GET",
22542 "name" : "index",
22543 "parameters" : {
22544 "additionalProperties" : 0
22545 },
22546 "permissions" : {
22547 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
22548 "user" : "all"
22549 },
22550 "returns" : {
22551 "items" : {
22552 "properties" : {
22553 "groupid" : {
22554 "type" : "string"
22555 }
22556 },
22557 "type" : "object"
22558 },
22559 "links" : [
22560 {
22561 "href" : "{groupid}",
22562 "rel" : "child"
22563 }
22564 ],
22565 "type" : "array"
22566 }
22567 },
22568 "POST" : {
22569 "description" : "Create new group.",
22570 "method" : "POST",
22571 "name" : "create_group",
22572 "parameters" : {
22573 "additionalProperties" : 0,
22574 "properties" : {
22575 "comment" : {
22576 "optional" : 1,
22577 "type" : "string"
22578 },
22579 "groupid" : {
22580 "format" : "pve-groupid",
22581 "type" : "string"
22582 }
22583 }
22584 },
22585 "permissions" : {
22586 "check" : [
22587 "perm",
22588 "/access/groups",
22589 [
22590 "Group.Allocate"
22591 ]
22592 ]
22593 },
22594 "protected" : 1,
22595 "returns" : {
22596 "type" : "null"
22597 }
22598 }
22599 },
22600 "leaf" : 0,
22601 "path" : "/access/groups",
22602 "text" : "groups"
22603 },
22604 {
22605 "children" : [
22606 {
22607 "info" : {
22608 "DELETE" : {
22609 "description" : "Delete role.",
22610 "method" : "DELETE",
22611 "name" : "delete_role",
22612 "parameters" : {
22613 "additionalProperties" : 0,
22614 "properties" : {
22615 "roleid" : {
22616 "format" : "pve-roleid",
22617 "type" : "string"
22618 }
22619 }
22620 },
22621 "permissions" : {
22622 "check" : [
22623 "perm",
22624 "/access",
22625 [
22626 "Sys.Modify"
22627 ]
22628 ]
22629 },
22630 "protected" : 1,
22631 "returns" : {
22632 "type" : "null"
22633 }
22634 },
22635 "GET" : {
22636 "description" : "Get role configuration.",
22637 "method" : "GET",
22638 "name" : "read_role",
22639 "parameters" : {
22640 "additionalProperties" : 0,
22641 "properties" : {
22642 "roleid" : {
22643 "format" : "pve-roleid",
22644 "type" : "string"
22645 }
22646 }
22647 },
22648 "permissions" : {
22649 "user" : "all"
22650 },
22651 "returns" : {}
22652 },
22653 "PUT" : {
22654 "description" : "Create new role.",
22655 "method" : "PUT",
22656 "name" : "update_role",
22657 "parameters" : {
22658 "additionalProperties" : 0,
22659 "properties" : {
22660 "append" : {
22661 "optional" : 1,
22662 "requires" : "privs",
22663 "type" : "boolean"
22664 },
22665 "privs" : {
22666 "format" : "pve-priv-list",
22667 "type" : "string"
22668 },
22669 "roleid" : {
22670 "format" : "pve-roleid",
22671 "type" : "string"
22672 }
22673 }
22674 },
22675 "permissions" : {
22676 "check" : [
22677 "perm",
22678 "/access",
22679 [
22680 "Sys.Modify"
22681 ]
22682 ]
22683 },
22684 "protected" : 1,
22685 "returns" : {
22686 "type" : "null"
22687 }
22688 }
22689 },
22690 "leaf" : 1,
22691 "path" : "/access/roles/{roleid}",
22692 "text" : "{roleid}"
22693 }
22694 ],
22695 "info" : {
22696 "GET" : {
22697 "description" : "Role index.",
22698 "method" : "GET",
22699 "name" : "index",
22700 "parameters" : {
22701 "additionalProperties" : 0
22702 },
22703 "permissions" : {
22704 "user" : "all"
22705 },
22706 "returns" : {
22707 "items" : {
22708 "properties" : {
22709 "roleid" : {
22710 "type" : "string"
22711 }
22712 },
22713 "type" : "object"
22714 },
22715 "links" : [
22716 {
22717 "href" : "{roleid}",
22718 "rel" : "child"
22719 }
22720 ],
22721 "type" : "array"
22722 }
22723 },
22724 "POST" : {
22725 "description" : "Create new role.",
22726 "method" : "POST",
22727 "name" : "create_role",
22728 "parameters" : {
22729 "additionalProperties" : 0,
22730 "properties" : {
22731 "privs" : {
22732 "format" : "pve-priv-list",
22733 "optional" : 1,
22734 "type" : "string"
22735 },
22736 "roleid" : {
22737 "format" : "pve-roleid",
22738 "type" : "string"
22739 }
22740 }
22741 },
22742 "permissions" : {
22743 "check" : [
22744 "perm",
22745 "/access",
22746 [
22747 "Sys.Modify"
22748 ]
22749 ]
22750 },
22751 "protected" : 1,
22752 "returns" : {
22753 "type" : "null"
22754 }
22755 }
22756 },
22757 "leaf" : 0,
22758 "path" : "/access/roles",
22759 "text" : "roles"
22760 },
22761 {
22762 "info" : {
22763 "GET" : {
22764 "description" : "Get Access Control List (ACLs).",
22765 "method" : "GET",
22766 "name" : "read_acl",
22767 "parameters" : {
22768 "additionalProperties" : 0
22769 },
22770 "permissions" : {
22771 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
22772 "user" : "all"
22773 },
22774 "returns" : {
22775 "items" : {
22776 "additionalProperties" : 0,
22777 "properties" : {
22778 "path" : {
22779 "type" : "string"
22780 },
22781 "propagate" : {
22782 "type" : "boolean"
22783 },
22784 "roleid" : {
22785 "type" : "string"
22786 },
22787 "type" : {
22788 "enum" : [
22789 "user",
22790 "group"
22791 ],
22792 "type" : "string"
22793 },
22794 "ugid" : {
22795 "type" : "string"
22796 }
22797 },
22798 "type" : "object"
22799 },
22800 "type" : "array"
22801 }
22802 },
22803 "PUT" : {
22804 "description" : "Update Access Control List (add or remove permissions).",
22805 "method" : "PUT",
22806 "name" : "update_acl",
22807 "parameters" : {
22808 "additionalProperties" : 0,
22809 "properties" : {
22810 "delete" : {
22811 "description" : "Remove permissions (instead of adding it).",
22812 "optional" : 1,
22813 "type" : "boolean"
22814 },
22815 "groups" : {
22816 "description" : "List of groups.",
22817 "format" : "pve-groupid-list",
22818 "optional" : 1,
22819 "type" : "string"
22820 },
22821 "path" : {
22822 "description" : "Access control path",
22823 "type" : "string"
22824 },
22825 "propagate" : {
22826 "default" : 1,
22827 "description" : "Allow to propagate (inherit) permissions.",
22828 "optional" : 1,
22829 "type" : "boolean"
22830 },
22831 "roles" : {
22832 "description" : "List of roles.",
22833 "format" : "pve-roleid-list",
22834 "type" : "string"
22835 },
22836 "users" : {
22837 "description" : "List of users.",
22838 "format" : "pve-userid-list",
22839 "optional" : 1,
22840 "type" : "string"
22841 }
22842 }
22843 },
22844 "permissions" : {
22845 "check" : [
22846 "perm-modify",
22847 "{path}"
22848 ]
22849 },
22850 "protected" : 1,
22851 "returns" : {
22852 "type" : "null"
22853 }
22854 }
22855 },
22856 "leaf" : 1,
22857 "path" : "/access/acl",
22858 "text" : "acl"
22859 },
22860 {
22861 "children" : [
22862 {
22863 "info" : {
22864 "DELETE" : {
22865 "description" : "Delete an authentication server.",
22866 "method" : "DELETE",
22867 "name" : "delete",
22868 "parameters" : {
22869 "additionalProperties" : 0,
22870 "properties" : {
22871 "realm" : {
22872 "description" : "Authentication domain ID",
22873 "format" : "pve-realm",
22874 "maxLength" : 32,
22875 "type" : "string"
22876 }
22877 }
22878 },
22879 "permissions" : {
22880 "check" : [
22881 "perm",
22882 "/access/realm",
22883 [
22884 "Realm.Allocate"
22885 ]
22886 ]
22887 },
22888 "protected" : 1,
22889 "returns" : {
22890 "type" : "null"
22891 }
22892 },
22893 "GET" : {
22894 "description" : "Get auth server configuration.",
22895 "method" : "GET",
22896 "name" : "read",
22897 "parameters" : {
22898 "additionalProperties" : 0,
22899 "properties" : {
22900 "realm" : {
22901 "description" : "Authentication domain ID",
22902 "format" : "pve-realm",
22903 "maxLength" : 32,
22904 "type" : "string"
22905 }
22906 }
22907 },
22908 "permissions" : {
22909 "check" : [
22910 "perm",
22911 "/access/realm",
22912 [
22913 "Realm.Allocate",
22914 "Sys.Audit"
22915 ],
22916 "any",
22917 1
22918 ]
22919 },
22920 "returns" : {}
22921 },
22922 "PUT" : {
22923 "description" : "Update authentication server settings.",
22924 "method" : "PUT",
22925 "name" : "update",
22926 "parameters" : {
22927 "additionalProperties" : 0,
22928 "properties" : {
22929 "base_dn" : {
22930 "description" : "LDAP base domain name",
22931 "maxLength" : 256,
22932 "optional" : 1,
22933 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
22934 "type" : "string"
22935 },
22936 "bind_dn" : {
22937 "description" : "LDAP bind domain name",
22938 "maxLength" : 256,
22939 "optional" : 1,
22940 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
22941 "type" : "string"
22942 },
22943 "comment" : {
22944 "description" : "Description.",
22945 "maxLength" : 4096,
22946 "optional" : 1,
22947 "type" : "string"
22948 },
22949 "default" : {
22950 "description" : "Use this as default realm",
22951 "optional" : 1,
22952 "type" : "boolean"
22953 },
22954 "delete" : {
22955 "description" : "A list of settings you want to delete.",
22956 "format" : "pve-configid-list",
22957 "maxLength" : 4096,
22958 "optional" : 1,
22959 "type" : "string"
22960 },
22961 "digest" : {
22962 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22963 "maxLength" : 40,
22964 "optional" : 1,
22965 "type" : "string"
22966 },
22967 "domain" : {
22968 "description" : "AD domain name",
22969 "maxLength" : 256,
22970 "optional" : 1,
22971 "pattern" : "\\S+",
22972 "type" : "string"
22973 },
22974 "port" : {
22975 "description" : "Server port.",
22976 "maximum" : 65535,
22977 "minimum" : 1,
22978 "optional" : 1,
22979 "type" : "integer",
22980 "typetext" : "integer (1-65535)"
22981 },
22982 "realm" : {
22983 "description" : "Authentication domain ID",
22984 "format" : "pve-realm",
22985 "maxLength" : 32,
22986 "type" : "string"
22987 },
22988 "secure" : {
22989 "description" : "Use secure LDAPS protocol.",
22990 "optional" : 1,
22991 "type" : "boolean"
22992 },
22993 "server1" : {
22994 "description" : "Server IP address (or DNS name)",
22995 "format" : "address",
22996 "maxLength" : 256,
22997 "optional" : 1,
22998 "type" : "string"
22999 },
23000 "server2" : {
23001 "description" : "Fallback Server IP address (or DNS name)",
23002 "format" : "address",
23003 "maxLength" : 256,
23004 "optional" : 1,
23005 "type" : "string"
23006 },
23007 "tfa" : {
23008 "description" : "Use Two-factor authentication.",
23009 "format" : "pve-tfa-config",
23010 "maxLength" : 128,
23011 "optional" : 1,
23012 "type" : "string"
23013 },
23014 "user_attr" : {
23015 "description" : "LDAP user attribute name",
23016 "maxLength" : 256,
23017 "optional" : 1,
23018 "pattern" : "\\S{2,}",
23019 "type" : "string"
23020 }
23021 },
23022 "type" : "object"
23023 },
23024 "permissions" : {
23025 "check" : [
23026 "perm",
23027 "/access/realm",
23028 [
23029 "Realm.Allocate"
23030 ]
23031 ]
23032 },
23033 "protected" : 1,
23034 "returns" : {
23035 "type" : "null"
23036 }
23037 }
23038 },
23039 "leaf" : 1,
23040 "path" : "/access/domains/{realm}",
23041 "text" : "{realm}"
23042 }
23043 ],
23044 "info" : {
23045 "GET" : {
23046 "description" : "Authentication domain index.",
23047 "method" : "GET",
23048 "name" : "index",
23049 "parameters" : {
23050 "additionalProperties" : 0
23051 },
23052 "permissions" : {
23053 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
23054 "user" : "world"
23055 },
23056 "returns" : {
23057 "items" : {
23058 "properties" : {
23059 "comment" : {
23060 "optional" : 1,
23061 "type" : "string"
23062 },
23063 "realm" : {
23064 "type" : "string"
23065 },
23066 "tfa" : {
23067 "description" : "Two-factor authentication provider.",
23068 "enum" : [
23069 "yubico",
23070 "oath"
23071 ],
23072 "optional" : 1,
23073 "type" : "string"
23074 }
23075 },
23076 "type" : "object"
23077 },
23078 "links" : [
23079 {
23080 "href" : "{realm}",
23081 "rel" : "child"
23082 }
23083 ],
23084 "type" : "array"
23085 }
23086 },
23087 "POST" : {
23088 "description" : "Add an authentication server.",
23089 "method" : "POST",
23090 "name" : "create",
23091 "parameters" : {
23092 "additionalProperties" : 0,
23093 "properties" : {
23094 "base_dn" : {
23095 "description" : "LDAP base domain name",
23096 "maxLength" : 256,
23097 "optional" : 1,
23098 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
23099 "type" : "string"
23100 },
23101 "bind_dn" : {
23102 "description" : "LDAP bind domain name",
23103 "maxLength" : 256,
23104 "optional" : 1,
23105 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
23106 "type" : "string"
23107 },
23108 "comment" : {
23109 "description" : "Description.",
23110 "maxLength" : 4096,
23111 "optional" : 1,
23112 "type" : "string"
23113 },
23114 "default" : {
23115 "description" : "Use this as default realm",
23116 "optional" : 1,
23117 "type" : "boolean"
23118 },
23119 "domain" : {
23120 "description" : "AD domain name",
23121 "maxLength" : 256,
23122 "optional" : 1,
23123 "pattern" : "\\S+",
23124 "type" : "string"
23125 },
23126 "port" : {
23127 "description" : "Server port.",
23128 "maximum" : 65535,
23129 "minimum" : 1,
23130 "optional" : 1,
23131 "type" : "integer",
23132 "typetext" : "integer (1-65535)"
23133 },
23134 "realm" : {
23135 "description" : "Authentication domain ID",
23136 "format" : "pve-realm",
23137 "maxLength" : 32,
23138 "type" : "string"
23139 },
23140 "secure" : {
23141 "description" : "Use secure LDAPS protocol.",
23142 "optional" : 1,
23143 "type" : "boolean"
23144 },
23145 "server1" : {
23146 "description" : "Server IP address (or DNS name)",
23147 "format" : "address",
23148 "maxLength" : 256,
23149 "optional" : 1,
23150 "type" : "string"
23151 },
23152 "server2" : {
23153 "description" : "Fallback Server IP address (or DNS name)",
23154 "format" : "address",
23155 "maxLength" : 256,
23156 "optional" : 1,
23157 "type" : "string"
23158 },
23159 "tfa" : {
23160 "description" : "Use Two-factor authentication.",
23161 "format" : "pve-tfa-config",
23162 "maxLength" : 128,
23163 "optional" : 1,
23164 "type" : "string"
23165 },
23166 "type" : {
23167 "description" : "Realm type.",
23168 "enum" : [
23169 "ad",
23170 "ldap",
23171 "pam",
23172 "pve"
23173 ],
23174 "type" : "string"
23175 },
23176 "user_attr" : {
23177 "description" : "LDAP user attribute name",
23178 "maxLength" : 256,
23179 "optional" : 1,
23180 "pattern" : "\\S{2,}",
23181 "type" : "string"
23182 }
23183 },
23184 "type" : "object"
23185 },
23186 "permissions" : {
23187 "check" : [
23188 "perm",
23189 "/access/realm",
23190 [
23191 "Realm.Allocate"
23192 ]
23193 ]
23194 },
23195 "protected" : 1,
23196 "returns" : {
23197 "type" : "null"
23198 }
23199 }
23200 },
23201 "leaf" : 0,
23202 "path" : "/access/domains",
23203 "text" : "domains"
23204 },
23205 {
23206 "info" : {
23207 "GET" : {
23208 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
23209 "method" : "GET",
23210 "name" : "get_ticket",
23211 "parameters" : {
23212 "additionalProperties" : 0
23213 },
23214 "permissions" : {
23215 "user" : "world"
23216 },
23217 "returns" : {
23218 "type" : "null"
23219 }
23220 },
23221 "POST" : {
23222 "description" : "Create or verify authentication ticket.",
23223 "method" : "POST",
23224 "name" : "create_ticket",
23225 "parameters" : {
23226 "additionalProperties" : 0,
23227 "properties" : {
23228 "otp" : {
23229 "description" : "One-time password for Two-factor authentication.",
23230 "optional" : 1,
23231 "type" : "string"
23232 },
23233 "password" : {
23234 "description" : "The secret password. This can also be a valid ticket.",
23235 "type" : "string"
23236 },
23237 "path" : {
23238 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
23239 "maxLength" : 64,
23240 "optional" : 1,
23241 "requires" : "privs",
23242 "type" : "string"
23243 },
23244 "privs" : {
23245 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
23246 "format" : "pve-priv-list",
23247 "maxLength" : 64,
23248 "optional" : 1,
23249 "requires" : "path",
23250 "type" : "string"
23251 },
23252 "realm" : {
23253 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
23254 "format" : "pve-realm",
23255 "maxLength" : 32,
23256 "optional" : 1,
23257 "type" : "string"
23258 },
23259 "username" : {
23260 "description" : "User name",
23261 "maxLength" : 64,
23262 "type" : "string"
23263 }
23264 }
23265 },
23266 "permissions" : {
23267 "description" : "You need to pass valid credientials.",
23268 "user" : "world"
23269 },
23270 "protected" : 1,
23271 "returns" : {
23272 "properties" : {
23273 "CSRFPreventionToken" : {
23274 "optional" : 1,
23275 "type" : "string"
23276 },
23277 "ticket" : {
23278 "optional" : 1,
23279 "type" : "string"
23280 },
23281 "username" : {
23282 "type" : "string"
23283 }
23284 },
23285 "type" : "object"
23286 }
23287 }
23288 },
23289 "leaf" : 1,
23290 "path" : "/access/ticket",
23291 "text" : "ticket"
23292 },
23293 {
23294 "info" : {
23295 "PUT" : {
23296 "description" : "Change user password.",
23297 "method" : "PUT",
23298 "name" : "change_passsword",
23299 "parameters" : {
23300 "additionalProperties" : 0,
23301 "properties" : {
23302 "password" : {
23303 "description" : "The new password.",
23304 "maxLength" : 64,
23305 "minLength" : 5,
23306 "type" : "string"
23307 },
23308 "userid" : {
23309 "description" : "User ID",
23310 "format" : "pve-userid",
23311 "maxLength" : 64,
23312 "type" : "string"
23313 }
23314 }
23315 },
23316 "permissions" : {
23317 "check" : [
23318 "or",
23319 [
23320 "userid-param",
23321 "self"
23322 ],
23323 [
23324 "and",
23325 [
23326 "userid-param",
23327 "Realm.AllocateUser"
23328 ],
23329 [
23330 "userid-group",
23331 [
23332 "User.Modify"
23333 ]
23334 ]
23335 ]
23336 ],
23337 "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."
23338 },
23339 "protected" : 1,
23340 "returns" : {
23341 "type" : "null"
23342 }
23343 }
23344 },
23345 "leaf" : 1,
23346 "path" : "/access/password",
23347 "text" : "password"
23348 }
23349 ],
23350 "info" : {
23351 "GET" : {
23352 "description" : "Directory index.",
23353 "method" : "GET",
23354 "name" : "index",
23355 "parameters" : {
23356 "additionalProperties" : 0
23357 },
23358 "permissions" : {
23359 "user" : "all"
23360 },
23361 "returns" : {
23362 "items" : {
23363 "properties" : {
23364 "subdir" : {
23365 "type" : "string"
23366 }
23367 },
23368 "type" : "object"
23369 },
23370 "links" : [
23371 {
23372 "href" : "{subdir}",
23373 "rel" : "child"
23374 }
23375 ],
23376 "type" : "array"
23377 }
23378 }
23379 },
23380 "leaf" : 0,
23381 "path" : "/access",
23382 "text" : "access"
23383 },
23384 {
23385 "children" : [
23386 {
23387 "info" : {
23388 "DELETE" : {
23389 "description" : "Delete pool.",
23390 "method" : "DELETE",
23391 "name" : "delete_pool",
23392 "parameters" : {
23393 "additionalProperties" : 0,
23394 "properties" : {
23395 "poolid" : {
23396 "format" : "pve-poolid",
23397 "type" : "string"
23398 }
23399 }
23400 },
23401 "permissions" : {
23402 "check" : [
23403 "perm",
23404 "/pool/{poolid}",
23405 [
23406 "Pool.Allocate"
23407 ]
23408 ],
23409 "description" : "You can only delete empty pools (no members)."
23410 },
23411 "protected" : 1,
23412 "returns" : {
23413 "type" : "null"
23414 }
23415 },
23416 "GET" : {
23417 "description" : "Get pool configuration.",
23418 "method" : "GET",
23419 "name" : "read_pool",
23420 "parameters" : {
23421 "additionalProperties" : 0,
23422 "properties" : {
23423 "poolid" : {
23424 "format" : "pve-poolid",
23425 "type" : "string"
23426 }
23427 }
23428 },
23429 "permissions" : {
23430 "check" : [
23431 "perm",
23432 "/pool/{poolid}",
23433 [
23434 "Pool.Allocate"
23435 ]
23436 ]
23437 },
23438 "returns" : {
23439 "additionalProperties" : 0,
23440 "properties" : {
23441 "comment" : {
23442 "optional" : 1,
23443 "type" : "string"
23444 },
23445 "members" : {
23446 "items" : {
23447 "additionalProperties" : 1,
23448 "properties" : {
23449 "id" : {
23450 "type" : "string"
23451 },
23452 "node" : {
23453 "type" : "string"
23454 },
23455 "storage" : {
23456 "optional" : 1,
23457 "type" : "string"
23458 },
23459 "type" : {
23460 "enum" : [
23461 "qemu",
23462 "lxc",
23463 "openvz",
23464 "storage"
23465 ],
23466 "type" : "string"
23467 },
23468 "vmid" : {
23469 "optional" : 1,
23470 "type" : "integer"
23471 }
23472 },
23473 "type" : "object"
23474 },
23475 "type" : "array"
23476 }
23477 },
23478 "type" : "object"
23479 }
23480 },
23481 "PUT" : {
23482 "description" : "Update pool data.",
23483 "method" : "PUT",
23484 "name" : "update_pool",
23485 "parameters" : {
23486 "additionalProperties" : 0,
23487 "properties" : {
23488 "comment" : {
23489 "optional" : 1,
23490 "type" : "string"
23491 },
23492 "delete" : {
23493 "description" : "Remove vms/storage (instead of adding it).",
23494 "optional" : 1,
23495 "type" : "boolean"
23496 },
23497 "poolid" : {
23498 "format" : "pve-poolid",
23499 "type" : "string"
23500 },
23501 "storage" : {
23502 "description" : "List of storage IDs.",
23503 "format" : "pve-storage-id-list",
23504 "optional" : 1,
23505 "type" : "string"
23506 },
23507 "vms" : {
23508 "description" : "List of virtual machines.",
23509 "format" : "pve-vmid-list",
23510 "optional" : 1,
23511 "type" : "string"
23512 }
23513 }
23514 },
23515 "permissions" : {
23516 "check" : [
23517 "perm",
23518 "/pool/{poolid}",
23519 [
23520 "Pool.Allocate"
23521 ]
23522 ],
23523 "description" : "You also need the right to modify permissions on any object you add/delete."
23524 },
23525 "protected" : 1,
23526 "returns" : {
23527 "type" : "null"
23528 }
23529 }
23530 },
23531 "leaf" : 1,
23532 "path" : "/pools/{poolid}",
23533 "text" : "{poolid}"
23534 }
23535 ],
23536 "info" : {
23537 "GET" : {
23538 "description" : "Pool index.",
23539 "method" : "GET",
23540 "name" : "index",
23541 "parameters" : {
23542 "additionalProperties" : 0
23543 },
23544 "permissions" : {
23545 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
23546 "user" : "all"
23547 },
23548 "returns" : {
23549 "items" : {
23550 "properties" : {
23551 "poolid" : {
23552 "type" : "string"
23553 }
23554 },
23555 "type" : "object"
23556 },
23557 "links" : [
23558 {
23559 "href" : "{poolid}",
23560 "rel" : "child"
23561 }
23562 ],
23563 "type" : "array"
23564 }
23565 },
23566 "POST" : {
23567 "description" : "Create new pool.",
23568 "method" : "POST",
23569 "name" : "create_pool",
23570 "parameters" : {
23571 "additionalProperties" : 0,
23572 "properties" : {
23573 "comment" : {
23574 "optional" : 1,
23575 "type" : "string"
23576 },
23577 "poolid" : {
23578 "format" : "pve-poolid",
23579 "type" : "string"
23580 }
23581 }
23582 },
23583 "permissions" : {
23584 "check" : [
23585 "perm",
23586 "/pool/{poolid}",
23587 [
23588 "Pool.Allocate"
23589 ]
23590 ]
23591 },
23592 "protected" : 1,
23593 "returns" : {
23594 "type" : "null"
23595 }
23596 }
23597 },
23598 "leaf" : 0,
23599 "path" : "/pools",
23600 "text" : "pools"
23601 },
23602 {
23603 "info" : {
23604 "GET" : {
23605 "description" : "API version details. The result also includes the global datacenter confguration.",
23606 "method" : "GET",
23607 "name" : "version",
23608 "parameters" : {
23609 "additionalProperties" : 0
23610 },
23611 "permissions" : {
23612 "user" : "all"
23613 },
23614 "returns" : {
23615 "properties" : {
23616 "release" : {
23617 "type" : "string"
23618 },
23619 "repoid" : {
23620 "type" : "string"
23621 },
23622 "version" : {
23623 "type" : "string"
23624 }
23625 },
23626 "type" : "object"
23627 }
23628 }
23629 },
23630 "leaf" : 1,
23631 "path" : "/version",
23632 "text" : "version"
23633 }
23634 ]
23635 ;
23636